@wavemaker/app-ng-runtime 11.10.5-rc.6100 → 11.11.0-1.6140

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 (1174) 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 +86 -278
  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 +33 -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 +3 -1
  55. package/components/base/esm2022/utils/live-utils.mjs +3 -7
  56. package/components/base/esm2022/widgets/common/base/base-field-validations.mjs +4 -2
  57. package/components/base/esm2022/widgets/common/base/base.component.mjs +3 -5
  58. package/components/base/esm2022/widgets/common/base/custom-widget-container.directive.mjs +3 -2
  59. package/components/base/esm2022/widgets/common/base/partial-container.directive.mjs +3 -2
  60. package/components/base/esm2022/widgets/common/base/text-content.directive.mjs +3 -2
  61. package/components/base/esm2022/widgets/common/container/container.directive.mjs +3 -2
  62. package/components/base/esm2022/widgets/common/dialog/dialog.service.mjs +3 -3
  63. package/components/base/esm2022/widgets/common/item-template/item-template.directive.mjs +3 -2
  64. package/components/base/esm2022/widgets/common/lazy-load/lazy-load.directive.mjs +3 -2
  65. package/components/base/esm2022/widgets/common/message/message.component.mjs +5 -5
  66. package/components/base/esm2022/widgets/common/partial/partial.directive.mjs +3 -2
  67. package/components/base/esm2022/widgets/common/partial-param/partial-param.directive.mjs +5 -3
  68. package/components/base/esm2022/widgets/common/redraw/redrawable.directive.mjs +3 -2
  69. package/components/base/esm2022/widgets/common/repeat-template/repeat-template.directive.mjs +3 -2
  70. package/components/base/fesm2022/index.mjs +85 -276
  71. package/components/base/fesm2022/index.mjs.map +1 -1
  72. package/components/base/pipes/custom-pipes.d.ts +15 -15
  73. package/components/base/pipes/image.pipe.d.ts +1 -1
  74. package/components/base/pipes/sanitize.pipe.d.ts +1 -1
  75. package/components/base/pipes/trust-as.pipe.d.ts +1 -1
  76. package/components/base/public_api.d.ts +0 -1
  77. package/components/base/widgets/common/base/custom-widget-container.directive.d.ts +1 -1
  78. package/components/base/widgets/common/base/partial-container.directive.d.ts +1 -1
  79. package/components/base/widgets/common/base/text-content.directive.d.ts +1 -1
  80. package/components/base/widgets/common/container/container.directive.d.ts +1 -1
  81. package/components/base/widgets/common/item-template/item-template.directive.d.ts +1 -1
  82. package/components/base/widgets/common/lazy-load/lazy-load.directive.d.ts +1 -1
  83. package/components/base/widgets/common/message/message.component.d.ts +1 -1
  84. package/components/base/widgets/common/partial/partial.directive.d.ts +1 -1
  85. package/components/base/widgets/common/partial-param/partial-param.directive.d.ts +2 -2
  86. package/components/base/widgets/common/redraw/redrawable.directive.d.ts +1 -1
  87. package/components/base/widgets/common/repeat-template/repeat-template.directive.d.ts +1 -1
  88. package/components/basic/default/anchor/anchor.component.d.ts +1 -1
  89. package/components/basic/default/audio/audio.component.d.ts +1 -1
  90. package/components/basic/default/bundles/index.umd.js +100 -148
  91. package/components/basic/default/esm2022/anchor/anchor.component.mjs +23 -21
  92. package/components/basic/default/esm2022/audio/audio.component.mjs +7 -6
  93. package/components/basic/default/esm2022/html/html.directive.mjs +3 -2
  94. package/components/basic/default/esm2022/icon/icon.component.mjs +17 -16
  95. package/components/basic/default/esm2022/iframe/iframe.component.mjs +14 -13
  96. package/components/basic/default/esm2022/label/label.directive.mjs +3 -2
  97. package/components/basic/default/esm2022/picture/picture.directive.mjs +3 -2
  98. package/components/basic/default/esm2022/picture/picture.props.mjs +1 -5
  99. package/components/basic/default/esm2022/public_api.mjs +1 -2
  100. package/components/basic/default/esm2022/spinner/spinner.component.mjs +26 -24
  101. package/components/basic/default/esm2022/video/video.component.mjs +19 -18
  102. package/components/basic/default/fesm2022/index.mjs +101 -148
  103. package/components/basic/default/fesm2022/index.mjs.map +1 -1
  104. package/components/basic/default/html/html.directive.d.ts +1 -1
  105. package/components/basic/default/icon/icon.component.d.ts +1 -1
  106. package/components/basic/default/iframe/iframe.component.d.ts +1 -1
  107. package/components/basic/default/label/label.directive.d.ts +1 -1
  108. package/components/basic/default/picture/picture.directive.d.ts +1 -1
  109. package/components/basic/default/public_api.d.ts +0 -1
  110. package/components/basic/default/spinner/spinner.component.d.ts +1 -1
  111. package/components/basic/default/video/video.component.d.ts +1 -1
  112. package/components/basic/progress/bundles/index.umd.js +20 -51
  113. package/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +12 -11
  114. package/components/basic/progress/esm2022/progress-circle/progress-circle.component.mjs +8 -6
  115. package/components/basic/progress/esm2022/public_api.mjs +1 -2
  116. package/components/basic/progress/fesm2022/index.mjs +19 -49
  117. package/components/basic/progress/fesm2022/index.mjs.map +1 -1
  118. package/components/basic/progress/progress-bar/progress-bar.component.d.ts +1 -1
  119. package/components/basic/progress/progress-circle/progress-circle.component.d.ts +1 -1
  120. package/components/basic/progress/public_api.d.ts +0 -1
  121. package/components/basic/rich-text-editor/bundles/index.umd.js +15 -40
  122. package/components/basic/rich-text-editor/esm2022/public_api.mjs +1 -2
  123. package/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +13 -12
  124. package/components/basic/rich-text-editor/fesm2022/index.mjs +13 -37
  125. package/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
  126. package/components/basic/rich-text-editor/public_api.d.ts +0 -1
  127. package/components/basic/rich-text-editor/rich-text-editor.component.d.ts +1 -1
  128. package/components/basic/search/bundles/index.umd.js +170 -207
  129. package/components/basic/search/esm2022/public_api.mjs +1 -2
  130. package/components/basic/search/esm2022/scrollable.directive.mjs +3 -2
  131. package/components/basic/search/esm2022/search.component.mjs +76 -72
  132. package/components/basic/search/fesm2022/index.mjs +107 -143
  133. package/components/basic/search/fesm2022/index.mjs.map +1 -1
  134. package/components/basic/search/public_api.d.ts +0 -1
  135. package/components/basic/search/scrollable.directive.d.ts +1 -1
  136. package/components/basic/search/search.component.d.ts +1 -1
  137. package/components/basic/tree/bundles/index.umd.js +9 -33
  138. package/components/basic/tree/esm2022/public_api.mjs +1 -2
  139. package/components/basic/tree/esm2022/tree.component.mjs +7 -6
  140. package/components/basic/tree/fesm2022/index.mjs +8 -32
  141. package/components/basic/tree/fesm2022/index.mjs.map +1 -1
  142. package/components/basic/tree/public_api.d.ts +0 -1
  143. package/components/basic/tree/tree.component.d.ts +1 -1
  144. package/components/chart/bundles/index.umd.js +27 -53
  145. package/components/chart/chart.component.d.ts +1 -1
  146. package/components/chart/esm2022/chart.component.mjs +26 -24
  147. package/components/chart/esm2022/chart.utils.mjs +3 -1
  148. package/components/chart/esm2022/public_api.mjs +1 -2
  149. package/components/chart/fesm2022/index.mjs +27 -52
  150. package/components/chart/fesm2022/index.mjs.map +1 -1
  151. package/components/chart/public_api.d.ts +0 -1
  152. package/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +1 -1
  153. package/components/containers/accordion/accordion.directive.d.ts +1 -1
  154. package/components/containers/accordion/bundles/index.umd.js +208 -237
  155. package/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +10 -11
  156. package/components/containers/accordion/esm2022/accordion.directive.mjs +5 -4
  157. package/components/containers/accordion/esm2022/public_api.mjs +1 -2
  158. package/components/containers/accordion/fesm2022/index.mjs +189 -217
  159. package/components/containers/accordion/fesm2022/index.mjs.map +1 -1
  160. package/components/containers/accordion/public_api.d.ts +0 -1
  161. package/components/containers/layout-grid/bundles/index.umd.js +13 -43
  162. package/components/containers/layout-grid/esm2022/layout-grid-column/layout-grid-column.directive.mjs +7 -9
  163. package/components/containers/layout-grid/esm2022/layout-grid-row/layout-grid-row.directive.mjs +3 -2
  164. package/components/containers/layout-grid/esm2022/layout-grid.directive.mjs +3 -2
  165. package/components/containers/layout-grid/esm2022/public_api.mjs +1 -2
  166. package/components/containers/layout-grid/fesm2022/index.mjs +13 -43
  167. package/components/containers/layout-grid/fesm2022/index.mjs.map +1 -1
  168. package/components/containers/layout-grid/layout-grid-column/layout-grid-column.directive.d.ts +1 -1
  169. package/components/containers/layout-grid/layout-grid-row/layout-grid-row.directive.d.ts +1 -1
  170. package/components/containers/layout-grid/layout-grid.directive.d.ts +1 -1
  171. package/components/containers/layout-grid/public_api.d.ts +0 -1
  172. package/components/containers/linear-layout/bundles/index.umd.js +8 -33
  173. package/components/containers/linear-layout/esm2022/linear-layout-item/linear-layout-item.directive.mjs +3 -2
  174. package/components/containers/linear-layout/esm2022/linear-layout.directive.mjs +3 -2
  175. package/components/containers/linear-layout/esm2022/public_api.mjs +1 -2
  176. package/components/containers/linear-layout/fesm2022/index.mjs +7 -32
  177. package/components/containers/linear-layout/fesm2022/index.mjs.map +1 -1
  178. package/components/containers/linear-layout/linear-layout-item/linear-layout-item.directive.d.ts +1 -1
  179. package/components/containers/linear-layout/linear-layout.directive.d.ts +1 -1
  180. package/components/containers/linear-layout/public_api.d.ts +0 -1
  181. package/components/containers/panel/bundles/index.umd.js +87 -118
  182. package/components/containers/panel/esm2022/panel.component.mjs +48 -46
  183. package/components/containers/panel/esm2022/public_api.mjs +1 -2
  184. package/components/containers/panel/fesm2022/index.mjs +49 -79
  185. package/components/containers/panel/fesm2022/index.mjs.map +1 -1
  186. package/components/containers/panel/panel.component.d.ts +1 -1
  187. package/components/containers/panel/public_api.d.ts +0 -1
  188. package/components/containers/tabs/bundles/index.umd.js +112 -120
  189. package/components/containers/tabs/esm2022/public_api.mjs +1 -2
  190. package/components/containers/tabs/esm2022/tab-pane/tab-pane.component.mjs +8 -10
  191. package/components/containers/tabs/esm2022/tabs.component.mjs +61 -38
  192. package/components/containers/tabs/esm2022/tabs.props.mjs +2 -5
  193. package/components/containers/tabs/fesm2022/index.mjs +72 -81
  194. package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  195. package/components/containers/tabs/public_api.d.ts +0 -1
  196. package/components/containers/tabs/tab-pane/tab-pane.component.d.ts +1 -1
  197. package/components/containers/tabs/tabs.component.d.ts +3 -1
  198. package/components/containers/tile/bundles/index.umd.js +6 -29
  199. package/components/containers/tile/esm2022/public_api.mjs +1 -2
  200. package/components/containers/tile/esm2022/tile.directive.mjs +3 -2
  201. package/components/containers/tile/fesm2022/index.mjs +5 -28
  202. package/components/containers/tile/fesm2022/index.mjs.map +1 -1
  203. package/components/containers/tile/public_api.d.ts +0 -1
  204. package/components/containers/tile/tile.directive.d.ts +1 -1
  205. package/components/containers/wizard/bundles/index.umd.js +355 -189
  206. package/components/containers/wizard/esm2022/public_api.mjs +2 -3
  207. package/components/containers/wizard/esm2022/wizard-action/wizard-action.directive.mjs +3 -2
  208. package/components/containers/wizard/esm2022/wizard-step/wizard-step.component.mjs +176 -0
  209. package/components/containers/wizard/esm2022/wizard-step/wizard-step.props.mjs +8 -5
  210. package/components/containers/wizard/esm2022/wizard.component.mjs +264 -105
  211. package/components/containers/wizard/esm2022/wizard.props.mjs +8 -4
  212. package/components/containers/wizard/fesm2022/index.mjs +323 -155
  213. package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  214. package/components/containers/wizard/public_api.d.ts +1 -2
  215. package/components/containers/wizard/wizard-action/wizard-action.directive.d.ts +1 -1
  216. package/components/containers/wizard/wizard-step/{wizard-step.directive.d.ts → wizard-step.component.d.ts} +12 -6
  217. package/components/containers/wizard/wizard.component.d.ts +64 -18
  218. package/components/data/card/bundles/index.umd.js +92 -135
  219. package/components/data/card/card-actions/card-actions.directive.d.ts +1 -1
  220. package/components/data/card/card-content/card-content.component.d.ts +1 -1
  221. package/components/data/card/card-footer/card-footer.directive.d.ts +1 -1
  222. package/components/data/card/card.component.d.ts +1 -1
  223. package/components/data/card/esm2022/card-actions/card-actions.directive.mjs +3 -2
  224. package/components/data/card/esm2022/card-content/card-content.component.mjs +7 -6
  225. package/components/data/card/esm2022/card-footer/card-footer.directive.mjs +3 -2
  226. package/components/data/card/esm2022/card.component.mjs +39 -38
  227. package/components/data/card/esm2022/public_api.mjs +1 -2
  228. package/components/data/card/fesm2022/index.mjs +49 -92
  229. package/components/data/card/fesm2022/index.mjs.map +1 -1
  230. package/components/data/card/public_api.d.ts +0 -1
  231. package/components/data/form/bundles/index.umd.js +115 -182
  232. package/components/data/form/esm2022/form-action/form-action.directive.mjs +3 -2
  233. package/components/data/form/esm2022/form-field/form-field.directive.mjs +3 -2
  234. package/components/data/form/esm2022/form-widget.directive.mjs +3 -2
  235. package/components/data/form/esm2022/form.component.mjs +101 -104
  236. package/components/data/form/esm2022/form.props.mjs +1 -11
  237. package/components/data/form/esm2022/live-actions/dependson.directive.mjs +3 -2
  238. package/components/data/form/esm2022/live-actions/live-actions.directive.mjs +3 -2
  239. package/components/data/form/esm2022/live-filter/live-filter.directive.mjs +3 -2
  240. package/components/data/form/esm2022/live-form/live-form.directive.mjs +3 -6
  241. package/components/data/form/esm2022/public_api.mjs +1 -2
  242. package/components/data/form/fesm2022/index.mjs +117 -184
  243. package/components/data/form/fesm2022/index.mjs.map +1 -1
  244. package/components/data/form/form-action/form-action.directive.d.ts +1 -1
  245. package/components/data/form/form-field/form-field.directive.d.ts +1 -1
  246. package/components/data/form/form-widget.directive.d.ts +1 -1
  247. package/components/data/form/form.component.d.ts +1 -1
  248. package/components/data/form/live-actions/dependson.directive.d.ts +1 -1
  249. package/components/data/form/live-actions/live-actions.directive.d.ts +1 -1
  250. package/components/data/form/live-filter/live-filter.directive.d.ts +1 -1
  251. package/components/data/form/live-form/live-form.directive.d.ts +1 -1
  252. package/components/data/form/public_api.d.ts +0 -1
  253. package/components/data/list/bundles/index.umd.js +195 -504
  254. package/components/data/list/esm2022/list-item.directive.mjs +4 -3
  255. package/components/data/list/esm2022/list.component.mjs +187 -232
  256. package/components/data/list/esm2022/list.props.mjs +2 -3
  257. package/components/data/list/esm2022/public_api.mjs +1 -2
  258. package/components/data/list/fesm2022/index.mjs +193 -502
  259. package/components/data/list/fesm2022/index.mjs.map +1 -1
  260. package/components/data/list/list-item.directive.d.ts +1 -1
  261. package/components/data/list/list.component.d.ts +1 -1
  262. package/components/data/list/public_api.d.ts +0 -1
  263. package/components/data/live-table/bundles/index.umd.js +9 -33
  264. package/components/data/live-table/esm2022/live-table.component.mjs +7 -6
  265. package/components/data/live-table/esm2022/public_api.mjs +1 -2
  266. package/components/data/live-table/fesm2022/index.mjs +8 -32
  267. package/components/data/live-table/fesm2022/index.mjs.map +1 -1
  268. package/components/data/live-table/live-table.component.d.ts +1 -1
  269. package/components/data/live-table/public_api.d.ts +0 -1
  270. package/components/data/pagination/bundles/index.umd.js +80 -110
  271. package/components/data/pagination/esm2022/pagination.component.mjs +80 -76
  272. package/components/data/pagination/esm2022/public_api.mjs +1 -2
  273. package/components/data/pagination/fesm2022/index.mjs +81 -110
  274. package/components/data/pagination/fesm2022/index.mjs.map +1 -1
  275. package/components/data/pagination/pagination.component.d.ts +1 -1
  276. package/components/data/pagination/public_api.d.ts +0 -1
  277. package/components/data/table/bundles/index.umd.js +69 -135
  278. package/components/data/table/esm2022/public_api.mjs +1 -2
  279. package/components/data/table/esm2022/table-action/table-action.directive.mjs +3 -2
  280. package/components/data/table/esm2022/table-column/table-column.directive.mjs +3 -2
  281. package/components/data/table/esm2022/table-column-group/table-column-group.directive.mjs +3 -2
  282. package/components/data/table/esm2022/table-cud.directive.mjs +3 -2
  283. package/components/data/table/esm2022/table-filter.directive.mjs +5 -2
  284. package/components/data/table/esm2022/table-row/table-row.directive.mjs +3 -2
  285. package/components/data/table/esm2022/table-row-action/table-row-action.directive.mjs +3 -2
  286. package/components/data/table/esm2022/table.component.mjs +51 -48
  287. package/components/data/table/fesm2022/index.mjs +73 -140
  288. package/components/data/table/fesm2022/index.mjs.map +1 -1
  289. package/components/data/table/public_api.d.ts +0 -1
  290. package/components/data/table/table-action/table-action.directive.d.ts +1 -1
  291. package/components/data/table/table-column/table-column.directive.d.ts +1 -1
  292. package/components/data/table/table-column-group/table-column-group.directive.d.ts +1 -1
  293. package/components/data/table/table-cud.directive.d.ts +1 -1
  294. package/components/data/table/table-filter.directive.d.ts +1 -1
  295. package/components/data/table/table-row/table-row.directive.d.ts +1 -1
  296. package/components/data/table/table-row-action/table-row-action.directive.d.ts +1 -1
  297. package/components/data/table/table.component.d.ts +1 -1
  298. package/components/dialogs/alert-dialog/alert-dialog.component.d.ts +1 -1
  299. package/components/dialogs/alert-dialog/bundles/index.umd.js +32 -64
  300. package/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +10 -10
  301. package/components/dialogs/alert-dialog/esm2022/public_api.mjs +1 -2
  302. package/components/dialogs/alert-dialog/fesm2022/index.mjs +11 -43
  303. package/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
  304. package/components/dialogs/alert-dialog/public_api.d.ts +0 -1
  305. package/components/dialogs/confirm-dialog/bundles/index.umd.js +10 -42
  306. package/components/dialogs/confirm-dialog/confirm-dialog.component.d.ts +1 -1
  307. package/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +9 -9
  308. package/components/dialogs/confirm-dialog/esm2022/public_api.mjs +1 -2
  309. package/components/dialogs/confirm-dialog/fesm2022/index.mjs +10 -42
  310. package/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
  311. package/components/dialogs/confirm-dialog/public_api.d.ts +0 -1
  312. package/components/dialogs/default/bundles/index.umd.js +76 -136
  313. package/components/dialogs/default/dialog-body/dialog-body.directive.d.ts +1 -1
  314. package/components/dialogs/default/dialog-footer/dialog-footer.directive.d.ts +1 -1
  315. package/components/dialogs/default/dialog-header/dialog-header.component.d.ts +1 -1
  316. package/components/dialogs/default/esm2022/base-dialog.mjs +3 -3
  317. package/components/dialogs/default/esm2022/dialog-body/dialog-body.directive.mjs +3 -2
  318. package/components/dialogs/default/esm2022/dialog-footer/dialog-footer.directive.mjs +3 -2
  319. package/components/dialogs/default/esm2022/dialog-header/dialog-header.component.mjs +70 -97
  320. package/components/dialogs/default/esm2022/public_api.mjs +1 -2
  321. package/components/dialogs/default/fesm2022/index.mjs +78 -137
  322. package/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  323. package/components/dialogs/default/public_api.d.ts +0 -1
  324. package/components/dialogs/design-dialog/bundles/index.umd.js +16 -47
  325. package/components/dialogs/design-dialog/dialog.component.d.ts +1 -1
  326. package/components/dialogs/design-dialog/esm2022/dialog.component.mjs +14 -13
  327. package/components/dialogs/design-dialog/esm2022/public_api.mjs +1 -2
  328. package/components/dialogs/design-dialog/fesm2022/index.mjs +14 -45
  329. package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
  330. package/components/dialogs/design-dialog/public_api.d.ts +0 -1
  331. package/components/dialogs/iframe-dialog/bundles/index.umd.js +20 -57
  332. package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +21 -21
  333. package/components/dialogs/iframe-dialog/esm2022/public_api.mjs +1 -2
  334. package/components/dialogs/iframe-dialog/fesm2022/index.mjs +21 -57
  335. package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
  336. package/components/dialogs/iframe-dialog/iframe-dialog.component.d.ts +1 -1
  337. package/components/dialogs/iframe-dialog/public_api.d.ts +0 -1
  338. package/components/dialogs/login-dialog/bundles/index.umd.js +6 -38
  339. package/components/dialogs/login-dialog/esm2022/login-dialog.directive.mjs +3 -2
  340. package/components/dialogs/login-dialog/esm2022/public_api.mjs +1 -2
  341. package/components/dialogs/login-dialog/fesm2022/index.mjs +6 -41
  342. package/components/dialogs/login-dialog/fesm2022/index.mjs.map +1 -1
  343. package/components/dialogs/login-dialog/login-dialog.directive.d.ts +1 -1
  344. package/components/dialogs/login-dialog/public_api.d.ts +0 -1
  345. package/components/dialogs/partial-dialog/bundles/index.umd.js +17 -49
  346. package/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +16 -15
  347. package/components/dialogs/partial-dialog/esm2022/public_api.mjs +1 -2
  348. package/components/dialogs/partial-dialog/fesm2022/index.mjs +16 -47
  349. package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
  350. package/components/dialogs/partial-dialog/partial-dialog.component.d.ts +1 -1
  351. package/components/dialogs/partial-dialog/public_api.d.ts +0 -1
  352. package/components/input/calendar/bundles/index.umd.js +24 -46
  353. package/components/input/calendar/calendar.component.d.ts +1 -1
  354. package/components/input/calendar/esm2022/calendar.component.mjs +28 -10
  355. package/components/input/calendar/esm2022/calendar.props.mjs +1 -1
  356. package/components/input/calendar/esm2022/public_api.mjs +1 -2
  357. package/components/input/calendar/fesm2022/index.mjs +30 -48
  358. package/components/input/calendar/fesm2022/index.mjs.map +1 -1
  359. package/components/input/calendar/public_api.d.ts +0 -1
  360. package/components/input/chips/bundles/index.umd.js +86 -114
  361. package/components/input/chips/chips.component.d.ts +1 -1
  362. package/components/input/chips/esm2022/chips.component.mjs +28 -27
  363. package/components/input/chips/esm2022/public_api.mjs +1 -2
  364. package/components/input/chips/fesm2022/index.mjs +29 -56
  365. package/components/input/chips/fesm2022/index.mjs.map +1 -1
  366. package/components/input/chips/public_api.d.ts +0 -1
  367. package/components/input/color-picker/bundles/index.umd.js +14 -42
  368. package/components/input/color-picker/color-picker.component.d.ts +1 -1
  369. package/components/input/color-picker/esm2022/color-picker.component.mjs +14 -8
  370. package/components/input/color-picker/esm2022/public_api.mjs +1 -2
  371. package/components/input/color-picker/fesm2022/index.mjs +15 -42
  372. package/components/input/color-picker/fesm2022/index.mjs.map +1 -1
  373. package/components/input/color-picker/public_api.d.ts +0 -1
  374. package/components/input/currency/bundles/index.umd.js +11 -41
  375. package/components/input/currency/currency.component.d.ts +1 -1
  376. package/components/input/currency/esm2022/currency.component.mjs +8 -6
  377. package/components/input/currency/esm2022/public_api.mjs +1 -2
  378. package/components/input/currency/fesm2022/index.mjs +11 -41
  379. package/components/input/currency/fesm2022/index.mjs.map +1 -1
  380. package/components/input/currency/public_api.d.ts +0 -1
  381. package/components/input/default/bundles/index.umd.js +2183 -2263
  382. package/components/input/default/button/button.component.d.ts +1 -1
  383. package/components/input/default/button-group/button-group.directive.d.ts +1 -1
  384. package/components/input/default/caption-position.directive.d.ts +1 -1
  385. package/components/input/default/checkbox/checkbox.component.d.ts +1 -1
  386. package/components/input/default/checkboxset/checkboxset.component.d.ts +1 -1
  387. package/components/input/default/composite/composite.directive.d.ts +1 -1
  388. package/components/input/default/esm2022/button/button.component.mjs +23 -21
  389. package/components/input/default/esm2022/button-group/button-group.directive.mjs +3 -2
  390. package/components/input/default/esm2022/caption-position.directive.mjs +3 -2
  391. package/components/input/default/esm2022/checkbox/checkbox.component.mjs +9 -6
  392. package/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +73 -72
  393. package/components/input/default/esm2022/composite/composite.directive.mjs +3 -2
  394. package/components/input/default/esm2022/number/number.component.mjs +9 -6
  395. package/components/input/default/esm2022/public_api.mjs +1 -2
  396. package/components/input/default/esm2022/radioset/radioset.component.mjs +73 -72
  397. package/components/input/default/esm2022/select/select.component.mjs +29 -32
  398. package/components/input/default/esm2022/switch/switch.component.mjs +29 -27
  399. package/components/input/default/esm2022/text/calendar/input-calendar.component.mjs +9 -6
  400. package/components/input/default/esm2022/text/color/input-color.component.mjs +9 -6
  401. package/components/input/default/esm2022/text/email/input-email.component.mjs +9 -6
  402. package/components/input/default/esm2022/text/number/input-number.component.mjs +9 -6
  403. package/components/input/default/esm2022/text/text/input-text.component.mjs +10 -6
  404. package/components/input/default/esm2022/textarea/textarea.component.mjs +14 -11
  405. package/components/input/default/fesm2022/index.mjs +2198 -2277
  406. package/components/input/default/fesm2022/index.mjs.map +1 -1
  407. package/components/input/default/number/number.component.d.ts +1 -1
  408. package/components/input/default/public_api.d.ts +0 -1
  409. package/components/input/default/radioset/radioset.component.d.ts +1 -1
  410. package/components/input/default/select/select.component.d.ts +1 -1
  411. package/components/input/default/switch/switch.component.d.ts +1 -1
  412. package/components/input/default/text/calendar/input-calendar.component.d.ts +1 -1
  413. package/components/input/default/text/color/input-color.component.d.ts +1 -1
  414. package/components/input/default/text/email/input-email.component.d.ts +1 -1
  415. package/components/input/default/text/number/input-number.component.d.ts +1 -1
  416. package/components/input/default/text/text/input-text.component.d.ts +1 -1
  417. package/components/input/default/textarea/textarea.component.d.ts +1 -1
  418. package/components/input/epoch/base-date-time.component.d.ts +0 -1
  419. package/components/input/epoch/bundles/index.umd.js +220 -262
  420. package/components/input/epoch/date/date.component.d.ts +1 -1
  421. package/components/input/epoch/date/imaskUtil.d.ts +2 -2
  422. package/components/input/epoch/date-time/date-time-picker.component.d.ts +6 -6
  423. package/components/input/epoch/date-time/date-time.component.d.ts +1 -1
  424. package/components/input/epoch/esm2022/base-date-time.component.mjs +6 -9
  425. package/components/input/epoch/esm2022/date/date.component.mjs +19 -18
  426. package/components/input/epoch/esm2022/date/imaskUtil.mjs +3 -1
  427. package/components/input/epoch/esm2022/date-time/date-time-picker.component.mjs +76 -62
  428. package/components/input/epoch/esm2022/date-time/date-time.component.mjs +28 -24
  429. package/components/input/epoch/esm2022/picker/picker.component.mjs +33 -28
  430. package/components/input/epoch/esm2022/public_api.mjs +1 -2
  431. package/components/input/epoch/esm2022/time/time.component.mjs +25 -21
  432. package/components/input/epoch/fesm2022/index.mjs +196 -237
  433. package/components/input/epoch/fesm2022/index.mjs.map +1 -1
  434. package/components/input/epoch/picker/picker.component.d.ts +2 -2
  435. package/components/input/epoch/public_api.d.ts +0 -1
  436. package/components/input/epoch/time/time.component.d.ts +1 -1
  437. package/components/input/file-upload/bundles/index.umd.js +135 -178
  438. package/components/input/file-upload/esm2022/file-upload.component.mjs +133 -150
  439. package/components/input/file-upload/esm2022/public_api.mjs +1 -2
  440. package/components/input/file-upload/fesm2022/index.mjs +133 -175
  441. package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  442. package/components/input/file-upload/file-upload.component.d.ts +1 -2
  443. package/components/input/file-upload/public_api.d.ts +0 -1
  444. package/components/input/rating/bundles/index.umd.js +50 -77
  445. package/components/input/rating/esm2022/public_api.mjs +1 -2
  446. package/components/input/rating/esm2022/rating.component.mjs +23 -20
  447. package/components/input/rating/fesm2022/index.mjs +23 -49
  448. package/components/input/rating/fesm2022/index.mjs.map +1 -1
  449. package/components/input/rating/public_api.d.ts +0 -1
  450. package/components/input/rating/rating.component.d.ts +1 -1
  451. package/components/input/slider/bundles/index.umd.js +35 -63
  452. package/components/input/slider/esm2022/public_api.mjs +1 -2
  453. package/components/input/slider/esm2022/slider.component.mjs +15 -13
  454. package/components/input/slider/fesm2022/index.mjs +15 -42
  455. package/components/input/slider/fesm2022/index.mjs.map +1 -1
  456. package/components/input/slider/public_api.d.ts +0 -1
  457. package/components/input/slider/slider.component.d.ts +1 -1
  458. package/components/navigation/breadcrumb/breadcrumb.component.d.ts +1 -1
  459. package/components/navigation/breadcrumb/bundles/index.umd.js +40 -67
  460. package/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +23 -21
  461. package/components/navigation/breadcrumb/esm2022/public_api.mjs +1 -2
  462. package/components/navigation/breadcrumb/fesm2022/index.mjs +23 -50
  463. package/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
  464. package/components/navigation/breadcrumb/public_api.d.ts +0 -1
  465. package/components/navigation/menu/bundles/index.umd.js +642 -696
  466. package/components/navigation/menu/esm2022/menu-adapator.component.mjs +1 -1
  467. package/components/navigation/menu/esm2022/menu-dropdown/menu-dropdown.component.mjs +11 -9
  468. package/components/navigation/menu/esm2022/menu-dropdown-item/menu-dropdown-item.component.mjs +24 -18
  469. package/components/navigation/menu/esm2022/menu.component.mjs +34 -31
  470. package/components/navigation/menu/esm2022/nav/nav-item/nav-item.directive.mjs +3 -2
  471. package/components/navigation/menu/esm2022/nav/nav.component.mjs +39 -29
  472. package/components/navigation/menu/esm2022/nav/navigation-control.directive.mjs +6 -3
  473. package/components/navigation/menu/esm2022/public_api.mjs +1 -2
  474. package/components/navigation/menu/fesm2022/index.mjs +534 -587
  475. package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  476. package/components/navigation/menu/menu-dropdown/menu-dropdown.component.d.ts +1 -1
  477. package/components/navigation/menu/menu-dropdown-item/menu-dropdown-item.component.d.ts +1 -1
  478. package/components/navigation/menu/menu.component.d.ts +1 -1
  479. package/components/navigation/menu/nav/nav-item/nav-item.directive.d.ts +1 -1
  480. package/components/navigation/menu/nav/nav.component.d.ts +1 -1
  481. package/components/navigation/menu/nav/navigation-control.directive.d.ts +1 -1
  482. package/components/navigation/menu/public_api.d.ts +0 -1
  483. package/components/navigation/navbar/bundles/index.umd.js +20 -44
  484. package/components/navigation/navbar/esm2022/navbar.component.mjs +18 -16
  485. package/components/navigation/navbar/esm2022/public_api.mjs +1 -2
  486. package/components/navigation/navbar/fesm2022/index.mjs +18 -41
  487. package/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
  488. package/components/navigation/navbar/navbar.component.d.ts +1 -1
  489. package/components/navigation/navbar/public_api.d.ts +0 -1
  490. package/components/navigation/popover/bundles/index.umd.js +12 -43
  491. package/components/navigation/popover/esm2022/popover.component.mjs +11 -9
  492. package/components/navigation/popover/esm2022/public_api.mjs +1 -2
  493. package/components/navigation/popover/fesm2022/index.mjs +11 -41
  494. package/components/navigation/popover/fesm2022/index.mjs.map +1 -1
  495. package/components/navigation/popover/popover.component.d.ts +1 -1
  496. package/components/navigation/popover/public_api.d.ts +0 -1
  497. package/components/page/default/bundles/index.umd.js +96 -138
  498. package/components/page/default/content/content.component.d.ts +1 -1
  499. package/components/page/default/esm2022/content/content.component.mjs +7 -6
  500. package/components/page/default/esm2022/layout.directive.mjs +3 -2
  501. package/components/page/default/esm2022/page-content/page-content.component.mjs +7 -6
  502. package/components/page/default/esm2022/page-content/page-content.props.mjs +2 -3
  503. package/components/page/default/esm2022/page.directive.mjs +3 -2
  504. package/components/page/default/esm2022/public_api.mjs +1 -2
  505. package/components/page/default/esm2022/router-outlet.directive.mjs +3 -2
  506. package/components/page/default/esm2022/spa-page.directive.mjs +3 -2
  507. package/components/page/default/fesm2022/index.mjs +96 -138
  508. package/components/page/default/fesm2022/index.mjs.map +1 -1
  509. package/components/page/default/layout.directive.d.ts +1 -1
  510. package/components/page/default/page-content/page-content.component.d.ts +1 -1
  511. package/components/page/default/page.directive.d.ts +1 -1
  512. package/components/page/default/public_api.d.ts +0 -1
  513. package/components/page/default/router-outlet.directive.d.ts +1 -1
  514. package/components/page/default/spa-page.directive.d.ts +1 -1
  515. package/components/page/footer/bundles/index.umd.js +6 -29
  516. package/components/page/footer/esm2022/footer.directive.mjs +3 -2
  517. package/components/page/footer/esm2022/public_api.mjs +1 -2
  518. package/components/page/footer/fesm2022/index.mjs +5 -28
  519. package/components/page/footer/fesm2022/index.mjs.map +1 -1
  520. package/components/page/footer/footer.directive.d.ts +1 -1
  521. package/components/page/footer/public_api.d.ts +0 -1
  522. package/components/page/header/bundles/index.umd.js +9 -33
  523. package/components/page/header/esm2022/header.component.mjs +7 -6
  524. package/components/page/header/esm2022/public_api.mjs +1 -2
  525. package/components/page/header/fesm2022/index.mjs +8 -32
  526. package/components/page/header/fesm2022/index.mjs.map +1 -1
  527. package/components/page/header/header.component.d.ts +1 -1
  528. package/components/page/header/public_api.d.ts +0 -1
  529. package/components/page/left-panel/bundles/index.umd.js +6 -29
  530. package/components/page/left-panel/esm2022/left-panel.directive.mjs +3 -2
  531. package/components/page/left-panel/esm2022/public_api.mjs +1 -2
  532. package/components/page/left-panel/fesm2022/index.mjs +5 -28
  533. package/components/page/left-panel/fesm2022/index.mjs.map +1 -1
  534. package/components/page/left-panel/left-panel.directive.d.ts +1 -1
  535. package/components/page/left-panel/public_api.d.ts +0 -1
  536. package/components/page/right-panel/bundles/index.umd.js +6 -29
  537. package/components/page/right-panel/esm2022/public_api.mjs +1 -2
  538. package/components/page/right-panel/esm2022/right-panel.directive.mjs +3 -2
  539. package/components/page/right-panel/fesm2022/index.mjs +5 -28
  540. package/components/page/right-panel/fesm2022/index.mjs.map +1 -1
  541. package/components/page/right-panel/public_api.d.ts +0 -1
  542. package/components/page/right-panel/right-panel.directive.d.ts +1 -1
  543. package/components/page/top-nav/bundles/index.umd.js +6 -29
  544. package/components/page/top-nav/esm2022/public_api.mjs +1 -2
  545. package/components/page/top-nav/esm2022/top-nav.directive.mjs +3 -2
  546. package/components/page/top-nav/fesm2022/index.mjs +5 -28
  547. package/components/page/top-nav/fesm2022/index.mjs.map +1 -1
  548. package/components/page/top-nav/public_api.d.ts +0 -1
  549. package/components/page/top-nav/top-nav.directive.d.ts +1 -1
  550. package/components/prefab/bundles/index.umd.js +8 -33
  551. package/components/prefab/esm2022/prefab-container/prefab-container.directive.mjs +3 -2
  552. package/components/prefab/esm2022/prefab.directive.mjs +3 -2
  553. package/components/prefab/esm2022/public_api.mjs +1 -2
  554. package/components/prefab/fesm2022/index.mjs +7 -32
  555. package/components/prefab/fesm2022/index.mjs.map +1 -1
  556. package/components/prefab/prefab-container/prefab-container.directive.d.ts +1 -1
  557. package/components/prefab/prefab.directive.d.ts +1 -1
  558. package/components/prefab/public_api.d.ts +0 -1
  559. package/core/bundles/index.umd.js +32 -85
  560. package/core/esm2022/public_api.mjs +2 -3
  561. package/core/esm2022/types/types.mjs +1 -1
  562. package/core/esm2022/utils/build-utils.mjs +9 -5
  563. package/core/esm2022/utils/utils.mjs +12 -40
  564. package/core/fesm2022/index.mjs +32 -81
  565. package/core/fesm2022/index.mjs.map +1 -1
  566. package/core/public_api.d.ts +1 -2
  567. package/core/types/types.d.ts +1 -0
  568. package/core/utils/utils.d.ts +1 -3
  569. package/http/bundles/index.umd.js +9 -34
  570. package/http/esm2022/http.service.mjs +6 -3
  571. package/http/esm2022/public_api.mjs +4 -2
  572. package/http/fesm2022/index.mjs +9 -34
  573. package/http/fesm2022/index.mjs.map +1 -1
  574. package/http/public_api.d.ts +3 -1
  575. package/npm-shrinkwrap.json +2 -2
  576. package/oAuth/bundles/index.umd.js +9 -42
  577. package/oAuth/esm2022/oAuth.utils.mjs +7 -23
  578. package/oAuth/esm2022/public_api.mjs +1 -2
  579. package/oAuth/fesm2022/index.mjs +8 -40
  580. package/oAuth/fesm2022/index.mjs.map +1 -1
  581. package/oAuth/public_api.d.ts +0 -1
  582. package/package-lock.json +2 -2
  583. package/package.json +1 -1
  584. package/runtime/base/bundles/index.umd.js +690 -596
  585. package/runtime/base/components/app-component/app.component.d.ts +1 -1
  586. package/runtime/base/components/app-spinner.component.d.ts +1 -1
  587. package/runtime/base/components/custom-toaster.component.d.ts +1 -1
  588. package/runtime/base/components/empty-component/empty-page.component.d.ts +1 -1
  589. package/runtime/base/components/prefab-preview.component.d.ts +1 -1
  590. package/runtime/base/directives/accessroles.directive.d.ts +1 -1
  591. package/runtime/base/directives/prefab.directive.d.ts +1 -1
  592. package/runtime/base/esm2022/components/app-component/app.component.mjs +42 -49
  593. package/runtime/base/esm2022/components/app-spinner.component.mjs +29 -21
  594. package/runtime/base/esm2022/components/base-page.component.mjs +3 -11
  595. package/runtime/base/esm2022/components/base-spa-page.component.mjs +3 -11
  596. package/runtime/base/esm2022/components/custom-toaster.component.mjs +20 -14
  597. package/runtime/base/esm2022/components/empty-component/empty-page.component.mjs +4 -3
  598. package/runtime/base/esm2022/components/prefab-preview.component.mjs +8 -6
  599. package/runtime/base/esm2022/directives/accessroles.directive.mjs +3 -2
  600. package/runtime/base/esm2022/directives/prefab.directive.mjs +3 -2
  601. package/runtime/base/esm2022/public_api.mjs +1 -1
  602. package/runtime/base/esm2022/resolves/security-config.resolve.mjs +4 -6
  603. package/runtime/base/esm2022/runtime-base.module.mjs +486 -337
  604. package/runtime/base/esm2022/services/app.manager.service.mjs +31 -48
  605. package/runtime/base/esm2022/services/app.service.mjs +8 -1
  606. package/runtime/base/esm2022/services/i18n.service.mjs +39 -72
  607. package/runtime/base/fesm2022/index.mjs +697 -605
  608. package/runtime/base/fesm2022/index.mjs.map +1 -1
  609. package/runtime/base/runtime-base.module.d.ts +115 -84
  610. package/runtime/base/services/app.service.d.ts +1 -0
  611. package/runtime/base/services/i18n.service.d.ts +1 -1
  612. package/runtime/dynamic/app/app.config.d.ts +5 -0
  613. package/runtime/dynamic/app/components/page-wrapper.component.d.ts +1 -1
  614. package/runtime/dynamic/bundles/index.umd.js +270 -117
  615. package/runtime/dynamic/esm2022/app/app.config.mjs +136 -0
  616. package/runtime/dynamic/esm2022/app/app.module.mjs +151 -105
  617. package/runtime/dynamic/esm2022/app/components/page-wrapper.component.mjs +7 -4
  618. package/runtime/dynamic/esm2022/app/services/component-ref-provider.service.mjs +1 -1
  619. package/runtime/dynamic/esm2022/main.mjs +11 -16
  620. package/runtime/dynamic/fesm2022/index.mjs +340 -184
  621. package/runtime/dynamic/fesm2022/index.mjs.map +1 -1
  622. package/security/bundles/index.umd.js +3 -34
  623. package/security/esm2022/public_api.mjs +1 -2
  624. package/security/esm2022/security.service.mjs +4 -15
  625. package/security/fesm2022/index.mjs +5 -32
  626. package/security/fesm2022/index.mjs.map +1 -1
  627. package/security/public_api.d.ts +0 -1
  628. package/transpiler/bundles/index.umd.js +271 -168
  629. package/transpiler/esm2022/build.mjs +1 -6
  630. package/transpiler/esm2022/imports.mjs +268 -161
  631. package/transpiler/fesm2022/index.mjs +267 -165
  632. package/transpiler/fesm2022/index.mjs.map +1 -1
  633. package/variables/bundles/index.umd.js +16 -197
  634. package/variables/constants/variables.constants.d.ts +0 -2
  635. package/variables/esm2022/constants/variables.constants.mjs +1 -3
  636. package/variables/esm2022/factory/variable-manager.factory.mjs +1 -3
  637. package/variables/esm2022/factory/variable.factory.mjs +1 -5
  638. package/variables/esm2022/manager/action/logout-action.manager.mjs +5 -7
  639. package/variables/esm2022/manager/variable/web-socket-variable.manager.mjs +3 -3
  640. package/variables/esm2022/public_api.mjs +1 -5
  641. package/variables/esm2022/service/metadata-service/metadata.service.mjs +6 -11
  642. package/variables/esm2022/util/variable/service-variable.utils.mjs +1 -4
  643. package/variables/esm2022/util/variable/variables.utils.mjs +5 -19
  644. package/variables/fesm2022/index.mjs +16 -198
  645. package/variables/fesm2022/index.mjs.map +1 -1
  646. package/variables/public_api.d.ts +0 -4
  647. package/components/advanced/carousel/carousel.module.d.ts +0 -11
  648. package/components/advanced/carousel/esm2022/carousel.module.mjs +0 -36
  649. package/components/advanced/custom/custom-widget.module.d.ts +0 -10
  650. package/components/advanced/custom/esm2022/custom-widget.module.mjs +0 -32
  651. package/components/advanced/login/esm2022/login.module.mjs +0 -28
  652. package/components/advanced/login/login.module.d.ts +0 -9
  653. package/components/advanced/marquee/esm2022/marquee.module.mjs +0 -28
  654. package/components/advanced/marquee/marquee.module.d.ts +0 -9
  655. package/components/base/esm2022/widgets/common/smooth-scroll/smooth-scroll.directive.mjs +0 -221
  656. package/components/base/widgets/common/smooth-scroll/smooth-scroll.directive.d.ts +0 -22
  657. package/components/basic/default/basic.module.d.ts +0 -17
  658. package/components/basic/default/esm2022/basic.module.mjs +0 -60
  659. package/components/basic/progress/esm2022/progress.module.mjs +0 -36
  660. package/components/basic/progress/progress.module.d.ts +0 -11
  661. package/components/basic/rich-text-editor/esm2022/rich-text-editor.module.mjs +0 -28
  662. package/components/basic/rich-text-editor/rich-text-editor.module.d.ts +0 -9
  663. package/components/basic/search/esm2022/search.module.mjs +0 -45
  664. package/components/basic/search/search.module.d.ts +0 -12
  665. package/components/basic/tree/esm2022/tree.module.mjs +0 -28
  666. package/components/basic/tree/tree.module.d.ts +0 -9
  667. package/components/chart/chart.module.d.ts +0 -10
  668. package/components/chart/esm2022/chart.module.mjs +0 -32
  669. package/components/containers/accordion/accordion.module.d.ts +0 -10
  670. package/components/containers/accordion/esm2022/accordion.module.mjs +0 -32
  671. package/components/containers/layout-grid/esm2022/layout-grid.module.mjs +0 -36
  672. package/components/containers/layout-grid/layout-grid.module.d.ts +0 -11
  673. package/components/containers/linear-layout/esm2022/linear-layout.module.mjs +0 -32
  674. package/components/containers/linear-layout/linear-layout.module.d.ts +0 -10
  675. package/components/containers/panel/esm2022/panel.module.mjs +0 -36
  676. package/components/containers/panel/panel.module.d.ts +0 -11
  677. package/components/containers/tabs/esm2022/tabs.module.mjs +0 -32
  678. package/components/containers/tabs/tabs.module.d.ts +0 -10
  679. package/components/containers/tile/esm2022/tile.module.mjs +0 -28
  680. package/components/containers/tile/tile.module.d.ts +0 -9
  681. package/components/containers/wizard/esm2022/wizard-step/wizard-step.directive.mjs +0 -140
  682. package/components/containers/wizard/esm2022/wizard.module.mjs +0 -40
  683. package/components/containers/wizard/wizard.module.d.ts +0 -12
  684. package/components/data/card/card.module.d.ts +0 -15
  685. package/components/data/card/esm2022/card.module.mjs +0 -52
  686. package/components/data/form/esm2022/form.module.mjs +0 -68
  687. package/components/data/form/form.module.d.ts +0 -19
  688. package/components/data/list/esm2022/list.module.mjs +0 -40
  689. package/components/data/list/list.module.d.ts +0 -11
  690. package/components/data/live-table/esm2022/live-table.module.mjs +0 -28
  691. package/components/data/live-table/live-table.module.d.ts +0 -9
  692. package/components/data/pagination/esm2022/pagination.module.mjs +0 -36
  693. package/components/data/pagination/pagination.module.d.ts +0 -11
  694. package/components/data/table/esm2022/table.module.mjs +0 -91
  695. package/components/data/table/table.module.d.ts +0 -24
  696. package/components/dialogs/alert-dialog/alert-dialog.module.d.ts +0 -11
  697. package/components/dialogs/alert-dialog/esm2022/alert-dialog.module.mjs +0 -36
  698. package/components/dialogs/confirm-dialog/confirm-dialog.module.d.ts +0 -11
  699. package/components/dialogs/confirm-dialog/esm2022/confirm-dialog.module.mjs +0 -36
  700. package/components/dialogs/default/dialog.module.d.ts +0 -12
  701. package/components/dialogs/default/esm2022/dialog.module.mjs +0 -40
  702. package/components/dialogs/design-dialog/design-dialog.module.d.ts +0 -11
  703. package/components/dialogs/design-dialog/esm2022/design-dialog.module.mjs +0 -36
  704. package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.module.mjs +0 -40
  705. package/components/dialogs/iframe-dialog/iframe-dialog.module.d.ts +0 -12
  706. package/components/dialogs/login-dialog/esm2022/login-dialog.module.mjs +0 -40
  707. package/components/dialogs/login-dialog/login-dialog.module.d.ts +0 -12
  708. package/components/dialogs/partial-dialog/esm2022/partial-dialog.module.mjs +0 -36
  709. package/components/dialogs/partial-dialog/partial-dialog.module.d.ts +0 -11
  710. package/components/input/calendar/calendar.module.d.ts +0 -12
  711. package/components/input/calendar/esm2022/calendar.module.mjs +0 -40
  712. package/components/input/chips/chips.module.d.ts +0 -10
  713. package/components/input/chips/esm2022/chips.module.mjs +0 -32
  714. package/components/input/color-picker/color-picker.module.d.ts +0 -11
  715. package/components/input/color-picker/esm2022/color-picker.module.mjs +0 -36
  716. package/components/input/currency/currency.module.d.ts +0 -11
  717. package/components/input/currency/esm2022/currency.module.mjs +0 -36
  718. package/components/input/default/esm2022/input.module.mjs +0 -96
  719. package/components/input/default/input.module.d.ts +0 -26
  720. package/components/input/epoch/epoch.module.d.ts +0 -18
  721. package/components/input/epoch/esm2022/epoch.module.mjs +0 -70
  722. package/components/input/file-upload/esm2022/file-upload.module.mjs +0 -28
  723. package/components/input/file-upload/file-upload.module.d.ts +0 -9
  724. package/components/input/rating/esm2022/rating.module.mjs +0 -32
  725. package/components/input/rating/rating.module.d.ts +0 -10
  726. package/components/input/slider/esm2022/slider.module.mjs +0 -32
  727. package/components/input/slider/slider.module.d.ts +0 -10
  728. package/components/navigation/breadcrumb/breadcrumb.module.d.ts +0 -10
  729. package/components/navigation/breadcrumb/esm2022/breadcrumb.module.mjs +0 -32
  730. package/components/navigation/menu/esm2022/menu.module.mjs +0 -71
  731. package/components/navigation/menu/menu.module.d.ts +0 -17
  732. package/components/navigation/navbar/esm2022/navbar.module.mjs +0 -28
  733. package/components/navigation/navbar/navbar.module.d.ts +0 -9
  734. package/components/navigation/popover/esm2022/popover.module.mjs +0 -36
  735. package/components/navigation/popover/popover.module.d.ts +0 -11
  736. package/components/page/default/esm2022/page.module.mjs +0 -55
  737. package/components/page/default/page.module.d.ts +0 -14
  738. package/components/page/footer/esm2022/footer.module.mjs +0 -28
  739. package/components/page/footer/footer.module.d.ts +0 -9
  740. package/components/page/header/esm2022/header.module.mjs +0 -28
  741. package/components/page/header/header.module.d.ts +0 -9
  742. package/components/page/left-panel/esm2022/left-panel.module.mjs +0 -28
  743. package/components/page/left-panel/left-panel.module.d.ts +0 -9
  744. package/components/page/right-panel/esm2022/right-panel.module.mjs +0 -28
  745. package/components/page/right-panel/right-panel.module.d.ts +0 -9
  746. package/components/page/top-nav/esm2022/top-nav.module.mjs +0 -28
  747. package/components/page/top-nav/top-nav.module.d.ts +0 -9
  748. package/components/prefab/esm2022/prefab.module.mjs +0 -32
  749. package/components/prefab/prefab.module.d.ts +0 -10
  750. package/core/core.module.d.ts +0 -9
  751. package/core/esm2022/core.module.mjs +0 -27
  752. package/http/esm2022/http-service.module.mjs +0 -36
  753. package/http/http-service.module.d.ts +0 -14
  754. package/locales/fullcalendar/af.js +0 -27
  755. package/locales/fullcalendar/ar-dz.js +0 -28
  756. package/locales/fullcalendar/ar-kw.js +0 -28
  757. package/locales/fullcalendar/ar-ly.js +0 -28
  758. package/locales/fullcalendar/ar-ma.js +0 -28
  759. package/locales/fullcalendar/ar-sa.js +0 -28
  760. package/locales/fullcalendar/ar-tn.js +0 -28
  761. package/locales/fullcalendar/ar.js +0 -28
  762. package/locales/fullcalendar/az.js +0 -29
  763. package/locales/fullcalendar/bg.js +0 -28
  764. package/locales/fullcalendar/bs.js +0 -29
  765. package/locales/fullcalendar/ca.js +0 -27
  766. package/locales/fullcalendar/cs.js +0 -29
  767. package/locales/fullcalendar/da.js +0 -27
  768. package/locales/fullcalendar/de.js +0 -30
  769. package/locales/fullcalendar/el.js +0 -27
  770. package/locales/fullcalendar/en-au.js +0 -14
  771. package/locales/fullcalendar/en-gb.js +0 -14
  772. package/locales/fullcalendar/en-nz.js +0 -14
  773. package/locales/fullcalendar/es-us.js +0 -27
  774. package/locales/fullcalendar/es.js +0 -27
  775. package/locales/fullcalendar/et.js +0 -29
  776. package/locales/fullcalendar/eu.js +0 -27
  777. package/locales/fullcalendar/fa.js +0 -30
  778. package/locales/fullcalendar/fi.js +0 -27
  779. package/locales/fullcalendar/fr-ca.js +0 -24
  780. package/locales/fullcalendar/fr-ch.js +0 -28
  781. package/locales/fullcalendar/fr.js +0 -28
  782. package/locales/fullcalendar/gl.js +0 -27
  783. package/locales/fullcalendar/he.js +0 -24
  784. package/locales/fullcalendar/hi.js +0 -29
  785. package/locales/fullcalendar/hr.js +0 -29
  786. package/locales/fullcalendar/hu.js +0 -27
  787. package/locales/fullcalendar/id.js +0 -27
  788. package/locales/fullcalendar/is.js +0 -27
  789. package/locales/fullcalendar/it.js +0 -29
  790. package/locales/fullcalendar/ja.js +0 -25
  791. package/locales/fullcalendar/ka.js +0 -29
  792. package/locales/fullcalendar/kk.js +0 -29
  793. package/locales/fullcalendar/ko.js +0 -23
  794. package/locales/fullcalendar/lb.js +0 -27
  795. package/locales/fullcalendar/lt.js +0 -27
  796. package/locales/fullcalendar/lv.js +0 -29
  797. package/locales/fullcalendar/mk.js +0 -25
  798. package/locales/fullcalendar/ms.js +0 -29
  799. package/locales/fullcalendar/nb.js +0 -27
  800. package/locales/fullcalendar/ne.js +0 -27
  801. package/locales/fullcalendar/nl.js +0 -27
  802. package/locales/fullcalendar/nn.js +0 -27
  803. package/locales/fullcalendar/pl.js +0 -27
  804. package/locales/fullcalendar/pt-br.js +0 -25
  805. package/locales/fullcalendar/pt.js +0 -27
  806. package/locales/fullcalendar/ro.js +0 -29
  807. package/locales/fullcalendar/ru.js +0 -29
  808. package/locales/fullcalendar/sk.js +0 -29
  809. package/locales/fullcalendar/sl.js +0 -27
  810. package/locales/fullcalendar/sq.js +0 -29
  811. package/locales/fullcalendar/sr-cyrl.js +0 -29
  812. package/locales/fullcalendar/sr.js +0 -29
  813. package/locales/fullcalendar/sv.js +0 -27
  814. package/locales/fullcalendar/th.js +0 -30
  815. package/locales/fullcalendar/tr.js +0 -27
  816. package/locales/fullcalendar/ug.js +0 -17
  817. package/locales/fullcalendar/uk.js +0 -29
  818. package/locales/fullcalendar/uz.js +0 -21
  819. package/locales/fullcalendar/vi.js +0 -29
  820. package/locales/fullcalendar/zh-cn.js +0 -30
  821. package/locales/fullcalendar/zh-tw.js +0 -23
  822. package/mobile/components/basic/default/.npmignore +0 -2
  823. package/mobile/components/basic/default/anchor/anchor.directive.d.ts +0 -8
  824. package/mobile/components/basic/default/app-update/app-update.component.d.ts +0 -26
  825. package/mobile/components/basic/default/basic.module.d.ts +0 -15
  826. package/mobile/components/basic/default/bundles/index.umd.js +0 -980
  827. package/mobile/components/basic/default/esm2022/anchor/anchor.directive.mjs +0 -44
  828. package/mobile/components/basic/default/esm2022/app-update/app-update.component.mjs +0 -116
  829. package/mobile/components/basic/default/esm2022/basic.module.mjs +0 -52
  830. package/mobile/components/basic/default/esm2022/file-browser/file-browser.component.mjs +0 -236
  831. package/mobile/components/basic/default/esm2022/file-browser/file-selector.service.mjs +0 -85
  832. package/mobile/components/basic/default/esm2022/image-cache/image-cache.directive.mjs +0 -61
  833. package/mobile/components/basic/default/esm2022/index.mjs +0 -5
  834. package/mobile/components/basic/default/esm2022/network-info-toaster/network-info-toaster.component.mjs +0 -183
  835. package/mobile/components/basic/default/esm2022/network-info-toaster/network-info-toaster.props.mjs +0 -5
  836. package/mobile/components/basic/default/esm2022/process-manager/process-management.service.mjs +0 -47
  837. package/mobile/components/basic/default/esm2022/process-manager/process-manager.component.mjs +0 -175
  838. package/mobile/components/basic/default/esm2022/public_api.mjs +0 -10
  839. package/mobile/components/basic/default/fesm2022/index.mjs +0 -958
  840. package/mobile/components/basic/default/fesm2022/index.mjs.map +0 -1
  841. package/mobile/components/basic/default/file-browser/file-browser.component.d.ts +0 -39
  842. package/mobile/components/basic/default/file-browser/file-selector.service.d.ts +0 -27
  843. package/mobile/components/basic/default/image-cache/image-cache.directive.d.ts +0 -18
  844. package/mobile/components/basic/default/index.d.ts +0 -5
  845. package/mobile/components/basic/default/network-info-toaster/network-info-toaster.component.d.ts +0 -28
  846. package/mobile/components/basic/default/network-info-toaster/network-info-toaster.props.d.ts +0 -1
  847. package/mobile/components/basic/default/package.json +0 -23
  848. package/mobile/components/basic/default/process-manager/process-management.service.d.ts +0 -36
  849. package/mobile/components/basic/default/process-manager/process-manager.component.d.ts +0 -33
  850. package/mobile/components/basic/default/public_api.d.ts +0 -9
  851. package/mobile/components/basic/search/.npmignore +0 -2
  852. package/mobile/components/basic/search/bundles/index.umd.js +0 -66
  853. package/mobile/components/basic/search/esm2022/index.mjs +0 -5
  854. package/mobile/components/basic/search/esm2022/public_api.mjs +0 -3
  855. package/mobile/components/basic/search/esm2022/search.directive.mjs +0 -17
  856. package/mobile/components/basic/search/esm2022/search.module.mjs +0 -28
  857. package/mobile/components/basic/search/fesm2022/index.mjs +0 -49
  858. package/mobile/components/basic/search/fesm2022/index.mjs.map +0 -1
  859. package/mobile/components/basic/search/index.d.ts +0 -5
  860. package/mobile/components/basic/search/package.json +0 -23
  861. package/mobile/components/basic/search/public_api.d.ts +0 -2
  862. package/mobile/components/basic/search/search.directive.d.ts +0 -7
  863. package/mobile/components/basic/search/search.module.d.ts +0 -9
  864. package/mobile/components/containers/segmented-control/.npmignore +0 -2
  865. package/mobile/components/containers/segmented-control/bundles/index.umd.js +0 -281
  866. package/mobile/components/containers/segmented-control/esm2022/index.mjs +0 -5
  867. package/mobile/components/containers/segmented-control/esm2022/public_api.mjs +0 -4
  868. package/mobile/components/containers/segmented-control/esm2022/segment-content/segment-content.component.mjs +0 -70
  869. package/mobile/components/containers/segmented-control/esm2022/segment-content/segment-content.props.mjs +0 -14
  870. package/mobile/components/containers/segmented-control/esm2022/segmented-control.component.mjs +0 -147
  871. package/mobile/components/containers/segmented-control/esm2022/segmented-control.module.mjs +0 -32
  872. package/mobile/components/containers/segmented-control/esm2022/segmented-control.props.mjs +0 -9
  873. package/mobile/components/containers/segmented-control/fesm2022/index.mjs +0 -264
  874. package/mobile/components/containers/segmented-control/fesm2022/index.mjs.map +0 -1
  875. package/mobile/components/containers/segmented-control/index.d.ts +0 -5
  876. package/mobile/components/containers/segmented-control/package.json +0 -23
  877. package/mobile/components/containers/segmented-control/public_api.d.ts +0 -3
  878. package/mobile/components/containers/segmented-control/segment-content/segment-content.component.d.ts +0 -18
  879. package/mobile/components/containers/segmented-control/segment-content/segment-content.props.d.ts +0 -1
  880. package/mobile/components/containers/segmented-control/segmented-control.component.d.ts +0 -20
  881. package/mobile/components/containers/segmented-control/segmented-control.module.d.ts +0 -10
  882. package/mobile/components/containers/segmented-control/segmented-control.props.d.ts +0 -1
  883. package/mobile/components/data/media-list/.npmignore +0 -2
  884. package/mobile/components/data/media-list/bundles/index.umd.js +0 -310
  885. package/mobile/components/data/media-list/esm2022/index.mjs +0 -5
  886. package/mobile/components/data/media-list/esm2022/media-list-item/media-list-item.directive.mjs +0 -24
  887. package/mobile/components/data/media-list/esm2022/media-list.component.mjs +0 -213
  888. package/mobile/components/data/media-list/esm2022/media-list.module.mjs +0 -48
  889. package/mobile/components/data/media-list/esm2022/media-list.props.mjs +0 -16
  890. package/mobile/components/data/media-list/esm2022/public_api.mjs +0 -4
  891. package/mobile/components/data/media-list/fesm2022/index.mjs +0 -297
  892. package/mobile/components/data/media-list/fesm2022/index.mjs.map +0 -1
  893. package/mobile/components/data/media-list/index.d.ts +0 -5
  894. package/mobile/components/data/media-list/media-list-item/media-list-item.directive.d.ts +0 -8
  895. package/mobile/components/data/media-list/media-list.component.d.ts +0 -33
  896. package/mobile/components/data/media-list/media-list.module.d.ts +0 -14
  897. package/mobile/components/data/media-list/media-list.props.d.ts +0 -1
  898. package/mobile/components/data/media-list/package.json +0 -23
  899. package/mobile/components/data/media-list/public_api.d.ts +0 -3
  900. package/mobile/components/device/barcode-scanner/.npmignore +0 -2
  901. package/mobile/components/device/barcode-scanner/barcode-scanner.component.d.ts +0 -18
  902. package/mobile/components/device/barcode-scanner/barcode-scanner.module.d.ts +0 -9
  903. package/mobile/components/device/barcode-scanner/barcode-scanner.props.d.ts +0 -1
  904. package/mobile/components/device/barcode-scanner/bundles/index.umd.js +0 -129
  905. package/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.component.mjs +0 -69
  906. package/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.module.mjs +0 -28
  907. package/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.props.mjs +0 -15
  908. package/mobile/components/device/barcode-scanner/esm2022/index.mjs +0 -5
  909. package/mobile/components/device/barcode-scanner/esm2022/public_api.mjs +0 -3
  910. package/mobile/components/device/barcode-scanner/fesm2022/index.mjs +0 -112
  911. package/mobile/components/device/barcode-scanner/fesm2022/index.mjs.map +0 -1
  912. package/mobile/components/device/barcode-scanner/index.d.ts +0 -5
  913. package/mobile/components/device/barcode-scanner/package.json +0 -23
  914. package/mobile/components/device/barcode-scanner/public_api.d.ts +0 -2
  915. package/mobile/components/device/camera/.npmignore +0 -2
  916. package/mobile/components/device/camera/bundles/index.umd.js +0 -170
  917. package/mobile/components/device/camera/camera.component.d.ts +0 -37
  918. package/mobile/components/device/camera/camera.module.d.ts +0 -9
  919. package/mobile/components/device/camera/camera.props.d.ts +0 -1
  920. package/mobile/components/device/camera/esm2022/camera.component.mjs +0 -101
  921. package/mobile/components/device/camera/esm2022/camera.module.mjs +0 -28
  922. package/mobile/components/device/camera/esm2022/camera.props.mjs +0 -25
  923. package/mobile/components/device/camera/esm2022/index.mjs +0 -5
  924. package/mobile/components/device/camera/esm2022/public_api.mjs +0 -3
  925. package/mobile/components/device/camera/fesm2022/index.mjs +0 -153
  926. package/mobile/components/device/camera/fesm2022/index.mjs.map +0 -1
  927. package/mobile/components/device/camera/index.d.ts +0 -5
  928. package/mobile/components/device/camera/package.json +0 -23
  929. package/mobile/components/device/camera/public_api.d.ts +0 -2
  930. package/mobile/components/input/file-upload/.npmignore +0 -2
  931. package/mobile/components/input/file-upload/bundles/index.umd.js +0 -88
  932. package/mobile/components/input/file-upload/esm2022/file-upload.directive.mjs +0 -41
  933. package/mobile/components/input/file-upload/esm2022/file-upload.module.mjs +0 -28
  934. package/mobile/components/input/file-upload/esm2022/index.mjs +0 -5
  935. package/mobile/components/input/file-upload/esm2022/public_api.mjs +0 -3
  936. package/mobile/components/input/file-upload/fesm2022/index.mjs +0 -71
  937. package/mobile/components/input/file-upload/fesm2022/index.mjs.map +0 -1
  938. package/mobile/components/input/file-upload/file-upload.directive.d.ts +0 -11
  939. package/mobile/components/input/file-upload/file-upload.module.d.ts +0 -9
  940. package/mobile/components/input/file-upload/index.d.ts +0 -5
  941. package/mobile/components/input/file-upload/package.json +0 -23
  942. package/mobile/components/input/file-upload/public_api.d.ts +0 -2
  943. package/mobile/components/page/default/.npmignore +0 -2
  944. package/mobile/components/page/default/bundles/index.umd.js +0 -127
  945. package/mobile/components/page/default/esm2022/index.mjs +0 -5
  946. package/mobile/components/page/default/esm2022/page-content-loader/page-content-loader.component.mjs +0 -24
  947. package/mobile/components/page/default/esm2022/page.directive.mjs +0 -58
  948. package/mobile/components/page/default/esm2022/page.module.mjs +0 -32
  949. package/mobile/components/page/default/esm2022/public_api.mjs +0 -4
  950. package/mobile/components/page/default/fesm2022/index.mjs +0 -110
  951. package/mobile/components/page/default/fesm2022/index.mjs.map +0 -1
  952. package/mobile/components/page/default/index.d.ts +0 -5
  953. package/mobile/components/page/default/package.json +0 -23
  954. package/mobile/components/page/default/page-content-loader/page-content-loader.component.d.ts +0 -7
  955. package/mobile/components/page/default/page.directive.d.ts +0 -19
  956. package/mobile/components/page/default/page.module.d.ts +0 -10
  957. package/mobile/components/page/default/public_api.d.ts +0 -3
  958. package/mobile/components/page/left-panel/.npmignore +0 -2
  959. package/mobile/components/page/left-panel/bundles/index.umd.js +0 -91
  960. package/mobile/components/page/left-panel/esm2022/index.mjs +0 -5
  961. package/mobile/components/page/left-panel/esm2022/left-panel.directive.mjs +0 -45
  962. package/mobile/components/page/left-panel/esm2022/left-panel.module.mjs +0 -28
  963. package/mobile/components/page/left-panel/esm2022/public_api.mjs +0 -3
  964. package/mobile/components/page/left-panel/fesm2022/index.mjs +0 -74
  965. package/mobile/components/page/left-panel/fesm2022/index.mjs.map +0 -1
  966. package/mobile/components/page/left-panel/index.d.ts +0 -5
  967. package/mobile/components/page/left-panel/left-panel.directive.d.ts +0 -16
  968. package/mobile/components/page/left-panel/left-panel.module.d.ts +0 -9
  969. package/mobile/components/page/left-panel/package.json +0 -23
  970. package/mobile/components/page/left-panel/public_api.d.ts +0 -2
  971. package/mobile/components/page/mobile-navbar/.npmignore +0 -2
  972. package/mobile/components/page/mobile-navbar/bundles/index.umd.js +0 -332
  973. package/mobile/components/page/mobile-navbar/esm2022/index.mjs +0 -5
  974. package/mobile/components/page/mobile-navbar/esm2022/mobile-navbar.component.mjs +0 -247
  975. package/mobile/components/page/mobile-navbar/esm2022/mobile-navbar.module.mjs +0 -32
  976. package/mobile/components/page/mobile-navbar/esm2022/mobile-navbar.props.mjs +0 -41
  977. package/mobile/components/page/mobile-navbar/esm2022/public_api.mjs +0 -3
  978. package/mobile/components/page/mobile-navbar/fesm2022/index.mjs +0 -317
  979. package/mobile/components/page/mobile-navbar/fesm2022/index.mjs.map +0 -1
  980. package/mobile/components/page/mobile-navbar/index.d.ts +0 -5
  981. package/mobile/components/page/mobile-navbar/mobile-navbar.component.d.ts +0 -50
  982. package/mobile/components/page/mobile-navbar/mobile-navbar.module.d.ts +0 -10
  983. package/mobile/components/page/mobile-navbar/mobile-navbar.props.d.ts +0 -2
  984. package/mobile/components/page/mobile-navbar/package.json +0 -23
  985. package/mobile/components/page/mobile-navbar/public_api.d.ts +0 -2
  986. package/mobile/components/page/tab-bar/.npmignore +0 -2
  987. package/mobile/components/page/tab-bar/bundles/index.umd.js +0 -279
  988. package/mobile/components/page/tab-bar/esm2022/index.mjs +0 -5
  989. package/mobile/components/page/tab-bar/esm2022/public_api.mjs +0 -3
  990. package/mobile/components/page/tab-bar/esm2022/tab-bar.module.mjs +0 -28
  991. package/mobile/components/page/tab-bar/esm2022/tabbar.component.mjs +0 -219
  992. package/mobile/components/page/tab-bar/esm2022/tabbar.props.mjs +0 -15
  993. package/mobile/components/page/tab-bar/fesm2022/index.mjs +0 -262
  994. package/mobile/components/page/tab-bar/fesm2022/index.mjs.map +0 -1
  995. package/mobile/components/page/tab-bar/index.d.ts +0 -5
  996. package/mobile/components/page/tab-bar/package.json +0 -23
  997. package/mobile/components/page/tab-bar/public_api.d.ts +0 -2
  998. package/mobile/components/page/tab-bar/tab-bar.module.d.ts +0 -9
  999. package/mobile/components/page/tab-bar/tabbar.component.d.ts +0 -40
  1000. package/mobile/components/page/tab-bar/tabbar.props.d.ts +0 -1
  1001. package/mobile/core/.npmignore +0 -2
  1002. package/mobile/core/bundles/index.umd.js +0 -1658
  1003. package/mobile/core/core.module.d.ts +0 -15
  1004. package/mobile/core/esm2022/core.module.mjs +0 -79
  1005. package/mobile/core/esm2022/index.mjs +0 -5
  1006. package/mobile/core/esm2022/native.xhr.mjs +0 -340
  1007. package/mobile/core/esm2022/public_api.mjs +0 -12
  1008. package/mobile/core/esm2022/services/device-file-cache.service.mjs +0 -92
  1009. package/mobile/core/esm2022/services/device-file-download.service.mjs +0 -154
  1010. package/mobile/core/esm2022/services/device-file-opener.service.mjs +0 -112
  1011. package/mobile/core/esm2022/services/device-file-upload.service.mjs +0 -91
  1012. package/mobile/core/esm2022/services/device-file.service.mjs +0 -237
  1013. package/mobile/core/esm2022/services/device-start-up-service.mjs +0 -2
  1014. package/mobile/core/esm2022/services/device.service.mjs +0 -150
  1015. package/mobile/core/esm2022/services/ext-app-message.service.mjs +0 -114
  1016. package/mobile/core/esm2022/services/network.service.mjs +0 -358
  1017. package/mobile/core/fesm2022/index.mjs +0 -1660
  1018. package/mobile/core/fesm2022/index.mjs.map +0 -1
  1019. package/mobile/core/index.d.ts +0 -5
  1020. package/mobile/core/native.xhr.d.ts +0 -36
  1021. package/mobile/core/package.json +0 -28
  1022. package/mobile/core/public_api.d.ts +0 -11
  1023. package/mobile/core/services/device-file-cache.service.d.ts +0 -24
  1024. package/mobile/core/services/device-file-download.service.d.ts +0 -36
  1025. package/mobile/core/services/device-file-opener.service.d.ts +0 -25
  1026. package/mobile/core/services/device-file-upload.service.d.ts +0 -27
  1027. package/mobile/core/services/device-file.service.d.ts +0 -45
  1028. package/mobile/core/services/device-start-up-service.d.ts +0 -4
  1029. package/mobile/core/services/device.service.d.ts +0 -52
  1030. package/mobile/core/services/ext-app-message.service.d.ts +0 -24
  1031. package/mobile/core/services/network.service.d.ts +0 -118
  1032. package/mobile/offline/.npmignore +0 -2
  1033. package/mobile/offline/bundles/index.umd.js +0 -3512
  1034. package/mobile/offline/esm2022/index.mjs +0 -5
  1035. package/mobile/offline/esm2022/models/config.mjs +0 -64
  1036. package/mobile/offline/esm2022/models/local-db-store.mjs +0 -412
  1037. package/mobile/offline/esm2022/offline.module.mjs +0 -100
  1038. package/mobile/offline/esm2022/public_api.mjs +0 -7
  1039. package/mobile/offline/esm2022/services/change-log.service.mjs +0 -332
  1040. package/mobile/offline/esm2022/services/local-db-data-pull.service.mjs +0 -525
  1041. package/mobile/offline/esm2022/services/local-db-management.service.mjs +0 -855
  1042. package/mobile/offline/esm2022/services/local-db.service.mjs +0 -193
  1043. package/mobile/offline/esm2022/services/local-key-value.service.mjs +0 -87
  1044. package/mobile/offline/esm2022/services/push.service.mjs +0 -49
  1045. package/mobile/offline/esm2022/services/workers/error-blocker.mjs +0 -115
  1046. package/mobile/offline/esm2022/services/workers/file-handler.mjs +0 -162
  1047. package/mobile/offline/esm2022/services/workers/id-resolver.mjs +0 -154
  1048. package/mobile/offline/esm2022/services/workers/multi-part-param-transformer.mjs +0 -63
  1049. package/mobile/offline/esm2022/utils/file-upload.utils.mjs +0 -59
  1050. package/mobile/offline/esm2022/utils/live-variable.utils.mjs +0 -232
  1051. package/mobile/offline/esm2022/utils/query-executor.utils.mjs +0 -82
  1052. package/mobile/offline/esm2022/utils/security.utils.mjs +0 -119
  1053. package/mobile/offline/esm2022/utils/utils.mjs +0 -8
  1054. package/mobile/offline/fesm2022/index.mjs +0 -3529
  1055. package/mobile/offline/fesm2022/index.mjs.map +0 -1
  1056. package/mobile/offline/index.d.ts +0 -5
  1057. package/mobile/offline/models/config.d.ts +0 -80
  1058. package/mobile/offline/models/local-db-store.d.ts +0 -119
  1059. package/mobile/offline/offline.module.d.ts +0 -17
  1060. package/mobile/offline/package.json +0 -28
  1061. package/mobile/offline/public_api.d.ts +0 -6
  1062. package/mobile/offline/services/change-log.service.d.ts +0 -112
  1063. package/mobile/offline/services/local-db-data-pull.service.d.ts +0 -139
  1064. package/mobile/offline/services/local-db-management.service.d.ts +0 -179
  1065. package/mobile/offline/services/local-db.service.d.ts +0 -83
  1066. package/mobile/offline/services/local-key-value.service.d.ts +0 -38
  1067. package/mobile/offline/services/push.service.d.ts +0 -11
  1068. package/mobile/offline/services/workers/error-blocker.d.ts +0 -26
  1069. package/mobile/offline/services/workers/file-handler.d.ts +0 -56
  1070. package/mobile/offline/services/workers/id-resolver.d.ts +0 -26
  1071. package/mobile/offline/services/workers/multi-part-param-transformer.d.ts +0 -11
  1072. package/mobile/offline/utils/file-upload.utils.d.ts +0 -14
  1073. package/mobile/offline/utils/live-variable.utils.d.ts +0 -24
  1074. package/mobile/offline/utils/query-executor.utils.d.ts +0 -15
  1075. package/mobile/offline/utils/security.utils.d.ts +0 -19
  1076. package/mobile/offline/utils/utils.d.ts +0 -2
  1077. package/mobile/placeholder/runtime/.npmignore +0 -2
  1078. package/mobile/placeholder/runtime/bundles/index.umd.js +0 -70
  1079. package/mobile/placeholder/runtime/components/app-ext.component.d.ts +0 -5
  1080. package/mobile/placeholder/runtime/esm2022/components/app-ext.component.mjs +0 -19
  1081. package/mobile/placeholder/runtime/esm2022/index.mjs +0 -5
  1082. package/mobile/placeholder/runtime/esm2022/mobile-runtime.module.mjs +0 -27
  1083. package/mobile/placeholder/runtime/esm2022/public_api.mjs +0 -3
  1084. package/mobile/placeholder/runtime/fesm2022/index.mjs +0 -50
  1085. package/mobile/placeholder/runtime/fesm2022/index.mjs.map +0 -1
  1086. package/mobile/placeholder/runtime/index.d.ts +0 -5
  1087. package/mobile/placeholder/runtime/mobile-runtime.module.d.ts +0 -9
  1088. package/mobile/placeholder/runtime/package.json +0 -27
  1089. package/mobile/placeholder/runtime/public_api.d.ts +0 -2
  1090. package/mobile/placeholder/runtime-dynamic/.npmignore +0 -2
  1091. package/mobile/placeholder/runtime-dynamic/bundles/index.umd.js +0 -40
  1092. package/mobile/placeholder/runtime-dynamic/esm2022/index.mjs +0 -5
  1093. package/mobile/placeholder/runtime-dynamic/esm2022/mobile-runtime-dynamic.module.mjs +0 -13
  1094. package/mobile/placeholder/runtime-dynamic/esm2022/public_api.mjs +0 -2
  1095. package/mobile/placeholder/runtime-dynamic/fesm2022/index.mjs +0 -20
  1096. package/mobile/placeholder/runtime-dynamic/fesm2022/index.mjs.map +0 -1
  1097. package/mobile/placeholder/runtime-dynamic/index.d.ts +0 -5
  1098. package/mobile/placeholder/runtime-dynamic/mobile-runtime-dynamic.module.d.ts +0 -7
  1099. package/mobile/placeholder/runtime-dynamic/package.json +0 -23
  1100. package/mobile/placeholder/runtime-dynamic/public_api.d.ts +0 -1
  1101. package/mobile/runtime/.npmignore +0 -2
  1102. package/mobile/runtime/bundles/index.umd.js +0 -732
  1103. package/mobile/runtime/components/app-ext.component.d.ts +0 -14
  1104. package/mobile/runtime/esm2022/components/app-ext.component.mjs +0 -59
  1105. package/mobile/runtime/esm2022/index.mjs +0 -5
  1106. package/mobile/runtime/esm2022/mobile-runtime.module.mjs +0 -351
  1107. package/mobile/runtime/esm2022/public_api.mjs +0 -6
  1108. package/mobile/runtime/esm2022/services/cookie.service.mjs +0 -135
  1109. package/mobile/runtime/esm2022/services/http-interceptor.service.mjs +0 -147
  1110. package/mobile/runtime/esm2022/services/webprocess.service.mjs +0 -76
  1111. package/mobile/runtime/fesm2022/index.mjs +0 -742
  1112. package/mobile/runtime/fesm2022/index.mjs.map +0 -1
  1113. package/mobile/runtime/index.d.ts +0 -5
  1114. package/mobile/runtime/mobile-runtime.module.d.ts +0 -51
  1115. package/mobile/runtime/package.json +0 -28
  1116. package/mobile/runtime/public_api.d.ts +0 -5
  1117. package/mobile/runtime/services/cookie.service.d.ts +0 -31
  1118. package/mobile/runtime/services/http-interceptor.service.d.ts +0 -19
  1119. package/mobile/runtime/services/webprocess.service.d.ts +0 -15
  1120. package/mobile/runtime-dynamic/.npmignore +0 -2
  1121. package/mobile/runtime-dynamic/bundles/index.umd.js +0 -461
  1122. package/mobile/runtime-dynamic/esm2022/index.mjs +0 -5
  1123. package/mobile/runtime-dynamic/esm2022/mobile-runtime-dynamic.module.mjs +0 -48
  1124. package/mobile/runtime-dynamic/esm2022/public_api.mjs +0 -2
  1125. package/mobile/runtime-dynamic/esm2022/services/live-sync.service.mjs +0 -404
  1126. package/mobile/runtime-dynamic/fesm2022/index.mjs +0 -454
  1127. package/mobile/runtime-dynamic/fesm2022/index.mjs.map +0 -1
  1128. package/mobile/runtime-dynamic/index.d.ts +0 -5
  1129. package/mobile/runtime-dynamic/mobile-runtime-dynamic.module.d.ts +0 -8
  1130. package/mobile/runtime-dynamic/package.json +0 -23
  1131. package/mobile/runtime-dynamic/public_api.d.ts +0 -1
  1132. package/mobile/runtime-dynamic/services/live-sync.service.d.ts +0 -38
  1133. package/mobile/variables/.npmignore +0 -2
  1134. package/mobile/variables/bundles/index.umd.js +0 -1166
  1135. package/mobile/variables/esm2022/index.mjs +0 -5
  1136. package/mobile/variables/esm2022/public_api.mjs +0 -10
  1137. package/mobile/variables/esm2022/services/calendar-service.mjs +0 -77
  1138. package/mobile/variables/esm2022/services/camera-service.mjs +0 -70
  1139. package/mobile/variables/esm2022/services/contacts-service.mjs +0 -74
  1140. package/mobile/variables/esm2022/services/datasync-service.mjs +0 -363
  1141. package/mobile/variables/esm2022/services/device-service/device-service.mjs +0 -161
  1142. package/mobile/variables/esm2022/services/device-service/location-service.mjs +0 -200
  1143. package/mobile/variables/esm2022/services/file-service.mjs +0 -87
  1144. package/mobile/variables/esm2022/services/scan-service.mjs +0 -60
  1145. package/mobile/variables/esm2022/variables.module.mjs +0 -78
  1146. package/mobile/variables/fesm2022/index.mjs +0 -1143
  1147. package/mobile/variables/fesm2022/index.mjs.map +0 -1
  1148. package/mobile/variables/index.d.ts +0 -5
  1149. package/mobile/variables/package.json +0 -28
  1150. package/mobile/variables/public_api.d.ts +0 -9
  1151. package/mobile/variables/services/calendar-service.d.ts +0 -10
  1152. package/mobile/variables/services/camera-service.d.ts +0 -8
  1153. package/mobile/variables/services/contacts-service.d.ts +0 -6
  1154. package/mobile/variables/services/datasync-service.d.ts +0 -11
  1155. package/mobile/variables/services/device-service/device-service.d.ts +0 -17
  1156. package/mobile/variables/services/device-service/location-service.d.ts +0 -63
  1157. package/mobile/variables/services/file-service.d.ts +0 -7
  1158. package/mobile/variables/services/scan-service.d.ts +0 -7
  1159. package/mobile/variables/variables.module.d.ts +0 -25
  1160. package/oAuth/esm2022/oAuth.module.mjs +0 -19
  1161. package/oAuth/oAuth.module.d.ts +0 -8
  1162. package/scripts/fullcalendar/main.min.js +0 -6
  1163. package/security/esm2022/security.module.mjs +0 -19
  1164. package/security/security.module.d.ts +0 -8
  1165. package/variables/esm2022/manager/variable/device-variable-manager.mjs +0 -48
  1166. package/variables/esm2022/manager/variable/device-variable-operation.mjs +0 -2
  1167. package/variables/esm2022/manager/variable/device-variable-service.mjs +0 -45
  1168. package/variables/esm2022/model/variable/device-variable.mjs +0 -19
  1169. package/variables/esm2022/variables.module.mjs +0 -52
  1170. package/variables/manager/variable/device-variable-manager.d.ts +0 -26
  1171. package/variables/manager/variable/device-variable-operation.d.ts +0 -37
  1172. package/variables/manager/variable/device-variable-service.d.ts +0 -6
  1173. package/variables/model/variable/device-variable.d.ts +0 -6
  1174. package/variables/variables.module.d.ts +0 -16
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/basic/search/src/search.props.ts","../../../../../projects/components/widgets/basic/search/src/data-provider/local-data-provider.ts","../../../../../projects/components/widgets/basic/search/src/data-provider/remote-data-provider.ts","../../../../../projects/components/widgets/basic/search/src/data-provider/data-provider.ts","../../../../../projects/components/widgets/basic/search/src/search.component.html","../../../../../projects/components/widgets/basic/search/src/search.component.ts","../../../../../projects/components/widgets/basic/search/src/scrollable.directive.ts","../../../../../projects/components/widgets/basic/search/src/search.module.ts","../../../../../projects/components/widgets/basic/search/src/index.ts"],"sourcesContent":["import {FormWidgetType} from '@wm/core';\nimport {PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget} from '@wm/components/base';\n\nexport const searchProps = new Map(\n [\n ['casesensitive', { value: false, ...PROP_BOOLEAN }],\n ['class', PROP_STRING],\n ['datacompletemsg', { value: 'No more data to load', ...PROP_STRING }],\n ['datafield', { value: 'All Fields', ...PROP_STRING }],\n ['dataoptions', PROP_ANY],\n ['dataset', PROP_ANY],\n ['datasource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['datavaluesource', PROP_ANY],\n ['dateformat', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['displayimagesrc', PROP_STRING],\n ['displaylabel', PROP_STRING],\n ['displayexpression', PROP_STRING],\n\n ['dropup', PROP_BOOLEAN],\n ['groupby', PROP_STRING],\n ['hint', PROP_STRING],\n ['arialabel', PROP_STRING],\n ['imagewidth', { value: '16px', ...PROP_STRING }],\n ['limit', PROP_NUMBER],\n ['loadingdatamsg', { value: 'Loading items...', ...PROP_STRING }],\n ['match', PROP_STRING],\n ['matchmode', PROP_STRING],\n ['minchars', PROP_NUMBER],\n ['name', PROP_STRING],\n ['navsearchbar', { value: false, ...PROP_BOOLEAN }],\n ['orderby', PROP_STRING],\n ['placeholder', { value: 'Search', ...PROP_STRING }],\n ['position', PROP_STRING],\n ['query', PROP_STRING],\n ['readonly', PROP_BOOLEAN],\n ['required', PROP_BOOLEAN],\n ['searchkey', PROP_STRING],\n ['searchon', { value: 'typing', ...PROP_STRING }],\n ['shortcutkey', PROP_STRING],\n ['show', { value: true, ...PROP_BOOLEAN }],\n ['showclear', { value: false, ...PROP_BOOLEAN }],\n ['showsearchicon', PROP_BOOLEAN],\n ['tabindex', { value: 0, ...PROP_NUMBER }],\n ['type', { value: 'search', ...PROP_STRING }],\n ['debouncetime', { value: 250, ...PROP_NUMBER }],\n ['width', PROP_STRING],\n ['clearsearchiconclass', {value: 'wi wi-close', ...PROP_STRING}],\n ['backsearchiconclass', {value: 'wi wi-arrow-left', ...PROP_STRING}],\n ['searchiconclass', {value: 'wm-sl-l sl-search', ...PROP_STRING}],\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-search',\n searchProps\n );\n registerFormWidget(\n FormWidgetType.AUTOCOMPLETE,\n new Map(searchProps)\n );\n registerFormWidget(\n FormWidgetType.TYPEAHEAD,\n new Map(searchProps)\n );\n};\n","import { IDataProvider, IDataProviderConfig } from './data-provider';\nimport {\n endsWith,\n filter,\n get,\n includes,\n isArray,\n isEqual,\n isNumber,\n isObject,\n split,\n startsWith,\n toLower,\n toString,\n values\n} from \"lodash-es\";\n\nexport class LocalDataProvider implements IDataProvider {\n private applyFilter(entry, queryText, filtername?) {\n entry = isNumber(entry) ? entry.toString() : entry;\n if (includes(filtername, 'start')) {\n return startsWith(entry, queryText);\n } else if (includes(filtername, 'end')) {\n return endsWith(entry, queryText);\n } else if (includes(filtername, 'exact')) {\n return isEqual(entry, queryText);\n }\n return includes(entry, queryText);\n }\n\n // LocalData filtering is done based on the searchkey.\n public filter(config: IDataProviderConfig): Promise<any> {\n const entries = config.dataset;\n let casesensitive = config.casesensitive;\n const matchMode = config.matchMode;\n // for supporting existing projects\n if (matchMode && !includes(matchMode, 'ignorecase')) {\n casesensitive = true;\n }\n let queryText = config.query,\n filteredData;\n\n return new Promise((resolve, reject) => {\n /**\n * If searchKey is defined, then check for match string against each item in the dataset with item's field name as the searchKey\n * return the filtered data containing the matching string.\n */\n if (config.searchKey) {\n const keys = split(config.searchKey, ',');\n\n filteredData = filter(config.dataset, (item: any) => {\n return keys.some(key => {\n let a = get(item, key),\n b = queryText;\n if (!casesensitive) {\n a = toLower(toString(a));\n b = toLower(toString(b));\n }\n return this.applyFilter(a, b, matchMode);\n });\n });\n } else {\n // local search on data with array of objects.\n // Iterate over each item and return the filtered data containing the matching string.\n if (isArray(entries) && isObject(entries[0])) {\n filteredData = filter(entries, entry => {\n let a = values(entry).join(' ');\n if (!casesensitive) {\n a = toLower(a);\n // @ts-ignore\n queryText = toLower(queryText);\n }\n return this.applyFilter(a, queryText);\n });\n } else {\n filteredData = filter(entries, entry => {\n if (!casesensitive) {\n entry = toLower(entry);\n // @ts-ignore\n queryText = toLower(queryText);\n }\n return this.applyFilter(entry, queryText, matchMode);\n });\n }\n }\n resolve({\n data: filteredData,\n hasMoreData: false,\n isLastPage: true\n });\n });\n }\n}\n","import { AppConstants, DataSource, findValueOf, getClonedObject } from '@wm/core';\n\nimport { convertDataToObject, interpolateBindExpressions } from '@wm/components/base';\nimport { IDataProvider, IDataProviderConfig } from './data-provider';\nimport {assign, get, indexOf, isArray, isEmpty, isObject, set, slice, split} from \"lodash-es\";\n\nexport class RemoteDataProvider implements IDataProvider {\n public filter(config: IDataProviderConfig): Promise<any> {\n return this.filterData(config).then(response => this.onFilterSuccess(config, response), () => this.onFilterFailure());\n }\n\n private filterData(config) {\n if (config.dataoptions) {\n const dataoptions = config.dataoptions;\n\n const requestParams = config.datasource.execute(DataSource.Operation.GET_REQUEST_PARAMS, config);\n\n // If options are specified, make specifics calls to fetch the results\n // Fetch the related field data\n if (dataoptions.relatedField) {\n return new Promise((resolve, reject) => {\n interpolateBindExpressions(config.viewParent, dataoptions.filterExpr, (filterexpressions) => {\n requestParams.filterExpr = dataoptions.filterExpr = filterexpressions;\n dataoptions.filterExpr = filterexpressions;\n\n config.datasource.execute(\n DataSource.Operation.GET_RELATED_TABLE_DATA, assign({relatedField: dataoptions.relatedField}, requestParams)\n ).then(resolve, reject);\n });\n });\n }\n // Fetch the distinct data\n if (dataoptions.distinctField) {\n return config.datasource.execute(\n DataSource.Operation.GET_DISTINCT_DATA_BY_FIELDS,\n {\n pagesize: config.limit || config.pagesize,\n page: config.page,\n fields: dataoptions.distinctField,\n entityName: dataoptions.tableName,\n filterFields: assign(dataoptions.filterFields, requestParams.filterFields),\n filterExpr: getClonedObject(dataoptions.filterExpr || {})\n\n }\n );\n }\n }\n\n // search records using the searchkey\n return config.datasource.execute(\n DataSource.Operation.SEARCH_RECORDS, config\n );\n }\n\n\n // Check if the page retrieved currently is the last page. If last page, don't send any more request\n protected isLast(page: number, dataSize: number, maxResults: number, currentResults?: number): boolean {\n // if last page info is not returned by backend and current results is less than max results, this is the last page\n if (dataSize === AppConstants.INT_MAX_VALUE) {\n return currentResults !== 0 && currentResults < maxResults;\n }\n const pageCount = ((dataSize > maxResults) ? (Math.ceil(dataSize / maxResults)) : (dataSize < 0 ? 0 : 1));\n return page === pageCount;\n }\n\n // this function transform the response data in case it is not an array\n protected getTransformedData(variable: any, data: any): any {\n const operationResult = variable.operation + 'Result'; // when output is only string it is available as oprationNameResult\n const tempResponse = data[operationResult];\n\n // in case data received is value as string then add that string value to object and convert object into array\n if (tempResponse) {\n const tempObj = {};\n set(tempObj, operationResult, tempResponse);\n data = [tempObj]; // convert data into an array having tempObj\n } else {\n // in case data received is already an object then convert it into an array\n data = [data];\n }\n\n return data;\n }\n\n protected onFilterFailure() {\n return [];\n }\n\n private isLastPageForDistinctApi(data, page, totalElements, _isLastPage) {\n return page > 1 && !_isLastPage && isEmpty(data) && totalElements === AppConstants.INT_MAX_VALUE;\n }\n\n\n // this function processes the response depending on pageOptions, isPageable and prepares the formattedDataset.\n protected onFilterSuccess(config: IDataProviderConfig, response): Promise<any> {\n let data: any = response.data;\n let formattedData: any;\n let _isLastPage: boolean;\n let page: number;\n let isPaginatedData: boolean;\n\n const expressionArray = split(config.binddataset, '.');\n const dataExpression = slice(expressionArray, indexOf(expressionArray, 'dataSet') + 1).join('.');\n const $I = '[$i]';\n\n return new Promise((resolve, reject) => {\n const pageOptions = response.pagination;\n\n if (config.datasource.execute(DataSource.Operation.IS_PAGEABLE)) {\n page = pageOptions.number + 1;\n _isLastPage = this.isLast(page, (config.limit > 0 && config.limit) || pageOptions.totalElements, pageOptions.size, pageOptions.numberOfElements);\n isPaginatedData = true;\n\n if (this.isLastPageForDistinctApi(data, page, pageOptions.totalElements, _isLastPage)) {\n _isLastPage = true;\n resolve({\n data: [],\n isLastPage: _isLastPage,\n hasMoreData: page > 1,\n isPaginatedData,\n page\n });\n return;\n }\n }\n // if data expression exists, extract the data from the expression path\n if (dataExpression) {\n if (isArray(data)) {\n const index = dataExpression.lastIndexOf($I);\n if(index > -1){\n const restExpr = dataExpression.substr(index + 5);\n formattedData = data.map(datum => findValueOf(datum, restExpr));\n }\n } else if (isObject(data)) {\n formattedData = get(data, dataExpression);\n }\n data = formattedData || data;\n }\n if (!isArray(data)) {\n data = this.getTransformedData(config.datasource, data);\n }\n // in case of no data received, resolve the promise with empty array\n if (!data.length) {\n resolve({data: [], isLastPage: _isLastPage, hasMoreData: page > 1, isPaginatedData, page});\n } else {\n resolve({data: data, isLastPage: _isLastPage, hasMoreData: page > 1, isPaginatedData, page});\n }\n });\n }\n}\n","import { DataSource } from '@wm/core';\n\nimport { LocalDataProvider } from './local-data-provider';\nimport { RemoteDataProvider } from './remote-data-provider';\n\nexport interface IDataProviderConfig {\n dataoptions?: any;\n viewParent?: any;\n dataset: any;\n datafield: string;\n binddataset?: string;\n datasource?: any;\n hasData: boolean;\n query: Array<string> | string;\n isLocalFilter: boolean;\n searchKey?: string;\n matchMode?: string;\n casesensitive?: boolean;\n isformfield?: boolean;\n orderby?: string;\n limit?: number;\n pagesize?: number;\n page: number;\n noMoredata?: boolean;\n onBeforeservicecall?: Function;\n}\n\nexport interface IDataProvider {\n hasMoreData?: boolean;\n isLastPage?: boolean;\n hasNoMoreData?: boolean;\n isPaginatedData?: boolean;\n page?: number;\n updateDataset?: boolean;\n\n filter(config: IDataProviderConfig): Promise<any>;\n}\n\nexport class DataProvider implements IDataProvider {\n\n public hasMoreData: boolean;\n public isLastPage: boolean;\n public page: number;\n public isPaginatedData: boolean;\n public updateDataset: boolean;\n\n static remoteDataProvider = new RemoteDataProvider();\n static localDataProvider = new LocalDataProvider();\n\n public filter(config: IDataProviderConfig): Promise<any> {\n\n let promise: Promise<any>;\n\n /**\n * Make call to remoteDataProvider when searchkey is available and data is not from local / model variable.\n * Otherwise use localDataProvider\n * If datasource is a serviceVariable with no input params, then perform local search.\n * when there is no dataset on the datasource when first time make a remote call to set the dataset for service variable.\n */\n const hasNoVariableDataset = config.datasource && config.datasource.execute(DataSource.Operation.IS_UPDATE_REQUIRED, config.hasData);\n if (!config.isLocalFilter && (config.dataoptions || ((config.datasource && config.datasource.execute(DataSource.Operation.IS_API_AWARE))\n && config.searchKey\n && hasNoVariableDataset))) {\n promise = DataProvider.remoteDataProvider.filter(config);\n } else {\n promise = DataProvider.localDataProvider.filter(config);\n }\n\n return promise.then(response => {\n this.updateDataset = config.datasource && !config.datasource.execute(DataSource.Operation.SUPPORTS_CRUD) && hasNoVariableDataset;\n this.hasMoreData = response.hasMoreData;\n this.isLastPage = response.isLastPage;\n this.page = response.page;\n this.isPaginatedData = response.isPaginatedData;\n\n return response;\n });\n }\n}\n","<ng-template #customItemTemplate let-model=\"item\" let-index=\"index\" let-query=\"query\" let-match=\"match\">\n <!-- Default item template -->\n <a *ngIf=\"!content\">\n <img *ngIf=\"model.imgSrc\" [src]=\"model.imgSrc\" alt=\"Search\" [style.width]=\"imagewidth\">\n <span [title]=\"model.label\" [innerHtml]=\"highlight(match, query) || model.label\"></span>\n </a>\n <!-- Custom partial template -->\n <a *ngIf=\"content\" [ngClass]=\"{customTemplate: content}\" partialContainer [wmItemTemplate]=\"content\" [userComponentParams]=\"match.item\">\n <div partial-container-target></div>\n </a>\n</ng-template>\n\n<ng-template #customListTemplate let-matches=\"matches\" let-itemTemplate=\"itemTemplate\" let-query=\"query\">\n <ul #ulElement class=\"app-search dropdown-menu\" scrollable>\n <li #liElements *ngFor=\"let match of matches; let i = index;\" [ngClass]=\"{active: typeaheadContainer && typeaheadContainer.isActive(match), 'list-group-header': match && match.isHeader()}\"\n (mouseenter)=\"typeaheadContainer.selectActive(match);\"\n (click)=\"match && !match.isHeader() && typeaheadContainer.selectMatch(match, $event); $typeaheadEvent = $event; notifySubscriber();\">\n <!-- itemTemplate comes from the <input> -->\n <h4 *ngIf=\"match.isHeader()\" class=\"group-title\">{{match.value}}</h4>\n <ng-container *ngIf=\"!match.isHeader()\" [ngTemplateOutlet]=\"itemTemplate\"\n [ngTemplateOutletContext]=\"{item: match.item, index: i, match: match, query: query}\">\n </ng-container>\n </li>\n <div class=\"status\" [hidden]=\"_loadingItems || !(datacompletemsg && dataProvider.isLastPage)\">\n <span [textContent]=\"datacompletemsg\"></span>\n </div>\n <div class=\"status\" [hidden]=\"!_loadingItems\">\n <i class=\"fa fa-circle-o-notch fa-spin\"></i>\n <span [textContent]=\"loadingdatamsg\"></span>\n </div>\n </ul>\n</ng-template>\n\n<!--This template is for search inside mobile navbar.-->\n<ng-container *ngIf=\"navsearchbar; else searchTemplate\">\n <input [title]=\"query || ''\" type=\"text\" class=\"app-textbox form-control list-of-objs app-search-input\" [placeholder]=\"placeholder || ''\"\n focus-target\n container=\"body\"\n [disabled]=\"disabled\"\n [attr.accesskey]=\"shortcutkey\"\n autocomplete=\"off\"\n [(ngModel)]=\"query\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [typeahead]=\"typeaheadDataSource\"\n [typeaheadWaitMs]=\"debouncetime\"\n [typeaheadItemTemplate]=\"customItemTemplate\"\n [optionsListTemplate]=\"customListTemplate\"\n (input)=\"onInputChange($event)\"\n (keydown)=\"listenQuery = true\"\n (keydown.enter)=\"$typeaheadEvent = $event;handleEnterEvent($event)\"\n (keydown.arrowdown)=\"selectNext($event)\"\n (blur)=\"invokeOnTouched($event)\"\n (click)=\"handleFocus($event);\"\n (focus)=\"_unsubscribeDv = false; listenQuery = true; handleFocus($event); invokeOnFocus($event);\"\n (focusout)=\"onFocusOut()\"\n [typeaheadMinLength]=\"minchars\"\n [typeaheadOptionsLimit]=\"limit\"\n (typeaheadLoading)=\"_loadingItems\"\n (typeaheadOnSelect)=\"typeaheadOnSelect($event)\"\n typeaheadOptionField=\"label\"\n [typeaheadGroupField]=\"groupby ? 'groupby' : null\"\n [typeaheadAsync]=\"true\"\n [typeaheadScrollable]=\"true\"\n [adaptivePosition]=\"true\"\n [typeaheadOptionsInScrollableView]=\"optionslimitinscrollableview\"\n [dropup]=\"dropup\"\n [tabindex]=\"tabindex\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel || 'Search field'\"/>\n <i class=\"btn-close wi wi-cancel\" [hidden]=\"!showClosebtn\" (click)=\"clearSearch($event);\"></i>\n</ng-container>\n<!--This template is for both web and fullscreen mode in mobile.-->\n<ng-template #searchTemplate>\n <button class=\"btn btn-icon form-control-feedback back-btn\" aria-hidden=\"true\" (click)=\"closeSearch()\"><i class=\"app-icon {{backsearchiconclass}}\"></i></button>\n <span class=\"sr-only\">Back button</span>\n <input [title]=\"query || ''\" type=\"text\" class=\"app-textbox form-control list-of-objs app-search-input\" [placeholder]=\"placeholder || ''\"\n focus-target\n [container]=\"containerTarget || '.wm-app'\"\n [disabled]=\"disabled\"\n [attr.accesskey]=\"shortcutkey\"\n autocomplete=\"off\"\n [(ngModel)]=\"query\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [typeahead]=\"typeaheadDataSource\"\n [typeaheadWaitMs]=\"debouncetime\"\n [typeaheadItemTemplate]=\"customItemTemplate\"\n [optionsListTemplate]=\"customListTemplate\"\n (input)=\"onInputChange($event)\"\n (keydown)=\"listenQuery = true\"\n (keydown.enter)=\"$typeaheadEvent = $event;handleEnterEvent($event)\"\n (keydown.arrowdown)=\"selectNext($event)\"\n (blur)=\"invokeOnTouched($event); onFocusOut()\"\n (click)=\"handleFocus($event);\"\n (focus)=\"_unsubscribeDv = false; listenQuery = true; handleFocus($event); invokeOnFocus($event)\"\n [typeaheadMinLength]=\"minchars\"\n [typeaheadOptionsLimit]=\"limit\"\n (typeaheadLoading)=\"_loadingItems\"\n (typeaheadOnSelect)=\"typeaheadOnSelect($event)\"\n typeaheadOptionField=\"label\"\n [typeaheadGroupField]=\"groupby ? 'groupby' : null\"\n [typeaheadAsync]=\"true\"\n [typeaheadScrollable]=\"true\"\n [adaptivePosition]=\"true\"\n [typeaheadOptionsInScrollableView]=\"optionslimitinscrollableview\"\n [tabindex]=\"tabindex\"\n [dropup]=\"dropup\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel || 'Search field'\">\n <input class=\"model-holder\" ng-model=\"proxyModel\" ng-required=\"required\" tabindex=\"-1\" aria-hidden=\"true\">\n <span *ngIf=\"_loadingItems\" aria-hidden=\"true\" class=\"fa fa-circle-o-notch fa-spin form-control-feedback\"></span>\n <button class=\"btn btn-icon form-control-feedback clear-btn\" [ngClass]=\"{'show-btn': isQueryEntered()}\" (click)=\"clearSearch($event, true)\"><i class=\"app-icon {{clearsearchiconclass}}\"></i></button>\n <span class=\"sr-only\">Clear button</span>\n <span *ngIf=\"showsearchicon\" [ngClass]=\"{'disabled': disabled}\" class=\"input-group-addon\">\n <form>\n <button title=\"Search\" [disabled]=\"disabled\" class=\"app-search-button btn btn-icon\" type=\"submit\"\n (click)=\"onSearchSelect($event)\">\n <i class=\"app-icon {{searchiconclass}}\"></i></button>\n </form>\n </span>\n</ng-template>\n","import {\n AfterViewChecked,\n AfterViewInit,\n Attribute,\n Component,\n ElementRef,\n Inject,\n Injector,\n OnInit,\n Optional,\n QueryList,\n ViewChild,\n ViewChildren\n} from '@angular/core';\nimport {NG_VALIDATORS, NG_VALUE_ACCESSOR} from '@angular/forms';\n\nimport {from, Observable, of} from 'rxjs';\nimport {filter, mergeMap} from 'rxjs/operators';\n\nimport {TypeaheadContainerComponent, TypeaheadDirective, TypeaheadMatch} from 'ngx-bootstrap/typeahead';\n\nimport {addClass, adjustContainerPosition, App, DataSource, isDefined, isMobile, toBoolean} from '@wm/core';\nimport {\n ALLFIELDS,\n convertDataToObject,\n DataSetItem,\n extractDataAsArray,\n getContainerTargetClass,\n getUniqObjsByDataField,\n provideAs,\n provideAsWidgetRef,\n styler,\n transformFormData\n} from '@wm/components/base';\nimport {DatasetAwareFormComponent} from '@wm/components/input';\n\nimport {registerProps} from './search.props';\nimport {DataProvider, IDataProvider, IDataProviderConfig} from './data-provider/data-provider';\nimport {\n debounce,\n find,\n get,\n includes,\n isArray,\n isEmpty,\n isEqual,\n isObject,\n isUndefined,\n map,\n split,\n toString,\n trim\n} from \"lodash-es\";\n\nconst WIDGET_CONFIG = { widgetType: 'wm-search', hostClass: 'input-group' };\n\n@Component({\n selector: '[wmSearch]',\n templateUrl: './search.component.html',\n providers: [\n provideAs(SearchComponent, NG_VALUE_ACCESSOR, true),\n provideAs(SearchComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(SearchComponent)\n ]\n})\nexport class SearchComponent extends DatasetAwareFormComponent implements OnInit, AfterViewInit, AfterViewChecked {\n static initializeProps = registerProps();\n public casesensitive: boolean;\n public searchkey: string;\n public queryModel: Array<DataSetItem> | string;\n public query = '';\n public limit: any;\n public showsearchicon: boolean;\n public minchars: number;\n public type: string;\n public navsearchbar: any;\n public debouncetime: number;\n public hint: string;\n public arialabel: string;\n\n private app: App;\n private typeaheadDataSource: Observable<any>;\n private pagesize: any;\n private page = 1;\n public _loadingItems: boolean;\n private dataProvider: IDataProvider;\n private result: Array<any>; // contains the search result i.e. matches\n private formattedDataset: any;\n private isformfield: boolean;\n private $typeaheadEvent: Event;\n\n public tabindex: number;\n public startIndex: number;\n public binddisplaylabel: string;\n public typeaheadContainer: TypeaheadContainerComponent;\n public containerTarget: string;\n public clearsearchiconclass: string;\n public backsearchiconclass: string;\n public searchiconclass: string;\n\n @ViewChild(TypeaheadDirective) typeahead: TypeaheadDirective;\n @ViewChild('ulElement') ulElement: ElementRef;\n @ViewChildren('liElements') liElements: QueryList<ElementRef>;\n\n private allowonlyselect: boolean;\n private class: string;\n\n private lastSelectedIndex: number;\n private dataoptions: any;\n public dropdownEl: any;\n private _lastQuery: string;\n private _lastResult: any;\n private _isOpen: boolean; // set to true when dropdown is open\n private showClosebtn: boolean;\n private _unsubscribeDv: boolean;\n private _datasource: any;\n private isScrolled: boolean;\n private parentEl: any;\n private position: string;\n private elIndex: number;\n private listenQuery: boolean;\n private _domUpdated: boolean;\n private searchon: string;\n private showclear: boolean;\n public matchmode: string;\n private clearData: boolean;\n\n\n // getter setter is added to pass the datasource to searchcomponent.\n get datasource() {\n return this._datasource;\n }\n\n set datasource(nv) {\n this._datasource = nv;\n const data = this.datavalue || this.toBeProcessedDatavalue;\n this.updateByDatavalue(data);\n }\n\n constructor(\n inj: Injector,\n app: App,\n @Attribute('datavalue.bind') public binddatavalue,\n @Attribute('dataset.bind') public binddataset,\n @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n ) {\n super(inj, WIDGET_CONFIG, explicitContext);\n // this flag will not allow the empty datafield values.\n this.allowempty = false;\n this.app = app;\n addClass(this.nativeElement, 'app-search', true);\n\n /**\n * Listens for the change in the ngModel on every search and retrieves the data as observable.\n * This observable data is passed to the typeahead.\n * @type {Observable<any>}\n */\n this.typeaheadDataSource = Observable\n .create((observer: any) => {\n // Runs on every search\n if (this.listenQuery) {\n this._defaultQueryInvoked = false;\n this._loadingItems = true;\n observer.next(this.query);\n }\n // on keydown, while scrolling the dropdown items, when last item is reached next call is triggered\n // unless the call is resolved, we are able to scroll next to first item and soon\n // This shows flickering from first item to next new items appended.\n // By setting container to undefined, key events changes will be stopped while loading items\n if (this.lastSelectedIndex) {\n this.typeahead._container = undefined;\n }\n }).pipe(\n filter(() => {\n this._loadingItems = false;\n return (this.minchars === 0 || (this.query && this.query.length >= this.minchars));\n }),\n mergeMap((token: string) => this.getDataSourceAsObservable(token))\n );\n\n this.dataProvider = new DataProvider();\n\n /**\n * When default datavalue is not found within the dataset, a filter call is made to get the record using fetchDefaultModel.\n * after getting the response, set the queryModel and query.\n */\n const datavalueSubscription = this.datavalue$.subscribe((val: Array<string> | string) => {\n\n const query = (isArray(val) ? val[0] : val) as string;\n\n if (query === null || query === '') {\n this._modelByValue = '';\n // reset the query.\n this.query = this.queryModel = '';\n // on clear or reset filter, empty the lastResults to fetch new records.\n this._lastResult = undefined;\n return;\n }\n\n if (!this._unsubscribeDv) {\n this._defaultQueryInvoked = false;\n // if prev datavalue is not equal to current datavalue then clear the modelByKey and queryModel\n if (!isObject(val) && (this as any).prevDatavalue !== val) {\n this._modelByKey = undefined;\n this.query = this.queryModel = '';\n }\n // if the datafield is ALLFILEDS do not fetch the records\n // update the query model with the values we have\n this.updateByDatavalue(val);\n }\n\n // turn on showCloseBtn when a default value is given\n this.showClosebtn = (this.query !== '');\n });\n this.registerDestroyListener(() => datavalueSubscription.unsubscribe());\n\n const datasetSubscription = this.dataset$.subscribe(() => {\n // set the next item index.\n this.startIndex = this.datasetItems.length;\n this._lastResult = undefined;\n const defaultValue = this.datavalue || this.toBeProcessedDatavalue;\n // invoking updateByDataset only when datavalue is present, as entered value i.e. query is setting back to ''\n if (isDefined(defaultValue)) {\n this.updateByDataset(defaultValue);\n }\n });\n this.registerDestroyListener(() => datasetSubscription.unsubscribe());\n }\n\n // on clear, trigger search with page size 1\n private clearSearch($event, loadOnClear) {\n this.query = '';\n this.onInputChange($event);\n this.dataProvider.isLastPage = false;\n this.listenQuery = false;\n if (loadOnClear) {\n this.listenQuery = true;\n this._unsubscribeDv = false;\n this.loadMoreData();\n }\n this.invokeEventCallback('clearsearch');\n this._loadingItems = false;\n // when search input is cleared, focus on the input field\n if ($event) {\n this.$element.find('.app-search-input').focus();\n }\n }\n\n // function to clear the input value\n public clearText() {\n this.query = '';\n this.showClosebtn = false;\n }\n\n // Close the full screen mode in mobile view of auto complete\n private closeSearch() {\n this._loadingItems = false;\n this.page = 1;\n // after closing the search, insert the element at its previous position (elIndex)\n this.insertAtIndex(this.elIndex);\n this.elIndex = undefined;\n this.parentEl = undefined;\n this.$element.removeClass('full-screen');\n if (this._domUpdated) {\n this._domUpdated = false;\n }\n this.listenQuery = false;\n this._unsubscribeDv = true;\n this.typeahead.hide();\n }\n\n private renderMobileAutoComplete() {\n // Get the parent element of the search element which can be next or prev element, if both are empty then get the parent of element.\n if (!isDefined(this.elIndex)) {\n this.parentEl = this.$element.parent();\n this.elIndex = this.parentEl.children().index(this.$element);\n }\n if (!this.$element.hasClass('full-screen')) {\n // this flag is set to notify that the typeahead-container dom has changed its position\n this._domUpdated = true;\n // Add full screen class on focus of the input element.\n this.$element.addClass('full-screen');\n\n // Add position to set the height to auto\n if (this.position === 'inline') {\n this.$element.addClass(this.position);\n }\n }\n // focus is lost when element is changed to full-screen, keydown to select next items will not work\n // Hence explicitly focusing the input\n if (this.$element.hasClass('full-screen')) {\n this.$element.find('.app-search-input').focus();\n }\n }\n\n private getDataSourceAsObservable(query: string): Observable<any> {\n // show dropdown only when there is change in query. This should not apply when dataoptions with filterFields are updated.\n // when lastResult is not available i.e. still the first call is pending and second query is invoked then do not return.\n if (this._lastQuery === query && !get(this.dataoptions, 'filterFields') && isDefined(this._lastResult)) {\n this._loadingItems = false;\n return of(this._lastResult);\n }\n\n /*\n WMS-19177: On focus of input field for autocomplete type, do not trigger api call when\n a) searchkey and displayexpression are different\n b) binddisplaylabel contains multiple values\n c) binddisplaylabel contains single value which does not match with searchkey\n */\n if (this.type === 'autocomplete' && this.searchkey && this.query && this.datavalue) {\n let bindDisplayLabelArray = [];\n const searchKeyArray = split(this.searchkey, ',');\n let displaylabel;\n if (this.binddisplaylabel) {\n bindDisplayLabelArray = split(this.binddisplaylabel, '+');\n if (bindDisplayLabelArray.length === 1) {\n if (!includes(bindDisplayLabelArray[0], '|')) {\n const regex = /\\[(.*?)\\]/;\n displaylabel = regex.exec(bindDisplayLabelArray[0])[1];\n } else {\n displaylabel = true;\n }\n }\n }\n if ((bindDisplayLabelArray.length > 1 || (displaylabel && !includes(searchKeyArray, displaylabel))\n || (this.displayexpression && !includes(searchKeyArray, this.displayexpression)))) {\n this._loadingItems = false;\n return of([]);\n }\n }\n this._lastQuery = this.query;\n return from(this.getDataSource(query));\n }\n\n protected handleEvent(node: HTMLElement, eventName: string, eventCallback: Function, locals: any) {\n if (!includes(['blur', 'focus', 'select', 'submit', 'change'], eventName)) {\n super.handleEvent(node, eventName, eventCallback, locals);\n }\n }\n\n // highlight the characters in the dropdown matching the query.\n private highlight(match: TypeaheadMatch, query: string) {\n if (this.typeaheadContainer) {\n // highlight of chars will work only when label are strings.\n (match as any).value = match.item.label.toString();\n return this.typeaheadContainer.highlight(match, query);\n }\n }\n\n // inserts the element at the index position\n private insertAtIndex(i) {\n if (i === 0) {\n this.parentEl.prepend(this.$element);\n } else {\n const $elAtIndex = this.parentEl.children().eq(i);\n if ($elAtIndex.length) {\n this.$element.insertBefore(this.parentEl.children().eq(i));\n } else {\n this.$element.insertAfter(this.parentEl.children().eq(i - 1));\n }\n }\n }\n\n // Check if the widget is of type autocomplete in mobile view/ app\n public isMobileAutoComplete() {\n return this.type === 'autocomplete' && isMobile();\n }\n\n // Check if the query is entered in the input and the view is not mobile\n public isQueryEntered() {\n return this.showclear && this.showClosebtn;\n }\n\n private loadMoreData(incrementPage?: boolean) {\n if (this.dataProvider.isLastPage) {\n return;\n }\n // Increase the page number and trigger force query update\n this.page = incrementPage ? this.page + 1 : this.page;\n\n this.isScrolled = true;\n this._loadingItems = true;\n\n // when invoking new set of results, reset the lastQuery.\n if (incrementPage) {\n this._lastQuery = undefined;\n }\n\n // trigger the typeahead change manually to fetch the next set of results.\n this.typeahead.onInput({\n target: {\n value: trim(this.query) || '0' // dummy data to notify the observables\n }\n });\n }\n\n // on focusout, subscribe to the datavalue changes again\n private onFocusOut() {\n this._unsubscribeDv = false;\n this._loadingItems = false;\n // reset the page value on focusout.\n this.page = 1;\n // if domUpdated is true then do not hide the dropdown in the fullscreen\n if (!this._domUpdated && this._isOpen) {\n this.listenQuery = false;\n }\n this._isOpen = false;\n // on outside click, typeahead is hidden. To avoid this, when fullscreen is set, overridding isFocused flag on the typeahead container\n if (this._domUpdated && this.typeahead && (this.typeahead as any)._container) {\n (this.typeahead as any)._container.isFocused = true;\n }\n }\n\n private onInputChange($event) {\n // reset all the previous page details in order to fetch new set of result.\n this.result = [];\n this.page = 1;\n this.listenQuery = this.isUpdateOnKeyPress();\n this._modelByValue = undefined;\n\n // when input is cleared, reset the datavalue\n if (this.query === '') {\n this.queryModel = '';\n this._modelByValue = '';\n this.updatePrevDatavalue(this._lastQuery);\n this.invokeOnChange(this._modelByValue, {}, true);\n\n this.invokeEventCallback('clear', { $event });\n\n // trigger onSubmit only when the search input is cleared off and do not trigger when tab is pressed.\n if ($event && $event.which !== 9) {\n this.invokeEventCallback('submit', { $event });\n }\n } else {\n // invoking change event on every input value change.\n this.invokeEventCallback('change', {\n $event: $event,\n newVal: this._modelByValue || this.query,\n oldVal: (this as any).prevDatavalue\n });\n }\n this.showClosebtn = (this.query !== '');\n }\n\n // Triggered for enter event\n private handleEnterEvent($event) {\n // submit event triggered when there is no search results\n if (!get(this.typeahead, 'matches.length')) {\n this.onSearchSelect($event);\n }\n }\n // Triggerred when typeahead option is selected.\n private onSearchSelect($event: Event) {\n let item;\n // WMS-22533: Before adding active typeahead el, check if the entered query matches with the active el or not\n const isQueryMatch = this.typeaheadContainer?.active?.value === this.query;\n\n if (this.typeaheadContainer && this.typeaheadContainer.active && isQueryMatch) {\n item = this.typeaheadContainer.active.item;\n }\n $event = this.eventData($event, item || {});\n\n // searchOn is set as onBtnClick, then invoke the search api call manually.\n if (!this.isUpdateOnKeyPress()) {\n this.listenQuery = true;\n // trigger the typeahead change manually to fetch the next set of results.\n this.typeahead.onInput({\n target: {\n value: this.query // dummy data to notify the observables\n }\n });\n return;\n }\n // when matches are available.\n if (this.typeaheadContainer && this.liElements.length && isQueryMatch) {\n this.typeaheadContainer.selectActiveMatch();\n } else {\n this.queryModel = this.query;\n this.invokeEventCallback('submit', { $event });\n }\n }\n\n private invokeOnBeforeServiceCall(inputData) {\n this.invokeEventCallback('beforeservicecall', { inputData });\n }\n\n private onDropdownOpen() {\n if (this.clearData) {\n this.typeahead.hide();\n }\n // setting the ulElements, liElement on typeaheadContainer.\n // as we are using customOption template, liElements are not available on typeaheadContainer so append them explicitly.\n const fn = debounce(() => {\n this._isOpen = true;\n this.typeaheadContainer = this.typeahead._container || (this.typeahead as any)._typeahead.instance;\n (this.typeaheadContainer as any).liElements = this.liElements;\n (this.typeaheadContainer as any).ulElement = this.ulElement;\n adjustContainerPosition($('typeahead-container'), this.nativeElement, (this.typeahead as any)._typeahead, $('typeahead-container .dropdown-menu'));\n\n });\n\n fn();\n\n // open full-screen search view\n if (this.isMobileAutoComplete()) {\n if (!this.$element.hasClass('full-screen')) {\n this.renderMobileAutoComplete();\n }\n const dropdownEl = this.dropdownEl.closest('typeahead-container');\n\n dropdownEl.insertAfter(this.$element.find('input').first());\n const screenHeight = this.$element.closest('.app-content').height();\n dropdownEl.css({ position: 'relative', top: 0, height: screenHeight + 'px' });\n this.showClosebtn = this.query && this.query !== '';\n\n if (!isUndefined(this.dataProvider.isLastPage) && !this.dataProvider.isLastPage) {\n this.triggerSearch();\n }\n }\n }\n\n private selectNext() {\n const matches = this.typeaheadContainer.matches;\n\n if (!matches) {\n return;\n }\n const index = matches.indexOf(this.typeaheadContainer.active);\n\n // on keydown, if scroll is at the bottom and next page records are available, fetch next page items.\n if (!this._loadingItems && !this.dataProvider.isLastPage && index + 1 > matches.length - 1) {\n // index is saved in order to select the lastSelected item in the dropdown after fetching next page items.\n this.lastSelectedIndex = index;\n this.loadMoreData(true);\n }\n }\n\n private setLastActiveMatchAsSelected() {\n if (this.lastSelectedIndex) {\n (this.typeaheadContainer as any)._active = this.typeaheadContainer.matches[this.lastSelectedIndex];\n this.typeaheadContainer.nextActiveMatch();\n this.lastSelectedIndex = undefined;\n }\n }\n\n private triggerSearch() {\n if (this.dataProvider.isLastPage || !this.$element.hasClass('full-screen')) {\n return;\n }\n const typeAheadDropDown = this.dropdownEl;\n const $lastItem = typeAheadDropDown.find('li').last();\n\n // Check if last item is not below the full screen\n if ($lastItem.length && typeAheadDropDown.length && (typeAheadDropDown.height() + typeAheadDropDown.position().top > $lastItem.height() + $lastItem.position().top)) {\n this.loadMoreData(true);\n }\n }\n\n private isUpdateOnKeyPress() {\n return this.searchon === 'typing';\n }\n\n private debounceDefaultQuery(data) {\n this._defaultQueryInvoked = true;\n this.getDataSource(data, true).then((response) => {\n if (response.length) {\n this.queryModel = response;\n this._lastQuery = this.query = this.queryModel[0].label || '';\n this._modelByValue = this.queryModel[0].value;\n this._modelByKey = this.queryModel[0].key;\n this.showClosebtn = (this.query !== '');\n } else {\n this._modelByValue = undefined;\n this.queryModel = undefined;\n this.query = '';\n }\n if (this.clearData) {\n if (get((this.typeahead as any), '_typeahead.isShown')) {\n this.typeahead.hide();\n }\n }\n });\n }\n\n private updateByDatavalue(data) {\n this.updateByDataset(data);\n this.updateByDataSource(data);\n }\n\n private updateByDataSource(data) {\n // value is present but the corresponding key is not found then fetch next set\n // modelByKey will be set only when datavalue is available inside the localData otherwise make a N/w call.\n if (isDefined(data) && !isObject(data) && this.datasource && !isDefined(this._modelByKey) && this.datafield !== ALLFIELDS) {\n // Avoid making default query if queryModel already exists.\n if (isDefined(this.queryModel) && !isEmpty(this.queryModel)) {\n this.updateDatavalueFromQueryModel();\n return;\n }\n\n // Make default query call only when datasource supports CRUD (live variable).\n if (!this._defaultQueryInvoked && this.datasource.execute(DataSource.Operation.SUPPORTS_CRUD)) {\n this.debounceDefaultQuery(data);\n }\n }\n }\n\n // updates the model value using queryModel\n private updateDatavalueFromQueryModel() {\n if (isDefined(this.queryModel)) {\n this._modelByValue = isArray(this.queryModel) ? (this.queryModel[0] as DataSetItem).value : this.queryModel;\n this._modelByKey = isArray(this.queryModel) ? (this.queryModel[0] as DataSetItem).key : this.queryModel;\n this.toBeProcessedDatavalue = undefined;\n }\n }\n\n private updateByDataset(data: any) {\n // default query is already invoked then do not make other default query call.\n // For local search i.e. searchkey is undefined, do not return, verify the datavalue against the datasetItems .\n if (this._defaultQueryInvoked && this.searchkey) {\n return;\n }\n const selectedItem = find(this.datasetItems, (item) => {\n return (isObject(item.value) ? isEqual(item.value, data) : (toString(item.value)).toLowerCase() === (toString(data)).toLowerCase());\n });\n\n // set the default only when it is available in dataset.\n if (selectedItem) {\n this.queryModel = [selectedItem];\n } else if (this.datafield === ALLFIELDS && isObject(data)) {\n this.queryModel = this.getTransformedData(extractDataAsArray(data));\n } else {\n // resetting the queryModel only when prevDatavalue is equal to data\n if ((this as any).prevDatavalue !== data) {\n this.queryModel = undefined;\n this.query = '';\n return;\n }\n }\n this.updateDatavalueFromQueryModel();\n\n // Show the label value on input.\n this._lastQuery = this.query = isDefined(this.queryModel) && this.queryModel.length ? get(this.queryModel[0], 'label') : '';\n this.showClosebtn = (this.query !== '');\n }\n\n // If we have last search results then open dropdown on focus\n private handleFocus($event) {\n if (this.type === 'search' && this.query === this._lastQuery && this._lastResult) {\n (this.typeahead as any).keyUpEventEmitter.emit(this.query);\n }\n }\n\n public notifySubscriber() {\n const parentEl = $(this.nativeElement).closest('.app-composite-widget.caption-floating');\n if (parentEl.length > 0) {\n this.app.notify('captionPositionAnimate', {displayVal: true, nativeEl: parentEl});\n }\n }\n\n // This method returns a promise that provides the filtered data from the datasource.\n public getDataSource(query: Array<string> | string, searchOnDataField?: boolean, nextItemIndex?: number): Promise<DataSetItem[]> {\n // For default query, searchOnDataField is set to true, then do not make a n/w call when datafield is ALLFIELDS\n if (searchOnDataField && this.datafield === ALLFIELDS) {\n this._loadingItems = false;\n return Promise.resolve([]);\n }\n\n // For default datavalue, search key as to be on datafield to get the default data from the filter call.\n const dataConfig: IDataProviderConfig = {\n dataset: this.dataset ? convertDataToObject(this.dataset) : undefined,\n binddataset: this.binddataset,\n datasource: this.datasource,\n datafield: this.datafield,\n hasData: this.dataset && this.dataset.length,\n query: query,\n isLocalFilter: !this.searchkey,\n searchKey: searchOnDataField ? this.datafield : this.searchkey,\n // default search call match mode should be startignorecase\n matchMode: searchOnDataField ? 'startignorecase' : this.matchmode,\n casesensitive: this.casesensitive,\n isformfield: this.isformfield,\n orderby: this.orderby,\n limit: this.limit,\n pagesize: this.pagesize,\n page: this.page,\n onBeforeservicecall: this.invokeOnBeforeServiceCall.bind(this)\n };\n\n if (this.dataoptions) {\n dataConfig.dataoptions = this.dataoptions;\n dataConfig.viewParent = this.viewParent;\n }\n\n this._loadingItems = true;\n\n return this.dataProvider.filter(dataConfig)\n .then((response: any) => {\n // response from dataProvider returns always data object.\n response = response.data || response;\n // for service variable, updating the dataset only if it is not defined or empty\n if ((!isDefined(this.dataset) || !this.dataset.length) && this.dataProvider.updateDataset) {\n this.dataset = response;\n }\n\n if (this.dataProvider.hasMoreData) {\n this.formattedDataset = this.formattedDataset.concat(response);\n } else {\n this.formattedDataset = response;\n }\n\n // explicitly setting the optionslimit as the matches more than 20 will be ignored if optionslimit is not specified.\n if (this.formattedDataset.length > 20 && !isDefined(this.limit)) {\n this.typeahead.typeaheadOptionsLimit = this.formattedDataset.length;\n }\n\n // In mobile, trigger the search by default until the results have height upto page height. Other results can be fetched by scrolling\n if (this._isOpen && this.isMobileAutoComplete() && !isUndefined(this.dataProvider.isLastPage) && !this.dataProvider.isLastPage) {\n this.triggerSearch();\n }\n\n const transformedData = this.getTransformedData(this.formattedDataset, nextItemIndex);\n\n // result contains the datafield values.\n this.result = map(transformedData, 'value');\n return transformedData;\n }, (error) => {\n this._loadingItems = false;\n return [];\n }\n ).then(result => {\n if (this.isScrolled) {\n (debounce(() => {\n this.setLastActiveMatchAsSelected();\n }, 30))();\n this.isScrolled = false;\n }\n // When no result is found, set the datavalue to undefined.\n if (!result.length) {\n this._modelByValue = undefined;\n this.queryModel = (query as string);\n }\n // on focusout i.e. on other widget focus, if n/w is pending loading icon is shown, when data is available then dropdown is shown again.\n // on unsubscribing do not show the results.\n if (this._unsubscribeDv) {\n result = [];\n }\n this._loadingItems = false;\n this._lastResult = result;\n return result;\n });\n }\n\n // this method returns the parent context i.e. Page context and not parent component's context.\n private getContext(context) {\n if (context && get(context, 'widget')) {\n return this.getContext(context.viewParent);\n }\n return context;\n }\n\n public getTransformedData(data: any, itemIndex?: number, iscustom?: boolean): DataSetItem[] {\n if (isDefined(itemIndex)) {\n itemIndex++;\n }\n\n const transformedData = transformFormData(\n this.getContext(this.viewParent),\n data,\n this.datafield,\n {\n displayField: this.displaylabel || this.displayfield,\n displayExpr: iscustom ? '' : this.displayexpression,\n bindDisplayExpr: iscustom ? '' : this.binddisplaylabel,\n bindDisplayImgSrc: this.binddisplayimagesrc,\n displayImgSrc: this.displayimagesrc\n },\n itemIndex,\n this\n );\n return getUniqObjsByDataField(transformedData, this.datafield, this.displayfield || this.displaylabel, toBoolean(this.allowempty));\n }\n\n // OptionsListTemplate listens to the scroll event and triggers this function.\n public onScroll($scrollEl: Element, evt: Event) {\n const totalHeight = $scrollEl.scrollHeight,\n clientHeight = $scrollEl.clientHeight;\n\n // If scroll is at the bottom and no request is in progress and next page records are available, fetch next page items.\n if (!this._loadingItems && !this.dataProvider.isLastPage && ($scrollEl.scrollTop + clientHeight >= totalHeight)) {\n this.loadMoreData(true);\n }\n }\n\n public ngOnInit() {\n super.ngOnInit();\n\n if (!isDefined(this.minchars)) {\n // for autocomplete set the minchars to 0\n if (this.type === 'autocomplete') {\n this.minchars = 0;\n } else {\n this.minchars = 1;\n }\n }\n\n this.listenQuery = this.isUpdateOnKeyPress();\n\n // by default for autocomplete do not show the search icon\n // by default show the searchicon for type = search\n this.showsearchicon = isDefined(this.showsearchicon) ? this.showsearchicon : (this.type === 'search');\n }\n\n public ngAfterViewInit() {\n super.ngAfterViewInit();\n\n styler(this.nativeElement as HTMLElement, this);\n this.containerTarget = getContainerTargetClass(this.nativeElement);\n }\n\n public ngAfterViewChecked() {\n const searchInputEl = $('.app-search-input');\n if (searchInputEl) {\n searchInputEl.removeAttr('aria-expanded');\n }\n }\n\n private eventData($event, item) {\n if ($event) {\n $event['data'] = {\n item : item.dataObject,\n model : item.value,\n label : item.label,\n query : this.query\n };\n }\n\n return $event;\n }\n\n // triggered on select on option from the list. Set the queryModel, query and modelByKey from the matched item.\n public typeaheadOnSelect(match: TypeaheadMatch, $event: Event): void {\n const item = match.item;\n this.queryModel = item;\n item.selected = true;\n this.query = item.label;\n this.showClosebtn = (this.query !== '');\n $event = $event || this.$typeaheadEvent;\n\n // As item.key can vary from key in the datasetItems\n this._modelByKey = item.key;\n this._modelByValue = item.value;\n\n $event = this.eventData($event, item);\n\n this.invokeOnTouched();\n this.invokeOnChange(this.datavalue, $event || {});\n // updating the variable bound to default value as invokeOnChange is not updating the variable.\n if (this.datavalue !== (this as any).prevDatavalue) {\n this.updateBoundVariable(this.datavalue);\n }\n if (this.$element.hasClass('full-screen')) {\n this.closeSearch();\n }\n this.invokeEventCallback('select', { $event, selectedValue: this.datavalue });\n this.invokeEventCallback('submit', { $event });\n\n this.updatePrevDatavalue(this.datavalue);\n }\n\n onPropertyChange(key: string, nv: any, ov: any) {\n if (key === 'tabindex') {\n return;\n }\n\n // Backward compatability from 10.3.1 to 10.3.2\n // 10.3.1 we had displaylabel as modal value\n // From 10.3.2 onwords we will be having displayexpresion as modal value\n if (this.type === 'autocomplete' && key === 'displaylabel' && this.displaylabel && (!this.displayexpression || (this.displayexpression && !this.datasource))) {\n this.displayexpression = this.displaylabel;\n this.displaylabel = undefined;\n }\n\n // when dataoptions are provided and there is no displaylabel given then displaylabel is set as the relatedfield\n if (key === 'displaylabel' && this.dataoptions && this.binddisplaylabel === null) {\n this.query = get(this._modelByValue, nv) || this._modelByValue;\n }\n\n // when search is disabled, do not load any more data or just clear the data that is already in process or loaded.\n if (key === 'disabled') {\n if (nv === false) {\n this.clearData = false;\n } else {\n this.clearData = true;\n if (get((this.typeahead as any), '_typeahead.isShown')) {\n this.typeahead.hide();\n }\n }\n }\n\n super.onPropertyChange(key, nv, ov);\n }\n}\n","import { AfterContentInit, AfterViewInit, Directive, ElementRef, Injector } from '@angular/core';\n\nimport { SearchComponent } from './search.component';\n\ndeclare const $;\n\n@Directive({\n selector: '[scrollable]'\n})\nexport class ScrollableDirective implements AfterContentInit, AfterViewInit {\n private elementRef: ElementRef;\n\n constructor(inj: Injector, private searchRef: SearchComponent) {\n this.elementRef = inj.get(ElementRef);\n }\n\n ngAfterContentInit() {\n // add the scroll event listener on the ul element.\n this.elementRef.nativeElement.addEventListener('scroll', this.notifyParent.bind(this));\n this.searchRef.dropdownEl = $(this.elementRef.nativeElement);\n (this.searchRef as any).onDropdownOpen();\n }\n\n ngAfterViewInit() {\n if (!this.searchRef.isMobileAutoComplete()) {\n // assigning width for the dropdown.\n const typeAheadInput = this.searchRef.$element.find('input').first();\n this.searchRef.dropdownEl.width(typeAheadInput.outerWidth());\n }\n }\n\n private notifyParent(evt: Event) {\n this.searchRef.onScroll(this.elementRef.nativeElement, evt);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { TypeaheadModule } from 'ngx-bootstrap/typeahead';\n\nimport { WmComponentsModule } from '@wm/components/base';\n\nimport { SearchComponent } from './search.component';\nimport { ScrollableDirective } from './scrollable.directive';\n\nconst components = [\n SearchComponent,\n ScrollableDirective\n];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TypeaheadModule,\n WmComponentsModule\n ],\n declarations: [...components],\n exports: [...components]\n})\nexport class SearchModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["filter","i1.SearchComponent"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/basic/search/src/scrollable.directive.ts","../../../../../projects/components/widgets/basic/search/src/search.props.ts","../../../../../projects/components/widgets/basic/search/src/data-provider/local-data-provider.ts","../../../../../projects/components/widgets/basic/search/src/data-provider/remote-data-provider.ts","../../../../../projects/components/widgets/basic/search/src/data-provider/data-provider.ts","../../../../../projects/components/widgets/basic/search/src/search.component.html","../../../../../projects/components/widgets/basic/search/src/search.component.ts","../../../../../projects/components/widgets/basic/search/src/index.ts"],"sourcesContent":["import { AfterContentInit, AfterViewInit, Directive, ElementRef, Injector } from '@angular/core';\n\nimport { SearchComponent } from './search.component';\n\ndeclare const $;\n\n@Directive({\n standalone: true,\n selector: '[scrollable]'\n})\nexport class ScrollableDirective implements AfterContentInit, AfterViewInit {\n private elementRef: ElementRef;\n\n constructor(inj: Injector, private searchRef: SearchComponent) {\n this.elementRef = inj.get(ElementRef);\n }\n\n ngAfterContentInit() {\n // add the scroll event listener on the ul element.\n this.elementRef.nativeElement.addEventListener('scroll', this.notifyParent.bind(this));\n this.searchRef.dropdownEl = $(this.elementRef.nativeElement);\n (this.searchRef as any).onDropdownOpen();\n }\n\n ngAfterViewInit() {\n if (!this.searchRef.isMobileAutoComplete()) {\n // assigning width for the dropdown.\n const typeAheadInput = this.searchRef.$element.find('input').first();\n this.searchRef.dropdownEl.width(typeAheadInput.outerWidth());\n }\n }\n\n private notifyParent(evt: Event) {\n this.searchRef.onScroll(this.elementRef.nativeElement, evt);\n }\n}\n","import {FormWidgetType} from '@wm/core';\nimport {PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget} from '@wm/components/base';\n\nexport const searchProps = new Map(\n [\n ['casesensitive', { value: false, ...PROP_BOOLEAN }],\n ['class', PROP_STRING],\n ['datacompletemsg', { value: 'No more data to load', ...PROP_STRING }],\n ['datafield', { value: 'All Fields', ...PROP_STRING }],\n ['dataoptions', PROP_ANY],\n ['dataset', PROP_ANY],\n ['datasource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['datavaluesource', PROP_ANY],\n ['dateformat', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['displayimagesrc', PROP_STRING],\n ['displaylabel', PROP_STRING],\n ['displayexpression', PROP_STRING],\n\n ['dropup', PROP_BOOLEAN],\n ['groupby', PROP_STRING],\n ['hint', PROP_STRING],\n ['arialabel', PROP_STRING],\n ['imagewidth', { value: '16px', ...PROP_STRING }],\n ['limit', PROP_NUMBER],\n ['loadingdatamsg', { value: 'Loading items...', ...PROP_STRING }],\n ['match', PROP_STRING],\n ['matchmode', PROP_STRING],\n ['minchars', PROP_NUMBER],\n ['name', PROP_STRING],\n ['navsearchbar', { value: false, ...PROP_BOOLEAN }],\n ['orderby', PROP_STRING],\n ['placeholder', { value: 'Search', ...PROP_STRING }],\n ['position', PROP_STRING],\n ['query', PROP_STRING],\n ['readonly', PROP_BOOLEAN],\n ['required', PROP_BOOLEAN],\n ['searchkey', PROP_STRING],\n ['searchon', { value: 'typing', ...PROP_STRING }],\n ['shortcutkey', PROP_STRING],\n ['show', { value: true, ...PROP_BOOLEAN }],\n ['showclear', { value: false, ...PROP_BOOLEAN }],\n ['showsearchicon', PROP_BOOLEAN],\n ['tabindex', { value: 0, ...PROP_NUMBER }],\n ['type', { value: 'search', ...PROP_STRING }],\n ['debouncetime', { value: 250, ...PROP_NUMBER }],\n ['width', PROP_STRING],\n ['clearsearchiconclass', {value: 'wi wi-close', ...PROP_STRING}],\n ['backsearchiconclass', {value: 'wi wi-arrow-left', ...PROP_STRING}],\n ['searchiconclass', {value: 'wm-sl-l sl-search', ...PROP_STRING}],\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-search',\n searchProps\n );\n registerFormWidget(\n FormWidgetType.AUTOCOMPLETE,\n new Map(searchProps)\n );\n registerFormWidget(\n FormWidgetType.TYPEAHEAD,\n new Map(searchProps)\n );\n};\n","import { IDataProvider, IDataProviderConfig } from './data-provider';\nimport {\n endsWith,\n filter,\n get,\n includes,\n isArray,\n isEqual,\n isNumber,\n isObject,\n split,\n startsWith,\n toLower,\n toString,\n values\n} from \"lodash-es\";\n\nexport class LocalDataProvider implements IDataProvider {\n private applyFilter(entry, queryText, filtername?) {\n entry = isNumber(entry) ? entry.toString() : entry;\n if (includes(filtername, 'start')) {\n return startsWith(entry, queryText);\n } else if (includes(filtername, 'end')) {\n return endsWith(entry, queryText);\n } else if (includes(filtername, 'exact')) {\n return isEqual(entry, queryText);\n }\n return includes(entry, queryText);\n }\n\n // LocalData filtering is done based on the searchkey.\n public filter(config: IDataProviderConfig): Promise<any> {\n const entries = config.dataset;\n let casesensitive = config.casesensitive;\n const matchMode = config.matchMode;\n // for supporting existing projects\n if (matchMode && !includes(matchMode, 'ignorecase')) {\n casesensitive = true;\n }\n let queryText = config.query,\n filteredData;\n\n return new Promise((resolve, reject) => {\n /**\n * If searchKey is defined, then check for match string against each item in the dataset with item's field name as the searchKey\n * return the filtered data containing the matching string.\n */\n if (config.searchKey) {\n const keys = split(config.searchKey, ',');\n\n filteredData = filter(config.dataset, (item: any) => {\n return keys.some(key => {\n let a = get(item, key),\n b = queryText;\n if (!casesensitive) {\n a = toLower(toString(a));\n b = toLower(toString(b));\n }\n return this.applyFilter(a, b, matchMode);\n });\n });\n } else {\n // local search on data with array of objects.\n // Iterate over each item and return the filtered data containing the matching string.\n if (isArray(entries) && isObject(entries[0])) {\n filteredData = filter(entries, entry => {\n let a = values(entry).join(' ');\n if (!casesensitive) {\n a = toLower(a);\n // @ts-ignore\n queryText = toLower(queryText);\n }\n return this.applyFilter(a, queryText);\n });\n } else {\n filteredData = filter(entries, entry => {\n if (!casesensitive) {\n entry = toLower(entry);\n // @ts-ignore\n queryText = toLower(queryText);\n }\n return this.applyFilter(entry, queryText, matchMode);\n });\n }\n }\n resolve({\n data: filteredData,\n hasMoreData: false,\n isLastPage: true\n });\n });\n }\n}\n","import { AppConstants, DataSource, findValueOf, getClonedObject } from '@wm/core';\n\nimport { convertDataToObject, interpolateBindExpressions } from '@wm/components/base';\nimport { IDataProvider, IDataProviderConfig } from './data-provider';\nimport {assign, get, indexOf, isArray, isEmpty, isObject, set, slice, split} from \"lodash-es\";\n\nexport class RemoteDataProvider implements IDataProvider {\n public filter(config: IDataProviderConfig): Promise<any> {\n return this.filterData(config).then(response => this.onFilterSuccess(config, response), () => this.onFilterFailure());\n }\n\n private filterData(config) {\n if (config.dataoptions) {\n const dataoptions = config.dataoptions;\n\n const requestParams = config.datasource.execute(DataSource.Operation.GET_REQUEST_PARAMS, config);\n\n // If options are specified, make specifics calls to fetch the results\n // Fetch the related field data\n if (dataoptions.relatedField) {\n return new Promise((resolve, reject) => {\n interpolateBindExpressions(config.viewParent, dataoptions.filterExpr, (filterexpressions) => {\n requestParams.filterExpr = dataoptions.filterExpr = filterexpressions;\n dataoptions.filterExpr = filterexpressions;\n\n config.datasource.execute(\n DataSource.Operation.GET_RELATED_TABLE_DATA, assign({relatedField: dataoptions.relatedField}, requestParams)\n ).then(resolve, reject);\n });\n });\n }\n // Fetch the distinct data\n if (dataoptions.distinctField) {\n return config.datasource.execute(\n DataSource.Operation.GET_DISTINCT_DATA_BY_FIELDS,\n {\n pagesize: config.limit || config.pagesize,\n page: config.page,\n fields: dataoptions.distinctField,\n entityName: dataoptions.tableName,\n filterFields: assign(dataoptions.filterFields, requestParams.filterFields),\n filterExpr: getClonedObject(dataoptions.filterExpr || {})\n\n }\n );\n }\n }\n\n // search records using the searchkey\n return config.datasource.execute(\n DataSource.Operation.SEARCH_RECORDS, config\n );\n }\n\n\n // Check if the page retrieved currently is the last page. If last page, don't send any more request\n protected isLast(page: number, dataSize: number, maxResults: number, currentResults?: number): boolean {\n // if last page info is not returned by backend and current results is less than max results, this is the last page\n if (dataSize === AppConstants.INT_MAX_VALUE) {\n return currentResults !== 0 && currentResults < maxResults;\n }\n const pageCount = ((dataSize > maxResults) ? (Math.ceil(dataSize / maxResults)) : (dataSize < 0 ? 0 : 1));\n return page === pageCount;\n }\n\n // this function transform the response data in case it is not an array\n protected getTransformedData(variable: any, data: any): any {\n const operationResult = variable.operation + 'Result'; // when output is only string it is available as oprationNameResult\n const tempResponse = data[operationResult];\n\n // in case data received is value as string then add that string value to object and convert object into array\n if (tempResponse) {\n const tempObj = {};\n set(tempObj, operationResult, tempResponse);\n data = [tempObj]; // convert data into an array having tempObj\n } else {\n // in case data received is already an object then convert it into an array\n data = [data];\n }\n\n return data;\n }\n\n protected onFilterFailure() {\n return [];\n }\n\n private isLastPageForDistinctApi(data, page, totalElements, _isLastPage) {\n return page > 1 && !_isLastPage && isEmpty(data) && totalElements === AppConstants.INT_MAX_VALUE;\n }\n\n\n // this function processes the response depending on pageOptions, isPageable and prepares the formattedDataset.\n protected onFilterSuccess(config: IDataProviderConfig, response): Promise<any> {\n let data: any = response.data;\n let formattedData: any;\n let _isLastPage: boolean;\n let page: number;\n let isPaginatedData: boolean;\n\n const expressionArray = split(config.binddataset, '.');\n const dataExpression = slice(expressionArray, indexOf(expressionArray, 'dataSet') + 1).join('.');\n const $I = '[$i]';\n\n return new Promise((resolve, reject) => {\n const pageOptions = response.pagination;\n\n if (config.datasource.execute(DataSource.Operation.IS_PAGEABLE)) {\n page = pageOptions.number + 1;\n _isLastPage = this.isLast(page, (config.limit > 0 && config.limit) || pageOptions.totalElements, pageOptions.size, pageOptions.numberOfElements);\n isPaginatedData = true;\n\n if (this.isLastPageForDistinctApi(data, page, pageOptions.totalElements, _isLastPage)) {\n _isLastPage = true;\n resolve({\n data: [],\n isLastPage: _isLastPage,\n hasMoreData: page > 1,\n isPaginatedData,\n page\n });\n return;\n }\n }\n // if data expression exists, extract the data from the expression path\n if (dataExpression) {\n if (isArray(data)) {\n const index = dataExpression.lastIndexOf($I);\n if(index > -1){\n const restExpr = dataExpression.substr(index + 5);\n formattedData = data.map(datum => findValueOf(datum, restExpr));\n }\n } else if (isObject(data)) {\n formattedData = get(data, dataExpression);\n }\n data = formattedData || data;\n }\n if (!isArray(data)) {\n data = this.getTransformedData(config.datasource, data);\n }\n // in case of no data received, resolve the promise with empty array\n if (!data.length) {\n resolve({data: [], isLastPage: _isLastPage, hasMoreData: page > 1, isPaginatedData, page});\n } else {\n resolve({data: data, isLastPage: _isLastPage, hasMoreData: page > 1, isPaginatedData, page});\n }\n });\n }\n}\n","import { DataSource } from '@wm/core';\n\nimport { LocalDataProvider } from './local-data-provider';\nimport { RemoteDataProvider } from './remote-data-provider';\n\nexport interface IDataProviderConfig {\n dataoptions?: any;\n viewParent?: any;\n dataset: any;\n datafield: string;\n binddataset?: string;\n datasource?: any;\n hasData: boolean;\n query: Array<string> | string;\n isLocalFilter: boolean;\n searchKey?: string;\n matchMode?: string;\n casesensitive?: boolean;\n isformfield?: boolean;\n orderby?: string;\n limit?: number;\n pagesize?: number;\n page: number;\n noMoredata?: boolean;\n onBeforeservicecall?: Function;\n}\n\nexport interface IDataProvider {\n hasMoreData?: boolean;\n isLastPage?: boolean;\n hasNoMoreData?: boolean;\n isPaginatedData?: boolean;\n page?: number;\n updateDataset?: boolean;\n\n filter(config: IDataProviderConfig): Promise<any>;\n}\n\nexport class DataProvider implements IDataProvider {\n\n public hasMoreData: boolean;\n public isLastPage: boolean;\n public page: number;\n public isPaginatedData: boolean;\n public updateDataset: boolean;\n\n static remoteDataProvider = new RemoteDataProvider();\n static localDataProvider = new LocalDataProvider();\n\n public filter(config: IDataProviderConfig): Promise<any> {\n\n let promise: Promise<any>;\n\n /**\n * Make call to remoteDataProvider when searchkey is available and data is not from local / model variable.\n * Otherwise use localDataProvider\n * If datasource is a serviceVariable with no input params, then perform local search.\n * when there is no dataset on the datasource when first time make a remote call to set the dataset for service variable.\n */\n const hasNoVariableDataset = config.datasource && config.datasource.execute(DataSource.Operation.IS_UPDATE_REQUIRED, config.hasData);\n if (!config.isLocalFilter && (config.dataoptions || ((config.datasource && config.datasource.execute(DataSource.Operation.IS_API_AWARE))\n && config.searchKey\n && hasNoVariableDataset))) {\n promise = DataProvider.remoteDataProvider.filter(config);\n } else {\n promise = DataProvider.localDataProvider.filter(config);\n }\n\n return promise.then(response => {\n this.updateDataset = config.datasource && !config.datasource.execute(DataSource.Operation.SUPPORTS_CRUD) && hasNoVariableDataset;\n this.hasMoreData = response.hasMoreData;\n this.isLastPage = response.isLastPage;\n this.page = response.page;\n this.isPaginatedData = response.isPaginatedData;\n\n return response;\n });\n }\n}\n","<ng-template #customItemTemplate let-model=\"item\" let-index=\"index\" let-query=\"query\" let-match=\"match\">\n <!-- Default item template -->\n @if (!content) {\n <a>\n @if (model.imgSrc) {\n <img [src]=\"model.imgSrc\" alt=\"Search\" [style.width]=\"imagewidth\">\n }\n <span [title]=\"model.label\" [innerHtml]=\"highlight(match, query) || model.label\"></span>\n </a>\n }\n <!-- Custom partial template -->\n @if (content) {\n <a [ngClass]=\"{customTemplate: content}\" partialContainer [wmItemTemplate]=\"content\" [userComponentParams]=\"match.item\">\n <div partial-container-target></div>\n </a>\n }\n</ng-template>\n\n<ng-template #customListTemplate let-matches=\"matches\" let-itemTemplate=\"itemTemplate\" let-query=\"query\">\n <ul #ulElement class=\"app-search dropdown-menu\" scrollable>\n @for (match of matches; track match; let i = $index) {\n <li #liElements [ngClass]=\"{active: typeaheadContainer && typeaheadContainer.isActive(match), 'list-group-header': match && match.isHeader()}\"\n (mouseenter)=\"typeaheadContainer.selectActive(match);\"\n (click)=\"match && !match.isHeader() && typeaheadContainer.selectMatch(match, $event); $typeaheadEvent = $event; notifySubscriber();\">\n <!-- itemTemplate comes from the <input> -->\n @if (match.isHeader()) {\n <h4 class=\"group-title\">{{match.value}}</h4>\n }\n @if (!match.isHeader()) {\n <ng-container [ngTemplateOutlet]=\"itemTemplate\"\n [ngTemplateOutletContext]=\"{item: match.item, index: i, match: match, query: query}\">\n </ng-container>\n }\n </li>\n }\n <div class=\"status\" [hidden]=\"_loadingItems || !(datacompletemsg && dataProvider.isLastPage)\">\n <span [textContent]=\"datacompletemsg\"></span>\n </div>\n <div class=\"status\" [hidden]=\"!_loadingItems\">\n <i class=\"fa fa-circle-o-notch fa-spin\"></i>\n <span [textContent]=\"loadingdatamsg\"></span>\n </div>\n </ul>\n</ng-template>\n\n<!--This template is for search inside mobile navbar.-->\n@if (navsearchbar) {\n <input [title]=\"query || ''\" type=\"text\" class=\"app-textbox form-control list-of-objs app-search-input\" [placeholder]=\"placeholder || ''\"\n focus-target\n container=\"body\"\n [disabled]=\"disabled\"\n [attr.accesskey]=\"shortcutkey\"\n autocomplete=\"off\"\n [(ngModel)]=\"query\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [typeahead]=\"typeaheadDataSource\"\n [typeaheadWaitMs]=\"debouncetime\"\n [typeaheadItemTemplate]=\"customItemTemplate\"\n [optionsListTemplate]=\"customListTemplate\"\n (input)=\"onInputChange($event)\"\n (keydown)=\"listenQuery = true\"\n (keydown.enter)=\"$typeaheadEvent = $event;handleEnterEvent($event)\"\n (keydown.arrowdown)=\"selectNext($event)\"\n (blur)=\"invokeOnTouched($event)\"\n (click)=\"handleFocus($event);\"\n (focus)=\"_unsubscribeDv = false; listenQuery = true; handleFocus($event); invokeOnFocus($event);\"\n (focusout)=\"onFocusOut()\"\n [typeaheadMinLength]=\"minchars\"\n [typeaheadOptionsLimit]=\"limit\"\n (typeaheadLoading)=\"_loadingItems\"\n (typeaheadOnSelect)=\"typeaheadOnSelect($event)\"\n typeaheadOptionField=\"label\"\n [typeaheadGroupField]=\"groupby ? 'groupby' : null\"\n [typeaheadAsync]=\"true\"\n [typeaheadScrollable]=\"true\"\n [adaptivePosition]=\"true\"\n [typeaheadOptionsInScrollableView]=\"optionslimitinscrollableview\"\n [dropup]=\"dropup\"\n [tabindex]=\"tabindex\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel || 'Search field'\"/>\n <i class=\"btn-close wi wi-cancel\" [hidden]=\"!showClosebtn\" (click)=\"clearSearch($event);\"></i>\n} @else {\n <button class=\"btn btn-icon form-control-feedback back-btn\" aria-hidden=\"true\" (click)=\"closeSearch()\"><i class=\"app-icon {{backsearchiconclass}}\"></i></button>\n <span class=\"sr-only\">Back button</span>\n <input [title]=\"query || ''\" type=\"text\" class=\"app-textbox form-control list-of-objs app-search-input\" [placeholder]=\"placeholder || ''\"\n focus-target\n [container]=\"containerTarget || '.wm-app'\"\n [disabled]=\"disabled\"\n [attr.accesskey]=\"shortcutkey\"\n autocomplete=\"off\"\n [(ngModel)]=\"query\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [typeahead]=\"typeaheadDataSource\"\n [typeaheadWaitMs]=\"debouncetime\"\n [typeaheadItemTemplate]=\"customItemTemplate\"\n [optionsListTemplate]=\"customListTemplate\"\n (input)=\"onInputChange($event)\"\n (keydown)=\"listenQuery = true\"\n (keydown.enter)=\"$typeaheadEvent = $event;handleEnterEvent($event)\"\n (keydown.arrowdown)=\"selectNext($event)\"\n (blur)=\"invokeOnTouched($event); onFocusOut()\"\n (click)=\"handleFocus($event);\"\n (focus)=\"_unsubscribeDv = false; listenQuery = true; handleFocus($event); invokeOnFocus($event)\"\n [typeaheadMinLength]=\"minchars\"\n [typeaheadOptionsLimit]=\"limit\"\n (typeaheadLoading)=\"_loadingItems\"\n (typeaheadOnSelect)=\"typeaheadOnSelect($event)\"\n typeaheadOptionField=\"label\"\n [typeaheadGroupField]=\"groupby ? 'groupby' : null\"\n [typeaheadAsync]=\"true\"\n [typeaheadScrollable]=\"true\"\n [adaptivePosition]=\"true\"\n [typeaheadOptionsInScrollableView]=\"optionslimitinscrollableview\"\n [tabindex]=\"tabindex\"\n [dropup]=\"dropup\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel || 'Search field'\">\n <input class=\"model-holder\" ng-model=\"proxyModel\" ng-required=\"required\" tabindex=\"-1\" aria-hidden=\"true\">\n @if (_loadingItems) {\n <span aria-hidden=\"true\" class=\"fa fa-circle-o-notch fa-spin form-control-feedback\"></span>\n }\n <button class=\"btn btn-icon form-control-feedback clear-btn\" [ngClass]=\"{'show-btn': isQueryEntered()}\" (click)=\"clearSearch($event, true)\"><i class=\"app-icon {{clearsearchiconclass}}\"></i></button>\n <span class=\"sr-only\">Clear button</span>\n @if (showsearchicon) {\n <span [ngClass]=\"{'disabled': disabled}\" class=\"input-group-addon\">\n <form>\n <button title=\"Search\" [disabled]=\"disabled\" class=\"app-search-button btn btn-icon\" type=\"submit\"\n (click)=\"onSearchSelect($event)\">\n <i class=\"app-icon {{searchiconclass}}\"></i></button>\n </form>\n </span>\n }\n }\n <!--This template is for both web and fullscreen mode in mobile.-->\n","import { CommonModule } from '@angular/common';\nimport { WmComponentsModule } from \"@wm/components/base\";\nimport { FormsModule } from '@angular/forms';\nimport { ScrollableDirective } from './scrollable.directive';\nimport {\n AfterViewChecked,\n AfterViewInit,\n Attribute,\n Component,\n ElementRef,\n Inject,\n Injector,\n OnInit,\n Optional,\n QueryList,\n ViewChild,\n ViewChildren\n} from '@angular/core';\nimport {NG_VALIDATORS, NG_VALUE_ACCESSOR} from '@angular/forms';\n\nimport {from, Observable, of} from 'rxjs';\nimport {filter, mergeMap} from 'rxjs/operators';\n\nimport {TypeaheadContainerComponent, TypeaheadDirective, TypeaheadMatch, TypeaheadModule} from 'ngx-bootstrap/typeahead';\n\nimport {addClass, adjustContainerPosition, App, DataSource, isDefined, isMobile, toBoolean} from '@wm/core';\nimport {\n ALLFIELDS,\n convertDataToObject,\n DataSetItem,\n extractDataAsArray,\n getContainerTargetClass,\n getUniqObjsByDataField,\n provideAs,\n provideAsWidgetRef,\n styler,\n transformFormData\n} from '@wm/components/base';\nimport {DatasetAwareFormComponent} from '@wm/components/input';\n\nimport {registerProps} from './search.props';\nimport {DataProvider, IDataProvider, IDataProviderConfig} from './data-provider/data-provider';\nimport {\n debounce,\n find,\n get,\n includes,\n isArray,\n isEmpty,\n isEqual,\n isObject,\n isUndefined,\n map,\n split,\n toString,\n trim\n} from \"lodash-es\";\n\nconst WIDGET_CONFIG = { widgetType: 'wm-search', hostClass: 'input-group' };\n\n@Component({\n standalone: true,\n imports: [CommonModule, WmComponentsModule, FormsModule, ScrollableDirective, TypeaheadModule],\n selector: '[wmSearch]',\n templateUrl: './search.component.html',\n providers: [\n provideAs(SearchComponent, NG_VALUE_ACCESSOR, true),\n provideAs(SearchComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(SearchComponent)\n ]\n})\nexport class SearchComponent extends DatasetAwareFormComponent implements OnInit, AfterViewInit, AfterViewChecked {\n static initializeProps = registerProps();\n public casesensitive: boolean;\n public searchkey: string;\n public queryModel: Array<DataSetItem> | string;\n public query = '';\n public limit: any;\n public showsearchicon: boolean;\n public minchars: number;\n public type: string;\n public navsearchbar: any;\n public debouncetime: number;\n public hint: string;\n public arialabel: string;\n\n private app: App;\n private typeaheadDataSource: Observable<any>;\n private pagesize: any;\n private page = 1;\n public _loadingItems: boolean;\n private dataProvider: IDataProvider;\n private result: Array<any>; // contains the search result i.e. matches\n private formattedDataset: any;\n private isformfield: boolean;\n private $typeaheadEvent: Event;\n\n public tabindex: number;\n public startIndex: number;\n public binddisplaylabel: string;\n public typeaheadContainer: TypeaheadContainerComponent;\n public containerTarget: string;\n public clearsearchiconclass: string;\n public backsearchiconclass: string;\n public searchiconclass: string;\n\n @ViewChild(TypeaheadDirective) typeahead: TypeaheadDirective;\n @ViewChild('ulElement') ulElement: ElementRef;\n @ViewChildren('liElements') liElements: QueryList<ElementRef>;\n\n private allowonlyselect: boolean;\n private class: string;\n\n private lastSelectedIndex: number;\n private dataoptions: any;\n public dropdownEl: any;\n private _lastQuery: string;\n private _lastResult: any;\n private _isOpen: boolean; // set to true when dropdown is open\n private showClosebtn: boolean;\n private _unsubscribeDv: boolean;\n private _datasource: any;\n private isScrolled: boolean;\n private parentEl: any;\n private position: string;\n private elIndex: number;\n private listenQuery: boolean;\n private _domUpdated: boolean;\n private searchon: string;\n private showclear: boolean;\n public matchmode: string;\n private clearData: boolean;\n\n\n // getter setter is added to pass the datasource to searchcomponent.\n get datasource() {\n return this._datasource;\n }\n\n set datasource(nv) {\n this._datasource = nv;\n const data = this.datavalue || this.toBeProcessedDatavalue;\n this.updateByDatavalue(data);\n }\n\n constructor(\n inj: Injector,\n app: App,\n @Attribute('datavalue.bind') public binddatavalue,\n @Attribute('dataset.bind') public binddataset,\n @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n ) {\n super(inj, WIDGET_CONFIG, explicitContext);\n // this flag will not allow the empty datafield values.\n this.allowempty = false;\n this.app = app;\n addClass(this.nativeElement, 'app-search', true);\n\n /**\n * Listens for the change in the ngModel on every search and retrieves the data as observable.\n * This observable data is passed to the typeahead.\n * @type {Observable<any>}\n */\n this.typeaheadDataSource = Observable\n .create((observer: any) => {\n // Runs on every search\n if (this.listenQuery) {\n this._defaultQueryInvoked = false;\n this._loadingItems = true;\n observer.next(this.query);\n }\n // on keydown, while scrolling the dropdown items, when last item is reached next call is triggered\n // unless the call is resolved, we are able to scroll next to first item and soon\n // This shows flickering from first item to next new items appended.\n // By setting container to undefined, key events changes will be stopped while loading items\n if (this.lastSelectedIndex) {\n this.typeahead._container = undefined;\n }\n }).pipe(\n filter(() => {\n this._loadingItems = false;\n return (this.minchars === 0 || (this.query && this.query.length >= this.minchars));\n }),\n mergeMap((token: string) => this.getDataSourceAsObservable(token))\n );\n\n this.dataProvider = new DataProvider();\n\n /**\n * When default datavalue is not found within the dataset, a filter call is made to get the record using fetchDefaultModel.\n * after getting the response, set the queryModel and query.\n */\n const datavalueSubscription = this.datavalue$.subscribe((val: Array<string> | string) => {\n\n const query = (isArray(val) ? val[0] : val) as string;\n\n if (query === null || query === '') {\n this._modelByValue = '';\n // reset the query.\n this.query = this.queryModel = '';\n // on clear or reset filter, empty the lastResults to fetch new records.\n this._lastResult = undefined;\n return;\n }\n\n if (!this._unsubscribeDv) {\n this._defaultQueryInvoked = false;\n // if prev datavalue is not equal to current datavalue then clear the modelByKey and queryModel\n if (!isObject(val) && (this as any).prevDatavalue !== val) {\n this._modelByKey = undefined;\n this.query = this.queryModel = '';\n }\n // if the datafield is ALLFILEDS do not fetch the records\n // update the query model with the values we have\n this.updateByDatavalue(val);\n }\n\n // turn on showCloseBtn when a default value is given\n this.showClosebtn = (this.query !== '');\n });\n this.registerDestroyListener(() => datavalueSubscription.unsubscribe());\n\n const datasetSubscription = this.dataset$.subscribe(() => {\n // set the next item index.\n this.startIndex = this.datasetItems.length;\n this._lastResult = undefined;\n const defaultValue = this.datavalue || this.toBeProcessedDatavalue;\n // invoking updateByDataset only when datavalue is present, as entered value i.e. query is setting back to ''\n if (isDefined(defaultValue)) {\n this.updateByDataset(defaultValue);\n }\n });\n this.registerDestroyListener(() => datasetSubscription.unsubscribe());\n }\n\n // on clear, trigger search with page size 1\n private clearSearch($event, loadOnClear) {\n this.query = '';\n this.onInputChange($event);\n this.dataProvider.isLastPage = false;\n this.listenQuery = false;\n if (loadOnClear) {\n this.listenQuery = true;\n this._unsubscribeDv = false;\n this.loadMoreData();\n }\n this.invokeEventCallback('clearsearch');\n this._loadingItems = false;\n // when search input is cleared, focus on the input field\n if ($event) {\n this.$element.find('.app-search-input').focus();\n }\n }\n\n // function to clear the input value\n public clearText() {\n this.query = '';\n this.showClosebtn = false;\n }\n\n // Close the full screen mode in mobile view of auto complete\n private closeSearch() {\n this._loadingItems = false;\n this.page = 1;\n // after closing the search, insert the element at its previous position (elIndex)\n this.insertAtIndex(this.elIndex);\n this.elIndex = undefined;\n this.parentEl = undefined;\n this.$element.removeClass('full-screen');\n if (this._domUpdated) {\n this._domUpdated = false;\n }\n this.listenQuery = false;\n this._unsubscribeDv = true;\n this.typeahead.hide();\n }\n\n private renderMobileAutoComplete() {\n // Get the parent element of the search element which can be next or prev element, if both are empty then get the parent of element.\n if (!isDefined(this.elIndex)) {\n this.parentEl = this.$element.parent();\n this.elIndex = this.parentEl.children().index(this.$element);\n }\n if (!this.$element.hasClass('full-screen')) {\n // this flag is set to notify that the typeahead-container dom has changed its position\n this._domUpdated = true;\n // Add full screen class on focus of the input element.\n this.$element.addClass('full-screen');\n\n // Add position to set the height to auto\n if (this.position === 'inline') {\n this.$element.addClass(this.position);\n }\n }\n // focus is lost when element is changed to full-screen, keydown to select next items will not work\n // Hence explicitly focusing the input\n if (this.$element.hasClass('full-screen')) {\n this.$element.find('.app-search-input').focus();\n }\n }\n\n private getDataSourceAsObservable(query: string): Observable<any> {\n // show dropdown only when there is change in query. This should not apply when dataoptions with filterFields are updated.\n // when lastResult is not available i.e. still the first call is pending and second query is invoked then do not return.\n if (this._lastQuery === query && !get(this.dataoptions, 'filterFields') && isDefined(this._lastResult)) {\n this._loadingItems = false;\n return of(this._lastResult);\n }\n\n /*\n WMS-19177: On focus of input field for autocomplete type, do not trigger api call when\n a) searchkey and displayexpression are different\n b) binddisplaylabel contains multiple values\n c) binddisplaylabel contains single value which does not match with searchkey\n */\n if (this.type === 'autocomplete' && this.searchkey && this.query && this.datavalue) {\n let bindDisplayLabelArray = [];\n const searchKeyArray = split(this.searchkey, ',');\n let displaylabel;\n if (this.binddisplaylabel) {\n bindDisplayLabelArray = split(this.binddisplaylabel, '+');\n if (bindDisplayLabelArray.length === 1) {\n if (!includes(bindDisplayLabelArray[0], '|')) {\n const regex = /\\[(.*?)\\]/;\n displaylabel = regex.exec(bindDisplayLabelArray[0])[1];\n } else {\n displaylabel = true;\n }\n }\n }\n if ((bindDisplayLabelArray.length > 1 || (displaylabel && !includes(searchKeyArray, displaylabel))\n || (this.displayexpression && !includes(searchKeyArray, this.displayexpression)))) {\n this._loadingItems = false;\n return of([]);\n }\n }\n this._lastQuery = this.query;\n return from(this.getDataSource(query));\n }\n\n protected handleEvent(node: HTMLElement, eventName: string, eventCallback: Function, locals: any) {\n if (!includes(['blur', 'focus', 'select', 'submit', 'change'], eventName)) {\n super.handleEvent(node, eventName, eventCallback, locals);\n }\n }\n\n // highlight the characters in the dropdown matching the query.\n private highlight(match: TypeaheadMatch, query: string) {\n if (this.typeaheadContainer) {\n // highlight of chars will work only when label are strings.\n (match as any).value = match.item.label.toString();\n return this.typeaheadContainer.highlight(match, query);\n }\n }\n\n // inserts the element at the index position\n private insertAtIndex(i) {\n if (i === 0) {\n this.parentEl.prepend(this.$element);\n } else {\n const $elAtIndex = this.parentEl.children().eq(i);\n if ($elAtIndex.length) {\n this.$element.insertBefore(this.parentEl.children().eq(i));\n } else {\n this.$element.insertAfter(this.parentEl.children().eq(i - 1));\n }\n }\n }\n\n // Check if the widget is of type autocomplete in mobile view/ app\n public isMobileAutoComplete() {\n return this.type === 'autocomplete' && isMobile();\n }\n\n // Check if the query is entered in the input and the view is not mobile\n public isQueryEntered() {\n return this.showclear && this.showClosebtn;\n }\n\n private loadMoreData(incrementPage?: boolean) {\n if (this.dataProvider.isLastPage) {\n return;\n }\n // Increase the page number and trigger force query update\n this.page = incrementPage ? this.page + 1 : this.page;\n\n this.isScrolled = true;\n this._loadingItems = true;\n\n // when invoking new set of results, reset the lastQuery.\n if (incrementPage) {\n this._lastQuery = undefined;\n }\n\n // trigger the typeahead change manually to fetch the next set of results.\n this.typeahead.onInput({\n target: {\n value: trim(this.query) || '0' // dummy data to notify the observables\n }\n });\n }\n\n // on focusout, subscribe to the datavalue changes again\n private onFocusOut() {\n this._unsubscribeDv = false;\n this._loadingItems = false;\n // reset the page value on focusout.\n this.page = 1;\n // if domUpdated is true then do not hide the dropdown in the fullscreen\n if (!this._domUpdated && this._isOpen) {\n this.listenQuery = false;\n }\n this._isOpen = false;\n // on outside click, typeahead is hidden. To avoid this, when fullscreen is set, overridding isFocused flag on the typeahead container\n if (this._domUpdated && this.typeahead && (this.typeahead as any)._container) {\n (this.typeahead as any)._container.isFocused = true;\n }\n }\n\n private onInputChange($event) {\n // reset all the previous page details in order to fetch new set of result.\n this.result = [];\n this.page = 1;\n this.listenQuery = this.isUpdateOnKeyPress();\n this._modelByValue = undefined;\n\n // when input is cleared, reset the datavalue\n if (this.query === '') {\n this.queryModel = '';\n this._modelByValue = '';\n this.updatePrevDatavalue(this._lastQuery);\n this.invokeOnChange(this._modelByValue, {}, true);\n\n this.invokeEventCallback('clear', { $event });\n\n // trigger onSubmit only when the search input is cleared off and do not trigger when tab is pressed.\n if ($event && $event.which !== 9) {\n this.invokeEventCallback('submit', { $event });\n }\n } else {\n // invoking change event on every input value change.\n this.invokeEventCallback('change', {\n $event: $event,\n newVal: this._modelByValue || this.query,\n oldVal: (this as any).prevDatavalue\n });\n }\n this.showClosebtn = (this.query !== '');\n }\n\n // Triggered for enter event\n private handleEnterEvent($event) {\n // submit event triggered when there is no search results\n if (!get(this.typeahead, 'matches.length')) {\n this.onSearchSelect($event);\n }\n }\n // Triggerred when typeahead option is selected.\n private onSearchSelect($event: Event) {\n let item;\n // WMS-22533: Before adding active typeahead el, check if the entered query matches with the active el or not\n const isQueryMatch = this.typeaheadContainer?.active?.value === this.query;\n\n if (this.typeaheadContainer && this.typeaheadContainer.active && isQueryMatch) {\n item = this.typeaheadContainer.active.item;\n }\n $event = this.eventData($event, item || {});\n\n // searchOn is set as onBtnClick, then invoke the search api call manually.\n if (!this.isUpdateOnKeyPress()) {\n this.listenQuery = true;\n // trigger the typeahead change manually to fetch the next set of results.\n this.typeahead.onInput({\n target: {\n value: this.query // dummy data to notify the observables\n }\n });\n return;\n }\n // when matches are available.\n if (this.typeaheadContainer && this.liElements.length && isQueryMatch) {\n this.typeaheadContainer.selectActiveMatch();\n } else {\n this.queryModel = this.query;\n this.invokeEventCallback('submit', { $event });\n }\n }\n\n private invokeOnBeforeServiceCall(inputData) {\n this.invokeEventCallback('beforeservicecall', { inputData });\n }\n\n private onDropdownOpen() {\n if (this.clearData) {\n this.typeahead.hide();\n }\n // setting the ulElements, liElement on typeaheadContainer.\n // as we are using customOption template, liElements are not available on typeaheadContainer so append them explicitly.\n const fn = debounce(() => {\n this._isOpen = true;\n this.typeaheadContainer = this.typeahead._container || (this.typeahead as any)._typeahead.instance;\n (this.typeaheadContainer as any).liElements = this.liElements;\n (this.typeaheadContainer as any).ulElement = this.ulElement;\n adjustContainerPosition($('typeahead-container'), this.nativeElement, (this.typeahead as any)._typeahead, $('typeahead-container .dropdown-menu'));\n\n });\n\n fn();\n\n // open full-screen search view\n if (this.isMobileAutoComplete()) {\n if (!this.$element.hasClass('full-screen')) {\n this.renderMobileAutoComplete();\n }\n const dropdownEl = this.dropdownEl.closest('typeahead-container');\n\n dropdownEl.insertAfter(this.$element.find('input').first());\n const screenHeight = this.$element.closest('.app-content').height();\n dropdownEl.css({ position: 'relative', top: 0, height: screenHeight + 'px' });\n this.showClosebtn = this.query && this.query !== '';\n\n if (!isUndefined(this.dataProvider.isLastPage) && !this.dataProvider.isLastPage) {\n this.triggerSearch();\n }\n }\n }\n\n private selectNext() {\n const matches = this.typeaheadContainer.matches;\n\n if (!matches) {\n return;\n }\n const index = matches.indexOf(this.typeaheadContainer.active);\n\n // on keydown, if scroll is at the bottom and next page records are available, fetch next page items.\n if (!this._loadingItems && !this.dataProvider.isLastPage && index + 1 > matches.length - 1) {\n // index is saved in order to select the lastSelected item in the dropdown after fetching next page items.\n this.lastSelectedIndex = index;\n this.loadMoreData(true);\n }\n }\n\n private setLastActiveMatchAsSelected() {\n if (this.lastSelectedIndex) {\n (this.typeaheadContainer as any)._active = this.typeaheadContainer.matches[this.lastSelectedIndex];\n this.typeaheadContainer.nextActiveMatch();\n this.lastSelectedIndex = undefined;\n }\n }\n\n private triggerSearch() {\n if (this.dataProvider.isLastPage || !this.$element.hasClass('full-screen')) {\n return;\n }\n const typeAheadDropDown = this.dropdownEl;\n const $lastItem = typeAheadDropDown.find('li').last();\n\n // Check if last item is not below the full screen\n if ($lastItem.length && typeAheadDropDown.length && (typeAheadDropDown.height() + typeAheadDropDown.position().top > $lastItem.height() + $lastItem.position().top)) {\n this.loadMoreData(true);\n }\n }\n\n private isUpdateOnKeyPress() {\n return this.searchon === 'typing';\n }\n\n private debounceDefaultQuery(data) {\n this._defaultQueryInvoked = true;\n this.getDataSource(data, true).then((response) => {\n if (response.length) {\n this.queryModel = response;\n this._lastQuery = this.query = this.queryModel[0].label || '';\n this._modelByValue = this.queryModel[0].value;\n this._modelByKey = this.queryModel[0].key;\n this.showClosebtn = (this.query !== '');\n } else {\n this._modelByValue = undefined;\n this.queryModel = undefined;\n this.query = '';\n }\n if (this.clearData) {\n if (get((this.typeahead as any), '_typeahead.isShown')) {\n this.typeahead.hide();\n }\n }\n });\n }\n\n private updateByDatavalue(data) {\n this.updateByDataset(data);\n this.updateByDataSource(data);\n }\n\n private updateByDataSource(data) {\n // value is present but the corresponding key is not found then fetch next set\n // modelByKey will be set only when datavalue is available inside the localData otherwise make a N/w call.\n if (isDefined(data) && !isObject(data) && this.datasource && !isDefined(this._modelByKey) && this.datafield !== ALLFIELDS) {\n // Avoid making default query if queryModel already exists.\n if (isDefined(this.queryModel) && !isEmpty(this.queryModel)) {\n this.updateDatavalueFromQueryModel();\n return;\n }\n\n // Make default query call only when datasource supports CRUD (live variable).\n if (!this._defaultQueryInvoked && this.datasource.execute(DataSource.Operation.SUPPORTS_CRUD)) {\n this.debounceDefaultQuery(data);\n }\n }\n }\n\n // updates the model value using queryModel\n private updateDatavalueFromQueryModel() {\n if (isDefined(this.queryModel)) {\n this._modelByValue = isArray(this.queryModel) ? (this.queryModel[0] as DataSetItem).value : this.queryModel;\n this._modelByKey = isArray(this.queryModel) ? (this.queryModel[0] as DataSetItem).key : this.queryModel;\n this.toBeProcessedDatavalue = undefined;\n }\n }\n\n private updateByDataset(data: any) {\n // default query is already invoked then do not make other default query call.\n // For local search i.e. searchkey is undefined, do not return, verify the datavalue against the datasetItems .\n if (this._defaultQueryInvoked && this.searchkey) {\n return;\n }\n const selectedItem = find(this.datasetItems, (item) => {\n return (isObject(item.value) ? isEqual(item.value, data) : (toString(item.value)).toLowerCase() === (toString(data)).toLowerCase());\n });\n\n // set the default only when it is available in dataset.\n if (selectedItem) {\n this.queryModel = [selectedItem];\n } else if (this.datafield === ALLFIELDS && isObject(data)) {\n this.queryModel = this.getTransformedData(extractDataAsArray(data));\n } else {\n // resetting the queryModel only when prevDatavalue is equal to data\n if ((this as any).prevDatavalue !== data) {\n this.queryModel = undefined;\n this.query = '';\n return;\n }\n }\n this.updateDatavalueFromQueryModel();\n\n // Show the label value on input.\n this._lastQuery = this.query = isDefined(this.queryModel) && this.queryModel.length ? get(this.queryModel[0], 'label') : '';\n this.showClosebtn = (this.query !== '');\n }\n\n // If we have last search results then open dropdown on focus\n private handleFocus($event) {\n if (this.type === 'search' && this.query === this._lastQuery && this._lastResult) {\n (this.typeahead as any).keyUpEventEmitter.emit(this.query);\n }\n }\n\n public notifySubscriber() {\n const parentEl = $(this.nativeElement).closest('.app-composite-widget.caption-floating');\n if (parentEl.length > 0) {\n this.app.notify('captionPositionAnimate', {displayVal: true, nativeEl: parentEl});\n }\n }\n\n // This method returns a promise that provides the filtered data from the datasource.\n public getDataSource(query: Array<string> | string, searchOnDataField?: boolean, nextItemIndex?: number): Promise<DataSetItem[]> {\n // For default query, searchOnDataField is set to true, then do not make a n/w call when datafield is ALLFIELDS\n if (searchOnDataField && this.datafield === ALLFIELDS) {\n this._loadingItems = false;\n return Promise.resolve([]);\n }\n\n // For default datavalue, search key as to be on datafield to get the default data from the filter call.\n const dataConfig: IDataProviderConfig = {\n dataset: this.dataset ? convertDataToObject(this.dataset) : undefined,\n binddataset: this.binddataset,\n datasource: this.datasource,\n datafield: this.datafield,\n hasData: this.dataset && this.dataset.length,\n query: query,\n isLocalFilter: !this.searchkey,\n searchKey: searchOnDataField ? this.datafield : this.searchkey,\n // default search call match mode should be startignorecase\n matchMode: searchOnDataField ? 'startignorecase' : this.matchmode,\n casesensitive: this.casesensitive,\n isformfield: this.isformfield,\n orderby: this.orderby,\n limit: this.limit,\n pagesize: this.pagesize,\n page: this.page,\n onBeforeservicecall: this.invokeOnBeforeServiceCall.bind(this)\n };\n\n if (this.dataoptions) {\n dataConfig.dataoptions = this.dataoptions;\n dataConfig.viewParent = this.viewParent;\n }\n\n this._loadingItems = true;\n\n return this.dataProvider.filter(dataConfig)\n .then((response: any) => {\n // response from dataProvider returns always data object.\n response = response.data || response;\n // for service variable, updating the dataset only if it is not defined or empty\n if ((!isDefined(this.dataset) || !this.dataset.length) && this.dataProvider.updateDataset) {\n this.dataset = response;\n }\n\n if (this.dataProvider.hasMoreData) {\n this.formattedDataset = this.formattedDataset.concat(response);\n } else {\n this.formattedDataset = response;\n }\n\n // explicitly setting the optionslimit as the matches more than 20 will be ignored if optionslimit is not specified.\n if (this.formattedDataset.length > 20 && !isDefined(this.limit)) {\n this.typeahead.typeaheadOptionsLimit = this.formattedDataset.length;\n }\n\n // In mobile, trigger the search by default until the results have height upto page height. Other results can be fetched by scrolling\n if (this._isOpen && this.isMobileAutoComplete() && !isUndefined(this.dataProvider.isLastPage) && !this.dataProvider.isLastPage) {\n this.triggerSearch();\n }\n\n const transformedData = this.getTransformedData(this.formattedDataset, nextItemIndex);\n\n // result contains the datafield values.\n this.result = map(transformedData, 'value');\n return transformedData;\n }, (error) => {\n this._loadingItems = false;\n return [];\n }\n ).then(result => {\n if (this.isScrolled) {\n (debounce(() => {\n this.setLastActiveMatchAsSelected();\n }, 30))();\n this.isScrolled = false;\n }\n // When no result is found, set the datavalue to undefined.\n if (!result.length) {\n this._modelByValue = undefined;\n this.queryModel = (query as string);\n }\n // on focusout i.e. on other widget focus, if n/w is pending loading icon is shown, when data is available then dropdown is shown again.\n // on unsubscribing do not show the results.\n if (this._unsubscribeDv) {\n result = [];\n }\n this._loadingItems = false;\n this._lastResult = result;\n return result;\n });\n }\n\n // this method returns the parent context i.e. Page context and not parent component's context.\n private getContext(context) {\n if (context && get(context, 'widget')) {\n return this.getContext(context.viewParent);\n }\n return context;\n }\n\n public getTransformedData(data: any, itemIndex?: number, iscustom?: boolean): DataSetItem[] {\n if (isDefined(itemIndex)) {\n itemIndex++;\n }\n\n const transformedData = transformFormData(\n this.getContext(this.viewParent),\n data,\n this.datafield,\n {\n displayField: this.displaylabel || this.displayfield,\n displayExpr: iscustom ? '' : this.displayexpression,\n bindDisplayExpr: iscustom ? '' : this.binddisplaylabel,\n bindDisplayImgSrc: this.binddisplayimagesrc,\n displayImgSrc: this.displayimagesrc\n },\n itemIndex,\n this\n );\n return getUniqObjsByDataField(transformedData, this.datafield, this.displayfield || this.displaylabel, toBoolean(this.allowempty));\n }\n\n // OptionsListTemplate listens to the scroll event and triggers this function.\n public onScroll($scrollEl: Element, evt: Event) {\n const totalHeight = $scrollEl.scrollHeight,\n clientHeight = $scrollEl.clientHeight;\n\n // If scroll is at the bottom and no request is in progress and next page records are available, fetch next page items.\n if (!this._loadingItems && !this.dataProvider.isLastPage && ($scrollEl.scrollTop + clientHeight >= totalHeight)) {\n this.loadMoreData(true);\n }\n }\n\n public ngOnInit() {\n super.ngOnInit();\n\n if (!isDefined(this.minchars)) {\n // for autocomplete set the minchars to 0\n if (this.type === 'autocomplete') {\n this.minchars = 0;\n } else {\n this.minchars = 1;\n }\n }\n\n this.listenQuery = this.isUpdateOnKeyPress();\n\n // by default for autocomplete do not show the search icon\n // by default show the searchicon for type = search\n this.showsearchicon = isDefined(this.showsearchicon) ? this.showsearchicon : (this.type === 'search');\n }\n\n public ngAfterViewInit() {\n super.ngAfterViewInit();\n\n styler(this.nativeElement as HTMLElement, this);\n this.containerTarget = getContainerTargetClass(this.nativeElement);\n }\n\n public ngAfterViewChecked() {\n const searchInputEl = $('.app-search-input');\n if (searchInputEl) {\n searchInputEl.removeAttr('aria-expanded');\n }\n }\n\n private eventData($event, item) {\n if ($event) {\n $event['data'] = {\n item : item.dataObject,\n model : item.value,\n label : item.label,\n query : this.query\n };\n }\n\n return $event;\n }\n\n // triggered on select on option from the list. Set the queryModel, query and modelByKey from the matched item.\n public typeaheadOnSelect(match: TypeaheadMatch, $event: Event): void {\n const item = match.item;\n this.queryModel = item;\n item.selected = true;\n this.query = item.label;\n this.showClosebtn = (this.query !== '');\n $event = $event || this.$typeaheadEvent;\n\n // As item.key can vary from key in the datasetItems\n this._modelByKey = item.key;\n this._modelByValue = item.value;\n\n $event = this.eventData($event, item);\n\n this.invokeOnTouched();\n this.invokeOnChange(this.datavalue, $event || {});\n // updating the variable bound to default value as invokeOnChange is not updating the variable.\n if (this.datavalue !== (this as any).prevDatavalue) {\n this.updateBoundVariable(this.datavalue);\n }\n if (this.$element.hasClass('full-screen')) {\n this.closeSearch();\n }\n this.invokeEventCallback('select', { $event, selectedValue: this.datavalue });\n this.invokeEventCallback('submit', { $event });\n\n this.updatePrevDatavalue(this.datavalue);\n }\n\n onPropertyChange(key: string, nv: any, ov: any) {\n if (key === 'tabindex') {\n return;\n }\n\n // Backward compatability from 10.3.1 to 10.3.2\n // 10.3.1 we had displaylabel as modal value\n // From 10.3.2 onwords we will be having displayexpresion as modal value\n if (this.type === 'autocomplete' && key === 'displaylabel' && this.displaylabel && (!this.displayexpression || (this.displayexpression && !this.datasource))) {\n this.displayexpression = this.displaylabel;\n this.displaylabel = undefined;\n }\n\n // when dataoptions are provided and there is no displaylabel given then displaylabel is set as the relatedfield\n if (key === 'displaylabel' && this.dataoptions && this.binddisplaylabel === null) {\n this.query = get(this._modelByValue, nv) || this._modelByValue;\n }\n\n // when search is disabled, do not load any more data or just clear the data that is already in process or loaded.\n if (key === 'disabled') {\n if (nv === false) {\n this.clearData = false;\n } else {\n this.clearData = true;\n if (get((this.typeahead as any), '_typeahead.isShown')) {\n this.typeahead.hide();\n }\n }\n }\n\n super.onPropertyChange(key, nv, ov);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.SearchComponent","filter"],"mappings":";;;;;;;;;;;;;;;;;MAUa,mBAAmB,CAAA;IAG5B,WAAY,CAAA,GAAa,EAAU,SAA0B,EAAA;QAA1B,IAAS,CAAA,SAAA,GAAT,SAAS;QACxC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC;;IAGzC,kBAAkB,GAAA;;AAEd,QAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtF,QAAA,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;AAC3D,QAAA,IAAI,CAAC,SAAiB,CAAC,cAAc,EAAE;;IAG5C,eAAe,GAAA;QACX,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE;;AAExC,YAAA,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE;AACpE,YAAA,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;;;AAI5D,IAAA,YAAY,CAAC,GAAU,EAAA;AAC3B,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,GAAG,CAAC;;oHAvBtD,mBAAmB,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAA,eAAA,CAAA,CAAA,CAAA,EAAA,CAAA;oEAAnB,mBAAmB,EAAA,SAAA,EAAA,CAAA,CAAA,EAAA,EAAA,YAAA,EAAA,EAAA,CAAA,CAAA,EAAA,UAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;iFAAnB,mBAAmB,EAAA,CAAA;cAJ/B,SAAS;AAAC,QAAA,IAAA,EAAA,CAAA;AACT,gBAAA,UAAU,EAAE,IAAI;AACd,gBAAA,QAAQ,EAAE;AACb,aAAA;;;ACNM,MAAM,WAAW,GAAG,IAAI,GAAG,CAC9B;IACI,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE,CAAC;IACpD,CAAC,OAAO,EAAE,WAAW,CAAC;IACtB,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,GAAG,WAAW,EAAE,CAAC;IACtE,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,WAAW,EAAE,CAAC;IACtD,CAAC,aAAa,EAAE,QAAQ,CAAC;IACzB,CAAC,SAAS,EAAE,QAAQ,CAAC;IACrB,CAAC,YAAY,EAAE,QAAQ,CAAC;IACxB,CAAC,WAAW,EAAE,WAAW,CAAC;IAC1B,CAAC,iBAAiB,EAAE,QAAQ,CAAC;IAC7B,CAAC,YAAY,EAAE,WAAW,CAAC;IAC3B,CAAC,UAAU,EAAE,YAAY,CAAC;IAC1B,CAAC,iBAAiB,EAAE,WAAW,CAAC;IAChC,CAAC,cAAc,EAAE,WAAW,CAAC;IAC7B,CAAC,mBAAmB,EAAE,WAAW,CAAC;IAElC,CAAC,QAAQ,EAAE,YAAY,CAAC;IACxB,CAAC,SAAS,EAAE,WAAW,CAAC;IACxB,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,WAAW,EAAE,WAAW,CAAC;IAC1B,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACjD,CAAC,OAAO,EAAE,WAAW,CAAC;IACtB,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,WAAW,EAAE,CAAC;IACjE,CAAC,OAAO,EAAE,WAAW,CAAC;IACtB,CAAC,WAAW,EAAE,WAAW,CAAC;IAC1B,CAAC,UAAU,EAAE,WAAW,CAAC;IACzB,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE,CAAC;IACnD,CAAC,SAAS,EAAE,WAAW,CAAC;IACxB,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;IACpD,CAAC,UAAU,EAAE,WAAW,CAAC;IACzB,CAAC,OAAO,EAAE,WAAW,CAAC;IACtB,CAAC,UAAU,EAAE,YAAY,CAAC;IAC1B,CAAC,UAAU,EAAE,YAAY,CAAC;IAC1B,CAAC,WAAW,EAAE,WAAW,CAAC;IAC1B,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;IACjD,CAAC,aAAa,EAAE,WAAW,CAAC;IAC5B,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,YAAY,EAAE,CAAC;IAC1C,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE,CAAC;IAChD,CAAC,gBAAgB,EAAE,YAAY,CAAC;IAChC,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,WAAW,EAAE,CAAC;IAC1C,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;IAC7C,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;IAChD,CAAC,OAAO,EAAE,WAAW,CAAC;IACtB,CAAC,sBAAsB,EAAE,EAAC,KAAK,EAAE,aAAa,EAAE,GAAG,WAAW,EAAC,CAAC;IAChE,CAAC,qBAAqB,EAAE,EAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,WAAW,EAAC,CAAC;IACpE,CAAC,iBAAiB,EAAE,EAAC,KAAK,EAAE,mBAAmB,EAAE,GAAG,WAAW,EAAC,CAAC;AACpE,CAAA,CACJ;AAEM,MAAM,aAAa,GAAG,MAAK;AAC9B,IAAA,QAAQ,CACJ,WAAW,EACX,WAAW,CACd;IACD,kBAAkB,CACd,cAAc,CAAC,YAAY,EAC3B,IAAI,GAAG,CAAC,WAAW,CAAC,CACvB;IACD,kBAAkB,CACd,cAAc,CAAC,SAAS,EACxB,IAAI,GAAG,CAAC,WAAW,CAAC,CACvB;AACL,CAAC;;MClDY,iBAAiB,CAAA;AAClB,IAAA,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,UAAW,EAAA;AAC7C,QAAA,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,KAAK;AAClD,QAAA,IAAI,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE;AAC/B,YAAA,OAAO,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC;;AAChC,aAAA,IAAI,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE;AACpC,YAAA,OAAO,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;;AAC9B,aAAA,IAAI,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE;AACtC,YAAA,OAAO,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC;;AAEpC,QAAA,OAAO,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;;;AAI9B,IAAA,MAAM,CAAC,MAA2B,EAAA;AACrC,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO;AAC9B,QAAA,IAAI,aAAa,GAAG,MAAM,CAAC,aAAa;AACxC,QAAA,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS;;QAElC,IAAI,SAAS,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE;YACjD,aAAa,GAAG,IAAI;;AAExB,QAAA,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,EAC5B,YAAY;QAEZ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACnC;;;AAGG;AACH,YAAA,IAAI,MAAM,CAAC,SAAS,EAAE;gBAClB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC;gBAEzC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAS,KAAI;AAChD,oBAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,IAAG;AACnB,wBAAA,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAClB,CAAC,GAAG,SAAS;wBACjB,IAAI,CAAC,aAAa,EAAE;4BAChB,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;4BACxB,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;;wBAE5B,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC;AAC5C,qBAAC,CAAC;AACN,iBAAC,CAAC;;iBACC;;;AAGH,gBAAA,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;AAC1C,oBAAA,YAAY,GAAG,MAAM,CAAC,OAAO,EAAE,KAAK,IAAG;wBACnC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;wBAC/B,IAAI,CAAC,aAAa,EAAE;AAChB,4BAAA,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;;AAEd,4BAAA,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;;wBAElC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,SAAS,CAAC;AACzC,qBAAC,CAAC;;qBACC;AACH,oBAAA,YAAY,GAAG,MAAM,CAAC,OAAO,EAAE,KAAK,IAAG;wBACnC,IAAI,CAAC,aAAa,EAAE;AAChB,4BAAA,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;;AAEtB,4BAAA,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;;wBAElC,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC;AACxD,qBAAC,CAAC;;;AAGV,YAAA,OAAO,CAAC;AACJ,gBAAA,IAAI,EAAE,YAAY;AAClB,gBAAA,WAAW,EAAE,KAAK;AAClB,gBAAA,UAAU,EAAE;AACf,aAAA,CAAC;AACN,SAAC,CAAC;;AAET;;MCtFY,kBAAkB,CAAA;AACpB,IAAA,MAAM,CAAC,MAA2B,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;;AAGjH,IAAA,UAAU,CAAC,MAAM,EAAA;AACrB,QAAA,IAAI,MAAM,CAAC,WAAW,EAAE;AACpB,YAAA,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW;AAEtC,YAAA,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,kBAAkB,EAAE,MAAM,CAAC;;;AAIhG,YAAA,IAAI,WAAW,CAAC,YAAY,EAAE;gBAC1B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACnC,oBAAA,0BAA0B,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC,iBAAiB,KAAI;wBACxF,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,GAAG,iBAAiB;AACrE,wBAAA,WAAW,CAAC,UAAU,GAAG,iBAAiB;AAE1C,wBAAA,MAAM,CAAC,UAAU,CAAC,OAAO,CACrB,UAAU,CAAC,SAAS,CAAC,sBAAsB,EAAE,MAAM,CAAC,EAAC,YAAY,EAAE,WAAW,CAAC,YAAY,EAAC,EAAE,aAAa,CAAC,CAC/G,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC;AAC3B,qBAAC,CAAC;AACN,iBAAC,CAAC;;;AAGN,YAAA,IAAI,WAAW,CAAC,aAAa,EAAE;gBAC3B,OAAO,MAAM,CAAC,UAAU,CAAC,OAAO,CAC5B,UAAU,CAAC,SAAS,CAAC,2BAA2B,EAChD;AACI,oBAAA,QAAQ,EAAE,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ;oBACzC,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,MAAM,EAAE,WAAW,CAAC,aAAa;oBACjC,UAAU,EAAE,WAAW,CAAC,SAAS;oBACjC,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,aAAa,CAAC,YAAY,CAAC;oBAC1E,UAAU,EAAE,eAAe,CAAC,WAAW,CAAC,UAAU,IAAI,EAAE;AAE3D,iBAAA,CACJ;;;;AAKT,QAAA,OAAO,MAAM,CAAC,UAAU,CAAC,OAAO,CAC5B,UAAU,CAAC,SAAS,CAAC,cAAc,EAAE,MAAM,CAC9C;;;AAKK,IAAA,MAAM,CAAC,IAAY,EAAE,QAAgB,EAAE,UAAkB,EAAE,cAAuB,EAAA;;AAExF,QAAA,IAAI,QAAQ,KAAK,YAAY,CAAC,aAAa,EAAE;AACzC,YAAA,OAAO,cAAc,KAAK,CAAC,IAAI,cAAc,GAAG,UAAU;;AAE9D,QAAA,MAAM,SAAS,IAAI,CAAC,QAAQ,GAAG,UAAU,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,KAAK,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACzG,OAAO,IAAI,KAAK,SAAS;;;IAInB,kBAAkB,CAAC,QAAa,EAAE,IAAS,EAAA;QACjD,MAAM,eAAe,GAAG,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC;AACtD,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC;;QAG1C,IAAI,YAAY,EAAE;YACd,MAAM,OAAO,GAAG,EAAE;AAClB,YAAA,GAAG,CAAC,OAAO,EAAE,eAAe,EAAE,YAAY,CAAC;AAC3C,YAAA,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;;aACd;;AAEH,YAAA,IAAI,GAAG,CAAC,IAAI,CAAC;;AAGjB,QAAA,OAAO,IAAI;;IAGL,eAAe,GAAA;AACrB,QAAA,OAAO,EAAE;;AAGL,IAAA,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAA;AACnE,QAAA,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,aAAa,KAAK,YAAY,CAAC,aAAa;;;IAK1F,eAAe,CAAC,MAA2B,EAAE,QAAQ,EAAA;AAC3D,QAAA,IAAI,IAAI,GAAQ,QAAQ,CAAC,IAAI;AAC7B,QAAA,IAAI,aAAkB;AACtB,QAAA,IAAI,WAAoB;AACxB,QAAA,IAAI,IAAY;AAChB,QAAA,IAAI,eAAwB;QAE5B,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC;QACtD,MAAM,cAAc,GAAG,KAAK,CAAC,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAChG,MAAM,EAAE,GAAG,MAAM;QAEjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACnC,YAAA,MAAM,WAAW,GAAG,QAAQ,CAAC,UAAU;AAEvC,YAAA,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE;AAC7D,gBAAA,IAAI,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC;AAC7B,gBAAA,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,KAAK,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,gBAAgB,CAAC;gBAChJ,eAAe,GAAG,IAAI;AAEtB,gBAAA,IAAI,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE;oBACnF,WAAW,GAAG,IAAI;AAClB,oBAAA,OAAO,CAAC;AACJ,wBAAA,IAAI,EAAE,EAAE;AACR,wBAAA,UAAU,EAAE,WAAW;wBACvB,WAAW,EAAE,IAAI,GAAG,CAAC;wBACrB,eAAe;wBACf;AACH,qBAAA,CAAC;oBACF;;;;YAIR,IAAI,cAAc,EAAE;AAChB,gBAAA,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;oBACf,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;AAC5C,oBAAA,IAAG,KAAK,GAAG,CAAC,CAAC,EAAC;wBACV,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;AACjD,wBAAA,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;;;AAEhE,qBAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE;AACvB,oBAAA,aAAa,GAAG,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC;;AAE7C,gBAAA,IAAI,GAAG,aAAa,IAAI,IAAI;;AAEhC,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAChB,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC;;;AAG3D,YAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACd,OAAO,CAAC,EAAC,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,GAAG,CAAC,EAAE,eAAe,EAAE,IAAI,EAAC,CAAC;;iBACvF;gBACH,OAAO,CAAC,EAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,GAAG,CAAC,EAAE,eAAe,EAAE,IAAI,EAAC,CAAC;;AAEpG,SAAC,CAAC;;AAET;;MC9GY,YAAY,CAAA;AAQd,IAAA,SAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,kBAAkB,EAAE,CAAC;AAC9C,IAAA,SAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;AAE5C,IAAA,MAAM,CAAC,MAA2B,EAAA;AAErC,QAAA,IAAI,OAAqB;AAEzB;;;;;AAKG;QACH,MAAM,oBAAoB,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,kBAAkB,EAAE,MAAM,CAAC,OAAO,CAAC;AACpI,QAAA,IAAI,CAAC,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,WAAW,KAAK,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC;AAChI,eAAA,MAAM,CAAC;eACP,oBAAoB,CAAC,CAAC,EAAE;YAC3B,OAAO,GAAG,YAAY,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC;;aACrD;YACH,OAAO,GAAG,YAAY,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC;;AAG3D,QAAA,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAG;YAC3B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,oBAAoB;AAChI,YAAA,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW;AACvC,YAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU;AACrC,YAAA,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI;AACzB,YAAA,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe;AAE/C,YAAA,OAAO,QAAQ;AACnB,SAAC,CAAC;;;;;;;;;;;;;;ICvEF,EAAkE,CAAA,SAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA;;;;IAA3B,EAA0B,CAAA,WAAA,CAAA,OAAA,EAAA,MAAA,CAAA,UAAA,CAAA;IAA5D,EAAoB,CAAA,UAAA,CAAA,KAAA,EAAA,QAAA,CAAA,MAAA,EAAA,EAAA,CAAA,aAAA,CAAA;;;IAF7B,EAAG,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,CAAA;IACD,EAAoB,CAAA,UAAA,CAAA,CAAA,EAAA,kEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA;IAGpB,EAAwF,CAAA,SAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA;IAC1F,EAAI,CAAA,YAAA,EAAA;;;;;;;IAJF,EAEC,CAAA,SAAA,EAAA;IAFD,EAEC,CAAA,aAAA,CAAA,QAAA,CAAA,MAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA;IACK,EAAqB,CAAA,SAAA,EAAA;AAAC,IAAtB,sCAAqB,CAAqD,WAAA,EAAA,MAAA,CAAA,SAAA,CAAA,QAAA,EAAA,QAAA,CAAA,IAAA,QAAA,CAAA,KAAA,EAAA,EAAA,CAAA,cAAA,CAAA;;;IAKlF,EAAwH,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA;IACtH,EAAoC,CAAA,SAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA;IACtC,EAAI,CAAA,YAAA,EAAA;;;;IAFD,EAAqC,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,GAAA,EAAA,MAAA,CAAA,OAAA,CAAA,CAAA,CAAA,gBAAA,EAAA,MAAA,CAAA,OAAA,CAA4C,CAAmC,qBAAA,EAAA,QAAA,CAAA,IAAA,CAAA;;;AADzH,IATA,iFAAgB,CASD,CAAA,EAAA,oDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA;;;IATf,EAOC,CAAA,aAAA,CAAA,CAAA,MAAA,CAAA,OAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA;IAED,EAIC,CAAA,SAAA,EAAA;IAJD,EAIC,CAAA,aAAA,CAAA,MAAA,CAAA,OAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA;;;IAWO,EAAwB,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA;IAAA,EAAe,CAAA,MAAA,CAAA,CAAA,CAAA;IAAA,EAAK,CAAA,YAAA,EAAA;;;IAApB,EAAe,CAAA,SAAA,EAAA;IAAf,EAAe,CAAA,iBAAA,CAAA,QAAA,CAAA,KAAA,CAAA;;;IAGvC,EAEe,CAAA,kBAAA,CAAA,CAAA,EAAA,EAAA,CAAA;;;;;;;;AADb,IADY,mDAAiC,CACuC,yBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,GAAA,EAAA,QAAA,CAAA,IAAA,EAAA,aAAA,EAAA,QAAA,EAAA,SAAA,CAAA,CAAA;;;;IAT1F,EAEuI,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,CAAA;IAArI,EADA,CAAA,UAAA,CAAA,YAAA,EAAA,SAAA,qEAAA,GAAA,EAAA,MAAA,QAAA,GAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,SAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAc,gDAAsC,CAAE,CAAA,EAAA,CAAA,CAAA,OAAA,EAAA,SAAA,gEAAA,CAAA,MAAA,EAAA,EAAA,MAAA,QAAA,GAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,SAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,IAAA,CACnC,mBAAgB,IAAI,MAAA,CAAA,kBAAA,CAAA,WAAA,CAAA,QAAA,EAAA,MAAA,CAA6C,CAA4B,CAAA,MAAA,CAAA,eAAA,GAAA,MAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,gBAAA,EAAkB,CAAE,CAAA,EAAA,CAAA;AAKpI,IAHA,4FAAwB,CAGC,CAAA,EAAA,0DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA;IAK3B,EAAK,CAAA,YAAA,EAAA;;;;IAZW,EAA8H,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,GAAA,EAAA,MAAA,CAAA,kBAAA,IAAA,MAAA,CAAA,kBAAA,CAAA,QAAA,CAAA,QAAA,CAAA,EAAA,QAAA,IAAA,QAAA,CAAA,QAAA,EAAA,CAAA,CAAA;IAI5I,EAEC,CAAA,SAAA,CAAA,CAAA,CAAA;IAFD,EAEC,CAAA,aAAA,CAAA,QAAA,CAAA,QAAA,EAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA;IACD,EAIC,CAAA,SAAA,EAAA;IAJD,EAIC,CAAA,aAAA,CAAA,CAAA,QAAA,CAAA,QAAA,EAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA;;;IAbP,EAA2D,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,CAAA;IACzD,EAcC,CAAA,gBAAA,CAAA,CAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,CAAA,yBAAA,CAAA;IACD,EAA8F,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA;IAC5F,EAA6C,CAAA,SAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA;IAC/C,EAAM,CAAA,YAAA,EAAA;IACN,EAA8C,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA;AAE5C,IADA,wBAA4C,CACA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA;AAEhD,IADE,iBAAM,EACH;;;;IAtBH,EAcC,CAAA,SAAA,CAAA,CAAA,CAAA;IAdD,EAcC,CAAA,UAAA,CAAA,WAAA,CAAA;IACmB,EAAyE,CAAA,SAAA,CAAA,CAAA,CAAA;IAAzE,EAAyE,CAAA,UAAA,CAAA,QAAA,EAAA,MAAA,CAAA,aAAA,IAAA,EAAA,MAAA,CAAA,eAAA,IAAA,MAAA,CAAA,YAAA,CAAA,UAAA,CAAA,CAAA;IACrF,EAA+B,CAAA,SAAA,EAAA;IAA/B,EAA+B,CAAA,UAAA,CAAA,aAAA,EAAA,MAAA,CAAA,eAAA,CAAA;IAEnB,EAAyB,CAAA,SAAA,EAAA;IAAzB,EAAyB,CAAA,UAAA,CAAA,QAAA,EAAA,CAAA,MAAA,CAAA,aAAA,CAAA;IAErC,EAA8B,CAAA,SAAA,CAAA,CAAA,CAAA;IAA9B,EAA8B,CAAA,UAAA,CAAA,aAAA,EAAA,MAAA,CAAA,cAAA,CAAA;;;;IAOxC,EAkCmD,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA;IA5BjD,EAAmB,CAAA,gBAAA,CAAA,eAAA,EAAA,SAAA,qEAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,EAAA,CAAA,kBAAA,CAAA,MAAA,CAAA,KAAA,EAAA,MAAA,CAAA,KAAA,MAAA,CAAA,KAAA,GAAA,MAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,CAAA,EAAA,CAAA;AAkBnB,IANA,EALA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,6DAAA,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,CAAS,MAAqB,CAAA,aAAA,CAAA,MAAA,CAAA,CAAA,CAAA,EAAA,CAAC,+LACN,IAAI,CAAA,CAAA,EAAA,CAAC,6NACY,MAAwB,CAAA,gBAAA,CAAA,MAAA,CAAA,CAAA,CAAA,EAAA,CAAC,oMAC9C,MAAkB,CAAA,UAAA,CAAA,MAAA,CAAA,CAAA,CAAA,EAAA,CAAC,CAChC,MAAA,EAAA,SAAA,4DAAA,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,eAAA,CAAA,MAAA,CAAuB,KAAC,CACvB,OAAA,EAAA,SAAA,6DAAA,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,WAAA,CAAA,MAAA,CAAmB,KAAE,CACJ,OAAA,EAAA,SAAA,6DAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,MAAA,CAAA,cAAA,GAAA,KAAK,uBAAgB,IAAI,CAAA,CAAE,0BAAmB,CAAE,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,aAAA,CAAA,MAAA,CAAqB,KAAE,CACrF,UAAA,EAAA,SAAA,gEAAA,GAAA,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,UAAA,EAAY,KAAC,CAGS,kBAAA,EAAA,SAAA,wEAAA,GAAA,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,CAAA,EAAA,CAAA,CAAA,mBAAA,EAAA,SAAA,yEAAA,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,CACb,gCAAyB,CAAC,CAAA,EAAA,CAAA;IAxBjD,EAkCmD,CAAA,YAAA,EAAA;IACnD,EAA0F,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA;AAA/B,IAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,yDAAA,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,CAAS,0BAAmB,CAAE,CAAA,EAAA,CAAA;IAAC,EAAI,CAAA,YAAA,EAAA;;;;;IAnCvF,EAAqB,CAAA,UAAA,CAAA,OAAA,EAAA,MAAA,CAAA,KAAA,IAAA,EAAA,CAAA,CAAA,aAAA,EAAA,MAAA,CAAA,WAAA,IAAA,EAAA,CAA6G,CAGlH,UAAA,EAAA,MAAA,CAAA,QAAA,CAAA;IAGrB,EAAmB,CAAA,gBAAA,CAAA,SAAA,EAAA,MAAA,CAAA,KAAA,CAAA;IACnB,EAAqC,CAAA,UAAA,CAAA,gBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,GAAA,CAAA,CAAA,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,CAChB,CACY,WAAA,EAAA,MAAA,CAAA,mBAAA,CAAA,CAAA,iBAAA,EAAA,MAAA,CAAA,YAAA,CACD,CACY,uBAAA,EAAA,sBAAA,CAAA,CAAA,qBAAA,EAAA,sBAAA,CACF,CASX,oBAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,uBAAA,EAAA,MAAA,CAAA,KAAA,CACA,CAImB,qBAAA,EAAA,MAAA,CAAA,OAAA,GAAA,SAAA,GAAA,IAAA,CAAA,CAAA,gBAAA,EAAA,IAAA,CAC3B,CACK,qBAAA,EAAA,IAAA,CAAA,CAAA,kBAAA,EAAA,IAAA,CACH,CACwC,kCAAA,EAAA,MAAA,CAAA,4BAAA,CAAA,CAAA,QAAA,EAAA,MAAA,CAAA,MAAA,CAChD,CACI,UAAA,EAAA,MAAA,CAAA,QAAA,CAAA;;IAGW,EAAwB,CAAA,SAAA,EAAA;IAAxB,EAAwB,CAAA,UAAA,CAAA,QAAA,EAAA,CAAA,MAAA,CAAA,YAAA,CAAA;;;IAwCxD,EAA2F,CAAA,SAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA;;;;IAK3F,EAAmE,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,MAAA,CAC3D,CAE+B,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA;AAAjC,IAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,6EAAA,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,CAAS,6BAAsB,CAAC,CAAA,EAAA,CAAA;IAChC,EAA4C,CAAA,SAAA,CAAA,CAAA,EAAA,GAAA,CAAA;IAAA,EAAS,CAAA,YAAA,EAAA,EAChD,EACF;;;IANH,EAAkC,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,GAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA;IAEb,EAAqB,CAAA,SAAA,CAAA,CAAA,CAAA;IAArB,EAAqB,CAAA,UAAA,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,CAAA;IAEvC,EAAoC,CAAA,SAAA,EAAA;IAApC,EAAoC,CAAA,sBAAA,CAAA,WAAA,EAAA,MAAA,CAAA,eAAA,EAAA,EAAA,CAAA;;;;IA/C/C,EAAuG,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA;AAAxB,IAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,8DAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAS,oBAAa,CAAC,CAAA,EAAA,CAAA;IAAC,EAAgD,CAAA,SAAA,CAAA,CAAA,EAAA,GAAA,CAAA;IAAA,EAAS,CAAA,YAAA,EAAA;IAChK,EAAsB,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA;IAAA,EAAW,CAAA,MAAA,CAAA,CAAA,EAAA,aAAA,CAAA;IAAA,EAAO,CAAA,YAAA,EAAA;IACxC,EAiCkD,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA;IA3BhD,EAAmB,CAAA,gBAAA,CAAA,eAAA,EAAA,SAAA,qEAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,EAAA,CAAA,kBAAA,CAAA,MAAA,CAAA,KAAA,EAAA,MAAA,CAAA,KAAA,MAAA,CAAA,KAAA,GAAA,MAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,CAAA,EAAA,CAAA;AAiBnB,IANA,EAJA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,6DAAA,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,CAAS,MAAqB,CAAA,aAAA,CAAA,MAAA,CAAA,CAAA,CAAA,EAAA,CAAC,+LACN,IAAI,CAAA,CAAA,EAAA,CAAC,6NACY,MAAwB,CAAA,gBAAA,CAAA,MAAA,CAAA,CAAA,CAAA,EAAA,CAAC,oMAC9C,MAAkB,CAAA,UAAA,CAAA,MAAA,CAAA,CAAA,CAAA,EAAA,CAAC,CAChC,MAAA,EAAA,SAAA,4DAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,MAAA,CAAA,eAAA,CAAA,MAAA,CAAuB,wBAAE,MAAY,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA,CAAC,4KACrC,MAAmB,CAAA,WAAA,CAAA,MAAA,CAAA,CAAA,CAAA,EAAA,CAAE,8KACJ,KAAK,CAAA,CAAA,MAAA,CAAA,WAAA,GAAgB,IAAI,CAAA,CAAE,0BAAmB,CAAE,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,aAAA,CAAA,MAAA,CAAqB,KAAC,CAG9D,kBAAA,EAAA,SAAA,wEAAA,GAAA,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,CAAA,EAAA,CAAA,CAAA,mBAAA,EAAA,SAAA,yEAAA,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,CACb,gCAAyB,CAAC,CAAA,EAAA,CAAA;IAvBjD,EAiCkD,CAAA,YAAA,EAAA;IAClD,EAA0G,CAAA,SAAA,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA;IAC1G,EAAqB,CAAA,UAAA,CAAA,CAAA,EAAA,oDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA;IAGrB,EAA4I,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA;IAApC,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,8DAAA,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,WAAA,CAAA,MAAA,EAAoB,IAAI,CAAC,CAAC,CAAA,EAAA,CAAA;IAAC,EAAiD,CAAA,SAAA,CAAA,CAAA,EAAA,GAAA,CAAA;IAAA,EAAS,CAAA,YAAA,EAAA;IACtM,EAAsB,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA;IAAA,EAAY,CAAA,MAAA,CAAA,EAAA,EAAA,cAAA,CAAA;IAAA,EAAO,CAAA,YAAA,EAAA;IACzC,EAAsB,CAAA,UAAA,CAAA,EAAA,EAAA,qDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA;;;;;IA1CoF,EAAwC,CAAA,SAAA,EAAA;IAAxC,EAAwC,CAAA,sBAAA,CAAA,WAAA,EAAA,MAAA,CAAA,mBAAA,EAAA,EAAA,CAAA;IAE3I,EAAqB,CAAA,SAAA,CAAA,CAAA,CAAA;AAG1B,IAHK,EAAqB,CAAA,UAAA,CAAA,OAAA,EAAA,MAAA,CAAA,KAAA,IAAA,EAAA,CAAA,CAAA,aAAA,EAAA,MAAA,CAAA,WAAA,IAAA,EAAA,CAA6G,kDAE7F,CACrB,UAAA,EAAA,MAAA,CAAA,QAAA,CAAA;IAGrB,EAAmB,CAAA,gBAAA,CAAA,SAAA,EAAA,MAAA,CAAA,KAAA,CAAA;IACnB,EAAqC,CAAA,UAAA,CAAA,gBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,GAAA,CAAA,CAAA,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,CAChB,CACY,WAAA,EAAA,MAAA,CAAA,mBAAA,CAAA,CAAA,iBAAA,EAAA,MAAA,CAAA,YAAA,CACD,CACY,uBAAA,EAAA,sBAAA,CAAA,CAAA,qBAAA,EAAA,sBAAA,CACF,CAQX,oBAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,uBAAA,EAAA,MAAA,CAAA,KAAA,CACA,CAImB,qBAAA,EAAA,MAAA,CAAA,OAAA,GAAA,SAAA,GAAA,IAAA,CAAA,CAAA,gBAAA,EAAA,IAAA,CAC3B,CACK,qBAAA,EAAA,IAAA,CAAA,CAAA,kBAAA,EAAA,IAAA,CACH,CACwC,kCAAA,EAAA,MAAA,CAAA,4BAAA,CAAA,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,CAC5C,CACJ,QAAA,EAAA,MAAA,CAAA,MAAA,CAAA;;IAInB,EAEC,CAAA,SAAA,CAAA,CAAA,CAAA;IAFD,EAEC,CAAA,aAAA,CAAA,MAAA,CAAA,aAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA;IAC4D,EAA0C,CAAA,SAAA,EAAA;IAA1C,EAA0C,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,GAAA,EAAA,MAAA,CAAA,cAAA,EAAA,CAAA,CAAA;IAAwC,EAAyC,CAAA,SAAA,EAAA;IAAzC,EAAyC,CAAA,sBAAA,CAAA,WAAA,EAAA,MAAA,CAAA,oBAAA,EAAA,EAAA,CAAA;IAExL,EAQG,CAAA,SAAA,CAAA,CAAA,CAAA;IARH,EAQG,CAAA,aAAA,CAAA,MAAA,CAAA,cAAA,GAAA,EAAA,GAAA,CAAA,CAAA,CAAA;;AC5EL,MAAM,aAAa,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE;AAarE,MAAO,eAAgB,SAAQ,yBAAyB,CAAA;AACnD,IAAA,SAAA,IAAA,CAAA,eAAe,GAAG,aAAa,EAAhB,CAAmB;;AA+DzC,IAAA,IAAI,UAAU,GAAA;QACV,OAAO,IAAI,CAAC,WAAW;;IAG3B,IAAI,UAAU,CAAC,EAAE,EAAA;AACb,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,sBAAsB;AAC1D,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;;IAGhC,WACI,CAAA,GAAa,EACb,GAAQ,EAC4B,aAAa,EACf,WAAW,EACL,eAAoB,EAAA;AAE5D,QAAA,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,eAAe,CAAC;QAJN,IAAa,CAAA,aAAA,GAAb,aAAa;QACf,IAAW,CAAA,WAAA,GAAX,WAAW;QAzE1C,IAAK,CAAA,KAAA,GAAG,EAAE;QAaT,IAAI,CAAA,IAAA,GAAG,CAAC;;AAiEZ,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;AACvB,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG;QACd,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,IAAI,CAAC;AAEhD;;;;AAIG;QACH,IAAI,CAAC,mBAAmB,GAAG;AACtB,aAAA,MAAM,CAAC,CAAC,QAAa,KAAI;;AAEtB,YAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AAClB,gBAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK;AACjC,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI;AACzB,gBAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;;;;;;AAM7B,YAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;AACxB,gBAAA,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,SAAS;;AAE7C,SAAC,CAAC,CAAC,IAAI,CACHC,QAAM,CAAC,MAAK;AACR,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK;YAC1B,QAAQ,IAAI,CAAC,QAAQ,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC;AACrF,SAAC,CAAC,EACF,QAAQ,CAAC,CAAC,KAAa,KAAK,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CACrE;AAEL,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,EAAE;AAEtC;;;AAGG;QACH,MAAM,qBAAqB,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,GAA2B,KAAI;AAEpF,YAAA,MAAM,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAW;YAErD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE;AAChC,gBAAA,IAAI,CAAC,aAAa,GAAG,EAAE;;gBAEvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,GAAG,EAAE;;AAEjC,gBAAA,IAAI,CAAC,WAAW,GAAG,SAAS;gBAC5B;;AAGJ,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;AACtB,gBAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK;;AAEjC,gBAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAK,IAAY,CAAC,aAAa,KAAK,GAAG,EAAE;AACvD,oBAAA,IAAI,CAAC,WAAW,GAAG,SAAS;oBAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,GAAG,EAAE;;;;AAIrC,gBAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC;;;YAI/B,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;AAC3C,SAAC,CAAC;QACF,IAAI,CAAC,uBAAuB,CAAC,MAAM,qBAAqB,CAAC,WAAW,EAAE,CAAC;QAEvE,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAK;;YAErD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM;AAC1C,YAAA,IAAI,CAAC,WAAW,GAAG,SAAS;YAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,sBAAsB;;AAElE,YAAA,IAAI,SAAS,CAAC,YAAY,CAAC,EAAE;AACzB,gBAAA,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;;AAE1C,SAAC,CAAC;QACF,IAAI,CAAC,uBAAuB,CAAC,MAAM,mBAAmB,CAAC,WAAW,EAAE,CAAC;;;IAIjE,WAAW,CAAC,MAAM,EAAE,WAAW,EAAA;AACnC,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE;AACf,QAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;AAC1B,QAAA,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,KAAK;AACpC,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;QACxB,IAAI,WAAW,EAAE;AACb,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI;AACvB,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK;YAC3B,IAAI,CAAC,YAAY,EAAE;;AAEvB,QAAA,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC;AACvC,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;;QAE1B,IAAI,MAAM,EAAE;YACR,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,KAAK,EAAE;;;;IAKhD,SAAS,GAAA;AACZ,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE;AACf,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK;;;IAIrB,WAAW,GAAA;AACf,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;AAC1B,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC;;AAEb,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;AAChC,QAAA,IAAI,CAAC,OAAO,GAAG,SAAS;AACxB,QAAA,IAAI,CAAC,QAAQ,GAAG,SAAS;AACzB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC;AACxC,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AAClB,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK;;AAE5B,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;AACxB,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI;AAC1B,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;;IAGjB,wBAAwB,GAAA;;QAE5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;AACtC,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;;QAEhE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;;AAExC,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI;;AAEvB,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;;AAGrC,YAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBAC5B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;;;;;QAK7C,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;YACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,KAAK,EAAE;;;AAI/C,IAAA,yBAAyB,CAAC,KAAa,EAAA;;;QAG3C,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;AACpG,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK;AAC1B,YAAA,OAAO,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;;AAG/B;;;;;AAKE;AACF,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE;YAChF,IAAI,qBAAqB,GAAG,EAAE;YAC9B,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC;AACjD,YAAA,IAAI,YAAY;AAChB,YAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBACvB,qBAAqB,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC;AACzD,gBAAA,IAAI,qBAAqB,CAAC,MAAM,KAAK,CAAC,EAAE;oBACpC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;wBAC1C,MAAM,KAAK,GAAG,WAAW;AACzB,wBAAA,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;yBACnD;wBACH,YAAY,GAAG,IAAI;;;;AAI/B,YAAA,KAAK,qBAAqB,CAAC,MAAM,GAAG,CAAC,KAAK,YAAY,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,YAAY,CAAC;AAC1F,oBAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG;AACnF,gBAAA,IAAI,CAAC,aAAa,GAAG,KAAK;AAC1B,gBAAA,OAAO,EAAE,CAAC,EAAE,CAAC;;;AAGrB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;;AAGhC,IAAA,WAAW,CAAC,IAAiB,EAAE,SAAiB,EAAE,aAAuB,EAAE,MAAW,EAAA;AAC5F,QAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,SAAS,CAAC,EAAE;YACvE,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC;;;;IAKzD,SAAS,CAAC,KAAqB,EAAE,KAAa,EAAA;AAClD,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;;YAExB,KAAa,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YAClD,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;;;;AAKtD,IAAA,aAAa,CAAC,CAAC,EAAA;AACnB,QAAA,IAAI,CAAC,KAAK,CAAC,EAAE;YACT,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;;aACjC;AACH,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACjD,YAAA,IAAI,UAAU,CAAC,MAAM,EAAE;AACnB,gBAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;;iBACvD;AACH,gBAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;;;;;IAMlE,oBAAoB,GAAA;QACvB,OAAO,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,QAAQ,EAAE;;;IAI9C,cAAc,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY;;AAGtC,IAAA,YAAY,CAAC,aAAuB,EAAA;AACxC,QAAA,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;YAC9B;;;AAGJ,QAAA,IAAI,CAAC,IAAI,GAAG,aAAa,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI;AAErD,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;AACtB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;;QAGzB,IAAI,aAAa,EAAE;AACf,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS;;;AAI/B,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;AACnB,YAAA,MAAM,EAAE;gBACJ,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG;AACjC;AACJ,SAAA,CAAC;;;IAIE,UAAU,GAAA;AACd,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK;AAC3B,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;;AAE1B,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC;;QAEb,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,EAAE;AACnC,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK;;AAE5B,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;;AAEpB,QAAA,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,IAAK,IAAI,CAAC,SAAiB,CAAC,UAAU,EAAE;YACzE,IAAI,CAAC,SAAiB,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI;;;AAInD,IAAA,aAAa,CAAC,MAAM,EAAA;;AAExB,QAAA,IAAI,CAAC,MAAM,GAAG,EAAE;AAChB,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC;AACb,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE;AAC5C,QAAA,IAAI,CAAC,aAAa,GAAG,SAAS;;AAG9B,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,EAAE;AACnB,YAAA,IAAI,CAAC,UAAU,GAAG,EAAE;AACpB,YAAA,IAAI,CAAC,aAAa,GAAG,EAAE;AACvB,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC;YACzC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,EAAE,IAAI,CAAC;YAEjD,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC;;YAG7C,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC,EAAE;gBAC9B,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC;;;aAE/C;;AAEH,YAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE;AAC/B,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,MAAM,EAAE,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK;gBACxC,MAAM,EAAG,IAAY,CAAC;AACzB,aAAA,CAAC;;QAEN,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;;;AAInC,IAAA,gBAAgB,CAAC,MAAM,EAAA;;QAE3B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,EAAE;AACxC,YAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;;;;AAI3B,IAAA,cAAc,CAAC,MAAa,EAAA;AAChC,QAAA,IAAI,IAAI;;AAER,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,EAAE,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC,KAAK;AAE1E,QAAA,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,YAAY,EAAE;YAC3E,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI;;QAE9C,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;;AAG3C,QAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE;AAC5B,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI;;AAEvB,YAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;AACnB,gBAAA,MAAM,EAAE;AACJ,oBAAA,KAAK,EAAE,IAAI,CAAC,KAAK;AACpB;AACJ,aAAA,CAAC;YACF;;;AAGJ,QAAA,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,YAAY,EAAE;AACnE,YAAA,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,EAAE;;aACxC;AACH,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK;YAC5B,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC;;;AAI9C,IAAA,yBAAyB,CAAC,SAAS,EAAA;QACvC,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,CAAC;;IAGxD,cAAc,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;;;;AAIzB,QAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAK;AACrB,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI;AACnB,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,IAAK,IAAI,CAAC,SAAiB,CAAC,UAAU,CAAC,QAAQ;YACjG,IAAI,CAAC,kBAA0B,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU;YAC5D,IAAI,CAAC,kBAA0B,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;YAC3D,uBAAuB,CAAC,CAAC,CAAC,qBAAqB,CAAC,EAAE,IAAI,CAAC,aAAa,EAAG,IAAI,CAAC,SAAiB,CAAC,UAAU,EAAE,CAAC,CAAC,oCAAoC,CAAC,CAAC;AAEtJ,SAAC,CAAC;AAEF,QAAA,EAAE,EAAE;;AAGJ,QAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;gBACxC,IAAI,CAAC,wBAAwB,EAAE;;YAEnC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC;AAEjE,YAAA,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;AAC3D,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE;AACnE,YAAA,UAAU,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,EAAE,CAAC;AAC7E,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE;AAEnD,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;gBAC7E,IAAI,CAAC,aAAa,EAAE;;;;IAKxB,UAAU,GAAA;AACd,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO;QAE/C,IAAI,CAAC,OAAO,EAAE;YACV;;AAEJ,QAAA,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;;QAG7D,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,IAAI,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;;AAExF,YAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK;AAC9B,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;;;IAIvB,4BAA4B,GAAA;AAChC,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;AACvB,YAAA,IAAI,CAAC,kBAA0B,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC;AAClG,YAAA,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE;AACzC,YAAA,IAAI,CAAC,iBAAiB,GAAG,SAAS;;;IAIlC,aAAa,GAAA;AACjB,QAAA,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;YACxE;;AAEJ,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU;QACzC,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;;AAGrD,QAAA,IAAI,SAAS,CAAC,MAAM,IAAI,iBAAiB,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,EAAE,GAAG,iBAAiB,CAAC,QAAQ,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE;AACjK,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;;;IAIvB,kBAAkB,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ;;AAG7B,IAAA,oBAAoB,CAAC,IAAI,EAAA;AAC7B,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI;AAChC,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAI;AAC7C,YAAA,IAAI,QAAQ,CAAC,MAAM,EAAE;AACjB,gBAAA,IAAI,CAAC,UAAU,GAAG,QAAQ;AAC1B,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;gBAC7D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK;gBAC7C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG;gBACzC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;;iBACpC;AACH,gBAAA,IAAI,CAAC,aAAa,GAAG,SAAS;AAC9B,gBAAA,IAAI,CAAC,UAAU,GAAG,SAAS;AAC3B,gBAAA,IAAI,CAAC,KAAK,GAAG,EAAE;;AAEnB,YAAA,IAAI,IAAI,CAAC,SAAS,EAAE;gBAChB,IAAI,GAAG,CAAE,IAAI,CAAC,SAAiB,EAAE,oBAAoB,CAAC,EAAE;AACpD,oBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;;;AAGjC,SAAC,CAAC;;AAGE,IAAA,iBAAiB,CAAC,IAAI,EAAA;AAC1B,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;AAC1B,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;;AAGzB,IAAA,kBAAkB,CAAC,IAAI,EAAA;;;AAG3B,QAAA,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;;AAEvH,YAAA,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;gBACzD,IAAI,CAAC,6BAA6B,EAAE;gBACpC;;;AAIJ,YAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE;AAC3F,gBAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;;;;;IAMnC,6BAA6B,GAAA;AACjC,QAAA,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YAC5B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAiB,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU;YAC3G,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAiB,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU;AACvG,YAAA,IAAI,CAAC,sBAAsB,GAAG,SAAS;;;AAIvC,IAAA,eAAe,CAAC,IAAS,EAAA;;;QAG7B,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,SAAS,EAAE;YAC7C;;QAEJ,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,KAAI;AAClD,YAAA,QAAQ,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE;AACtI,SAAC,CAAC;;QAGF,IAAI,YAAY,EAAE;AACd,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,YAAY,CAAC;;aAC7B,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE;AACvD,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;;aAChE;;AAEH,YAAA,IAAK,IAAY,CAAC,aAAa,KAAK,IAAI,EAAE;AACtC,gBAAA,IAAI,CAAC,UAAU,GAAG,SAAS;AAC3B,gBAAA,IAAI,CAAC,KAAK,GAAG,EAAE;gBACf;;;QAGR,IAAI,CAAC,6BAA6B,EAAE;;AAGpC,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE;QAC3H,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;;;AAInC,IAAA,WAAW,CAAC,MAAM,EAAA;AACtB,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE;YAC7E,IAAI,CAAC,SAAiB,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;;;IAI3D,gBAAgB,GAAA;AACnB,QAAA,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,wCAAwC,CAAC;AACxF,QAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACrB,YAAA,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,wBAAwB,EAAE,EAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAC,CAAC;;;;AAKlF,IAAA,aAAa,CAAC,KAA6B,EAAE,iBAA2B,EAAE,aAAsB,EAAA;;QAEnG,IAAI,iBAAiB,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;AACnD,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK;AAC1B,YAAA,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;;;AAI9B,QAAA,MAAM,UAAU,GAAwB;AACpC,YAAA,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,SAAS;YACrE,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM;AAC5C,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,aAAa,EAAE,CAAC,IAAI,CAAC,SAAS;AAC9B,YAAA,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;;YAE9D,SAAS,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,IAAI,CAAC,SAAS;YACjE,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,mBAAmB,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI;SAChE;AAED,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AAClB,YAAA,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW;AACzC,YAAA,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU;;AAG3C,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;AAEzB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU;AACrC,aAAA,IAAI,CAAC,CAAC,QAAa,KAAI;;AAEpB,YAAA,QAAQ,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ;;YAEpC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE;AACvF,gBAAA,IAAI,CAAC,OAAO,GAAG,QAAQ;;AAG3B,YAAA,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;gBAC/B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC;;iBAC3D;AACH,gBAAA,IAAI,CAAC,gBAAgB,GAAG,QAAQ;;;AAIpC,YAAA,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC7D,IAAI,CAAC,SAAS,CAAC,qBAAqB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM;;;YAInE,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;gBAChI,IAAI,CAAC,aAAa,EAAE;;AAGxB,YAAA,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC;;YAGjF,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC;AAC/C,YAAA,OAAO,eAAe;AAC1B,SAAC,EAAE,CAAC,KAAK,KAAI;AACT,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK;AAC1B,YAAA,OAAO,EAAE;AACb,SAAC,CACA,CAAC,IAAI,CAAC,MAAM,IAAG;AACZ,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjB,CAAC,QAAQ,CAAC,MAAK;oBACX,IAAI,CAAC,4BAA4B,EAAE;AACvC,iBAAC,EAAE,EAAE,CAAC,GAAG;AACT,gBAAA,IAAI,CAAC,UAAU,GAAG,KAAK;;;AAG3B,YAAA,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;AAChB,gBAAA,IAAI,CAAC,aAAa,GAAG,SAAS;AAC9B,gBAAA,IAAI,CAAC,UAAU,GAAI,KAAgB;;;;AAIvC,YAAA,IAAI,IAAI,CAAC,cAAc,EAAE;gBACrB,MAAM,GAAG,EAAE;;AAEf,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK;AAC1B,YAAA,IAAI,CAAC,WAAW,GAAG,MAAM;AACzB,YAAA,OAAO,MAAM;AACjB,SAAC,CAAC;;;AAIF,IAAA,UAAU,CAAC,OAAO,EAAA;QACtB,IAAI,OAAO,IAAI,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;YACnC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC;;AAE9C,QAAA,OAAO,OAAO;;AAGX,IAAA,kBAAkB,CAAC,IAAS,EAAE,SAAkB,EAAE,QAAkB,EAAA;AACvE,QAAA,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE;AACtB,YAAA,SAAS,EAAE;;AAGf,QAAA,MAAM,eAAe,GAAG,iBAAiB,CACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAChC,IAAI,EACJ,IAAI,CAAC,SAAS,EACd;AACI,YAAA,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY;YACpD,WAAW,EAAE,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,iBAAiB;YACnD,eAAe,EAAE,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,gBAAgB;YACtD,iBAAiB,EAAE,IAAI,CAAC,mBAAmB;YAC3C,aAAa,EAAE,IAAI,CAAC;AACvB,SAAA,EACD,SAAS,EACT,IAAI,CACP;QACD,OAAO,sBAAsB,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;;;IAI/H,QAAQ,CAAC,SAAkB,EAAE,GAAU,EAAA;QAC1C,MAAM,WAAW,GAAG,SAAS,CAAC,YAAY,EACtC,YAAY,GAAG,SAAS,CAAC,YAAY;;QAGzC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,KAAK,SAAS,CAAC,SAAS,GAAG,YAAY,IAAI,WAAW,CAAC,EAAE;AAC7G,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;;;IAIxB,QAAQ,GAAA;QACX,KAAK,CAAC,QAAQ,EAAE;QAEhB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;;AAE3B,YAAA,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE;AAC9B,gBAAA,IAAI,CAAC,QAAQ,GAAG,CAAC;;iBACd;AACH,gBAAA,IAAI,CAAC,QAAQ,GAAG,CAAC;;;AAIzB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE;;;QAI5C,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;;IAGlG,eAAe,GAAA;QAClB,KAAK,CAAC,eAAe,EAAE;AAEvB,QAAA,MAAM,CAAC,IAAI,CAAC,aAA4B,EAAE,IAAI,CAAC;QAC/C,IAAI,CAAC,eAAe,GAAG,uBAAuB,CAAC,IAAI,CAAC,aAAa,CAAC;;IAG/D,kBAAkB,GAAA;AACrB,QAAA,MAAM,aAAa,GAAG,CAAC,CAAC,mBAAmB,CAAC;QAC5C,IAAI,aAAa,EAAE;AACf,YAAA,aAAa,CAAC,UAAU,CAAC,eAAe,CAAC;;;IAIzC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAA;QAC1B,IAAI,MAAM,EAAE;YACR,MAAM,CAAC,MAAM,CAAC,GAAG;gBACb,IAAI,EAAI,IAAI,CAAC,UAAU;gBACvB,KAAK,EAAG,IAAI,CAAC,KAAK;gBAClB,KAAK,EAAG,IAAI,CAAC,KAAK;gBAClB,KAAK,EAAG,IAAI,CAAC;aAChB;;AAGL,QAAA,OAAO,MAAM;;;IAIV,iBAAiB,CAAC,KAAqB,EAAE,MAAa,EAAA;AACzD,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;AACpB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;QACvB,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;AACvC,QAAA,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,eAAe;;AAGvC,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG;AAC3B,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK;QAE/B,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;QAErC,IAAI,CAAC,eAAe,EAAE;QACtB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,IAAI,EAAE,CAAC;;QAEjD,IAAI,IAAI,CAAC,SAAS,KAAM,IAAY,CAAC,aAAa,EAAE;AAChD,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC;;QAE5C,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;YACvC,IAAI,CAAC,WAAW,EAAE;;AAEtB,QAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7E,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC;AAE9C,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC;;AAG5C,IAAA,gBAAgB,CAAC,GAAW,EAAE,EAAO,EAAE,EAAO,EAAA;AAC1C,QAAA,IAAI,GAAG,KAAK,UAAU,EAAE;YACpB;;;;;AAMJ,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,GAAG,KAAK,cAAc,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAG;AAC3J,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,YAAY;AAC1C,YAAA,IAAI,CAAC,YAAY,GAAG,SAAS;;;AAIjC,QAAA,IAAI,GAAG,KAAK,cAAc,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE;AAC9E,YAAA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa;;;AAIlE,QAAA,IAAI,GAAG,KAAK,UAAU,EAAE;AACpB,YAAA,IAAI,EAAE,KAAK,KAAK,EAAE;AACd,gBAAA,IAAI,CAAC,SAAS,GAAG,KAAK;;iBACnB;AACH,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI;gBACrB,IAAI,GAAG,CAAE,IAAI,CAAC,SAAiB,EAAE,oBAAoB,CAAC,EAAE;AACpD,oBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;;;;QAKjC,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;;AAl0B9B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,SAAA,uBAAA,CAAA,iBAAA,EAAA,EAAA,OAAA,KAAA,iBAAA,IAAA,eAAe,EA6ET,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,GAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,gBAAgB,CAChB,EAAA,EAAA,CAAA,iBAAA,CAAA,cAAc,wBACjB,kBAAkB,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA;oEA/ErB,eAAe,EAAA,SAAA,EAAA,CAAA,CAAA,EAAA,EAAA,UAAA,EAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,SAAA,qBAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;2BAmCb,kBAAkB,EAAA,CAAA,CAAA;;;;;;;;AAzClB,SAAA,EAAA,EAAA,UAAA,EAAA,IAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,kBAAA,CAAA;AACP,gBAAA,SAAS,CAAC,eAAe,EAAE,iBAAiB,EAAE,IAAI,CAAC;AACnD,gBAAA,SAAS,CAAC,eAAe,EAAE,aAAa,EAAE,IAAI,CAAC;gBAC/C,kBAAkB,CAAC,eAAe;AACrC,aAAA,CAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,KAAA,EAAA,GAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,oBAAA,EAAA,EAAA,CAAA,EAAA,CAAA,oBAAA,EAAA,EAAA,CAAA,EAAA,CAAA,WAAA,EAAA,EAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,CAAA,EAAA,CAAA,kBAAA,EAAA,EAAA,EAAA,CAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,qBAAA,CAAA,EAAA,CAAA,KAAA,EAAA,QAAA,EAAA,CAAA,EAAA,KAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,WAAA,CAAA,EAAA,CAAA,KAAA,EAAA,QAAA,EAAA,CAAA,EAAA,KAAA,CAAA,EAAA,CAAA,0BAAA,EAAA,EAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAAA,EAAA,IAAA,EAAA,mBAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAAA,EAAA,kBAAA,EAAA,yBAAA,CAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,cAAA,EAAA,EAAA,EAAA,WAAA,EAAA,MAAA,EAAA,cAAA,EAAA,KAAA,EAAA,sBAAA,EAAA,OAAA,EAAA,CAAA,EAAA,aAAA,EAAA,cAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,OAAA,EAAA,SAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,qBAAA,EAAA,gBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,kCAAA,EAAA,QAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,OAAA,EAAA,QAAA,CAAA,EAAA,CAAA,aAAA,EAAA,MAAA,EAAA,CAAA,EAAA,KAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,UAAA,EAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,cAAA,EAAA,EAAA,EAAA,cAAA,EAAA,KAAA,EAAA,sBAAA,EAAA,OAAA,EAAA,CAAA,EAAA,aAAA,EAAA,cAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,OAAA,EAAA,SAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,aAAA,EAAA,WAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,qBAAA,EAAA,gBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,kCAAA,EAAA,UAAA,EAAA,QAAA,CAAA,EAAA,CAAA,UAAA,EAAA,YAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,EAAA,cAAA,CAAA,EAAA,CAAA,aAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,mBAAA,EAAA,SAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,KAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,WAAA,EAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,mBAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,CAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,CAAA,EAAA,OAAA,EAAA,UAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,wBAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;ADcH,YAnFF,EAAwG,CAAA,UAAA,CAAA,CAAA,EAAA,sCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA,CAAA,EAAA,sCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAkBC,kDA4BrF,CAqCX,CAAA,EAAA,sCAAA,EAAA,EAAA,EAAA,EAAA,CAAA;;YArCT,EAyFG,CAAA,SAAA,CAAA,CAAA,CAAA;YAzFH,EAyFG,CAAA,aAAA,CAAA,GAAA,CAAA,YAAA,GAAA,CAAA,GAAA,CAAA,CAAA;ACzES,SAAA,EAAA,EAAA,YAAA,EAAA,CAAA,YAAY,mCAAE,kBAAkB,EAAA,EAAA,CAAA,qBAAA,EAAA,EAAA,CAAA,4BAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,EAAA,CAAA,oBAAA,EAAE,WAAW,EAAE,EAAA,CAAA,aAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,EAAA,CAAA,eAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,EAAA,CAAA,OAAA,EAAA,EAAA,CAAA,MAAA,EAAA,mBAAmB,EAAE,eAAe,EAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,aAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;iFASlF,eAAe,EAAA,CAAA;cAX3B,SAAS;AACI,QAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,mBAAmB,EAAE,eAAe,CAAC,EAAA,QAAA,EAClF,YAAY,EAEX,SAAA,EAAA;AACP,oBAAA,SAAS,CAAkB,eAAA,EAAA,iBAAiB,EAAE,IAAI,CAAC;AACnD,oBAAA,SAAS,CAAkB,eAAA,EAAA,aAAa,EAAE,IAAI,CAAC;AAC/C,oBAAA,kBAAkB,CAAiB,eAAA;AACtC,iBAAA,EAAA,QAAA,EAAA,i7MAAA,EAAA;;sBA+EI,SAAS;uBAAC,gBAAgB;;sBAC1B,SAAS;uBAAC,cAAc;;sBACxB,MAAM;uBAAC,kBAAkB;;sBAAG;qBA5CF,SAAS,EAAA,CAAA;kBAAvC,SAAS;mBAAC,kBAAkB;YACL,SAAS,EAAA,CAAA;kBAAhC,SAAS;mBAAC,WAAW;YACM,UAAU,EAAA,CAAA;kBAArC,YAAY;mBAAC,YAAY;;kFArCjB,eAAe,EAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA,GAAA;;ACvE5B;;AAEG;;;;"}
@@ -1,3 +1,2 @@
1
- export * from './search.module';
2
1
  export * from './search.component';
3
2
  export * from './scrollable.directive';
@@ -9,5 +9,5 @@ export declare class ScrollableDirective implements AfterContentInit, AfterViewI
9
9
  ngAfterViewInit(): void;
10
10
  private notifyParent;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<ScrollableDirective, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<ScrollableDirective, "[scrollable]", never, {}, {}, never, never, false, never>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ScrollableDirective, "[scrollable]", never, {}, {}, never, never, true, never>;
13
13
  }
@@ -104,5 +104,5 @@ export declare class SearchComponent extends DatasetAwareFormComponent implement
104
104
  typeaheadOnSelect(match: TypeaheadMatch, $event: Event): void;
105
105
  onPropertyChange(key: string, nv: any, ov: any): void;
106
106
  static ɵfac: i0.ɵɵFactoryDeclaration<SearchComponent, [null, null, { attribute: "datavalue.bind"; }, { attribute: "dataset.bind"; }, { optional: true; }]>;
107
- static ɵcmp: i0.ɵɵComponentDeclaration<SearchComponent, "[wmSearch]", never, {}, {}, never, never, false, never>;
107
+ static ɵcmp: i0.ɵɵComponentDeclaration<SearchComponent, "[wmSearch]", never, {}, {}, never, never, true, never>;
108
108
  }