@wavemaker/app-ng-runtime 11.4.1-next.141653 → 11.4.1-next.141654

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 (504) hide show
  1. app-ng-runtime/components/advanced/carousel/bundles/index.umd.js +12 -23
  2. app-ng-runtime/components/advanced/carousel/carousel-template/carousel-template.directive.d.ts +2 -4
  3. app-ng-runtime/components/advanced/carousel/carousel.directive.d.ts +2 -4
  4. app-ng-runtime/components/advanced/carousel/esm2020/carousel-template/carousel-template.directive.mjs +6 -11
  5. app-ng-runtime/components/advanced/carousel/esm2020/carousel.directive.mjs +6 -11
  6. app-ng-runtime/components/advanced/carousel/fesm2015/index.mjs +9 -20
  7. app-ng-runtime/components/advanced/carousel/fesm2015/index.mjs.map +1 -1
  8. app-ng-runtime/components/advanced/carousel/fesm2020/index.mjs +9 -16
  9. app-ng-runtime/components/advanced/carousel/fesm2020/index.mjs.map +1 -1
  10. app-ng-runtime/components/advanced/login/bundles/index.umd.js +21 -27
  11. app-ng-runtime/components/advanced/login/esm2020/login.component.mjs +8 -13
  12. app-ng-runtime/components/advanced/login/fesm2015/index.mjs +7 -13
  13. app-ng-runtime/components/advanced/login/fesm2015/index.mjs.map +1 -1
  14. app-ng-runtime/components/advanced/login/fesm2020/index.mjs +7 -11
  15. app-ng-runtime/components/advanced/login/fesm2020/index.mjs.map +1 -1
  16. app-ng-runtime/components/advanced/login/login.component.d.ts +2 -4
  17. app-ng-runtime/components/advanced/marquee/bundles/index.umd.js +8 -14
  18. app-ng-runtime/components/advanced/marquee/esm2020/marquee.directive.mjs +6 -11
  19. app-ng-runtime/components/advanced/marquee/fesm2015/index.mjs +5 -11
  20. app-ng-runtime/components/advanced/marquee/fesm2015/index.mjs.map +1 -1
  21. app-ng-runtime/components/advanced/marquee/fesm2020/index.mjs +5 -9
  22. app-ng-runtime/components/advanced/marquee/fesm2020/index.mjs.map +1 -1
  23. app-ng-runtime/components/advanced/marquee/marquee.directive.d.ts +2 -4
  24. app-ng-runtime/components/base/bundles/index.umd.js +31 -61
  25. app-ng-runtime/components/base/esm2020/widgets/common/base/base-container.component.mjs +4 -6
  26. app-ng-runtime/components/base/esm2020/widgets/common/base/base.component.mjs +5 -6
  27. app-ng-runtime/components/base/esm2020/widgets/common/base/dataset-aware-nav.component.mjs +3 -3
  28. app-ng-runtime/components/base/esm2020/widgets/common/container/container.directive.mjs +7 -11
  29. app-ng-runtime/components/base/esm2020/widgets/common/item-template/item-template.directive.mjs +7 -10
  30. app-ng-runtime/components/base/esm2020/widgets/common/lazy-load/lazy-load.directive.mjs +6 -10
  31. app-ng-runtime/components/base/esm2020/widgets/common/message/message.component.mjs +7 -11
  32. app-ng-runtime/components/base/esm2020/widgets/common/partial/partial.directive.mjs +7 -10
  33. app-ng-runtime/components/base/esm2020/widgets/common/repeat-template/repeat-template.directive.mjs +6 -11
  34. app-ng-runtime/components/base/fesm2015/index.mjs +32 -62
  35. app-ng-runtime/components/base/fesm2015/index.mjs.map +1 -1
  36. app-ng-runtime/components/base/fesm2020/index.mjs +32 -50
  37. app-ng-runtime/components/base/fesm2020/index.mjs.map +1 -1
  38. app-ng-runtime/components/base/widgets/common/base/base-container.component.d.ts +1 -2
  39. app-ng-runtime/components/base/widgets/common/base/base.component.d.ts +2 -3
  40. app-ng-runtime/components/base/widgets/common/base/dataset-aware-nav.component.d.ts +1 -2
  41. app-ng-runtime/components/base/widgets/common/container/container.directive.d.ts +2 -4
  42. app-ng-runtime/components/base/widgets/common/item-template/item-template.directive.d.ts +3 -4
  43. app-ng-runtime/components/base/widgets/common/lazy-load/lazy-load.directive.d.ts +2 -4
  44. app-ng-runtime/components/base/widgets/common/message/message.component.d.ts +2 -4
  45. app-ng-runtime/components/base/widgets/common/partial/partial.directive.d.ts +3 -4
  46. app-ng-runtime/components/base/widgets/common/repeat-template/repeat-template.directive.d.ts +2 -4
  47. app-ng-runtime/components/basic/default/anchor/anchor.component.d.ts +3 -4
  48. app-ng-runtime/components/basic/default/audio/audio.component.d.ts +2 -4
  49. app-ng-runtime/components/basic/default/bundles/index.umd.js +247 -290
  50. app-ng-runtime/components/basic/default/esm2020/anchor/anchor.component.mjs +7 -10
  51. app-ng-runtime/components/basic/default/esm2020/audio/audio.component.mjs +8 -13
  52. app-ng-runtime/components/basic/default/esm2020/html/html.directive.mjs +7 -11
  53. app-ng-runtime/components/basic/default/esm2020/icon/icon.component.mjs +9 -14
  54. app-ng-runtime/components/basic/default/esm2020/iframe/iframe.component.mjs +9 -13
  55. app-ng-runtime/components/basic/default/esm2020/label/label.directive.mjs +7 -11
  56. app-ng-runtime/components/basic/default/esm2020/picture/picture.directive.mjs +7 -11
  57. app-ng-runtime/components/basic/default/esm2020/spinner/spinner.component.mjs +9 -13
  58. app-ng-runtime/components/basic/default/esm2020/video/video.component.mjs +9 -13
  59. app-ng-runtime/components/basic/default/fesm2015/index.mjs +46 -89
  60. app-ng-runtime/components/basic/default/fesm2015/index.mjs.map +1 -1
  61. app-ng-runtime/components/basic/default/fesm2020/index.mjs +46 -73
  62. app-ng-runtime/components/basic/default/fesm2020/index.mjs.map +1 -1
  63. app-ng-runtime/components/basic/default/html/html.directive.d.ts +2 -4
  64. app-ng-runtime/components/basic/default/icon/icon.component.d.ts +2 -4
  65. app-ng-runtime/components/basic/default/iframe/iframe.component.d.ts +2 -4
  66. app-ng-runtime/components/basic/default/label/label.directive.d.ts +2 -4
  67. app-ng-runtime/components/basic/default/picture/picture.directive.d.ts +2 -4
  68. app-ng-runtime/components/basic/default/spinner/spinner.component.d.ts +2 -4
  69. app-ng-runtime/components/basic/default/video/video.component.d.ts +2 -4
  70. app-ng-runtime/components/basic/progress/bundles/index.umd.js +23 -32
  71. app-ng-runtime/components/basic/progress/esm2020/progress-bar/progress-bar.component.mjs +8 -12
  72. app-ng-runtime/components/basic/progress/esm2020/progress-circle/progress-circle.component.mjs +8 -13
  73. app-ng-runtime/components/basic/progress/fesm2015/index.mjs +12 -21
  74. app-ng-runtime/components/basic/progress/fesm2015/index.mjs.map +1 -1
  75. app-ng-runtime/components/basic/progress/fesm2020/index.mjs +12 -19
  76. app-ng-runtime/components/basic/progress/fesm2020/index.mjs.map +1 -1
  77. app-ng-runtime/components/basic/progress/progress-bar/progress-bar.component.d.ts +2 -4
  78. app-ng-runtime/components/basic/progress/progress-circle/progress-circle.component.d.ts +2 -4
  79. app-ng-runtime/components/basic/rich-text-editor/bundles/index.umd.js +14 -20
  80. app-ng-runtime/components/basic/rich-text-editor/esm2020/rich-text-editor.component.mjs +9 -13
  81. app-ng-runtime/components/basic/rich-text-editor/fesm2015/index.mjs +7 -13
  82. app-ng-runtime/components/basic/rich-text-editor/fesm2015/index.mjs.map +1 -1
  83. app-ng-runtime/components/basic/rich-text-editor/fesm2020/index.mjs +7 -11
  84. app-ng-runtime/components/basic/rich-text-editor/fesm2020/index.mjs.map +1 -1
  85. app-ng-runtime/components/basic/rich-text-editor/rich-text-editor.component.d.ts +2 -4
  86. app-ng-runtime/components/basic/search/bundles/index.umd.js +3 -6
  87. app-ng-runtime/components/basic/search/esm2020/search.component.mjs +6 -9
  88. app-ng-runtime/components/basic/search/fesm2015/index.mjs +4 -7
  89. app-ng-runtime/components/basic/search/fesm2015/index.mjs.map +1 -1
  90. app-ng-runtime/components/basic/search/fesm2020/index.mjs +4 -7
  91. app-ng-runtime/components/basic/search/fesm2020/index.mjs.map +1 -1
  92. app-ng-runtime/components/basic/search/search.component.d.ts +3 -4
  93. app-ng-runtime/components/chart/bundles/index.umd.js +4 -9
  94. app-ng-runtime/components/chart/chart.component.d.ts +3 -4
  95. app-ng-runtime/components/chart/esm2020/chart.component.mjs +7 -10
  96. app-ng-runtime/components/chart/fesm2015/index.mjs +5 -10
  97. app-ng-runtime/components/chart/fesm2015/index.mjs.map +1 -1
  98. app-ng-runtime/components/chart/fesm2020/index.mjs +5 -8
  99. app-ng-runtime/components/chart/fesm2020/index.mjs.map +1 -1
  100. app-ng-runtime/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +2 -4
  101. app-ng-runtime/components/containers/accordion/accordion.directive.d.ts +3 -4
  102. app-ng-runtime/components/containers/accordion/bundles/index.umd.js +56 -66
  103. app-ng-runtime/components/containers/accordion/esm2020/accordion-pane/accordion-pane.component.mjs +10 -14
  104. app-ng-runtime/components/containers/accordion/esm2020/accordion.directive.mjs +7 -10
  105. app-ng-runtime/components/containers/accordion/fesm2015/index.mjs +12 -22
  106. app-ng-runtime/components/containers/accordion/fesm2015/index.mjs.map +1 -1
  107. app-ng-runtime/components/containers/accordion/fesm2020/index.mjs +12 -18
  108. app-ng-runtime/components/containers/accordion/fesm2020/index.mjs.map +1 -1
  109. app-ng-runtime/components/containers/layout-grid/bundles/index.umd.js +12 -25
  110. app-ng-runtime/components/containers/layout-grid/esm2020/layout-grid-column/layout-grid-column.directive.mjs +7 -10
  111. app-ng-runtime/components/containers/layout-grid/esm2020/layout-grid-row/layout-grid-row.directive.mjs +6 -11
  112. app-ng-runtime/components/containers/layout-grid/esm2020/layout-grid.directive.mjs +6 -11
  113. app-ng-runtime/components/containers/layout-grid/fesm2015/index.mjs +13 -26
  114. app-ng-runtime/components/containers/layout-grid/fesm2015/index.mjs.map +1 -1
  115. app-ng-runtime/components/containers/layout-grid/fesm2020/index.mjs +13 -22
  116. app-ng-runtime/components/containers/layout-grid/fesm2020/index.mjs.map +1 -1
  117. app-ng-runtime/components/containers/layout-grid/layout-grid-column/layout-grid-column.directive.d.ts +3 -4
  118. app-ng-runtime/components/containers/layout-grid/layout-grid-row/layout-grid-row.directive.d.ts +2 -4
  119. app-ng-runtime/components/containers/layout-grid/layout-grid.directive.d.ts +2 -4
  120. app-ng-runtime/components/containers/linear-layout/bundles/index.umd.js +12 -23
  121. app-ng-runtime/components/containers/linear-layout/esm2020/linear-layout-item/linear-layout-item.directive.mjs +6 -11
  122. app-ng-runtime/components/containers/linear-layout/esm2020/linear-layout.directive.mjs +6 -11
  123. app-ng-runtime/components/containers/linear-layout/fesm2015/index.mjs +9 -20
  124. app-ng-runtime/components/containers/linear-layout/fesm2015/index.mjs.map +1 -1
  125. app-ng-runtime/components/containers/linear-layout/fesm2020/index.mjs +9 -16
  126. app-ng-runtime/components/containers/linear-layout/fesm2020/index.mjs.map +1 -1
  127. app-ng-runtime/components/containers/linear-layout/linear-layout-item/linear-layout-item.directive.d.ts +2 -4
  128. app-ng-runtime/components/containers/linear-layout/linear-layout.directive.d.ts +2 -4
  129. app-ng-runtime/components/containers/panel/bundles/index.umd.js +65 -71
  130. app-ng-runtime/components/containers/panel/esm2020/panel.component.mjs +12 -16
  131. app-ng-runtime/components/containers/panel/fesm2015/index.mjs +10 -16
  132. app-ng-runtime/components/containers/panel/fesm2015/index.mjs.map +1 -1
  133. app-ng-runtime/components/containers/panel/fesm2020/index.mjs +10 -14
  134. app-ng-runtime/components/containers/panel/fesm2020/index.mjs.map +1 -1
  135. app-ng-runtime/components/containers/panel/panel.component.d.ts +2 -4
  136. app-ng-runtime/components/containers/tabs/bundles/index.umd.js +57 -63
  137. app-ng-runtime/components/containers/tabs/esm2020/tab-pane/tab-pane.component.mjs +8 -12
  138. app-ng-runtime/components/containers/tabs/esm2020/tabs.component.mjs +7 -10
  139. app-ng-runtime/components/containers/tabs/fesm2015/index.mjs +12 -18
  140. app-ng-runtime/components/containers/tabs/fesm2015/index.mjs.map +1 -1
  141. app-ng-runtime/components/containers/tabs/fesm2020/index.mjs +12 -18
  142. app-ng-runtime/components/containers/tabs/fesm2020/index.mjs.map +1 -1
  143. app-ng-runtime/components/containers/tabs/tab-pane/tab-pane.component.d.ts +2 -4
  144. app-ng-runtime/components/containers/tabs/tabs.component.d.ts +3 -4
  145. app-ng-runtime/components/containers/tile/bundles/index.umd.js +8 -14
  146. app-ng-runtime/components/containers/tile/esm2020/tile.directive.mjs +6 -11
  147. app-ng-runtime/components/containers/tile/fesm2015/index.mjs +5 -11
  148. app-ng-runtime/components/containers/tile/fesm2015/index.mjs.map +1 -1
  149. app-ng-runtime/components/containers/tile/fesm2020/index.mjs +5 -9
  150. app-ng-runtime/components/containers/tile/fesm2020/index.mjs.map +1 -1
  151. app-ng-runtime/components/containers/tile/tile.directive.d.ts +2 -4
  152. app-ng-runtime/components/containers/wizard/bundles/index.umd.js +48 -57
  153. app-ng-runtime/components/containers/wizard/esm2020/wizard-step/wizard-step.directive.mjs +5 -10
  154. app-ng-runtime/components/containers/wizard/esm2020/wizard.component.mjs +10 -14
  155. app-ng-runtime/components/containers/wizard/fesm2015/index.mjs +11 -20
  156. app-ng-runtime/components/containers/wizard/fesm2015/index.mjs.map +1 -1
  157. app-ng-runtime/components/containers/wizard/fesm2020/index.mjs +11 -18
  158. app-ng-runtime/components/containers/wizard/fesm2020/index.mjs.map +1 -1
  159. app-ng-runtime/components/containers/wizard/wizard-step/wizard-step.directive.d.ts +2 -4
  160. app-ng-runtime/components/containers/wizard/wizard.component.d.ts +2 -4
  161. app-ng-runtime/components/data/card/bundles/index.umd.js +83 -106
  162. app-ng-runtime/components/data/card/card-actions/card-actions.directive.d.ts +2 -4
  163. app-ng-runtime/components/data/card/card-content/card-content.component.d.ts +2 -4
  164. app-ng-runtime/components/data/card/card-footer/card-footer.directive.d.ts +2 -4
  165. app-ng-runtime/components/data/card/card.component.d.ts +2 -4
  166. app-ng-runtime/components/data/card/esm2020/card-actions/card-actions.directive.mjs +6 -11
  167. app-ng-runtime/components/data/card/esm2020/card-content/card-content.component.mjs +6 -11
  168. app-ng-runtime/components/data/card/esm2020/card-footer/card-footer.directive.mjs +6 -11
  169. app-ng-runtime/components/data/card/esm2020/card.component.mjs +12 -18
  170. app-ng-runtime/components/data/card/fesm2015/index.mjs +23 -46
  171. app-ng-runtime/components/data/card/fesm2015/index.mjs.map +1 -1
  172. app-ng-runtime/components/data/card/fesm2020/index.mjs +23 -38
  173. app-ng-runtime/components/data/card/fesm2020/index.mjs.map +1 -1
  174. app-ng-runtime/components/data/form/bundles/index.umd.js +128 -137
  175. app-ng-runtime/components/data/form/esm2020/form-action/form-action.directive.mjs +4 -9
  176. app-ng-runtime/components/data/form/esm2020/form-field/form-field.directive.mjs +5 -8
  177. app-ng-runtime/components/data/form/esm2020/form.component.mjs +5 -8
  178. app-ng-runtime/components/data/form/fesm2015/index.mjs +20 -29
  179. app-ng-runtime/components/data/form/fesm2015/index.mjs.map +1 -1
  180. app-ng-runtime/components/data/form/fesm2020/index.mjs +20 -29
  181. app-ng-runtime/components/data/form/fesm2020/index.mjs.map +1 -1
  182. app-ng-runtime/components/data/form/form-action/form-action.directive.d.ts +2 -4
  183. app-ng-runtime/components/data/form/form-field/form-field.directive.d.ts +3 -4
  184. app-ng-runtime/components/data/form/form.component.d.ts +3 -4
  185. app-ng-runtime/components/data/list/bundles/index.umd.js +4 -7
  186. app-ng-runtime/components/data/list/esm2020/list.component.mjs +7 -10
  187. app-ng-runtime/components/data/list/fesm2015/index.mjs +4 -7
  188. app-ng-runtime/components/data/list/fesm2015/index.mjs.map +1 -1
  189. app-ng-runtime/components/data/list/fesm2020/index.mjs +4 -7
  190. app-ng-runtime/components/data/list/fesm2020/index.mjs.map +1 -1
  191. app-ng-runtime/components/data/list/list.component.d.ts +3 -4
  192. app-ng-runtime/components/data/live-table/bundles/index.umd.js +3 -6
  193. app-ng-runtime/components/data/live-table/esm2020/live-table.component.mjs +6 -9
  194. app-ng-runtime/components/data/live-table/fesm2015/index.mjs +4 -7
  195. app-ng-runtime/components/data/live-table/fesm2015/index.mjs.map +1 -1
  196. app-ng-runtime/components/data/live-table/fesm2020/index.mjs +4 -7
  197. app-ng-runtime/components/data/live-table/fesm2020/index.mjs.map +1 -1
  198. app-ng-runtime/components/data/live-table/live-table.component.d.ts +3 -4
  199. app-ng-runtime/components/data/pagination/bundles/index.umd.js +30 -34
  200. app-ng-runtime/components/data/pagination/esm2020/pagination.component.mjs +10 -14
  201. app-ng-runtime/components/data/pagination/fesm2015/index.mjs +8 -12
  202. app-ng-runtime/components/data/pagination/fesm2015/index.mjs.map +1 -1
  203. app-ng-runtime/components/data/pagination/fesm2020/index.mjs +8 -12
  204. app-ng-runtime/components/data/pagination/fesm2020/index.mjs.map +1 -1
  205. app-ng-runtime/components/data/pagination/pagination.component.d.ts +2 -4
  206. app-ng-runtime/components/data/table/bundles/index.umd.js +19 -37
  207. app-ng-runtime/components/data/table/esm2020/table-action/table-action.directive.mjs +4 -9
  208. app-ng-runtime/components/data/table/esm2020/table-column/table-column.directive.mjs +5 -8
  209. app-ng-runtime/components/data/table/esm2020/table-column-group/table-column-group.directive.mjs +4 -9
  210. app-ng-runtime/components/data/table/esm2020/table-row/table-row.directive.mjs +4 -9
  211. app-ng-runtime/components/data/table/esm2020/table-row-action/table-row-action.directive.mjs +4 -9
  212. app-ng-runtime/components/data/table/esm2020/table.component.mjs +6 -9
  213. app-ng-runtime/components/data/table/fesm2015/index.mjs +19 -37
  214. app-ng-runtime/components/data/table/fesm2015/index.mjs.map +1 -1
  215. app-ng-runtime/components/data/table/fesm2020/index.mjs +19 -37
  216. app-ng-runtime/components/data/table/fesm2020/index.mjs.map +1 -1
  217. app-ng-runtime/components/data/table/table-action/table-action.directive.d.ts +2 -4
  218. app-ng-runtime/components/data/table/table-column/table-column.directive.d.ts +3 -4
  219. app-ng-runtime/components/data/table/table-column-group/table-column-group.directive.d.ts +2 -4
  220. app-ng-runtime/components/data/table/table-row/table-row.directive.d.ts +2 -4
  221. app-ng-runtime/components/data/table/table-row-action/table-row-action.directive.d.ts +2 -4
  222. app-ng-runtime/components/data/table/table.component.d.ts +3 -4
  223. app-ng-runtime/components/dialogs/alert-dialog/alert-dialog.component.d.ts +2 -4
  224. app-ng-runtime/components/dialogs/alert-dialog/bundles/index.umd.js +40 -46
  225. app-ng-runtime/components/dialogs/alert-dialog/esm2020/alert-dialog.component.mjs +9 -15
  226. app-ng-runtime/components/dialogs/alert-dialog/fesm2015/index.mjs +8 -14
  227. app-ng-runtime/components/dialogs/alert-dialog/fesm2015/index.mjs.map +1 -1
  228. app-ng-runtime/components/dialogs/alert-dialog/fesm2020/index.mjs +8 -14
  229. app-ng-runtime/components/dialogs/alert-dialog/fesm2020/index.mjs.map +1 -1
  230. app-ng-runtime/components/dialogs/confirm-dialog/bundles/index.umd.js +16 -22
  231. app-ng-runtime/components/dialogs/confirm-dialog/confirm-dialog.component.d.ts +2 -4
  232. app-ng-runtime/components/dialogs/confirm-dialog/esm2020/confirm-dialog.component.mjs +8 -14
  233. app-ng-runtime/components/dialogs/confirm-dialog/fesm2015/index.mjs +7 -13
  234. app-ng-runtime/components/dialogs/confirm-dialog/fesm2015/index.mjs.map +1 -1
  235. app-ng-runtime/components/dialogs/confirm-dialog/fesm2020/index.mjs +7 -13
  236. app-ng-runtime/components/dialogs/confirm-dialog/fesm2020/index.mjs.map +1 -1
  237. app-ng-runtime/components/dialogs/default/base-dialog.d.ts +1 -2
  238. app-ng-runtime/components/dialogs/default/bundles/index.umd.js +25 -31
  239. app-ng-runtime/components/dialogs/default/dialog-footer/dialog-footer.directive.d.ts +2 -4
  240. app-ng-runtime/components/dialogs/default/esm2020/base-dialog.mjs +7 -8
  241. app-ng-runtime/components/dialogs/default/esm2020/dialog-footer/dialog-footer.directive.mjs +6 -11
  242. app-ng-runtime/components/dialogs/default/fesm2015/index.mjs +11 -17
  243. app-ng-runtime/components/dialogs/default/fesm2015/index.mjs.map +1 -1
  244. app-ng-runtime/components/dialogs/default/fesm2020/index.mjs +11 -15
  245. app-ng-runtime/components/dialogs/default/fesm2020/index.mjs.map +1 -1
  246. app-ng-runtime/components/dialogs/design-dialog/bundles/index.umd.js +17 -23
  247. app-ng-runtime/components/dialogs/design-dialog/dialog.component.d.ts +2 -4
  248. app-ng-runtime/components/dialogs/design-dialog/esm2020/dialog.component.mjs +8 -14
  249. app-ng-runtime/components/dialogs/design-dialog/fesm2015/index.mjs +7 -13
  250. app-ng-runtime/components/dialogs/design-dialog/fesm2015/index.mjs.map +1 -1
  251. app-ng-runtime/components/dialogs/design-dialog/fesm2020/index.mjs +7 -13
  252. app-ng-runtime/components/dialogs/design-dialog/fesm2020/index.mjs.map +1 -1
  253. app-ng-runtime/components/dialogs/iframe-dialog/bundles/index.umd.js +24 -30
  254. app-ng-runtime/components/dialogs/iframe-dialog/esm2020/iframe-dialog.component.mjs +10 -16
  255. app-ng-runtime/components/dialogs/iframe-dialog/fesm2015/index.mjs +9 -15
  256. app-ng-runtime/components/dialogs/iframe-dialog/fesm2015/index.mjs.map +1 -1
  257. app-ng-runtime/components/dialogs/iframe-dialog/fesm2020/index.mjs +9 -15
  258. app-ng-runtime/components/dialogs/iframe-dialog/fesm2020/index.mjs.map +1 -1
  259. app-ng-runtime/components/dialogs/iframe-dialog/iframe-dialog.component.d.ts +2 -4
  260. app-ng-runtime/components/dialogs/partial-dialog/bundles/index.umd.js +3 -8
  261. app-ng-runtime/components/dialogs/partial-dialog/esm2020/partial-dialog.component.mjs +5 -10
  262. app-ng-runtime/components/dialogs/partial-dialog/fesm2015/index.mjs +4 -9
  263. app-ng-runtime/components/dialogs/partial-dialog/fesm2015/index.mjs.map +1 -1
  264. app-ng-runtime/components/dialogs/partial-dialog/fesm2020/index.mjs +4 -9
  265. app-ng-runtime/components/dialogs/partial-dialog/fesm2020/index.mjs.map +1 -1
  266. app-ng-runtime/components/dialogs/partial-dialog/partial-dialog.component.d.ts +3 -4
  267. app-ng-runtime/components/input/calendar/bundles/index.umd.js +5 -10
  268. app-ng-runtime/components/input/calendar/calendar.component.d.ts +3 -4
  269. app-ng-runtime/components/input/calendar/esm2020/calendar.component.mjs +8 -11
  270. app-ng-runtime/components/input/calendar/fesm2015/index.mjs +6 -11
  271. app-ng-runtime/components/input/calendar/fesm2015/index.mjs.map +1 -1
  272. app-ng-runtime/components/input/calendar/fesm2020/index.mjs +6 -9
  273. app-ng-runtime/components/input/calendar/fesm2020/index.mjs.map +1 -1
  274. app-ng-runtime/components/input/chips/bundles/index.umd.js +87 -93
  275. app-ng-runtime/components/input/chips/chips.component.d.ts +2 -4
  276. app-ng-runtime/components/input/chips/esm2020/chips.component.mjs +9 -15
  277. app-ng-runtime/components/input/chips/fesm2015/index.mjs +8 -14
  278. app-ng-runtime/components/input/chips/fesm2015/index.mjs.map +1 -1
  279. app-ng-runtime/components/input/chips/fesm2020/index.mjs +8 -14
  280. app-ng-runtime/components/input/chips/fesm2020/index.mjs.map +1 -1
  281. app-ng-runtime/components/input/color-picker/bundles/index.umd.js +22 -28
  282. app-ng-runtime/components/input/color-picker/color-picker.component.d.ts +2 -4
  283. app-ng-runtime/components/input/color-picker/esm2020/color-picker.component.mjs +10 -14
  284. app-ng-runtime/components/input/color-picker/fesm2015/index.mjs +8 -14
  285. app-ng-runtime/components/input/color-picker/fesm2015/index.mjs.map +1 -1
  286. app-ng-runtime/components/input/color-picker/fesm2020/index.mjs +8 -12
  287. app-ng-runtime/components/input/color-picker/fesm2020/index.mjs.map +1 -1
  288. app-ng-runtime/components/input/currency/bundles/index.umd.js +4 -9
  289. app-ng-runtime/components/input/currency/currency.component.d.ts +3 -4
  290. app-ng-runtime/components/input/currency/esm2020/currency.component.mjs +7 -10
  291. app-ng-runtime/components/input/currency/fesm2015/index.mjs +5 -10
  292. app-ng-runtime/components/input/currency/fesm2015/index.mjs.map +1 -1
  293. app-ng-runtime/components/input/currency/fesm2020/index.mjs +5 -8
  294. app-ng-runtime/components/input/currency/fesm2020/index.mjs.map +1 -1
  295. app-ng-runtime/components/input/default/base-form.component.d.ts +1 -2
  296. app-ng-runtime/components/input/default/bundles/index.umd.js +575 -648
  297. app-ng-runtime/components/input/default/button/button.component.d.ts +2 -4
  298. app-ng-runtime/components/input/default/button-group/button-group.directive.d.ts +2 -4
  299. app-ng-runtime/components/input/default/checkbox/checkbox.component.d.ts +2 -4
  300. app-ng-runtime/components/input/default/checkboxset/checkboxset.component.d.ts +2 -4
  301. app-ng-runtime/components/input/default/composite/composite.directive.d.ts +2 -4
  302. app-ng-runtime/components/input/default/dataset-aware-form.component.d.ts +2 -3
  303. app-ng-runtime/components/input/default/esm2020/base-form.component.mjs +6 -7
  304. app-ng-runtime/components/input/default/esm2020/button/button.component.mjs +9 -14
  305. app-ng-runtime/components/input/default/esm2020/button-group/button-group.directive.mjs +6 -11
  306. app-ng-runtime/components/input/default/esm2020/checkbox/checkbox.component.mjs +9 -13
  307. app-ng-runtime/components/input/default/esm2020/checkboxset/checkboxset.component.mjs +10 -14
  308. app-ng-runtime/components/input/default/esm2020/composite/composite.directive.mjs +7 -11
  309. app-ng-runtime/components/input/default/esm2020/dataset-aware-form.component.mjs +6 -7
  310. app-ng-runtime/components/input/default/esm2020/number/number.component.mjs +7 -10
  311. app-ng-runtime/components/input/default/esm2020/radioset/radioset.component.mjs +10 -14
  312. app-ng-runtime/components/input/default/esm2020/select/select.component.mjs +11 -15
  313. app-ng-runtime/components/input/default/esm2020/switch/switch.component.mjs +10 -14
  314. app-ng-runtime/components/input/default/esm2020/text/base/base-input.mjs +6 -7
  315. app-ng-runtime/components/input/default/esm2020/text/calendar/input-calendar.component.mjs +8 -13
  316. app-ng-runtime/components/input/default/esm2020/text/color/input-color.component.mjs +8 -13
  317. app-ng-runtime/components/input/default/esm2020/text/email/input-email.component.mjs +8 -13
  318. app-ng-runtime/components/input/default/esm2020/text/locale/number-locale.mjs +3 -3
  319. app-ng-runtime/components/input/default/esm2020/text/number/input-number.component.mjs +9 -14
  320. app-ng-runtime/components/input/default/esm2020/text/text/input-text.component.mjs +9 -14
  321. app-ng-runtime/components/input/default/esm2020/textarea/textarea.component.mjs +9 -14
  322. app-ng-runtime/components/input/default/fesm2015/index.mjs +94 -167
  323. app-ng-runtime/components/input/default/fesm2015/index.mjs.map +1 -1
  324. app-ng-runtime/components/input/default/fesm2020/index.mjs +94 -139
  325. app-ng-runtime/components/input/default/fesm2020/index.mjs.map +1 -1
  326. app-ng-runtime/components/input/default/number/number.component.d.ts +3 -4
  327. app-ng-runtime/components/input/default/radioset/radioset.component.d.ts +2 -4
  328. app-ng-runtime/components/input/default/select/select.component.d.ts +2 -4
  329. app-ng-runtime/components/input/default/switch/switch.component.d.ts +2 -4
  330. app-ng-runtime/components/input/default/text/base/base-input.d.ts +1 -2
  331. app-ng-runtime/components/input/default/text/calendar/input-calendar.component.d.ts +2 -4
  332. app-ng-runtime/components/input/default/text/color/input-color.component.d.ts +2 -4
  333. app-ng-runtime/components/input/default/text/email/input-email.component.d.ts +2 -4
  334. app-ng-runtime/components/input/default/text/locale/number-locale.d.ts +2 -2
  335. app-ng-runtime/components/input/default/text/number/input-number.component.d.ts +2 -4
  336. app-ng-runtime/components/input/default/text/text/input-text.component.d.ts +2 -4
  337. app-ng-runtime/components/input/default/textarea/textarea.component.d.ts +2 -4
  338. app-ng-runtime/components/input/epoch/base-date-time.component.d.ts +1 -2
  339. app-ng-runtime/components/input/epoch/bundles/index.umd.js +12 -21
  340. app-ng-runtime/components/input/epoch/date/date.component.d.ts +3 -4
  341. app-ng-runtime/components/input/epoch/date-time/date-time.component.d.ts +3 -4
  342. app-ng-runtime/components/input/epoch/esm2020/base-date-time.component.mjs +5 -6
  343. app-ng-runtime/components/input/epoch/esm2020/date/date.component.mjs +6 -9
  344. app-ng-runtime/components/input/epoch/esm2020/date-time/date-time.component.mjs +6 -9
  345. app-ng-runtime/components/input/epoch/esm2020/time/time.component.mjs +6 -9
  346. app-ng-runtime/components/input/epoch/fesm2015/index.mjs +13 -22
  347. app-ng-runtime/components/input/epoch/fesm2015/index.mjs.map +1 -1
  348. app-ng-runtime/components/input/epoch/fesm2020/index.mjs +13 -22
  349. app-ng-runtime/components/input/epoch/fesm2020/index.mjs.map +1 -1
  350. app-ng-runtime/components/input/epoch/time/time.component.d.ts +3 -4
  351. app-ng-runtime/components/input/file-upload/bundles/index.umd.js +3 -6
  352. app-ng-runtime/components/input/file-upload/esm2020/file-upload.component.mjs +6 -9
  353. app-ng-runtime/components/input/file-upload/fesm2015/index.mjs +4 -7
  354. app-ng-runtime/components/input/file-upload/fesm2015/index.mjs.map +1 -1
  355. app-ng-runtime/components/input/file-upload/fesm2020/index.mjs +4 -7
  356. app-ng-runtime/components/input/file-upload/fesm2020/index.mjs.map +1 -1
  357. app-ng-runtime/components/input/file-upload/file-upload.component.d.ts +3 -4
  358. app-ng-runtime/components/input/rating/bundles/index.umd.js +45 -51
  359. app-ng-runtime/components/input/rating/esm2020/rating.component.mjs +11 -15
  360. app-ng-runtime/components/input/rating/fesm2015/index.mjs +9 -15
  361. app-ng-runtime/components/input/rating/fesm2015/index.mjs.map +1 -1
  362. app-ng-runtime/components/input/rating/fesm2020/index.mjs +9 -13
  363. app-ng-runtime/components/input/rating/fesm2020/index.mjs.map +1 -1
  364. app-ng-runtime/components/input/rating/rating.component.d.ts +2 -4
  365. app-ng-runtime/components/input/slider/bundles/index.umd.js +37 -43
  366. app-ng-runtime/components/input/slider/esm2020/slider.component.mjs +10 -15
  367. app-ng-runtime/components/input/slider/fesm2015/index.mjs +9 -15
  368. app-ng-runtime/components/input/slider/fesm2015/index.mjs.map +1 -1
  369. app-ng-runtime/components/input/slider/fesm2020/index.mjs +9 -13
  370. app-ng-runtime/components/input/slider/fesm2020/index.mjs.map +1 -1
  371. app-ng-runtime/components/input/slider/slider.component.d.ts +2 -4
  372. app-ng-runtime/components/navigation/menu/bundles/index.umd.js +13 -25
  373. app-ng-runtime/components/navigation/menu/esm2020/menu-adapator.component.mjs +4 -6
  374. app-ng-runtime/components/navigation/menu/esm2020/menu.component.mjs +4 -7
  375. app-ng-runtime/components/navigation/menu/esm2020/nav/nav-item/nav-item.directive.mjs +7 -11
  376. app-ng-runtime/components/navigation/menu/esm2020/nav/nav.component.mjs +5 -9
  377. app-ng-runtime/components/navigation/menu/fesm2015/index.mjs +14 -26
  378. app-ng-runtime/components/navigation/menu/fesm2015/index.mjs.map +1 -1
  379. app-ng-runtime/components/navigation/menu/fesm2020/index.mjs +14 -24
  380. app-ng-runtime/components/navigation/menu/fesm2020/index.mjs.map +1 -1
  381. app-ng-runtime/components/navigation/menu/menu-adapator.component.d.ts +1 -2
  382. app-ng-runtime/components/navigation/menu/menu.component.d.ts +2 -3
  383. app-ng-runtime/components/navigation/menu/nav/nav-item/nav-item.directive.d.ts +2 -4
  384. app-ng-runtime/components/navigation/menu/nav/nav.component.d.ts +3 -3
  385. app-ng-runtime/components/navigation/navbar/bundles/index.umd.js +28 -34
  386. app-ng-runtime/components/navigation/navbar/esm2020/navbar.component.mjs +9 -14
  387. app-ng-runtime/components/navigation/navbar/fesm2015/index.mjs +8 -14
  388. app-ng-runtime/components/navigation/navbar/fesm2015/index.mjs.map +1 -1
  389. app-ng-runtime/components/navigation/navbar/fesm2020/index.mjs +8 -12
  390. app-ng-runtime/components/navigation/navbar/fesm2020/index.mjs.map +1 -1
  391. app-ng-runtime/components/navigation/navbar/navbar.component.d.ts +2 -4
  392. app-ng-runtime/components/page/default/bundles/index.umd.js +32 -66
  393. app-ng-runtime/components/page/default/content/content.component.d.ts +2 -4
  394. app-ng-runtime/components/page/default/esm2020/content/content.component.mjs +6 -11
  395. app-ng-runtime/components/page/default/esm2020/layout.directive.mjs +7 -11
  396. app-ng-runtime/components/page/default/esm2020/page-content/page-content.component.mjs +7 -10
  397. app-ng-runtime/components/page/default/esm2020/page.directive.mjs +7 -12
  398. app-ng-runtime/components/page/default/esm2020/router-outlet.directive.mjs +7 -11
  399. app-ng-runtime/components/page/default/esm2020/spa-page.directive.mjs +7 -12
  400. app-ng-runtime/components/page/default/fesm2015/index.mjs +26 -60
  401. app-ng-runtime/components/page/default/fesm2015/index.mjs.map +1 -1
  402. app-ng-runtime/components/page/default/fesm2020/index.mjs +26 -48
  403. app-ng-runtime/components/page/default/fesm2020/index.mjs.map +1 -1
  404. app-ng-runtime/components/page/default/layout.directive.d.ts +2 -4
  405. app-ng-runtime/components/page/default/page-content/page-content.component.d.ts +3 -4
  406. app-ng-runtime/components/page/default/page.directive.d.ts +3 -4
  407. app-ng-runtime/components/page/default/router-outlet.directive.d.ts +2 -4
  408. app-ng-runtime/components/page/default/spa-page.directive.d.ts +3 -4
  409. app-ng-runtime/components/page/footer/bundles/index.umd.js +8 -14
  410. app-ng-runtime/components/page/footer/esm2020/footer.directive.mjs +6 -11
  411. app-ng-runtime/components/page/footer/fesm2015/index.mjs +5 -11
  412. app-ng-runtime/components/page/footer/fesm2015/index.mjs.map +1 -1
  413. app-ng-runtime/components/page/footer/fesm2020/index.mjs +5 -9
  414. app-ng-runtime/components/page/footer/fesm2020/index.mjs.map +1 -1
  415. app-ng-runtime/components/page/footer/footer.directive.d.ts +2 -4
  416. app-ng-runtime/components/page/header/bundles/index.umd.js +8 -14
  417. app-ng-runtime/components/page/header/esm2020/header.component.mjs +6 -11
  418. app-ng-runtime/components/page/header/fesm2015/index.mjs +5 -11
  419. app-ng-runtime/components/page/header/fesm2015/index.mjs.map +1 -1
  420. app-ng-runtime/components/page/header/fesm2020/index.mjs +5 -9
  421. app-ng-runtime/components/page/header/fesm2020/index.mjs.map +1 -1
  422. app-ng-runtime/components/page/header/header.component.d.ts +2 -4
  423. app-ng-runtime/components/page/left-panel/bundles/index.umd.js +4 -7
  424. app-ng-runtime/components/page/left-panel/esm2020/left-panel.directive.mjs +6 -9
  425. app-ng-runtime/components/page/left-panel/fesm2015/index.mjs +4 -7
  426. app-ng-runtime/components/page/left-panel/fesm2015/index.mjs.map +1 -1
  427. app-ng-runtime/components/page/left-panel/fesm2020/index.mjs +4 -7
  428. app-ng-runtime/components/page/left-panel/fesm2020/index.mjs.map +1 -1
  429. app-ng-runtime/components/page/left-panel/left-panel.directive.d.ts +3 -4
  430. app-ng-runtime/components/page/right-panel/bundles/index.umd.js +6 -12
  431. app-ng-runtime/components/page/right-panel/esm2020/right-panel.directive.mjs +7 -11
  432. app-ng-runtime/components/page/right-panel/fesm2015/index.mjs +5 -11
  433. app-ng-runtime/components/page/right-panel/fesm2015/index.mjs.map +1 -1
  434. app-ng-runtime/components/page/right-panel/fesm2020/index.mjs +5 -9
  435. app-ng-runtime/components/page/right-panel/fesm2020/index.mjs.map +1 -1
  436. app-ng-runtime/components/page/right-panel/right-panel.directive.d.ts +2 -4
  437. app-ng-runtime/components/page/top-nav/bundles/index.umd.js +8 -14
  438. app-ng-runtime/components/page/top-nav/esm2020/top-nav.directive.mjs +6 -11
  439. app-ng-runtime/components/page/top-nav/fesm2015/index.mjs +5 -11
  440. app-ng-runtime/components/page/top-nav/fesm2015/index.mjs.map +1 -1
  441. app-ng-runtime/components/page/top-nav/fesm2020/index.mjs +5 -9
  442. app-ng-runtime/components/page/top-nav/fesm2020/index.mjs.map +1 -1
  443. app-ng-runtime/components/page/top-nav/top-nav.directive.d.ts +2 -4
  444. app-ng-runtime/components/prefab/bundles/index.umd.js +7 -15
  445. app-ng-runtime/components/prefab/esm2020/prefab-container/prefab-container.directive.mjs +7 -10
  446. app-ng-runtime/components/prefab/esm2020/prefab.directive.mjs +6 -10
  447. app-ng-runtime/components/prefab/fesm2015/index.mjs +8 -16
  448. app-ng-runtime/components/prefab/fesm2015/index.mjs.map +1 -1
  449. app-ng-runtime/components/prefab/fesm2020/index.mjs +8 -14
  450. app-ng-runtime/components/prefab/fesm2020/index.mjs.map +1 -1
  451. app-ng-runtime/components/prefab/prefab-container/prefab-container.directive.d.ts +3 -4
  452. app-ng-runtime/components/prefab/prefab.directive.d.ts +2 -4
  453. app-ng-runtime/mobile/components/basic/default/bundles/index.umd.js +32 -37
  454. app-ng-runtime/mobile/components/basic/default/esm2020/network-info-toaster/network-info-toaster.component.mjs +7 -10
  455. app-ng-runtime/mobile/components/basic/default/fesm2015/index.mjs +10 -15
  456. app-ng-runtime/mobile/components/basic/default/fesm2015/index.mjs.map +1 -1
  457. app-ng-runtime/mobile/components/basic/default/fesm2020/index.mjs +10 -13
  458. app-ng-runtime/mobile/components/basic/default/fesm2020/index.mjs.map +1 -1
  459. app-ng-runtime/mobile/components/basic/default/network-info-toaster/network-info-toaster.component.d.ts +3 -4
  460. app-ng-runtime/mobile/components/containers/segmented-control/bundles/index.umd.js +18 -29
  461. app-ng-runtime/mobile/components/containers/segmented-control/esm2020/segment-content/segment-content.component.mjs +8 -13
  462. app-ng-runtime/mobile/components/containers/segmented-control/esm2020/segmented-control.component.mjs +9 -13
  463. app-ng-runtime/mobile/components/containers/segmented-control/fesm2015/index.mjs +12 -23
  464. app-ng-runtime/mobile/components/containers/segmented-control/fesm2015/index.mjs.map +1 -1
  465. app-ng-runtime/mobile/components/containers/segmented-control/fesm2020/index.mjs +12 -19
  466. app-ng-runtime/mobile/components/containers/segmented-control/fesm2020/index.mjs.map +1 -1
  467. app-ng-runtime/mobile/components/containers/segmented-control/segment-content/segment-content.component.d.ts +2 -4
  468. app-ng-runtime/mobile/components/containers/segmented-control/segmented-control.component.d.ts +2 -4
  469. app-ng-runtime/mobile/components/data/media-list/bundles/index.umd.js +30 -36
  470. app-ng-runtime/mobile/components/data/media-list/esm2020/media-list.component.mjs +14 -18
  471. app-ng-runtime/mobile/components/data/media-list/fesm2015/index.mjs +11 -17
  472. app-ng-runtime/mobile/components/data/media-list/fesm2015/index.mjs.map +1 -1
  473. app-ng-runtime/mobile/components/data/media-list/fesm2020/index.mjs +11 -15
  474. app-ng-runtime/mobile/components/data/media-list/fesm2020/index.mjs.map +1 -1
  475. app-ng-runtime/mobile/components/data/media-list/media-list.component.d.ts +2 -4
  476. app-ng-runtime/mobile/components/device/barcode-scanner/barcode-scanner.component.d.ts +2 -4
  477. app-ng-runtime/mobile/components/device/barcode-scanner/bundles/index.umd.js +28 -34
  478. app-ng-runtime/mobile/components/device/barcode-scanner/esm2020/barcode-scanner.component.mjs +10 -14
  479. app-ng-runtime/mobile/components/device/barcode-scanner/fesm2015/index.mjs +8 -14
  480. app-ng-runtime/mobile/components/device/barcode-scanner/fesm2015/index.mjs.map +1 -1
  481. app-ng-runtime/mobile/components/device/barcode-scanner/fesm2020/index.mjs +8 -12
  482. app-ng-runtime/mobile/components/device/barcode-scanner/fesm2020/index.mjs.map +1 -1
  483. app-ng-runtime/mobile/components/device/camera/bundles/index.umd.js +12 -18
  484. app-ng-runtime/mobile/components/device/camera/camera.component.d.ts +2 -4
  485. app-ng-runtime/mobile/components/device/camera/esm2020/camera.component.mjs +9 -13
  486. app-ng-runtime/mobile/components/device/camera/fesm2015/index.mjs +7 -13
  487. app-ng-runtime/mobile/components/device/camera/fesm2015/index.mjs.map +1 -1
  488. app-ng-runtime/mobile/components/device/camera/fesm2020/index.mjs +7 -11
  489. app-ng-runtime/mobile/components/device/camera/fesm2020/index.mjs.map +1 -1
  490. app-ng-runtime/mobile/components/page/mobile-navbar/bundles/index.umd.js +3 -6
  491. app-ng-runtime/mobile/components/page/mobile-navbar/esm2020/mobile-navbar.component.mjs +6 -9
  492. app-ng-runtime/mobile/components/page/mobile-navbar/fesm2015/index.mjs +4 -7
  493. app-ng-runtime/mobile/components/page/mobile-navbar/fesm2015/index.mjs.map +1 -1
  494. app-ng-runtime/mobile/components/page/mobile-navbar/fesm2020/index.mjs +4 -7
  495. app-ng-runtime/mobile/components/page/mobile-navbar/fesm2020/index.mjs.map +1 -1
  496. app-ng-runtime/mobile/components/page/mobile-navbar/mobile-navbar.component.d.ts +3 -4
  497. app-ng-runtime/mobile/components/page/tab-bar/bundles/index.umd.js +32 -36
  498. app-ng-runtime/mobile/components/page/tab-bar/esm2020/tabbar.component.mjs +8 -13
  499. app-ng-runtime/mobile/components/page/tab-bar/fesm2015/index.mjs +7 -11
  500. app-ng-runtime/mobile/components/page/tab-bar/fesm2015/index.mjs.map +1 -1
  501. app-ng-runtime/mobile/components/page/tab-bar/fesm2020/index.mjs +7 -11
  502. app-ng-runtime/mobile/components/page/tab-bar/fesm2020/index.mjs.map +1 -1
  503. app-ng-runtime/mobile/components/page/tab-bar/tabbar.component.d.ts +2 -4
  504. app-ng-runtime/package.json +1 -1
