@wavemaker/app-ng-runtime 11.10.5-rc.6096 → 11.11.0-next.27920

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 (1167) hide show
  1. package/build-task/bundles/index.umd.js +94 -68
  2. package/build-task/esm2022/advanced/carousel/carousel-template/carousel-template.build.mjs +8 -8
  3. package/build-task/esm2022/containers/repeat-template.build.mjs +5 -5
  4. package/build-task/esm2022/containers/wizard/wizard-step/wizard-step.build.mjs +2 -2
  5. package/build-task/esm2022/containers/wizard/wizard.build.mjs +33 -4
  6. package/build-task/esm2022/data/form/form-field/form-field.build.mjs +10 -10
  7. package/build-task/esm2022/data/table/table-column/table-column.build.mjs +15 -11
  8. package/build-task/esm2022/page/page.build.mjs +2 -8
  9. package/build-task/esm2022/public_api.mjs +1 -1
  10. package/build-task/fesm2022/index.mjs +95 -69
  11. package/build-task/fesm2022/index.mjs.map +1 -1
  12. package/components/advanced/carousel/bundles/index.umd.js +8 -36
  13. package/components/advanced/carousel/carousel-template/carousel-template.directive.d.ts +1 -1
  14. package/components/advanced/carousel/carousel.directive.d.ts +1 -1
  15. package/components/advanced/carousel/esm2022/carousel-template/carousel-template.directive.mjs +3 -2
  16. package/components/advanced/carousel/esm2022/carousel.directive.mjs +3 -2
  17. package/components/advanced/carousel/esm2022/public_api.mjs +1 -2
  18. package/components/advanced/carousel/fesm2022/index.mjs +8 -36
  19. package/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
  20. package/components/advanced/carousel/public_api.d.ts +0 -1
  21. package/components/advanced/custom/bundles/index.umd.js +8 -33
  22. package/components/advanced/custom/custom-widget-container/custom-widget-container.directive.d.ts +1 -1
  23. package/components/advanced/custom/custom-widget.directive.d.ts +1 -1
  24. package/components/advanced/custom/esm2022/custom-widget-container/custom-widget-container.directive.mjs +3 -2
  25. package/components/advanced/custom/esm2022/custom-widget.directive.mjs +3 -2
  26. package/components/advanced/custom/esm2022/public_api.mjs +1 -2
  27. package/components/advanced/custom/fesm2022/index.mjs +7 -32
  28. package/components/advanced/custom/fesm2022/index.mjs.map +1 -1
  29. package/components/advanced/custom/public_api.d.ts +0 -1
  30. package/components/advanced/login/bundles/index.umd.js +10 -34
  31. package/components/advanced/login/esm2022/login.component.mjs +7 -6
  32. package/components/advanced/login/esm2022/public_api.mjs +1 -2
  33. package/components/advanced/login/fesm2022/index.mjs +8 -32
  34. package/components/advanced/login/fesm2022/index.mjs.map +1 -1
  35. package/components/advanced/login/login.component.d.ts +1 -1
  36. package/components/advanced/login/public_api.d.ts +0 -1
  37. package/components/advanced/marquee/bundles/index.umd.js +6 -29
  38. package/components/advanced/marquee/esm2022/marquee.directive.mjs +3 -2
  39. package/components/advanced/marquee/esm2022/public_api.mjs +1 -2
  40. package/components/advanced/marquee/fesm2022/index.mjs +5 -28
  41. package/components/advanced/marquee/fesm2022/index.mjs.map +1 -1
  42. package/components/advanced/marquee/marquee.directive.d.ts +1 -1
  43. package/components/advanced/marquee/public_api.d.ts +0 -1
  44. package/components/base/bundles/index.umd.js +76 -274
  45. package/components/base/components.module.d.ts +13 -15
  46. package/components/base/directives/show-in-device.directive.d.ts +1 -1
  47. package/components/base/esm2022/components.module.mjs +7 -13
  48. package/components/base/esm2022/directives/show-in-device.directive.mjs +3 -2
  49. package/components/base/esm2022/pipes/custom-pipes.mjs +32 -16
  50. package/components/base/esm2022/pipes/image.pipe.mjs +3 -2
  51. package/components/base/esm2022/pipes/sanitize.pipe.mjs +3 -2
  52. package/components/base/esm2022/pipes/trust-as.pipe.mjs +3 -2
  53. package/components/base/esm2022/public_api.mjs +1 -2
  54. package/components/base/esm2022/utils/form-utils.mjs +2 -1
  55. package/components/base/esm2022/utils/live-utils.mjs +3 -7
  56. package/components/base/esm2022/widgets/common/base/base.component.mjs +3 -5
  57. package/components/base/esm2022/widgets/common/base/custom-widget-container.directive.mjs +3 -2
  58. package/components/base/esm2022/widgets/common/base/partial-container.directive.mjs +3 -2
  59. package/components/base/esm2022/widgets/common/base/text-content.directive.mjs +3 -2
  60. package/components/base/esm2022/widgets/common/container/container.directive.mjs +3 -2
  61. package/components/base/esm2022/widgets/common/dialog/dialog.service.mjs +3 -3
  62. package/components/base/esm2022/widgets/common/item-template/item-template.directive.mjs +3 -2
  63. package/components/base/esm2022/widgets/common/lazy-load/lazy-load.directive.mjs +3 -2
  64. package/components/base/esm2022/widgets/common/message/message.component.mjs +5 -5
  65. package/components/base/esm2022/widgets/common/partial/partial.directive.mjs +3 -2
  66. package/components/base/esm2022/widgets/common/partial-param/partial-param.directive.mjs +5 -3
  67. package/components/base/esm2022/widgets/common/redraw/redrawable.directive.mjs +3 -2
  68. package/components/base/esm2022/widgets/common/repeat-template/repeat-template.directive.mjs +3 -2
  69. package/components/base/fesm2022/index.mjs +76 -272
  70. package/components/base/fesm2022/index.mjs.map +1 -1
  71. package/components/base/pipes/custom-pipes.d.ts +16 -16
  72. package/components/base/pipes/image.pipe.d.ts +1 -1
  73. package/components/base/pipes/sanitize.pipe.d.ts +1 -1
  74. package/components/base/pipes/trust-as.pipe.d.ts +1 -1
  75. package/components/base/public_api.d.ts +0 -1
  76. package/components/base/widgets/common/base/custom-widget-container.directive.d.ts +1 -1
  77. package/components/base/widgets/common/base/partial-container.directive.d.ts +1 -1
  78. package/components/base/widgets/common/base/text-content.directive.d.ts +1 -1
  79. package/components/base/widgets/common/container/container.directive.d.ts +1 -1
  80. package/components/base/widgets/common/item-template/item-template.directive.d.ts +1 -1
  81. package/components/base/widgets/common/lazy-load/lazy-load.directive.d.ts +1 -1
  82. package/components/base/widgets/common/message/message.component.d.ts +1 -1
  83. package/components/base/widgets/common/partial/partial.directive.d.ts +1 -1
  84. package/components/base/widgets/common/partial-param/partial-param.directive.d.ts +2 -2
  85. package/components/base/widgets/common/redraw/redrawable.directive.d.ts +1 -1
  86. package/components/base/widgets/common/repeat-template/repeat-template.directive.d.ts +1 -1
  87. package/components/basic/default/anchor/anchor.component.d.ts +1 -1
  88. package/components/basic/default/audio/audio.component.d.ts +1 -1
  89. package/components/basic/default/bundles/index.umd.js +100 -148
  90. package/components/basic/default/esm2022/anchor/anchor.component.mjs +23 -21
  91. package/components/basic/default/esm2022/audio/audio.component.mjs +7 -6
  92. package/components/basic/default/esm2022/html/html.directive.mjs +3 -2
  93. package/components/basic/default/esm2022/icon/icon.component.mjs +17 -16
  94. package/components/basic/default/esm2022/iframe/iframe.component.mjs +14 -13
  95. package/components/basic/default/esm2022/label/label.directive.mjs +3 -2
  96. package/components/basic/default/esm2022/picture/picture.directive.mjs +3 -2
  97. package/components/basic/default/esm2022/picture/picture.props.mjs +1 -5
  98. package/components/basic/default/esm2022/public_api.mjs +1 -2
  99. package/components/basic/default/esm2022/spinner/spinner.component.mjs +26 -24
  100. package/components/basic/default/esm2022/video/video.component.mjs +19 -18
  101. package/components/basic/default/fesm2022/index.mjs +101 -148
  102. package/components/basic/default/fesm2022/index.mjs.map +1 -1
  103. package/components/basic/default/html/html.directive.d.ts +1 -1
  104. package/components/basic/default/icon/icon.component.d.ts +1 -1
  105. package/components/basic/default/iframe/iframe.component.d.ts +1 -1
  106. package/components/basic/default/label/label.directive.d.ts +1 -1
  107. package/components/basic/default/picture/picture.directive.d.ts +1 -1
  108. package/components/basic/default/public_api.d.ts +0 -1
  109. package/components/basic/default/spinner/spinner.component.d.ts +1 -1
  110. package/components/basic/default/video/video.component.d.ts +1 -1
  111. package/components/basic/progress/bundles/index.umd.js +20 -51
  112. package/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +12 -11
  113. package/components/basic/progress/esm2022/progress-circle/progress-circle.component.mjs +8 -6
  114. package/components/basic/progress/esm2022/public_api.mjs +1 -2
  115. package/components/basic/progress/fesm2022/index.mjs +19 -49
  116. package/components/basic/progress/fesm2022/index.mjs.map +1 -1
  117. package/components/basic/progress/progress-bar/progress-bar.component.d.ts +1 -1
  118. package/components/basic/progress/progress-circle/progress-circle.component.d.ts +1 -1
  119. package/components/basic/progress/public_api.d.ts +0 -1
  120. package/components/basic/rich-text-editor/bundles/index.umd.js +15 -40
  121. package/components/basic/rich-text-editor/esm2022/public_api.mjs +1 -2
  122. package/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +13 -12
  123. package/components/basic/rich-text-editor/fesm2022/index.mjs +13 -37
  124. package/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
  125. package/components/basic/rich-text-editor/public_api.d.ts +0 -1
  126. package/components/basic/rich-text-editor/rich-text-editor.component.d.ts +1 -1
  127. package/components/basic/search/bundles/index.umd.js +170 -207
  128. package/components/basic/search/esm2022/public_api.mjs +1 -2
  129. package/components/basic/search/esm2022/scrollable.directive.mjs +3 -2
  130. package/components/basic/search/esm2022/search.component.mjs +76 -72
  131. package/components/basic/search/fesm2022/index.mjs +107 -143
  132. package/components/basic/search/fesm2022/index.mjs.map +1 -1
  133. package/components/basic/search/public_api.d.ts +0 -1
  134. package/components/basic/search/scrollable.directive.d.ts +1 -1
  135. package/components/basic/search/search.component.d.ts +1 -1
  136. package/components/basic/tree/bundles/index.umd.js +9 -33
  137. package/components/basic/tree/esm2022/public_api.mjs +1 -2
  138. package/components/basic/tree/esm2022/tree.component.mjs +7 -6
  139. package/components/basic/tree/fesm2022/index.mjs +8 -32
  140. package/components/basic/tree/fesm2022/index.mjs.map +1 -1
  141. package/components/basic/tree/public_api.d.ts +0 -1
  142. package/components/basic/tree/tree.component.d.ts +1 -1
  143. package/components/chart/bundles/index.umd.js +25 -53
  144. package/components/chart/chart.component.d.ts +1 -1
  145. package/components/chart/esm2022/chart.component.mjs +26 -24
  146. package/components/chart/esm2022/chart.utils.mjs +2 -1
  147. package/components/chart/esm2022/public_api.mjs +1 -2
  148. package/components/chart/fesm2022/index.mjs +26 -52
  149. package/components/chart/fesm2022/index.mjs.map +1 -1
  150. package/components/chart/public_api.d.ts +0 -1
  151. package/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +1 -1
  152. package/components/containers/accordion/accordion.directive.d.ts +1 -1
  153. package/components/containers/accordion/bundles/index.umd.js +208 -237
  154. package/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +10 -11
  155. package/components/containers/accordion/esm2022/accordion.directive.mjs +5 -4
  156. package/components/containers/accordion/esm2022/public_api.mjs +1 -2
  157. package/components/containers/accordion/fesm2022/index.mjs +189 -217
  158. package/components/containers/accordion/fesm2022/index.mjs.map +1 -1
  159. package/components/containers/accordion/public_api.d.ts +0 -1
  160. package/components/containers/layout-grid/bundles/index.umd.js +13 -43
  161. package/components/containers/layout-grid/esm2022/layout-grid-column/layout-grid-column.directive.mjs +7 -9
  162. package/components/containers/layout-grid/esm2022/layout-grid-row/layout-grid-row.directive.mjs +3 -2
  163. package/components/containers/layout-grid/esm2022/layout-grid.directive.mjs +3 -2
  164. package/components/containers/layout-grid/esm2022/public_api.mjs +1 -2
  165. package/components/containers/layout-grid/fesm2022/index.mjs +13 -43
  166. package/components/containers/layout-grid/fesm2022/index.mjs.map +1 -1
  167. package/components/containers/layout-grid/layout-grid-column/layout-grid-column.directive.d.ts +1 -1
  168. package/components/containers/layout-grid/layout-grid-row/layout-grid-row.directive.d.ts +1 -1
  169. package/components/containers/layout-grid/layout-grid.directive.d.ts +1 -1
  170. package/components/containers/layout-grid/public_api.d.ts +0 -1
  171. package/components/containers/linear-layout/bundles/index.umd.js +8 -33
  172. package/components/containers/linear-layout/esm2022/linear-layout-item/linear-layout-item.directive.mjs +3 -2
  173. package/components/containers/linear-layout/esm2022/linear-layout.directive.mjs +3 -2
  174. package/components/containers/linear-layout/esm2022/public_api.mjs +1 -2
  175. package/components/containers/linear-layout/fesm2022/index.mjs +7 -32
  176. package/components/containers/linear-layout/fesm2022/index.mjs.map +1 -1
  177. package/components/containers/linear-layout/linear-layout-item/linear-layout-item.directive.d.ts +1 -1
  178. package/components/containers/linear-layout/linear-layout.directive.d.ts +1 -1
  179. package/components/containers/linear-layout/public_api.d.ts +0 -1
  180. package/components/containers/panel/bundles/index.umd.js +87 -118
  181. package/components/containers/panel/esm2022/panel.component.mjs +48 -46
  182. package/components/containers/panel/esm2022/public_api.mjs +1 -2
  183. package/components/containers/panel/fesm2022/index.mjs +49 -79
  184. package/components/containers/panel/fesm2022/index.mjs.map +1 -1
  185. package/components/containers/panel/panel.component.d.ts +1 -1
  186. package/components/containers/panel/public_api.d.ts +0 -1
  187. package/components/containers/tabs/bundles/index.umd.js +84 -116
  188. package/components/containers/tabs/esm2022/public_api.mjs +1 -2
  189. package/components/containers/tabs/esm2022/tab-pane/tab-pane.component.mjs +8 -10
  190. package/components/containers/tabs/esm2022/tabs.component.mjs +35 -33
  191. package/components/containers/tabs/esm2022/tabs.props.mjs +1 -5
  192. package/components/containers/tabs/fesm2022/index.mjs +45 -76
  193. package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  194. package/components/containers/tabs/public_api.d.ts +0 -1
  195. package/components/containers/tabs/tab-pane/tab-pane.component.d.ts +1 -1
  196. package/components/containers/tabs/tabs.component.d.ts +1 -1
  197. package/components/containers/tile/bundles/index.umd.js +6 -29
  198. package/components/containers/tile/esm2022/public_api.mjs +1 -2
  199. package/components/containers/tile/esm2022/tile.directive.mjs +3 -2
  200. package/components/containers/tile/fesm2022/index.mjs +5 -28
  201. package/components/containers/tile/fesm2022/index.mjs.map +1 -1
  202. package/components/containers/tile/public_api.d.ts +0 -1
  203. package/components/containers/tile/tile.directive.d.ts +1 -1
  204. package/components/containers/wizard/bundles/index.umd.js +355 -186
  205. package/components/containers/wizard/esm2022/public_api.mjs +2 -3
  206. package/components/containers/wizard/esm2022/wizard-action/wizard-action.directive.mjs +3 -2
  207. package/components/containers/wizard/esm2022/wizard-step/wizard-step.component.mjs +176 -0
  208. package/components/containers/wizard/esm2022/wizard-step/wizard-step.props.mjs +8 -5
  209. package/components/containers/wizard/esm2022/wizard.component.mjs +264 -102
  210. package/components/containers/wizard/esm2022/wizard.props.mjs +8 -4
  211. package/components/containers/wizard/fesm2022/index.mjs +323 -152
  212. package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  213. package/components/containers/wizard/public_api.d.ts +1 -2
  214. package/components/containers/wizard/wizard-action/wizard-action.directive.d.ts +1 -1
  215. package/components/containers/wizard/wizard-step/{wizard-step.directive.d.ts → wizard-step.component.d.ts} +12 -6
  216. package/components/containers/wizard/wizard.component.d.ts +64 -18
  217. package/components/data/card/bundles/index.umd.js +92 -135
  218. package/components/data/card/card-actions/card-actions.directive.d.ts +1 -1
  219. package/components/data/card/card-content/card-content.component.d.ts +1 -1
  220. package/components/data/card/card-footer/card-footer.directive.d.ts +1 -1
  221. package/components/data/card/card.component.d.ts +1 -1
  222. package/components/data/card/esm2022/card-actions/card-actions.directive.mjs +3 -2
  223. package/components/data/card/esm2022/card-content/card-content.component.mjs +7 -6
  224. package/components/data/card/esm2022/card-footer/card-footer.directive.mjs +3 -2
  225. package/components/data/card/esm2022/card.component.mjs +39 -38
  226. package/components/data/card/esm2022/public_api.mjs +1 -2
  227. package/components/data/card/fesm2022/index.mjs +49 -92
  228. package/components/data/card/fesm2022/index.mjs.map +1 -1
  229. package/components/data/card/public_api.d.ts +0 -1
  230. package/components/data/form/bundles/index.umd.js +115 -182
  231. package/components/data/form/esm2022/form-action/form-action.directive.mjs +3 -2
  232. package/components/data/form/esm2022/form-field/form-field.directive.mjs +3 -2
  233. package/components/data/form/esm2022/form-widget.directive.mjs +3 -2
  234. package/components/data/form/esm2022/form.component.mjs +101 -104
  235. package/components/data/form/esm2022/form.props.mjs +1 -11
  236. package/components/data/form/esm2022/live-actions/dependson.directive.mjs +3 -2
  237. package/components/data/form/esm2022/live-actions/live-actions.directive.mjs +3 -2
  238. package/components/data/form/esm2022/live-filter/live-filter.directive.mjs +3 -2
  239. package/components/data/form/esm2022/live-form/live-form.directive.mjs +3 -6
  240. package/components/data/form/esm2022/public_api.mjs +1 -2
  241. package/components/data/form/fesm2022/index.mjs +117 -184
  242. package/components/data/form/fesm2022/index.mjs.map +1 -1
  243. package/components/data/form/form-action/form-action.directive.d.ts +1 -1
  244. package/components/data/form/form-field/form-field.directive.d.ts +1 -1
  245. package/components/data/form/form-widget.directive.d.ts +1 -1
  246. package/components/data/form/form.component.d.ts +1 -1
  247. package/components/data/form/live-actions/dependson.directive.d.ts +1 -1
  248. package/components/data/form/live-actions/live-actions.directive.d.ts +1 -1
  249. package/components/data/form/live-filter/live-filter.directive.d.ts +1 -1
  250. package/components/data/form/live-form/live-form.directive.d.ts +1 -1
  251. package/components/data/form/public_api.d.ts +0 -1
  252. package/components/data/list/bundles/index.umd.js +195 -504
  253. package/components/data/list/esm2022/list-item.directive.mjs +4 -3
  254. package/components/data/list/esm2022/list.component.mjs +187 -232
  255. package/components/data/list/esm2022/list.props.mjs +2 -3
  256. package/components/data/list/esm2022/public_api.mjs +1 -2
  257. package/components/data/list/fesm2022/index.mjs +193 -502
  258. package/components/data/list/fesm2022/index.mjs.map +1 -1
  259. package/components/data/list/list-item.directive.d.ts +1 -1
  260. package/components/data/list/list.component.d.ts +1 -1
  261. package/components/data/list/public_api.d.ts +0 -1
  262. package/components/data/live-table/bundles/index.umd.js +9 -33
  263. package/components/data/live-table/esm2022/live-table.component.mjs +7 -6
  264. package/components/data/live-table/esm2022/public_api.mjs +1 -2
  265. package/components/data/live-table/fesm2022/index.mjs +8 -32
  266. package/components/data/live-table/fesm2022/index.mjs.map +1 -1
  267. package/components/data/live-table/live-table.component.d.ts +1 -1
  268. package/components/data/live-table/public_api.d.ts +0 -1
  269. package/components/data/pagination/bundles/index.umd.js +80 -110
  270. package/components/data/pagination/esm2022/pagination.component.mjs +80 -76
  271. package/components/data/pagination/esm2022/public_api.mjs +1 -2
  272. package/components/data/pagination/fesm2022/index.mjs +81 -110
  273. package/components/data/pagination/fesm2022/index.mjs.map +1 -1
  274. package/components/data/pagination/pagination.component.d.ts +1 -1
  275. package/components/data/pagination/public_api.d.ts +0 -1
  276. package/components/data/table/bundles/index.umd.js +66 -135
  277. package/components/data/table/esm2022/public_api.mjs +1 -2
  278. package/components/data/table/esm2022/table-action/table-action.directive.mjs +3 -2
  279. package/components/data/table/esm2022/table-column/table-column.directive.mjs +3 -2
  280. package/components/data/table/esm2022/table-column-group/table-column-group.directive.mjs +3 -2
  281. package/components/data/table/esm2022/table-cud.directive.mjs +3 -2
  282. package/components/data/table/esm2022/table-filter.directive.mjs +4 -2
  283. package/components/data/table/esm2022/table-row/table-row.directive.mjs +3 -2
  284. package/components/data/table/esm2022/table-row-action/table-row-action.directive.mjs +3 -2
  285. package/components/data/table/esm2022/table.component.mjs +50 -49
  286. package/components/data/table/fesm2022/index.mjs +70 -140
  287. package/components/data/table/fesm2022/index.mjs.map +1 -1
  288. package/components/data/table/public_api.d.ts +0 -1
  289. package/components/data/table/table-action/table-action.directive.d.ts +1 -1
  290. package/components/data/table/table-column/table-column.directive.d.ts +1 -1
  291. package/components/data/table/table-column-group/table-column-group.directive.d.ts +1 -1
  292. package/components/data/table/table-cud.directive.d.ts +1 -1
  293. package/components/data/table/table-filter.directive.d.ts +1 -1
  294. package/components/data/table/table-row/table-row.directive.d.ts +1 -1
  295. package/components/data/table/table-row-action/table-row-action.directive.d.ts +1 -1
  296. package/components/data/table/table.component.d.ts +1 -1
  297. package/components/dialogs/alert-dialog/alert-dialog.component.d.ts +1 -1
  298. package/components/dialogs/alert-dialog/bundles/index.umd.js +32 -64
  299. package/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +10 -10
  300. package/components/dialogs/alert-dialog/esm2022/public_api.mjs +1 -2
  301. package/components/dialogs/alert-dialog/fesm2022/index.mjs +11 -43
  302. package/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
  303. package/components/dialogs/alert-dialog/public_api.d.ts +0 -1
  304. package/components/dialogs/confirm-dialog/bundles/index.umd.js +10 -42
  305. package/components/dialogs/confirm-dialog/confirm-dialog.component.d.ts +1 -1
  306. package/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +9 -9
  307. package/components/dialogs/confirm-dialog/esm2022/public_api.mjs +1 -2
  308. package/components/dialogs/confirm-dialog/fesm2022/index.mjs +10 -42
  309. package/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
  310. package/components/dialogs/confirm-dialog/public_api.d.ts +0 -1
  311. package/components/dialogs/default/bundles/index.umd.js +76 -136
  312. package/components/dialogs/default/dialog-body/dialog-body.directive.d.ts +1 -1
  313. package/components/dialogs/default/dialog-footer/dialog-footer.directive.d.ts +1 -1
  314. package/components/dialogs/default/dialog-header/dialog-header.component.d.ts +1 -1
  315. package/components/dialogs/default/esm2022/base-dialog.mjs +3 -3
  316. package/components/dialogs/default/esm2022/dialog-body/dialog-body.directive.mjs +3 -2
  317. package/components/dialogs/default/esm2022/dialog-footer/dialog-footer.directive.mjs +3 -2
  318. package/components/dialogs/default/esm2022/dialog-header/dialog-header.component.mjs +70 -97
  319. package/components/dialogs/default/esm2022/public_api.mjs +1 -2
  320. package/components/dialogs/default/fesm2022/index.mjs +78 -137
  321. package/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  322. package/components/dialogs/default/public_api.d.ts +0 -1
  323. package/components/dialogs/design-dialog/bundles/index.umd.js +16 -47
  324. package/components/dialogs/design-dialog/dialog.component.d.ts +1 -1
  325. package/components/dialogs/design-dialog/esm2022/dialog.component.mjs +14 -13
  326. package/components/dialogs/design-dialog/esm2022/public_api.mjs +1 -2
  327. package/components/dialogs/design-dialog/fesm2022/index.mjs +14 -45
  328. package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
  329. package/components/dialogs/design-dialog/public_api.d.ts +0 -1
  330. package/components/dialogs/iframe-dialog/bundles/index.umd.js +20 -57
  331. package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +21 -21
  332. package/components/dialogs/iframe-dialog/esm2022/public_api.mjs +1 -2
  333. package/components/dialogs/iframe-dialog/fesm2022/index.mjs +21 -57
  334. package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
  335. package/components/dialogs/iframe-dialog/iframe-dialog.component.d.ts +1 -1
  336. package/components/dialogs/iframe-dialog/public_api.d.ts +0 -1
  337. package/components/dialogs/login-dialog/bundles/index.umd.js +6 -38
  338. package/components/dialogs/login-dialog/esm2022/login-dialog.directive.mjs +3 -2
  339. package/components/dialogs/login-dialog/esm2022/public_api.mjs +1 -2
  340. package/components/dialogs/login-dialog/fesm2022/index.mjs +6 -41
  341. package/components/dialogs/login-dialog/fesm2022/index.mjs.map +1 -1
  342. package/components/dialogs/login-dialog/login-dialog.directive.d.ts +1 -1
  343. package/components/dialogs/login-dialog/public_api.d.ts +0 -1
  344. package/components/dialogs/partial-dialog/bundles/index.umd.js +17 -49
  345. package/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +16 -15
  346. package/components/dialogs/partial-dialog/esm2022/public_api.mjs +1 -2
  347. package/components/dialogs/partial-dialog/fesm2022/index.mjs +16 -47
  348. package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
  349. package/components/dialogs/partial-dialog/partial-dialog.component.d.ts +1 -1
  350. package/components/dialogs/partial-dialog/public_api.d.ts +0 -1
  351. package/components/input/calendar/bundles/index.umd.js +19 -46
  352. package/components/input/calendar/calendar.component.d.ts +1 -1
  353. package/components/input/calendar/esm2022/calendar.component.mjs +24 -10
  354. package/components/input/calendar/esm2022/calendar.props.mjs +1 -1
  355. package/components/input/calendar/esm2022/public_api.mjs +1 -2
  356. package/components/input/calendar/fesm2022/index.mjs +26 -48
  357. package/components/input/calendar/fesm2022/index.mjs.map +1 -1
  358. package/components/input/calendar/public_api.d.ts +0 -1
  359. package/components/input/chips/bundles/index.umd.js +86 -114
  360. package/components/input/chips/chips.component.d.ts +1 -1
  361. package/components/input/chips/esm2022/chips.component.mjs +28 -27
  362. package/components/input/chips/esm2022/public_api.mjs +1 -2
  363. package/components/input/chips/fesm2022/index.mjs +29 -56
  364. package/components/input/chips/fesm2022/index.mjs.map +1 -1
  365. package/components/input/chips/public_api.d.ts +0 -1
  366. package/components/input/color-picker/bundles/index.umd.js +10 -40
  367. package/components/input/color-picker/color-picker.component.d.ts +1 -1
  368. package/components/input/color-picker/esm2022/color-picker.component.mjs +10 -6
  369. package/components/input/color-picker/esm2022/public_api.mjs +1 -2
  370. package/components/input/color-picker/fesm2022/index.mjs +11 -40
  371. package/components/input/color-picker/fesm2022/index.mjs.map +1 -1
  372. package/components/input/color-picker/public_api.d.ts +0 -1
  373. package/components/input/currency/bundles/index.umd.js +11 -41
  374. package/components/input/currency/currency.component.d.ts +1 -1
  375. package/components/input/currency/esm2022/currency.component.mjs +8 -6
  376. package/components/input/currency/esm2022/public_api.mjs +1 -2
  377. package/components/input/currency/fesm2022/index.mjs +11 -41
  378. package/components/input/currency/fesm2022/index.mjs.map +1 -1
  379. package/components/input/currency/public_api.d.ts +0 -1
  380. package/components/input/default/bundles/index.umd.js +2183 -2263
  381. package/components/input/default/button/button.component.d.ts +1 -1
  382. package/components/input/default/button-group/button-group.directive.d.ts +1 -1
  383. package/components/input/default/caption-position.directive.d.ts +1 -1
  384. package/components/input/default/checkbox/checkbox.component.d.ts +1 -1
  385. package/components/input/default/checkboxset/checkboxset.component.d.ts +1 -1
  386. package/components/input/default/composite/composite.directive.d.ts +1 -1
  387. package/components/input/default/esm2022/button/button.component.mjs +23 -21
  388. package/components/input/default/esm2022/button-group/button-group.directive.mjs +3 -2
  389. package/components/input/default/esm2022/caption-position.directive.mjs +3 -2
  390. package/components/input/default/esm2022/checkbox/checkbox.component.mjs +9 -6
  391. package/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +73 -72
  392. package/components/input/default/esm2022/composite/composite.directive.mjs +3 -2
  393. package/components/input/default/esm2022/number/number.component.mjs +9 -6
  394. package/components/input/default/esm2022/public_api.mjs +1 -2
  395. package/components/input/default/esm2022/radioset/radioset.component.mjs +73 -72
  396. package/components/input/default/esm2022/select/select.component.mjs +29 -32
  397. package/components/input/default/esm2022/switch/switch.component.mjs +29 -27
  398. package/components/input/default/esm2022/text/calendar/input-calendar.component.mjs +9 -6
  399. package/components/input/default/esm2022/text/color/input-color.component.mjs +9 -6
  400. package/components/input/default/esm2022/text/email/input-email.component.mjs +9 -6
  401. package/components/input/default/esm2022/text/number/input-number.component.mjs +9 -6
  402. package/components/input/default/esm2022/text/text/input-text.component.mjs +10 -6
  403. package/components/input/default/esm2022/textarea/textarea.component.mjs +14 -11
  404. package/components/input/default/fesm2022/index.mjs +2198 -2277
  405. package/components/input/default/fesm2022/index.mjs.map +1 -1
  406. package/components/input/default/number/number.component.d.ts +1 -1
  407. package/components/input/default/public_api.d.ts +0 -1
  408. package/components/input/default/radioset/radioset.component.d.ts +1 -1
  409. package/components/input/default/select/select.component.d.ts +1 -1
  410. package/components/input/default/switch/switch.component.d.ts +1 -1
  411. package/components/input/default/text/calendar/input-calendar.component.d.ts +1 -1
  412. package/components/input/default/text/color/input-color.component.d.ts +1 -1
  413. package/components/input/default/text/email/input-email.component.d.ts +1 -1
  414. package/components/input/default/text/number/input-number.component.d.ts +1 -1
  415. package/components/input/default/text/text/input-text.component.d.ts +1 -1
  416. package/components/input/default/textarea/textarea.component.d.ts +1 -1
  417. package/components/input/epoch/base-date-time.component.d.ts +0 -1
  418. package/components/input/epoch/bundles/index.umd.js +181 -229
  419. package/components/input/epoch/date/date.component.d.ts +1 -1
  420. package/components/input/epoch/date/imaskUtil.d.ts +2 -2
  421. package/components/input/epoch/date-time/date-time-picker.component.d.ts +6 -6
  422. package/components/input/epoch/date-time/date-time.component.d.ts +1 -1
  423. package/components/input/epoch/esm2022/base-date-time.component.mjs +5 -9
  424. package/components/input/epoch/esm2022/date/date.component.mjs +19 -18
  425. package/components/input/epoch/esm2022/date/imaskUtil.mjs +2 -1
  426. package/components/input/epoch/esm2022/date-time/date-time-picker.component.mjs +75 -62
  427. package/components/input/epoch/esm2022/date-time/date-time.component.mjs +27 -24
  428. package/components/input/epoch/esm2022/picker/picker.component.mjs +33 -28
  429. package/components/input/epoch/esm2022/public_api.mjs +1 -2
  430. package/components/input/epoch/esm2022/time/time.component.mjs +24 -21
  431. package/components/input/epoch/fesm2022/index.mjs +158 -204
  432. package/components/input/epoch/fesm2022/index.mjs.map +1 -1
  433. package/components/input/epoch/picker/picker.component.d.ts +2 -2
  434. package/components/input/epoch/public_api.d.ts +0 -1
  435. package/components/input/epoch/time/time.component.d.ts +1 -1
  436. package/components/input/file-upload/bundles/index.umd.js +135 -178
  437. package/components/input/file-upload/esm2022/file-upload.component.mjs +133 -150
  438. package/components/input/file-upload/esm2022/public_api.mjs +1 -2
  439. package/components/input/file-upload/fesm2022/index.mjs +133 -175
  440. package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  441. package/components/input/file-upload/file-upload.component.d.ts +1 -2
  442. package/components/input/file-upload/public_api.d.ts +0 -1
  443. package/components/input/rating/bundles/index.umd.js +50 -77
  444. package/components/input/rating/esm2022/public_api.mjs +1 -2
  445. package/components/input/rating/esm2022/rating.component.mjs +23 -20
  446. package/components/input/rating/fesm2022/index.mjs +23 -49
  447. package/components/input/rating/fesm2022/index.mjs.map +1 -1
  448. package/components/input/rating/public_api.d.ts +0 -1
  449. package/components/input/rating/rating.component.d.ts +1 -1
  450. package/components/input/slider/bundles/index.umd.js +35 -63
  451. package/components/input/slider/esm2022/public_api.mjs +1 -2
  452. package/components/input/slider/esm2022/slider.component.mjs +15 -13
  453. package/components/input/slider/fesm2022/index.mjs +15 -42
  454. package/components/input/slider/fesm2022/index.mjs.map +1 -1
  455. package/components/input/slider/public_api.d.ts +0 -1
  456. package/components/input/slider/slider.component.d.ts +1 -1
  457. package/components/navigation/breadcrumb/breadcrumb.component.d.ts +1 -1
  458. package/components/navigation/breadcrumb/bundles/index.umd.js +40 -67
  459. package/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +23 -21
  460. package/components/navigation/breadcrumb/esm2022/public_api.mjs +1 -2
  461. package/components/navigation/breadcrumb/fesm2022/index.mjs +23 -50
  462. package/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
  463. package/components/navigation/breadcrumb/public_api.d.ts +0 -1
  464. package/components/navigation/menu/bundles/index.umd.js +642 -696
  465. package/components/navigation/menu/esm2022/menu-adapator.component.mjs +1 -1
  466. package/components/navigation/menu/esm2022/menu-dropdown/menu-dropdown.component.mjs +11 -9
  467. package/components/navigation/menu/esm2022/menu-dropdown-item/menu-dropdown-item.component.mjs +24 -18
  468. package/components/navigation/menu/esm2022/menu.component.mjs +34 -31
  469. package/components/navigation/menu/esm2022/nav/nav-item/nav-item.directive.mjs +3 -2
  470. package/components/navigation/menu/esm2022/nav/nav.component.mjs +39 -29
  471. package/components/navigation/menu/esm2022/nav/navigation-control.directive.mjs +6 -3
  472. package/components/navigation/menu/esm2022/public_api.mjs +1 -2
  473. package/components/navigation/menu/fesm2022/index.mjs +534 -587
  474. package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  475. package/components/navigation/menu/menu-dropdown/menu-dropdown.component.d.ts +1 -1
  476. package/components/navigation/menu/menu-dropdown-item/menu-dropdown-item.component.d.ts +1 -1
  477. package/components/navigation/menu/menu.component.d.ts +1 -1
  478. package/components/navigation/menu/nav/nav-item/nav-item.directive.d.ts +1 -1
  479. package/components/navigation/menu/nav/nav.component.d.ts +1 -1
  480. package/components/navigation/menu/nav/navigation-control.directive.d.ts +1 -1
  481. package/components/navigation/menu/public_api.d.ts +0 -1
  482. package/components/navigation/navbar/bundles/index.umd.js +20 -44
  483. package/components/navigation/navbar/esm2022/navbar.component.mjs +18 -16
  484. package/components/navigation/navbar/esm2022/public_api.mjs +1 -2
  485. package/components/navigation/navbar/fesm2022/index.mjs +18 -41
  486. package/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
  487. package/components/navigation/navbar/navbar.component.d.ts +1 -1
  488. package/components/navigation/navbar/public_api.d.ts +0 -1
  489. package/components/navigation/popover/bundles/index.umd.js +12 -43
  490. package/components/navigation/popover/esm2022/popover.component.mjs +11 -9
  491. package/components/navigation/popover/esm2022/public_api.mjs +1 -2
  492. package/components/navigation/popover/fesm2022/index.mjs +11 -41
  493. package/components/navigation/popover/fesm2022/index.mjs.map +1 -1
  494. package/components/navigation/popover/popover.component.d.ts +1 -1
  495. package/components/navigation/popover/public_api.d.ts +0 -1
  496. package/components/page/default/bundles/index.umd.js +96 -138
  497. package/components/page/default/content/content.component.d.ts +1 -1
  498. package/components/page/default/esm2022/content/content.component.mjs +7 -6
  499. package/components/page/default/esm2022/layout.directive.mjs +3 -2
  500. package/components/page/default/esm2022/page-content/page-content.component.mjs +7 -6
  501. package/components/page/default/esm2022/page-content/page-content.props.mjs +2 -3
  502. package/components/page/default/esm2022/page.directive.mjs +3 -2
  503. package/components/page/default/esm2022/public_api.mjs +1 -2
  504. package/components/page/default/esm2022/router-outlet.directive.mjs +3 -2
  505. package/components/page/default/esm2022/spa-page.directive.mjs +3 -2
  506. package/components/page/default/fesm2022/index.mjs +96 -138
  507. package/components/page/default/fesm2022/index.mjs.map +1 -1
  508. package/components/page/default/layout.directive.d.ts +1 -1
  509. package/components/page/default/page-content/page-content.component.d.ts +1 -1
  510. package/components/page/default/page.directive.d.ts +1 -1
  511. package/components/page/default/public_api.d.ts +0 -1
  512. package/components/page/default/router-outlet.directive.d.ts +1 -1
  513. package/components/page/default/spa-page.directive.d.ts +1 -1
  514. package/components/page/footer/bundles/index.umd.js +6 -29
  515. package/components/page/footer/esm2022/footer.directive.mjs +3 -2
  516. package/components/page/footer/esm2022/public_api.mjs +1 -2
  517. package/components/page/footer/fesm2022/index.mjs +5 -28
  518. package/components/page/footer/fesm2022/index.mjs.map +1 -1
  519. package/components/page/footer/footer.directive.d.ts +1 -1
  520. package/components/page/footer/public_api.d.ts +0 -1
  521. package/components/page/header/bundles/index.umd.js +9 -33
  522. package/components/page/header/esm2022/header.component.mjs +7 -6
  523. package/components/page/header/esm2022/public_api.mjs +1 -2
  524. package/components/page/header/fesm2022/index.mjs +8 -32
  525. package/components/page/header/fesm2022/index.mjs.map +1 -1
  526. package/components/page/header/header.component.d.ts +1 -1
  527. package/components/page/header/public_api.d.ts +0 -1
  528. package/components/page/left-panel/bundles/index.umd.js +6 -29
  529. package/components/page/left-panel/esm2022/left-panel.directive.mjs +3 -2
  530. package/components/page/left-panel/esm2022/public_api.mjs +1 -2
  531. package/components/page/left-panel/fesm2022/index.mjs +5 -28
  532. package/components/page/left-panel/fesm2022/index.mjs.map +1 -1
  533. package/components/page/left-panel/left-panel.directive.d.ts +1 -1
  534. package/components/page/left-panel/public_api.d.ts +0 -1
  535. package/components/page/right-panel/bundles/index.umd.js +6 -29
  536. package/components/page/right-panel/esm2022/public_api.mjs +1 -2
  537. package/components/page/right-panel/esm2022/right-panel.directive.mjs +3 -2
  538. package/components/page/right-panel/fesm2022/index.mjs +5 -28
  539. package/components/page/right-panel/fesm2022/index.mjs.map +1 -1
  540. package/components/page/right-panel/public_api.d.ts +0 -1
  541. package/components/page/right-panel/right-panel.directive.d.ts +1 -1
  542. package/components/page/top-nav/bundles/index.umd.js +6 -29
  543. package/components/page/top-nav/esm2022/public_api.mjs +1 -2
  544. package/components/page/top-nav/esm2022/top-nav.directive.mjs +3 -2
  545. package/components/page/top-nav/fesm2022/index.mjs +5 -28
  546. package/components/page/top-nav/fesm2022/index.mjs.map +1 -1
  547. package/components/page/top-nav/public_api.d.ts +0 -1
  548. package/components/page/top-nav/top-nav.directive.d.ts +1 -1
  549. package/components/prefab/bundles/index.umd.js +8 -33
  550. package/components/prefab/esm2022/prefab-container/prefab-container.directive.mjs +3 -2
  551. package/components/prefab/esm2022/prefab.directive.mjs +3 -2
  552. package/components/prefab/esm2022/public_api.mjs +1 -2
  553. package/components/prefab/fesm2022/index.mjs +7 -32
  554. package/components/prefab/fesm2022/index.mjs.map +1 -1
  555. package/components/prefab/prefab-container/prefab-container.directive.d.ts +1 -1
  556. package/components/prefab/prefab.directive.d.ts +1 -1
  557. package/components/prefab/public_api.d.ts +0 -1
  558. package/core/bundles/index.umd.js +30 -85
  559. package/core/esm2022/public_api.mjs +2 -3
  560. package/core/esm2022/utils/build-utils.mjs +9 -5
  561. package/core/esm2022/utils/utils.mjs +11 -40
  562. package/core/fesm2022/index.mjs +31 -81
  563. package/core/fesm2022/index.mjs.map +1 -1
  564. package/core/public_api.d.ts +1 -2
  565. package/core/utils/utils.d.ts +1 -3
  566. package/http/bundles/index.umd.js +9 -34
  567. package/http/esm2022/http.service.mjs +6 -3
  568. package/http/esm2022/public_api.mjs +4 -2
  569. package/http/fesm2022/index.mjs +9 -34
  570. package/http/fesm2022/index.mjs.map +1 -1
  571. package/http/public_api.d.ts +3 -1
  572. package/npm-shrinkwrap.json +2 -2
  573. package/oAuth/bundles/index.umd.js +7 -42
  574. package/oAuth/esm2022/oAuth.utils.mjs +6 -23
  575. package/oAuth/esm2022/public_api.mjs +1 -2
  576. package/oAuth/fesm2022/index.mjs +7 -40
  577. package/oAuth/fesm2022/index.mjs.map +1 -1
  578. package/oAuth/public_api.d.ts +0 -1
  579. package/package-lock.json +2 -2
  580. package/package.json +1 -1
  581. package/runtime/base/bundles/index.umd.js +681 -596
  582. package/runtime/base/components/app-component/app.component.d.ts +1 -1
  583. package/runtime/base/components/app-spinner.component.d.ts +1 -1
  584. package/runtime/base/components/custom-toaster.component.d.ts +1 -1
  585. package/runtime/base/components/empty-component/empty-page.component.d.ts +1 -1
  586. package/runtime/base/components/prefab-preview.component.d.ts +1 -1
  587. package/runtime/base/directives/accessroles.directive.d.ts +1 -1
  588. package/runtime/base/directives/prefab.directive.d.ts +1 -1
  589. package/runtime/base/esm2022/components/app-component/app.component.mjs +42 -49
  590. package/runtime/base/esm2022/components/app-spinner.component.mjs +29 -21
  591. package/runtime/base/esm2022/components/base-page.component.mjs +3 -11
  592. package/runtime/base/esm2022/components/base-spa-page.component.mjs +3 -11
  593. package/runtime/base/esm2022/components/custom-toaster.component.mjs +20 -14
  594. package/runtime/base/esm2022/components/empty-component/empty-page.component.mjs +4 -3
  595. package/runtime/base/esm2022/components/prefab-preview.component.mjs +8 -6
  596. package/runtime/base/esm2022/directives/accessroles.directive.mjs +3 -2
  597. package/runtime/base/esm2022/directives/prefab.directive.mjs +3 -2
  598. package/runtime/base/esm2022/public_api.mjs +1 -1
  599. package/runtime/base/esm2022/resolves/security-config.resolve.mjs +4 -6
  600. package/runtime/base/esm2022/runtime-base.module.mjs +486 -337
  601. package/runtime/base/esm2022/services/app.manager.service.mjs +31 -48
  602. package/runtime/base/esm2022/services/i18n.service.mjs +37 -72
  603. package/runtime/base/fesm2022/index.mjs +689 -605
  604. package/runtime/base/fesm2022/index.mjs.map +1 -1
  605. package/runtime/base/runtime-base.module.d.ts +115 -84
  606. package/runtime/base/services/i18n.service.d.ts +1 -1
  607. package/runtime/dynamic/app/components/page-wrapper.component.d.ts +1 -1
  608. package/runtime/dynamic/bundles/index.umd.js +113 -69
  609. package/runtime/dynamic/esm2022/app/app.module.mjs +151 -105
  610. package/runtime/dynamic/esm2022/app/components/page-wrapper.component.mjs +7 -4
  611. package/runtime/dynamic/esm2022/app/services/component-ref-provider.service.mjs +4 -2
  612. package/runtime/dynamic/esm2022/main.mjs +2 -7
  613. package/runtime/dynamic/fesm2022/index.mjs +159 -114
  614. package/runtime/dynamic/fesm2022/index.mjs.map +1 -1
  615. package/security/bundles/index.umd.js +3 -34
  616. package/security/esm2022/public_api.mjs +1 -2
  617. package/security/esm2022/security.service.mjs +4 -15
  618. package/security/fesm2022/index.mjs +5 -32
  619. package/security/fesm2022/index.mjs.map +1 -1
  620. package/security/public_api.d.ts +0 -1
  621. package/transpiler/bundles/index.umd.js +271 -168
  622. package/transpiler/esm2022/build.mjs +1 -6
  623. package/transpiler/esm2022/imports.mjs +268 -161
  624. package/transpiler/fesm2022/index.mjs +267 -165
  625. package/transpiler/fesm2022/index.mjs.map +1 -1
  626. package/variables/bundles/index.umd.js +14 -198
  627. package/variables/constants/variables.constants.d.ts +0 -2
  628. package/variables/esm2022/constants/variables.constants.mjs +1 -3
  629. package/variables/esm2022/factory/variable-manager.factory.mjs +1 -3
  630. package/variables/esm2022/factory/variable.factory.mjs +1 -5
  631. package/variables/esm2022/manager/action/logout-action.manager.mjs +5 -7
  632. package/variables/esm2022/manager/variable/web-socket-variable.manager.mjs +3 -3
  633. package/variables/esm2022/public_api.mjs +1 -5
  634. package/variables/esm2022/service/metadata-service/metadata.service.mjs +6 -11
  635. package/variables/esm2022/util/variable/service-variable.utils.mjs +1 -4
  636. package/variables/esm2022/util/variable/variables.utils.mjs +4 -19
  637. package/variables/fesm2022/index.mjs +15 -198
  638. package/variables/fesm2022/index.mjs.map +1 -1
  639. package/variables/public_api.d.ts +0 -4
  640. package/components/advanced/carousel/carousel.module.d.ts +0 -11
  641. package/components/advanced/carousel/esm2022/carousel.module.mjs +0 -36
  642. package/components/advanced/custom/custom-widget.module.d.ts +0 -10
  643. package/components/advanced/custom/esm2022/custom-widget.module.mjs +0 -32
  644. package/components/advanced/login/esm2022/login.module.mjs +0 -28
  645. package/components/advanced/login/login.module.d.ts +0 -9
  646. package/components/advanced/marquee/esm2022/marquee.module.mjs +0 -28
  647. package/components/advanced/marquee/marquee.module.d.ts +0 -9
  648. package/components/base/esm2022/widgets/common/smooth-scroll/smooth-scroll.directive.mjs +0 -221
  649. package/components/base/widgets/common/smooth-scroll/smooth-scroll.directive.d.ts +0 -22
  650. package/components/basic/default/basic.module.d.ts +0 -17
  651. package/components/basic/default/esm2022/basic.module.mjs +0 -60
  652. package/components/basic/progress/esm2022/progress.module.mjs +0 -36
  653. package/components/basic/progress/progress.module.d.ts +0 -11
  654. package/components/basic/rich-text-editor/esm2022/rich-text-editor.module.mjs +0 -28
  655. package/components/basic/rich-text-editor/rich-text-editor.module.d.ts +0 -9
  656. package/components/basic/search/esm2022/search.module.mjs +0 -45
  657. package/components/basic/search/search.module.d.ts +0 -12
  658. package/components/basic/tree/esm2022/tree.module.mjs +0 -28
  659. package/components/basic/tree/tree.module.d.ts +0 -9
  660. package/components/chart/chart.module.d.ts +0 -10
  661. package/components/chart/esm2022/chart.module.mjs +0 -32
  662. package/components/containers/accordion/accordion.module.d.ts +0 -10
  663. package/components/containers/accordion/esm2022/accordion.module.mjs +0 -32
  664. package/components/containers/layout-grid/esm2022/layout-grid.module.mjs +0 -36
  665. package/components/containers/layout-grid/layout-grid.module.d.ts +0 -11
  666. package/components/containers/linear-layout/esm2022/linear-layout.module.mjs +0 -32
  667. package/components/containers/linear-layout/linear-layout.module.d.ts +0 -10
  668. package/components/containers/panel/esm2022/panel.module.mjs +0 -36
  669. package/components/containers/panel/panel.module.d.ts +0 -11
  670. package/components/containers/tabs/esm2022/tabs.module.mjs +0 -32
  671. package/components/containers/tabs/tabs.module.d.ts +0 -10
  672. package/components/containers/tile/esm2022/tile.module.mjs +0 -28
  673. package/components/containers/tile/tile.module.d.ts +0 -9
  674. package/components/containers/wizard/esm2022/wizard-step/wizard-step.directive.mjs +0 -140
  675. package/components/containers/wizard/esm2022/wizard.module.mjs +0 -40
  676. package/components/containers/wizard/wizard.module.d.ts +0 -12
  677. package/components/data/card/card.module.d.ts +0 -15
  678. package/components/data/card/esm2022/card.module.mjs +0 -52
  679. package/components/data/form/esm2022/form.module.mjs +0 -68
  680. package/components/data/form/form.module.d.ts +0 -19
  681. package/components/data/list/esm2022/list.module.mjs +0 -40
  682. package/components/data/list/list.module.d.ts +0 -11
  683. package/components/data/live-table/esm2022/live-table.module.mjs +0 -28
  684. package/components/data/live-table/live-table.module.d.ts +0 -9
  685. package/components/data/pagination/esm2022/pagination.module.mjs +0 -36
  686. package/components/data/pagination/pagination.module.d.ts +0 -11
  687. package/components/data/table/esm2022/table.module.mjs +0 -91
  688. package/components/data/table/table.module.d.ts +0 -24
  689. package/components/dialogs/alert-dialog/alert-dialog.module.d.ts +0 -11
  690. package/components/dialogs/alert-dialog/esm2022/alert-dialog.module.mjs +0 -36
  691. package/components/dialogs/confirm-dialog/confirm-dialog.module.d.ts +0 -11
  692. package/components/dialogs/confirm-dialog/esm2022/confirm-dialog.module.mjs +0 -36
  693. package/components/dialogs/default/dialog.module.d.ts +0 -12
  694. package/components/dialogs/default/esm2022/dialog.module.mjs +0 -40
  695. package/components/dialogs/design-dialog/design-dialog.module.d.ts +0 -11
  696. package/components/dialogs/design-dialog/esm2022/design-dialog.module.mjs +0 -36
  697. package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.module.mjs +0 -40
  698. package/components/dialogs/iframe-dialog/iframe-dialog.module.d.ts +0 -12
  699. package/components/dialogs/login-dialog/esm2022/login-dialog.module.mjs +0 -40
  700. package/components/dialogs/login-dialog/login-dialog.module.d.ts +0 -12
  701. package/components/dialogs/partial-dialog/esm2022/partial-dialog.module.mjs +0 -36
  702. package/components/dialogs/partial-dialog/partial-dialog.module.d.ts +0 -11
  703. package/components/input/calendar/calendar.module.d.ts +0 -12
  704. package/components/input/calendar/esm2022/calendar.module.mjs +0 -40
  705. package/components/input/chips/chips.module.d.ts +0 -10
  706. package/components/input/chips/esm2022/chips.module.mjs +0 -32
  707. package/components/input/color-picker/color-picker.module.d.ts +0 -11
  708. package/components/input/color-picker/esm2022/color-picker.module.mjs +0 -36
  709. package/components/input/currency/currency.module.d.ts +0 -11
  710. package/components/input/currency/esm2022/currency.module.mjs +0 -36
  711. package/components/input/default/esm2022/input.module.mjs +0 -96
  712. package/components/input/default/input.module.d.ts +0 -26
  713. package/components/input/epoch/epoch.module.d.ts +0 -18
  714. package/components/input/epoch/esm2022/epoch.module.mjs +0 -70
  715. package/components/input/file-upload/esm2022/file-upload.module.mjs +0 -28
  716. package/components/input/file-upload/file-upload.module.d.ts +0 -9
  717. package/components/input/rating/esm2022/rating.module.mjs +0 -32
  718. package/components/input/rating/rating.module.d.ts +0 -10
  719. package/components/input/slider/esm2022/slider.module.mjs +0 -32
  720. package/components/input/slider/slider.module.d.ts +0 -10
  721. package/components/navigation/breadcrumb/breadcrumb.module.d.ts +0 -10
  722. package/components/navigation/breadcrumb/esm2022/breadcrumb.module.mjs +0 -32
  723. package/components/navigation/menu/esm2022/menu.module.mjs +0 -71
  724. package/components/navigation/menu/menu.module.d.ts +0 -17
  725. package/components/navigation/navbar/esm2022/navbar.module.mjs +0 -28
  726. package/components/navigation/navbar/navbar.module.d.ts +0 -9
  727. package/components/navigation/popover/esm2022/popover.module.mjs +0 -36
  728. package/components/navigation/popover/popover.module.d.ts +0 -11
  729. package/components/page/default/esm2022/page.module.mjs +0 -55
  730. package/components/page/default/page.module.d.ts +0 -14
  731. package/components/page/footer/esm2022/footer.module.mjs +0 -28
  732. package/components/page/footer/footer.module.d.ts +0 -9
  733. package/components/page/header/esm2022/header.module.mjs +0 -28
  734. package/components/page/header/header.module.d.ts +0 -9
  735. package/components/page/left-panel/esm2022/left-panel.module.mjs +0 -28
  736. package/components/page/left-panel/left-panel.module.d.ts +0 -9
  737. package/components/page/right-panel/esm2022/right-panel.module.mjs +0 -28
  738. package/components/page/right-panel/right-panel.module.d.ts +0 -9
  739. package/components/page/top-nav/esm2022/top-nav.module.mjs +0 -28
  740. package/components/page/top-nav/top-nav.module.d.ts +0 -9
  741. package/components/prefab/esm2022/prefab.module.mjs +0 -32
  742. package/components/prefab/prefab.module.d.ts +0 -10
  743. package/core/core.module.d.ts +0 -9
  744. package/core/esm2022/core.module.mjs +0 -27
  745. package/http/esm2022/http-service.module.mjs +0 -36
  746. package/http/http-service.module.d.ts +0 -14
  747. package/locales/fullcalendar/af.js +0 -27
  748. package/locales/fullcalendar/ar-dz.js +0 -28
  749. package/locales/fullcalendar/ar-kw.js +0 -28
  750. package/locales/fullcalendar/ar-ly.js +0 -28
  751. package/locales/fullcalendar/ar-ma.js +0 -28
  752. package/locales/fullcalendar/ar-sa.js +0 -28
  753. package/locales/fullcalendar/ar-tn.js +0 -28
  754. package/locales/fullcalendar/ar.js +0 -28
  755. package/locales/fullcalendar/az.js +0 -29
  756. package/locales/fullcalendar/bg.js +0 -28
  757. package/locales/fullcalendar/bs.js +0 -29
  758. package/locales/fullcalendar/ca.js +0 -27
  759. package/locales/fullcalendar/cs.js +0 -29
  760. package/locales/fullcalendar/da.js +0 -27
  761. package/locales/fullcalendar/de.js +0 -30
  762. package/locales/fullcalendar/el.js +0 -27
  763. package/locales/fullcalendar/en-au.js +0 -14
  764. package/locales/fullcalendar/en-gb.js +0 -14
  765. package/locales/fullcalendar/en-nz.js +0 -14
  766. package/locales/fullcalendar/es-us.js +0 -27
  767. package/locales/fullcalendar/es.js +0 -27
  768. package/locales/fullcalendar/et.js +0 -29
  769. package/locales/fullcalendar/eu.js +0 -27
  770. package/locales/fullcalendar/fa.js +0 -30
  771. package/locales/fullcalendar/fi.js +0 -27
  772. package/locales/fullcalendar/fr-ca.js +0 -24
  773. package/locales/fullcalendar/fr-ch.js +0 -28
  774. package/locales/fullcalendar/fr.js +0 -28
  775. package/locales/fullcalendar/gl.js +0 -27
  776. package/locales/fullcalendar/he.js +0 -24
  777. package/locales/fullcalendar/hi.js +0 -29
  778. package/locales/fullcalendar/hr.js +0 -29
  779. package/locales/fullcalendar/hu.js +0 -27
  780. package/locales/fullcalendar/id.js +0 -27
  781. package/locales/fullcalendar/is.js +0 -27
  782. package/locales/fullcalendar/it.js +0 -29
  783. package/locales/fullcalendar/ja.js +0 -25
  784. package/locales/fullcalendar/ka.js +0 -29
  785. package/locales/fullcalendar/kk.js +0 -29
  786. package/locales/fullcalendar/ko.js +0 -23
  787. package/locales/fullcalendar/lb.js +0 -27
  788. package/locales/fullcalendar/lt.js +0 -27
  789. package/locales/fullcalendar/lv.js +0 -29
  790. package/locales/fullcalendar/mk.js +0 -25
  791. package/locales/fullcalendar/ms.js +0 -29
  792. package/locales/fullcalendar/nb.js +0 -27
  793. package/locales/fullcalendar/ne.js +0 -27
  794. package/locales/fullcalendar/nl.js +0 -27
  795. package/locales/fullcalendar/nn.js +0 -27
  796. package/locales/fullcalendar/pl.js +0 -27
  797. package/locales/fullcalendar/pt-br.js +0 -25
  798. package/locales/fullcalendar/pt.js +0 -27
  799. package/locales/fullcalendar/ro.js +0 -29
  800. package/locales/fullcalendar/ru.js +0 -29
  801. package/locales/fullcalendar/sk.js +0 -29
  802. package/locales/fullcalendar/sl.js +0 -27
  803. package/locales/fullcalendar/sq.js +0 -29
  804. package/locales/fullcalendar/sr-cyrl.js +0 -29
  805. package/locales/fullcalendar/sr.js +0 -29
  806. package/locales/fullcalendar/sv.js +0 -27
  807. package/locales/fullcalendar/th.js +0 -30
  808. package/locales/fullcalendar/tr.js +0 -27
  809. package/locales/fullcalendar/ug.js +0 -17
  810. package/locales/fullcalendar/uk.js +0 -29
  811. package/locales/fullcalendar/uz.js +0 -21
  812. package/locales/fullcalendar/vi.js +0 -29
  813. package/locales/fullcalendar/zh-cn.js +0 -30
  814. package/locales/fullcalendar/zh-tw.js +0 -23
  815. package/mobile/components/basic/default/.npmignore +0 -2
  816. package/mobile/components/basic/default/anchor/anchor.directive.d.ts +0 -8
  817. package/mobile/components/basic/default/app-update/app-update.component.d.ts +0 -26
  818. package/mobile/components/basic/default/basic.module.d.ts +0 -15
  819. package/mobile/components/basic/default/bundles/index.umd.js +0 -980
  820. package/mobile/components/basic/default/esm2022/anchor/anchor.directive.mjs +0 -44
  821. package/mobile/components/basic/default/esm2022/app-update/app-update.component.mjs +0 -116
  822. package/mobile/components/basic/default/esm2022/basic.module.mjs +0 -52
  823. package/mobile/components/basic/default/esm2022/file-browser/file-browser.component.mjs +0 -236
  824. package/mobile/components/basic/default/esm2022/file-browser/file-selector.service.mjs +0 -85
  825. package/mobile/components/basic/default/esm2022/image-cache/image-cache.directive.mjs +0 -61
  826. package/mobile/components/basic/default/esm2022/index.mjs +0 -5
  827. package/mobile/components/basic/default/esm2022/network-info-toaster/network-info-toaster.component.mjs +0 -183
  828. package/mobile/components/basic/default/esm2022/network-info-toaster/network-info-toaster.props.mjs +0 -5
  829. package/mobile/components/basic/default/esm2022/process-manager/process-management.service.mjs +0 -47
  830. package/mobile/components/basic/default/esm2022/process-manager/process-manager.component.mjs +0 -175
  831. package/mobile/components/basic/default/esm2022/public_api.mjs +0 -10
  832. package/mobile/components/basic/default/fesm2022/index.mjs +0 -958
  833. package/mobile/components/basic/default/fesm2022/index.mjs.map +0 -1
  834. package/mobile/components/basic/default/file-browser/file-browser.component.d.ts +0 -39
  835. package/mobile/components/basic/default/file-browser/file-selector.service.d.ts +0 -27
  836. package/mobile/components/basic/default/image-cache/image-cache.directive.d.ts +0 -18
  837. package/mobile/components/basic/default/index.d.ts +0 -5
  838. package/mobile/components/basic/default/network-info-toaster/network-info-toaster.component.d.ts +0 -28
  839. package/mobile/components/basic/default/network-info-toaster/network-info-toaster.props.d.ts +0 -1
  840. package/mobile/components/basic/default/package.json +0 -23
  841. package/mobile/components/basic/default/process-manager/process-management.service.d.ts +0 -36
  842. package/mobile/components/basic/default/process-manager/process-manager.component.d.ts +0 -33
  843. package/mobile/components/basic/default/public_api.d.ts +0 -9
  844. package/mobile/components/basic/search/.npmignore +0 -2
  845. package/mobile/components/basic/search/bundles/index.umd.js +0 -66
  846. package/mobile/components/basic/search/esm2022/index.mjs +0 -5
  847. package/mobile/components/basic/search/esm2022/public_api.mjs +0 -3
  848. package/mobile/components/basic/search/esm2022/search.directive.mjs +0 -17
  849. package/mobile/components/basic/search/esm2022/search.module.mjs +0 -28
  850. package/mobile/components/basic/search/fesm2022/index.mjs +0 -49
  851. package/mobile/components/basic/search/fesm2022/index.mjs.map +0 -1
  852. package/mobile/components/basic/search/index.d.ts +0 -5
  853. package/mobile/components/basic/search/package.json +0 -23
  854. package/mobile/components/basic/search/public_api.d.ts +0 -2
  855. package/mobile/components/basic/search/search.directive.d.ts +0 -7
  856. package/mobile/components/basic/search/search.module.d.ts +0 -9
  857. package/mobile/components/containers/segmented-control/.npmignore +0 -2
  858. package/mobile/components/containers/segmented-control/bundles/index.umd.js +0 -281
  859. package/mobile/components/containers/segmented-control/esm2022/index.mjs +0 -5
  860. package/mobile/components/containers/segmented-control/esm2022/public_api.mjs +0 -4
  861. package/mobile/components/containers/segmented-control/esm2022/segment-content/segment-content.component.mjs +0 -70
  862. package/mobile/components/containers/segmented-control/esm2022/segment-content/segment-content.props.mjs +0 -14
  863. package/mobile/components/containers/segmented-control/esm2022/segmented-control.component.mjs +0 -147
  864. package/mobile/components/containers/segmented-control/esm2022/segmented-control.module.mjs +0 -32
  865. package/mobile/components/containers/segmented-control/esm2022/segmented-control.props.mjs +0 -9
  866. package/mobile/components/containers/segmented-control/fesm2022/index.mjs +0 -264
  867. package/mobile/components/containers/segmented-control/fesm2022/index.mjs.map +0 -1
  868. package/mobile/components/containers/segmented-control/index.d.ts +0 -5
  869. package/mobile/components/containers/segmented-control/package.json +0 -23
  870. package/mobile/components/containers/segmented-control/public_api.d.ts +0 -3
  871. package/mobile/components/containers/segmented-control/segment-content/segment-content.component.d.ts +0 -18
  872. package/mobile/components/containers/segmented-control/segment-content/segment-content.props.d.ts +0 -1
  873. package/mobile/components/containers/segmented-control/segmented-control.component.d.ts +0 -20
  874. package/mobile/components/containers/segmented-control/segmented-control.module.d.ts +0 -10
  875. package/mobile/components/containers/segmented-control/segmented-control.props.d.ts +0 -1
  876. package/mobile/components/data/media-list/.npmignore +0 -2
  877. package/mobile/components/data/media-list/bundles/index.umd.js +0 -310
  878. package/mobile/components/data/media-list/esm2022/index.mjs +0 -5
  879. package/mobile/components/data/media-list/esm2022/media-list-item/media-list-item.directive.mjs +0 -24
  880. package/mobile/components/data/media-list/esm2022/media-list.component.mjs +0 -213
  881. package/mobile/components/data/media-list/esm2022/media-list.module.mjs +0 -48
  882. package/mobile/components/data/media-list/esm2022/media-list.props.mjs +0 -16
  883. package/mobile/components/data/media-list/esm2022/public_api.mjs +0 -4
  884. package/mobile/components/data/media-list/fesm2022/index.mjs +0 -297
  885. package/mobile/components/data/media-list/fesm2022/index.mjs.map +0 -1
  886. package/mobile/components/data/media-list/index.d.ts +0 -5
  887. package/mobile/components/data/media-list/media-list-item/media-list-item.directive.d.ts +0 -8
  888. package/mobile/components/data/media-list/media-list.component.d.ts +0 -33
  889. package/mobile/components/data/media-list/media-list.module.d.ts +0 -14
  890. package/mobile/components/data/media-list/media-list.props.d.ts +0 -1
  891. package/mobile/components/data/media-list/package.json +0 -23
  892. package/mobile/components/data/media-list/public_api.d.ts +0 -3
  893. package/mobile/components/device/barcode-scanner/.npmignore +0 -2
  894. package/mobile/components/device/barcode-scanner/barcode-scanner.component.d.ts +0 -18
  895. package/mobile/components/device/barcode-scanner/barcode-scanner.module.d.ts +0 -9
  896. package/mobile/components/device/barcode-scanner/barcode-scanner.props.d.ts +0 -1
  897. package/mobile/components/device/barcode-scanner/bundles/index.umd.js +0 -129
  898. package/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.component.mjs +0 -69
  899. package/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.module.mjs +0 -28
  900. package/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.props.mjs +0 -15
  901. package/mobile/components/device/barcode-scanner/esm2022/index.mjs +0 -5
  902. package/mobile/components/device/barcode-scanner/esm2022/public_api.mjs +0 -3
  903. package/mobile/components/device/barcode-scanner/fesm2022/index.mjs +0 -112
  904. package/mobile/components/device/barcode-scanner/fesm2022/index.mjs.map +0 -1
  905. package/mobile/components/device/barcode-scanner/index.d.ts +0 -5
  906. package/mobile/components/device/barcode-scanner/package.json +0 -23
  907. package/mobile/components/device/barcode-scanner/public_api.d.ts +0 -2
  908. package/mobile/components/device/camera/.npmignore +0 -2
  909. package/mobile/components/device/camera/bundles/index.umd.js +0 -170
  910. package/mobile/components/device/camera/camera.component.d.ts +0 -37
  911. package/mobile/components/device/camera/camera.module.d.ts +0 -9
  912. package/mobile/components/device/camera/camera.props.d.ts +0 -1
  913. package/mobile/components/device/camera/esm2022/camera.component.mjs +0 -101
  914. package/mobile/components/device/camera/esm2022/camera.module.mjs +0 -28
  915. package/mobile/components/device/camera/esm2022/camera.props.mjs +0 -25
  916. package/mobile/components/device/camera/esm2022/index.mjs +0 -5
  917. package/mobile/components/device/camera/esm2022/public_api.mjs +0 -3
  918. package/mobile/components/device/camera/fesm2022/index.mjs +0 -153
  919. package/mobile/components/device/camera/fesm2022/index.mjs.map +0 -1
  920. package/mobile/components/device/camera/index.d.ts +0 -5
  921. package/mobile/components/device/camera/package.json +0 -23
  922. package/mobile/components/device/camera/public_api.d.ts +0 -2
  923. package/mobile/components/input/file-upload/.npmignore +0 -2
  924. package/mobile/components/input/file-upload/bundles/index.umd.js +0 -88
  925. package/mobile/components/input/file-upload/esm2022/file-upload.directive.mjs +0 -41
  926. package/mobile/components/input/file-upload/esm2022/file-upload.module.mjs +0 -28
  927. package/mobile/components/input/file-upload/esm2022/index.mjs +0 -5
  928. package/mobile/components/input/file-upload/esm2022/public_api.mjs +0 -3
  929. package/mobile/components/input/file-upload/fesm2022/index.mjs +0 -71
  930. package/mobile/components/input/file-upload/fesm2022/index.mjs.map +0 -1
  931. package/mobile/components/input/file-upload/file-upload.directive.d.ts +0 -11
  932. package/mobile/components/input/file-upload/file-upload.module.d.ts +0 -9
  933. package/mobile/components/input/file-upload/index.d.ts +0 -5
  934. package/mobile/components/input/file-upload/package.json +0 -23
  935. package/mobile/components/input/file-upload/public_api.d.ts +0 -2
  936. package/mobile/components/page/default/.npmignore +0 -2
  937. package/mobile/components/page/default/bundles/index.umd.js +0 -127
  938. package/mobile/components/page/default/esm2022/index.mjs +0 -5
  939. package/mobile/components/page/default/esm2022/page-content-loader/page-content-loader.component.mjs +0 -24
  940. package/mobile/components/page/default/esm2022/page.directive.mjs +0 -58
  941. package/mobile/components/page/default/esm2022/page.module.mjs +0 -32
  942. package/mobile/components/page/default/esm2022/public_api.mjs +0 -4
  943. package/mobile/components/page/default/fesm2022/index.mjs +0 -110
  944. package/mobile/components/page/default/fesm2022/index.mjs.map +0 -1
  945. package/mobile/components/page/default/index.d.ts +0 -5
  946. package/mobile/components/page/default/package.json +0 -23
  947. package/mobile/components/page/default/page-content-loader/page-content-loader.component.d.ts +0 -7
  948. package/mobile/components/page/default/page.directive.d.ts +0 -19
  949. package/mobile/components/page/default/page.module.d.ts +0 -10
  950. package/mobile/components/page/default/public_api.d.ts +0 -3
  951. package/mobile/components/page/left-panel/.npmignore +0 -2
  952. package/mobile/components/page/left-panel/bundles/index.umd.js +0 -91
  953. package/mobile/components/page/left-panel/esm2022/index.mjs +0 -5
  954. package/mobile/components/page/left-panel/esm2022/left-panel.directive.mjs +0 -45
  955. package/mobile/components/page/left-panel/esm2022/left-panel.module.mjs +0 -28
  956. package/mobile/components/page/left-panel/esm2022/public_api.mjs +0 -3
  957. package/mobile/components/page/left-panel/fesm2022/index.mjs +0 -74
  958. package/mobile/components/page/left-panel/fesm2022/index.mjs.map +0 -1
  959. package/mobile/components/page/left-panel/index.d.ts +0 -5
  960. package/mobile/components/page/left-panel/left-panel.directive.d.ts +0 -16
  961. package/mobile/components/page/left-panel/left-panel.module.d.ts +0 -9
  962. package/mobile/components/page/left-panel/package.json +0 -23
  963. package/mobile/components/page/left-panel/public_api.d.ts +0 -2
  964. package/mobile/components/page/mobile-navbar/.npmignore +0 -2
  965. package/mobile/components/page/mobile-navbar/bundles/index.umd.js +0 -332
  966. package/mobile/components/page/mobile-navbar/esm2022/index.mjs +0 -5
  967. package/mobile/components/page/mobile-navbar/esm2022/mobile-navbar.component.mjs +0 -247
  968. package/mobile/components/page/mobile-navbar/esm2022/mobile-navbar.module.mjs +0 -32
  969. package/mobile/components/page/mobile-navbar/esm2022/mobile-navbar.props.mjs +0 -41
  970. package/mobile/components/page/mobile-navbar/esm2022/public_api.mjs +0 -3
  971. package/mobile/components/page/mobile-navbar/fesm2022/index.mjs +0 -317
  972. package/mobile/components/page/mobile-navbar/fesm2022/index.mjs.map +0 -1
  973. package/mobile/components/page/mobile-navbar/index.d.ts +0 -5
  974. package/mobile/components/page/mobile-navbar/mobile-navbar.component.d.ts +0 -50
  975. package/mobile/components/page/mobile-navbar/mobile-navbar.module.d.ts +0 -10
  976. package/mobile/components/page/mobile-navbar/mobile-navbar.props.d.ts +0 -2
  977. package/mobile/components/page/mobile-navbar/package.json +0 -23
  978. package/mobile/components/page/mobile-navbar/public_api.d.ts +0 -2
  979. package/mobile/components/page/tab-bar/.npmignore +0 -2
  980. package/mobile/components/page/tab-bar/bundles/index.umd.js +0 -279
  981. package/mobile/components/page/tab-bar/esm2022/index.mjs +0 -5
  982. package/mobile/components/page/tab-bar/esm2022/public_api.mjs +0 -3
  983. package/mobile/components/page/tab-bar/esm2022/tab-bar.module.mjs +0 -28
  984. package/mobile/components/page/tab-bar/esm2022/tabbar.component.mjs +0 -219
  985. package/mobile/components/page/tab-bar/esm2022/tabbar.props.mjs +0 -15
  986. package/mobile/components/page/tab-bar/fesm2022/index.mjs +0 -262
  987. package/mobile/components/page/tab-bar/fesm2022/index.mjs.map +0 -1
  988. package/mobile/components/page/tab-bar/index.d.ts +0 -5
  989. package/mobile/components/page/tab-bar/package.json +0 -23
  990. package/mobile/components/page/tab-bar/public_api.d.ts +0 -2
  991. package/mobile/components/page/tab-bar/tab-bar.module.d.ts +0 -9
  992. package/mobile/components/page/tab-bar/tabbar.component.d.ts +0 -40
  993. package/mobile/components/page/tab-bar/tabbar.props.d.ts +0 -1
  994. package/mobile/core/.npmignore +0 -2
  995. package/mobile/core/bundles/index.umd.js +0 -1658
  996. package/mobile/core/core.module.d.ts +0 -15
  997. package/mobile/core/esm2022/core.module.mjs +0 -79
  998. package/mobile/core/esm2022/index.mjs +0 -5
  999. package/mobile/core/esm2022/native.xhr.mjs +0 -340
  1000. package/mobile/core/esm2022/public_api.mjs +0 -12
  1001. package/mobile/core/esm2022/services/device-file-cache.service.mjs +0 -92
  1002. package/mobile/core/esm2022/services/device-file-download.service.mjs +0 -154
  1003. package/mobile/core/esm2022/services/device-file-opener.service.mjs +0 -112
  1004. package/mobile/core/esm2022/services/device-file-upload.service.mjs +0 -91
  1005. package/mobile/core/esm2022/services/device-file.service.mjs +0 -237
  1006. package/mobile/core/esm2022/services/device-start-up-service.mjs +0 -2
  1007. package/mobile/core/esm2022/services/device.service.mjs +0 -150
  1008. package/mobile/core/esm2022/services/ext-app-message.service.mjs +0 -114
  1009. package/mobile/core/esm2022/services/network.service.mjs +0 -358
  1010. package/mobile/core/fesm2022/index.mjs +0 -1660
  1011. package/mobile/core/fesm2022/index.mjs.map +0 -1
  1012. package/mobile/core/index.d.ts +0 -5
  1013. package/mobile/core/native.xhr.d.ts +0 -36
  1014. package/mobile/core/package.json +0 -28
  1015. package/mobile/core/public_api.d.ts +0 -11
  1016. package/mobile/core/services/device-file-cache.service.d.ts +0 -24
  1017. package/mobile/core/services/device-file-download.service.d.ts +0 -36
  1018. package/mobile/core/services/device-file-opener.service.d.ts +0 -25
  1019. package/mobile/core/services/device-file-upload.service.d.ts +0 -27
  1020. package/mobile/core/services/device-file.service.d.ts +0 -45
  1021. package/mobile/core/services/device-start-up-service.d.ts +0 -4
  1022. package/mobile/core/services/device.service.d.ts +0 -52
  1023. package/mobile/core/services/ext-app-message.service.d.ts +0 -24
  1024. package/mobile/core/services/network.service.d.ts +0 -118
  1025. package/mobile/offline/.npmignore +0 -2
  1026. package/mobile/offline/bundles/index.umd.js +0 -3512
  1027. package/mobile/offline/esm2022/index.mjs +0 -5
  1028. package/mobile/offline/esm2022/models/config.mjs +0 -64
  1029. package/mobile/offline/esm2022/models/local-db-store.mjs +0 -412
  1030. package/mobile/offline/esm2022/offline.module.mjs +0 -100
  1031. package/mobile/offline/esm2022/public_api.mjs +0 -7
  1032. package/mobile/offline/esm2022/services/change-log.service.mjs +0 -332
  1033. package/mobile/offline/esm2022/services/local-db-data-pull.service.mjs +0 -525
  1034. package/mobile/offline/esm2022/services/local-db-management.service.mjs +0 -855
  1035. package/mobile/offline/esm2022/services/local-db.service.mjs +0 -193
  1036. package/mobile/offline/esm2022/services/local-key-value.service.mjs +0 -87
  1037. package/mobile/offline/esm2022/services/push.service.mjs +0 -49
  1038. package/mobile/offline/esm2022/services/workers/error-blocker.mjs +0 -115
  1039. package/mobile/offline/esm2022/services/workers/file-handler.mjs +0 -162
  1040. package/mobile/offline/esm2022/services/workers/id-resolver.mjs +0 -154
  1041. package/mobile/offline/esm2022/services/workers/multi-part-param-transformer.mjs +0 -63
  1042. package/mobile/offline/esm2022/utils/file-upload.utils.mjs +0 -59
  1043. package/mobile/offline/esm2022/utils/live-variable.utils.mjs +0 -232
  1044. package/mobile/offline/esm2022/utils/query-executor.utils.mjs +0 -82
  1045. package/mobile/offline/esm2022/utils/security.utils.mjs +0 -119
  1046. package/mobile/offline/esm2022/utils/utils.mjs +0 -8
  1047. package/mobile/offline/fesm2022/index.mjs +0 -3529
  1048. package/mobile/offline/fesm2022/index.mjs.map +0 -1
  1049. package/mobile/offline/index.d.ts +0 -5
  1050. package/mobile/offline/models/config.d.ts +0 -80
  1051. package/mobile/offline/models/local-db-store.d.ts +0 -119
  1052. package/mobile/offline/offline.module.d.ts +0 -17
  1053. package/mobile/offline/package.json +0 -28
  1054. package/mobile/offline/public_api.d.ts +0 -6
  1055. package/mobile/offline/services/change-log.service.d.ts +0 -112
  1056. package/mobile/offline/services/local-db-data-pull.service.d.ts +0 -139
  1057. package/mobile/offline/services/local-db-management.service.d.ts +0 -179
  1058. package/mobile/offline/services/local-db.service.d.ts +0 -83
  1059. package/mobile/offline/services/local-key-value.service.d.ts +0 -38
  1060. package/mobile/offline/services/push.service.d.ts +0 -11
  1061. package/mobile/offline/services/workers/error-blocker.d.ts +0 -26
  1062. package/mobile/offline/services/workers/file-handler.d.ts +0 -56
  1063. package/mobile/offline/services/workers/id-resolver.d.ts +0 -26
  1064. package/mobile/offline/services/workers/multi-part-param-transformer.d.ts +0 -11
  1065. package/mobile/offline/utils/file-upload.utils.d.ts +0 -14
  1066. package/mobile/offline/utils/live-variable.utils.d.ts +0 -24
  1067. package/mobile/offline/utils/query-executor.utils.d.ts +0 -15
  1068. package/mobile/offline/utils/security.utils.d.ts +0 -19
  1069. package/mobile/offline/utils/utils.d.ts +0 -2
  1070. package/mobile/placeholder/runtime/.npmignore +0 -2
  1071. package/mobile/placeholder/runtime/bundles/index.umd.js +0 -70
  1072. package/mobile/placeholder/runtime/components/app-ext.component.d.ts +0 -5
  1073. package/mobile/placeholder/runtime/esm2022/components/app-ext.component.mjs +0 -19
  1074. package/mobile/placeholder/runtime/esm2022/index.mjs +0 -5
  1075. package/mobile/placeholder/runtime/esm2022/mobile-runtime.module.mjs +0 -27
  1076. package/mobile/placeholder/runtime/esm2022/public_api.mjs +0 -3
  1077. package/mobile/placeholder/runtime/fesm2022/index.mjs +0 -50
  1078. package/mobile/placeholder/runtime/fesm2022/index.mjs.map +0 -1
  1079. package/mobile/placeholder/runtime/index.d.ts +0 -5
  1080. package/mobile/placeholder/runtime/mobile-runtime.module.d.ts +0 -9
  1081. package/mobile/placeholder/runtime/package.json +0 -27
  1082. package/mobile/placeholder/runtime/public_api.d.ts +0 -2
  1083. package/mobile/placeholder/runtime-dynamic/.npmignore +0 -2
  1084. package/mobile/placeholder/runtime-dynamic/bundles/index.umd.js +0 -40
  1085. package/mobile/placeholder/runtime-dynamic/esm2022/index.mjs +0 -5
  1086. package/mobile/placeholder/runtime-dynamic/esm2022/mobile-runtime-dynamic.module.mjs +0 -13
  1087. package/mobile/placeholder/runtime-dynamic/esm2022/public_api.mjs +0 -2
  1088. package/mobile/placeholder/runtime-dynamic/fesm2022/index.mjs +0 -20
  1089. package/mobile/placeholder/runtime-dynamic/fesm2022/index.mjs.map +0 -1
  1090. package/mobile/placeholder/runtime-dynamic/index.d.ts +0 -5
  1091. package/mobile/placeholder/runtime-dynamic/mobile-runtime-dynamic.module.d.ts +0 -7
  1092. package/mobile/placeholder/runtime-dynamic/package.json +0 -23
  1093. package/mobile/placeholder/runtime-dynamic/public_api.d.ts +0 -1
  1094. package/mobile/runtime/.npmignore +0 -2
  1095. package/mobile/runtime/bundles/index.umd.js +0 -732
  1096. package/mobile/runtime/components/app-ext.component.d.ts +0 -14
  1097. package/mobile/runtime/esm2022/components/app-ext.component.mjs +0 -59
  1098. package/mobile/runtime/esm2022/index.mjs +0 -5
  1099. package/mobile/runtime/esm2022/mobile-runtime.module.mjs +0 -351
  1100. package/mobile/runtime/esm2022/public_api.mjs +0 -6
  1101. package/mobile/runtime/esm2022/services/cookie.service.mjs +0 -135
  1102. package/mobile/runtime/esm2022/services/http-interceptor.service.mjs +0 -147
  1103. package/mobile/runtime/esm2022/services/webprocess.service.mjs +0 -76
  1104. package/mobile/runtime/fesm2022/index.mjs +0 -742
  1105. package/mobile/runtime/fesm2022/index.mjs.map +0 -1
  1106. package/mobile/runtime/index.d.ts +0 -5
  1107. package/mobile/runtime/mobile-runtime.module.d.ts +0 -51
  1108. package/mobile/runtime/package.json +0 -28
  1109. package/mobile/runtime/public_api.d.ts +0 -5
  1110. package/mobile/runtime/services/cookie.service.d.ts +0 -31
  1111. package/mobile/runtime/services/http-interceptor.service.d.ts +0 -19
  1112. package/mobile/runtime/services/webprocess.service.d.ts +0 -15
  1113. package/mobile/runtime-dynamic/.npmignore +0 -2
  1114. package/mobile/runtime-dynamic/bundles/index.umd.js +0 -461
  1115. package/mobile/runtime-dynamic/esm2022/index.mjs +0 -5
  1116. package/mobile/runtime-dynamic/esm2022/mobile-runtime-dynamic.module.mjs +0 -48
  1117. package/mobile/runtime-dynamic/esm2022/public_api.mjs +0 -2
  1118. package/mobile/runtime-dynamic/esm2022/services/live-sync.service.mjs +0 -404
  1119. package/mobile/runtime-dynamic/fesm2022/index.mjs +0 -454
  1120. package/mobile/runtime-dynamic/fesm2022/index.mjs.map +0 -1
  1121. package/mobile/runtime-dynamic/index.d.ts +0 -5
  1122. package/mobile/runtime-dynamic/mobile-runtime-dynamic.module.d.ts +0 -8
  1123. package/mobile/runtime-dynamic/package.json +0 -23
  1124. package/mobile/runtime-dynamic/public_api.d.ts +0 -1
  1125. package/mobile/runtime-dynamic/services/live-sync.service.d.ts +0 -38
  1126. package/mobile/variables/.npmignore +0 -2
  1127. package/mobile/variables/bundles/index.umd.js +0 -1166
  1128. package/mobile/variables/esm2022/index.mjs +0 -5
  1129. package/mobile/variables/esm2022/public_api.mjs +0 -10
  1130. package/mobile/variables/esm2022/services/calendar-service.mjs +0 -77
  1131. package/mobile/variables/esm2022/services/camera-service.mjs +0 -70
  1132. package/mobile/variables/esm2022/services/contacts-service.mjs +0 -74
  1133. package/mobile/variables/esm2022/services/datasync-service.mjs +0 -363
  1134. package/mobile/variables/esm2022/services/device-service/device-service.mjs +0 -161
  1135. package/mobile/variables/esm2022/services/device-service/location-service.mjs +0 -200
  1136. package/mobile/variables/esm2022/services/file-service.mjs +0 -87
  1137. package/mobile/variables/esm2022/services/scan-service.mjs +0 -60
  1138. package/mobile/variables/esm2022/variables.module.mjs +0 -78
  1139. package/mobile/variables/fesm2022/index.mjs +0 -1143
  1140. package/mobile/variables/fesm2022/index.mjs.map +0 -1
  1141. package/mobile/variables/index.d.ts +0 -5
  1142. package/mobile/variables/package.json +0 -28
  1143. package/mobile/variables/public_api.d.ts +0 -9
  1144. package/mobile/variables/services/calendar-service.d.ts +0 -10
  1145. package/mobile/variables/services/camera-service.d.ts +0 -8
  1146. package/mobile/variables/services/contacts-service.d.ts +0 -6
  1147. package/mobile/variables/services/datasync-service.d.ts +0 -11
  1148. package/mobile/variables/services/device-service/device-service.d.ts +0 -17
  1149. package/mobile/variables/services/device-service/location-service.d.ts +0 -63
  1150. package/mobile/variables/services/file-service.d.ts +0 -7
  1151. package/mobile/variables/services/scan-service.d.ts +0 -7
  1152. package/mobile/variables/variables.module.d.ts +0 -25
  1153. package/oAuth/esm2022/oAuth.module.mjs +0 -19
  1154. package/oAuth/oAuth.module.d.ts +0 -8
  1155. package/scripts/fullcalendar/main.min.js +0 -6
  1156. package/security/esm2022/security.module.mjs +0 -19
  1157. package/security/security.module.d.ts +0 -8
  1158. package/variables/esm2022/manager/variable/device-variable-manager.mjs +0 -48
  1159. package/variables/esm2022/manager/variable/device-variable-operation.mjs +0 -2
  1160. package/variables/esm2022/manager/variable/device-variable-service.mjs +0 -45
  1161. package/variables/esm2022/model/variable/device-variable.mjs +0 -19
  1162. package/variables/esm2022/variables.module.mjs +0 -52
  1163. package/variables/manager/variable/device-variable-manager.d.ts +0 -26
  1164. package/variables/manager/variable/device-variable-operation.d.ts +0 -37
  1165. package/variables/manager/variable/device-variable-service.d.ts +0 -6
  1166. package/variables/model/variable/device-variable.d.ts +0 -6
  1167. package/variables/variables.module.d.ts +0 -16
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/data/list/src/list.props.ts","../../../../../projects/components/widgets/data/list/src/list-item.directive.ts","../../../../../projects/components/widgets/data/list/src/list.animator.ts","../../../../../projects/components/widgets/data/list/src/list.component.html","../../../../../projects/components/widgets/data/list/src/list.component.ts","../../../../../projects/components/widgets/data/list/src/list.module.ts","../../../../../projects/components/widgets/data/list/src/index.ts"],"sourcesContent":["import { isMobileApp } from '@wm/core';\n\nimport { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-list',\n new Map(\n [\n ['boundarylinks', {value: false, ...PROP_BOOLEAN}],\n ['class', PROP_STRING],\n ['collapsible', PROP_BOOLEAN],\n ['dateformat', PROP_STRING],\n ['dataset', PROP_ANY],\n ['datasource', PROP_ANY],\n ['direction', {value: 'vertical', ...PROP_STRING}],\n ['directionlinks', {value: true, ...PROP_BOOLEAN}],\n ['disableitem', PROP_BOOLEAN],\n ['enablereorder', PROP_BOOLEAN],\n ['forceellipses', {value: true, ...PROP_BOOLEAN}],\n ['groupby', PROP_STRING],\n ['iconclass', PROP_STRING],\n ['itemclass', {value: '', ...PROP_STRING}],\n ['itemsperrow', PROP_STRING],\n ['listclass', {value: 'list-group', ...PROP_STRING}],\n ['multiselect', PROP_BOOLEAN],\n ['loadingdatamsg', {value : 'Loading...', ...PROP_STRING}],\n ['loadingicon', {value : 'fa fa-circle-o-notch', ...PROP_STRING}],\n ['match', PROP_STRING],\n ['maxsize', {value: 5, ...PROP_NUMBER}],\n ['name', PROP_STRING],\n ['navigation', PROP_STRING],\n ['navigationalign', {value: 'left', ...PROP_STRING}],\n ['nodatamessage', {value : 'No data found', ...PROP_STRING}],\n ['ondemandmessage', {value : 'Load More', ...PROP_STRING}],\n ['orderby', PROP_STRING],\n ['paginationclass', PROP_STRING],\n ['pagesize', PROP_NUMBER],\n ['pulltorefresh', {value: isMobileApp(), ...PROP_BOOLEAN}],\n ['selectfirstitem', PROP_BOOLEAN],\n ['selectionlimit', PROP_NUMBER],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['showcount', PROP_BOOLEAN],\n ['showrecordcount', PROP_BOOLEAN],\n ['statehandler', {value: 'none', ...PROP_STRING}],\n ['subheading', PROP_STRING],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['title', PROP_STRING]\n ]\n )\n );\n};\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n Injector,\n Input,\n OnInit,\n Optional,\n ViewContainerRef\n} from '@angular/core';\n\nimport {Observable, Subject} from 'rxjs';\n\nimport {$watch, App} from '@wm/core';\n\nimport {ListComponent} from './list.component';\nimport {widgetIdGenerator} from \"@wm/components/base\";\nimport {BaseFormComponent} from \"@wm/components/input\";\n\ndeclare const $;\n\n@Directive({\n selector: '[wmListItem]',\n exportAs: 'listItemRef'\n})\nexport class ListItemDirective implements OnInit, AfterViewInit {\n\n public item;\n public context;\n public destroy: Subject<any> = new Subject();\n public destroy$: Observable<any> = this.destroy.asObservable();\n public nativeElement: HTMLElement;\n public readonly listComponent: ListComponent;\n\n private itemClass = '';\n private _currentItemWidgets = {};\n private viewContainerRef: ViewContainerRef;\n /**\n * To avoid re-rendering of widget, passing unique id as contextKey to createCustomInjector\n */\n protected trackId = widgetIdGenerator.nextUid();\n\n @HostBinding('class.active') isActive = false;\n @HostBinding('class.disable-item') disableItem = false;\n\n @HostListener('focus')\n onFocus() {\n // maintains which element is focused/selected most recently.\n this.listComponent.lastSelectedItem = this;\n }\n\n get $index() {\n return this.context.index;\n }\n\n get $even() {\n return this.context.even;\n }\n\n get $odd() {\n return this.context.odd;\n }\n\n get $first() {\n return this.context.first;\n }\n\n get $last() {\n return this.context.last;\n }\n\n get currentItemWidgets () {\n const componentElements = Array.from(this.nativeElement.querySelectorAll('[widget-id]'));\n return Object.assign(this._currentItemWidgets, componentElements.reduce((result, comp: any) => {\n result[comp.widget.name] = comp.widget;\n return result;\n }, {}));\n }\n\n @Input() set wmListItem(val) {\n this.item = val;\n }\n\n constructor(private inj: Injector, elRef: ElementRef, private app: App, @Optional() public _viewParent: ListComponent) {\n this.viewContainerRef = inj.get(ViewContainerRef);\n this.nativeElement = elRef.nativeElement;\n this.listComponent = _viewParent;\n // this.context = (<NgForOfContext<ListItemDirective>>(<any>inj).view.context);\n this.context = (this.inj as any)._lView[8];\n //this.context = (this.viewContainerRef as any)._hostLView.find(t => t && !!t.$implicit);\n this.itemClassWatcher(this.listComponent);\n this.disableItemWatcher(this.listComponent);\n $(this.nativeElement).data('listItemContext', this);\n }\n\n private registerWatch(expression: string, callback: Function) {\n // Removing ngFor context as the same properties are availble on listitem scope.\n // passing viewparent context for accessing varibales and widgets.\n //[CSP]: expression will be generated in the component as e.g. 'item.className'\n this.destroy$.subscribe($watch(expression, (this.listComponent as any).viewParent, this, callback));\n }\n\n private itemClassWatcher(listComponent: ListComponent) {\n if (listComponent.binditemclass) {\n this.registerWatch(listComponent.binditemclass, nv => this.itemClass = nv || '');\n } else {\n this.itemClass = listComponent.itemclass;\n }\n }\n\n private disableItemWatcher($list: ListComponent) {\n if ($list.binddisableitem) {\n this.registerWatch($list.binddisableitem, nv => this.disableItem = nv || false);\n } else {\n this.disableItem = $list.disableitem || false;\n }\n }\n\n private setUpCUDHandlers() {\n const $editItem = this.nativeElement.querySelector('.edit-list-item');\n const $deleteItem = this.nativeElement.querySelector('.delete-list-item');\n\n if ($editItem) {\n // Triggered on click of edit action\n $editItem.addEventListener('click', evt => {\n this.listComponent.update();\n });\n }\n\n if ($deleteItem) {\n // Triggered on click of delete action\n $deleteItem.addEventListener('click', evt => {\n this.listComponent.delete();\n });\n }\n }\n ngOnInit() {\n if (this.listComponent.mouseEnterCB) {\n this.nativeElement.addEventListener('mouseenter', ($event) => {\n this.listComponent.invokeEventCallback('mouseenter', {widget: this, $event});\n });\n }\n if (this.listComponent.mouseLeaveCB) {\n this.nativeElement.addEventListener('mouseleave', ($event) => {\n this.listComponent.invokeEventCallback('mouseleave', {widget: this, $event});\n });\n }\n // adding item attribute on every list item\n $(this.nativeElement).attr('listitemindex', this.$index);\n }\n\n ngAfterViewInit() {\n this.setUpCUDHandlers();\n const componentElements = Array.from(this.nativeElement.querySelectorAll('[widget-id]'));\n componentElements.forEach((component: any) => {\n if(component.widget instanceof BaseFormComponent) {\n if(!component.widget.$attrs.get('datavaluesource.bind')) {\n component.widget.datavaluesource = this.listComponent['datasource'];\n }\n }\n });\n }\n}\n","import { QueryList } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { SwipeAnimation } from '@swipey';\nimport { ButtonComponent } from '@wm/components/input';\n\nimport { ListComponent } from './list.component';\nimport {map, reduce} from \"lodash-es\";\n\ndeclare const $;\n\nexport class ListAnimator extends SwipeAnimation {\n private $el: JQuery<HTMLElement>;\n private li: JQuery<HTMLElement>;\n private limit: number;\n private transitionProportions: any;\n private rightChildrenCount: number;\n private leftChildrenCount: number;\n private position: string;\n private actionPanel: JQuery<HTMLElement>;\n private actionItems: QueryList<ButtonComponent>;\n public $btnSubscription: Subscription;\n\n constructor(private list: ListComponent) {\n super();\n this.$el = $(this.list.getNativeElement()).find('ul.app-livelist-container').first();\n\n this.leftChildrenCount = this.$el.find('>.app-list-item-left-action-panel > button:visible').length;\n this.rightChildrenCount = this.$el.find('>.app-list-item-right-action-panel > button:visible').length;\n\n // when there are no children in both the templates then do not apply swipeAnimation;\n if (!this.leftChildrenCount && !this.rightChildrenCount) {\n return;\n }\n\n // initialise swipe animation on the list component.\n this.init(this.$el);\n\n // retrieves all the button components which are placed outside the listTemplate.\n this.$btnSubscription = this.list.btnComponents.changes.subscribe(items => this.actionItems = items);\n }\n\n // This method sets the css for left or right action panels based on the template. Appends the actionTemplate before li.\n private createActionPanel(li: JQuery<HTMLElement>, actionPanelTemplate: JQuery<HTMLElement>): JQuery<HTMLElement> {\n actionPanelTemplate.css({\n width: li.outerWidth() + 'px',\n height: li.outerHeight() + 'px',\n marginBottom: -1 * li.outerHeight() + 'px',\n float: 'left',\n padding: 0\n });\n\n return actionPanelTemplate.insertBefore(li);\n }\n\n // Returns the total width occupied by all the children inside the element\n private computeTotalChildrenWidth($ele: JQuery<HTMLElement>): number {\n return reduce($ele.children(), (totalWidth, el) => {\n return totalWidth + $(el).outerWidth();\n }, 0);\n }\n\n // Returns amount of transition to be applied on element when swiped left or right\n private computeTransitionProportions($ele: JQuery<HTMLElement>): number {\n const totalWidth = this.computeTotalChildrenWidth($ele);\n const reverse = this.position === 'right';\n let d = 0;\n // @ts-ignore\n return map($ele.children(), e => {\n const f = (totalWidth - d) / totalWidth;\n d += $(e).outerWidth();\n return reverse ? f : (d / totalWidth);\n });\n }\n\n // Resets the transform applied on the element.\n private resetElement(el: JQuery<HTMLElement>): void {\n if (el) {\n el.css({\n transform: 'none',\n transition: 'none'\n });\n }\n }\n\n private resetState(): void {\n this.resetElement(this.li);\n this.resetElement(this.actionPanel);\n if (this.actionPanel) {\n this.actionPanel = null;\n }\n }\n\n // Returns the target button (child element) inside the left and right actionPanels.\n private getChildActionElement(actionTemplate): JQuery<HTMLElement> {\n if (actionTemplate.children().length) {\n if (this.position === 'left') {\n return actionTemplate.children().first();\n }\n return actionTemplate.children().last();\n }\n }\n\n // create the actionPanels and set the background-color for remaining panel as that of first child element\n // calculates the children's width and its transition proportionates.\n private initActionPanel(actionTemplate: JQuery<HTMLElement>): void {\n this.actionPanel = this.createActionPanel(this.li, actionTemplate);\n this.actionPanel.css({\n backgroundColor: this.getChildActionElement(this.actionPanel).css('background-color')\n });\n this.limit = this.computeTotalChildrenWidth(this.actionPanel);\n this.transitionProportions = this.computeTransitionProportions(this.actionPanel);\n }\n\n public bounds(e?: any, $d?: number): any {\n const target = $(e.target).closest('li');\n // default bounds when action template markup is not available.\n let bounds: {} = {\n strictUpper: true,\n strictLower: true,\n lower: 0,\n center: 0,\n upper: 0\n };\n // apply swipe animation only on list items having \"app-list-item\" class.\n if (!target.hasClass('app-list-item')) {\n return bounds;\n }\n if (!this.li || this.li[0] !== target[0]) {\n let selector = $d > 0 ? '.app-list-item-left-action-panel' : '.app-list-item-right-action-panel';\n let actionTemplate = this.$el.find('>' + selector);\n\n // when groupby is set select the action panel from the list group items.\n if (!actionTemplate.length && this.list.groupby) {\n selector = 'li > ul.list-group >' + selector;\n actionTemplate = this.$el.find('>' + selector);\n }\n\n // check for children visiblity. If children are visible then initiate the action panel.\n if (!actionTemplate.length || !actionTemplate.find('button:visible').length) {\n return bounds;\n }\n\n this.resetState();\n this.li = target;\n\n this.position = actionTemplate.attr('position');\n this.initActionPanel(actionTemplate);\n\n if ($d > 0) {\n // bounds while swiping from right to left to open left action panel. It can be moved upto limit value (Upper bound).\n bounds = {\n strictUpper: false,\n lower: 0,\n center: 0,\n upper: this.limit\n };\n } else {\n // bounds while swiping from left to right to open right action panel. It can be moved in reverse direction with -limit value (lower bound).\n bounds = {\n strictLower: false,\n lower: -this.limit,\n center: 0,\n upper: 0\n };\n }\n } else if (this.position === 'left') {\n // when left action panel is visible (i.e. center at limit value) then this can be moved by distance (limit) in reverse direction to close the view.\n bounds = {\n strictUpper: false,\n lower: -this.limit,\n center: this.limit\n };\n } else if (this.position === 'right') {\n // when right action panel is visible (i.e. center at -limit value) then this can be moved by distance (limit) to close the view.\n bounds = {\n center: -this.limit,\n upper: this.limit,\n strictLower: false\n };\n }\n return bounds;\n }\n\n public context(): any {\n return {\n computeActionTransition: (index: number, $d: number): number => {\n const sign = $d > 0 ? 1 : -1;\n\n if (sign * $d > this.limit) {\n // once the distance swiped is beyond the limit, then calculate the proportionate distance moved after the limit value.\n return ($d - sign * this.limit) + (this.transitionProportions[index] * sign * this.limit);\n }\n return this.transitionProportions[index] * $d;\n }\n };\n }\n\n public animation(): any {\n return [{\n target: () => this.li,\n css: {\n transform: 'translate3d(${{$D + $d}}px, 0, 0)'\n }\n }, { // styles to be applied on the child elements of action panel\n target: () => (this.actionPanel && this.actionPanel.children()),\n css: {\n transform: 'translate3d(${{computeActionTransition($i, $D + $d)}}px, 0, 0)'\n }\n }];\n }\n\n // Triggers full swipe event on the target element.\n public invokeFullSwipeEvt($event: Event): void {\n let target, actions, index;\n // Check if button are visible or not, invoke the tap event of the last button which is visible.\n if (this.position === 'left') {\n actions = this.actionItems.filter(btn => {\n return btn.getAttr('swipe-position') === 'left' && btn.$element.is(':visible');\n });\n index = 0;\n } else {\n actions = this.actionItems.filter(btn => {\n return btn.getAttr('swipe-position') === 'right' && btn.$element.is(':visible');\n });\n index = actions.length - 1;\n }\n target = actions[index];\n if (target && target.hasEventCallback('tap')) {\n target.invokeEventCallback('tap', {$event});\n }\n this.resetState();\n this.li = null;\n }\n\n // Called when swipeEnd is triggered. d contains the total distance covered by the element until touchEnd.\n public onAnimation($event: Event, d: number): void {\n // set the selecteditem on the list component on swipe.\n this.list.triggerListItemSelection(this.li, $event);\n if (this.actionPanel && this.actionPanel.attr('enablefullswipe') === 'true') {\n const sign = d > 0 ? 1 : -1;\n const $el = this.getChildActionElement(this.actionPanel);\n if ($el) {\n const index = this.position === 'right' ? this.rightChildrenCount - 1 : 0;\n // proportionate amount of distance covered by the target element.\n const distPercentage = this.transitionProportions[index] * sign * d * 100 / (this.li.outerWidth() - this.limit + $el.width());\n\n // If distance travelled by the target button element is more than 50% of the list item width then invoke the fullswipe.\n if (distPercentage > 50) {\n // invoke fullswipe event\n this.invokeFullSwipeEvt($event);\n }\n }\n }\n }\n\n public onLower(): void {\n if (this.position === 'left') {\n this.resetState();\n this.li = null;\n }\n }\n\n public onUpper(): void {\n if (this.position === 'right') {\n this.resetState();\n this.li = null;\n }\n }\n\n public threshold(): number {\n return 10;\n }\n}\n","<div class=\"panel-heading\" *ngIf=\"title || subheading || iconclass\">\n <h3 class=\"panel-title\">\n <div class=\"pull-left\">\n <i class=\"app-icon panel-icon {{iconclass}}\" aria-hidden=\"true\" [hidden]=\"!iconclass\"></i>\n </div>\n <div class=\"pull-left\">\n <div class=\"heading\" [innerHTML]=\"title\"></div>\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n </div>\n </h3>\n</div>\n\n<div class=\"app-datanavigator\" [attr.aria-disabled]=\"dataNavigator.isDisablePrevious\" aria-label=\"Page navigation\" *ngIf=\"navigation === 'Inline' && !noDataFound\">\n <ul class=\"pager\">\n <li class=\"previous\" [ngClass]=\"{'disabled': (dataNavigator ? dataNavigator.isDisablePrevious : true)}\">\n <a href=\"javascript:void(0);\" (click)=\"dataNavigator.navigatePage('prev', $event)\"\n [attr.aria-disabled]=\"dataNavigator.isDisablePrevious\">\n <i class=\"wi wi-chevron-left\" aria-hidden=\"true\"></i>\n <span class=\"sr-only\">Go to Previous page {{dataNavigator.isDisablePrevious ? ', Disabled' : ''}}</span>\n </a>\n </li>\n </ul>\n</div>\n<div *ngIf=\"navigation === 'Inline' && !noDataFound\" aria-live=\"polite\" aria-atomic=\"true\" class=\"sr-only\"> {{'Page ' + dataNavigator.dn.currentPage + ' of ' + dataNavigator.pageCount }}</div>\n\n<div>\n <div id={{titleId}} class=\"sr-only\" *ngIf=\"enablereorder\">\n Press space bar to toggle drag drop mode, use arrow keys to move selected elements.\n </div>\n\n <div aria-live=\"assertive\" *ngIf=\"listItems && enablereorder && currentIndex\" class=\"sr-only\" >\n {{ariaText + currentIndex + ' of ' + listItems.length}}\n </div>\n</div>\n\n<ul [attr.tabindex]=\"tabindex\" class=\"app-livelist-container clearfix {{direction === 'horizontal' ? 'app-horizontal-list': ''}} {{listclass}}\" role=\"list\"\n (keydown.enter)=\"handleKeyDown($event, 'select')\"\n\n (keydown.space)=\"handleKeyDown($event, 'space')\"\n\n (keydown.arrowup)=\"handleKeyDown($event, 'focusPrev')\"\n (keydown.arrowdown)=\"handleKeyDown($event, 'focusNext')\"\n (keydown.arrowleft)=\"handleKeyDown($event, 'focusPrev')\"\n (keydown.arrowright)=\"handleKeyDown($event, 'focusNext')\"\n\n (keydown.shift.arrowup)=\"handleKeyDown($event, 'selectPrev')\"\n (keydown.shift.arrowdown)=\"handleKeyDown($event, 'selectNext')\"\n (keydown.shift.arrowleft)=\"handleKeyDown($event, 'selectPrev')\"\n (keydown.shift.arrowright)=\"handleKeyDown($event, 'selectNext')\"\n [hidden]=\"noDataFound && !variableInflight\"\n>\n <ng-template [ngIf]=\"!groupby\" [ngIfElse]=\"groupedListTemplate\">\n <li *ngFor=\"let item of fieldDefs; index as $index; first as $first; last as $last;\" class=\"app-list-item {{direction === 'horizontal' ? '' : itemsPerRowClass}}\" [ngClass]=\"listItemRef.itemClass\"\n [wmListItem]=\"item\"\n #listItemRef=\"listItemRef\"\n [attr.tabindex]=\"tabindex\"\n role=\"listitem\">\n <ng-container [ngTemplateOutlet]=\"listTemplate\"\n [ngTemplateOutletInjector]=\"createCustomInjector('falt_' + listItemRef.trackId, {item: item, $index: $index, itemRef: listItemRef, $first: $first, $last: $last, currentItemWidgets: listItemRef.currentItemWidgets})\"\n [ngTemplateOutletContext]=\"{item: item, $index: $index, itemRef: listItemRef, $first: $first, $last: $last, currentItemWidgets: listItemRef.currentItemWidgets}\"></ng-container>\n </li>\n </ng-template>\n <ng-container [ngTemplateOutlet]=\"listLeftActionTemplate\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"listRightActionTemplate\"></ng-container>\n</ul>\n\n<div class=\"no-data-msg\" *ngIf=\"noDataFound && !variableInflight\" [textContent]=\"nodatamessage\"></div>\n\n<div class=\"loading-data-msg\" *ngIf=\"variableInflight && !pulltorefresh\">\n <span>\n <i class=\"app-icon panel-icon fa-spin\" aria-hidden=\"true\" [ngClass]=\"loadingicon\"></i>\n <span class=\"sr-only\">Loading</span>\n <span class=\"loading-text\" [textContent]=\"loadingdatamsg\"></span>\n </span>\n</div>\n\n<div class=\"app-datanavigator\" [attr.aria-disabled]=\"dataNavigator.isDisableNext\" *ngIf=\"navigation === 'Inline' && !noDataFound\">\n <ul class=\"pager\">\n <li class=\"next\" [ngClass]=\"{'disabled': (dataNavigator ? dataNavigator.isDisableNext : true)}\">\n <a href=\"javascript:void(0);\" (click)=\"dataNavigator.navigatePage('next', $event)\"\n [attr.aria-disabled]=\"dataNavigator.isDisableNext\">\n <i class=\"wi wi-chevron-right\" aria-hidden=\"true\"></i>\n <span class=\"sr-only\">Go to Next page {{dataNavigator.isDisableNext ? ', Disabled' : ''}}</span>\n </a>\n </li>\n </ul>\n</div>\n\n<div class=\"panel-footer\" *ngIf=\"navigation !== 'None'\" [hidden]=\"!showNavigation || (onDemandLoad && dataNavigator.isDisableNext) || (dataNavigator.dataSize <= pagesize) || (!dataNavigator.dataSize && !dataNavigator.datasource?.pagination?.next)\">\n <nav wmPagination\n navigationalign.bind=\"navigationalign\"\n navigation.bind=\"navControls\"\n showrecordcount.bind=\"showrecordcount\"\n maxsize.bind=\"maxsize\"\n boundarylinks.bind=\"boundarylinks\"\n forceellipses.bind=\"forceellipses\"\n directionlinks.bind=\"directionlinks\"\n show.bind=\"!onDemandLoad\"\n paginationchange.event=\"beforePaginationChange($event, $index)\"\n ></nav>\n <a *ngIf=\"onDemandLoad\" href=\"javascript:void(0);\"\n (click)=\"dataNavigator.navigatePage('next', $event)\"\n class=\"app-button btn btn-block\"\n [ngClass]=\"paginationclass\"\n [textContent]=\"ondemandmessage\"\n ></a>\n</div>\n\n<!--This template will be displayed when groupby is specified-->\n<ng-template #groupedListTemplate>\n <li *ngFor=\"let groupObj of groupedData; let groupIndex = index;\" class=\"app-list-item-group clearfix\">\n <ul [attr.tabindex]=\"tabindex\" class=\"list-group item-group\" [ngClass]=\"listclass\">\n <li class=\"app-list-item-header list-item list-group-header\" (click)=\"handleHeaderClick($event)\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4>{{groupObj.key}}\n <div class=\"header-action\">\n <i class=\"app-icon wi action wi-chevron-up\" *ngIf=\"collapsible\"></i>\n <span *ngIf=\"showcount\" class=\"label label-default\">{{groupObj.data.length}}</span>\n </div>\n </h4>\n </li>\n <li class=\"list-group-container\">\n <ul class=\"list-group clearfix {{direction === 'horizontal' ? 'app-horizontal-list': ''}}\">\n <li *ngFor=\"let item of groupObj.data; index as $index; trackBy: trackByFn; first as $first; last as $last;\" [attr.tabindex]=\"tabindex\"\n class=\"app-list-item group-list-item {{itemsPerRowClass}}\"\n [ngClass]=\"listItemRef.itemClass\"\n [wmListItem]=\"item\" #listItemRef=\"listItemRef\">\n <ng-container [ngTemplateOutlet]=\"listTemplate\"\n [ngTemplateOutletInjector]=\"createCustomInjector('group_' + listItemRef.trackId, {item: item, $index: $index, itemRef: listItemRef, $first: $first, $last: $last, currentItemWidgets: listItemRef.currentItemWidgets})\"\n [ngTemplateOutletContext]=\"{item: item, $index: $index, itemRef: listItemRef, $first: $first, $last: $last, currentItemWidgets: listItemRef.currentItemWidgets}\"></ng-container>\n </li>\n </ul>\n </li>\n </ul>\n </li>\n</ng-template>\n","import {\n AfterViewInit,\n Attribute,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef, Inject,\n Injector,\n NgZone,\n OnDestroy,\n OnInit,\n Optional,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewChildren\n} from '@angular/core';\n\nimport {Subscription} from 'rxjs';\n\nimport {\n $appDigest,\n $invokeWatchers,\n App,\n AppDefaults,\n DataSource,\n getClonedObject,\n isDataSourceEqual,\n isDefined,\n isMobile,\n isMobileApp,\n isObject,\n noop,\n switchClass,\n StatePersistence,\n PaginationService,\n setListClass,\n generateGUId\n} from '@wm/core';\nimport {\n APPLY_STYLES_TYPE,\n configureDnD,\n DEBOUNCE_TIMES,\n getOrderedDataset,\n groupData,\n handleHeaderClick,\n NAVIGATION_TYPE,\n unsupportedStatePersistenceTypes,\n provideAsWidgetRef,\n StylableComponent,\n styler,\n ToDatePipe,\n toggleAllHeaders,\n WidgetRef,\n extractDataSourceName\n} from '@wm/components/base';\nimport {PaginationComponent} from '@wm/components/data/pagination';\nimport {ButtonComponent} from '@wm/components/input';\n\nimport {registerProps} from './list.props';\nimport {ListItemDirective} from './list-item.directive';\nimport {ListAnimator} from './list.animator';\nimport {\n clone,\n cloneDeep,\n forEach,\n get, has,\n includes,\n isArray,\n isEmpty,\n isEqual,\n isNumber,\n isString,\n isUndefined,\n last, max, min, pullAllWith, pullAt, remove, some, toNumber\n} from \"lodash-es\";\n\ndeclare const $;\n\nconst DEFAULT_CLS = 'app-livelist app-panel';\nconst WIDGET_CONFIG = {widgetType: 'wm-list', hostClass: DEFAULT_CLS};\n\n@Component({\n selector: 'div[wmList]',\n templateUrl: './list.component.html',\n providers: [\n provideAsWidgetRef(ListComponent)\n ]\n})\nexport class ListComponent extends StylableComponent implements OnInit, AfterViewInit, OnDestroy {\n static initializeProps = registerProps();\n\n @ContentChild('listTemplate') listTemplate: TemplateRef<ElementRef>;\n\n @ContentChild('listLeftActionTemplate') listLeftActionTemplate: TemplateRef<ElementRef>;\n @ContentChild('listRightActionTemplate') listRightActionTemplate: TemplateRef<ElementRef>;\n @ContentChildren(ButtonComponent) btnComponents;\n\n @ViewChild(PaginationComponent) dataNavigator;\n @ViewChildren(ListItemDirective) listItems: QueryList<ListItemDirective>;\n public noDataFound: boolean;\n public lastSelectedItem: ListItemDirective;\n public fieldDefs: Array<any>;\n public disableitem;\n public navigation: string;\n public navigationalign: string;\n public pagesize: number;\n public dataset: any;\n public multiselect: boolean;\n public selectfirstitem: boolean;\n public orderby: string;\n public loadingicon: string;\n public paginationclass: string;\n public ondemandmessage: string;\n public loadingdatamsg: string;\n public selectionlimit: number;\n public infScroll: boolean;\n public enablereorder: boolean;\n public itemsperrow: string;\n public itemclass: string;\n public selectedItemWidgets: Array<WidgetRef> | WidgetRef;\n public variableInflight;\n public name;\n public currentPage;\n public direction;\n public tabindex;\n public handleHeaderClick: Function;\n public toggleAllHeaders: void;\n public groupby: string;\n public collapsible: string;\n public datePipe: ToDatePipe;\n public binditemclass: string;\n public binddisableitem: string;\n public binddataset: string;\n public mouseEnterCB: string;\n public mouseLeaveCB: string;\n public pulltorefresh: boolean;\n public title: string;\n public subheading: string;\n public iconclass: string;\n public listclass: any;\n public statehandler: any;\n public currentIndex: number;\n public titleId: string;\n _isDependent;\n private itemsPerRowClass: string;\n private firstSelectedItem: ListItemDirective;\n private navigatorMaxResultWatch: Subscription;\n private navigatorResultWatch: Subscription;\n private navControls: string;\n private onDemandLoad: boolean;\n private _items: Array<any>;\n private dataNavigatorWatched: boolean;\n private datasource: any;\n private showNavigation: boolean;\n private reorderProps: any;\n private app: any;\n private appDefaults: any;\n private ngZone: NgZone;\n private statePersistence: StatePersistence;\n private paginationService: PaginationService;\n private binddatasource: string;\n private match: string;\n private dateformat: string;\n private groupedData: any;\n private cdRef: ChangeDetectorRef;\n private promiseResolverFn: Function;\n private propsInitPromise: Promise<any>;\n private $ulEle: any;\n private _listAnimator: ListAnimator;\n private _listenerDestroyers: Array<any>;\n private debouncedFetchNextDatasetOnScroll: Function;\n private isDataChanged: boolean;\n private isListElementMovable: boolean;\n private ariaText: String;\n private _pageLoad;\n private _selectedItemsExist;\n\n private touching;\n private touched;\n\n constructor(\n inj: Injector,\n cdRef: ChangeDetectorRef,\n datePipe: ToDatePipe,\n app: App,\n appDefaults: AppDefaults,\n ngZone: NgZone,\n @Attribute('itemclass.bind') binditemclass: string,\n @Attribute('disableitem.bind') binddisableitem: string,\n @Attribute('dataset.bind') binddataset: string,\n @Attribute('datasource.bind') binddatasource: string,\n @Attribute('mouseenter.event') mouseEnterCB: string,\n @Attribute('mouseleave.event') mouseLeaveCB: string,\n statePersistence: StatePersistence,\n paginationService: PaginationService,\n @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n ) {\n let resolveFn: Function = noop;\n const propsInitPromise = new Promise(res => resolveFn = res);\n super(inj, WIDGET_CONFIG, explicitContext, propsInitPromise);\n this.propsInitPromise = propsInitPromise;\n this.promiseResolverFn = resolveFn;\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.SHELL);\n this.cdRef = cdRef;\n this.ngZone = ngZone;\n this.datePipe = datePipe;\n this.statePersistence = statePersistence;\n this.paginationService = paginationService;\n this._pageLoad = true;\n\n this.binditemclass = binditemclass;\n this.binddisableitem = binddisableitem;\n this.binddataset = binddataset;\n this.mouseEnterCB = mouseEnterCB;\n this.mouseLeaveCB = mouseLeaveCB;\n this.binddatasource = binddatasource;\n\n this.app = app;\n this.appDefaults = appDefaults;\n this.variableInflight = false;\n\n this.noDataFound = !binddataset;\n this.titleId = 'wmlist-' + generateGUId();\n\n // Updates pagination, filter, sort etc options for service and crud variables\n this._listenerDestroyers = [\n this.app.subscribe('check-state-persistence-options', options => {\n let dataSourceName = get(this.datasource, 'name');\n // in Prefabs, this.datasource is not resolved at the time of variable invocation, so additional check is required.\n if (!dataSourceName) {\n dataSourceName = extractDataSourceName(this.binddatasource);\n }\n if (get(options, 'variable.name') !== dataSourceName) {\n return;\n }\n this.handleStateParams(options);\n }),\n // Show loading status based on the variable life cycle\n this.app.subscribe('toggle-variable-state', this.handleLoading.bind(this)),\n this.app.subscribe('setup-cud-listener', param => {\n if (this.nativeElement.getAttribute('name') !== param) {\n return;\n }\n this._isDependent = true;\n })\n ];\n }\n\n public get selecteditem() {\n if (this.multiselect) {\n return getClonedObject(this._items);\n }\n if (isEmpty(this._items)) {\n return {};\n }\n return getClonedObject(this._items[0]);\n }\n\n public set selecteditem(items) {\n this._items.length = 0;\n this.deselectListItems();\n\n if (isArray(items)) {\n items.forEach(item => this.selectItem(item));\n } else {\n this.selectItem(items);\n }\n $appDigest();\n }\n\n /**\n * Returns list of widgets present on list item by considering name and index of the widget.\n * If we did'nt pass index, it returns array of all the widgets which are matching to widget name\n * @param widgteName: Name of the widget\n * @param index: Index of the widget\n */\n public getWidgets(widgteName: string, index?: number) {\n let $target;\n const retVal = [];\n\n if (!widgteName) {\n return;\n }\n\n if (!isDefined(index)) {\n forEach(this.listItems.toArray(), (el) => {\n $target = get(el.currentItemWidgets, widgteName);\n if ($target) {\n retVal.push($target);\n }\n });\n\n return retVal;\n }\n index = +index || 0;\n\n $target = get(this.listItems.toArray(), index);\n\n if ($target) {\n return [get($target.currentItemWidgets, widgteName)];\n }\n }\n\n // returns listitem reference by index value. This refers to the same method getListItemByIndex.\n public getItem(index: number) {\n return this.getListItemByIndex(index);\n }\n\n /**\n * Returns index of listItem(listItemDirective / listItemObject)\n * If item is a directive, index is fetched from listItems\n * If item is an object, index is fetched from fieldDefs\n */\n public getIndex(item: any) {\n if (item instanceof ListItemDirective) {\n return this.getListItemIndex(item);\n } else if (item) {\n return this.fieldDefs.findIndex((obj) => isEqual(obj, item));\n }\n }\n\n create() {\n if (this._isDependent) {\n this.triggerWMEvent('insert');\n }\n }\n\n editRow(item?) {\n if (this._isDependent) {\n let listItem;\n if (item) {\n listItem = this.getItemRefByIndexOrModel(item).item;\n }\n this.triggerWMEvent('update', listItem);\n }\n }\n\n update(item?) {\n this.editRow(item);\n }\n\n deleteRow(item?) {\n if (this._isDependent) {\n let listItem;\n if (item) {\n listItem = this.getItemRefByIndexOrModel(item).item;\n }\n this.triggerWMEvent('delete', listItem);\n }\n }\n\n delete(item?) {\n this.deleteRow(item);\n }\n\n handleLoading(data) {\n const dataSource = this.datasource;\n if (dataSource && dataSource.execute(DataSource.Operation.IS_API_AWARE) && isDataSourceEqual(data.variable, dataSource)) {\n this.ngZone.run(() => {\n this.handleStateParams(data);\n this.variableInflight = data.active;\n // Fix for [WMS-23772] Update nodatafound flag once the response is recieved from the server\n const totalEle = data.data?.pagination?.totalElements;\n if (!isUndefined(totalEle)) {\n this.noDataFound = totalEle === 0 ? true : false;\n } else { // totalelements is undefined\n this.noDataFound = isEmpty(data.data?.data);\n }\n });\n }\n }\n\n public triggerListItemSelection($el: JQuery<HTMLElement>, $event: Event) {\n if ($el && $el[0]) {\n const listItemContext = $el.data('listItemContext');\n // Trigger click event only if the list item is from the corresponding list.\n if (listItemContext.listComponent === this) {\n this.onItemClick($event, listItemContext);\n }\n }\n }\n\n // this method is called form other data widgets like table.\n public execute(operation, options) {\n if ([DataSource.Operation.IS_API_AWARE, DataSource.Operation.IS_PAGEABLE, DataSource.Operation.SUPPORTS_SERVER_FILTER].includes(operation)) {\n return false;\n }\n return this.datasource.execute(operation, options);\n }\n\n public handleKeyDown($event, action: string) {\n $event.stopPropagation();\n if ($event.keyCode !== 13 && $event.keyCode !== 9 && !(($event.target.classList.contains('form-control') || $event.target.classList.contains('note-editable')) && $event.keyCode === 32)) {\n $event.preventDefault();\n }\n\n const listItems: QueryList<ListItemDirective> = this.listItems;\n\n let presentIndex: number = this.getListItemIndex(this.lastSelectedItem);\n\n if (this.multiselect) {\n const firstIndex: number = this.getListItemIndex(this.firstSelectedItem);\n const selectCount: number = isArray(this.selecteditem) ? this.selecteditem.length : (isObject(this.selecteditem) ? 1 : 0);\n if (action === 'selectPrev') {\n if (presentIndex > 0) {\n if ((presentIndex <= firstIndex) && this.checkSelectionLimit(selectCount)) {\n this.lastSelectedItem = this.getListItemByIndex(presentIndex - 1);\n this.toggleListItemSelection(this.lastSelectedItem);\n } else if (presentIndex > firstIndex) {\n this.toggleListItemSelection(this.getListItemByIndex(presentIndex));\n this.lastSelectedItem = this.getListItemByIndex(presentIndex - 1);\n } else {\n this.invokeEventCallback('selectionlimitexceed', {$event});\n }\n }\n } else if (action === 'selectNext') {\n if (presentIndex < listItems.length - 1) {\n if ((presentIndex >= firstIndex) && this.checkSelectionLimit(selectCount)) {\n this.lastSelectedItem = this.getListItemByIndex(presentIndex + 1);\n this.toggleListItemSelection(this.lastSelectedItem);\n } else if (presentIndex < firstIndex) {\n this.toggleListItemSelection(this.getListItemByIndex(presentIndex));\n this.lastSelectedItem = this.getListItemByIndex(presentIndex + 1);\n } else {\n this.invokeEventCallback('selectionlimitexceed', {$event});\n }\n }\n }\n }\n if (action === 'focusPrev') {\n if (this.isListElementMovable) {\n presentIndex = presentIndex <= 0 ? 0 : (presentIndex);\n if (presentIndex === 0) {\n return;\n }\n\n this.lastSelectedItem = this.getListItemByIndex(presentIndex);\n const prevElt = this.getListItemByIndex(presentIndex - 1);\n prevElt.nativeElement.before(this.lastSelectedItem.nativeElement);\n this.lastSelectedItem.nativeElement.focus();\n this.statePersistence.removeWidgetState(this, 'selectedItem');\n const arr = this.listItems.toArray();\n [arr[presentIndex - 1], arr[presentIndex]] = [arr[presentIndex], arr[presentIndex - 1]];\n this.listItems.reset(arr);\n this.currentIndex = presentIndex;\n this.ariaText = \"selected \";\n } else {\n presentIndex = presentIndex <= 0 ? 0 : (presentIndex - 1);\n this.lastSelectedItem = this.getListItemByIndex(presentIndex);\n this.lastSelectedItem.nativeElement.focus();\n this.currentIndex = presentIndex + 1;\n this.ariaText = \"selected \";\n }\n } else if (action === 'focusNext') {\n if (this.isListElementMovable) {\n presentIndex = presentIndex < (listItems.length - 1) ? (presentIndex) : (listItems.length - 1);\n if (presentIndex === this.listItems.length - 1) {\n return;\n }\n\n this.lastSelectedItem = this.getListItemByIndex(presentIndex);\n const nextElt = this.getListItemByIndex(presentIndex + 1);\n nextElt.nativeElement.after(this.lastSelectedItem.nativeElement);\n this.lastSelectedItem.nativeElement.focus();\n this.statePersistence.removeWidgetState(this, 'selectedItem');\n const arr = this.listItems.toArray();\n [arr[presentIndex], arr[presentIndex + 1]] = [arr[presentIndex + 1], arr[presentIndex]];\n this.listItems.reset(arr);\n this.currentIndex = presentIndex + 2;\n this.ariaText = \"selected \";\n } else {\n presentIndex = presentIndex < (listItems.length - 1) ? (presentIndex + 1) : (listItems.length - 1);\n this.lastSelectedItem = this.getListItemByIndex(presentIndex);\n this.lastSelectedItem.nativeElement.focus();\n this.currentIndex = presentIndex + 1;\n this.ariaText = \"selected \";\n }\n } else if (action === 'select') {\n // if the enter click is pressed on the item which is not the last selected item, the find the item from which the event is originated.\n if (presentIndex === -1 || !$($event.target).closest(this.lastSelectedItem.nativeElement)) {\n const $li = $($event.target).closest('li.app-list-item');\n const $ul = $li.closest('ul.app-livelist-container');\n presentIndex = $ul.find('li.app-list-item').index($li);\n }\n this.onItemClick($event, this.getListItemByIndex(presentIndex));\n } else if (action === 'space') {\n if (!this.enablereorder) {\n return;\n }\n this.isListElementMovable = !this.isListElementMovable;\n this.onItemClick($event, this.getListItemByIndex(presentIndex));\n this.currentIndex = presentIndex + 1;\n if (this.isListElementMovable) {\n this.ariaText = `Item ${this.currentIndex} grabbed, current position `;\n this.$ulEle.data('oldIndex', presentIndex);\n } else {\n this.ariaText = `Item ${this.currentIndex} dropped, final position `;\n this.onUpdate($event, undefined, presentIndex);\n }\n }\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'dataset') {\n if (!nv && this.binddatasource && !this.datasource) {\n return;\n }\n this.onDataSetChange(nv);\n } else if (key === 'datasource') {\n if (this.dataset) {\n this.onDataSetChange(this.dataset);\n }\n } else if (key === 'navigation') {\n // Support for older projects where navigation type was advanced instead of classic\n if (nv === 'Advanced') {\n this.navigation = 'Classic';\n return;\n }\n switchClass(this.nativeElement, nv, ov);\n this.onNavigationTypeChange(nv);\n if (this.dataNavigator) {\n this.dataNavigator.navigationClass = this.paginationclass;\n }\n } else if (key === 'itemsperrow') {\n setListClass(this);\n } else if (key === 'tabindex') {\n return;\n } else if (key === 'pulltorefresh' && nv) {\n this.app.notify('pullToRefresh:enable');\n this.subscribeToPullToRefresh();\n } else if (key === 'paginationclass') {\n if (this.dataNavigator) {\n // Adding setTimeout because in pagination component updateNavSize method is overriding navigationclass\n setTimeout(() => this.dataNavigator.navigationClass = nv);\n }\n } else if (key === 'pagesize') {\n this.dataNavigator.options = {\n maxResults: nv\n };\n this.dataNavigator.widget.maxResults = nv;\n this.dataNavigator.maxResults = nv;\n } else if (key === 'enablereorder') {\n if (nv && this.$ulEle) {\n this.$ulEle.attr('aria-describedby', this.titleId);\n this.configureDnD();\n this.$ulEle.sortable('enable');\n } else if (this.$ulEle && !nv) {\n this.$ulEle.removeAttr('aria-describedby');\n this.$ulEle.sortable('disable');\n }\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n public onItemClick(evt: any, $listItem: ListItemDirective) {\n let selectCount: number;\n\n if (!$listItem.disableItem) {\n this.firstSelectedItem = this.firstSelectedItem || $listItem;\n // Setting selectCount value based number of items selected.\n selectCount = isArray(this.selecteditem) ? this.selecteditem.length : (isObject(this.selecteditem) ? 1 : 0);\n\n // Handling multiselect for mobile device\n if (this.multiselect && isMobile()) {\n if (this.checkSelectionLimit(selectCount) || $listItem.isActive) {\n this.toggleListItemSelection($listItem);\n } else {\n this.invokeEventCallback('selectionlimitexceed', {$event: evt});\n }\n } else if ((evt.ctrlKey || evt.metaKey) && this.multiselect) {\n if (this.checkSelectionLimit(selectCount) || $listItem.isActive) {\n this.firstSelectedItem = this.lastSelectedItem = $listItem;\n this.toggleListItemSelection($listItem);\n } else {\n this.invokeEventCallback('selectionlimitexceed', {$event: evt});\n }\n } else if (evt.shiftKey && this.multiselect) {\n let first = $listItem.context.index;\n let last = this.firstSelectedItem.context.index;\n\n // if first is greater than last, then swap values\n if (first > last) {\n last = [first, first = last][0];\n }\n if (this.checkSelectionLimit(last - first)) {\n this.clearSelectedItems();\n this.listItems.forEach(($liItem: ListItemDirective) => {\n const index = $liItem.context.index;\n if (index >= first && index <= last) {\n this.toggleListItemSelection($liItem);\n }\n });\n this.lastSelectedItem = $listItem;\n } else {\n this.invokeEventCallback('selectionlimitexceed', {$event: evt});\n }\n\n } else {\n if (!$listItem.isActive || selectCount > 1) {\n this.clearSelectedItems();\n this.toggleListItemSelection($listItem);\n this.firstSelectedItem = this.lastSelectedItem = $listItem;\n }\n }\n $appDigest();\n }\n }\n\n // Empty the list content on clear\n public clear() {\n this.updateFieldDefs([]);\n }\n\n /**\n * deselects item in the list.\n * @param val: index | model of the list item.\n */\n public deselectItem(val: any) {\n const listItem = this.getItemRefByIndexOrModel(val);\n if (listItem && listItem.isActive) {\n this.toggleListItemSelection(listItem);\n }\n }\n\n /**\n * selects item in the list.\n * @param val: index | model of the list item.\n */\n public selectItem(val, statePersistenceTriggered?) {\n const listItem = this.getItemRefByIndexOrModel(val);\n if (!listItem) {\n return;\n }\n if (!listItem.isActive) {\n this.toggleListItemSelection(listItem, statePersistenceTriggered);\n }\n // focus the element.\n listItem.nativeElement.focus();\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.handleHeaderClick = noop;\n setTimeout(() => {\n this.debouncedFetchNextDatasetOnScroll = this.paginationService.debouncedFetchNextDatasetOnScroll(this.dataNavigator, DEBOUNCE_TIMES.PAGINATION_DEBOUNCE_TIME, this);\n }, 0);\n this._items = [];\n this.fieldDefs = [];\n this.reorderProps = {\n minIndex: null,\n maxIndex: null\n };\n }\n\n ngAfterViewInit() {\n this.promiseResolverFn();\n this.propsInitPromise.then(() => {\n super.ngAfterViewInit();\n this.setUpCUDHandlers();\n this.selectedItemWidgets = this.multiselect ? [] : {};\n var ele = $(this.nativeElement).find('.app-livelist-container');\n\n if (this.enablereorder && !this.groupby) {\n if (ele) {\n ele.attr('aria-describedby', this.titleId);\n }\n this.configureDnD();\n }\n if (!this.enablereorder) {\n if (ele) {\n ele.removeAttr('aria-describedby');\n }\n }\n if (this.groupby && this.collapsible) {\n this.handleHeaderClick = handleHeaderClick;\n this.toggleAllHeaders = toggleAllHeaders.bind(undefined, this);\n }\n setListClass(this);\n });\n this.setupHandlers();\n const $ul = this.nativeElement.querySelector('ul.app-livelist-container');\n styler($ul as HTMLElement, this, APPLY_STYLES_TYPE.SCROLLABLE_CONTAINER);\n if (this.enablereorder) {\n if ($ul) {\n $ul.setAttribute('aria-describedby', this.titleId);\n }\n }\n if (!this.enablereorder) {\n if ($ul) {\n $ul.removeAttribute('aria-describedby');\n }\n }\n if (isMobileApp() && $ul.querySelector('.app-list-item-action-panel')) {\n this._listAnimator = new ListAnimator(this);\n }\n }\n\n ngOnDestroy() {\n if (this._listAnimator && this._listAnimator.$btnSubscription) {\n this._listAnimator.$btnSubscription.unsubscribe();\n }\n this._listenerDestroyers.forEach(d => d && d());\n super.ngOnDestroy();\n }\n\n ngOnDetach() {\n super.ngOnDetach();\n this._pageLoad = true;\n }\n\n protected handleEvent(node: HTMLElement, eventName: string, eventCallback: Function, locals: any) {\n // tap and doubleTap events are not getting propagated.So, using mouse events instead.\n const touchToMouse = {\n tap: 'click',\n doubletap: 'dblclick'\n };\n if (includes(['click', 'tap', 'dblclick', 'doubletap'], eventName)) {\n this.eventManager.addEventListener(\n this.nativeElement,\n touchToMouse[eventName] || eventName,\n (evt) => {\n const target = $(evt.target).closest('.app-list-item');\n if (target.length) {\n const listItemContext: ListItemDirective = target.data('listItemContext');\n if (!listItemContext.disableItem) {\n this.invokeEventCallback(eventName, {\n widget: listItemContext,\n $event: evt,\n item: listItemContext.item\n });\n }\n }\n }\n );\n }\n }\n\n private getConfiguredState() {\n const mode = this.statePersistence.computeMode(this.statehandler);\n return mode && mode.toLowerCase();\n }\n\n private handleStateParams(options) {\n if (this._pageLoad && this.getConfiguredState() !== 'none') {\n this._pageLoad = false;\n const widgetState = this.statePersistence.getWidgetState(this);\n if (get(widgetState, 'pagination')) {\n options.options = options.options || {};\n options.options.page = widgetState.pagination;\n }\n if (get(widgetState, 'selectedItem')) {\n this._selectedItemsExist = true;\n }\n }\n }\n\n private triggerWMEvent(eventName, item?) {\n $invokeWatchers(true);\n // If we have multiselect for the livelist(List with form template), in run mode deleting a record is getting failed. Becuase the selecteditem will be array of objects. So consider the last object.\n let row = this.multiselect ? last(this.selecteditem) : this.selecteditem;\n if (item) {\n row = item;\n }\n this.app.notify('wm-event', {eventName, widgetName: this.name, row: row});\n }\n\n private resetNavigation() {\n this.showNavigation = false;\n this.navControls = undefined;\n this.infScroll = false;\n this.onDemandLoad = false;\n }\n\n private enableBasicNavigation() {\n this.navControls = NAVIGATION_TYPE.BASIC;\n this.showNavigation = true;\n }\n\n private enableInlineNavigation() {\n this.navControls = NAVIGATION_TYPE.INLINE;\n }\n\n private enableClassicNavigation() {\n this.navControls = NAVIGATION_TYPE.CLASSIC;\n this.showNavigation = true;\n }\n\n private enablePagerNavigation() {\n this.navControls = NAVIGATION_TYPE.PAGER;\n this.showNavigation = true;\n }\n\n private setNavigationTypeNone() {\n this.navControls = NAVIGATION_TYPE.NONE;\n this.showNavigation = false;\n }\n\n private enableInfiniteScroll() {\n this.infScroll = true;\n }\n\n private enableOnDemandLoad() {\n this.onDemandLoad = true;\n this.showNavigation = true;\n }\n\n /**\n * Sets Navigation type for the list.\n * @param type\n */\n private onNavigationTypeChange(type) {\n this.resetNavigation();\n switch (type) {\n case NAVIGATION_TYPE.BASIC:\n this.enableBasicNavigation();\n break;\n case NAVIGATION_TYPE.INLINE:\n this.enableInlineNavigation();\n break;\n case NAVIGATION_TYPE.ADVANCED:\n case NAVIGATION_TYPE.CLASSIC:\n this.enableClassicNavigation();\n break;\n case NAVIGATION_TYPE.PAGER:\n this.enablePagerNavigation();\n break;\n case NAVIGATION_TYPE.NONE :\n this.setNavigationTypeNone();\n break;\n case NAVIGATION_TYPE.SCROLL:\n this.enableInfiniteScroll();\n break;\n case NAVIGATION_TYPE.ONDEMAND:\n this.enableOnDemandLoad();\n break;\n }\n }\n\n /**\n * Update fieldDefs property, fieldDefs is the model of the List Component.\n * fieldDefs is an Array type.\n * @param newVal\n */\n private updateFieldDefs(newVal: Array<any>) {\n if (this.infScroll || this.onDemandLoad) {\n [this.fieldDefs, this.currentPage] = this.paginationService.updateFieldsOnPagination(this, newVal);\n } else {\n this.fieldDefs = newVal;\n }\n\n if (this.orderby) {\n this.fieldDefs = getOrderedDataset(this.fieldDefs, this.orderby);\n }\n if (this.groupby) {\n this.groupedData = groupData(this, this.fieldDefs, this.groupby, this.match, this.orderby, this.dateformat, this.datePipe, undefined, this.appDefaults);\n }\n\n if (!this.fieldDefs.length) {\n this.noDataFound = true;\n this.selecteditem = undefined;\n }\n $appDigest();\n this.listItems.setDirty();\n }\n\n private onDataChange(newVal) {\n // Check for newVal is not empty\n if (!isEmpty(newVal)) {\n\n this.noDataFound = false;\n this.isDataChanged = true;\n\n if (this.datasource && this.datasource.execute(DataSource.Operation.IS_API_AWARE)) {\n // clone the the data in case of live and service variables to prevent the two-way binding for these variables.\n newVal = cloneDeep(newVal);\n }\n\n if (isObject(newVal) && !isArray(newVal)) {\n newVal = isEmpty(newVal) ? [] : [newVal];\n }\n\n if (isString(newVal)) {\n newVal = newVal.split(',');\n }\n\n // if the page number is greater than 1 on initial load then we render the first page.\n if (this.datasource && this.datasource.owner === 'App' && (this.infScroll || this.onDemandLoad) && !this.currentPage && this.datasource.execute(DataSource.Operation.GET_PAGING_OPTIONS).number > 0) {\n newVal = this.datasource.execute(DataSource.Operation.LIST_RECORDS, {\n 'page': 1\n });\n }\n\n if (isArray(newVal)) {\n if (newVal.length) {\n this.invokeEventCallback('beforedatarender', {$data: newVal});\n }\n this.updateFieldDefs(newVal);\n }\n } else {\n this.updateFieldDefs([]);\n }\n }\n\n // Updates the dataSource when pagination is enabled for the Component.\n private setupDataSource() {\n const dataNavigator = this.dataNavigator;\n\n dataNavigator.options = {\n maxResults: this.pagesize || 20\n };\n\n this.dataNavigatorWatched = true;\n\n if (this.navigatorResultWatch) {\n this.navigatorResultWatch.unsubscribe();\n }\n /*Register a watch on the \"result\" property of the \"dataNavigator\" so that the paginated data is displayed in the live-list.*/\n this.navigatorResultWatch = dataNavigator.resultEmitter.subscribe((newVal: any) => {\n this.onDataChange(newVal);\n }, true);\n /*De-register the watch if it is exists */\n if (this.navigatorMaxResultWatch) {\n this.navigatorMaxResultWatch.unsubscribe();\n }\n /*Register a watch on the \"maxResults\" property of the \"dataNavigator\" so that the \"pageSize\" is displayed in the live-list.*/\n this.navigatorMaxResultWatch = dataNavigator.maxResultsEmitter.subscribe((val) => {\n this.pagesize = val;\n });\n\n dataNavigator.maxResults = this.pagesize || 20;\n this.removePropertyBinding('dataset');\n // when list having \"datasetboundexpr\" attr indicates that list is bound to item context\n // when dataset is bound to \"item.FIELD\" then item context is passed as the datasource.\n const datasetBoundExpr = this.getAttr('datasetboundexpr');\n this.dataNavigator.setBindDataSet(\n this.binddataset,\n this.viewParent,\n datasetBoundExpr ? this.context : this.datasource,\n this.dataset,\n this.binddatasource,\n datasetBoundExpr,\n this.statehandler\n );\n }\n\n private onDataSetChange(newVal) {\n if (get(this.datasource, 'category') === 'wm.Variable' && this.getConfiguredState() !== 'none' && this._pageLoad) {\n const widgetState = this.statePersistence.getWidgetState(this);\n this._pageLoad = false;\n if (get(widgetState, 'pagination')) {\n this.dataNavigator.pageChanged({page: widgetState.pagination}, true);\n }\n if (get(widgetState, 'selectedItem')) {\n this._selectedItemsExist = true;\n }\n }\n if (!this.dataNavigatorWatched) {\n if (this.navigation && this.navigation !== NAVIGATION_TYPE.NONE) {\n this.setupDataSource();\n } else {\n this.onDataChange(newVal);\n }\n } else if (this.navigation && this.navigation !== NAVIGATION_TYPE.NONE) {\n // If navigation is already setup and datasource is changed, update the datasource on navigation\n this.dataNavigator.setDataSource(this.datasource);\n }\n }\n\n // All the ListItem's Active state is set to false.\n private deselectListItems() {\n this.listItems.forEach(item => item.isActive = false);\n }\n\n // Deselect all the ListItems and clear the selecteditem(InOutBound Property model)\n private clearSelectedItems() {\n this.deselectListItems();\n this._items.length = 0;\n $appDigest();\n }\n\n /**\n * return the ListItemDirective instance by checking the equality of the model.\n * @param listModel: model to be searched for\n * @returns ListItem if the model is matched else return null.\n */\n private getListItemByModel(listModel): ListItemDirective {\n return this.listItems.find((listItem) => {\n let itemObj = listItem.item;\n if (this.groupby && !has(listModel, '_groupIndex')) {\n // If groupby is enabled, item contains _groupIndex property which should be excluded while comparing model.\n itemObj = clone(itemObj);\n delete itemObj._groupIndex;\n }\n if (isEqual(itemObj, listModel)) {\n return true;\n }\n }) || null;\n }\n\n private updateSelectedItemsWidgets(statePersistenceTriggered?) {\n let obj = {}, widgetState;\n const pageNum = get(this.dataNavigator, 'dn.currentPage') || 1;\n if (this.getConfiguredState() !== 'none') {\n // remove previously configured selected items for current page and construct new ones later below.\n widgetState = this.statePersistence.getWidgetState(this) || {};\n if (get(widgetState, 'selectedItem')) {\n // when multiselect is on and an item is selected without pressing CTRL, previously selected items in state should be empty.\n if (this.multiselect && this.selecteditem.length === 1) {\n widgetState.selectedItem = [];\n } else {\n remove(widgetState.selectedItem, function (selectedItem: any) {\n return selectedItem.page === pageNum;\n });\n }\n }\n }\n if (this.multiselect) {\n (this.selectedItemWidgets as Array<WidgetRef>).length = 0;\n }\n this.listItems.forEach((item: ListItemDirective, index) => {\n if (item.isActive) {\n if (this.multiselect) {\n (this.selectedItemWidgets as Array<WidgetRef>).push(item.currentItemWidgets);\n } else {\n this.selectedItemWidgets = item.currentItemWidgets;\n }\n obj = {page: pageNum, index: index};\n if (get(widgetState, 'selectedItem') && this.multiselect) {\n if (!some(widgetState.selectedItem, obj)) {\n widgetState.selectedItem.push(obj);\n }\n } else {\n widgetState.selectedItem = [obj];\n }\n }\n });\n if (this.getConfiguredState() !== 'none' && !statePersistenceTriggered) {\n if (unsupportedStatePersistenceTypes.indexOf(this.navigation) < 0) {\n this.statePersistence.removeWidgetState(this, 'selectedItem');\n this.statePersistence.setWidgetState(this, {'selectedItem': widgetState.selectedItem});\n } else {\n console.warn('Retain State handling on Widget ' + this.name + ' is not supported for current pagination type.');\n }\n }\n }\n\n /**\n * Selects the listItem and updates selecteditem property.\n * If the listItem is already a selected item then deselects the item.\n * @param {ListItemDirective} $listItem: Item to be selected of deselected.\n */\n private toggleListItemSelection($listItem: ListItemDirective, statePersistenceTriggered?) {\n // item is not allowed to get selected if it is disabled.\n if ($listItem && !$listItem.disableItem) {\n let item = $listItem.item;\n if (this.groupby && has(item, '_groupIndex')) {\n // If groupby is enabled, item contains _groupIndex property which should be excluded from selecteditem.\n item = clone(item);\n delete item._groupIndex;\n }\n if ($listItem.isActive) {\n this._items = pullAllWith(this._items, [item], isEqual);\n $listItem.isActive = false;\n } else {\n // if multiselect is false, clear the selectItem list before adding an item to the selectItem list.\n if (!this.multiselect) {\n this.clearSelectedItems();\n }\n this._items.push(item);\n this.invokeEventCallback('select', {widget: $listItem, $data: item});\n $listItem.isActive = true;\n }\n this.updateSelectedItemsWidgets(statePersistenceTriggered);\n }\n }\n\n /**\n * Method is Invoked when the model for the List Widget is changed.\n * @param {QueryList<ListItemDirective>} listItems\n */\n private onListRender(listItems: QueryList<ListItemDirective>) {\n // Added render callback event. This method(onListRender) is calling multiple times so checking isDatachanged flag because this falg is changed whenever new data is rendered.\n if (this.isDataChanged) {\n // Whenever dataset is changed, trigger watchers to evaluate listitem bind expressions.\n $invokeWatchers(true);\n this.invokeEventCallback('render', {$data: this.fieldDefs});\n }\n if (this.isDataChanged && this.getConfiguredState() !== 'none' && listItems.length && this._selectedItemsExist) {\n const widgetState = this.statePersistence.getWidgetState(this);\n if (get(widgetState, 'selectedItem')) {\n this._selectedItemsExist = false;\n const selectedItemsLength = isArray(this.selecteditem) ? this.selecteditem.length : toNumber(!isEmpty(this.selecteditem));\n const currentPage = get(this.dataNavigator, 'dn.currentPage') || 1;\n widgetState.pagination = widgetState.pagination || 1;\n // to prevent item selection from being triggered more than once\n if (selectedItemsLength !== widgetState.selectedItem.length && widgetState.pagination === currentPage) {\n widgetState.selectedItem.forEach((item) => {\n if (item.page === currentPage) {\n this.selectItem(item.index, true);\n }\n });\n }\n }\n }\n const selectedItems = isArray(this.selecteditem) ? this.selecteditem : [this.selecteditem];\n\n this.firstSelectedItem = this.lastSelectedItem = null;\n\n // don't select first item if multi-select is enabled and at least item is already selected in the list.\n // don't select first item if state information has selected items\n if (listItems.length && this.selectfirstitem && !(this._items.length && this.multiselect) && this._selectedItemsExist !== false) {\n const $firstItem: ListItemDirective = listItems.first;\n\n if (\n !$firstItem.disableItem &&\n this.isDataChanged &&\n // \"infinite scroll\" or \"load on demand\" is enabled and at least one item is selected then dont alter the selected list items.\n !(\n (this.infScroll || this.onDemandLoad) &&\n this._items.length\n )\n ) {\n this.clearSelectedItems();\n this.firstSelectedItem = this.lastSelectedItem = $firstItem;\n // selecting the first record\n this.selectItem(0);\n }\n } else {\n this.deselectListItems();\n selectedItems.forEach(selecteditem => {\n const listItem: ListItemDirective = this.getListItemByModel(selecteditem);\n if (listItem) {\n listItem.isActive = true;\n this.lastSelectedItem = listItem;\n // focus the active element\n listItem.nativeElement.focus();\n }\n });\n }\n\n if (this.fieldDefs.length && this.infScroll) {\n const smoothScrollEl = this.$element.closest('[wmsmoothscroll]');\n // if smoothscroll is set to false, then native scroll has to be applied\n // otherwise smoothscroll events will be binded.\n if (isMobileApp() && smoothScrollEl.length && smoothScrollEl.attr('wmsmoothscroll') === 'true') {\n this.paginationService.bindIScrollEvt(this, DEBOUNCE_TIMES.PAGINATION_DEBOUNCE_TIME);\n } else {\n // In case of mobile app when modal exists, and list items height is greater than the modal content provide ccontainer a scrollable height\n const modalBody = this.$element.closest('.modal-body');\n const listHt = this.$element.find('ul').height();\n const modalHt = window.innerHeight - 140;\n if (isMobile() && modalBody.length && listHt > modalHt) {\n this.$element.css('height', modalHt + 'px');\n }\n this.paginationService.bindScrollEvt(this, '> ul', DEBOUNCE_TIMES.PAGINATION_DEBOUNCE_TIME);\n }\n }\n\n this.isDataChanged = false;\n }\n\n private setupHandlers() {\n this.listItems.changes.subscribe(listItems => {\n this.onListRender(listItems);\n this.cdRef.detectChanges();\n });\n // handle click event in capturing phase.\n this.nativeElement.querySelector('ul.app-livelist-container').addEventListener('click', ($event) => {\n let target = $($event.target).closest('.app-list-item');\n // Recursively find the current list item\n while (target.get(0) && (target.closest('ul.app-livelist-container').get(0) !== $event.currentTarget)) {\n target = target.parent().closest('.app-list-item');\n }\n this.triggerListItemSelection(target, $event);\n }, true);\n }\n\n // Triggers on drag start while reordering.\n private onReorderStart(evt, ui) {\n ui.placeholder.height(ui.item.height());\n this.$ulEle.data('oldIndex', ui.item.index());\n }\n\n // Triggers during sorting\n private onSort(evt, ui) {\n // In case of infinite scroll, when the element doesn't have scroll enabled\n // on dragging the element to last item's position manually trigger loading of next items\n if (this.infScroll) {\n const lastItemOffset = this.$ulEle.find(`[listitemindex=${this.fieldDefs.length - 1}]`).offset();\n if (lastItemOffset && lastItemOffset.top < ui.offset.top) {\n this.paginationService.bindScrollEvt(this, '> ul', DEBOUNCE_TIMES.PAGINATION_DEBOUNCE_TIME);\n this.debouncedFetchNextDatasetOnScroll();\n }\n }\n }\n\n // Triggers after the sorting.\n private onUpdate(evt, ui, presentIndex?) {\n const data = this.fieldDefs;\n // If ui is not present then it is called from drag and drop using keyboard\n const newIndex = ui === undefined ? presentIndex : ui.item.index();\n const oldIndex = this.$ulEle.data('oldIndex');\n\n const minIndex = min([newIndex, oldIndex]);\n const maxIndex = max([newIndex, oldIndex]);\n\n const draggedItem = pullAt(data, oldIndex)[0];\n // Modify the data list only if we find a draggedItem\n if (draggedItem) {\n if (this.getConfiguredState() !== 'none') {\n this.statePersistence.removeWidgetState(this, 'selectedItem');\n }\n\n this.reorderProps.minIndex = min([minIndex, this.reorderProps.minIndex]);\n this.reorderProps.maxIndex = max([maxIndex, this.reorderProps.maxIndex]);\n\n data.splice(newIndex, 0, draggedItem);\n\n this.cdRef.markForCheck();\n this.cdRef.detectChanges();\n const $changedItem = {\n oldIndex: oldIndex,\n newIndex: newIndex,\n item: data[newIndex]\n };\n this.invokeEventCallback('reorder', {$event: evt, $data: data, $changedItem});\n this.$ulEle.removeData('oldIndex');\n }\n }\n\n // configures reordering the list items.\n private configureDnD() {\n let appendTo;\n const modalEl = $(document).find('.modal');\n if (this.getAttr('height')) { // when height is applied to the list, append should be the ul's parent as scroll is applied to the parent\n appendTo = 'parent';\n } else if (modalEl.length) { // In case of dialog, appendTo should be the modal ele\n appendTo = modalEl[modalEl.length - 1];\n } else { // As default append to should be body\n appendTo = 'body';\n }\n\n const options = isMobileApp() ? {} : {\n appendTo: appendTo,\n };\n\n const $el = $(this.nativeElement);\n this.$ulEle = $el.find('.app-livelist-container');\n\n configureDnD(this.$ulEle, options, this.onReorderStart.bind(this), this.onUpdate.bind(this), this.onSort.bind(this));\n\n this.$ulEle.droppable({'accept': '.app-list-item'});\n\n if (isMobileApp()) {\n this.$ulEle.sortable('disable');\n this.$ulEle.on('touchstart', function (event) {\n let self = this;\n if (!self.touching) {\n if (self.touched) {\n clearTimeout(self.touched);\n }\n setTimeout(() => {\n //Prevent context menu on mobile (IOS/ANDROID)\n if (event.cancelable) {\n event.preventDefault();\n }\n }, 50);\n self.touched = setTimeout(() => {\n $(event.currentTarget).addClass('no-selection');\n //Enable draggable\n $(event.currentTarget).sortable('enable');\n\n //Set internal flag\n self.touching = true;\n\n //trigger touchstart again to enable draggable through touch punch\n $(self).trigger(event);\n\n //Choose preferred duration for taphold\n }, 350);\n }\n }).on('touchend', function (event) {\n this.touching = false;\n $(event.currentTarget).removeClass('no-selection');\n\n //Disable draggable to enable default behaviour\n $(event.currentTarget).sortable('disable');\n\n clearTimeout(this.touched);\n }).on('touchmove', function () {\n clearTimeout(this.touched);\n });\n }\n\n }\n\n // returns true if the selection limit is reached.\n private checkSelectionLimit(count: number) {\n return (!this.selectionlimit || count < this.selectionlimit);\n }\n\n // returns listitem reference by index value.\n private getListItemByIndex(index: number): ListItemDirective {\n return this.listItems.toArray()[index];\n }\n\n /**\n * return index of an (listItemDirective) in the listItem\n * @param {ListItemDirective} item\n * @returns {number}\n */\n private getListItemIndex(item: ListItemDirective) {\n return this.listItems.toArray().indexOf(item);\n }\n\n /**\n * Returns ListItem Reference based on the input provided.\n * @param val: index | model of the list item.\n * @returns {ListItemDirective}\n */\n private getItemRefByIndexOrModel(val: any): ListItemDirective {\n let listItem: ListItemDirective;\n if (isNumber(val)) {\n listItem = this.getListItemByIndex(val);\n } else {\n listItem = this.getListItemByModel(val);\n }\n return listItem;\n }\n\n private beforePaginationChange($event, $index) {\n this.invokeEventCallback('paginationchange', {$event, $index});\n }\n\n trackByFn($index: number) {\n return $index; // Return a unique identifier for each item\n }\n\n // Invoke the datasource variable by default when pulltorefresh event is not specified.\n private subscribeToPullToRefresh() {\n this._listenerDestroyers.push(this.app.subscribe('pulltorefresh', () => {\n if (this.datasource && this.datasource.listRecords) {\n this.datasource.listRecords();\n }\n }));\n }\n\n private setUpCUDHandlers() {\n const $addItem = document.getElementsByClassName(\"add-list-item\")[0];\n if ($addItem) {\n // Triggered on click of add action\n $addItem.addEventListener('click', evt => {\n this.create();\n });\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { WmComponentsModule } from '@wm/components/base';\nimport { PaginationModule } from '@wm/components/data/pagination';\n\nimport { ListComponent } from './list.component';\nimport { ListItemDirective } from './list-item.directive';\n\nconst components = [\n ListComponent,\n ListItemDirective\n];\n\n@NgModule({\n imports: [\n CommonModule,\n PaginationModule,\n WmComponentsModule\n ],\n declarations: [...components],\n exports: [...components]\n})\nexport class ListModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2.ListComponent"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/data/list/src/list.props.ts","../../../../../projects/components/widgets/data/list/src/list-item.directive.ts","../../../../../projects/components/widgets/data/list/src/list.component.html","../../../../../projects/components/widgets/data/list/src/list.component.ts","../../../../../projects/components/widgets/data/list/src/index.ts"],"sourcesContent":["import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-list',\n new Map(\n [\n ['boundarylinks', {value: false, ...PROP_BOOLEAN}],\n ['class', PROP_STRING],\n ['collapsible', PROP_BOOLEAN],\n ['dateformat', PROP_STRING],\n ['dataset', PROP_ANY],\n ['datasource', PROP_ANY],\n ['direction', {value: 'vertical', ...PROP_STRING}],\n ['directionlinks', {value: true, ...PROP_BOOLEAN}],\n ['disableitem', PROP_BOOLEAN],\n ['enablereorder', PROP_BOOLEAN],\n ['forceellipses', {value: true, ...PROP_BOOLEAN}],\n ['groupby', PROP_STRING],\n ['iconclass', PROP_STRING],\n ['itemclass', {value: '', ...PROP_STRING}],\n ['itemsperrow', PROP_STRING],\n ['listclass', {value: 'list-group', ...PROP_STRING}],\n ['multiselect', PROP_BOOLEAN],\n ['loadingdatamsg', {value : 'Loading...', ...PROP_STRING}],\n ['loadingicon', {value : 'fa fa-circle-o-notch', ...PROP_STRING}],\n ['match', PROP_STRING],\n ['maxsize', {value: 5, ...PROP_NUMBER}],\n ['name', PROP_STRING],\n ['navigation', PROP_STRING],\n ['navigationalign', {value: 'left', ...PROP_STRING}],\n ['nodatamessage', {value : 'No data found', ...PROP_STRING}],\n ['ondemandmessage', {value : 'Load More', ...PROP_STRING}],\n ['orderby', PROP_STRING],\n ['paginationclass', PROP_STRING],\n ['pagesize', PROP_NUMBER],\n ['pulltorefresh', {value: false, ...PROP_BOOLEAN}],\n ['selectfirstitem', PROP_BOOLEAN],\n ['selectionlimit', PROP_NUMBER],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['showcount', PROP_BOOLEAN],\n ['showrecordcount', PROP_BOOLEAN],\n ['statehandler', {value: 'none', ...PROP_STRING}],\n ['subheading', PROP_STRING],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['title', PROP_STRING]\n ]\n )\n );\n};\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n Injector,\n Input,\n OnInit,\n Optional,\n ViewContainerRef\n} from '@angular/core';\n\nimport {Observable, Subject} from 'rxjs';\n\nimport {$watch, App} from '@wm/core';\n\nimport {ListComponent} from './list.component';\nimport {widgetIdGenerator} from \"@wm/components/base\";\nimport {BaseFormComponent} from \"@wm/components/input\";\n\ndeclare const $;\n\n@Directive({\n standalone: true,\n selector: '[wmListItem]',\n exportAs: 'listItemRef'\n})\nexport class ListItemDirective implements OnInit, AfterViewInit {\n\n public item;\n public context;\n public destroy: Subject<any> = new Subject();\n public destroy$: Observable<any> = this.destroy.asObservable();\n public nativeElement: HTMLElement;\n public readonly listComponent: ListComponent;\n\n private itemClass = '';\n private _currentItemWidgets = {};\n private viewContainerRef: ViewContainerRef;\n /**\n * To avoid re-rendering of widget, passing unique id as contextKey to createCustomInjector\n */\n protected trackId = widgetIdGenerator.nextUid();\n\n @HostBinding('class.active') isActive = false;\n @HostBinding('class.disable-item') disableItem = false;\n\n @HostListener('focus')\n onFocus() {\n // maintains which element is focused/selected most recently.\n this.listComponent.lastSelectedItem = this;\n }\n\n get $index() {\n return this.context.$index;\n }\n\n get $even() {\n return this.context.even;\n }\n\n get $odd() {\n return this.context.odd;\n }\n\n get $first() {\n return this.context.first;\n }\n\n get $last() {\n return this.context.last;\n }\n\n get currentItemWidgets () {\n const componentElements = Array.from(this.nativeElement.querySelectorAll('[widget-id]'));\n return Object.assign(this._currentItemWidgets, componentElements.reduce((result, comp: any) => {\n result[comp.widget.name] = comp.widget;\n return result;\n }, {}));\n }\n\n @Input() set wmListItem(val) {\n this.item = val;\n }\n\n constructor(private inj: Injector, elRef: ElementRef, private app: App, @Optional() public _viewParent: ListComponent) {\n this.viewContainerRef = inj.get(ViewContainerRef);\n this.nativeElement = elRef.nativeElement;\n this.listComponent = _viewParent;\n // this.context = (<NgForOfContext<ListItemDirective>>(<any>inj).view.context);\n this.context = (this.inj as any)._lView[8];\n //this.context = (this.viewContainerRef as any)._hostLView.find(t => t && !!t.$implicit);\n this.itemClassWatcher(this.listComponent);\n this.disableItemWatcher(this.listComponent);\n $(this.nativeElement).data('listItemContext', this);\n }\n\n private registerWatch(expression: string, callback: Function) {\n // Removing ngFor context as the same properties are availble on listitem scope.\n // passing viewparent context for accessing varibales and widgets.\n //[CSP]: expression will be generated in the component as e.g. 'item.className'\n this.destroy$.subscribe($watch(expression, (this.listComponent as any).viewParent, this, callback));\n }\n\n private itemClassWatcher(listComponent: ListComponent) {\n if (listComponent.binditemclass) {\n this.registerWatch(listComponent.binditemclass, nv => this.itemClass = nv || '');\n } else {\n this.itemClass = listComponent.itemclass;\n }\n }\n\n private disableItemWatcher($list: ListComponent) {\n if ($list.binddisableitem) {\n this.registerWatch($list.binddisableitem, nv => this.disableItem = nv || false);\n } else {\n this.disableItem = $list.disableitem || false;\n }\n }\n\n private setUpCUDHandlers() {\n const $editItem = this.nativeElement.querySelector('.edit-list-item');\n const $deleteItem = this.nativeElement.querySelector('.delete-list-item');\n\n if ($editItem) {\n // Triggered on click of edit action\n $editItem.addEventListener('click', evt => {\n this.listComponent.update();\n });\n }\n\n if ($deleteItem) {\n // Triggered on click of delete action\n $deleteItem.addEventListener('click', evt => {\n this.listComponent.delete();\n });\n }\n }\n ngOnInit() {\n if (this.listComponent.mouseEnterCB) {\n this.nativeElement.addEventListener('mouseenter', ($event) => {\n this.listComponent.invokeEventCallback('mouseenter', {widget: this, $event});\n });\n }\n if (this.listComponent.mouseLeaveCB) {\n this.nativeElement.addEventListener('mouseleave', ($event) => {\n this.listComponent.invokeEventCallback('mouseleave', {widget: this, $event});\n });\n }\n // adding item attribute on every list item\n $(this.nativeElement).attr('listitemindex', this.$index);\n }\n\n ngAfterViewInit() {\n this.setUpCUDHandlers();\n const componentElements = Array.from(this.nativeElement.querySelectorAll('[widget-id]'));\n componentElements.forEach((component: any) => {\n if(component.widget instanceof BaseFormComponent) {\n if(!component.widget.$attrs.get('datavaluesource.bind')) {\n component.widget.datavaluesource = this.listComponent['datasource'];\n }\n }\n });\n }\n}\n","@if (title || subheading || iconclass) {\n <div class=\"panel-heading\">\n <h3 class=\"panel-title\">\n <div class=\"pull-left\">\n <i class=\"app-icon panel-icon {{iconclass}}\" aria-hidden=\"true\" [hidden]=\"!iconclass\"></i>\n </div>\n <div class=\"pull-left\">\n <div class=\"heading\" [innerHTML]=\"title\"></div>\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n </div>\n </h3>\n </div>\n}\n\n@if (navigation === 'Inline' && !noDataFound) {\n <div class=\"app-datanavigator\" [attr.aria-disabled]=\"dataNavigator.isDisablePrevious\" aria-label=\"Page navigation\">\n <ul class=\"pager\">\n <li class=\"previous\" [ngClass]=\"{'disabled': (dataNavigator ? dataNavigator.isDisablePrevious : true)}\">\n <a href=\"javascript:void(0);\" (click)=\"dataNavigator.navigatePage('prev', $event)\"\n [attr.aria-disabled]=\"dataNavigator.isDisablePrevious\">\n <i class=\"wi wi-chevron-left\" aria-hidden=\"true\"></i>\n <span class=\"sr-only\">Go to Previous page {{dataNavigator.isDisablePrevious ? ', Disabled' : ''}}</span>\n </a>\n </li>\n </ul>\n </div>\n}\n@if (navigation === 'Inline' && !noDataFound) {\n <div aria-live=\"polite\" aria-atomic=\"true\" class=\"sr-only\"> {{'Page ' + dataNavigator.dn.currentPage + ' of ' + dataNavigator.pageCount }}</div>\n}\n\n<div>\n @if (enablereorder) {\n <div id={{titleId}} class=\"sr-only\">\n Press space bar to toggle drag drop mode, use arrow keys to move selected elements.\n </div>\n }\n\n @if (listItems && enablereorder && currentIndex) {\n <div aria-live=\"assertive\" class=\"sr-only\" >\n {{ariaText + currentIndex + ' of ' + listItems.length}}\n </div>\n }\n</div>\n\n<ul [attr.tabindex]=\"tabindex\" class=\"app-livelist-container clearfix {{direction === 'horizontal' ? 'app-horizontal-list': ''}} {{listclass}}\" role=\"list\"\n (keydown.enter)=\"handleKeyDown($event, 'select')\"\n\n (keydown.space)=\"handleKeyDown($event, 'space')\"\n\n (keydown.arrowup)=\"handleKeyDown($event, 'focusPrev')\"\n (keydown.arrowdown)=\"handleKeyDown($event, 'focusNext')\"\n (keydown.arrowleft)=\"handleKeyDown($event, 'focusPrev')\"\n (keydown.arrowright)=\"handleKeyDown($event, 'focusNext')\"\n\n (keydown.shift.arrowup)=\"handleKeyDown($event, 'selectPrev')\"\n (keydown.shift.arrowdown)=\"handleKeyDown($event, 'selectNext')\"\n (keydown.shift.arrowleft)=\"handleKeyDown($event, 'selectPrev')\"\n (keydown.shift.arrowright)=\"handleKeyDown($event, 'selectNext')\"\n [hidden]=\"noDataFound && !variableInflight\"\n >\n @if (!groupby) {\n @for (item of fieldDefs; track item) {\n <li class=\"app-list-item {{direction === 'horizontal' ? '' : itemsPerRowClass}}\" [ngClass]=\"listItemRef.itemClass\"\n [wmListItem]=\"item\"\n #listItemRef=\"listItemRef\"\n [attr.tabindex]=\"tabindex\"\n role=\"listitem\">\n <ng-container [ngTemplateOutlet]=\"listTemplate\"\n [ngTemplateOutletInjector]=\"createCustomInjector('falt_' + listItemRef.trackId, {item: item, $index: $index, itemRef: listItemRef, $first: $first, $last: $last, currentItemWidgets: listItemRef.currentItemWidgets})\"\n [ngTemplateOutletContext]=\"{item: item, $index: $index, itemRef: listItemRef, $first: $first, $last: $last, currentItemWidgets: listItemRef.currentItemWidgets}\"></ng-container>\n </li>\n }\n } @else {\n @for (groupObj of groupedData; track groupObj; let groupIndex = $index) {\n <li class=\"app-list-item-group clearfix\">\n <ul [attr.tabindex]=\"tabindex\" class=\"list-group item-group\" [ngClass]=\"listclass\">\n <li class=\"app-list-item-header list-item list-group-header\" (click)=\"handleHeaderClick($event)\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4>{{groupObj.key}}\n <div class=\"header-action\">\n @if (collapsible) {\n <i class=\"app-icon wi action wi-chevron-up\"></i>\n }\n @if (showcount) {\n <span class=\"label label-default\">{{groupObj.data.length}}</span>\n }\n </div>\n </h4>\n </li>\n <li class=\"list-group-container\">\n <ul class=\"list-group clearfix {{direction === 'horizontal' ? 'app-horizontal-list': ''}}\">\n @for (item of groupObj.data; track trackByFn($index, item)) {\n <li [attr.tabindex]=\"tabindex\"\n class=\"app-list-item group-list-item {{itemsPerRowClass}}\"\n [ngClass]=\"listItemRef.itemClass\"\n [wmListItem]=\"item\" #listItemRef=\"listItemRef\">\n <ng-container [ngTemplateOutlet]=\"listTemplate\"\n [ngTemplateOutletInjector]=\"createCustomInjector('group_' + listItemRef.trackId, {item: item, $index: $index, itemRef: listItemRef, $first: $first, $last: $last, currentItemWidgets: listItemRef.currentItemWidgets})\"\n [ngTemplateOutletContext]=\"{item: item, $index: $index, itemRef: listItemRef, $first: $first, $last: $last, currentItemWidgets: listItemRef.currentItemWidgets}\"></ng-container>\n </li>\n }\n </ul>\n </li>\n </ul>\n </li>\n }\n }\n <ng-container [ngTemplateOutlet]=\"listLeftActionTemplate\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"listRightActionTemplate\"></ng-container>\n</ul>\n\n@if (noDataFound && !variableInflight) {\n <div class=\"no-data-msg\" [textContent]=\"nodatamessage\"></div>\n}\n\n@if (variableInflight && !pulltorefresh) {\n <div class=\"loading-data-msg\">\n <span>\n <i class=\"app-icon panel-icon fa-spin\" aria-hidden=\"true\" [ngClass]=\"loadingicon\"></i>\n <span class=\"sr-only\">Loading</span>\n <span class=\"loading-text\" [textContent]=\"loadingdatamsg\"></span>\n </span>\n </div>\n}\n\n@if (navigation === 'Inline' && !noDataFound) {\n <div class=\"app-datanavigator\" [attr.aria-disabled]=\"dataNavigator.isDisableNext\">\n <ul class=\"pager\">\n <li class=\"next\" [ngClass]=\"{'disabled': (dataNavigator ? dataNavigator.isDisableNext : true)}\">\n <a href=\"javascript:void(0);\" (click)=\"dataNavigator.navigatePage('next', $event)\"\n [attr.aria-disabled]=\"dataNavigator.isDisableNext\">\n <i class=\"wi wi-chevron-right\" aria-hidden=\"true\"></i>\n <span class=\"sr-only\">Go to Next page {{dataNavigator.isDisableNext ? ', Disabled' : ''}}</span>\n </a>\n </li>\n </ul>\n </div>\n}\n\n@if (navigation !== 'None') {\n <div class=\"panel-footer\" [hidden]=\"!showNavigation || (onDemandLoad && dataNavigator.isDisableNext) || (dataNavigator.dataSize <= pagesize) || (!dataNavigator.dataSize && !dataNavigator.datasource?.pagination?.next)\">\n <nav wmPagination\n navigationalign.bind=\"navigationalign\"\n navigation.bind=\"navControls\"\n showrecordcount.bind=\"showrecordcount\"\n maxsize.bind=\"maxsize\"\n boundarylinks.bind=\"boundarylinks\"\n forceellipses.bind=\"forceellipses\"\n directionlinks.bind=\"directionlinks\"\n show.bind=\"!onDemandLoad\"\n paginationchange.event=\"beforePaginationChange($event, $index)\"\n ></nav>\n @if (onDemandLoad) {\n <a href=\"javascript:void(0);\"\n (click)=\"dataNavigator.navigatePage('next', $event)\"\n class=\"app-button btn btn-block\"\n [ngClass]=\"paginationclass\"\n [textContent]=\"ondemandmessage\"\n ></a>\n }\n </div>\n}\n\n<!--This template will be displayed when groupby is specified-->\n","import { CommonModule } from '@angular/common';\nimport { WmComponentsModule } from \"@wm/components/base\";\nimport {\n AfterViewInit,\n Attribute,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef, Inject,\n Injector,\n NgZone,\n OnDestroy,\n OnInit,\n Optional,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewChildren\n} from '@angular/core';\n\nimport {Subscription} from 'rxjs';\n\nimport {\n $appDigest,\n $invokeWatchers,\n App,\n AppDefaults,\n DataSource,\n getClonedObject,\n isDataSourceEqual,\n isDefined,\n isMobile,\n isObject,\n noop,\n switchClass,\n StatePersistence,\n PaginationService,\n setListClass,\n generateGUId\n} from '@wm/core';\nimport {\n APPLY_STYLES_TYPE,\n configureDnD,\n DEBOUNCE_TIMES,\n getOrderedDataset,\n groupData,\n handleHeaderClick,\n NAVIGATION_TYPE,\n unsupportedStatePersistenceTypes,\n provideAsWidgetRef,\n StylableComponent,\n styler,\n ToDatePipe,\n toggleAllHeaders,\n WidgetRef,\n extractDataSourceName\n} from '@wm/components/base';\nimport {PaginationComponent} from '@wm/components/data/pagination';\nimport {ButtonComponent} from '@wm/components/input';\n\nimport {registerProps} from './list.props';\nimport {ListItemDirective} from './list-item.directive';\nimport {ListAnimator} from './list.animator';\nimport {\n clone,\n cloneDeep,\n forEach,\n get, has,\n includes,\n isArray,\n isEmpty,\n isEqual,\n isNumber,\n isString,\n isUndefined,\n last, max, min, pullAllWith, pullAt, remove, some, toNumber\n} from \"lodash-es\";\n\ndeclare const $;\n\nconst DEFAULT_CLS = 'app-livelist app-panel';\nconst WIDGET_CONFIG = {widgetType: 'wm-list', hostClass: DEFAULT_CLS};\n\n@Component({\n standalone: true,\n imports: [CommonModule, WmComponentsModule, PaginationComponent, ListItemDirective],\n selector: 'div[wmList]',\n templateUrl: './list.component.html',\n providers: [\n provideAsWidgetRef(ListComponent)\n ]\n})\nexport class ListComponent extends StylableComponent implements OnInit, AfterViewInit, OnDestroy {\n static initializeProps = registerProps();\n\n @ContentChild('listTemplate') listTemplate: TemplateRef<ElementRef>;\n\n @ContentChild('listLeftActionTemplate') listLeftActionTemplate: TemplateRef<ElementRef>;\n @ContentChild('listRightActionTemplate') listRightActionTemplate: TemplateRef<ElementRef>;\n @ContentChildren(ButtonComponent) btnComponents;\n\n @ViewChild(PaginationComponent) dataNavigator;\n @ViewChildren(ListItemDirective) listItems: QueryList<ListItemDirective>;\n public noDataFound: boolean;\n public lastSelectedItem: ListItemDirective;\n public fieldDefs: Array<any>;\n public disableitem;\n public navigation: string;\n public navigationalign: string;\n public pagesize: number;\n public dataset: any;\n public multiselect: boolean;\n public selectfirstitem: boolean;\n public orderby: string;\n public loadingicon: string;\n public paginationclass: string;\n public ondemandmessage: string;\n public loadingdatamsg: string;\n public selectionlimit: number;\n public infScroll: boolean;\n public enablereorder: boolean;\n public itemsperrow: string;\n public itemclass: string;\n public selectedItemWidgets: Array<WidgetRef> | WidgetRef;\n public variableInflight;\n public name;\n public currentPage;\n public direction;\n public tabindex;\n public handleHeaderClick: Function;\n public toggleAllHeaders: void;\n public groupby: string;\n public collapsible: string;\n public datePipe: ToDatePipe;\n public binditemclass: string;\n public binddisableitem: string;\n public binddataset: string;\n public mouseEnterCB: string;\n public mouseLeaveCB: string;\n public pulltorefresh: boolean;\n public title: string;\n public subheading: string;\n public iconclass: string;\n public listclass: any;\n public statehandler: any;\n public currentIndex: number;\n public titleId: string;\n _isDependent;\n private itemsPerRowClass: string;\n private firstSelectedItem: ListItemDirective;\n private navigatorMaxResultWatch: Subscription;\n private navigatorResultWatch: Subscription;\n private navControls: string;\n private onDemandLoad: boolean;\n private _items: Array<any>;\n private dataNavigatorWatched: boolean;\n private datasource: any;\n private showNavigation: boolean;\n private reorderProps: any;\n private app: any;\n private appDefaults: any;\n private ngZone: NgZone;\n private statePersistence: StatePersistence;\n private paginationService: PaginationService;\n private binddatasource: string;\n private match: string;\n private dateformat: string;\n private groupedData: any;\n private cdRef: ChangeDetectorRef;\n private promiseResolverFn: Function;\n private propsInitPromise: Promise<any>;\n private $ulEle: any;\n private _listAnimator: ListAnimator;\n private _listenerDestroyers: Array<any>;\n private debouncedFetchNextDatasetOnScroll: Function;\n private isDataChanged: boolean;\n private isListElementMovable: boolean;\n private ariaText: String;\n private _pageLoad;\n private _selectedItemsExist;\n\n private touching;\n private touched;\n\n constructor(\n inj: Injector,\n cdRef: ChangeDetectorRef,\n datePipe: ToDatePipe,\n app: App,\n appDefaults: AppDefaults,\n ngZone: NgZone,\n @Attribute('itemclass.bind') binditemclass: string,\n @Attribute('disableitem.bind') binddisableitem: string,\n @Attribute('dataset.bind') binddataset: string,\n @Attribute('datasource.bind') binddatasource: string,\n @Attribute('mouseenter.event') mouseEnterCB: string,\n @Attribute('mouseleave.event') mouseLeaveCB: string,\n statePersistence: StatePersistence,\n paginationService: PaginationService,\n @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n ) {\n let resolveFn: Function = noop;\n const propsInitPromise = new Promise(res => resolveFn = res);\n super(inj, WIDGET_CONFIG, explicitContext, propsInitPromise);\n this.propsInitPromise = propsInitPromise;\n this.promiseResolverFn = resolveFn;\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.SHELL);\n this.cdRef = cdRef;\n this.ngZone = ngZone;\n this.datePipe = datePipe;\n this.statePersistence = statePersistence;\n this.paginationService = paginationService;\n this._pageLoad = true;\n\n this.binditemclass = binditemclass;\n this.binddisableitem = binddisableitem;\n this.binddataset = binddataset;\n this.mouseEnterCB = mouseEnterCB;\n this.mouseLeaveCB = mouseLeaveCB;\n this.binddatasource = binddatasource;\n\n this.app = app;\n this.appDefaults = appDefaults;\n this.variableInflight = false;\n\n this.noDataFound = !binddataset;\n this.titleId = 'wmlist-' + generateGUId();\n\n // Updates pagination, filter, sort etc options for service and crud variables\n this._listenerDestroyers = [\n this.app.subscribe('check-state-persistence-options', options => {\n let dataSourceName = get(this.datasource, 'name');\n // in Prefabs, this.datasource is not resolved at the time of variable invocation, so additional check is required.\n if (!dataSourceName) {\n dataSourceName = extractDataSourceName(this.binddatasource);\n }\n if (get(options, 'variable.name') !== dataSourceName) {\n return;\n }\n this.handleStateParams(options);\n }),\n // Show loading status based on the variable life cycle\n this.app.subscribe('toggle-variable-state', this.handleLoading.bind(this)),\n this.app.subscribe('setup-cud-listener', param => {\n if (this.nativeElement.getAttribute('name') !== param) {\n return;\n }\n this._isDependent = true;\n })\n ];\n }\n\n public get selecteditem() {\n if (this.multiselect) {\n return getClonedObject(this._items);\n }\n if (isEmpty(this._items)) {\n return {};\n }\n return getClonedObject(this._items[0]);\n }\n\n public set selecteditem(items) {\n this._items.length = 0;\n this.deselectListItems();\n\n if (isArray(items)) {\n items.forEach(item => this.selectItem(item));\n } else {\n this.selectItem(items);\n }\n $appDigest();\n }\n\n /**\n * Returns list of widgets present on list item by considering name and index of the widget.\n * If we did'nt pass index, it returns array of all the widgets which are matching to widget name\n * @param widgteName: Name of the widget\n * @param index: Index of the widget\n */\n public getWidgets(widgteName: string, index?: number) {\n let $target;\n const retVal = [];\n\n if (!widgteName) {\n return;\n }\n\n if (!isDefined(index)) {\n forEach(this.listItems.toArray(), (el) => {\n $target = get(el.currentItemWidgets, widgteName);\n if ($target) {\n retVal.push($target);\n }\n });\n\n return retVal;\n }\n index = +index || 0;\n\n $target = get(this.listItems.toArray(), index);\n\n if ($target) {\n return [get($target.currentItemWidgets, widgteName)];\n }\n }\n\n // returns listitem reference by index value. This refers to the same method getListItemByIndex.\n public getItem(index: number) {\n return this.getListItemByIndex(index);\n }\n\n /**\n * Returns index of listItem(listItemDirective / listItemObject)\n * If item is a directive, index is fetched from listItems\n * If item is an object, index is fetched from fieldDefs\n */\n public getIndex(item: any) {\n if (item instanceof ListItemDirective) {\n return this.getListItemIndex(item);\n } else if (item) {\n return this.fieldDefs.findIndex((obj) => isEqual(obj, item));\n }\n }\n\n create() {\n if (this._isDependent) {\n this.triggerWMEvent('insert');\n }\n }\n\n editRow(item?) {\n if (this._isDependent) {\n let listItem;\n if (item) {\n listItem = this.getItemRefByIndexOrModel(item).item;\n }\n this.triggerWMEvent('update', listItem);\n }\n }\n\n update(item?) {\n this.editRow(item);\n }\n\n deleteRow(item?) {\n if (this._isDependent) {\n let listItem;\n if (item) {\n listItem = this.getItemRefByIndexOrModel(item).item;\n }\n this.triggerWMEvent('delete', listItem);\n }\n }\n\n delete(item?) {\n this.deleteRow(item);\n }\n\n handleLoading(data) {\n const dataSource = this.datasource;\n if (dataSource && dataSource.execute(DataSource.Operation.IS_API_AWARE) && isDataSourceEqual(data.variable, dataSource)) {\n this.ngZone.run(() => {\n this.handleStateParams(data);\n this.variableInflight = data.active;\n // Fix for [WMS-23772] Update nodatafound flag once the response is recieved from the server\n const totalEle = data.data?.pagination?.totalElements;\n if (!isUndefined(totalEle)) {\n this.noDataFound = totalEle === 0 ? true : false;\n } else { // totalelements is undefined\n this.noDataFound = isEmpty(data.data?.data);\n }\n });\n }\n }\n\n public triggerListItemSelection($el: JQuery<HTMLElement>, $event: Event) {\n if ($el && $el[0]) {\n const listItemContext = $el.data('listItemContext');\n // Trigger click event only if the list item is from the corresponding list.\n if (listItemContext.listComponent === this) {\n this.onItemClick($event, listItemContext);\n }\n }\n }\n\n // this method is called form other data widgets like table.\n public execute(operation, options) {\n if ([DataSource.Operation.IS_API_AWARE, DataSource.Operation.IS_PAGEABLE, DataSource.Operation.SUPPORTS_SERVER_FILTER].includes(operation)) {\n return false;\n }\n return this.datasource.execute(operation, options);\n }\n\n public handleKeyDown($event, action: string) {\n $event.stopPropagation();\n if ($event.keyCode !== 13 && $event.keyCode !== 9 && !(($event.target.classList.contains('form-control') || $event.target.classList.contains('note-editable')) && $event.keyCode === 32)) {\n $event.preventDefault();\n }\n\n const listItems: QueryList<ListItemDirective> = this.listItems;\n\n let presentIndex: number = this.getListItemIndex(this.lastSelectedItem);\n\n if (this.multiselect) {\n const firstIndex: number = this.getListItemIndex(this.firstSelectedItem);\n const selectCount: number = isArray(this.selecteditem) ? this.selecteditem.length : (isObject(this.selecteditem) ? 1 : 0);\n if (action === 'selectPrev') {\n if (presentIndex > 0) {\n if ((presentIndex <= firstIndex) && this.checkSelectionLimit(selectCount)) {\n this.lastSelectedItem = this.getListItemByIndex(presentIndex - 1);\n this.toggleListItemSelection(this.lastSelectedItem);\n } else if (presentIndex > firstIndex) {\n this.toggleListItemSelection(this.getListItemByIndex(presentIndex));\n this.lastSelectedItem = this.getListItemByIndex(presentIndex - 1);\n } else {\n this.invokeEventCallback('selectionlimitexceed', {$event});\n }\n }\n } else if (action === 'selectNext') {\n if (presentIndex < listItems.length - 1) {\n if ((presentIndex >= firstIndex) && this.checkSelectionLimit(selectCount)) {\n this.lastSelectedItem = this.getListItemByIndex(presentIndex + 1);\n this.toggleListItemSelection(this.lastSelectedItem);\n } else if (presentIndex < firstIndex) {\n this.toggleListItemSelection(this.getListItemByIndex(presentIndex));\n this.lastSelectedItem = this.getListItemByIndex(presentIndex + 1);\n } else {\n this.invokeEventCallback('selectionlimitexceed', {$event});\n }\n }\n }\n }\n if (action === 'focusPrev') {\n if (this.isListElementMovable) {\n presentIndex = presentIndex <= 0 ? 0 : (presentIndex);\n if (presentIndex === 0) {\n return;\n }\n\n this.lastSelectedItem = this.getListItemByIndex(presentIndex);\n const prevElt = this.getListItemByIndex(presentIndex - 1);\n prevElt.nativeElement.before(this.lastSelectedItem.nativeElement);\n this.lastSelectedItem.nativeElement.focus();\n this.statePersistence.removeWidgetState(this, 'selectedItem');\n const arr = this.listItems.toArray();\n [arr[presentIndex - 1], arr[presentIndex]] = [arr[presentIndex], arr[presentIndex - 1]];\n this.listItems.reset(arr);\n this.currentIndex = presentIndex;\n this.ariaText = \"selected \";\n } else {\n presentIndex = presentIndex <= 0 ? 0 : (presentIndex - 1);\n this.lastSelectedItem = this.getListItemByIndex(presentIndex);\n this.lastSelectedItem.nativeElement.focus();\n this.currentIndex = presentIndex + 1;\n this.ariaText = \"selected \";\n }\n } else if (action === 'focusNext') {\n if (this.isListElementMovable) {\n presentIndex = presentIndex < (listItems.length - 1) ? (presentIndex) : (listItems.length - 1);\n if (presentIndex === this.listItems.length - 1) {\n return;\n }\n\n this.lastSelectedItem = this.getListItemByIndex(presentIndex);\n const nextElt = this.getListItemByIndex(presentIndex + 1);\n nextElt.nativeElement.after(this.lastSelectedItem.nativeElement);\n this.lastSelectedItem.nativeElement.focus();\n this.statePersistence.removeWidgetState(this, 'selectedItem');\n const arr = this.listItems.toArray();\n [arr[presentIndex], arr[presentIndex + 1]] = [arr[presentIndex + 1], arr[presentIndex]];\n this.listItems.reset(arr);\n this.currentIndex = presentIndex + 2;\n this.ariaText = \"selected \";\n } else {\n presentIndex = presentIndex < (listItems.length - 1) ? (presentIndex + 1) : (listItems.length - 1);\n this.lastSelectedItem = this.getListItemByIndex(presentIndex);\n this.lastSelectedItem.nativeElement.focus();\n this.currentIndex = presentIndex + 1;\n this.ariaText = \"selected \";\n }\n } else if (action === 'select') {\n // if the enter click is pressed on the item which is not the last selected item, the find the item from which the event is originated.\n if (presentIndex === -1 || !$($event.target).closest(this.lastSelectedItem.nativeElement)) {\n const $li = $($event.target).closest('li.app-list-item');\n const $ul = $li.closest('ul.app-livelist-container');\n presentIndex = $ul.find('li.app-list-item').index($li);\n }\n this.onItemClick($event, this.getListItemByIndex(presentIndex));\n } else if (action === 'space') {\n if (!this.enablereorder) {\n return;\n }\n this.isListElementMovable = !this.isListElementMovable;\n this.onItemClick($event, this.getListItemByIndex(presentIndex));\n this.currentIndex = presentIndex + 1;\n if (this.isListElementMovable) {\n this.ariaText = `Item ${this.currentIndex} grabbed, current position `;\n this.$ulEle.data('oldIndex', presentIndex);\n } else {\n this.ariaText = `Item ${this.currentIndex} dropped, final position `;\n this.onUpdate($event, undefined, presentIndex);\n }\n }\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'dataset') {\n if (!nv && this.binddatasource && !this.datasource) {\n return;\n }\n this.onDataSetChange(nv);\n } else if (key === 'datasource') {\n if (this.dataset) {\n this.onDataSetChange(this.dataset);\n }\n } else if (key === 'navigation') {\n // Support for older projects where navigation type was advanced instead of classic\n if (nv === 'Advanced') {\n this.navigation = 'Classic';\n return;\n }\n switchClass(this.nativeElement, nv, ov);\n this.onNavigationTypeChange(nv);\n if (this.dataNavigator) {\n this.dataNavigator.navigationClass = this.paginationclass;\n }\n } else if (key === 'itemsperrow') {\n setListClass(this);\n } else if (key === 'tabindex') {\n return;\n } else if (key === 'pulltorefresh' && nv) {\n this.app.notify('pullToRefresh:enable');\n this.subscribeToPullToRefresh();\n } else if (key === 'paginationclass') {\n if (this.dataNavigator) {\n // Adding setTimeout because in pagination component updateNavSize method is overriding navigationclass\n setTimeout(() => this.dataNavigator.navigationClass = nv);\n }\n } else if (key === 'pagesize') {\n this.dataNavigator.options = {\n maxResults: nv\n };\n this.dataNavigator.widget.maxResults = nv;\n this.dataNavigator.maxResults = nv;\n } else if (key === 'enablereorder') {\n if (nv && this.$ulEle) {\n this.$ulEle.attr('aria-describedby', this.titleId);\n this.configureDnD();\n this.$ulEle.sortable('enable');\n } else if (this.$ulEle && !nv) {\n this.$ulEle.removeAttr('aria-describedby');\n this.$ulEle.sortable('disable');\n }\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n public onItemClick(evt: any, $listItem: ListItemDirective) {\n let selectCount: number;\n\n if (!$listItem.disableItem) {\n this.firstSelectedItem = this.firstSelectedItem || $listItem;\n // Setting selectCount value based number of items selected.\n selectCount = isArray(this.selecteditem) ? this.selecteditem.length : (isObject(this.selecteditem) ? 1 : 0);\n\n // Handling multiselect for mobile device\n if (this.multiselect && isMobile()) {\n if (this.checkSelectionLimit(selectCount) || $listItem.isActive) {\n this.toggleListItemSelection($listItem);\n } else {\n this.invokeEventCallback('selectionlimitexceed', {$event: evt});\n }\n } else if ((evt.ctrlKey || evt.metaKey) && this.multiselect) {\n if (this.checkSelectionLimit(selectCount) || $listItem.isActive) {\n this.firstSelectedItem = this.lastSelectedItem = $listItem;\n this.toggleListItemSelection($listItem);\n } else {\n this.invokeEventCallback('selectionlimitexceed', {$event: evt});\n }\n } else if (evt.shiftKey && this.multiselect) {\n let first = $listItem.context.index;\n let last = this.firstSelectedItem.context.index;\n\n // if first is greater than last, then swap values\n if (first > last) {\n last = [first, first = last][0];\n }\n if (this.checkSelectionLimit(last - first)) {\n this.clearSelectedItems();\n this.listItems.forEach(($liItem: ListItemDirective) => {\n const index = $liItem.context.index;\n if (index >= first && index <= last) {\n this.toggleListItemSelection($liItem);\n }\n });\n this.lastSelectedItem = $listItem;\n } else {\n this.invokeEventCallback('selectionlimitexceed', {$event: evt});\n }\n\n } else {\n if (!$listItem.isActive || selectCount > 1) {\n this.clearSelectedItems();\n this.toggleListItemSelection($listItem);\n this.firstSelectedItem = this.lastSelectedItem = $listItem;\n }\n }\n $appDigest();\n }\n }\n\n // Empty the list content on clear\n public clear() {\n this.updateFieldDefs([]);\n }\n\n /**\n * deselects item in the list.\n * @param val: index | model of the list item.\n */\n public deselectItem(val: any) {\n const listItem = this.getItemRefByIndexOrModel(val);\n if (listItem && listItem.isActive) {\n this.toggleListItemSelection(listItem);\n }\n }\n\n /**\n * selects item in the list.\n * @param val: index | model of the list item.\n */\n public selectItem(val, statePersistenceTriggered?) {\n const listItem = this.getItemRefByIndexOrModel(val);\n if (!listItem) {\n return;\n }\n if (!listItem.isActive) {\n this.toggleListItemSelection(listItem, statePersistenceTriggered);\n }\n // focus the element.\n listItem.nativeElement.focus();\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.handleHeaderClick = noop;\n setTimeout(() => {\n this.debouncedFetchNextDatasetOnScroll = this.paginationService.debouncedFetchNextDatasetOnScroll(this.dataNavigator, DEBOUNCE_TIMES.PAGINATION_DEBOUNCE_TIME, this);\n }, 0);\n this._items = [];\n this.fieldDefs = [];\n this.reorderProps = {\n minIndex: null,\n maxIndex: null\n };\n }\n\n ngAfterViewInit() {\n this.promiseResolverFn();\n this.propsInitPromise.then(() => {\n super.ngAfterViewInit();\n this.setUpCUDHandlers();\n this.selectedItemWidgets = this.multiselect ? [] : {};\n var ele = $(this.nativeElement).find('.app-livelist-container');\n\n if (this.enablereorder && !this.groupby) {\n if (ele) {\n ele.attr('aria-describedby', this.titleId);\n }\n this.configureDnD();\n }\n if (!this.enablereorder) {\n if (ele) {\n ele.removeAttr('aria-describedby');\n }\n }\n if (this.groupby && this.collapsible) {\n this.handleHeaderClick = handleHeaderClick;\n this.toggleAllHeaders = toggleAllHeaders.bind(undefined, this);\n }\n setListClass(this);\n });\n this.setupHandlers();\n const $ul = this.nativeElement.querySelector('ul.app-livelist-container');\n styler($ul as HTMLElement, this, APPLY_STYLES_TYPE.SCROLLABLE_CONTAINER);\n if (this.enablereorder) {\n if ($ul) {\n $ul.setAttribute('aria-describedby', this.titleId);\n }\n }\n if (!this.enablereorder) {\n if ($ul) {\n $ul.removeAttribute('aria-describedby');\n }\n }\n }\n\n ngOnDestroy() {\n if (this._listAnimator && this._listAnimator.$btnSubscription) {\n this._listAnimator.$btnSubscription.unsubscribe();\n }\n this._listenerDestroyers.forEach(d => d && d());\n super.ngOnDestroy();\n }\n\n ngOnDetach() {\n super.ngOnDetach();\n this._pageLoad = true;\n }\n\n protected handleEvent(node: HTMLElement, eventName: string, eventCallback: Function, locals: any) {\n // tap and doubleTap events are not getting propagated.So, using mouse events instead.\n const touchToMouse = {\n tap: 'click',\n doubletap: 'dblclick'\n };\n if (includes(['click', 'tap', 'dblclick', 'doubletap'], eventName)) {\n this.eventManager.addEventListener(\n this.nativeElement,\n touchToMouse[eventName] || eventName,\n (evt) => {\n const target = $(evt.target).closest('.app-list-item');\n if (target.length) {\n const listItemContext: ListItemDirective = target.data('listItemContext');\n if (!listItemContext.disableItem) {\n this.invokeEventCallback(eventName, {\n widget: listItemContext,\n $event: evt,\n item: listItemContext.item\n });\n }\n }\n }\n );\n }\n }\n\n private getConfiguredState() {\n const mode = this.statePersistence.computeMode(this.statehandler);\n return mode && mode.toLowerCase();\n }\n\n private handleStateParams(options) {\n if (this._pageLoad && this.getConfiguredState() !== 'none') {\n this._pageLoad = false;\n const widgetState = this.statePersistence.getWidgetState(this);\n if (get(widgetState, 'pagination')) {\n options.options = options.options || {};\n options.options.page = widgetState.pagination;\n }\n if (get(widgetState, 'selectedItem')) {\n this._selectedItemsExist = true;\n }\n }\n }\n\n private triggerWMEvent(eventName, item?) {\n $invokeWatchers(true);\n // If we have multiselect for the livelist(List with form template), in run mode deleting a record is getting failed. Becuase the selecteditem will be array of objects. So consider the last object.\n let row = this.multiselect ? last(this.selecteditem) : this.selecteditem;\n if (item) {\n row = item;\n }\n this.app.notify('wm-event', {eventName, widgetName: this.name, row: row});\n }\n\n private resetNavigation() {\n this.showNavigation = false;\n this.navControls = undefined;\n this.infScroll = false;\n this.onDemandLoad = false;\n }\n\n private enableBasicNavigation() {\n this.navControls = NAVIGATION_TYPE.BASIC;\n this.showNavigation = true;\n }\n\n private enableInlineNavigation() {\n this.navControls = NAVIGATION_TYPE.INLINE;\n }\n\n private enableClassicNavigation() {\n this.navControls = NAVIGATION_TYPE.CLASSIC;\n this.showNavigation = true;\n }\n\n private enablePagerNavigation() {\n this.navControls = NAVIGATION_TYPE.PAGER;\n this.showNavigation = true;\n }\n\n private setNavigationTypeNone() {\n this.navControls = NAVIGATION_TYPE.NONE;\n this.showNavigation = false;\n }\n\n private enableInfiniteScroll() {\n this.infScroll = true;\n }\n\n private enableOnDemandLoad() {\n this.onDemandLoad = true;\n this.showNavigation = true;\n }\n\n /**\n * Sets Navigation type for the list.\n * @param type\n */\n private onNavigationTypeChange(type) {\n this.resetNavigation();\n switch (type) {\n case NAVIGATION_TYPE.BASIC:\n this.enableBasicNavigation();\n break;\n case NAVIGATION_TYPE.INLINE:\n this.enableInlineNavigation();\n break;\n case NAVIGATION_TYPE.ADVANCED:\n case NAVIGATION_TYPE.CLASSIC:\n this.enableClassicNavigation();\n break;\n case NAVIGATION_TYPE.PAGER:\n this.enablePagerNavigation();\n break;\n case NAVIGATION_TYPE.NONE :\n this.setNavigationTypeNone();\n break;\n case NAVIGATION_TYPE.SCROLL:\n this.enableInfiniteScroll();\n break;\n case NAVIGATION_TYPE.ONDEMAND:\n this.enableOnDemandLoad();\n break;\n }\n }\n\n /**\n * Update fieldDefs property, fieldDefs is the model of the List Component.\n * fieldDefs is an Array type.\n * @param newVal\n */\n private updateFieldDefs(newVal: Array<any>) {\n if (this.infScroll || this.onDemandLoad) {\n [this.fieldDefs, this.currentPage] = this.paginationService.updateFieldsOnPagination(this, newVal);\n } else {\n this.fieldDefs = newVal;\n }\n\n if (this.orderby) {\n this.fieldDefs = getOrderedDataset(this.fieldDefs, this.orderby);\n }\n if (this.groupby) {\n this.groupedData = groupData(this, this.fieldDefs, this.groupby, this.match, this.orderby, this.dateformat, this.datePipe, undefined, this.appDefaults);\n }\n\n if (!this.fieldDefs.length) {\n this.noDataFound = true;\n this.selecteditem = undefined;\n }\n $appDigest();\n this.listItems.setDirty();\n }\n\n private onDataChange(newVal) {\n // Check for newVal is not empty\n if (!isEmpty(newVal)) {\n\n this.noDataFound = false;\n this.isDataChanged = true;\n\n if (this.datasource && this.datasource.execute(DataSource.Operation.IS_API_AWARE)) {\n // clone the the data in case of live and service variables to prevent the two-way binding for these variables.\n newVal = cloneDeep(newVal);\n }\n\n if (isObject(newVal) && !isArray(newVal)) {\n newVal = isEmpty(newVal) ? [] : [newVal];\n }\n\n if (isString(newVal)) {\n newVal = newVal.split(',');\n }\n\n // if the page number is greater than 1 on initial load then we render the first page.\n if (this.datasource && this.datasource.owner === 'App' && (this.infScroll || this.onDemandLoad) && !this.currentPage && this.datasource.execute(DataSource.Operation.GET_PAGING_OPTIONS).number > 0) {\n newVal = this.datasource.execute(DataSource.Operation.LIST_RECORDS, {\n 'page': 1\n });\n }\n\n if (isArray(newVal)) {\n if (newVal.length) {\n this.invokeEventCallback('beforedatarender', {$data: newVal});\n }\n this.updateFieldDefs(newVal);\n }\n } else {\n this.updateFieldDefs([]);\n }\n }\n\n // Updates the dataSource when pagination is enabled for the Component.\n private setupDataSource() {\n const dataNavigator = this.dataNavigator;\n\n dataNavigator.options = {\n maxResults: this.pagesize || 20\n };\n\n this.dataNavigatorWatched = true;\n\n if (this.navigatorResultWatch) {\n this.navigatorResultWatch.unsubscribe();\n }\n /*Register a watch on the \"result\" property of the \"dataNavigator\" so that the paginated data is displayed in the live-list.*/\n this.navigatorResultWatch = dataNavigator.resultEmitter.subscribe((newVal: any) => {\n this.onDataChange(newVal);\n }, true);\n /*De-register the watch if it is exists */\n if (this.navigatorMaxResultWatch) {\n this.navigatorMaxResultWatch.unsubscribe();\n }\n /*Register a watch on the \"maxResults\" property of the \"dataNavigator\" so that the \"pageSize\" is displayed in the live-list.*/\n this.navigatorMaxResultWatch = dataNavigator.maxResultsEmitter.subscribe((val) => {\n this.pagesize = val;\n });\n\n dataNavigator.maxResults = this.pagesize || 20;\n this.removePropertyBinding('dataset');\n // when list having \"datasetboundexpr\" attr indicates that list is bound to item context\n // when dataset is bound to \"item.FIELD\" then item context is passed as the datasource.\n const datasetBoundExpr = this.getAttr('datasetboundexpr');\n this.dataNavigator.setBindDataSet(\n this.binddataset,\n this.viewParent,\n datasetBoundExpr ? this.context : this.datasource,\n this.dataset,\n this.binddatasource,\n datasetBoundExpr,\n this.statehandler\n );\n }\n\n private onDataSetChange(newVal) {\n if (get(this.datasource, 'category') === 'wm.Variable' && this.getConfiguredState() !== 'none' && this._pageLoad) {\n const widgetState = this.statePersistence.getWidgetState(this);\n this._pageLoad = false;\n if (get(widgetState, 'pagination')) {\n this.dataNavigator.pageChanged({page: widgetState.pagination}, true);\n }\n if (get(widgetState, 'selectedItem')) {\n this._selectedItemsExist = true;\n }\n }\n if (!this.dataNavigatorWatched) {\n if (this.navigation && this.navigation !== NAVIGATION_TYPE.NONE) {\n this.setupDataSource();\n } else {\n this.onDataChange(newVal);\n }\n } else if (this.navigation && this.navigation !== NAVIGATION_TYPE.NONE) {\n // If navigation is already setup and datasource is changed, update the datasource on navigation\n this.dataNavigator.setDataSource(this.datasource);\n }\n }\n\n // All the ListItem's Active state is set to false.\n private deselectListItems() {\n this.listItems.forEach(item => item.isActive = false);\n }\n\n // Deselect all the ListItems and clear the selecteditem(InOutBound Property model)\n private clearSelectedItems() {\n this.deselectListItems();\n this._items.length = 0;\n $appDigest();\n }\n\n /**\n * return the ListItemDirective instance by checking the equality of the model.\n * @param listModel: model to be searched for\n * @returns ListItem if the model is matched else return null.\n */\n private getListItemByModel(listModel): ListItemDirective {\n return this.listItems.find((listItem) => {\n let itemObj = listItem.item;\n if (this.groupby && !has(listModel, '_groupIndex')) {\n // If groupby is enabled, item contains _groupIndex property which should be excluded while comparing model.\n itemObj = clone(itemObj);\n delete itemObj._groupIndex;\n }\n if (isEqual(itemObj, listModel)) {\n return true;\n }\n }) || null;\n }\n\n private updateSelectedItemsWidgets(statePersistenceTriggered?) {\n let obj = {}, widgetState;\n const pageNum = get(this.dataNavigator, 'dn.currentPage') || 1;\n if (this.getConfiguredState() !== 'none') {\n // remove previously configured selected items for current page and construct new ones later below.\n widgetState = this.statePersistence.getWidgetState(this) || {};\n if (get(widgetState, 'selectedItem')) {\n // when multiselect is on and an item is selected without pressing CTRL, previously selected items in state should be empty.\n if (this.multiselect && this.selecteditem.length === 1) {\n widgetState.selectedItem = [];\n } else {\n remove(widgetState.selectedItem, function (selectedItem: any) {\n return selectedItem.page === pageNum;\n });\n }\n }\n }\n if (this.multiselect) {\n (this.selectedItemWidgets as Array<WidgetRef>).length = 0;\n }\n this.listItems.forEach((item: ListItemDirective, index) => {\n if (item.isActive) {\n if (this.multiselect) {\n (this.selectedItemWidgets as Array<WidgetRef>).push(item.currentItemWidgets);\n } else {\n this.selectedItemWidgets = item.currentItemWidgets;\n }\n obj = {page: pageNum, index: index};\n if (get(widgetState, 'selectedItem') && this.multiselect) {\n if (!some(widgetState.selectedItem, obj)) {\n widgetState.selectedItem.push(obj);\n }\n } else {\n widgetState.selectedItem = [obj];\n }\n }\n });\n if (this.getConfiguredState() !== 'none' && !statePersistenceTriggered) {\n if (unsupportedStatePersistenceTypes.indexOf(this.navigation) < 0) {\n this.statePersistence.removeWidgetState(this, 'selectedItem');\n this.statePersistence.setWidgetState(this, {'selectedItem': widgetState.selectedItem});\n } else {\n console.warn('Retain State handling on Widget ' + this.name + ' is not supported for current pagination type.');\n }\n }\n }\n\n /**\n * Selects the listItem and updates selecteditem property.\n * If the listItem is already a selected item then deselects the item.\n * @param {ListItemDirective} $listItem: Item to be selected of deselected.\n */\n private toggleListItemSelection($listItem: ListItemDirective, statePersistenceTriggered?) {\n // item is not allowed to get selected if it is disabled.\n if ($listItem && !$listItem.disableItem) {\n let item = $listItem.item;\n if (this.groupby && has(item, '_groupIndex')) {\n // If groupby is enabled, item contains _groupIndex property which should be excluded from selecteditem.\n item = clone(item);\n delete item._groupIndex;\n }\n if ($listItem.isActive) {\n this._items = pullAllWith(this._items, [item], isEqual);\n $listItem.isActive = false;\n } else {\n // if multiselect is false, clear the selectItem list before adding an item to the selectItem list.\n if (!this.multiselect) {\n this.clearSelectedItems();\n }\n this._items.push(item);\n this.invokeEventCallback('select', {widget: $listItem, $data: item});\n $listItem.isActive = true;\n }\n this.updateSelectedItemsWidgets(statePersistenceTriggered);\n }\n }\n\n /**\n * Method is Invoked when the model for the List Widget is changed.\n * @param {QueryList<ListItemDirective>} listItems\n */\n private onListRender(listItems: QueryList<ListItemDirective>) {\n // Added render callback event. This method(onListRender) is calling multiple times so checking isDatachanged flag because this falg is changed whenever new data is rendered.\n if (this.isDataChanged) {\n // Whenever dataset is changed, trigger watchers to evaluate listitem bind expressions.\n $invokeWatchers(true);\n this.invokeEventCallback('render', {$data: this.fieldDefs});\n }\n if (this.isDataChanged && this.getConfiguredState() !== 'none' && listItems.length && this._selectedItemsExist) {\n const widgetState = this.statePersistence.getWidgetState(this);\n if (get(widgetState, 'selectedItem')) {\n this._selectedItemsExist = false;\n const selectedItemsLength = isArray(this.selecteditem) ? this.selecteditem.length : toNumber(!isEmpty(this.selecteditem));\n const currentPage = get(this.dataNavigator, 'dn.currentPage') || 1;\n widgetState.pagination = widgetState.pagination || 1;\n // to prevent item selection from being triggered more than once\n if (selectedItemsLength !== widgetState.selectedItem.length && widgetState.pagination === currentPage) {\n widgetState.selectedItem.forEach((item) => {\n if (item.page === currentPage) {\n this.selectItem(item.index, true);\n }\n });\n }\n }\n }\n const selectedItems = isArray(this.selecteditem) ? this.selecteditem : [this.selecteditem];\n\n this.firstSelectedItem = this.lastSelectedItem = null;\n\n // don't select first item if multi-select is enabled and at least item is already selected in the list.\n // don't select first item if state information has selected items\n if (listItems.length && this.selectfirstitem && !(this._items.length && this.multiselect) && this._selectedItemsExist !== false) {\n const $firstItem: ListItemDirective = listItems.first;\n\n if (\n !$firstItem.disableItem &&\n this.isDataChanged &&\n // \"infinite scroll\" or \"load on demand\" is enabled and at least one item is selected then dont alter the selected list items.\n !(\n (this.infScroll || this.onDemandLoad) &&\n this._items.length\n )\n ) {\n this.clearSelectedItems();\n this.firstSelectedItem = this.lastSelectedItem = $firstItem;\n // selecting the first record\n this.selectItem(0);\n }\n } else {\n this.deselectListItems();\n selectedItems.forEach(selecteditem => {\n const listItem: ListItemDirective = this.getListItemByModel(selecteditem);\n if (listItem) {\n listItem.isActive = true;\n this.lastSelectedItem = listItem;\n // focus the active element\n listItem.nativeElement.focus();\n }\n });\n }\n\n if (this.fieldDefs.length && this.infScroll) {\n const smoothScrollEl = this.$element.closest('[wmsmoothscroll]');\n // In case of mobile app when modal exists, and list items height is greater than the modal content provide ccontainer a scrollable height\n const modalBody = this.$element.closest('.modal-body');\n const listHt = this.$element.find('ul').height();\n const modalHt = window.innerHeight - 140;\n if (isMobile() && modalBody.length && listHt > modalHt) {\n this.$element.css('height', modalHt + 'px');\n }\n this.paginationService.bindScrollEvt(this, '> ul', DEBOUNCE_TIMES.PAGINATION_DEBOUNCE_TIME);\n\n }\n\n this.isDataChanged = false;\n }\n\n private setupHandlers() {\n this.listItems.changes.subscribe(listItems => {\n this.onListRender(listItems);\n this.cdRef.detectChanges();\n });\n // handle click event in capturing phase.\n this.nativeElement.querySelector('ul.app-livelist-container').addEventListener('click', ($event) => {\n let target = $($event.target).closest('.app-list-item');\n // Recursively find the current list item\n while (target.get(0) && (target.closest('ul.app-livelist-container').get(0) !== $event.currentTarget)) {\n target = target.parent().closest('.app-list-item');\n }\n this.triggerListItemSelection(target, $event);\n }, true);\n }\n\n // Triggers on drag start while reordering.\n private onReorderStart(evt, ui) {\n ui.placeholder.height(ui.item.height());\n this.$ulEle.data('oldIndex', ui.item.index());\n }\n\n // Triggers during sorting\n private onSort(evt, ui) {\n // In case of infinite scroll, when the element doesn't have scroll enabled\n // on dragging the element to last item's position manually trigger loading of next items\n if (this.infScroll) {\n const lastItemOffset = this.$ulEle.find(`[listitemindex=${this.fieldDefs.length - 1}]`).offset();\n if (lastItemOffset && lastItemOffset.top < ui.offset.top) {\n this.paginationService.bindScrollEvt(this, '> ul', DEBOUNCE_TIMES.PAGINATION_DEBOUNCE_TIME);\n this.debouncedFetchNextDatasetOnScroll();\n }\n }\n }\n\n // Triggers after the sorting.\n private onUpdate(evt, ui, presentIndex?) {\n const data = this.fieldDefs;\n // If ui is not present then it is called from drag and drop using keyboard\n const newIndex = ui === undefined ? presentIndex : ui.item.index();\n const oldIndex = this.$ulEle.data('oldIndex');\n\n const minIndex = min([newIndex, oldIndex]);\n const maxIndex = max([newIndex, oldIndex]);\n\n const draggedItem = pullAt(data, oldIndex)[0];\n // Modify the data list only if we find a draggedItem\n if (draggedItem) {\n if (this.getConfiguredState() !== 'none') {\n this.statePersistence.removeWidgetState(this, 'selectedItem');\n }\n\n this.reorderProps.minIndex = min([minIndex, this.reorderProps.minIndex]);\n this.reorderProps.maxIndex = max([maxIndex, this.reorderProps.maxIndex]);\n\n data.splice(newIndex, 0, draggedItem);\n\n this.cdRef.markForCheck();\n this.cdRef.detectChanges();\n const $changedItem = {\n oldIndex: oldIndex,\n newIndex: newIndex,\n item: data[newIndex]\n };\n this.invokeEventCallback('reorder', {$event: evt, $data: data, $changedItem});\n this.$ulEle.removeData('oldIndex');\n }\n }\n\n // configures reordering the list items.\n private configureDnD() {\n let appendTo;\n const modalEl = $(document).find('.modal');\n if (this.getAttr('height')) { // when height is applied to the list, append should be the ul's parent as scroll is applied to the parent\n appendTo = 'parent';\n } else if (modalEl.length) { // In case of dialog, appendTo should be the modal ele\n appendTo = modalEl[modalEl.length - 1];\n } else { // As default append to should be body\n appendTo = 'body';\n }\n\n const options = {\n appendTo: appendTo,\n };\n\n const $el = $(this.nativeElement);\n this.$ulEle = $el.find('.app-livelist-container');\n\n configureDnD(this.$ulEle, options, this.onReorderStart.bind(this), this.onUpdate.bind(this), this.onSort.bind(this));\n\n this.$ulEle.droppable({'accept': '.app-list-item'});\n\n\n\n }\n\n // returns true if the selection limit is reached.\n private checkSelectionLimit(count: number) {\n return (!this.selectionlimit || count < this.selectionlimit);\n }\n\n // returns listitem reference by index value.\n private getListItemByIndex(index: number): ListItemDirective {\n return this.listItems.toArray()[index];\n }\n\n /**\n * return index of an (listItemDirective) in the listItem\n * @param {ListItemDirective} item\n * @returns {number}\n */\n private getListItemIndex(item: ListItemDirective) {\n return this.listItems.toArray().indexOf(item);\n }\n\n /**\n * Returns ListItem Reference based on the input provided.\n * @param val: index | model of the list item.\n * @returns {ListItemDirective}\n */\n private getItemRefByIndexOrModel(val: any): ListItemDirective {\n let listItem: ListItemDirective;\n if (isNumber(val)) {\n listItem = this.getListItemByIndex(val);\n } else {\n listItem = this.getListItemByModel(val);\n }\n return listItem;\n }\n\n private beforePaginationChange($event, $index) {\n this.invokeEventCallback('paginationchange', {$event, $index});\n }\n\n trackByFn($index: number) {\n return $index; // Return a unique identifier for each item\n }\n\n // Invoke the datasource variable by default when pulltorefresh event is not specified.\n private subscribeToPullToRefresh() {\n this._listenerDestroyers.push(this.app.subscribe('pulltorefresh', () => {\n if (this.datasource && this.datasource.listRecords) {\n this.datasource.listRecords();\n }\n }));\n }\n\n private setUpCUDHandlers() {\n const $addItem = document.getElementsByClassName(\"add-list-item\")[0];\n if ($addItem) {\n // Triggered on click of add action\n $addItem.addEventListener('click', evt => {\n this.create();\n });\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2.ListComponent"],"mappings":";;;;;;;;;;;;;AAEO,MAAM,aAAa,GAAG,MAAK;AAC9B,IAAA,QAAQ,CACJ,SAAS,EACT,IAAI,GAAG,CACH;QACI,CAAC,eAAe,EAAE,EAAC,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,EAAC,CAAC;QAClD,CAAC,OAAO,EAAE,WAAW,CAAC;QACtB,CAAC,aAAa,EAAE,YAAY,CAAC;QAC7B,CAAC,YAAY,EAAE,WAAW,CAAC;QAC3B,CAAC,SAAS,EAAE,QAAQ,CAAC;QACrB,CAAC,YAAY,EAAE,QAAQ,CAAC;QACxB,CAAC,WAAW,EAAE,EAAC,KAAK,EAAE,UAAU,EAAE,GAAG,WAAW,EAAC,CAAC;QAClD,CAAC,gBAAgB,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,YAAY,EAAC,CAAC;QAClD,CAAC,aAAa,EAAE,YAAY,CAAC;QAC7B,CAAC,eAAe,EAAE,YAAY,CAAC;QAC/B,CAAC,eAAe,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,YAAY,EAAC,CAAC;QACjD,CAAC,SAAS,EAAE,WAAW,CAAC;QACxB,CAAC,WAAW,EAAE,WAAW,CAAC;QAC1B,CAAC,WAAW,EAAE,EAAC,KAAK,EAAE,EAAE,EAAE,GAAG,WAAW,EAAC,CAAC;QAC1C,CAAC,aAAa,EAAE,WAAW,CAAC;QAC5B,CAAC,WAAW,EAAE,EAAC,KAAK,EAAE,YAAY,EAAE,GAAG,WAAW,EAAC,CAAC;QACpD,CAAC,aAAa,EAAE,YAAY,CAAC;QAC7B,CAAC,gBAAgB,EAAE,EAAC,KAAK,EAAG,YAAY,EAAE,GAAG,WAAW,EAAC,CAAC;QAC1D,CAAC,aAAa,EAAE,EAAC,KAAK,EAAG,sBAAsB,EAAE,GAAG,WAAW,EAAC,CAAC;QACjE,CAAC,OAAO,EAAE,WAAW,CAAC;QACtB,CAAC,SAAS,EAAE,EAAC,KAAK,EAAE,CAAC,EAAE,GAAG,WAAW,EAAC,CAAC;QACvC,CAAC,MAAM,EAAE,WAAW,CAAC;QACrB,CAAC,YAAY,EAAE,WAAW,CAAC;QAC3B,CAAC,iBAAiB,EAAE,EAAC,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,EAAC,CAAC;QACpD,CAAC,eAAe,EAAE,EAAC,KAAK,EAAG,eAAe,EAAE,GAAG,WAAW,EAAC,CAAC;QAC5D,CAAC,iBAAiB,EAAE,EAAC,KAAK,EAAG,WAAW,EAAE,GAAG,WAAW,EAAC,CAAC;QAC1D,CAAC,SAAS,EAAE,WAAW,CAAC;QACxB,CAAC,iBAAiB,EAAE,WAAW,CAAC;QAChC,CAAC,UAAU,EAAE,WAAW,CAAC;QACzB,CAAC,eAAe,EAAE,EAAC,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,EAAC,CAAC;QAClD,CAAC,iBAAiB,EAAE,YAAY,CAAC;QACjC,CAAC,gBAAgB,EAAE,WAAW,CAAC;QAC/B,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,YAAY,EAAC,CAAC;QACxC,CAAC,WAAW,EAAE,YAAY,CAAC;QAC3B,CAAC,iBAAiB,EAAE,YAAY,CAAC;QACjC,CAAC,cAAc,EAAE,EAAC,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,EAAC,CAAC;QACjD,CAAC,YAAY,EAAE,WAAW,CAAC;QAC3B,CAAC,UAAU,EAAE,EAAC,KAAK,EAAE,CAAC,EAAE,GAAG,WAAW,EAAC,CAAC;QACxC,CAAC,OAAO,EAAE,WAAW;AACxB,KAAA,CACJ,CACJ;AACL,CAAC;;MCrBY,iBAAiB,CAAA;IAqB1B,OAAO,GAAA;;AAEH,QAAA,IAAI,CAAC,aAAa,CAAC,gBAAgB,GAAG,IAAI;;AAG9C,IAAA,IAAI,MAAM,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM;;AAG9B,IAAA,IAAI,KAAK,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI;;AAG5B,IAAA,IAAI,IAAI,GAAA;AACJ,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG;;AAG3B,IAAA,IAAI,MAAM,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK;;AAG7B,IAAA,IAAI,KAAK,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI;;AAG5B,IAAA,IAAI,kBAAkB,GAAA;AAClB,QAAA,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;AACxF,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,IAAS,KAAI;YAC1F,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM;AACtC,YAAA,OAAO,MAAM;AACjB,SAAC,EAAE,EAAE,CAAC,CAAC;;IAGX,IAAa,UAAU,CAAC,GAAG,EAAA;AACvB,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG;;AAGnB,IAAA,WAAA,CAAoB,GAAa,EAAE,KAAiB,EAAU,GAAQ,EAAqB,WAA0B,EAAA;QAAjG,IAAG,CAAA,GAAA,GAAH,GAAG;QAAuC,IAAG,CAAA,GAAA,GAAH,GAAG;QAA0B,IAAW,CAAA,WAAA,GAAX,WAAW;AAtD/F,QAAA,IAAA,CAAA,OAAO,GAAiB,IAAI,OAAO,EAAE;AACrC,QAAA,IAAA,CAAA,QAAQ,GAAoB,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;QAItD,IAAS,CAAA,SAAA,GAAG,EAAE;QACd,IAAmB,CAAA,mBAAA,GAAG,EAAE;AAEhC;;AAEG;AACO,QAAA,IAAA,CAAA,OAAO,GAAG,iBAAiB,CAAC,OAAO,EAAE;QAElB,IAAQ,CAAA,QAAA,GAAG,KAAK;QACV,IAAW,CAAA,WAAA,GAAG,KAAK;QAyClD,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC;AACjD,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa;AACxC,QAAA,IAAI,CAAC,aAAa,GAAG,WAAW;;QAEhC,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,GAAW,CAAC,MAAM,CAAC,CAAC,CAAC;;AAE1C,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC;AACzC,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC;AAC3C,QAAA,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC;;IAG/C,aAAa,CAAC,UAAkB,EAAE,QAAkB,EAAA;;;;QAIxD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAG,IAAI,CAAC,aAAqB,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;;AAG/F,IAAA,gBAAgB,CAAC,aAA4B,EAAA;AACjD,QAAA,IAAI,aAAa,CAAC,aAAa,EAAE;AAC7B,YAAA,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,EAAE,EAAE,IAAI,IAAI,CAAC,SAAS,GAAG,EAAE,IAAI,EAAE,CAAC;;aAC7E;AACH,YAAA,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS;;;AAIxC,IAAA,kBAAkB,CAAC,KAAoB,EAAA;AAC3C,QAAA,IAAI,KAAK,CAAC,eAAe,EAAE;AACvB,YAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,IAAI,IAAI,CAAC,WAAW,GAAG,EAAE,IAAI,KAAK,CAAC;;aAC5E;YACH,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK;;;IAI7C,gBAAgB,GAAA;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,iBAAiB,CAAC;QACrE,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,mBAAmB,CAAC;QAEzE,IAAI,SAAS,EAAE;;AAEX,YAAA,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,IAAG;AACtC,gBAAA,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;AAC/B,aAAC,CAAC;;QAGN,IAAI,WAAW,EAAE;;AAEb,YAAA,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,IAAG;AACxC,gBAAA,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;AAC/B,aAAC,CAAC;;;IAGV,QAAQ,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE;YACjC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,MAAM,KAAI;AACzD,gBAAA,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,YAAY,EAAE,EAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAC,CAAC;AAChF,aAAC,CAAC;;AAEN,QAAA,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE;YACjC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,MAAM,KAAI;AACzD,gBAAA,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,YAAY,EAAE,EAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAC,CAAC;AAChF,aAAC,CAAC;;;AAGN,QAAA,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC;;IAG5D,eAAe,GAAA;QACX,IAAI,CAAC,gBAAgB,EAAE;AACvB,QAAA,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;AACxF,QAAA,iBAAiB,CAAC,OAAO,CAAC,CAAC,SAAc,KAAI;AACzC,YAAA,IAAG,SAAS,CAAC,MAAM,YAAY,iBAAiB,EAAE;AAC9C,gBAAA,IAAG,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE;oBACrD,SAAS,CAAC,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;;;AAG/E,SAAC,CAAC;;kHAvIG,iBAAiB,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAA,EAAA,CAAA,GAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAC,aAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA;oEAAjB,iBAAiB,EAAA,SAAA,EAAA,CAAA,CAAA,EAAA,EAAA,YAAA,EAAA,EAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,8BAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;AAAjB,YAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,0CAAA,GAAA,EAAA,OAAA,aAAS,CAAQ,EAAA,CAAA;;AAAjB,YAAA,EAAA,CAAA,WAAA,CAAA,QAAA,EAAA,GAAA,CAAA,QAAA,CAAiB,CAAA,cAAA,EAAA,GAAA,CAAA,WAAA,CAAA;;;iFAAjB,iBAAiB,EAAA,CAAA;cAL7B,SAAS;AAAC,QAAA,IAAA,EAAA,CAAA;AACT,gBAAA,UAAU,EAAE,IAAI;AACd,gBAAA,QAAQ,EAAE,cAAc;AACxB,gBAAA,QAAQ,EAAE;AACb,aAAA;;sBA2D4E;qBAzC5C,QAAQ,EAAA,CAAA;kBAApC,WAAW;mBAAC,cAAc;YACQ,WAAW,EAAA,CAAA;kBAA7C,WAAW;mBAAC,oBAAoB;YAGjC,OAAO,EAAA,CAAA;kBADN,YAAY;mBAAC,OAAO;YAkCR,UAAU,EAAA,CAAA;kBAAtB;;;;;;;;;;;ICjFH,EAA2B,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CACD,CACC,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA;IACrB,EAA0F,CAAA,SAAA,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA;IAC5F,EAAM,CAAA,YAAA,EAAA;IACN,EAAuB,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA;AAErB,IADA,0BAA+C,CACS,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA;IAC1D,EAAM,CAAA,YAAA,EAAA,EACH,EACD;;;IAPG,EAAyC,CAAA,SAAA,CAAA,CAAA,CAAA;IAAzC,EAAyC,CAAA,sBAAA,CAAA,sBAAA,EAAA,MAAA,CAAA,SAAA,EAAA,EAAA,CAAA;IAAoB,EAAqB,CAAA,UAAA,CAAA,QAAA,EAAA,CAAA,MAAA,CAAA,SAAA,CAAA;IAGhE,EAAmB,CAAA,SAAA,CAAA,CAAA,CAAA;IAAnB,EAAmB,CAAA,UAAA,CAAA,WAAA,EAAA,MAAA,CAAA,KAAA,EAAA,EAAA,CAAA,cAAA,CAAA;IACf,EAAwB,CAAA,SAAA,EAAA;IAAxB,EAAwB,CAAA,UAAA,CAAA,WAAA,EAAA,MAAA,CAAA,UAAA,EAAA,EAAA,CAAA,cAAA,CAAA;;;;AAUjD,IAHN,EAAmH,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAC/F,aACwF,CAE7C,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA;IAD3B,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,uDAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,aAAA,CAAA,YAAA,CAA2B,MAAM,EAAA,MAAA,CAAS,CAAC,CAAA,EAAA,CAAA;IAEhF,EAAqD,CAAA,SAAA,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA;IACrD,EAAsB,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA;IAAA,EAA2E,CAAA,MAAA,CAAA,CAAA,CAAA;AAIzG,IAJyG,iBAAO,EACtG,EACD,EACF,EACD;;;;IARmB,EAAkF,CAAA,SAAA,CAAA,CAAA,CAAA;IAAlF,EAAkF,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,GAAA,EAAA,MAAA,CAAA,aAAA,GAAA,MAAA,CAAA,aAAA,CAAA,iBAAA,GAAA,IAAA,CAAA,CAAA;IAEnG,EAAsD,CAAA,SAAA,EAAA;;IAEhC,EAA2E,CAAA,SAAA,CAAA,CAAA,CAAA;IAA3E,EAA2E,CAAA,kBAAA,CAAA,sBAAA,EAAA,MAAA,CAAA,aAAA,CAAA,iBAAA,GAAA,YAAA,GAAA,EAAA,EAAA,EAAA,CAAA;;;IAOzG,EAA2D,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA;IAAC,EAA8E,CAAA,MAAA,CAAA,CAAA,CAAA;IAAA,EAAM,CAAA,YAAA,EAAA;;;IAApF,EAA8E,CAAA,SAAA,EAAA;IAA9E,EAA8E,CAAA,kBAAA,CAAA,GAAA,EAAA,OAAA,GAAA,MAAA,CAAA,aAAA,CAAA,EAAA,CAAA,WAAA,GAAA,MAAA,GAAA,MAAA,CAAA,aAAA,CAAA,SAAA,EAAA,EAAA,CAAA;;;IAKxI,EAAoC,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA;IAClC,EACF,CAAA,MAAA,CAAA,CAAA,EAAA,uFAAA,CAAA;IAAA,EAAM,CAAA,YAAA,EAAA;;;IAFD,EAAc,CAAA,qBAAA,CAAA,IAAA,EAAA,MAAA,CAAA,OAAA,CAAA;;;IAMnB,EAA4C,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA;IAC1C,EACF,CAAA,MAAA,CAAA,CAAA,CAAA;IAAA,EAAM,CAAA,YAAA,EAAA;;;IADJ,EACF,CAAA,SAAA,EAAA;IADE,EACF,CAAA,kBAAA,CAAA,GAAA,EAAA,MAAA,CAAA,QAAA,GAAA,MAAA,CAAA,YAAA,GAAA,MAAA,GAAA,MAAA,CAAA,SAAA,CAAA,MAAA,EAAA,GAAA,CAAA;;;IAsBE,EAIkB,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,CAAA;IAChB,EAEgL,CAAA,kBAAA,CAAA,CAAA,EAAA,EAAA,CAAA;IAClL,EAAK,CAAA,YAAA,EAAA;;;;;;;;IARD,EAA4E,CAAA,sBAAA,CAAA,gBAAA,EAAA,MAAA,CAAA,SAAA,KAAA,YAAA,GAAA,EAAA,GAAA,MAAA,CAAA,gBAAA,EAAA,EAAA,CAAA;AAC9E,IAD+E,kDAAiC,CAC7F,YAAA,EAAA,OAAA,CAAA;;IAIL,EAAiC,CAAA,SAAA,CAAA,CAAA,CAAA;IAAjC,EAAiC,CAAA,UAAA,CAAA,kBAAA,EAAA,MAAA,CAAA,YAAA,CAAA,CAAA,0BAAA,EAAA,MAAA,CAAA,oBAAA,CAAA,OAAA,GAAA,cAAA,CAAA,OAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,GAAA,EAAA,OAAA,EAAA,SAAA,EAAA,cAAA,EAAA,aAAA,KAAA,CAAA,EAAA,aAAA,KAAA,aAAA,GAAA,CAAA,EAAA,cAAA,CAAA,kBAAA,CAAA,CAAA,CACyK,CACxD,yBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,GAAA,EAAA,OAAA,EAAA,SAAA,EAAA,cAAA,EAAA,aAAA,KAAA,CAAA,EAAA,aAAA,KAAA,aAAA,GAAA,CAAA,EAAA,cAAA,CAAA,kBAAA,CAAA,CAAA;;;IARpK,EAUC,CAAA,gBAAA,CAAA,CAAA,EAAA,0CAAA,EAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,CAAA,yBAAA,CAAA;;;IAVD,EAUC,CAAA,UAAA,CAAA,MAAA,CAAA,SAAA,CAAA;;;IASa,EAAgD,CAAA,SAAA,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA;;;IAGhD,EAAkC,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA;IAAA,EAAwB,CAAA,MAAA,CAAA,CAAA,CAAA;IAAA,EAAO,CAAA,YAAA,EAAA;;;IAA/B,EAAwB,CAAA,SAAA,EAAA;IAAxB,EAAwB,CAAA,iBAAA,CAAA,WAAA,CAAA,IAAA,CAAA,MAAA,CAAA;;;IAQ5D,EAGiD,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,CAAA;IAC/C,EAEgL,CAAA,kBAAA,CAAA,CAAA,EAAA,EAAA,CAAA;IAClL,EAAK,CAAA,YAAA,EAAA;;;;;;;;IANH,EAA0D,CAAA,sBAAA,CAAA,gCAAA,EAAA,MAAA,CAAA,gBAAA,EAAA,EAAA,CAAA;AAE1D,IADA,mDAAiC,CACd,YAAA,EAAA,QAAA,CAAA;;IACL,EAAiC,CAAA,SAAA,CAAA,CAAA,CAAA;IAAjC,EAAiC,CAAA,UAAA,CAAA,kBAAA,EAAA,MAAA,CAAA,YAAA,CAAA,CAAA,0BAAA,EAAA,MAAA,CAAA,oBAAA,CAAA,QAAA,GAAA,eAAA,CAAA,OAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,GAAA,EAAA,QAAA,EAAA,UAAA,EAAA,eAAA,EAAA,cAAA,KAAA,CAAA,EAAA,cAAA,KAAA,cAAA,GAAA,CAAA,EAAA,eAAA,CAAA,kBAAA,CAAA,CAAA,CAC0K,CACzD,yBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,GAAA,EAAA,QAAA,EAAA,UAAA,EAAA,eAAA,EAAA,cAAA,KAAA,CAAA,EAAA,cAAA,KAAA,cAAA,GAAA,CAAA,EAAA,eAAA,CAAA,kBAAA,CAAA,CAAA;;;;IAvB5K,EAAyC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAC4C,CACiE,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA;AAArF,IAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,8DAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAS,gCAAyB,CAAC,CAAA,EAAA,CAAA;IAC9F,EAAI,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAA;IAAA,EACF,CAAA,MAAA,CAAA,CAAA,CAAA;IAAA,EAA2B,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA;AAIzB,IAHA,yFAAmB,CAGF,CAAA,EAAA,wDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA;IAGnB,EAAM,CAAA,YAAA,EAAA,EACH,EACF;AAEH,IADF,8BAAiC,CAC4D,CAAA,EAAA,IAAA,CAAA;IACzF,EASC,CAAA,gBAAA,CAAA,EAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,CAAA,SAAA,EAAA,IAAA,CAAA;AAIT,IAHM,EAAK,CAAA,YAAA,EAAA,EACF,EACF,EACF;;;;IA5B0D,EAAqB,CAAA,SAAA,EAAA;IAArB,EAAqB,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,SAAA,CAAA;;IACiB,EAAgD,CAAA,SAAA,EAAA;IAAhD,EAAgD,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,GAAA,EAAA,MAAA,CAAA,WAAA,CAAA,CAAA;IAC3I,EACF,CAAA,SAAA,CAAA,CAAA,CAAA;IADE,EACF,CAAA,kBAAA,CAAA,EAAA,EAAA,WAAA,CAAA,GAAA,EAAA,GAAA,CAAA;IACE,EAEC,CAAA,SAAA,CAAA,CAAA,CAAA;IAFD,EAEC,CAAA,aAAA,CAAA,MAAA,CAAA,WAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA;IACD,EAEC,CAAA,SAAA,EAAA;IAFD,EAEC,CAAA,aAAA,CAAA,MAAA,CAAA,SAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA;IAKD,EAAsF,CAAA,SAAA,CAAA,CAAA,CAAA;IAAtF,EAAsF,CAAA,sBAAA,CAAA,sBAAA,EAAA,MAAA,CAAA,SAAA,KAAA,YAAA,GAAA,qBAAA,GAAA,EAAA,EAAA,EAAA,CAAA;IACxF,EASC,CAAA,SAAA,EAAA;IATD,EASC,CAAA,UAAA,CAAA,WAAA,CAAA,IAAA,CAAA;;;IA1BX,EA+BC,CAAA,gBAAA,CAAA,CAAA,EAAA,0CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,CAAA,yBAAA,CAAA;;;IA/BD,EA+BC,CAAA,UAAA,CAAA,MAAA,CAAA,WAAA,CAAA;;;IAOH,EAA6D,CAAA,SAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA;;;IAApC,EAA6B,CAAA,UAAA,CAAA,aAAA,EAAA,MAAA,CAAA,aAAA,CAAA;;;AAKpD,IADF,8BAA8B,CACtB,CAAA,EAAA,MAAA,CAAA;IACJ,EAAsF,CAAA,SAAA,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA;IACtF,EAAsB,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA;IAAA,EAAO,CAAA,MAAA,CAAA,CAAA,EAAA,SAAA,CAAA;IAAA,EAAO,CAAA,YAAA,EAAA;IACpC,EAAiE,CAAA,SAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA;AAErE,IADE,iBAAO,EACH;;;IAJwD,EAAuB,CAAA,SAAA,CAAA,CAAA,CAAA;IAAvB,EAAuB,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,WAAA,CAAA;IAEtD,EAA8B,CAAA,SAAA,CAAA,CAAA,CAAA;IAA9B,EAA8B,CAAA,UAAA,CAAA,aAAA,EAAA,MAAA,CAAA,cAAA,CAAA;;;;AASvD,IAHN,EAAkF,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAC9D,aACiF,CAE1C,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA;IADvB,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,wDAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,aAAA,CAAA,YAAA,CAA2B,MAAM,EAAA,MAAA,CAAS,CAAC,CAAA,EAAA,CAAA;IAEhF,EAAsD,CAAA,SAAA,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA;IACtD,EAAsB,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA;IAAA,EAAmE,CAAA,MAAA,CAAA,CAAA,CAAA;AAIjG,IAJiG,iBAAO,EAC9F,EACD,EACF,EACD;;;;IARe,EAA+E,CAAA,SAAA,CAAA,CAAA,CAAA;IAA/E,EAA+E,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,GAAA,EAAA,MAAA,CAAA,aAAA,GAAA,MAAA,CAAA,aAAA,CAAA,aAAA,GAAA,IAAA,CAAA,CAAA;IAE5F,EAAkD,CAAA,SAAA,EAAA;;IAE5B,EAAmE,CAAA,SAAA,CAAA,CAAA,CAAA;IAAnE,EAAmE,CAAA,kBAAA,CAAA,kBAAA,EAAA,MAAA,CAAA,aAAA,CAAA,aAAA,GAAA,YAAA,GAAA,EAAA,EAAA,EAAA,CAAA;;;;IAqB7F,EAKC,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA;IAJC,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,sEAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,aAAA,CAAA,YAAA,CAA2B,MAAM,EAAA,MAAA,CAAS,CAAC,CAAA,EAAA,CAAA;IAIrD,EAAI,CAAA,YAAA,EAAA;;;AADH,IADA,gDAA2B,CACI,aAAA,EAAA,MAAA,CAAA,eAAA,CAAA;;;IAjBrC,EAA0N,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA;IACxN,EAUO,CAAA,SAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA;IACP,EAAoB,CAAA,UAAA,CAAA,CAAA,EAAA,mDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA;IAQtB,EAAM,CAAA,YAAA,EAAA;;;IApBoB,EAA+L,CAAA,UAAA,CAAA,QAAA,EAAA,CAAA,MAAA,CAAA,cAAA,IAAA,MAAA,CAAA,YAAA,IAAA,MAAA,CAAA,aAAA,CAAA,aAAA,IAAA,MAAA,CAAA,aAAA,CAAA,QAAA,IAAA,MAAA,CAAA,QAAA,IAAA,CAAA,MAAA,CAAA,aAAA,CAAA,QAAA,IAAA,EAAA,MAAA,CAAA,aAAA,CAAA,UAAA,IAAA,IAAA,GAAA,IAAA,GAAA,MAAA,CAAA,aAAA,CAAA,UAAA,CAAA,UAAA,IAAA,IAAA,GAAA,IAAA,GAAA,MAAA,CAAA,aAAA,CAAA,UAAA,CAAA,UAAA,CAAA,IAAA,CAAA,CAAA;IAYvN,EAOC,CAAA,SAAA,CAAA,CAAA,CAAA;IAPD,EAOC,CAAA,aAAA,CAAA,MAAA,CAAA,YAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA;;AC9EL,MAAM,WAAW,GAAG,wBAAwB;AAC5C,MAAM,aAAa,GAAG,EAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAC;AAW/D,MAAO,aAAc,SAAQ,iBAAiB,CAAA;AACzC,IAAA,SAAA,IAAA,CAAA,eAAe,GAAG,aAAa,EAAhB,CAAmB;AA2FzC,IAAA,WAAA,CACI,GAAa,EACb,KAAwB,EACxB,QAAoB,EACpB,GAAQ,EACR,WAAwB,EACxB,MAAc,EACe,aAAqB,EACnB,eAAuB,EAC3B,WAAmB,EAChB,cAAsB,EACrB,YAAoB,EACpB,YAAoB,EACnD,gBAAkC,EAClC,iBAAoC,EACI,eAAoB,EAAA;QAE5D,IAAI,SAAS,GAAa,IAAI;AAC9B,QAAA,MAAM,gBAAgB,GAAG,IAAI,OAAO,CAAC,GAAG,IAAI,SAAS,GAAG,GAAG,CAAC;QAC5D,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,CAAC;AAC5D,QAAA,IAAI,CAAC,gBAAgB,GAAG,gBAAgB;AACxC,QAAA,IAAI,CAAC,iBAAiB,GAAG,SAAS;QAClC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC;AACzD,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;AACpB,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;AACxB,QAAA,IAAI,CAAC,gBAAgB,GAAG,gBAAgB;AACxC,QAAA,IAAI,CAAC,iBAAiB,GAAG,iBAAiB;AAC1C,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AAErB,QAAA,IAAI,CAAC,aAAa,GAAG,aAAa;AAClC,QAAA,IAAI,CAAC,eAAe,GAAG,eAAe;AACtC,QAAA,IAAI,CAAC,WAAW,GAAG,WAAW;AAC9B,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY;AAChC,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY;AAChC,QAAA,IAAI,CAAC,cAAc,GAAG,cAAc;AAEpC,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG;AACd,QAAA,IAAI,CAAC,WAAW,GAAG,WAAW;AAC9B,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK;AAE7B,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC,WAAW;AAC/B,QAAA,IAAI,CAAC,OAAO,GAAG,SAAS,GAAG,YAAY,EAAE;;QAGzC,IAAI,CAAC,mBAAmB,GAAG;YACvB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,iCAAiC,EAAE,OAAO,IAAG;gBAC5D,IAAI,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC;;gBAEjD,IAAI,CAAC,cAAc,EAAE;AACjB,oBAAA,cAAc,GAAG,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC;;gBAE/D,IAAI,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,KAAK,cAAc,EAAE;oBAClD;;AAEJ,gBAAA,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;AACnC,aAAC,CAAC;;AAEF,YAAA,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,uBAAuB,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1E,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,oBAAoB,EAAE,KAAK,IAAG;gBAC7C,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE;oBACnD;;AAEJ,gBAAA,IAAI,CAAC,YAAY,GAAG,IAAI;AAC5B,aAAC;SACJ;;AAGL,IAAA,IAAW,YAAY,GAAA;AACnB,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AAClB,YAAA,OAAO,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;;AAEvC,QAAA,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;AACtB,YAAA,OAAO,EAAE;;QAEb,OAAO,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;;IAG1C,IAAW,YAAY,CAAC,KAAK,EAAA;AACzB,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QACtB,IAAI,CAAC,iBAAiB,EAAE;AAExB,QAAA,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE;AAChB,YAAA,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;;aACzC;AACH,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;;AAE1B,QAAA,UAAU,EAAE;;AAGhB;;;;;AAKG;IACI,UAAU,CAAC,UAAkB,EAAE,KAAc,EAAA;AAChD,QAAA,IAAI,OAAO;QACX,MAAM,MAAM,GAAG,EAAE;QAEjB,IAAI,CAAC,UAAU,EAAE;YACb;;AAGJ,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACnB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,KAAI;gBACrC,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC,kBAAkB,EAAE,UAAU,CAAC;gBAChD,IAAI,OAAO,EAAE;AACT,oBAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;;AAE5B,aAAC,CAAC;AAEF,YAAA,OAAO,MAAM;;AAEjB,QAAA,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC;AAEnB,QAAA,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC;QAE9C,IAAI,OAAO,EAAE;YACT,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;;;;AAKrD,IAAA,OAAO,CAAC,KAAa,EAAA;AACxB,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;;AAGzC;;;;AAIG;AACI,IAAA,QAAQ,CAAC,IAAS,EAAA;AACrB,QAAA,IAAI,IAAI,YAAY,iBAAiB,EAAE;AACnC,YAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;;aAC/B,IAAI,IAAI,EAAE;AACb,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;;;IAIpE,MAAM,GAAA;AACF,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;;;AAIrC,IAAA,OAAO,CAAC,IAAK,EAAA;AACT,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,IAAI,QAAQ;YACZ,IAAI,IAAI,EAAE;gBACN,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,IAAI;;AAEvD,YAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC;;;AAI/C,IAAA,MAAM,CAAC,IAAK,EAAA;AACR,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;;AAGtB,IAAA,SAAS,CAAC,IAAK,EAAA;AACX,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,IAAI,QAAQ;YACZ,IAAI,IAAI,EAAE;gBACN,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,IAAI;;AAEvD,YAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC;;;AAI/C,IAAA,MAAM,CAAC,IAAK,EAAA;AACR,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;;AAGxB,IAAA,aAAa,CAAC,IAAI,EAAA;AACd,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU;QAClC,IAAI,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE;AACrH,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACjB,gBAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;AAC5B,gBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM;;gBAEnC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa;AACrD,gBAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;AACxB,oBAAA,IAAI,CAAC,WAAW,GAAG,QAAQ,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK;;AAC7C,qBAAA;oBACH,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;;AAEnD,aAAC,CAAC;;;IAIH,wBAAwB,CAAC,GAAwB,EAAE,MAAa,EAAA;AACnE,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE;YACf,MAAM,eAAe,GAAG,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;;AAEnD,YAAA,IAAI,eAAe,CAAC,aAAa,KAAK,IAAI,EAAE;AACxC,gBAAA,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC;;;;;IAM9C,OAAO,CAAC,SAAS,EAAE,OAAO,EAAA;QAC7B,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;AACxI,YAAA,OAAO,KAAK;;QAEhB,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC;;IAG/C,aAAa,CAAC,MAAM,EAAE,MAAc,EAAA;QACvC,MAAM,CAAC,eAAe,EAAE;QACxB,IAAI,MAAM,CAAC,OAAO,KAAK,EAAE,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,MAAM,CAAC,OAAO,KAAK,EAAE,CAAC,EAAE;YACtL,MAAM,CAAC,cAAc,EAAE;;AAG3B,QAAA,MAAM,SAAS,GAAiC,IAAI,CAAC,SAAS;QAE9D,IAAI,YAAY,GAAW,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC;AAEvE,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,MAAM,UAAU,GAAW,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC;AACxE,YAAA,MAAM,WAAW,GAAW,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACzH,YAAA,IAAI,MAAM,KAAK,YAAY,EAAE;AACzB,gBAAA,IAAI,YAAY,GAAG,CAAC,EAAE;AAClB,oBAAA,IAAI,CAAC,YAAY,IAAI,UAAU,KAAK,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE;wBACvE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,GAAG,CAAC,CAAC;AACjE,wBAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,CAAC;;AAChD,yBAAA,IAAI,YAAY,GAAG,UAAU,EAAE;wBAClC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;wBACnE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,GAAG,CAAC,CAAC;;yBAC9D;wBACH,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,EAAE,EAAC,MAAM,EAAC,CAAC;;;;AAG/D,iBAAA,IAAI,MAAM,KAAK,YAAY,EAAE;gBAChC,IAAI,YAAY,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;AACrC,oBAAA,IAAI,CAAC,YAAY,IAAI,UAAU,KAAK,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE;wBACvE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,GAAG,CAAC,CAAC;AACjE,wBAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,CAAC;;AAChD,yBAAA,IAAI,YAAY,GAAG,UAAU,EAAE;wBAClC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;wBACnE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,GAAG,CAAC,CAAC;;yBAC9D;wBACH,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,EAAE,EAAC,MAAM,EAAC,CAAC;;;;;AAK1E,QAAA,IAAI,MAAM,KAAK,WAAW,EAAE;AACxB,YAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC3B,gBAAA,YAAY,GAAG,YAAY,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC;AACrD,gBAAA,IAAI,YAAY,KAAK,CAAC,EAAE;oBACpB;;gBAGJ,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC;gBAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,GAAG,CAAC,CAAC;gBACzD,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;AACjE,gBAAA,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,KAAK,EAAE;gBAC3C,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,EAAE,cAAc,CAAC;gBAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;gBACpC,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;AACvF,gBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC;AACzB,gBAAA,IAAI,CAAC,YAAY,GAAG,YAAY;AAChC,gBAAA,IAAI,CAAC,QAAQ,GAAG,WAAW;;iBACxB;AACH,gBAAA,YAAY,GAAG,YAAY,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC,CAAC;gBACzD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC;AAC7D,gBAAA,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,KAAK,EAAE;AAC3C,gBAAA,IAAI,CAAC,YAAY,GAAG,YAAY,GAAG,CAAC;AACpC,gBAAA,IAAI,CAAC,QAAQ,GAAG,WAAW;;;AAE5B,aAAA,IAAI,MAAM,KAAK,WAAW,EAAE;AAC/B,YAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAC3B,YAAY,GAAG,YAAY,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,YAAY,KAAK,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC9F,IAAI,YAAY,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC5C;;gBAGJ,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC;gBAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,GAAG,CAAC,CAAC;gBACzD,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;AAChE,gBAAA,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,KAAK,EAAE;gBAC3C,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,EAAE,cAAc,CAAC;gBAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;gBACpC,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;AACvF,gBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC;AACzB,gBAAA,IAAI,CAAC,YAAY,GAAG,YAAY,GAAG,CAAC;AACpC,gBAAA,IAAI,CAAC,QAAQ,GAAG,WAAW;;iBACxB;AACH,gBAAA,YAAY,GAAG,YAAY,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,YAAY,GAAG,CAAC,KAAK,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;gBAClG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC;AAC7D,gBAAA,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,KAAK,EAAE;AAC3C,gBAAA,IAAI,CAAC,YAAY,GAAG,YAAY,GAAG,CAAC;AACpC,gBAAA,IAAI,CAAC,QAAQ,GAAG,WAAW;;;AAE5B,aAAA,IAAI,MAAM,KAAK,QAAQ,EAAE;;YAE5B,IAAI,YAAY,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE;AACvF,gBAAA,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;gBACxD,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,2BAA2B,CAAC;AACpD,gBAAA,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;;AAE1D,YAAA,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;;AAC5D,aAAA,IAAI,MAAM,KAAK,OAAO,EAAE;AAC3B,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBACrB;;AAEJ,YAAA,IAAI,CAAC,oBAAoB,GAAG,CAAC,IAAI,CAAC,oBAAoB;AACtD,YAAA,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;AAC/D,YAAA,IAAI,CAAC,YAAY,GAAG,YAAY,GAAG,CAAC;AACpC,YAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAC3B,IAAI,CAAC,QAAQ,GAAG,CAAA,KAAA,EAAQ,IAAI,CAAC,YAAY,6BAA6B;gBACtE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC;;iBACvC;gBACH,IAAI,CAAC,QAAQ,GAAG,CAAA,KAAA,EAAQ,IAAI,CAAC,YAAY,2BAA2B;gBACpE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,CAAC;;;;AAK1D,IAAA,gBAAgB,CAAC,GAAW,EAAE,EAAO,EAAE,EAAQ,EAAA;AAC3C,QAAA,IAAI,GAAG,KAAK,SAAS,EAAE;AACnB,YAAA,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBAChD;;AAEJ,YAAA,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;;AACrB,aAAA,IAAI,GAAG,KAAK,YAAY,EAAE;AAC7B,YAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AACd,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;;;AAEnC,aAAA,IAAI,GAAG,KAAK,YAAY,EAAE;;AAE7B,YAAA,IAAI,EAAE,KAAK,UAAU,EAAE;AACnB,gBAAA,IAAI,CAAC,UAAU,GAAG,SAAS;gBAC3B;;YAEJ,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,EAAE,EAAE,CAAC;AACvC,YAAA,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC;AAC/B,YAAA,IAAI,IAAI,CAAC,aAAa,EAAE;gBACpB,IAAI,CAAC,aAAa,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe;;;AAE1D,aAAA,IAAI,GAAG,KAAK,aAAa,EAAE;YAC9B,YAAY,CAAC,IAAI,CAAC;;AACf,aAAA,IAAI,GAAG,KAAK,UAAU,EAAE;YAC3B;;AACG,aAAA,IAAI,GAAG,KAAK,eAAe,IAAI,EAAE,EAAE;AACtC,YAAA,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,sBAAsB,CAAC;YACvC,IAAI,CAAC,wBAAwB,EAAE;;AAC5B,aAAA,IAAI,GAAG,KAAK,iBAAiB,EAAE;AAClC,YAAA,IAAI,IAAI,CAAC,aAAa,EAAE;;AAEpB,gBAAA,UAAU,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,GAAG,EAAE,CAAC;;;AAE1D,aAAA,IAAI,GAAG,KAAK,UAAU,EAAE;AAC3B,YAAA,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG;AACzB,gBAAA,UAAU,EAAE;aACf;YACD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE;AACzC,YAAA,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,EAAE;;AAC/B,aAAA,IAAI,GAAG,KAAK,eAAe,EAAE;AAChC,YAAA,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE;gBACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC;gBAClD,IAAI,CAAC,YAAY,EAAE;AACnB,gBAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;;AAC3B,iBAAA,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,EAAE;AAC3B,gBAAA,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC;AAC1C,gBAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;;;aAEhC;YACH,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;;;IAIpC,WAAW,CAAC,GAAQ,EAAE,SAA4B,EAAA;AACrD,QAAA,IAAI,WAAmB;AAEvB,QAAA,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;YACxB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,SAAS;;AAE5D,YAAA,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;;AAG3G,YAAA,IAAI,IAAI,CAAC,WAAW,IAAI,QAAQ,EAAE,EAAE;gBAChC,IAAI,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC,QAAQ,EAAE;AAC7D,oBAAA,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC;;qBACpC;oBACH,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,EAAE,EAAC,MAAM,EAAE,GAAG,EAAC,CAAC;;;AAEhE,iBAAA,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,WAAW,EAAE;gBACzD,IAAI,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC,QAAQ,EAAE;oBAC7D,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,GAAG,SAAS;AAC1D,oBAAA,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC;;qBACpC;oBACH,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,EAAE,EAAC,MAAM,EAAE,GAAG,EAAC,CAAC;;;iBAEhE,IAAI,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE;AACzC,gBAAA,IAAI,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK;gBACnC,IAAI,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK;;AAG/C,gBAAA,IAAI,KAAK,GAAG,IAAI,EAAE;oBACd,IAAI,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;;gBAEnC,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE;oBACxC,IAAI,CAAC,kBAAkB,EAAE;oBACzB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAA0B,KAAI;AAClD,wBAAA,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK;wBACnC,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,EAAE;AACjC,4BAAA,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC;;AAE7C,qBAAC,CAAC;AACF,oBAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS;;qBAC9B;oBACH,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,EAAE,EAAC,MAAM,EAAE,GAAG,EAAC,CAAC;;;iBAGhE;gBACH,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,WAAW,GAAG,CAAC,EAAE;oBACxC,IAAI,CAAC,kBAAkB,EAAE;AACzB,oBAAA,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC;oBACvC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,GAAG,SAAS;;;AAGlE,YAAA,UAAU,EAAE;;;;IAKb,KAAK,GAAA;AACR,QAAA,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;;AAG5B;;;AAGG;AACI,IAAA,YAAY,CAAC,GAAQ,EAAA;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC;AACnD,QAAA,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE;AAC/B,YAAA,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC;;;AAI9C;;;AAGG;IACI,UAAU,CAAC,GAAG,EAAE,yBAA0B,EAAA;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC;QACnD,IAAI,CAAC,QAAQ,EAAE;YACX;;AAEJ,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;AACpB,YAAA,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,yBAAyB,CAAC;;;AAGrE,QAAA,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE;;IAGlC,QAAQ,GAAA;QACJ,KAAK,CAAC,QAAQ,EAAE;AAChB,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;QAC7B,UAAU,CAAC,MAAK;AACZ,YAAA,IAAI,CAAC,iCAAiC,GAAG,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,wBAAwB,EAAE,IAAI,CAAC;SACvK,EAAE,CAAC,CAAC;AACL,QAAA,IAAI,CAAC,MAAM,GAAG,EAAE;AAChB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;QACnB,IAAI,CAAC,YAAY,GAAG;AAChB,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,QAAQ,EAAE;SACb;;IAGL,eAAe,GAAA;QACX,IAAI,CAAC,iBAAiB,EAAE;AACxB,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAK;YAC5B,KAAK,CAAC,eAAe,EAAE;YACvB,IAAI,CAAC,gBAAgB,EAAE;AACvB,YAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,WAAW,GAAG,EAAE,GAAG,EAAE;AACrD,YAAA,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC;YAE/D,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACrC,IAAI,GAAG,EAAE;oBACL,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC;;gBAE9C,IAAI,CAAC,YAAY,EAAE;;AAEvB,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBACrB,IAAI,GAAG,EAAE;AACL,oBAAA,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC;;;YAG1C,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE;AAClC,gBAAA,IAAI,CAAC,iBAAiB,GAAG,iBAAiB;gBAC1C,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;;YAElE,YAAY,CAAC,IAAI,CAAC;AACtB,SAAC,CAAC;QACF,IAAI,CAAC,aAAa,EAAE;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,2BAA2B,CAAC;QACzE,MAAM,CAAC,GAAkB,EAAE,IAAI,EAAE,iBAAiB,CAAC,oBAAoB,CAAC;AACxE,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,GAAG,EAAE;gBACL,GAAG,CAAC,YAAY,CAAC,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC;;;AAG1D,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACrB,IAAI,GAAG,EAAE;AACL,gBAAA,GAAG,CAAC,eAAe,CAAC,kBAAkB,CAAC;;;;IAKnD,WAAW,GAAA;QACP,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE;AAC3D,YAAA,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,WAAW,EAAE;;AAErD,QAAA,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,KAAK,CAAC,WAAW,EAAE;;IAGvB,UAAU,GAAA;QACN,KAAK,CAAC,UAAU,EAAE;AAClB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;;AAGf,IAAA,WAAW,CAAC,IAAiB,EAAE,SAAiB,EAAE,aAAuB,EAAE,MAAW,EAAA;;AAE5F,QAAA,MAAM,YAAY,GAAG;AACjB,YAAA,GAAG,EAAE,OAAO;AACZ,YAAA,SAAS,EAAE;SACd;AACD,QAAA,IAAI,QAAQ,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,SAAS,CAAC,EAAE;AAChE,YAAA,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAC9B,IAAI,CAAC,aAAa,EAClB,YAAY,CAAC,SAAS,CAAC,IAAI,SAAS,EACpC,CAAC,GAAG,KAAI;AACJ,gBAAA,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;AACtD,gBAAA,IAAI,MAAM,CAAC,MAAM,EAAE;oBACf,MAAM,eAAe,GAAsB,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;AACzE,oBAAA,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;AAC9B,wBAAA,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE;AAChC,4BAAA,MAAM,EAAE,eAAe;AACvB,4BAAA,MAAM,EAAE,GAAG;4BACX,IAAI,EAAE,eAAe,CAAC;AACzB,yBAAA,CAAC;;;AAGd,aAAC,CACJ;;;IAID,kBAAkB,GAAA;AACtB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACjE,QAAA,OAAO,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE;;AAG7B,IAAA,iBAAiB,CAAC,OAAO,EAAA;QAC7B,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,kBAAkB,EAAE,KAAK,MAAM,EAAE;AACxD,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK;YACtB,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC;AAC9D,YAAA,IAAI,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE;gBAChC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE;gBACvC,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC,UAAU;;AAEjD,YAAA,IAAI,GAAG,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE;AAClC,gBAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI;;;;IAKnC,cAAc,CAAC,SAAS,EAAE,IAAK,EAAA;QACnC,eAAe,CAAC,IAAI,CAAC;;QAErB,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY;QACxE,IAAI,IAAI,EAAE;YACN,GAAG,GAAG,IAAI;;QAEd,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,EAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAC,CAAC;;IAGrE,eAAe,GAAA;AACnB,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK;AAC3B,QAAA,IAAI,CAAC,WAAW,GAAG,SAAS;AAC5B,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK;;IAGrB,qBAAqB,GAAA;AACzB,QAAA,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,KAAK;AACxC,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI;;IAGtB,sBAAsB,GAAA;AAC1B,QAAA,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,MAAM;;IAGrC,uBAAuB,GAAA;AAC3B,QAAA,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,OAAO;AAC1C,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI;;IAGtB,qBAAqB,GAAA;AACzB,QAAA,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,KAAK;AACxC,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI;;IAGtB,qBAAqB,GAAA;AACzB,QAAA,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,IAAI;AACvC,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK;;IAGvB,oBAAoB,GAAA;AACxB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI;;IAGjB,kBAAkB,GAAA;AACtB,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI;AACxB,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI;;AAG9B;;;AAGG;AACK,IAAA,sBAAsB,CAAC,IAAI,EAAA;QAC/B,IAAI,CAAC,eAAe,EAAE;QACtB,QAAQ,IAAI;YACR,KAAK,eAAe,CAAC,KAAK;gBACtB,IAAI,CAAC,qBAAqB,EAAE;gBAC5B;YACJ,KAAK,eAAe,CAAC,MAAM;gBACvB,IAAI,CAAC,sBAAsB,EAAE;gBAC7B;YACJ,KAAK,eAAe,CAAC,QAAQ;YAC7B,KAAK,eAAe,CAAC,OAAO;gBACxB,IAAI,CAAC,uBAAuB,EAAE;gBAC9B;YACJ,KAAK,eAAe,CAAC,KAAK;gBACtB,IAAI,CAAC,qBAAqB,EAAE;gBAC5B;YACJ,KAAK,eAAe,CAAC,IAAI;gBACrB,IAAI,CAAC,qBAAqB,EAAE;gBAC5B;YACJ,KAAK,eAAe,CAAC,MAAM;gBACvB,IAAI,CAAC,oBAAoB,EAAE;gBAC3B;YACJ,KAAK,eAAe,CAAC,QAAQ;gBACzB,IAAI,CAAC,kBAAkB,EAAE;gBACzB;;;AAIZ;;;;AAIG;AACK,IAAA,eAAe,CAAC,MAAkB,EAAA;QACtC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,EAAE;AACrC,YAAA,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,IAAI,EAAE,MAAM,CAAC;;aAC/F;AACH,YAAA,IAAI,CAAC,SAAS,GAAG,MAAM;;AAG3B,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AACd,YAAA,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC;;AAEpE,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AACd,YAAA,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;;AAG3J,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;AACxB,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI;AACvB,YAAA,IAAI,CAAC,YAAY,GAAG,SAAS;;AAEjC,QAAA,UAAU,EAAE;AACZ,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;;AAGrB,IAAA,YAAY,CAAC,MAAM,EAAA;;AAEvB,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AAElB,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK;AACxB,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI;AAEzB,YAAA,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE;;AAE/E,gBAAA,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;;YAG9B,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AACtC,gBAAA,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC;;AAG5C,YAAA,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;AAClB,gBAAA,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;;;YAI9B,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,KAAK,KAAK,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AACjM,gBAAA,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY,EAAE;AAChE,oBAAA,MAAM,EAAE;AACX,iBAAA,CAAC;;AAGN,YAAA,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE;AACjB,gBAAA,IAAI,MAAM,CAAC,MAAM,EAAE;oBACf,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,EAAC,KAAK,EAAE,MAAM,EAAC,CAAC;;AAEjE,gBAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;;;aAE7B;AACH,YAAA,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;;;;IAKxB,eAAe,GAAA;AACnB,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa;QAExC,aAAa,CAAC,OAAO,GAAG;AACpB,YAAA,UAAU,EAAE,IAAI,CAAC,QAAQ,IAAI;SAChC;AAED,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI;AAEhC,QAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC3B,YAAA,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE;;;AAG3C,QAAA,IAAI,CAAC,oBAAoB,GAAG,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,MAAW,KAAI;AAC9E,YAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;SAC5B,EAAE,IAAI,CAAC;;AAER,QAAA,IAAI,IAAI,CAAC,uBAAuB,EAAE;AAC9B,YAAA,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE;;;AAG9C,QAAA,IAAI,CAAC,uBAAuB,GAAG,aAAa,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,GAAG,KAAI;AAC7E,YAAA,IAAI,CAAC,QAAQ,GAAG,GAAG;AACvB,SAAC,CAAC;QAEF,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE;AAC9C,QAAA,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC;;;QAGrC,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;AACzD,QAAA,IAAI,CAAC,aAAa,CAAC,cAAc,CAC7B,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,UAAU,EACf,gBAAgB,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,EACjD,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,cAAc,EACnB,gBAAgB,EAChB,IAAI,CAAC,YAAY,CACpB;;AAGG,IAAA,eAAe,CAAC,MAAM,EAAA;QAC1B,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,KAAK,aAAa,IAAI,IAAI,CAAC,kBAAkB,EAAE,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE;YAC9G,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC;AAC9D,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,YAAA,IAAI,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE;AAChC,gBAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAC,IAAI,EAAE,WAAW,CAAC,UAAU,EAAC,EAAE,IAAI,CAAC;;AAExE,YAAA,IAAI,GAAG,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE;AAClC,gBAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI;;;AAGvC,QAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;AAC5B,YAAA,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,eAAe,CAAC,IAAI,EAAE;gBAC7D,IAAI,CAAC,eAAe,EAAE;;iBACnB;AACH,gBAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;;;AAE1B,aAAA,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,eAAe,CAAC,IAAI,EAAE;;YAEpE,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;;;;IAKjD,iBAAiB,GAAA;AACrB,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;;;IAIjD,kBAAkB,GAAA;QACtB,IAAI,CAAC,iBAAiB,EAAE;AACxB,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;AACtB,QAAA,UAAU,EAAE;;AAGhB;;;;AAIG;AACK,IAAA,kBAAkB,CAAC,SAAS,EAAA;QAChC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAI;AACpC,YAAA,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI;AAC3B,YAAA,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE;;AAEhD,gBAAA,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;gBACxB,OAAO,OAAO,CAAC,WAAW;;AAE9B,YAAA,IAAI,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE;AAC7B,gBAAA,OAAO,IAAI;;SAElB,CAAC,IAAI,IAAI;;AAGN,IAAA,0BAA0B,CAAC,yBAA0B,EAAA;AACzD,QAAA,IAAI,GAAG,GAAG,EAAE,EAAE,WAAW;AACzB,QAAA,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,gBAAgB,CAAC,IAAI,CAAC;AAC9D,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE,KAAK,MAAM,EAAE;;YAEtC,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE;AAC9D,YAAA,IAAI,GAAG,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE;;AAElC,gBAAA,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;AACpD,oBAAA,WAAW,CAAC,YAAY,GAAG,EAAE;;qBAC1B;AACH,oBAAA,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,UAAU,YAAiB,EAAA;AACxD,wBAAA,OAAO,YAAY,CAAC,IAAI,KAAK,OAAO;AACxC,qBAAC,CAAC;;;;AAId,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACjB,YAAA,IAAI,CAAC,mBAAwC,CAAC,MAAM,GAAG,CAAC;;QAE7D,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAuB,EAAE,KAAK,KAAI;AACtD,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,gBAAA,IAAI,IAAI,CAAC,WAAW,EAAE;oBACjB,IAAI,CAAC,mBAAwC,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC;;qBACzE;AACH,oBAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,kBAAkB;;gBAEtD,GAAG,GAAG,EAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAC;gBACnC,IAAI,GAAG,CAAC,WAAW,EAAE,cAAc,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE;oBACtD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE;AACtC,wBAAA,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;;;qBAEnC;AACH,oBAAA,WAAW,CAAC,YAAY,GAAG,CAAC,GAAG,CAAC;;;AAG5C,SAAC,CAAC;QACF,IAAI,IAAI,CAAC,kBAAkB,EAAE,KAAK,MAAM,IAAI,CAAC,yBAAyB,EAAE;YACpE,IAAI,gCAAgC,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBAC/D,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,EAAE,cAAc,CAAC;AAC7D,gBAAA,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,EAAE,EAAC,cAAc,EAAE,WAAW,CAAC,YAAY,EAAC,CAAC;;iBACnF;gBACH,OAAO,CAAC,IAAI,CAAC,kCAAkC,GAAG,IAAI,CAAC,IAAI,GAAG,gDAAgD,CAAC;;;;AAK3H;;;;AAIG;IACK,uBAAuB,CAAC,SAA4B,EAAE,yBAA0B,EAAA;;AAEpF,QAAA,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;AACrC,YAAA,IAAI,IAAI,GAAG,SAAS,CAAC,IAAI;YACzB,IAAI,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE;;AAE1C,gBAAA,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;gBAClB,OAAO,IAAI,CAAC,WAAW;;AAE3B,YAAA,IAAI,SAAS,CAAC,QAAQ,EAAE;AACpB,gBAAA,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;AACvD,gBAAA,SAAS,CAAC,QAAQ,GAAG,KAAK;;iBACvB;;AAEH,gBAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBACnB,IAAI,CAAC,kBAAkB,EAAE;;AAE7B,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AACtB,gBAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC;AACpE,gBAAA,SAAS,CAAC,QAAQ,GAAG,IAAI;;AAE7B,YAAA,IAAI,CAAC,0BAA0B,CAAC,yBAAyB,CAAC;;;AAIlE;;;AAGG;AACK,IAAA,YAAY,CAAC,SAAuC,EAAA;;AAExD,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;;YAEpB,eAAe,CAAC,IAAI,CAAC;AACrB,YAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAC,CAAC;;AAE/D,QAAA,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,kBAAkB,EAAE,KAAK,MAAM,IAAI,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5G,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC;AAC9D,YAAA,IAAI,GAAG,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE;AAClC,gBAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK;AAChC,gBAAA,MAAM,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACzH,gBAAA,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,gBAAgB,CAAC,IAAI,CAAC;gBAClE,WAAW,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,IAAI,CAAC;;AAEpD,gBAAA,IAAI,mBAAmB,KAAK,WAAW,CAAC,YAAY,CAAC,MAAM,IAAI,WAAW,CAAC,UAAU,KAAK,WAAW,EAAE;oBACnG,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACtC,wBAAA,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;4BAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;;AAEzC,qBAAC,CAAC;;;;QAId,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;QAE1F,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI;;;QAIrD,IAAI,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,eAAe,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,mBAAmB,KAAK,KAAK,EAAE;AAC7H,YAAA,MAAM,UAAU,GAAsB,SAAS,CAAC,KAAK;YAErD,IACI,CAAC,UAAU,CAAC,WAAW;AACvB,gBAAA,IAAI,CAAC,aAAa;;gBAElB,EACI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY;AACpC,oBAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CACrB,EACH;gBACE,IAAI,CAAC,kBAAkB,EAAE;gBACzB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,GAAG,UAAU;;AAE3D,gBAAA,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;;;aAEnB;YACH,IAAI,CAAC,iBAAiB,EAAE;AACxB,YAAA,aAAa,CAAC,OAAO,CAAC,YAAY,IAAG;gBACjC,MAAM,QAAQ,GAAsB,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC;gBACzE,IAAI,QAAQ,EAAE;AACV,oBAAA,QAAQ,CAAC,QAAQ,GAAG,IAAI;AACxB,oBAAA,IAAI,CAAC,gBAAgB,GAAG,QAAQ;;AAEhC,oBAAA,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE;;AAEtC,aAAC,CAAC;;QAGN,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE;YACzC,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC;;YAEhE,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC;AACtD,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;AAChD,YAAA,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,GAAG,GAAG;YACxC,IAAI,QAAQ,EAAE,IAAI,SAAS,CAAC,MAAM,IAAI,MAAM,GAAG,OAAO,EAAE;gBACpD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;;AAE/C,YAAA,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,wBAAwB,CAAC;;AAI/F,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;;IAGtB,aAAa,GAAA;QACjB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,IAAG;AACzC,YAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;AAC5B,YAAA,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;AAC9B,SAAC,CAAC;;AAEF,QAAA,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,MAAM,KAAI;AAC/F,YAAA,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;;YAEvD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,aAAa,CAAC,EAAE;gBACnG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC;;AAEtD,YAAA,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC;SAChD,EAAE,IAAI,CAAC;;;IAIJ,cAAc,CAAC,GAAG,EAAE,EAAE,EAAA;AAC1B,QAAA,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;AACvC,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;;;IAIzC,MAAM,CAAC,GAAG,EAAE,EAAE,EAAA;;;AAGlB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAkB,eAAA,EAAA,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE;AAChG,YAAA,IAAI,cAAc,IAAI,cAAc,CAAC,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE;AACtD,gBAAA,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,wBAAwB,CAAC;gBAC3F,IAAI,CAAC,iCAAiC,EAAE;;;;;AAM5C,IAAA,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAE,YAAa,EAAA;AACnC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS;;AAE3B,QAAA,MAAM,QAAQ,GAAG,EAAE,KAAK,SAAS,GAAG,YAAY,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QAE7C,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE1C,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;;QAE7C,IAAI,WAAW,EAAE;AACb,YAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE,KAAK,MAAM,EAAE;gBACtC,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,EAAE,cAAc,CAAC;;AAGjE,YAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AACxE,YAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAExE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,WAAW,CAAC;AAErC,YAAA,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;AACzB,YAAA,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;AAC1B,YAAA,MAAM,YAAY,GAAG;AACjB,gBAAA,QAAQ,EAAE,QAAQ;AAClB,gBAAA,QAAQ,EAAE,QAAQ;AAClB,gBAAA,IAAI,EAAE,IAAI,CAAC,QAAQ;aACtB;AACD,YAAA,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,EAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAC,CAAC;AAC7E,YAAA,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;;;;IAKlC,YAAY,GAAA;AAChB,QAAA,IAAI,QAAQ;QACZ,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC1C,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACxB,QAAQ,GAAG,QAAQ;;AAChB,aAAA,IAAI,OAAO,CAAC,MAAM,EAAE;YACvB,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;;AACnC,aAAA;YACH,QAAQ,GAAG,MAAM;;AAGrB,QAAA,MAAM,OAAO,GAAG;AACZ,YAAA,QAAQ,EAAE,QAAQ;SACrB;QAED,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC;AAEjD,QAAA,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpH,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAC,QAAQ,EAAE,gBAAgB,EAAC,CAAC;;;AAO/C,IAAA,mBAAmB,CAAC,KAAa,EAAA;AACrC,QAAA,QAAQ,CAAC,IAAI,CAAC,cAAc,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc;;;AAIvD,IAAA,kBAAkB,CAAC,KAAa,EAAA;QACpC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC;;AAG1C;;;;AAIG;AACK,IAAA,gBAAgB,CAAC,IAAuB,EAAA;QAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;;AAGjD;;;;AAIG;AACK,IAAA,wBAAwB,CAAC,GAAQ,EAAA;AACrC,QAAA,IAAI,QAA2B;AAC/B,QAAA,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE;AACf,YAAA,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC;;aACpC;AACH,YAAA,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC;;AAE3C,QAAA,OAAO,QAAQ;;IAGX,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAA;QACzC,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,EAAC,MAAM,EAAE,MAAM,EAAC,CAAC;;AAGlE,IAAA,SAAS,CAAC,MAAc,EAAA;QACpB,OAAO,MAAM,CAAC;;;IAIV,wBAAwB,GAAA;AAC5B,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,MAAK;YACnE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;AAChD,gBAAA,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;;SAEpC,CAAC,CAAC;;IAGC,gBAAgB,GAAA;QACpB,MAAM,QAAQ,GAAG,QAAQ,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACpE,IAAI,QAAQ,EAAE;;AAEV,YAAA,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,IAAG;gBACrC,IAAI,CAAC,MAAM,EAAE;AACjB,aAAC,CAAC;;;AAnsCD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,SAAA,qBAAA,CAAA,iBAAA,EAAA,EAAA,OAAA,KAAA,iBAAA,IAAA,aAAa,EAmGP,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,GAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,gBAAgB,CAChB,EAAA,EAAA,CAAA,iBAAA,CAAA,kBAAkB,CAClB,EAAA,EAAA,CAAA,iBAAA,CAAA,cAAc,CACd,EAAA,EAAA,CAAA,iBAAA,CAAA,iBAAiB,CACjB,EAAA,EAAA,CAAA,iBAAA,CAAA,kBAAkB,CAClB,EAAA,EAAA,CAAA,iBAAA,CAAA,kBAAkB,+GAGrB,kBAAkB,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA;oEA3GrB,aAAa,EAAA,SAAA,EAAA,CAAA,CAAA,KAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA,EAAA,cAAA,EAAA,SAAA,4BAAA,CAAA,EAAA,EAAA,GAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;;;wCAOL,eAAe,EAAA,CAAA,CAAA;;;;;;;;2BAErB,mBAAmB,EAAA,CAAA,CAAA;2BAChB,iBAAiB,EAAA,CAAA,CAAA;;;;;AAdpB,SAAA,EAAA,EAAA,UAAA,EAAA,IAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,kBAAA,CAAA;gBACP,kBAAkB,CAAC,aAAa;AACnC,aAAA,CAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,KAAA,EAAA,GAAA,EAAA,KAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,CAAA,CAAA,aAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAAA,EAAA,eAAA,CAAA,EAAA,CAAA,YAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,CAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,CAAA,EAAA,eAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,yBAAA,EAAA,0BAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,aAAA,EAAA,CAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,aAAA,EAAA,MAAA,EAAA,CAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA,EAAA,aAAA,EAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,MAAA,EAAA,qBAAA,EAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,aAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,CAAA,EAAA,OAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,CAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAAA,EAAA,kBAAA,EAAA,0BAAA,EAAA,yBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,qBAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,sBAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,eAAA,CAAA,EAAA,CAAA,CAAA,EAAA,UAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,eAAA,CAAA,EAAA,CAAA,CAAA,EAAA,sBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,CAAA,aAAA,EAAA,MAAA,EAAA,CAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,aAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,sBAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,sBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,qBAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,eAAA,EAAA,wBAAA,EAAA,wCAAA,CAAA,EAAA,CAAA,MAAA,EAAA,qBAAA,EAAA,CAAA,EAAA,YAAA,EAAA,KAAA,EAAA,WAAA,EAAA,CAAA,EAAA,SAAA,EAAA,aAAA,CAAA,EAAA,CAAA,MAAA,EAAA,qBAAA,EAAA,CAAA,EAAA,YAAA,EAAA,KAAA,EAAA,WAAA,EAAA,CAAA,EAAA,OAAA,EAAA,SAAA,EAAA,aAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,sBAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;YD3FL,EAAwC,CAAA,UAAA,CAAA,CAAA,EAAA,oCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,oCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAcO,CAaA,CAAA,EAAA,oCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA;YAI/C,EAAK,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,CAAA;AAOH,YANA,sEAAqB,CAM6B,CAAA,EAAA,oCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA;YAKpD,EAAM,CAAA,YAAA,EAAA;YAEN,EAeG,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA;YATD,EALA,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,kDAAA,CAAA,MAAA,EAAA,EAAA,OAAiB,GAAsB,CAAA,aAAA,CAAA,MAAA,EAAA,QAAQ,CAAC,CAAA,EAAA,CAAC,+FAEhC,GAAsB,CAAA,aAAA,CAAA,MAAA,EAAA,OAAO,CAAC,CAAA,EAAA,CAAC,CAE7B,iBAAA,EAAA,SAAA,oDAAA,CAAA,MAAA,EAAA,EAAA,OAAA,GAAA,CAAA,aAAA,CAAA,MAAA,EAAsB,WAAW,CAAC,CAAC,EAAA,CAAA,CAAA,mBAAA,EAAA,SAAA,sDAAA,CAAA,MAAA,EAAA,EAAA,OACjC,GAAsB,CAAA,aAAA,CAAA,MAAA,EAAA,WAAW,CAAC,CAAA,EAAA,CAAC,uGACnC,GAAsB,CAAA,aAAA,CAAA,MAAA,EAAA,WAAW,CAAC,CAAA,EAAA,CAAC,CAClC,oBAAA,EAAA,SAAA,uDAAA,CAAA,MAAA,EAAA,EAAA,OAAA,GAAA,CAAA,aAAA,CAAA,MAAA,EAAsB,WAAW,CAAC,CAAC,EAAA,CAAA,CAAA,uBAAA,EAAA,SAAA,0DAAA,CAAA,MAAA,EAAA,EAAA,OAEhC,GAAsB,CAAA,aAAA,CAAA,MAAA,EAAA,YAAY,CAAC,CAAA,EAAA,CAAC,CAClC,yBAAA,EAAA,SAAA,4DAAA,CAAA,MAAA,EAAA,EAAA,OAAA,GAAA,CAAA,aAAA,CAAA,MAAA,EAAsB,YAAY,CAAC,CAAC,EAAA,CAAA,CAAA,yBAAA,EAAA,SAAA,4DAAA,CAAA,MAAA,EAAA,EAAA,OACpC,GAAsB,CAAA,aAAA,CAAA,MAAA,EAAA,YAAY,CAAC,CAAA,EAAA,CAAC,CACnC,0BAAA,EAAA,SAAA,6DAAA,CAAA,MAAA,EAAA,EAAA,OAAA,GAAA,CAAA,aAAA,CAAA,MAAA,EAAsB,YAAY,CAAC,CAAC,EAAA,CAAA;AAe9D,YAZF,4DAAgB,CAYP,CAAA,EAAA,oCAAA,EAAA,CAAA,EAAA,CAAA,CAAA;AAmCT,YADA,2BAAyE,CACC,EAAA,EAAA,CAAA,CAAA;YAC5E,EAAK,CAAA,YAAA,EAAA;AA8BL,YA5BA,EAAwC,CAAA,UAAA,CAAA,EAAA,EAAA,qCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,qCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAIE,4DAUK,CAclB,EAAA,EAAA,qCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA;;YA3I7B,EAYC,CAAA,aAAA,CAAA,GAAA,CAAA,KAAA,IAAA,GAAA,CAAA,UAAA,IAAA,GAAA,CAAA,SAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA;YAED,EAYC,CAAA,SAAA,EAAA;YAZD,EAYC,CAAA,aAAA,CAAA,GAAA,CAAA,UAAA,KAAA,QAAA,IAAA,CAAA,GAAA,CAAA,WAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA;YACD,EAEC,CAAA,SAAA,EAAA;YAFD,EAEC,CAAA,aAAA,CAAA,GAAA,CAAA,UAAA,KAAA,QAAA,IAAA,CAAA,GAAA,CAAA,WAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA;YAGC,EAIC,CAAA,SAAA,CAAA,CAAA,CAAA;YAJD,EAIC,CAAA,aAAA,CAAA,GAAA,CAAA,aAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA;YAED,EAIC,CAAA,SAAA,EAAA;YAJD,EAIC,CAAA,aAAA,CAAA,GAAA,CAAA,SAAA,IAAA,GAAA,CAAA,aAAA,IAAA,GAAA,CAAA,YAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA;YAG6B,EAAgH,CAAA,SAAA,EAAA;YAAhH,EAAgH,CAAA,sBAAA,CAAA,kCAAA,EAAA,GAAA,CAAA,SAAA,KAAA,YAAA,GAAA,qBAAA,GAAA,EAAA,EAAA,GAAA,EAAA,GAAA,CAAA,SAAA,EAAA,EAAA,CAAA;YAc9I,EAA2C,CAAA,UAAA,CAAA,QAAA,EAAA,GAAA,CAAA,WAAA,IAAA,CAAA,GAAA,CAAA,gBAAA,CAAA;;YAE3C,EA6CC,CAAA,SAAA,EAAA;YA7CD,EA6CC,CAAA,aAAA,CAAA,CAAA,GAAA,CAAA,OAAA,GAAA,CAAA,GAAA,CAAA,CAAA;YACa,EAA2C,CAAA,SAAA,CAAA,CAAA,CAAA;YAA3C,EAA2C,CAAA,UAAA,CAAA,kBAAA,EAAA,GAAA,CAAA,sBAAA,CAAA;YAC3C,EAA4C,CAAA,SAAA,EAAA;YAA5C,EAA4C,CAAA,UAAA,CAAA,kBAAA,EAAA,GAAA,CAAA,uBAAA,CAAA;YAG5D,EAEC,CAAA,SAAA,EAAA;YAFD,EAEC,CAAA,aAAA,CAAA,GAAA,CAAA,WAAA,IAAA,CAAA,GAAA,CAAA,gBAAA,GAAA,EAAA,GAAA,CAAA,CAAA,CAAA;YAED,EAQC,CAAA,SAAA,EAAA;YARD,EAQC,CAAA,aAAA,CAAA,GAAA,CAAA,gBAAA,IAAA,CAAA,GAAA,CAAA,aAAA,GAAA,EAAA,GAAA,CAAA,CAAA,CAAA;YAED,EAYC,CAAA,SAAA,EAAA;YAZD,EAYC,CAAA,aAAA,CAAA,GAAA,CAAA,UAAA,KAAA,QAAA,IAAA,CAAA,GAAA,CAAA,WAAA,GAAA,EAAA,GAAA,CAAA,CAAA,CAAA;YAED,EAsBC,CAAA,SAAA,EAAA;YAtBD,EAsBC,CAAA,aAAA,CAAA,GAAA,CAAA,UAAA,KAAA,MAAA,GAAA,EAAA,GAAA,CAAA,CAAA,CAAA;AC3EW,SAAA,EAAA,EAAA,YAAA,EAAA,CAAA,YAAY,EAAE,EAAA,CAAA,OAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,kBAAkB,EAAE,EAAA,CAAA,oBAAA,EAAA,mBAAmB,EAAE,iBAAiB,CAAA,EAAA,aAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;iFAOvE,aAAa,EAAA,CAAA;cATzB,SAAS;AACI,QAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,EACvE,QAAA,EAAA,aAAa,EAEZ,SAAA,EAAA;AACP,oBAAA,kBAAkB,CAAe,aAAA;AACpC,iBAAA,EAAA,QAAA,EAAA,6iPAAA,EAAA;;sBAqGI,SAAS;uBAAC,gBAAgB;;sBAC1B,SAAS;uBAAC,kBAAkB;;sBAC5B,SAAS;uBAAC,cAAc;;sBACxB,SAAS;uBAAC,iBAAiB;;sBAC3B,SAAS;uBAAC,kBAAkB;;sBAC5B,SAAS;uBAAC,kBAAkB;;sBAG5B,MAAM;uBAAC,kBAAkB;;sBAAG;qBAxGH,YAAY,EAAA,CAAA;kBAAzC,YAAY;mBAAC,cAAc;YAEY,sBAAsB,EAAA,CAAA;kBAA7D,YAAY;mBAAC,wBAAwB;YACG,uBAAuB,EAAA,CAAA;kBAA/D,YAAY;mBAAC,yBAAyB;YACL,aAAa,EAAA,CAAA;kBAA9C,eAAe;mBAAC,eAAe;YAEA,aAAa,EAAA,CAAA;kBAA5C,SAAS;mBAAC,mBAAmB;YACG,SAAS,EAAA,CAAA;kBAAzC,YAAY;mBAAC,iBAAiB;;kFAVtB,aAAa,EAAA,EAAA,SAAA,EAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA,GAAA;;AC7F1B;;AAEG;;;;"}