@@ -1,11 +1,9 @@
1
1
  import { AfterViewInit, Injector } from '@angular/core';
2
- import { UserDefinedExecutionContext } from '@wm/core';
3
2
  import { StylableComponent } from '@wm/components/base';
4
3
  import { AccordionDirective } from '../accordion.directive';
5
4
  import * as i0 from "@angular/core";
6
5
  export declare class AccordionPaneComponent extends StylableComponent implements AfterViewInit {
7
6
  private accordionRef;
8
- _viewParent: UserDefinedExecutionContext;
9
7
  static initializeProps: void;
10
8
  isActive: boolean;
11
9
  iconclass: string;
@@ -18,7 +16,7 @@ export declare class AccordionPaneComponent extends StylableComponent implements
18
16
  private isdynamic;
19
17
  name: string;
20
18
  reDrawableComponents: any;
21
- constructor(inj: Injector, accordionRef: AccordionDirective, _viewParent: UserDefinedExecutionContext);
19
+ constructor(inj: Injector, accordionRef: AccordionDirective);
22
20
  /**
23
21
  * handles the pane expand
24
22
  * invoke $lazyLoad method which takes care of loading the partial when the content property is provided - lazyLoading or partial
@@ -41,6 +39,6 @@ export declare class AccordionPaneComponent extends StylableComponent implements
41
39
  private notifyParent;
42
40
  onPropertyChange(key: any, nv: any, ov: any): void;
43
41
  ngAfterViewInit(): void;
44
- static ɵfac: i0.ɵɵFactoryDeclaration<AccordionPaneComponent, [null, null, { optional: true; }]>;
42
+ static ɵfac: i0.ɵɵFactoryDeclaration<AccordionPaneComponent, never>;
45
43
  static ɵcmp: i0.ɵɵComponentDeclaration<AccordionPaneComponent, "div[wmAccordionPane]", ["wmAccordionPane"], {}, {}, ["reDrawableComponents"], ["*"], false, never>;
46
44
  }
@@ -1,10 +1,9 @@
1
1
  import { AfterContentInit, Injector, QueryList } from '@angular/core';
2
- import { DynamicComponentRefProvider, StatePersistence, UserDefinedExecutionContext } from '@wm/core';
2
+ import { DynamicComponentRefProvider, StatePersistence } from '@wm/core';
3
3
  import { StylableComponent } from '@wm/components/base';
4
4
  import { AccordionPaneComponent } from './accordion-pane/accordion-pane.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class AccordionDirective extends StylableComponent implements AfterContentInit {
7
- _viewParent: UserDefinedExecutionContext;
8
7
  static initializeProps: void;
9
8
  defaultpaneindex: number;
10
9
  closeothers: boolean;
@@ -19,7 +18,7 @@ export declare class AccordionDirective extends StylableComponent implements Aft
19
18
  private dynamicPanes;
20
19
  fieldDefs: any;
21
20
  panes: QueryList<AccordionPaneComponent>;
22
- constructor(inj: Injector, statePersistence: StatePersistence, dynamicComponentProvider: DynamicComponentRefProvider, _viewParent: UserDefinedExecutionContext);
21
+ constructor(inj: Injector, statePersistence: StatePersistence, dynamicComponentProvider: DynamicComponentRefProvider);
23
22
  /**
24
23
  * AccordionPane children components invoke this method to communicate with the parent
25
24
  * if isExpand is true and when closeothers is true, all the other panes are collapsed
@@ -55,6 +54,6 @@ export declare class AccordionDirective extends StylableComponent implements Aft
55
54
  private onDataChange;
56
55
  onPropertyChange(key: string, nv: any, ov?: any): void;
57
56
  ngAfterContentInit(): void;
58
- static ɵfac: i0.ɵɵFactoryDeclaration<AccordionDirective, [null, null, null, { optional: true; }]>;
57
+ static ɵfac: i0.ɵɵFactoryDeclaration<AccordionDirective, never>;
59
58
  static ɵdir: i0.ɵɵDirectiveDeclaration<AccordionDirective, "div[wmAccordion]", ["wmAccordion"], {}, {}, ["panes"], never, false, never>;
60
59
  }
@@ -2,7 +2,7 @@
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@wm/components/base'), require('@wm/core')) :
3
3
  typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/common', '@wm/components/base', '@wm/core'], factory) :
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.wm = global.wm || {}, global.wm.components = global.wm.components || {}, global.wm.components.containers = global.wm.components.containers || {}, global.wm.components.containers.accordion = {}), global.ng.core, global.ng.common, global.wm.components.base, global.wm.core));
5
- })(this, (function (exports, i0, i3, i4, i1) { 'use strict';
5
+ })(this, (function (exports, i0, i2, i3, i1) { 'use strict';
6
6
 
7
7
  function _interopNamespaceDefault(e) {
8
8
  var n = Object.create(null);
@@ -22,42 +22,42 @@
22
22
  }
23
23
 
24
24
  var i0__namespace = /*#__PURE__*/_interopNamespaceDefault(i0);
25
+ var i2__namespace = /*#__PURE__*/_interopNamespaceDefault(i2);
25
26
  var i3__namespace = /*#__PURE__*/_interopNamespaceDefault(i3);
26
- var i4__namespace = /*#__PURE__*/_interopNamespaceDefault(i4);
27
27
  var i1__namespace = /*#__PURE__*/_interopNamespaceDefault(i1);
28
28
 
29
29
  const registerProps$1 = () => {
30
- i4.register('wm-accordion', new Map([
31
- ['class', i4.PROP_STRING],
32
- ['closeothers', Object.assign({ value: true }, i4.PROP_BOOLEAN)],
33
- ['dataset', i4.PROP_ANY],
34
- ['defaultpaneindex', Object.assign({ value: 0 }, i4.PROP_NUMBER)],
35
- ['name', i4.PROP_STRING],
36
- ['nodatamessage', Object.assign({ value: 'No Data Found' }, i4.PROP_STRING)],
37
- ['show', Object.assign({ value: true }, i4.PROP_BOOLEAN)],
38
- ['statehandler', Object.assign({ value: 'none' }, i4.PROP_STRING)],
39
- ['tabindex', Object.assign({ value: 0 }, i4.PROP_NUMBER)],
40
- ['type', i4.PROP_STRING]
30
+ i3.register('wm-accordion', new Map([
31
+ ['class', i3.PROP_STRING],
32
+ ['closeothers', Object.assign({ value: true }, i3.PROP_BOOLEAN)],
33
+ ['dataset', i3.PROP_ANY],
34
+ ['defaultpaneindex', Object.assign({ value: 0 }, i3.PROP_NUMBER)],
35
+ ['name', i3.PROP_STRING],
36
+ ['nodatamessage', Object.assign({ value: 'No Data Found' }, i3.PROP_STRING)],
37
+ ['show', Object.assign({ value: true }, i3.PROP_BOOLEAN)],
38
+ ['statehandler', Object.assign({ value: 'none' }, i3.PROP_STRING)],
39
+ ['tabindex', Object.assign({ value: 0 }, i3.PROP_NUMBER)],
40
+ ['type', i3.PROP_STRING]
41
41
  ]));
42
42
  };
43
43
 
44
44
  const registerProps = () => {
45
- i4.register('wm-accordionpane', new Map([
46
- ['active', i4.PROP_BOOLEAN],
47
- ['badgetype', Object.assign({ value: 'default' }, i4.PROP_STRING)],
48
- ['badgevalue', i4.PROP_STRING],
49
- ['class', i4.PROP_STRING],
50
- ['content', i4.PROP_STRING],
51
- ['dynamicPaneIndex', i4.PROP_NUMBER],
52
- ['iconclass', i4.PROP_STRING],
53
- ['isdefaultpane', i4.PROP_BOOLEAN],
54
- ['isdynamic', i4.PROP_STRING],
55
- ['name', i4.PROP_STRING],
56
- ['show', Object.assign({ value: true }, i4.PROP_BOOLEAN)],
57
- ['smoothscroll', Object.assign({ value: false }, i4.PROP_BOOLEAN)],
58
- ['subheading', i4.PROP_STRING],
59
- ['tabindex', Object.assign({ value: 0 }, i4.PROP_NUMBER)],
60
- ['title', Object.assign({ value: 'Title' }, i4.PROP_STRING)]
45
+ i3.register('wm-accordionpane', new Map([
46
+ ['active', i3.PROP_BOOLEAN],
47
+ ['badgetype', Object.assign({ value: 'default' }, i3.PROP_STRING)],
48
+ ['badgevalue', i3.PROP_STRING],
49
+ ['class', i3.PROP_STRING],
50
+ ['content', i3.PROP_STRING],
51
+ ['dynamicPaneIndex', i3.PROP_NUMBER],
52
+ ['iconclass', i3.PROP_STRING],
53
+ ['isdefaultpane', i3.PROP_BOOLEAN],
54
+ ['isdynamic', i3.PROP_STRING],
55
+ ['name', i3.PROP_STRING],
56
+ ['show', Object.assign({ value: true }, i3.PROP_BOOLEAN)],
57
+ ['smoothscroll', Object.assign({ value: false }, i3.PROP_BOOLEAN)],
58
+ ['subheading', i3.PROP_STRING],
59
+ ['tabindex', Object.assign({ value: 0 }, i3.PROP_NUMBER)],
60
+ ['title', Object.assign({ value: 'Title' }, i3.PROP_STRING)]
61
61
  ]));
62
62
  };
63
63
 
@@ -66,14 +66,13 @@
66
66
  const _c2 = ["*"];
67
67
  const DEFAULT_CLS$1 = 'app-accordion-panel panel';
68
68
  const WIDGET_CONFIG$1 = { widgetType: 'wm-accordionpane', hostClass: DEFAULT_CLS$1 };
69
- class AccordionPaneComponent extends i4.StylableComponent {
70
- constructor(inj, accordionRef, _viewParent) {
71
- super(inj, WIDGET_CONFIG$1, _viewParent);
69
+ class AccordionPaneComponent extends i3.StylableComponent {
70
+ constructor(inj, accordionRef) {
71
+ super(inj, WIDGET_CONFIG$1);
72
72
  this.accordionRef = accordionRef;
73
- this._viewParent = _viewParent;
74
73
  this.isActive = false;
75
74
  this.$lazyLoad = i1.noop;
76
- i4.styler(this.nativeElement, this, i4.APPLY_STYLES_TYPE.SHELL);
75
+ i3.styler(this.nativeElement, this, i3.APPLY_STYLES_TYPE.SHELL);
77
76
  // title property here serves the purpose of heading.
78
77
  // remove title property as attribute
79
78
  i1.removeAttr(this.nativeElement, 'title');
@@ -151,24 +150,24 @@
151
150
  }
152
151
  ngAfterViewInit() {
153
152
  super.ngAfterViewInit();
154
- i4.styler(this.nativeElement.querySelector('.panel-body'), this, i4.APPLY_STYLES_TYPE.INNER_SHELL);
153
+ i3.styler(this.nativeElement.querySelector('.panel-body'), this, i3.APPLY_STYLES_TYPE.INNER_SHELL);
155
154
  if (this.isdynamic) {
156
155
  this.accordionRef.registerDynamicPane(this);
157
156
  }
158
157
  }
159
158
  }
160
159
  AccordionPaneComponent.initializeProps = registerProps();
161
- AccordionPaneComponent.ɵfac = function AccordionPaneComponent_Factory(t) { return new (t || AccordionPaneComponent)(i0__namespace.ɵɵdirectiveInject(i0__namespace.Injector), i0__namespace.ɵɵdirectiveInject(AccordionDirective), i0__namespace.ɵɵdirectiveInject(i1__namespace.UserDefinedExecutionContext, 8)); };
160
+ AccordionPaneComponent.ɵfac = function AccordionPaneComponent_Factory(t) { return new (t || AccordionPaneComponent)(i0__namespace.ɵɵdirectiveInject(i0__namespace.Injector), i0__namespace.ɵɵdirectiveInject(AccordionDirective)); };
162
161
  AccordionPaneComponent.ɵcmp = /*@__PURE__*/ i0__namespace.ɵɵdefineComponent({ type: AccordionPaneComponent, selectors: [["div", "wmAccordionPane", ""]], contentQueries: function AccordionPaneComponent_ContentQueries(rf, ctx, dirIndex) {
163
162
  if (rf & 1) {
164
- i0__namespace.ɵɵcontentQuery(dirIndex, i4.RedrawableDirective, 5);
163
+ i0__namespace.ɵɵcontentQuery(dirIndex, i3.RedrawableDirective, 5);
165
164
  }
166
165
  if (rf & 2) {
167
166
  let _t;
168
167
  i0__namespace.ɵɵqueryRefresh(_t = i0__namespace.ɵɵloadQuery()) && (ctx.reDrawableComponents = _t);
169
168
  }
170
169
  }, exportAs: ["wmAccordionPane"], features: [i0__namespace.ɵɵProvidersFeature([
171
- i4.provideAsWidgetRef(AccordionPaneComponent)
170
+ i3.provideAsWidgetRef(AccordionPaneComponent)
172
171
  ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c0, ngContentSelectors: _c2, decls: 16, vars: 21, consts: [[1, "panel-heading", "clearfix", 3, "ngClass", "click"], [1, "panel-title"], ["href", "javascript:void(0);", "role", "button", 1, "accordion-toggle"], [1, "pull-left"], [3, "hidden"], [1, "heading", 3, "innerHTML"], [1, "description", 3, "innerHTML"], [1, "panel-actions"], ["type", "button", "aria-label", "Collapse/Expand", 1, "app-icon", "panel-action", "wi", 3, "title"], [3, "ngClass"], ["role", "tabpanel", "aria-labelledby", "panel description", 1, "panel-collapse", "collapse", 3, "ngClass"], ["partial-container-target", "", 1, "panel-body", 3, "wmSmoothscroll"]], template: function AccordionPaneComponent_Template(rf, ctx) {
173
172
  if (rf & 1) {
174
173
  i0__namespace.ɵɵprojectionDef();
@@ -215,20 +214,16 @@
215
214
  i0__namespace.ɵɵadvance(1);
216
215
  i0__namespace.ɵɵproperty("wmSmoothscroll", ctx.smoothscroll);
217
216
  }
218
- }, dependencies: [i3__namespace.NgClass, i4__namespace.SmoothScrollDirective], encapsulation: 2 });
217
+ }, dependencies: [i2__namespace.NgClass, i3__namespace.SmoothScrollDirective], encapsulation: 2 });
219
218
  (function () {
220
219
  (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(AccordionPaneComponent, [{
221
220
  type: i0.Component,
222
221
  args: [{ selector: 'div[wmAccordionPane]', providers: [
223
- i4.provideAsWidgetRef(AccordionPaneComponent)
222
+ i3.provideAsWidgetRef(AccordionPaneComponent)
224
223
  ], exportAs: 'wmAccordionPane', template: "<div class=\"panel-heading clearfix\" (click)=\"toggle($event)\" [ngClass]=\"{active: isActive}\">\n <h3 class=\"panel-title\">\n <a href=\"javascript:void(0);\" role=\"button\" class=\"accordion-toggle\" [attr.aria-label]=\"title\" [attr.aria-expanded]=\"isActive\">\n <div class=\"pull-left\">\n <i class=\"app-icon panel-icon {{iconclass}}\" [hidden]=\"!iconclass\"></i>\n </div>\n <div class=\"pull-left\">\n <div class=\"heading\" [innerHTML]=\"title\"></div>\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n </div>\n </a>\n </h3>\n <div class=\"panel-actions\">\n <span class=\"label label-{{badgetype}}\">{{badgevalue}}</span>\n <button type=\"button\" aria-label=\"Collapse/Expand\" [attr.aria-expanded]=\"isActive\"\n class=\"app-icon panel-action wi\"\n title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\">\n <i [ngClass]=\"isActive ? 'wi-minus' : 'wi-plus'\"></i>\n </button>\n </div>\n</div>\n<div class=\"panel-collapse collapse\" role=\"tabpanel\" aria-labelledby=\"panel description\" [ngClass]=\"isActive ? 'collapse in' : 'collapse'\">\n <div class=\"panel-body\" [wmSmoothscroll]=\"smoothscroll\" partial-container-target>\n <ng-content></ng-content>\n </div>\n</div>\n" }]
225
- }], function () {
226
- return [{ type: i0__namespace.Injector }, { type: AccordionDirective }, { type: i1__namespace.UserDefinedExecutionContext, decorators: [{
227
- type: i0.Optional
228
- }] }];
229
- }, { reDrawableComponents: [{
224
+ }], function () { return [{ type: i0__namespace.Injector }, { type: AccordionDirective }]; }, { reDrawableComponents: [{
230
225
  type: i0.ContentChildren,
231
- args: [i4.RedrawableDirective, { descendants: true }]
226
+ args: [i3.RedrawableDirective, { descendants: true }]
232
227
  }] });
233
228
  })();
234
229
 
@@ -237,17 +232,16 @@
237
232
  widgetType: 'wm-accordion',
238
233
  hostClass: DEFAULT_CLS
239
234
  };
240
- class AccordionDirective extends i4.StylableComponent {
241
- constructor(inj, statePersistence, dynamicComponentProvider, _viewParent) {
235
+ class AccordionDirective extends i3.StylableComponent {
236
+ constructor(inj, statePersistence, dynamicComponentProvider) {
242
237
  let resolveFn = i1.noop;
243
- super(inj, WIDGET_CONFIG, _viewParent, new Promise(res => resolveFn = res));
244
- this._viewParent = _viewParent;
238
+ super(inj, WIDGET_CONFIG, new Promise(res => resolveFn = res));
245
239
  this.promiseResolverFn = resolveFn;
246
240
  this.statePersistence = statePersistence;
247
241
  this.dynamicComponentProvider = dynamicComponentProvider;
248
242
  this.dynamicPanes = [];
249
243
  this.dynamicPaneIndex = 0;
250
- i4.styler(this.nativeElement, this, i4.APPLY_STYLES_TYPE.SCROLLABLE_CONTAINER);
244
+ i3.styler(this.nativeElement, this, i3.APPLY_STYLES_TYPE.SCROLLABLE_CONTAINER);
251
245
  }
252
246
  /**
253
247
  * AccordionPane children components invoke this method to communicate with the parent
@@ -393,7 +387,7 @@
393
387
  this.panes.toArray()[index].expand();
394
388
  }
395
389
  onDataChange(newVal) {
396
- this.fieldDefs = i4.createArrayFrom(newVal);
390
+ this.fieldDefs = i3.createArrayFrom(newVal);
397
391
  }
398
392
  onPropertyChange(key, nv, ov) {
399
393
  if (key === 'defaultpaneindex') {
@@ -439,7 +433,7 @@
439
433
  }
440
434
  }
441
435
  AccordionDirective.initializeProps = registerProps$1();
442
- AccordionDirective.ɵfac = function AccordionDirective_Factory(t) { return new (t || AccordionDirective)(i0__namespace.ɵɵdirectiveInject(i0__namespace.Injector), i0__namespace.ɵɵdirectiveInject(i1__namespace.StatePersistence), i0__namespace.ɵɵdirectiveInject(i1__namespace.DynamicComponentRefProvider), i0__namespace.ɵɵdirectiveInject(i1__namespace.UserDefinedExecutionContext, 8)); };
436
+ AccordionDirective.ɵfac = function AccordionDirective_Factory(t) { return new (t || AccordionDirective)(i0__namespace.ɵɵdirectiveInject(i0__namespace.Injector), i0__namespace.ɵɵdirectiveInject(i1__namespace.StatePersistence), i0__namespace.ɵɵdirectiveInject(i1__namespace.DynamicComponentRefProvider)); };
443
437
  AccordionDirective.ɵdir = /*@__PURE__*/ i0__namespace.ɵɵdefineDirective({ type: AccordionDirective, selectors: [["div", "wmAccordion", ""]], contentQueries: function AccordionDirective_ContentQueries(rf, ctx, dirIndex) {
444
438
  if (rf & 1) {
445
439
  i0__namespace.ɵɵcontentQuery(dirIndex, AccordionPaneComponent, 4);
@@ -449,7 +443,7 @@
449
443
  i0__namespace.ɵɵqueryRefresh(_t = i0__namespace.ɵɵloadQuery()) && (ctx.panes = _t);
450
444
  }
451
445
  }, exportAs: ["wmAccordion"], features: [i0__namespace.ɵɵProvidersFeature([
452
- i4.provideAsWidgetRef(AccordionDirective)
446
+ i3.provideAsWidgetRef(AccordionDirective)
453
447
  ]), i0__namespace.ɵɵInheritDefinitionFeature] });
454
448
  (function () {
455
449
  (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(AccordionDirective, [{
@@ -458,14 +452,10 @@
458
452
  selector: 'div[wmAccordion]',
459
453
  exportAs: 'wmAccordion',
460
454
  providers: [
461
- i4.provideAsWidgetRef(AccordionDirective)
455
+ i3.provideAsWidgetRef(AccordionDirective)
462
456
  ]
463
457
  }]
464
- }], function () {
465
- return [{ type: i0__namespace.Injector }, { type: i1__namespace.StatePersistence }, { type: i1__namespace.DynamicComponentRefProvider }, { type: i1__namespace.UserDefinedExecutionContext, decorators: [{
466
- type: i0.Optional
467
- }] }];
468
- }, { panes: [{
458
+ }], function () { return [{ type: i0__namespace.Injector }, { type: i1__namespace.StatePersistence }, { type: i1__namespace.DynamicComponentRefProvider }]; }, { panes: [{
469
459
  type: i0.ContentChildren,
470
460
  args: [AccordionPaneComponent]
471
461
  }] });
@@ -479,15 +469,15 @@
479
469
  }
480
470
  AccordionModule.ɵfac = function AccordionModule_Factory(t) { return new (t || AccordionModule)(); };
481
471
  AccordionModule.ɵmod = /*@__PURE__*/ i0__namespace.ɵɵdefineNgModule({ type: AccordionModule });
482
- AccordionModule.ɵinj = /*@__PURE__*/ i0__namespace.ɵɵdefineInjector({ imports: [i3.CommonModule,
483
- i4.WmComponentsModule] });
472
+ AccordionModule.ɵinj = /*@__PURE__*/ i0__namespace.ɵɵdefineInjector({ imports: [i2.CommonModule,
473
+ i3.WmComponentsModule] });
484
474
  (function () {
485
475
  (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(AccordionModule, [{
486
476
  type: i0.NgModule,
487
477
  args: [{
488
478
  imports: [
489
- i3.CommonModule,
490
- i4.WmComponentsModule
479
+ i2.CommonModule,
480
+ i3.WmComponentsModule
491
481
  ],
492
482
  declarations: [...components],
493
483
  exports: [...components]
@@ -496,8 +486,8 @@
496
486
  })();
497
487
  (function () {
498
488
  (typeof ngJitMode === "undefined" || ngJitMode) && i0__namespace.ɵɵsetNgModuleScope(AccordionModule, { declarations: [AccordionPaneComponent,
499
- AccordionDirective], imports: [i3.CommonModule,
500
- i4.WmComponentsModule], exports: [AccordionPaneComponent,
489
+ AccordionDirective], imports: [i2.CommonModule,
490
+ i3.WmComponentsModule], exports: [AccordionPaneComponent,
501
491
  AccordionDirective] });
502
492
  })();
503
493
 
@@ -1,23 +1,21 @@
1
- import { Component, ContentChildren, Injector, Optional } from '@angular/core';
2
- import { noop, removeAttr, UserDefinedExecutionContext } from '@wm/core';
1
+ import { Component, ContentChildren, Injector } from '@angular/core';
2
+ import { noop, removeAttr } from '@wm/core';
3
3
  import { APPLY_STYLES_TYPE, provideAsWidgetRef, RedrawableDirective, StylableComponent, styler, } from '@wm/components/base';
4
4
  import { registerProps } from './accordion-pane.props';
5
5
  import { AccordionDirective } from '../accordion.directive';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "../accordion.directive";
8
- import * as i2 from "@wm/core";
9
- import * as i3 from "@angular/common";
10
- import * as i4 from "@wm/components/base";
8
+ import * as i2 from "@angular/common";
9
+ import * as i3 from "@wm/components/base";
11
10
  const _c0 = ["wmAccordionPane", ""];
12
11
  const _c1 = function (a0) { return { active: a0 }; };
13
12
  const _c2 = ["*"];
14
13
  const DEFAULT_CLS = 'app-accordion-panel panel';
15
14
  const WIDGET_CONFIG = { widgetType: 'wm-accordionpane', hostClass: DEFAULT_CLS };
16
15
  export class AccordionPaneComponent extends StylableComponent {
17
- constructor(inj, accordionRef, _viewParent) {
18
- super(inj, WIDGET_CONFIG, _viewParent);
16
+ constructor(inj, accordionRef) {
17
+ super(inj, WIDGET_CONFIG);
19
18
  this.accordionRef = accordionRef;
20
- this._viewParent = _viewParent;
21
19
  this.isActive = false;
22
20
  this.$lazyLoad = noop;
23
21
  styler(this.nativeElement, this, APPLY_STYLES_TYPE.SHELL);
@@ -105,7 +103,7 @@ export class AccordionPaneComponent extends StylableComponent {
105
103
  }
106
104
  }
107
105
  AccordionPaneComponent.initializeProps = registerProps();
108
- AccordionPaneComponent.ɵfac = function AccordionPaneComponent_Factory(t) { return new (t || AccordionPaneComponent)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i1.AccordionDirective), i0.ɵɵdirectiveInject(i2.UserDefinedExecutionContext, 8)); };
106
+ AccordionPaneComponent.ɵfac = function AccordionPaneComponent_Factory(t) { return new (t || AccordionPaneComponent)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i1.AccordionDirective)); };
109
107
  AccordionPaneComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AccordionPaneComponent, selectors: [["div", "wmAccordionPane", ""]], contentQueries: function AccordionPaneComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
110
108
  i0.ɵɵcontentQuery(dirIndex, RedrawableDirective, 5);
111
109
  } if (rf & 2) {
@@ -156,16 +154,14 @@ AccordionPaneComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Acco
156
154
  i0.ɵɵproperty("ngClass", ctx.isActive ? "collapse in" : "collapse");
157
155
  i0.ɵɵadvance(1);
158
156
  i0.ɵɵproperty("wmSmoothscroll", ctx.smoothscroll);
159
- } }, dependencies: [i3.NgClass, i4.SmoothScrollDirective], encapsulation: 2 });
157
+ } }, dependencies: [i2.NgClass, i3.SmoothScrollDirective], encapsulation: 2 });
160
158
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AccordionPaneComponent, [{
161
159
  type: Component,
162
160
  args: [{ selector: 'div[wmAccordionPane]', providers: [
163
161
  provideAsWidgetRef(AccordionPaneComponent)
164
162
  ], exportAs: 'wmAccordionPane', template: "<div class=\"panel-heading clearfix\" (click)=\"toggle($event)\" [ngClass]=\"{active: isActive}\">\n <h3 class=\"panel-title\">\n <a href=\"javascript:void(0);\" role=\"button\" class=\"accordion-toggle\" [attr.aria-label]=\"title\" [attr.aria-expanded]=\"isActive\">\n <div class=\"pull-left\">\n <i class=\"app-icon panel-icon {{iconclass}}\" [hidden]=\"!iconclass\"></i>\n </div>\n <div class=\"pull-left\">\n <div class=\"heading\" [innerHTML]=\"title\"></div>\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n </div>\n </a>\n </h3>\n <div class=\"panel-actions\">\n <span class=\"label label-{{badgetype}}\">{{badgevalue}}</span>\n <button type=\"button\" aria-label=\"Collapse/Expand\" [attr.aria-expanded]=\"isActive\"\n class=\"app-icon panel-action wi\"\n title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\">\n <i [ngClass]=\"isActive ? 'wi-minus' : 'wi-plus'\"></i>\n </button>\n </div>\n</div>\n<div class=\"panel-collapse collapse\" role=\"tabpanel\" aria-labelledby=\"panel description\" [ngClass]=\"isActive ? 'collapse in' : 'collapse'\">\n <div class=\"panel-body\" [wmSmoothscroll]=\"smoothscroll\" partial-container-target>\n <ng-content></ng-content>\n </div>\n</div>\n" }]
165
- }], function () { return [{ type: i0.Injector }, { type: i1.AccordionDirective }, { type: i2.UserDefinedExecutionContext, decorators: [{
166
- type: Optional
167
- }] }]; }, { reDrawableComponents: [{
163
+ }], function () { return [{ type: i0.Injector }, { type: i1.AccordionDirective }]; }, { reDrawableComponents: [{
168
164
  type: ContentChildren,
169
165
  args: [RedrawableDirective, { descendants: true }]
170
166
  }] }); })();
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLXBhbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2NvbnRhaW5lcnMvYWNjb3JkaW9uL3NyYy9hY2NvcmRpb24tcGFuZS9hY2NvcmRpb24tcGFuZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvY29udGFpbmVycy9hY2NvcmRpb24vc3JjL2FjY29yZGlvbi1wYW5lL2FjY29yZGlvbi1wYW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTVGLE9BQU8sRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLDJCQUEyQixFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBaUIsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxHQUFJLE1BQU0scUJBQXFCLENBQUM7QUFFN0ksT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7QUFFNUQsTUFBTSxXQUFXLEdBQUcsMkJBQTJCLENBQUM7QUFDaEQsTUFBTSxhQUFhLEdBQWtCLEVBQUMsVUFBVSxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUMsQ0FBQztBQVU5RixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsaUJBQWlCO0lBa0J6RCxZQUFZLEdBQWEsRUFBVSxZQUFnQyxFQUFxQixXQUF3QztRQUM1SCxLQUFLLENBQUMsR0FBRyxFQUFFLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQztRQURSLGlCQUFZ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LHVCQUF1RTtRQUMzRSxpQkFBTTtRQUNOLDhCQUF1QjtRQUNuQix5QkFBK0MsYUFBQTtRQUVuRCxpQkFBTSxFQUFBLEVBQUE7UUFHZCw4QkFBMkIsV0FBQTtRQUNpQixhQUFjO1FBQUEsaUJBQU87UUFDN0Qsa0NBRXdFO1FBQ3BFLHdCQUFxRDtRQUN6RCxpQkFBUyxFQUFBLEVBQUE7UUFHakIsZ0NBQTJJLGVBQUE7UUFFbkksbUJBQXlCO1FBQzdCLGlCQUFNLEVBQUE7O1FBeEJtRCxtRUFBOEI7UUFFZCxlQUF5QjtRQUF6Qix1Q0FBeUIsK0JBQUE7UUFFbkYsZUFBeUM7UUFBekMsb0VBQXlDO1FBQUMsdUNBQXFCO1FBRzdDLGVBQW1CO1FBQW5CLHdEQUFtQjtRQUNmLGVBQXdCO1FBQXhCLDZEQUF3QjtRQUtuRCxlQUFpQztRQUFqQyw0REFBaUM7UUFBQyxlQUFjO1FBQWQsb0NBQWM7UUFHOUMsZUFBK0Q7UUFBL0QseUdBQStEO1FBRnBCLDZDQUErQjtRQUczRSxlQUE2QztRQUE3QywrREFBNkM7UUFJNkIsZUFBaUQ7UUFBakQsbUVBQWlEO1FBQzlHLGVBQStCO1FBQS9CLGlEQUErQjs7dUZESDlDLHNCQUFzQjtjQVJsQyxTQUFTOzJCQUNJLHNCQUFzQixhQUVyQjtvQkFDUCxrQkFBa0Isd0JBQXdCO2lCQUM3QyxZQUNTLGlCQUFpQjs7c0JBb0IyQyxRQUFRO3dCQUZuQixvQkFBb0I7a0JBQTlFLGVBQWU7bUJBQUMsbUJBQW1CLEVBQUUsRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgSW5qZWN0b3IsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtub29wLCByZW1vdmVBdHRyLCBVc2VyRGVmaW5lZEV4ZWN1dGlvbkNvbnRleHR9IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7IEFQUExZX1NUWUxFU19UWVBFLCBJV2lkZ2V0Q29uZmlnLCBwcm92aWRlQXNXaWRnZXRSZWYsIFJlZHJhd2FibGVEaXJlY3RpdmUsIFN0eWxhYmxlQ29tcG9uZW50LCBzdHlsZXIsICB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuXG5pbXBvcnQgeyByZWdpc3RlclByb3BzIH0gZnJvbSAnLi9hY2NvcmRpb24tcGFuZS5wcm9wcyc7XG5pbXBvcnQgeyBBY2NvcmRpb25EaXJlY3RpdmUgfSBmcm9tICcuLi9hY2NvcmRpb24uZGlyZWN0aXZlJztcblxuY29uc3QgREVGQVVMVF9DTFMgPSAnYXBwLWFjY29yZGlvbi1wYW5lbCBwYW5lbCc7XG5jb25zdCBXSURHRVRfQ09ORklHOiBJV2lkZ2V0Q29uZmlnID0ge3dpZGdldFR5cGU6ICd3bS1hY2NvcmRpb25wYW5lJywgaG9zdENsYXNzOiBERUZBVUxUX0NMU307XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZGl2W3dtQWNjb3JkaW9uUGFuZV0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hY2NvcmRpb24tcGFuZS5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHByb3ZpZGVBc1dpZGdldFJlZihBY2NvcmRpb25QYW5lQ29tcG9uZW50KVxuICAgIF0sXG4gICAgZXhwb3J0QXM6ICd3bUFjY29yZGlvblBhbmUnXG59KVxuZXhwb3J0IGNsYXNzIEFjY29yZGlvblBhbmVDb21wb25lbnQgZXh0ZW5kcyBTdHlsYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIHN0YXRpYyBpbml0aWFsaXplUHJvcHMgPSByZWdpc3RlclByb3BzKCk7XG5cbiAgICBwdWJsaWMgaXNBY3RpdmUgPSBmYWxzZTtcbiAgICBwdWJsaWMgaWNvbmNsYXNzOiBzdHJpbmc7XG4gICAgcHVibGljIHRpdGxlOiBhbnk7XG4gICAgcHVibGljIHN1YmhlYWRpbmc6IHN0cmluZztcbiAgICBwdWJsaWMgYmFkZ2V0eXBlOiBhbnk7XG4gICAgcHVibGljIGJhZGdldmFsdWU6IHN0cmluZztcbiAgICBwdWJsaWMgc21vb3Roc2Nyb2xsOiBhbnk7XG4gICAgcHJpdmF0ZSAkbGF6eUxvYWQgPSBub29wO1xuICAgIHByaXZhdGUgaXNkeW5hbWljOiBib29sZWFuO1xuXG4gICAgcHVibGljIG5hbWU6IHN0cmluZztcblxuICAgIC8vIHJlZmVyZW5jZSB0byB0aGUgY29tcG9uZW50cyB3aGljaCBuZWVkcyBhIHJlZHJhdyhlZywgZ3JpZCwgY2hhcnQpIHdoZW4gdGhlIGhlaWdodCBvZiB0aGlzIGNvbXBvbmVudCBjaGFuZ2VzXG4gICAgQENvbnRlbnRDaGlsZHJlbihSZWRyYXdhYmxlRGlyZWN0aXZlLCB7ZGVzY2VuZGFudHM6IHRydWV9KSByZURyYXdhYmxlQ29tcG9uZW50cztcblxuICAgIGNvbnN0cnVjdG9yKGluajogSW5qZWN0b3IsIHByaXZhdGUgYWNjb3JkaW9uUmVmOiBBY2NvcmRpb25EaXJlY3RpdmUsIEBPcHRpb25hbCgpIHB1YmxpYyBfdmlld1BhcmVudDogVXNlckRlZmluZWRFeGVjdXRpb25Db250ZXh0KSB7XG4gICAgICAgIHN1cGVyKGluaiwgV0lER0VUX0NPTkZJRywgX3ZpZXdQYXJlbnQpO1xuXG4gICAgICAgIHN0eWxlcih0aGlzLm5hdGl2ZUVsZW1lbnQsIHRoaXMsIEFQUExZX1NUWUxFU19UWVBFLlNIRUxMKTtcblxuICAgICAgICAvLyB0aXRsZSBwcm9wZXJ0eSBoZXJlIHNlcnZlcyB0aGUgcHVycG9zZSBvZiBoZWFkaW5nLlxuICAgICAgICAvLyByZW1vdmUgdGl0bGUgcHJvcGVydHkgYXMgYXR0cmlidXRlXG4gICAgICAgIHJlbW92ZUF0dHIodGhpcy5uYXRpdmVFbGVtZW50LCAndGl0bGUnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBoYW5kbGVzIHRoZSBwYW5lIGV4cGFuZFxuICAgICAqIGludm9rZSAkbGF6eUxvYWQgbWV0aG9kIHdoaWNoIHRha2VzIGNhcmUgb2YgbG9hZGluZyB0aGUgcGFydGlhbCB3aGVuIHRoZSBjb250ZW50IHByb3BlcnR5IGlzIHByb3ZpZGVkIC0gbGF6eUxvYWRpbmcgb3IgcGFydGlhbFxuICAgICAqIGludm9rZSByZWRyYXcgb24gdGhlIHJlLWRyYXdhYmxlIGNoaWxkcmVuXG4gICAgICogaW52b2tlIGV4cGFuZCBjYWxsYmFja1xuICAgICAqIG5vdGlmeSBwYXJlbnQgYWJvdXQgdGhlIGNoYW5nZVxuICAgICAqIEBwYXJhbSB7RXZlbnR9IGV2dFxuICAgICAqL1xuICAgIHB1YmxpYyBleHBhbmQoZXZ0PzogRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNBY3RpdmUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzQWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy4kbGF6eUxvYWQoKTtcbiAgICAgICAgdGhpcy5yZWRyYXdDaGlsZHJlbigpO1xuICAgICAgICB0aGlzLmludm9rZUV2ZW50Q2FsbGJhY2soJ2V4cGFuZCcsIHskZXZlbnQ6IGV2dH0pO1xuICAgICAgICB0aGlzLm5vdGlmeVBhcmVudCh0cnVlLCBldnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGhhbmRsZXMgdGhlIHBhbmUgY29sbGFwc2VcbiAgICAgKiBpbnZva2UgY29sbGFwc2UgY2FsbGJhY2tcbiAgICAgKiBub3RpZnkgcGFyZW50IGFib3V0IHRoZSBjaGFuZ2VcbiAgICAgKiBAcGFyYW0ge0V2ZW50fSBldnRcbiAgICAgKi9cbiAgICBwdWJsaWMgY29sbGFwc2UoZXZ0PzogRXZlbnQpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzQWN0aXZlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc0FjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmludm9rZUV2ZW50Q2FsbGJhY2soJ2NvbGxhcHNlJywgeyRldmVudDogZXZ0fSk7XG4gICAgICAgIHRoaXMubm90aWZ5UGFyZW50KGZhbHNlLCBldnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmUoKSB7XG4gICAgICAgIGNvbnN0IHBhbmVJbmRleCA9ICh0aGlzIGFzIGFueSkuYWNjb3JkaW9uUmVmLmdldFBhbmVJbmRleEJ5UmVmKHRoaXMpO1xuICAgICAgICBpZiAodGhpcy5pc0FjdGl2ZSAmJiB0aGlzLmFjY29yZGlvblJlZi5wYW5lcy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICB0aGlzID09PSB0aGlzLmFjY29yZGlvblJlZi5wYW5lcy5sYXN0ID8gdGhpcy5hY2NvcmRpb25SZWYucGFuZXMudG9BcnJheSgpW3BhbmVJbmRleCAtIDFdLmV4cGFuZCgpIDogdGhpcy5hY2NvcmRpb25SZWYucGFuZXMudG9BcnJheSgpW3BhbmVJbmRleCArIDFdLmV4cGFuZCgpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGF2YWlsYWJsZVBhbmVzID0gdGhpcy5hY2NvcmRpb25SZWYucGFuZXMudG9BcnJheSgpO1xuICAgICAgICBhdmFpbGFibGVQYW5lcy5zcGxpY2UoKHRoaXMgYXMgYW55KS5hY2NvcmRpb25SZWYuZ2V0UGFuZUluZGV4QnlSZWYodGhpcyksIDEpO1xuICAgICAgICB0aGlzLmFjY29yZGlvblJlZi5wYW5lcy5yZXNldChbLi4uYXZhaWxhYmxlUGFuZXNdKTtcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnJlbW92ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b2dnbGUoZXZ0OiBFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5pc0FjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy5jb2xsYXBzZShldnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5leHBhbmQoZXZ0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRvZG8gLSBWaW5heSBleHRlcm5hbGl6ZVxuICAgIHByaXZhdGUgcmVkcmF3Q2hpbGRyZW4oKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucmVEcmF3YWJsZUNvbXBvbmVudHMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlRHJhd2FibGVDb21wb25lbnRzLmZvckVhY2goYyA9PiBjLnJlZHJhdygpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgMTAwKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG5vdGlmeVBhcmVudChpc0V4cGFuZDogYm9vbGVhbiwgZXZ0OiBFdmVudCkge1xuICAgICAgICB0aGlzLmFjY29yZGlvblJlZi5ub3RpZnlDaGFuZ2UodGhpcywgaXNFeHBhbmQsIGV2dCk7XG4gICAgfVxuXG4gICAgb25Qcm9wZXJ0eUNoYW5nZShrZXksIG52LCBvdikge1xuICAgICAgICBpZiAoa2V5ID09PSAnY29udGVudCcpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLiRsYXp5TG9hZCgpLCAxMDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3VwZXIub25Qcm9wZXJ0eUNoYW5nZShrZXksIG52LCBvdik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgICAgICBzdHlsZXIoXG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnBhbmVsLWJvZHknKSBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgICBBUFBMWV9TVFlMRVNfVFlQRS5JTk5FUl9TSEVMTFxuICAgICAgICApO1xuICAgICAgICBpZiAodGhpcy5pc2R5bmFtaWMpIHtcbiAgICAgICAgICAgIHRoaXMuYWNjb3JkaW9uUmVmLnJlZ2lzdGVyRHluYW1pY1BhbmUodGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicGFuZWwtaGVhZGluZyBjbGVhcmZpeFwiIChjbGljayk9XCJ0b2dnbGUoJGV2ZW50KVwiIFtuZ0NsYXNzXT1cInthY3RpdmU6IGlzQWN0aXZlfVwiPlxuICAgIDxoMyBjbGFzcz1cInBhbmVsLXRpdGxlXCI+XG4gICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMCk7XCIgcm9sZT1cImJ1dHRvblwiIGNsYXNzPVwiYWNjb3JkaW9uLXRvZ2dsZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwidGl0bGVcIiBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImlzQWN0aXZlXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHVsbC1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJhcHAtaWNvbiBwYW5lbC1pY29uIHt7aWNvbmNsYXNzfX1cIiBbaGlkZGVuXT1cIiFpY29uY2xhc3NcIj48L2k+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwdWxsLWxlZnRcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZ1wiIFtpbm5lckhUTUxdPVwidGl0bGVcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb25cIiBbaW5uZXJIVE1MXT1cInN1YmhlYWRpbmdcIj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2E+XG4gICAgPC9oMz5cbiAgICA8ZGl2IGNsYXNzPVwicGFuZWwtYWN0aW9uc1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsIGxhYmVsLXt7YmFkZ2V0eXBlfX1cIj57e2JhZGdldmFsdWV9fTwvc3Bhbj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgYXJpYS1sYWJlbD1cIkNvbGxhcHNlL0V4cGFuZFwiIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXNBY3RpdmVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYXBwLWljb24gcGFuZWwtYWN0aW9uIHdpXCJcbiAgICAgICAgICAgICAgICB0aXRsZT1cInt7YXBwTG9jYWxlLkxBQkVMX0NPTExBUFNFfX0ve3thcHBMb2NhbGUuTEFCRUxfRVhQQU5EfX1cIj5cbiAgICAgICAgICAgIDxpIFtuZ0NsYXNzXT1cImlzQWN0aXZlID8gJ3dpLW1pbnVzJyA6ICd3aS1wbHVzJ1wiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJwYW5lbC1jb2xsYXBzZSBjb2xsYXBzZVwiIHJvbGU9XCJ0YWJwYW5lbFwiIGFyaWEtbGFiZWxsZWRieT1cInBhbmVsIGRlc2NyaXB0aW9uXCIgW25nQ2xhc3NdPVwiaXNBY3RpdmUgPyAnY29sbGFwc2UgaW4nIDogJ2NvbGxhcHNlJ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJwYW5lbC1ib2R5XCIgW3dtU21vb3Roc2Nyb2xsXT1cInNtb290aHNjcm9sbFwiIHBhcnRpYWwtY29udGFpbmVyLXRhcmdldD5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLXBhbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2NvbnRhaW5lcnMvYWNjb3JkaW9uL3NyYy9hY2NvcmRpb24tcGFuZS9hY2NvcmRpb24tcGFuZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvY29udGFpbmVycy9hY2NvcmRpb24vc3JjL2FjY29yZGlvbi1wYW5lL2FjY29yZGlvbi1wYW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQVcsTUFBTSxlQUFlLENBQUM7QUFFNUYsT0FBTyxFQUFDLElBQUksRUFBRSxVQUFVLEVBQThCLE1BQU0sVUFBVSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBaUIsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxHQUFJLE1BQU0scUJBQXFCLENBQUM7QUFFN0ksT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7OztBQUU1RCxNQUFNLFdBQVcsR0FBRywyQkFBMkIsQ0FBQztBQUNoRCxNQUFNLGFBQWEsR0FBa0IsRUFBQyxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBQyxDQUFDO0FBVTlGLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxpQkFBaUI7SUFrQnpELFlBQVksR0FBYSxFQUFVLFlBQWdDO1FBQy9ELEtBQUssQ0FBQyxHQUFHLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFESyxpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUFmNUQsYUFBUSxHQUFHLEtBQUssQ0FBQztR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UUFHZCw4QkFBMkIsV0FBQTtRQUNpQixhQUFjO1FBQUEsaUJBQU87UUFDN0Qsa0NBRXdFO1FBQ3BFLHdCQUFxRDtRQUN6RCxpQkFBUyxFQUFBLEVBQUE7UUFHakIsZ0NBQTJJLGVBQUE7UUFFbkksbUJBQXlCO1FBQzdCLGlCQUFNLEVBQUE7O1FBeEJtRCxtRUFBOEI7UUFFZCxlQUF5QjtRQUF6Qix1Q0FBeUIsK0JBQUE7UUFFbkYsZUFBeUM7UUFBekMsb0VBQXlDO1FBQUMsdUNBQXFCO1FBRzdDLGVBQW1CO1FBQW5CLHdEQUFtQjtRQUNmLGVBQXdCO1FBQXhCLDZEQUF3QjtRQUtuRCxlQUFpQztRQUFqQyw0REFBaUM7UUFBQyxlQUFjO1FBQWQsb0NBQWM7UUFHOUMsZUFBK0Q7UUFBL0QseUdBQStEO1FBRnBCLDZDQUErQjtRQUczRSxlQUE2QztRQUE3QywrREFBNkM7UUFJNkIsZUFBaUQ7UUFBakQsbUVBQWlEO1FBQzlHLGVBQStCO1FBQS9CLGlEQUErQjs7dUZESDlDLHNCQUFzQjtjQVJsQyxTQUFTOzJCQUNJLHNCQUFzQixhQUVyQjtvQkFDUCxrQkFBa0Isd0JBQXdCO2lCQUM3QyxZQUNTLGlCQUFpQjs0RkFrQmdDLG9CQUFvQjtrQkFBOUUsZUFBZTttQkFBQyxtQkFBbUIsRUFBRSxFQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBJbmplY3RvciwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge25vb3AsIHJlbW92ZUF0dHIsIFVzZXJEZWZpbmVkRXhlY3V0aW9uQ29udGV4dH0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgQVBQTFlfU1RZTEVTX1RZUEUsIElXaWRnZXRDb25maWcsIHByb3ZpZGVBc1dpZGdldFJlZiwgUmVkcmF3YWJsZURpcmVjdGl2ZSwgU3R5bGFibGVDb21wb25lbnQsIHN0eWxlciwgIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5cbmltcG9ydCB7IHJlZ2lzdGVyUHJvcHMgfSBmcm9tICcuL2FjY29yZGlvbi1wYW5lLnByb3BzJztcbmltcG9ydCB7IEFjY29yZGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uL2FjY29yZGlvbi5kaXJlY3RpdmUnO1xuXG5jb25zdCBERUZBVUxUX0NMUyA9ICdhcHAtYWNjb3JkaW9uLXBhbmVsIHBhbmVsJztcbmNvbnN0IFdJREdFVF9DT05GSUc6IElXaWRnZXRDb25maWcgPSB7d2lkZ2V0VHlwZTogJ3dtLWFjY29yZGlvbnBhbmUnLCBob3N0Q2xhc3M6IERFRkFVTFRfQ0xTfTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkaXZbd21BY2NvcmRpb25QYW5lXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FjY29yZGlvbi1wYW5lLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzV2lkZ2V0UmVmKEFjY29yZGlvblBhbmVDb21wb25lbnQpXG4gICAgXSxcbiAgICBleHBvcnRBczogJ3dtQWNjb3JkaW9uUGFuZSdcbn0pXG5leHBvcnQgY2xhc3MgQWNjb3JkaW9uUGFuZUNvbXBvbmVudCBleHRlbmRzIFN0eWxhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgc3RhdGljIGluaXRpYWxpemVQcm9wcyA9IHJlZ2lzdGVyUHJvcHMoKTtcblxuICAgIHB1YmxpYyBpc0FjdGl2ZSA9IGZhbHNlO1xuICAgIHB1YmxpYyBpY29uY2xhc3M6IHN0cmluZztcbiAgICBwdWJsaWMgdGl0bGU6IGFueTtcbiAgICBwdWJsaWMgc3ViaGVhZGluZzogc3RyaW5nO1xuICAgIHB1YmxpYyBiYWRnZXR5cGU6IGFueTtcbiAgICBwdWJsaWMgYmFkZ2V2YWx1ZTogc3RyaW5nO1xuICAgIHB1YmxpYyBzbW9vdGhzY3JvbGw6IGFueTtcbiAgICBwcml2YXRlICRsYXp5TG9hZCA9IG5vb3A7XG4gICAgcHJpdmF0ZSBpc2R5bmFtaWM6IGJvb2xlYW47XG5cbiAgICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuXG4gICAgLy8gcmVmZXJlbmNlIHRvIHRoZSBjb21wb25lbnRzIHdoaWNoIG5lZWRzIGEgcmVkcmF3KGVnLCBncmlkLCBjaGFydCkgd2hlbiB0aGUgaGVpZ2h0IG9mIHRoaXMgY29tcG9uZW50IGNoYW5nZXNcbiAgICBAQ29udGVudENoaWxkcmVuKFJlZHJhd2FibGVEaXJlY3RpdmUsIHtkZXNjZW5kYW50czogdHJ1ZX0pIHJlRHJhd2FibGVDb21wb25lbnRzO1xuXG4gICAgY29uc3RydWN0b3IoaW5qOiBJbmplY3RvciwgcHJpdmF0ZSBhY2NvcmRpb25SZWY6IEFjY29yZGlvbkRpcmVjdGl2ZSkge1xuICAgICAgICBzdXBlcihpbmosIFdJREdFVF9DT05GSUcpO1xuXG4gICAgICAgIHN0eWxlcih0aGlzLm5hdGl2ZUVsZW1lbnQsIHRoaXMsIEFQUExZX1NUWUxFU19UWVBFLlNIRUxMKTtcblxuICAgICAgICAvLyB0aXRsZSBwcm9wZXJ0eSBoZXJlIHNlcnZlcyB0aGUgcHVycG9zZSBvZiBoZWFkaW5nLlxuICAgICAgICAvLyByZW1vdmUgdGl0bGUgcHJvcGVydHkgYXMgYXR0cmlidXRlXG4gICAgICAgIHJlbW92ZUF0dHIodGhpcy5uYXRpdmVFbGVtZW50LCAndGl0bGUnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBoYW5kbGVzIHRoZSBwYW5lIGV4cGFuZFxuICAgICAqIGludm9rZSAkbGF6eUxvYWQgbWV0aG9kIHdoaWNoIHRha2VzIGNhcmUgb2YgbG9hZGluZyB0aGUgcGFydGlhbCB3aGVuIHRoZSBjb250ZW50IHByb3BlcnR5IGlzIHByb3ZpZGVkIC0gbGF6eUxvYWRpbmcgb3IgcGFydGlhbFxuICAgICAqIGludm9rZSByZWRyYXcgb24gdGhlIHJlLWRyYXdhYmxlIGNoaWxkcmVuXG4gICAgICogaW52b2tlIGV4cGFuZCBjYWxsYmFja1xuICAgICAqIG5vdGlmeSBwYXJlbnQgYWJvdXQgdGhlIGNoYW5nZVxuICAgICAqIEBwYXJhbSB7RXZlbnR9IGV2dFxuICAgICAqL1xuICAgIHB1YmxpYyBleHBhbmQoZXZ0PzogRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNBY3RpdmUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzQWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy4kbGF6eUxvYWQoKTtcbiAgICAgICAgdGhpcy5yZWRyYXdDaGlsZHJlbigpO1xuICAgICAgICB0aGlzLmludm9rZUV2ZW50Q2FsbGJhY2soJ2V4cGFuZCcsIHskZXZlbnQ6IGV2dH0pO1xuICAgICAgICB0aGlzLm5vdGlmeVBhcmVudCh0cnVlLCBldnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGhhbmRsZXMgdGhlIHBhbmUgY29sbGFwc2VcbiAgICAgKiBpbnZva2UgY29sbGFwc2UgY2FsbGJhY2tcbiAgICAgKiBub3RpZnkgcGFyZW50IGFib3V0IHRoZSBjaGFuZ2VcbiAgICAgKiBAcGFyYW0ge0V2ZW50fSBldnRcbiAgICAgKi9cbiAgICBwdWJsaWMgY29sbGFwc2UoZXZ0PzogRXZlbnQpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzQWN0aXZlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc0FjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmludm9rZUV2ZW50Q2FsbGJhY2soJ2NvbGxhcHNlJywgeyRldmVudDogZXZ0fSk7XG4gICAgICAgIHRoaXMubm90aWZ5UGFyZW50KGZhbHNlLCBldnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmUoKSB7XG4gICAgICAgIGNvbnN0IHBhbmVJbmRleCA9ICh0aGlzIGFzIGFueSkuYWNjb3JkaW9uUmVmLmdldFBhbmVJbmRleEJ5UmVmKHRoaXMpO1xuICAgICAgICBpZiAodGhpcy5pc0FjdGl2ZSAmJiB0aGlzLmFjY29yZGlvblJlZi5wYW5lcy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICB0aGlzID09PSB0aGlzLmFjY29yZGlvblJlZi5wYW5lcy5sYXN0ID8gdGhpcy5hY2NvcmRpb25SZWYucGFuZXMudG9BcnJheSgpW3BhbmVJbmRleCAtIDFdLmV4cGFuZCgpIDogdGhpcy5hY2NvcmRpb25SZWYucGFuZXMudG9BcnJheSgpW3BhbmVJbmRleCArIDFdLmV4cGFuZCgpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGF2YWlsYWJsZVBhbmVzID0gdGhpcy5hY2NvcmRpb25SZWYucGFuZXMudG9BcnJheSgpO1xuICAgICAgICBhdmFpbGFibGVQYW5lcy5zcGxpY2UoKHRoaXMgYXMgYW55KS5hY2NvcmRpb25SZWYuZ2V0UGFuZUluZGV4QnlSZWYodGhpcyksIDEpO1xuICAgICAgICB0aGlzLmFjY29yZGlvblJlZi5wYW5lcy5yZXNldChbLi4uYXZhaWxhYmxlUGFuZXNdKTtcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnJlbW92ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b2dnbGUoZXZ0OiBFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5pc0FjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy5jb2xsYXBzZShldnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5leHBhbmQoZXZ0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRvZG8gLSBWaW5heSBleHRlcm5hbGl6ZVxuICAgIHByaXZhdGUgcmVkcmF3Q2hpbGRyZW4oKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucmVEcmF3YWJsZUNvbXBvbmVudHMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlRHJhd2FibGVDb21wb25lbnRzLmZvckVhY2goYyA9PiBjLnJlZHJhdygpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgMTAwKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG5vdGlmeVBhcmVudChpc0V4cGFuZDogYm9vbGVhbiwgZXZ0OiBFdmVudCkge1xuICAgICAgICB0aGlzLmFjY29yZGlvblJlZi5ub3RpZnlDaGFuZ2UodGhpcywgaXNFeHBhbmQsIGV2dCk7XG4gICAgfVxuXG4gICAgb25Qcm9wZXJ0eUNoYW5nZShrZXksIG52LCBvdikge1xuICAgICAgICBpZiAoa2V5ID09PSAnY29udGVudCcpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLiRsYXp5TG9hZCgpLCAxMDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3VwZXIub25Qcm9wZXJ0eUNoYW5nZShrZXksIG52LCBvdik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgICAgICBzdHlsZXIoXG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnBhbmVsLWJvZHknKSBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgICBBUFBMWV9TVFlMRVNfVFlQRS5JTk5FUl9TSEVMTFxuICAgICAgICApO1xuICAgICAgICBpZiAodGhpcy5pc2R5bmFtaWMpIHtcbiAgICAgICAgICAgIHRoaXMuYWNjb3JkaW9uUmVmLnJlZ2lzdGVyRHluYW1pY1BhbmUodGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicGFuZWwtaGVhZGluZyBjbGVhcmZpeFwiIChjbGljayk9XCJ0b2dnbGUoJGV2ZW50KVwiIFtuZ0NsYXNzXT1cInthY3RpdmU6IGlzQWN0aXZlfVwiPlxuICAgIDxoMyBjbGFzcz1cInBhbmVsLXRpdGxlXCI+XG4gICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMCk7XCIgcm9sZT1cImJ1dHRvblwiIGNsYXNzPVwiYWNjb3JkaW9uLXRvZ2dsZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwidGl0bGVcIiBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImlzQWN0aXZlXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHVsbC1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJhcHAtaWNvbiBwYW5lbC1pY29uIHt7aWNvbmNsYXNzfX1cIiBbaGlkZGVuXT1cIiFpY29uY2xhc3NcIj48L2k+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwdWxsLWxlZnRcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZ1wiIFtpbm5lckhUTUxdPVwidGl0bGVcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb25cIiBbaW5uZXJIVE1MXT1cInN1YmhlYWRpbmdcIj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2E+XG4gICAgPC9oMz5cbiAgICA8ZGl2IGNsYXNzPVwicGFuZWwtYWN0aW9uc1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsIGxhYmVsLXt7YmFkZ2V0eXBlfX1cIj57e2JhZGdldmFsdWV9fTwvc3Bhbj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgYXJpYS1sYWJlbD1cIkNvbGxhcHNlL0V4cGFuZFwiIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXNBY3RpdmVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYXBwLWljb24gcGFuZWwtYWN0aW9uIHdpXCJcbiAgICAgICAgICAgICAgICB0aXRsZT1cInt7YXBwTG9jYWxlLkxBQkVMX0NPTExBUFNFfX0ve3thcHBMb2NhbGUuTEFCRUxfRVhQQU5EfX1cIj5cbiAgICAgICAgICAgIDxpIFtuZ0NsYXNzXT1cImlzQWN0aXZlID8gJ3dpLW1pbnVzJyA6ICd3aS1wbHVzJ1wiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJwYW5lbC1jb2xsYXBzZSBjb2xsYXBzZVwiIHJvbGU9XCJ0YWJwYW5lbFwiIGFyaWEtbGFiZWxsZWRieT1cInBhbmVsIGRlc2NyaXB0aW9uXCIgW25nQ2xhc3NdPVwiaXNBY3RpdmUgPyAnY29sbGFwc2UgaW4nIDogJ2NvbGxhcHNlJ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJwYW5lbC1ib2R5XCIgW3dtU21vb3Roc2Nyb2xsXT1cInNtb290aHNjcm9sbFwiIHBhcnRpYWwtY29udGFpbmVyLXRhcmdldD5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,5 +1,5 @@
1
- import { ContentChildren, Directive, Injector, Optional, QueryList } from '@angular/core';
2
- import { DynamicComponentRefProvider, isNumber, noop, StatePersistence, UserDefinedExecutionContext } from '@wm/core';
1
+ import { ContentChildren, Directive, Injector, QueryList } from '@angular/core';
2
+ import { DynamicComponentRefProvider, isNumber, noop, StatePersistence } from '@wm/core';
3
3
  import { APPLY_STYLES_TYPE, createArrayFrom, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';
4
4
  import { registerProps } from './accordion.props';
5
5
  import { AccordionPaneComponent } from './accordion-pane/accordion-pane.component';
@@ -11,10 +11,9 @@ const WIDGET_CONFIG = {
11
11
  hostClass: DEFAULT_CLS
12
12
  };
13
13
  export class AccordionDirective extends StylableComponent {
14
- constructor(inj, statePersistence, dynamicComponentProvider, _viewParent) {
14
+ constructor(inj, statePersistence, dynamicComponentProvider) {
15
15
  let resolveFn = noop;
16
- super(inj, WIDGET_CONFIG, _viewParent, new Promise(res => resolveFn = res));
17
- this._viewParent = _viewParent;
16
+ super(inj, WIDGET_CONFIG, new Promise(res => resolveFn = res));
18
17
  this.promiseResolverFn = resolveFn;
19
18
  this.statePersistence = statePersistence;
20
19
  this.dynamicComponentProvider = dynamicComponentProvider;
@@ -212,7 +211,7 @@ export class AccordionDirective extends StylableComponent {
212
211
  }
213
212
  }
214
213
  AccordionDirective.initializeProps = registerProps();
215
- AccordionDirective.ɵfac = function AccordionDirective_Factory(t) { return new (t || AccordionDirective)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i1.StatePersistence), i0.ɵɵdirectiveInject(i1.DynamicComponentRefProvider), i0.ɵɵdirectiveInject(i1.UserDefinedExecutionContext, 8)); };
214
+ AccordionDirective.ɵfac = function AccordionDirective_Factory(t) { return new (t || AccordionDirective)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i1.StatePersistence), i0.ɵɵdirectiveInject(i1.DynamicComponentRefProvider)); };
216
215
  AccordionDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: AccordionDirective, selectors: [["div", "wmAccordion", ""]], contentQueries: function AccordionDirective_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
217
216
  i0.ɵɵcontentQuery(dirIndex, AccordionPaneComponent, 4);
218
217
  } if (rf & 2) {
@@ -230,10 +229,8 @@ AccordionDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: Accordio
230
229
  provideAsWidgetRef(AccordionDirective)
231
230
  ]
232
231
  }]
233
- }], function () { return [{ type: i0.Injector }, { type: i1.StatePersistence }, { type: i1.DynamicComponentRefProvider }, { type: i1.UserDefinedExecutionContext, decorators: [{
234
- type: Optional
235
- }] }]; }, { panes: [{
232
+ }], function () { return [{ type: i0.Injector }, { type: i1.StatePersistence }, { type: i1.DynamicComponentRefProvider }]; }, { panes: [{
236
233
  type: ContentChildren,
237
234
  args: [AccordionPaneComponent]
238
235
  }] }); })();
239
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9jb250YWluZXJzL2FjY29yZGlvbi9zcmMvYWNjb3JkaW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1CLGVBQWUsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFMUcsT0FBTyxFQUFDLDJCQUEyQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsMkJBQTJCLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDcEgsT0FBTyxFQUNILGlCQUFpQixFQUNqQixlQUFlLEVBRWYsa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQixNQUFNLEVBQ1QsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7OztBQUluRixNQUFNLFdBQVcsR0FBRywyQkFBMkIsQ0FBQztBQUNoRCxNQUFNLGFBQWEsR0FBa0I7SUFDakMsVUFBVSxFQUFFLGNBQWM7SUFDMUIsU0FBUyxFQUFFLFdBQVc7Q0FDekIsQ0FBQztBQVNGLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxpQkFBaUI7SUFtQnJELFlBQVksR0FBYSxFQUFFLGdCQUFrQyxFQUFFLHdCQUFxRCxFQUFxQixXQUF3QztRQUM3SyxJQUFJLFNBQVMsR0FBYSxJQUFJLENBQUM7UUFDL0IsS0FBSyxDQUFDLEdBQUcsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFGeUQsZ0JBQVcsR0FBWCxXQUFXLENB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RUFBRSxhQUFhO2dCQUN2QixTQUFTLEVBQUU7b0JBQ1Asa0JBQWtCLG9CQUFvQjtpQkFDekM7YUFDSjs7c0JBb0IwSCxRQUFRO3dCQUZ0RixLQUFLO2tCQUE3QyxlQUFlO21CQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJDb250ZW50SW5pdCwgQ29udGVudENoaWxkcmVuLCBEaXJlY3RpdmUsIEluamVjdG9yLCBPcHRpb25hbCwgUXVlcnlMaXN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtEeW5hbWljQ29tcG9uZW50UmVmUHJvdmlkZXIsIGlzTnVtYmVyLCBub29wLCBTdGF0ZVBlcnNpc3RlbmNlLCBVc2VyRGVmaW5lZEV4ZWN1dGlvbkNvbnRleHR9IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7XG4gICAgQVBQTFlfU1RZTEVTX1RZUEUsXG4gICAgY3JlYXRlQXJyYXlGcm9tLFxuICAgIElXaWRnZXRDb25maWcsXG4gICAgcHJvdmlkZUFzV2lkZ2V0UmVmLFxuICAgIFN0eWxhYmxlQ29tcG9uZW50LFxuICAgIHN0eWxlclxufSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcblxuaW1wb3J0IHsgcmVnaXN0ZXJQcm9wcyB9IGZyb20gJy4vYWNjb3JkaW9uLnByb3BzJztcbmltcG9ydCB7IEFjY29yZGlvblBhbmVDb21wb25lbnQgfSBmcm9tICcuL2FjY29yZGlvbi1wYW5lL2FjY29yZGlvbi1wYW5lLmNvbXBvbmVudCc7XG5cbmRlY2xhcmUgY29uc3QgXztcblxuY29uc3QgREVGQVVMVF9DTFMgPSAnYXBwLWFjY29yZGlvbiBwYW5lbC1ncm91cCc7XG5jb25zdCBXSURHRVRfQ09ORklHOiBJV2lkZ2V0Q29uZmlnID0ge1xuICAgIHdpZGdldFR5cGU6ICd3bS1hY2NvcmRpb24nLFxuICAgIGhvc3RDbGFzczogREVGQVVMVF9DTFNcbn07XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZGl2W3dtQWNjb3JkaW9uXScsXG4gICAgZXhwb3J0QXM6ICd3bUFjY29yZGlvbicsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHByb3ZpZGVBc1dpZGdldFJlZihBY2NvcmRpb25EaXJlY3RpdmUpXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBBY2NvcmRpb25EaXJlY3RpdmUgZXh0ZW5kcyBTdHlsYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICAgIHN0YXRpYyBpbml0aWFsaXplUHJvcHMgPSByZWdpc3RlclByb3BzKCk7XG5cbiAgICBwdWJsaWMgZGVmYXVsdHBhbmVpbmRleDogbnVtYmVyO1xuICAgIHB1YmxpYyBjbG9zZW90aGVyczogYm9vbGVhbjtcbiAgICBwdWJsaWMgc3RhdGVoYW5kbGVyOiBhbnk7XG4gICAgcHJpdmF0ZSBzdGF0ZVBlcnNpc3RlbmNlOiBTdGF0ZVBlcnNpc3RlbmNlO1xuXG4gICAgcHJpdmF0ZSBhY3RpdmVQYW5lSW5kZXg6IG51bWJlcjtcbiAgICBwcml2YXRlIGFjdGl2ZVBhbmU6IEFjY29yZGlvblBhbmVDb21wb25lbnQ7XG4gICAgcHJpdmF0ZSBwcm9taXNlUmVzb2x2ZXJGbjogRnVuY3Rpb247XG4gICAgcHJpdmF0ZSBkeW5hbWljQ29tcG9uZW50UHJvdmlkZXI7XG4gICAgcHJpdmF0ZSBfZHluYW1pY0NvbnRleHQ7XG4gICAgcHJpdmF0ZSBkeW5hbWljUGFuZUluZGV4O1xuICAgIHByaXZhdGUgZHluYW1pY1BhbmVzO1xuICAgIHB1YmxpYyBmaWVsZERlZnM7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKEFjY29yZGlvblBhbmVDb21wb25lbnQpIHBhbmVzOiBRdWVyeUxpc3Q8QWNjb3JkaW9uUGFuZUNvbXBvbmVudD47XG5cbiAgICBjb25zdHJ1Y3Rvcihpbmo6IEluamVjdG9yLCBzdGF0ZVBlcnNpc3RlbmNlOiBTdGF0ZVBlcnNpc3RlbmNlLCBkeW5hbWljQ29tcG9uZW50UHJvdmlkZXI6IER5bmFtaWNDb21wb25lbnRSZWZQcm92aWRlciwgQE9wdGlvbmFsKCkgcHVibGljIF92aWV3UGFyZW50OiBVc2VyRGVmaW5lZEV4ZWN1dGlvbkNvbnRleHQpIHtcbiAgICAgICAgbGV0IHJlc29sdmVGbjogRnVuY3Rpb24gPSBub29wO1xuICAgICAgICBzdXBlcihpbmosIFdJREdFVF9DT05GSUcsIF92aWV3UGFyZW50LCBuZXcgUHJvbWlzZShyZXMgPT4gcmVzb2x2ZUZuID0gcmVzKSk7XG4gICAgICAgIHRoaXMucHJvbWlzZVJlc29sdmVyRm4gPSByZXNvbHZlRm47XG4gICAgICAgIHRoaXMuc3RhdGVQZXJzaXN0ZW5jZSA9IHN0YXRlUGVyc2lzdGVuY2U7XG4gICAgICAgIHRoaXMuZHluYW1pY0NvbXBvbmVudFByb3ZpZGVyID0gZHluYW1pY0NvbXBvbmVudFByb3ZpZGVyO1xuICAgICAgICB0aGlzLmR5bmFtaWNQYW5lcyA9IFtdO1xuICAgICAgICB0aGlzLmR5bmFtaWNQYW5lSW5kZXggPSAwO1xuICAgICAgICBzdHlsZXIodGhpcy5uYXRpdmVFbGVtZW50LCB0aGlzLCBBUFBMWV9TVFlMRVNfVFlQRS5TQ1JPTExBQkxFX0NPTlRBSU5FUik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWNjb3JkaW9uUGFuZSBjaGlsZHJlbiBjb21wb25lbnRzIGludm9rZSB0aGlzIG1ldGhvZCB0byBjb21tdW5pY2F0ZSB3aXRoIHRoZSBwYXJlbnRcbiAgICAgKiBpZiBpc0V4cGFuZCBpcyB0cnVlIGFuZCB3aGVuIGNsb3Nlb3RoZXJzIGlzIHRydWUsIGFsbCB0aGUgb3RoZXIgcGFuZXMgYXJlIGNvbGxhcHNlZFxuICAgICAqIGlmIHRoZSBldnQgYXJndW1lbnQgaXMgZGVmaW5lZCBvbi1jaGFuZ2UgY2FsbGJhY2sgd2lsbCBiZSBpbnZva2VkLlxuICAgICAqIHVwZGF0ZXMgdGhlIGFjdGl2ZVBhbmUgaW5kZXggcHJvcGVydHlcbiAgICAgKiBAcGFyYW0ge0FjY29yZGlvblBhbmVDb21wb25lbnR9IHBhbmVSZWZcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGlzRXhwYW5kXG4gICAgICogQHBhcmFtIHtFdmVudH0gZXZ0XG4gICAgICovXG4gICAgcHVibGljIG5vdGlmeUNoYW5nZShwYW5lUmVmOiBBY2NvcmRpb25QYW5lQ29tcG9uZW50LCBpc0V4cGFuZDogYm9vbGVhbiwgZXZ0OiBFdmVudCkge1xuICAgICAgICBpZiAoaXNFeHBhbmQpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VQYW5lc0V4Y2VwdChwYW5lUmVmKTtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5nZXRQYW5lSW5kZXhCeVJlZihwYW5lUmVmKTtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlUGFuZSA9IHBhbmVSZWYuZ2V0V2lkZ2V0KCk7XG4gICAgICAgICAgICAvLyBpZiB0aGUgZXZlbnQgaXMgZGVmaW5lZCBpbnZva2UgdGhlIGNoYW5nZSBjYWxsYmFjay5cbiAgICAgICAgICAgIC8vIHByb2dyYW1tYXRpYyBpbnZvY2F0aW9ucyBvZiBleHBhbmQvY29sbGFwc2Ugb24gYWNjb3JkaW9uLXBhbmUgd2lsbCBub3QgdHJpZ2dlciBjaGFuZ2UgZXZlbnRcbiAgICAgICAgICAgIGlmIChldnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmludm9rZUV2ZW50Q2FsbGJhY2soJ2NoYW5nZScsIHtcbiAgICAgICAgICAgICAgICAgICAgJGV2ZW50OiBldnQsXG4gICAgICAgICAgICAgICAgICAgIG5ld1BhbmVJbmRleDogaW5kZXgsXG4gICAgICAgICAgICAgICAgICAgIG9sZFBhbmVJbmRleDogdGhpcy5hY3RpdmVQYW5lSW5kZXhcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuYWN0aXZlUGFuZUluZGV4ID0gaW5kZXg7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbW9kZSA9IHRoaXMuc3RhdGVQZXJzaXN0ZW5jZS5jb21wdXRlTW9kZSh0aGlzLnN0YXRlaGFuZGxlcik7XG4gICAgICAgIGlmIChldnQgJiYgIG1vZGUgJiYgbW9kZS50b0xvd2VyQ2FzZSgpICE9PSAnbm9uZScpIHtcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZVBhbmVzID0gW107XG4gICAgICAgICAgICB0aGlzLnBhbmVzLmZvckVhY2goZnVuY3Rpb24ocGFuZSkge1xuICAgICAgICAgICAgICAgIGlmIChwYW5lLmlzQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZVBhbmVzLnB1c2gocGFuZS5uYW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmIChhY3RpdmVQYW5lcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXRlUGVyc2lzdGVuY2Uuc2V0V2lkZ2V0U3RhdGUodGhpcywgYWN0aXZlUGFuZXMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXRlUGVyc2lzdGVuY2UucmVtb3ZlV2lkZ2V0U3RhdGUodGhpcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyB1c2VkIHRvIHJlZ2lzdGVyIHRoZSBkeW5hbWljIHBhbmVzLlxuICAgICAqIEFmdGVyIGFsbCBwYW5lcyBhcmUgaW5pdGlhbHplZCwgdXBkYXRlIHRoZSBxdWVyeWxpc3QgbWFudWFsbHkgYmFzZWQgb24gaW5kZXguXG4gICAgICogQHBhcmFtIHBhbmVSZWYgLSByZWZyZW5jZSBvZiB0aGUgdGFicGFuZVxuICAgICAqL1xuICAgIHB1YmxpYyByZWdpc3RlckR5bmFtaWNQYW5lKHBhbmVSZWYpIHtcbiAgICAgICAgdGhpcy5keW5hbWljUGFuZXMucHVzaChwYW5lUmVmKTtcbiAgICAgICAgY29uc3QgaXNMYXN0UGFuZSA9ICB0aGlzLmR5bmFtaWNQYW5lcy5sZW5ndGggPT09IHRoaXMuZHluYW1pY1BhbmVJbmRleDtcbiAgICAgICAgaWYgKGlzTGFzdFBhbmUpIHtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5keW5hbWljUGFuZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdQYW5lUmVmICA9IF8uZmluZCh0aGlzLmR5bmFtaWNQYW5lcywgcGFuZSA9PiBwYW5lLmR5bmFtaWNQYW5lSW5kZXggPT09IGkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzRHVwbGljYXRlUGFuZSA9IF8uZmluZCh0aGlzLnBhbmVzLnRvQXJyYXkoKSwgbmV3UGFuZVJlZik7XG4gICAgICAgICAgICAgICAgaWYgKCFpc0R1cGxpY2F0ZVBhbmUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYW5lcy5yZXNldChbLi4udGhpcy5wYW5lcy50b0FycmF5KCksIG5ld1BhbmVSZWZdKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5ld1BhbmVSZWYuYWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdQYW5lUmVmLmV4cGFuZCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgdG8gYWRkIHRoZSB0YWJwYW5lIGR5bmFtaWNhbGx5XG4gICAgICogQHBhcmFtIHRhYnBhbmVzIC0gbGlzdCBvZiB0YWJwYW5lc1xuICAgICAqL1xuICAgIHB1YmxpYyBhZGRQYW5lKHRhYnBhbmVzKSB7XG4gICAgICAgIGlmICghXy5pc0FycmF5KHRhYnBhbmVzKSkge1xuICAgICAgICAgICAgdGFicGFuZXMgPSBbdGFicGFuZXNdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBhbmVOYW1lc0xpc3QgPSBbXTtcbiAgICAgICAgXy5mb3JFYWNoKHRhYnBhbmVzLCAocGFuZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlzUGFuZUFscmVhZHlDcmVhdGVkID0gXy5maW5kKHRoaXMucGFuZXMudG9BcnJheSgpLCB7bmFtZTogcGFuZS5uYW1lfSk7XG4gICAgICAgICAgICBjb25zdCBpc1BhbmVOYW1lRXhpc3QgPSBfLmluZGV4T2YocGFuZU5hbWVzTGlzdCwgcGFuZS5uYW1lKTtcbiAgICAgICAgICAgIC8vIElmIHVzZXIgdHJpZXMgdG8gYWRkIHRhYnBhbmUgd2l0aCB0aGUgc2FtZSBuYW1lIHdoaWNoIGlzIGFscmVhZHkgZXhpc3RzIHRoZW4gZG8gbm90IGNyZWF0ZSB0aGUgcGFuZVxuICAgICAgICAgICAgaWYgKGlzUGFuZUFscmVhZHlDcmVhdGVkIHx8IGlzUGFuZU5hbWVFeGlzdCA+IDApIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFRoZSB0YWIgcGFuZSB3aXRoIG5hbWUgJHtwYW5lLm5hbWV9IGFscmVhZHkgZXhpc3RzYCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgcGFyYW1NYXJrdXAgPSAnJztcbiAgICAgICAgICAgIGxldCBwcm9wc1RtcGwgPSAnJztcbiAgICAgICAgICAgIHRoaXMuZHluYW1pY1BhbmVJbmRleCsrO1xuICAgICAgICAgICAgY29uc3QgbmFtZSA9IHBhbmUubmFtZSA/IHBhbmUubmFtZSA6IGBhY2NvcmRpb25wYW5lJHt0aGlzLnBhbmVzLnRvQXJyYXkoKS5sZW5ndGggKyAoaW5kZXggKyAxKX1gO1xuICAgICAgICAgICAgcGFuZU5hbWVzTGlzdC5wdXNoKG5hbWUpO1xuICAgICAgICAgICAgY29uc3QgcGFydGlhbFBhcmFtcyA9IF8uZ2V0KHBhbmUsICdwYXJhbXMnKTtcblxuICAgICAgICAgICAgXy5mb3JFYWNoKHBhbmUsICh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGtleSAhPT0gJ3BhcmFtcycpIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvcHNUbXBsID0gYCR7cHJvcHNUbXBsfSAke2tleX09XCIke3ZhbHVlfVwiYDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIF8uZm9yRWFjaChwYXJ0aWFsUGFyYW1zLCAodmFsdWUsIGtleSkgPT4ge1xuICAgICAgICAgICAgICAgIHBhcmFtTWFya3VwID0gYCR7cGFyYW1NYXJrdXB9IDx3bS1wYXJhbSBuYW1lPVwiJHtrZXl9XCIgdmFsdWU9XCIke3ZhbHVlfVwiPjwvd20tcGFyYW0+YDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgbWFya3VwID0gYDx3bS1hY2NvcmRpb25wYW5lIGR5bmFtaWNQYW5lSW5kZXg9XCIke3RoaXMuZHluYW1pY1BhbmVJbmRleCAtIDF9XCIgaXNkeW5hbWljPVwidHJ1ZVwiIG5hbWU9XCIke25hbWV9XCIgJHtwcm9wc1RtcGx9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7cGFyYW1NYXJrdXB9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3dtLWFjY29yZGlvbnBhbmU+YDtcblxuICAgICAgICAgICAgaWYgKCF0aGlzLl9keW5hbWljQ29udGV4dCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2R5bmFtaWNDb250ZXh0ID0gT2JqZWN0LmNyZWF0ZSh0aGlzLnZpZXdQYXJlbnQpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2R5bmFtaWNDb250ZXh0W3RoaXMuZ2V0QXR0cignd21BY2NvcmRpYW4nKV0gPSB0aGlzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmR5bmFtaWNDb21wb25lbnRQcm92aWRlci5hZGRDb21wb25lbnQodGhpcy5nZXROYXRpdmVFbGVtZW50KCksIG1hcmt1cCwgdGhpcy5fZHluYW1pY0NvbnRleHQsIHtpbmo6IHRoaXMuaW5qfSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcGFuZU5hbWVzTGlzdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyB0byByZW1vdmUgdGhlIHRhYnBhbmVcbiAgICAgKiBAcGFyYW0gcGFuZU5hbWUgLSBuYW1lIG9mIHRoZSBwYW5lXG4gICAgICovXG4gICAgcHVibGljIHJlbW92ZVBhbmUocGFuZU5hbWUpIHtcbiAgICAgICAgY29uc3QgcGFuZVJlZiA9IHRoaXMuZ2V0UGFuZVJlZkJ5TmFtZShwYW5lTmFtZSk7XG4gICAgICAgIGlmIChwYW5lUmVmKSB7XG4gICAgICAgICAgIHBhbmVSZWYucmVtb3ZlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGlzVmFsaWRQYW5lSW5kZXgoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKGluZGV4ID49IDAgJiYgaW5kZXggPCB0aGlzLnBhbmVzLmxlbmd0aCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQYW5lUmVmQnlOYW1lKG5hbWU6IHN0cmluZyk6IEFjY29yZGlvblBhbmVDb21wb25lbnQge1xuICAgICAgICByZXR1cm4gXy5maW5kKHRoaXMucGFuZXMudG9BcnJheSgpLCB7bmFtZTogbmFtZX0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UGFuZUluZGV4QnlSZWYocGFuZVJlZjogQWNjb3JkaW9uUGFuZUNvbXBvbmVudCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhbmVzLnRvQXJyYXkoKS5pbmRleE9mKHBhbmVSZWYpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UGFuZVJlZkJ5SW5kZXgoaW5kZXg6IG51bWJlcik6IEFjY29yZGlvblBhbmVDb21wb25lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5wYW5lcy50b0FycmF5KClbaW5kZXhdO1xuICAgIH1cblxuICAgIC8vIEV4Y2VwdCB0aGUgcGFuZSBwcm92aWRlZCBjbG9zZSBhbGwgb3RoZXIgcGFuZXNcbiAgICBwcml2YXRlIGNsb3NlUGFuZXNFeGNlcHQocGFuZVJlZjogQWNjb3JkaW9uUGFuZUNvbXBvbmVudCB8IG51bWJlcikge1xuICAgICAgICBpZiAoaXNOdW1iZXIocGFuZVJlZikpIHtcbiAgICAgICAgICAgIHBhbmVSZWYgPSB0aGlzLmdldFBhbmVSZWZCeUluZGV4KHBhbmVSZWYgYXMgbnVtYmVyKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5jbG9zZW90aGVycykge1xuICAgICAgICAgICAgdGhpcy5wYW5lcy5mb3JFYWNoKHBhbmUgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwYW5lICE9PSBwYW5lUmVmKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhbmUuY29sbGFwc2UoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZXhwYW5kUGFuZShpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuY2xvc2VQYW5lc0V4Y2VwdChpbmRleCk7XG4gICAgICAgIHRoaXMucGFuZXMudG9BcnJheSgpW2luZGV4XS5leHBhbmQoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBvbkRhdGFDaGFuZ2UobmV3VmFsKSB7XG4gICAgICAgIHRoaXMuZmllbGREZWZzID0gY3JlYXRlQXJyYXlGcm9tKG5ld1ZhbCk7XG4gICAgfVxuXG4gICAgb25Qcm9wZXJ0eUNoYW5nZShrZXk6IHN0cmluZywgbnY6IGFueSwgb3Y/OiBhbnkpIHtcbiAgICAgICAgaWYgKGtleSA9PT0gJ2RlZmF1bHRwYW5laW5kZXgnKSB7XG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRwYW5laW5kZXggPSBudjtcbiAgICAgICAgfSBlbHNlIGlmIChrZXkgPT09ICdkYXRhc2V0Jykge1xuICAgICAgICAgICAgdGhpcy5vbkRhdGFDaGFuZ2UobnYpO1xuICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ3N0YXRlaGFuZGxlcicpIHtcbiAgICAgICAgICAgIGNvbnN0IHdpZGdldFN0YXRlID0gdGhpcy5zdGF0ZVBlcnNpc3RlbmNlLmdldFdpZGdldFN0YXRlKHRoaXMpO1xuICAgICAgICAgICAgbGV0IHBhbmVUb1NlbGVjdDogYW55ID0gW107XG4gICAgICAgICAgICBpZiAobnYgIT09ICdub25lJyAmJiBfLmlzQXJyYXkod2lkZ2V0U3RhdGUpKSB7XG4gICAgICAgICAgICAgICAgd2lkZ2V0U3RhdGUuZm9yRWFjaChwYW5lTmFtZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHBhbmVUb1NlbGVjdCA9IHRoaXMucGFuZXMuZmlsdGVyKGZ1bmN0aW9uKHBhbmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwYW5lTmFtZSA9PT0gcGFuZS5uYW1lO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFwYW5lVG9TZWxlY3QubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ0FjY29yZGlvbiBwYW5lIG5hbWUgJyArIHBhbmVOYW1lICsgJyBpbiBTdGF0ZSBpcyBpbmNvcnJlY3QuJyk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmV4cGFuZFBhbmUodGhpcy5nZXRQYW5lSW5kZXhCeVJlZihwYW5lVG9TZWxlY3RbMF0pKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1ZhbGlkUGFuZUluZGV4KHRoaXMuZGVmYXVsdHBhbmVpbmRleCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5leHBhbmRQYW5lKHRoaXMuZGVmYXVsdHBhbmVpbmRleCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3VwZXIub25Qcm9wZXJ0eUNoYW5nZShrZXksIG52LCBvdik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJDb250ZW50SW5pdCgpO1xuICAgICAgICB0aGlzLnByb21pc2VSZXNvbHZlckZuKCk7XG4gICAgICAgIHRoaXMucGFuZXMuY2hhbmdlcy5zdWJzY3JpYmUoIHNsaWRlcyA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5wYW5lcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmV4cGFuZFBhbmUodGhpcy5kZWZhdWx0cGFuZWluZGV4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
236
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9jb250YWluZXJzL2FjY29yZGlvbi9zcmMvYWNjb3JkaW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1CLGVBQWUsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFZLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUxRyxPQUFPLEVBQUMsMkJBQTJCLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBOEIsTUFBTSxVQUFVLENBQUM7QUFDcEgsT0FBTyxFQUNILGlCQUFpQixFQUNqQixlQUFlLEVBRWYsa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQixNQUFNLEVBQ1QsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7OztBQUluRixNQUFNLFdBQVcsR0FBRywyQkFBMkIsQ0FBQztBQUNoRCxNQUFNLGFBQWEsR0FBa0I7SUFDakMsVUFBVSxFQUFFLGNBQWM7SUFDMUIsU0FBUyxFQUFFLFdBQVc7Q0FDekIsQ0FBQztBQVNGLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxpQkFBaUI7SUFtQnJELFlBQVksR0FBYSxFQUFFLGdCQUFrQyxFQUFFLHdCQUFxRDtRQUNoSCxJQUFJLFNBQVMsR0FBYSxJQUFJLENBQUM7UUFDL0IsS0FBSyxDQUFDLEdBQUcsRUFBRSxhQUFhLEVBQUUsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsU0FBUyxDQUFDO1FBQ25DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxn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O2tCQUE3QyxlQUFlO21CQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJDb250ZW50SW5pdCwgQ29udGVudENoaWxkcmVuLCBEaXJlY3RpdmUsIEluamVjdG9yLCBPcHRpb25hbCwgUXVlcnlMaXN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtEeW5hbWljQ29tcG9uZW50UmVmUHJvdmlkZXIsIGlzTnVtYmVyLCBub29wLCBTdGF0ZVBlcnNpc3RlbmNlLCBVc2VyRGVmaW5lZEV4ZWN1dGlvbkNvbnRleHR9IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7XG4gICAgQVBQTFlfU1RZTEVTX1RZUEUsXG4gICAgY3JlYXRlQXJyYXlGcm9tLFxuICAgIElXaWRnZXRDb25maWcsXG4gICAgcHJvdmlkZUFzV2lkZ2V0UmVmLFxuICAgIFN0eWxhYmxlQ29tcG9uZW50LFxuICAgIHN0eWxlclxufSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcblxuaW1wb3J0IHsgcmVnaXN0ZXJQcm9wcyB9IGZyb20gJy4vYWNjb3JkaW9uLnByb3BzJztcbmltcG9ydCB7IEFjY29yZGlvblBhbmVDb21wb25lbnQgfSBmcm9tICcuL2FjY29yZGlvbi1wYW5lL2FjY29yZGlvbi1wYW5lLmNvbXBvbmVudCc7XG5cbmRlY2xhcmUgY29uc3QgXztcblxuY29uc3QgREVGQVVMVF9DTFMgPSAnYXBwLWFjY29yZGlvbiBwYW5lbC1ncm91cCc7XG5jb25zdCBXSURHRVRfQ09ORklHOiBJV2lkZ2V0Q29uZmlnID0ge1xuICAgIHdpZGdldFR5cGU6ICd3bS1hY2NvcmRpb24nLFxuICAgIGhvc3RDbGFzczogREVGQVVMVF9DTFNcbn07XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZGl2W3dtQWNjb3JkaW9uXScsXG4gICAgZXhwb3J0QXM6ICd3bUFjY29yZGlvbicsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHByb3ZpZGVBc1dpZGdldFJlZihBY2NvcmRpb25EaXJlY3RpdmUpXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBBY2NvcmRpb25EaXJlY3RpdmUgZXh0ZW5kcyBTdHlsYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICAgIHN0YXRpYyBpbml0aWFsaXplUHJvcHMgPSByZWdpc3RlclByb3BzKCk7XG5cbiAgICBwdWJsaWMgZGVmYXVsdHBhbmVpbmRleDogbnVtYmVyO1xuICAgIHB1YmxpYyBjbG9zZW90aGVyczogYm9vbGVhbjtcbiAgICBwdWJsaWMgc3RhdGVoYW5kbGVyOiBhbnk7XG4gICAgcHJpdmF0ZSBzdGF0ZVBlcnNpc3RlbmNlOiBTdGF0ZVBlcnNpc3RlbmNlO1xuXG4gICAgcHJpdmF0ZSBhY3RpdmVQYW5lSW5kZXg6IG51bWJlcjtcbiAgICBwcml2YXRlIGFjdGl2ZVBhbmU6IEFjY29yZGlvblBhbmVDb21wb25lbnQ7XG4gICAgcHJpdmF0ZSBwcm9taXNlUmVzb2x2ZXJGbjogRnVuY3Rpb247XG4gICAgcHJpdmF0ZSBkeW5hbWljQ29tcG9uZW50UHJvdmlkZXI7XG4gICAgcHJpdmF0ZSBfZHluYW1pY0NvbnRleHQ7XG4gICAgcHJpdmF0ZSBkeW5hbWljUGFuZUluZGV4O1xuICAgIHByaXZhdGUgZHluYW1pY1BhbmVzO1xuICAgIHB1YmxpYyBmaWVsZERlZnM7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKEFjY29yZGlvblBhbmVDb21wb25lbnQpIHBhbmVzOiBRdWVyeUxpc3Q8QWNjb3JkaW9uUGFuZUNvbXBvbmVudD47XG5cbiAgICBjb25zdHJ1Y3Rvcihpbmo6IEluamVjdG9yLCBzdGF0ZVBlcnNpc3RlbmNlOiBTdGF0ZVBlcnNpc3RlbmNlLCBkeW5hbWljQ29tcG9uZW50UHJvdmlkZXI6IER5bmFtaWNDb21wb25lbnRSZWZQcm92aWRlcikge1xuICAgICAgICBsZXQgcmVzb2x2ZUZuOiBGdW5jdGlvbiA9IG5vb3A7XG4gICAgICAgIHN1cGVyKGluaiwgV0lER0VUX0NPTkZJRywgbmV3IFByb21pc2UocmVzID0+IHJlc29sdmVGbiA9IHJlcykpO1xuICAgICAgICB0aGlzLnByb21pc2VSZXNvbHZlckZuID0gcmVzb2x2ZUZuO1xuICAgICAgICB0aGlzLnN0YXRlUGVyc2lzdGVuY2UgPSBzdGF0ZVBlcnNpc3RlbmNlO1xuICAgICAgICB0aGlzLmR5bmFtaWNDb21wb25lbnRQcm92aWRlciA9IGR5bmFtaWNDb21wb25lbnRQcm92aWRlcjtcbiAgICAgICAgdGhpcy5keW5hbWljUGFuZXMgPSBbXTtcbiAgICAgICAgdGhpcy5keW5hbWljUGFuZUluZGV4ID0gMDtcbiAgICAgICAgc3R5bGVyKHRoaXMubmF0aXZlRWxlbWVudCwgdGhpcywgQVBQTFlfU1RZTEVTX1RZUEUuU0NST0xMQUJMRV9DT05UQUlORVIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFjY29yZGlvblBhbmUgY2hpbGRyZW4gY29tcG9uZW50cyBpbnZva2UgdGhpcyBtZXRob2QgdG8gY29tbXVuaWNhdGUgd2l0aCB0aGUgcGFyZW50XG4gICAgICogaWYgaXNFeHBhbmQgaXMgdHJ1ZSBhbmQgd2hlbiBjbG9zZW90aGVycyBpcyB0cnVlLCBhbGwgdGhlIG90aGVyIHBhbmVzIGFyZSBjb2xsYXBzZWRcbiAgICAgKiBpZiB0aGUgZXZ0IGFyZ3VtZW50IGlzIGRlZmluZWQgb24tY2hhbmdlIGNhbGxiYWNrIHdpbGwgYmUgaW52b2tlZC5cbiAgICAgKiB1cGRhdGVzIHRoZSBhY3RpdmVQYW5lIGluZGV4IHByb3BlcnR5XG4gICAgICogQHBhcmFtIHtBY2NvcmRpb25QYW5lQ29tcG9uZW50fSBwYW5lUmVmXG4gICAgICogQHBhcmFtIHtib29sZWFufSBpc0V4cGFuZFxuICAgICAqIEBwYXJhbSB7RXZlbnR9IGV2dFxuICAgICAqL1xuICAgIHB1YmxpYyBub3RpZnlDaGFuZ2UocGFuZVJlZjogQWNjb3JkaW9uUGFuZUNvbXBvbmVudCwgaXNFeHBhbmQ6IGJvb2xlYW4sIGV2dDogRXZlbnQpIHtcbiAgICAgICAgaWYgKGlzRXhwYW5kKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlUGFuZXNFeGNlcHQocGFuZVJlZik7XG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuZ2V0UGFuZUluZGV4QnlSZWYocGFuZVJlZik7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVBhbmUgPSBwYW5lUmVmLmdldFdpZGdldCgpO1xuICAgICAgICAgICAgLy8gaWYgdGhlIGV2ZW50IGlzIGRlZmluZWQgaW52b2tlIHRoZSBjaGFuZ2UgY2FsbGJhY2suXG4gICAgICAgICAgICAvLyBwcm9ncmFtbWF0aWMgaW52b2NhdGlvbnMgb2YgZXhwYW5kL2NvbGxhcHNlIG9uIGFjY29yZGlvbi1wYW5lIHdpbGwgbm90IHRyaWdnZXIgY2hhbmdlIGV2ZW50XG4gICAgICAgICAgICBpZiAoZXZ0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnZva2VFdmVudENhbGxiYWNrKCdjaGFuZ2UnLCB7XG4gICAgICAgICAgICAgICAgICAgICRldmVudDogZXZ0LFxuICAgICAgICAgICAgICAgICAgICBuZXdQYW5lSW5kZXg6IGluZGV4LFxuICAgICAgICAgICAgICAgICAgICBvbGRQYW5lSW5kZXg6IHRoaXMuYWN0aXZlUGFuZUluZGV4XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVBhbmVJbmRleCA9IGluZGV4O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG1vZGUgPSB0aGlzLnN0YXRlUGVyc2lzdGVuY2UuY29tcHV0ZU1vZGUodGhpcy5zdGF0ZWhhbmRsZXIpO1xuICAgICAgICBpZiAoZXZ0ICYmICBtb2RlICYmIG1vZGUudG9Mb3dlckNhc2UoKSAhPT0gJ25vbmUnKSB7XG4gICAgICAgICAgICBjb25zdCBhY3RpdmVQYW5lcyA9IFtdO1xuICAgICAgICAgICAgdGhpcy5wYW5lcy5mb3JFYWNoKGZ1bmN0aW9uKHBhbmUpIHtcbiAgICAgICAgICAgICAgICBpZiAocGFuZS5pc0FjdGl2ZSkge1xuICAgICAgICAgICAgICAgICAgICBhY3RpdmVQYW5lcy5wdXNoKHBhbmUubmFtZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoYWN0aXZlUGFuZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGF0ZVBlcnNpc3RlbmNlLnNldFdpZGdldFN0YXRlKHRoaXMsIGFjdGl2ZVBhbmVzKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGF0ZVBlcnNpc3RlbmNlLnJlbW92ZVdpZGdldFN0YXRlKHRoaXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgdXNlZCB0byByZWdpc3RlciB0aGUgZHluYW1pYyBwYW5lcy5cbiAgICAgKiBBZnRlciBhbGwgcGFuZXMgYXJlIGluaXRpYWx6ZWQsIHVwZGF0ZSB0aGUgcXVlcnlsaXN0IG1hbnVhbGx5IGJhc2VkIG9uIGluZGV4LlxuICAgICAqIEBwYXJhbSBwYW5lUmVmIC0gcmVmcmVuY2Ugb2YgdGhlIHRhYnBhbmVcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVnaXN0ZXJEeW5hbWljUGFuZShwYW5lUmVmKSB7XG4gICAgICAgIHRoaXMuZHluYW1pY1BhbmVzLnB1c2gocGFuZVJlZik7XG4gICAgICAgIGNvbnN0IGlzTGFzdFBhbmUgPSAgdGhpcy5keW5hbWljUGFuZXMubGVuZ3RoID09PSB0aGlzLmR5bmFtaWNQYW5lSW5kZXg7XG4gICAgICAgIGlmIChpc0xhc3RQYW5lKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZHluYW1pY1BhbmVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3UGFuZVJlZiAgPSBfLmZpbmQodGhpcy5keW5hbWljUGFuZXMsIHBhbmUgPT4gcGFuZS5keW5hbWljUGFuZUluZGV4ID09PSBpKTtcbiAgICAgICAgICAgICAgICBjb25zdCBpc0R1cGxpY2F0ZVBhbmUgPSBfLmZpbmQodGhpcy5wYW5lcy50b0FycmF5KCksIG5ld1BhbmVSZWYpO1xuICAgICAgICAgICAgICAgIGlmICghaXNEdXBsaWNhdGVQYW5lKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFuZXMucmVzZXQoWy4uLnRoaXMucGFuZXMudG9BcnJheSgpLCBuZXdQYW5lUmVmXSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChuZXdQYW5lUmVmLmFjdGl2ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3UGFuZVJlZi5leHBhbmQoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIHRvIGFkZCB0aGUgdGFicGFuZSBkeW5hbWljYWxseVxuICAgICAqIEBwYXJhbSB0YWJwYW5lcyAtIGxpc3Qgb2YgdGFicGFuZXNcbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkUGFuZSh0YWJwYW5lcykge1xuICAgICAgICBpZiAoIV8uaXNBcnJheSh0YWJwYW5lcykpIHtcbiAgICAgICAgICAgIHRhYnBhbmVzID0gW3RhYnBhbmVzXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwYW5lTmFtZXNMaXN0ID0gW107XG4gICAgICAgIF8uZm9yRWFjaCh0YWJwYW5lcywgKHBhbmUsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpc1BhbmVBbHJlYWR5Q3JlYXRlZCA9IF8uZmluZCh0aGlzLnBhbmVzLnRvQXJyYXkoKSwge25hbWU6IHBhbmUubmFtZX0pO1xuICAgICAgICAgICAgY29uc3QgaXNQYW5lTmFtZUV4aXN0ID0gXy5pbmRleE9mKHBhbmVOYW1lc0xpc3QsIHBhbmUubmFtZSk7XG4gICAgICAgICAgICAvLyBJZiB1c2VyIHRyaWVzIHRvIGFkZCB0YWJwYW5lIHdpdGggdGhlIHNhbWUgbmFtZSB3aGljaCBpcyBhbHJlYWR5IGV4aXN0cyB0aGVuIGRvIG5vdCBjcmVhdGUgdGhlIHBhbmVcbiAgICAgICAgICAgIGlmIChpc1BhbmVBbHJlYWR5Q3JlYXRlZCB8fCBpc1BhbmVOYW1lRXhpc3QgPiAwKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBUaGUgdGFiIHBhbmUgd2l0aCBuYW1lICR7cGFuZS5uYW1lfSBhbHJlYWR5IGV4aXN0c2ApO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGV0IHBhcmFtTWFya3VwID0gJyc7XG4gICAgICAgICAgICBsZXQgcHJvcHNUbXBsID0gJyc7XG4gICAgICAgICAgICB0aGlzLmR5bmFtaWNQYW5lSW5kZXgrKztcbiAgICAgICAgICAgIGNvbnN0IG5hbWUgPSBwYW5lLm5hbWUgPyBwYW5lLm5hbWUgOiBgYWNjb3JkaW9ucGFuZSR7dGhpcy5wYW5lcy50b0FycmF5KCkubGVuZ3RoICsgKGluZGV4ICsgMSl9YDtcbiAgICAgICAgICAgIHBhbmVOYW1lc0xpc3QucHVzaChuYW1lKTtcbiAgICAgICAgICAgIGNvbnN0IHBhcnRpYWxQYXJhbXMgPSBfLmdldChwYW5lLCAncGFyYW1zJyk7XG5cbiAgICAgICAgICAgIF8uZm9yRWFjaChwYW5lLCAodmFsdWUsIGtleSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChrZXkgIT09ICdwYXJhbXMnKSB7XG4gICAgICAgICAgICAgICAgICAgIHByb3BzVG1wbCA9IGAke3Byb3BzVG1wbH0gJHtrZXl9PVwiJHt2YWx1ZX1cImA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBfLmZvckVhY2gocGFydGlhbFBhcmFtcywgKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgICAgICAgICBwYXJhbU1hcmt1cCA9IGAke3BhcmFtTWFya3VwfSA8d20tcGFyYW0gbmFtZT1cIiR7a2V5fVwiIHZhbHVlPVwiJHt2YWx1ZX1cIj48L3dtLXBhcmFtPmA7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IG1hcmt1cCA9IGA8d20tYWNjb3JkaW9ucGFuZSBkeW5hbWljUGFuZUluZGV4PVwiJHt0aGlzLmR5bmFtaWNQYW5lSW5kZXggLSAxfVwiIGlzZHluYW1pYz1cInRydWVcIiBuYW1lPVwiJHtuYW1lfVwiICR7cHJvcHNUbXBsfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3BhcmFtTWFya3VwfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC93bS1hY2NvcmRpb25wYW5lPmA7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5fZHluYW1pY0NvbnRleHQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9keW5hbWljQ29udGV4dCA9IE9iamVjdC5jcmVhdGUodGhpcy52aWV3UGFyZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLl9keW5hbWljQ29udGV4dFt0aGlzLmdldEF0dHIoJ3dtQWNjb3JkaWFuJyldID0gdGhpcztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5keW5hbWljQ29tcG9uZW50UHJvdmlkZXIuYWRkQ29tcG9uZW50KHRoaXMuZ2V0TmF0aXZlRWxlbWVudCgpLCBtYXJrdXAsIHRoaXMuX2R5bmFtaWNDb250ZXh0LCB7aW5qOiB0aGlzLmluan0pO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHBhbmVOYW1lc0xpc3Q7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgdG8gcmVtb3ZlIHRoZSB0YWJwYW5lXG4gICAgICogQHBhcmFtIHBhbmVOYW1lIC0gbmFtZSBvZiB0aGUgcGFuZVxuICAgICAqL1xuICAgIHB1YmxpYyByZW1vdmVQYW5lKHBhbmVOYW1lKSB7XG4gICAgICAgIGNvbnN0IHBhbmVSZWYgPSB0aGlzLmdldFBhbmVSZWZCeU5hbWUocGFuZU5hbWUpO1xuICAgICAgICBpZiAocGFuZVJlZikge1xuICAgICAgICAgICBwYW5lUmVmLnJlbW92ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1ZhbGlkUGFuZUluZGV4KGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChpbmRleCA+PSAwICYmIGluZGV4IDwgdGhpcy5wYW5lcy5sZW5ndGgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UGFuZVJlZkJ5TmFtZShuYW1lOiBzdHJpbmcpOiBBY2NvcmRpb25QYW5lQ29tcG9uZW50IHtcbiAgICAgICAgcmV0dXJuIF8uZmluZCh0aGlzLnBhbmVzLnRvQXJyYXkoKSwge25hbWU6IG5hbWV9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFBhbmVJbmRleEJ5UmVmKHBhbmVSZWY6IEFjY29yZGlvblBhbmVDb21wb25lbnQpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5wYW5lcy50b0FycmF5KCkuaW5kZXhPZihwYW5lUmVmKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFBhbmVSZWZCeUluZGV4KGluZGV4OiBudW1iZXIpOiBBY2NvcmRpb25QYW5lQ29tcG9uZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGFuZXMudG9BcnJheSgpW2luZGV4XTtcbiAgICB9XG5cbiAgICAvLyBFeGNlcHQgdGhlIHBhbmUgcHJvdmlkZWQgY2xvc2UgYWxsIG90aGVyIHBhbmVzXG4gICAgcHJpdmF0ZSBjbG9zZVBhbmVzRXhjZXB0KHBhbmVSZWY6IEFjY29yZGlvblBhbmVDb21wb25lbnQgfCBudW1iZXIpIHtcbiAgICAgICAgaWYgKGlzTnVtYmVyKHBhbmVSZWYpKSB7XG4gICAgICAgICAgICBwYW5lUmVmID0gdGhpcy5nZXRQYW5lUmVmQnlJbmRleChwYW5lUmVmIGFzIG51bWJlcik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuY2xvc2VvdGhlcnMpIHtcbiAgICAgICAgICAgIHRoaXMucGFuZXMuZm9yRWFjaChwYW5lID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocGFuZSAhPT0gcGFuZVJlZikge1xuICAgICAgICAgICAgICAgICAgICBwYW5lLmNvbGxhcHNlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGV4cGFuZFBhbmUoaW5kZXg6IG51bWJlcikge1xuICAgICAgICB0aGlzLmNsb3NlUGFuZXNFeGNlcHQoaW5kZXgpO1xuICAgICAgICB0aGlzLnBhbmVzLnRvQXJyYXkoKVtpbmRleF0uZXhwYW5kKCk7XG4gICAgfVxuICAgIHByaXZhdGUgb25EYXRhQ2hhbmdlKG5ld1ZhbCkge1xuICAgICAgICB0aGlzLmZpZWxkRGVmcyA9IGNyZWF0ZUFycmF5RnJvbShuZXdWYWwpO1xuICAgIH1cblxuICAgIG9uUHJvcGVydHlDaGFuZ2Uoa2V5OiBzdHJpbmcsIG52OiBhbnksIG92PzogYW55KSB7XG4gICAgICAgIGlmIChrZXkgPT09ICdkZWZhdWx0cGFuZWluZGV4Jykge1xuICAgICAgICAgICAgdGhpcy5kZWZhdWx0cGFuZWluZGV4ID0gbnY7XG4gICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSAnZGF0YXNldCcpIHtcbiAgICAgICAgICAgIHRoaXMub25EYXRhQ2hhbmdlKG52KTtcbiAgICAgICAgfSBlbHNlIGlmIChrZXkgPT09ICdzdGF0ZWhhbmRsZXInKSB7XG4gICAgICAgICAgICBjb25zdCB3aWRnZXRTdGF0ZSA9IHRoaXMuc3RhdGVQZXJzaXN0ZW5jZS5nZXRXaWRnZXRTdGF0ZSh0aGlzKTtcbiAgICAgICAgICAgIGxldCBwYW5lVG9TZWxlY3Q6IGFueSA9IFtdO1xuICAgICAgICAgICAgaWYgKG52ICE9PSAnbm9uZScgJiYgXy5pc0FycmF5KHdpZGdldFN0YXRlKSkge1xuICAgICAgICAgICAgICAgIHdpZGdldFN0YXRlLmZvckVhY2gocGFuZU5hbWUgPT4ge1xuICAgICAgICAgICAgICAgICAgICBwYW5lVG9TZWxlY3QgPSB0aGlzLnBhbmVzLmZpbHRlcihmdW5jdGlvbihwYW5lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcGFuZU5hbWUgPT09IHBhbmUubmFtZTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghcGFuZVRvU2VsZWN0Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdBY2NvcmRpb24gcGFuZSBuYW1lICcgKyBwYW5lTmFtZSArICcgaW4gU3RhdGUgaXMgaW5jb3JyZWN0LicpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5leHBhbmRQYW5lKHRoaXMuZ2V0UGFuZUluZGV4QnlSZWYocGFuZVRvU2VsZWN0WzBdKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNWYWxpZFBhbmVJbmRleCh0aGlzLmRlZmF1bHRwYW5laW5kZXgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXhwYW5kUGFuZSh0aGlzLmRlZmF1bHRwYW5laW5kZXgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN1cGVyLm9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3YpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICBzdXBlci5uZ0FmdGVyQ29udGVudEluaXQoKTtcbiAgICAgICAgdGhpcy5wcm9taXNlUmVzb2x2ZXJGbigpO1xuICAgICAgICB0aGlzLnBhbmVzLmNoYW5nZXMuc3Vic2NyaWJlKCBzbGlkZXMgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucGFuZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5leHBhbmRQYW5lKHRoaXMuZGVmYXVsdHBhbmVpbmRleCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==