@wavemaker/app-ng-runtime 12.0.0-next.141131 → 12.0.0-next.141138

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 (398) hide show
  1. app-ng-runtime/build-task/bundles/index.umd.js +402 -440
  2. app-ng-runtime/build-task/esm2022/basic/default/anchor/anchor.build.mjs +2 -2
  3. app-ng-runtime/build-task/esm2022/basic/default/html/html.build.mjs +2 -2
  4. app-ng-runtime/build-task/esm2022/basic/default/icon/icon.build.mjs +2 -2
  5. app-ng-runtime/build-task/esm2022/basic/default/label/label.build.mjs +2 -2
  6. app-ng-runtime/build-task/esm2022/basic/default/picture/picture.build.mjs +2 -2
  7. app-ng-runtime/build-task/esm2022/basic/default/spinner/spinner.build.mjs +2 -2
  8. app-ng-runtime/build-task/esm2022/basic/progress/progress-circle/progress-circle.build.mjs +7 -2
  9. app-ng-runtime/build-task/esm2022/basic/rich-text-editor/rich-text-editor.build.mjs +2 -2
  10. app-ng-runtime/build-task/esm2022/containers/accordion/accordion-pane/accordion-pane.build.mjs +2 -2
  11. app-ng-runtime/build-task/esm2022/containers/accordion/accordion.build.mjs +3 -3
  12. app-ng-runtime/build-task/esm2022/containers/tile/tile.build.mjs +2 -2
  13. app-ng-runtime/build-task/esm2022/containers/wizard/wizard.build.mjs +2 -2
  14. app-ng-runtime/build-task/esm2022/data/form/form-field/form-field.build.mjs +3 -4
  15. app-ng-runtime/build-task/esm2022/device/barcode-scanner/barcode-scanner.build.mjs +2 -2
  16. app-ng-runtime/build-task/esm2022/device/camera/camera.build.mjs +2 -2
  17. app-ng-runtime/build-task/esm2022/dialogs/alert-dialog/alert-dialog.build.mjs +2 -2
  18. app-ng-runtime/build-task/esm2022/input/calendar/calendar.build.mjs +2 -2
  19. app-ng-runtime/build-task/esm2022/input/chips/chips.build.mjs +2 -2
  20. app-ng-runtime/build-task/esm2022/input/color-picker/color-picker.build.mjs +3 -3
  21. app-ng-runtime/build-task/esm2022/input/currency/currency.build.mjs +3 -3
  22. app-ng-runtime/build-task/esm2022/input/default/button/button.build.mjs +2 -2
  23. app-ng-runtime/build-task/esm2022/input/default/button-group/button-group.build.mjs +2 -2
  24. app-ng-runtime/build-task/esm2022/input/default/switch/switch.build.mjs +2 -2
  25. app-ng-runtime/build-task/esm2022/input/file-upload/file-upload.build.mjs +6 -2
  26. app-ng-runtime/build-task/esm2022/page/footer/footer.build.mjs +2 -2
  27. app-ng-runtime/build-task/esm2022/page/header/header.build.mjs +2 -2
  28. app-ng-runtime/build-task/esm2022/page/layout.build.mjs +2 -2
  29. app-ng-runtime/build-task/esm2022/page/left-panel/left-panel.build.mjs +2 -2
  30. app-ng-runtime/build-task/esm2022/page/page.build.mjs +2 -2
  31. app-ng-runtime/build-task/esm2022/page/right-panel/right-panel.build.mjs +2 -2
  32. app-ng-runtime/build-task/esm2022/page/top-nav/top-nav.build.mjs +2 -2
  33. app-ng-runtime/build-task/esm2022/public_api.mjs +1 -3
  34. app-ng-runtime/build-task/fesm2022/index.mjs +403 -443
  35. app-ng-runtime/build-task/fesm2022/index.mjs.map +1 -1
  36. app-ng-runtime/build-task/public_api.d.ts +0 -2
  37. app-ng-runtime/components/advanced/carousel/bundles/index.umd.js +1 -1
  38. app-ng-runtime/components/advanced/carousel/esm2022/carousel.animator.mjs +2 -2
  39. app-ng-runtime/components/advanced/carousel/fesm2022/index.mjs +1 -1
  40. app-ng-runtime/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
  41. app-ng-runtime/components/base/bundles/index.umd.js +22 -69
  42. app-ng-runtime/components/base/components.module.d.ts +11 -12
  43. app-ng-runtime/components/base/esm2022/components.module.mjs +1 -5
  44. app-ng-runtime/components/base/esm2022/pipes/custom-pipes.mjs +3 -3
  45. app-ng-runtime/components/base/esm2022/public_api.mjs +1 -2
  46. app-ng-runtime/components/base/esm2022/utils/live-utils.mjs +8 -2
  47. app-ng-runtime/components/base/esm2022/widgets/common/base/base.component.mjs +15 -30
  48. app-ng-runtime/components/base/fesm2022/index.mjs +23 -69
  49. app-ng-runtime/components/base/fesm2022/index.mjs.map +1 -1
  50. app-ng-runtime/components/base/pipes/custom-pipes.d.ts +1 -1
  51. app-ng-runtime/components/base/public_api.d.ts +0 -1
  52. app-ng-runtime/components/base/widgets/common/base/base.component.d.ts +5 -10
  53. app-ng-runtime/components/basic/default/anchor/anchor.component.d.ts +1 -0
  54. app-ng-runtime/components/basic/default/audio/audio.component.d.ts +3 -0
  55. app-ng-runtime/components/basic/default/bundles/index.umd.js +39 -19
  56. app-ng-runtime/components/basic/default/esm2022/anchor/anchor.component.mjs +4 -4
  57. app-ng-runtime/components/basic/default/esm2022/anchor/anchor.props.mjs +2 -1
  58. app-ng-runtime/components/basic/default/esm2022/audio/audio.component.mjs +14 -6
  59. app-ng-runtime/components/basic/default/esm2022/audio/audio.props.mjs +2 -1
  60. app-ng-runtime/components/basic/default/esm2022/html/html.props.mjs +2 -1
  61. app-ng-runtime/components/basic/default/esm2022/icon/icon.component.mjs +6 -7
  62. app-ng-runtime/components/basic/default/esm2022/icon/icon.props.mjs +2 -1
  63. app-ng-runtime/components/basic/default/esm2022/iframe/iframe.component.mjs +3 -3
  64. app-ng-runtime/components/basic/default/esm2022/iframe/iframe.props.mjs +3 -2
  65. app-ng-runtime/components/basic/default/esm2022/label/label.props.mjs +1 -1
  66. app-ng-runtime/components/basic/default/esm2022/picture/picture.directive.mjs +2 -2
  67. app-ng-runtime/components/basic/default/esm2022/picture/picture.props.mjs +3 -1
  68. app-ng-runtime/components/basic/default/esm2022/spinner/spinner.props.mjs +3 -2
  69. app-ng-runtime/components/basic/default/esm2022/video/video.component.mjs +8 -4
  70. app-ng-runtime/components/basic/default/esm2022/video/video.props.mjs +2 -1
  71. app-ng-runtime/components/basic/default/fesm2022/index.mjs +39 -19
  72. app-ng-runtime/components/basic/default/fesm2022/index.mjs.map +1 -1
  73. app-ng-runtime/components/basic/default/icon/icon.component.d.ts +1 -0
  74. app-ng-runtime/components/basic/default/iframe/iframe.component.d.ts +1 -0
  75. app-ng-runtime/components/basic/default/picture/picture.directive.d.ts +2 -1
  76. app-ng-runtime/components/basic/default/video/video.component.d.ts +2 -0
  77. app-ng-runtime/components/basic/progress/bundles/index.umd.js +17 -9
  78. app-ng-runtime/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +9 -5
  79. app-ng-runtime/components/basic/progress/esm2022/progress-bar/progress-bar.props.mjs +2 -1
  80. app-ng-runtime/components/basic/progress/esm2022/progress-circle/progress-circle.component.mjs +8 -6
  81. app-ng-runtime/components/basic/progress/esm2022/progress-circle/progress-circle.props.mjs +2 -1
  82. app-ng-runtime/components/basic/progress/fesm2022/index.mjs +17 -9
  83. app-ng-runtime/components/basic/progress/fesm2022/index.mjs.map +1 -1
  84. app-ng-runtime/components/basic/progress/progress-bar/progress-bar.component.d.ts +2 -0
  85. app-ng-runtime/components/basic/progress/progress-circle/progress-circle.component.d.ts +3 -1
  86. app-ng-runtime/components/basic/rich-text-editor/bundles/index.umd.js +2 -0
  87. app-ng-runtime/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +2 -1
  88. app-ng-runtime/components/basic/rich-text-editor/esm2022/rich-text-editor.props.mjs +2 -1
  89. app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs +2 -0
  90. app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
  91. app-ng-runtime/components/basic/search/bundles/index.umd.js +35 -40
  92. app-ng-runtime/components/basic/search/esm2022/search.component.mjs +37 -40
  93. app-ng-runtime/components/basic/search/esm2022/search.props.mjs +3 -5
  94. app-ng-runtime/components/basic/search/fesm2022/index.mjs +35 -40
  95. app-ng-runtime/components/basic/search/fesm2022/index.mjs.map +1 -1
  96. app-ng-runtime/components/basic/search/search.component.d.ts +4 -5
  97. app-ng-runtime/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +1 -0
  98. app-ng-runtime/components/containers/accordion/bundles/index.umd.js +15 -9
  99. app-ng-runtime/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +13 -10
  100. app-ng-runtime/components/containers/accordion/esm2022/accordion.directive.mjs +4 -1
  101. app-ng-runtime/components/containers/accordion/fesm2022/index.mjs +15 -9
  102. app-ng-runtime/components/containers/accordion/fesm2022/index.mjs.map +1 -1
  103. app-ng-runtime/components/containers/panel/bundles/index.umd.js +14 -14
  104. app-ng-runtime/components/containers/panel/esm2022/panel.component.mjs +15 -15
  105. app-ng-runtime/components/containers/panel/fesm2022/index.mjs +14 -14
  106. app-ng-runtime/components/containers/panel/fesm2022/index.mjs.map +1 -1
  107. app-ng-runtime/components/containers/tabs/bundles/index.umd.js +6 -14
  108. app-ng-runtime/components/containers/tabs/esm2022/tabs.component.mjs +7 -14
  109. app-ng-runtime/components/containers/tabs/esm2022/tabs.props.mjs +2 -3
  110. app-ng-runtime/components/containers/tabs/fesm2022/index.mjs +6 -14
  111. app-ng-runtime/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  112. app-ng-runtime/components/containers/tabs/tabs.component.d.ts +0 -1
  113. app-ng-runtime/components/containers/wizard/bundles/index.umd.js +23 -6
  114. app-ng-runtime/components/containers/wizard/esm2022/wizard.component.mjs +24 -7
  115. app-ng-runtime/components/containers/wizard/fesm2022/index.mjs +23 -6
  116. app-ng-runtime/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  117. app-ng-runtime/components/containers/wizard/wizard.component.d.ts +1 -0
  118. app-ng-runtime/components/data/form/bundles/index.umd.js +4 -0
  119. app-ng-runtime/components/data/form/esm2022/form-field/form-field.directive.mjs +5 -3
  120. app-ng-runtime/components/data/form/fesm2022/index.mjs +4 -2
  121. app-ng-runtime/components/data/form/fesm2022/index.mjs.map +1 -1
  122. app-ng-runtime/components/data/form/form-field/form-field.directive.d.ts +1 -0
  123. app-ng-runtime/components/data/list/bundles/index.umd.js +11 -11
  124. app-ng-runtime/components/data/list/esm2022/list.component.mjs +12 -12
  125. app-ng-runtime/components/data/list/fesm2022/index.mjs +11 -11
  126. app-ng-runtime/components/data/list/fesm2022/index.mjs.map +1 -1
  127. app-ng-runtime/components/data/live-table/bundles/index.umd.js +2 -2
  128. app-ng-runtime/components/data/live-table/esm2022/live-table.component.mjs +3 -3
  129. app-ng-runtime/components/data/live-table/fesm2022/index.mjs +2 -2
  130. app-ng-runtime/components/data/live-table/fesm2022/index.mjs.map +1 -1
  131. app-ng-runtime/components/data/pagination/bundles/index.umd.js +2 -0
  132. app-ng-runtime/components/data/pagination/esm2022/pagination.component.mjs +3 -1
  133. app-ng-runtime/components/data/pagination/fesm2022/index.mjs +2 -0
  134. app-ng-runtime/components/data/pagination/fesm2022/index.mjs.map +1 -1
  135. app-ng-runtime/components/data/table/bundles/index.umd.js +44 -10
  136. app-ng-runtime/components/data/table/esm2022/table-column/table-column.directive.mjs +14 -5
  137. app-ng-runtime/components/data/table/esm2022/table.component.mjs +30 -7
  138. app-ng-runtime/components/data/table/esm2022/table.props.mjs +3 -1
  139. app-ng-runtime/components/data/table/fesm2022/index.mjs +45 -11
  140. app-ng-runtime/components/data/table/fesm2022/index.mjs.map +1 -1
  141. app-ng-runtime/components/data/table/table.component.d.ts +8 -1
  142. app-ng-runtime/components/dialogs/alert-dialog/bundles/index.umd.js +6 -4
  143. app-ng-runtime/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +7 -5
  144. app-ng-runtime/components/dialogs/alert-dialog/fesm2022/index.mjs +6 -4
  145. app-ng-runtime/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
  146. app-ng-runtime/components/dialogs/confirm-dialog/bundles/index.umd.js +8 -5
  147. app-ng-runtime/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +9 -6
  148. app-ng-runtime/components/dialogs/confirm-dialog/fesm2022/index.mjs +8 -5
  149. app-ng-runtime/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
  150. app-ng-runtime/components/dialogs/default/base-dialog.d.ts +0 -2
  151. app-ng-runtime/components/dialogs/default/bundles/index.umd.js +23 -17
  152. app-ng-runtime/components/dialogs/default/dialog-header/dialog-header.component.d.ts +2 -1
  153. app-ng-runtime/components/dialogs/default/esm2022/base-dialog.mjs +13 -1
  154. app-ng-runtime/components/dialogs/default/esm2022/dialog-body/dialog-body.directive.mjs +2 -14
  155. app-ng-runtime/components/dialogs/default/esm2022/dialog-header/dialog-header.component.mjs +12 -6
  156. app-ng-runtime/components/dialogs/default/fesm2022/index.mjs +24 -18
  157. app-ng-runtime/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  158. app-ng-runtime/components/dialogs/design-dialog/bundles/index.umd.js +7 -25
  159. app-ng-runtime/components/dialogs/design-dialog/dialog.component.d.ts +2 -3
  160. app-ng-runtime/components/dialogs/design-dialog/esm2022/dialog.component.mjs +8 -26
  161. app-ng-runtime/components/dialogs/design-dialog/fesm2022/index.mjs +7 -25
  162. app-ng-runtime/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
  163. app-ng-runtime/components/dialogs/iframe-dialog/bundles/index.umd.js +9 -5
  164. app-ng-runtime/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +10 -6
  165. app-ng-runtime/components/dialogs/iframe-dialog/fesm2022/index.mjs +9 -5
  166. app-ng-runtime/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
  167. app-ng-runtime/components/dialogs/partial-dialog/bundles/index.umd.js +9 -5
  168. app-ng-runtime/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +10 -6
  169. app-ng-runtime/components/dialogs/partial-dialog/fesm2022/index.mjs +9 -5
  170. app-ng-runtime/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
  171. app-ng-runtime/components/input/calendar/bundles/index.umd.js +2 -4
  172. app-ng-runtime/components/input/calendar/esm2022/calendar.component.mjs +3 -5
  173. app-ng-runtime/components/input/calendar/fesm2022/index.mjs +2 -4
  174. app-ng-runtime/components/input/calendar/fesm2022/index.mjs.map +1 -1
  175. app-ng-runtime/components/input/chips/bundles/index.umd.js +7 -3
  176. app-ng-runtime/components/input/chips/esm2022/chips.component.mjs +7 -4
  177. app-ng-runtime/components/input/chips/esm2022/chips.props.mjs +2 -1
  178. app-ng-runtime/components/input/chips/fesm2022/index.mjs +7 -3
  179. app-ng-runtime/components/input/chips/fesm2022/index.mjs.map +1 -1
  180. app-ng-runtime/components/input/color-picker/bundles/index.umd.js +5 -3
  181. app-ng-runtime/components/input/color-picker/color-picker.component.d.ts +1 -0
  182. app-ng-runtime/components/input/color-picker/esm2022/color-picker.component.mjs +6 -5
  183. app-ng-runtime/components/input/color-picker/esm2022/color-picker.props.mjs +2 -1
  184. app-ng-runtime/components/input/color-picker/fesm2022/index.mjs +5 -3
  185. app-ng-runtime/components/input/color-picker/fesm2022/index.mjs.map +1 -1
  186. app-ng-runtime/components/input/currency/bundles/index.umd.js +4 -3
  187. app-ng-runtime/components/input/currency/currency.component.d.ts +1 -0
  188. app-ng-runtime/components/input/currency/esm2022/currency.component.mjs +6 -6
  189. app-ng-runtime/components/input/currency/esm2022/currency.props.mjs +2 -1
  190. app-ng-runtime/components/input/currency/fesm2022/index.mjs +4 -3
  191. app-ng-runtime/components/input/currency/fesm2022/index.mjs.map +1 -1
  192. app-ng-runtime/components/input/default/bundles/index.umd.js +257 -197
  193. app-ng-runtime/components/input/default/button/button.component.d.ts +1 -0
  194. app-ng-runtime/components/input/default/checkbox/checkbox.component.d.ts +1 -0
  195. app-ng-runtime/components/input/default/checkboxset/checkboxset.component.d.ts +0 -1
  196. app-ng-runtime/components/input/default/esm2022/button/button.component.mjs +1 -1
  197. app-ng-runtime/components/input/default/esm2022/button/button.props.mjs +2 -1
  198. app-ng-runtime/components/input/default/esm2022/caption-position.directive.mjs +8 -7
  199. app-ng-runtime/components/input/default/esm2022/checkbox/checkbox.component.mjs +7 -7
  200. app-ng-runtime/components/input/default/esm2022/checkbox/checkbox.props.mjs +2 -1
  201. app-ng-runtime/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +25 -23
  202. app-ng-runtime/components/input/default/esm2022/number/number.component.mjs +5 -5
  203. app-ng-runtime/components/input/default/esm2022/number/number.props.mjs +3 -1
  204. app-ng-runtime/components/input/default/esm2022/radioset/radioset.component.mjs +32 -30
  205. app-ng-runtime/components/input/default/esm2022/select/select.component.mjs +60 -30
  206. app-ng-runtime/components/input/default/esm2022/select/select.props.mjs +2 -1
  207. app-ng-runtime/components/input/default/esm2022/switch/switch.component.mjs +39 -64
  208. app-ng-runtime/components/input/default/esm2022/switch/switch.props.mjs +2 -2
  209. app-ng-runtime/components/input/default/esm2022/text/base/base-input.mjs +1 -4
  210. app-ng-runtime/components/input/default/esm2022/text/calendar/input-calendar.component.mjs +5 -5
  211. app-ng-runtime/components/input/default/esm2022/text/calendar/input-calendar.props.mjs +2 -1
  212. app-ng-runtime/components/input/default/esm2022/text/color/input-color.component.mjs +5 -5
  213. app-ng-runtime/components/input/default/esm2022/text/color/input-color.props.mjs +2 -1
  214. app-ng-runtime/components/input/default/esm2022/text/email/input-email.component.mjs +5 -5
  215. app-ng-runtime/components/input/default/esm2022/text/email/input-email.props.mjs +2 -1
  216. app-ng-runtime/components/input/default/esm2022/text/locale/number-locale.mjs +51 -14
  217. app-ng-runtime/components/input/default/esm2022/text/number/input-number.component.mjs +5 -5
  218. app-ng-runtime/components/input/default/esm2022/text/number/input-number.props.mjs +2 -1
  219. app-ng-runtime/components/input/default/esm2022/text/text/input-text.component.mjs +5 -5
  220. app-ng-runtime/components/input/default/esm2022/text/text/input-text.props.mjs +2 -1
  221. app-ng-runtime/components/input/default/esm2022/textarea/textarea.component.mjs +9 -6
  222. app-ng-runtime/components/input/default/esm2022/textarea/textarea.props.mjs +2 -1
  223. app-ng-runtime/components/input/default/fesm2022/index.mjs +257 -197
  224. app-ng-runtime/components/input/default/fesm2022/index.mjs.map +1 -1
  225. app-ng-runtime/components/input/default/number/number.component.d.ts +1 -0
  226. app-ng-runtime/components/input/default/radioset/radioset.component.d.ts +0 -1
  227. app-ng-runtime/components/input/default/select/select.component.d.ts +4 -4
  228. app-ng-runtime/components/input/default/switch/switch.component.d.ts +0 -2
  229. app-ng-runtime/components/input/default/text/calendar/input-calendar.component.d.ts +1 -0
  230. app-ng-runtime/components/input/default/text/color/input-color.component.d.ts +1 -0
  231. app-ng-runtime/components/input/default/text/email/input-email.component.d.ts +1 -0
  232. app-ng-runtime/components/input/default/text/locale/number-locale.d.ts +1 -0
  233. app-ng-runtime/components/input/default/text/number/input-number.component.d.ts +1 -0
  234. app-ng-runtime/components/input/default/text/text/input-text.component.d.ts +1 -0
  235. app-ng-runtime/components/input/default/textarea/textarea.component.d.ts +4 -2
  236. app-ng-runtime/components/input/epoch/base-date-time.component.d.ts +2 -1
  237. app-ng-runtime/components/input/epoch/bundles/index.umd.js +31 -21
  238. app-ng-runtime/components/input/epoch/date/date.component.d.ts +1 -0
  239. app-ng-runtime/components/input/epoch/date-time/date-time.component.d.ts +2 -1
  240. app-ng-runtime/components/input/epoch/esm2022/base-date-time.component.mjs +10 -6
  241. app-ng-runtime/components/input/epoch/esm2022/date/date.component.mjs +8 -8
  242. app-ng-runtime/components/input/epoch/esm2022/date/date.props.mjs +2 -1
  243. app-ng-runtime/components/input/epoch/esm2022/date-time/date-time.component.mjs +12 -9
  244. app-ng-runtime/components/input/epoch/esm2022/date-time/date-time.props.mjs +2 -1
  245. app-ng-runtime/components/input/epoch/esm2022/time/time.component.mjs +7 -7
  246. app-ng-runtime/components/input/epoch/esm2022/time/time.props.mjs +2 -1
  247. app-ng-runtime/components/input/epoch/fesm2022/index.mjs +28 -18
  248. app-ng-runtime/components/input/epoch/fesm2022/index.mjs.map +1 -1
  249. app-ng-runtime/components/input/epoch/time/time.component.d.ts +1 -0
  250. app-ng-runtime/components/input/file-upload/bundles/index.umd.js +241 -112
  251. app-ng-runtime/components/input/file-upload/esm2022/file-upload.component.mjs +238 -115
  252. app-ng-runtime/components/input/file-upload/esm2022/file-upload.props.mjs +7 -1
  253. app-ng-runtime/components/input/file-upload/fesm2022/index.mjs +242 -113
  254. app-ng-runtime/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  255. app-ng-runtime/components/input/file-upload/file-upload.component.d.ts +23 -12
  256. app-ng-runtime/components/input/rating/bundles/index.umd.js +35 -26
  257. app-ng-runtime/components/input/rating/esm2022/rating.component.mjs +37 -26
  258. app-ng-runtime/components/input/rating/esm2022/rating.props.mjs +1 -3
  259. app-ng-runtime/components/input/rating/fesm2022/index.mjs +36 -27
  260. app-ng-runtime/components/input/rating/fesm2022/index.mjs.map +1 -1
  261. app-ng-runtime/components/input/rating/rating.component.d.ts +1 -3
  262. app-ng-runtime/components/input/slider/bundles/index.umd.js +5 -6
  263. app-ng-runtime/components/input/slider/esm2022/slider.component.mjs +6 -8
  264. app-ng-runtime/components/input/slider/esm2022/slider.props.mjs +2 -1
  265. app-ng-runtime/components/input/slider/fesm2022/index.mjs +5 -6
  266. app-ng-runtime/components/input/slider/fesm2022/index.mjs.map +1 -1
  267. app-ng-runtime/components/input/slider/slider.component.d.ts +1 -0
  268. app-ng-runtime/components/navigation/breadcrumb/bundles/index.umd.js +6 -6
  269. app-ng-runtime/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +7 -7
  270. app-ng-runtime/components/navigation/breadcrumb/fesm2022/index.mjs +6 -6
  271. app-ng-runtime/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
  272. app-ng-runtime/components/navigation/menu/bundles/index.umd.js +10 -8
  273. app-ng-runtime/components/navigation/menu/esm2022/menu.component.mjs +9 -8
  274. app-ng-runtime/components/navigation/menu/esm2022/menu.props.mjs +2 -1
  275. app-ng-runtime/components/navigation/menu/esm2022/nav/nav.component.mjs +2 -2
  276. app-ng-runtime/components/navigation/menu/fesm2022/index.mjs +10 -8
  277. app-ng-runtime/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  278. app-ng-runtime/components/navigation/menu/menu.component.d.ts +1 -0
  279. app-ng-runtime/components/navigation/popover/bundles/index.umd.js +121 -13
  280. app-ng-runtime/components/navigation/popover/esm2022/popover.component.mjs +122 -15
  281. app-ng-runtime/components/navigation/popover/esm2022/popover.props.mjs +2 -1
  282. app-ng-runtime/components/navigation/popover/fesm2022/index.mjs +121 -13
  283. app-ng-runtime/components/navigation/popover/fesm2022/index.mjs.map +1 -1
  284. app-ng-runtime/components/navigation/popover/popover.component.d.ts +15 -3
  285. app-ng-runtime/components/page/default/bundles/index.umd.js +2 -1
  286. app-ng-runtime/components/page/default/esm2022/page.props.mjs +4 -3
  287. app-ng-runtime/components/page/default/fesm2022/index.mjs +2 -1
  288. app-ng-runtime/components/page/default/fesm2022/index.mjs.map +1 -1
  289. app-ng-runtime/components/page/footer/bundles/index.umd.js +2 -1
  290. app-ng-runtime/components/page/footer/esm2022/footer.props.mjs +3 -2
  291. app-ng-runtime/components/page/footer/fesm2022/index.mjs +2 -1
  292. app-ng-runtime/components/page/footer/fesm2022/index.mjs.map +1 -1
  293. app-ng-runtime/components/page/header/bundles/index.umd.js +2 -1
  294. app-ng-runtime/components/page/header/esm2022/header.props.mjs +3 -2
  295. app-ng-runtime/components/page/header/fesm2022/index.mjs +2 -1
  296. app-ng-runtime/components/page/header/fesm2022/index.mjs.map +1 -1
  297. app-ng-runtime/components/page/left-panel/bundles/index.umd.js +4 -7
  298. app-ng-runtime/components/page/left-panel/esm2022/left-panel.directive.mjs +5 -9
  299. app-ng-runtime/components/page/left-panel/esm2022/left-panel.props.mjs +3 -2
  300. app-ng-runtime/components/page/left-panel/fesm2022/index.mjs +6 -9
  301. app-ng-runtime/components/page/left-panel/fesm2022/index.mjs.map +1 -1
  302. app-ng-runtime/components/page/left-panel/left-panel.directive.d.ts +2 -2
  303. app-ng-runtime/components/page/right-panel/bundles/index.umd.js +4 -7
  304. app-ng-runtime/components/page/right-panel/esm2022/right-panel.directive.mjs +5 -9
  305. app-ng-runtime/components/page/right-panel/esm2022/right-panel.props.mjs +3 -2
  306. app-ng-runtime/components/page/right-panel/fesm2022/index.mjs +6 -9
  307. app-ng-runtime/components/page/right-panel/fesm2022/index.mjs.map +1 -1
  308. app-ng-runtime/components/page/right-panel/right-panel.directive.d.ts +2 -2
  309. app-ng-runtime/components/page/top-nav/bundles/index.umd.js +2 -1
  310. app-ng-runtime/components/page/top-nav/esm2022/top-nav.props.mjs +3 -2
  311. app-ng-runtime/components/page/top-nav/fesm2022/index.mjs +2 -1
  312. app-ng-runtime/components/page/top-nav/fesm2022/index.mjs.map +1 -1
  313. app-ng-runtime/core/bundles/index.umd.js +11 -31
  314. app-ng-runtime/core/enums/enums.d.ts +1 -2
  315. app-ng-runtime/core/esm2022/enums/enums.mjs +1 -2
  316. app-ng-runtime/core/esm2022/public_api.mjs +2 -2
  317. app-ng-runtime/core/esm2022/types/types.mjs +1 -4
  318. app-ng-runtime/core/esm2022/utils/build-utils.mjs +7 -12
  319. app-ng-runtime/core/esm2022/utils/utils.mjs +4 -12
  320. app-ng-runtime/core/fesm2022/index.mjs +11 -29
  321. app-ng-runtime/core/fesm2022/index.mjs.map +1 -1
  322. app-ng-runtime/core/public_api.d.ts +1 -1
  323. app-ng-runtime/core/types/types.d.ts +1 -5
  324. app-ng-runtime/core/utils/utils.d.ts +1 -2
  325. app-ng-runtime/mobile/components/device/barcode-scanner/bundles/index.umd.js +2 -1
  326. app-ng-runtime/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.props.mjs +3 -2
  327. app-ng-runtime/mobile/components/device/barcode-scanner/fesm2022/index.mjs +2 -1
  328. app-ng-runtime/mobile/components/device/barcode-scanner/fesm2022/index.mjs.map +1 -1
  329. app-ng-runtime/mobile/components/device/camera/bundles/index.umd.js +2 -1
  330. app-ng-runtime/mobile/components/device/camera/esm2022/camera.props.mjs +3 -2
  331. app-ng-runtime/mobile/components/device/camera/fesm2022/index.mjs +2 -1
  332. app-ng-runtime/mobile/components/device/camera/fesm2022/index.mjs.map +1 -1
  333. app-ng-runtime/mobile/core/bundles/index.umd.js +18 -2
  334. app-ng-runtime/mobile/core/esm2022/native.xhr.mjs +19 -3
  335. app-ng-runtime/mobile/core/fesm2022/index.mjs +18 -2
  336. app-ng-runtime/mobile/core/fesm2022/index.mjs.map +1 -1
  337. app-ng-runtime/package.json +1 -1
  338. app-ng-runtime/runtime/base/bundles/index.umd.js +11 -300
  339. app-ng-runtime/runtime/base/components/app-component/app.component.d.ts +2 -3
  340. app-ng-runtime/runtime/base/esm2022/components/app-component/app.component.mjs +5 -5
  341. app-ng-runtime/runtime/base/esm2022/guards/can-deactivate-page.guard.mjs +5 -4
  342. app-ng-runtime/runtime/base/esm2022/public_api.mjs +1 -2
  343. app-ng-runtime/runtime/base/esm2022/runtime-base.module.mjs +1 -6
  344. app-ng-runtime/runtime/base/esm2022/services/i18n.service.mjs +2 -2
  345. app-ng-runtime/runtime/base/esm2022/types/types.mjs +1 -4
  346. app-ng-runtime/runtime/base/fesm2022/index.mjs +10 -298
  347. app-ng-runtime/runtime/base/fesm2022/index.mjs.map +1 -1
  348. app-ng-runtime/runtime/base/guards/can-deactivate-page.guard.d.ts +2 -1
  349. app-ng-runtime/runtime/base/public_api.d.ts +0 -1
  350. app-ng-runtime/runtime/base/runtime-base.module.d.ts +8 -9
  351. app-ng-runtime/runtime/base/types/types.d.ts +1 -5
  352. app-ng-runtime/runtime/dynamic/bundles/index.umd.js +13 -49
  353. app-ng-runtime/runtime/dynamic/esm2022/app/app.module.mjs +3 -8
  354. app-ng-runtime/runtime/dynamic/esm2022/app/services/component-ref-provider.service.mjs +7 -23
  355. app-ng-runtime/runtime/dynamic/fesm2022/index.mjs +11 -50
  356. app-ng-runtime/runtime/dynamic/fesm2022/index.mjs.map +1 -1
  357. app-ng-runtime/scripts/@wavemaker/nvd3/build/nv.d3.min.js +1 -1
  358. app-ng-runtime/scripts/datatable/datatable.js +38 -34
  359. app-ng-runtime/scripts/summernote/dist/summernote-lite.min.js +2 -3
  360. app-ng-runtime/transpiler/bundles/index.umd.js +0 -5
  361. app-ng-runtime/transpiler/esm2022/build.mjs +1 -4
  362. app-ng-runtime/transpiler/esm2022/imports.mjs +1 -3
  363. app-ng-runtime/transpiler/fesm2022/index.mjs +0 -5
  364. app-ng-runtime/transpiler/fesm2022/index.mjs.map +1 -1
  365. app-ng-runtime/variables/bundles/index.umd.js +34 -16
  366. app-ng-runtime/variables/esm2022/manager/variable/web-socket-variable.manager.mjs +35 -17
  367. app-ng-runtime/variables/fesm2022/index.mjs +34 -16
  368. app-ng-runtime/variables/fesm2022/index.mjs.map +1 -1
  369. app-ng-runtime/variables/manager/variable/web-socket-variable.manager.d.ts +0 -4
  370. app-ng-runtime/build-task/advanced/custom-widget-container/custom-widget-container.build.d.ts +0 -2
  371. app-ng-runtime/build-task/advanced/custom-widget-wrapper/custom-widget-wrapper.build.d.ts +0 -2
  372. app-ng-runtime/build-task/esm2022/advanced/custom-widget-container/custom-widget-container.build.mjs +0 -15
  373. app-ng-runtime/build-task/esm2022/advanced/custom-widget-wrapper/custom-widget-wrapper.build.mjs +0 -26
  374. app-ng-runtime/components/advanced/custom/.npmignore +0 -2
  375. app-ng-runtime/components/advanced/custom/bundles/index.umd.js +0 -232
  376. app-ng-runtime/components/advanced/custom/custom-widget-container/custom-widget-container.directive.d.ts +0 -19
  377. app-ng-runtime/components/advanced/custom/custom-widget-container/custom-widget.props.d.ts +0 -2
  378. app-ng-runtime/components/advanced/custom/custom-widget-prop.d.ts +0 -1
  379. app-ng-runtime/components/advanced/custom/custom-widget.directive.d.ts +0 -19
  380. app-ng-runtime/components/advanced/custom/custom-widget.module.d.ts +0 -10
  381. app-ng-runtime/components/advanced/custom/esm2022/custom-widget-container/custom-widget-container.directive.mjs +0 -102
  382. app-ng-runtime/components/advanced/custom/esm2022/custom-widget-container/custom-widget.props.mjs +0 -12
  383. app-ng-runtime/components/advanced/custom/esm2022/custom-widget-prop.mjs +0 -8
  384. app-ng-runtime/components/advanced/custom/esm2022/custom-widget.directive.mjs +0 -68
  385. app-ng-runtime/components/advanced/custom/esm2022/custom-widget.module.mjs +0 -32
  386. app-ng-runtime/components/advanced/custom/esm2022/index.mjs +0 -5
  387. app-ng-runtime/components/advanced/custom/esm2022/public_api.mjs +0 -4
  388. app-ng-runtime/components/advanced/custom/fesm2022/index.mjs +0 -215
  389. app-ng-runtime/components/advanced/custom/fesm2022/index.mjs.map +0 -1
  390. app-ng-runtime/components/advanced/custom/index.d.ts +0 -5
  391. app-ng-runtime/components/advanced/custom/package.json +0 -23
  392. app-ng-runtime/components/advanced/custom/public_api.d.ts +0 -3
  393. app-ng-runtime/components/base/esm2022/widgets/common/base/custom-widget-container.directive.mjs +0 -39
  394. app-ng-runtime/components/base/widgets/common/base/custom-widget-container.directive.d.ts +0 -14
  395. app-ng-runtime/runtime/base/components/base-custom-widget.component.d.ts +0 -73
  396. app-ng-runtime/runtime/base/esm2022/components/base-custom-widget.component.mjs +0 -294
  397. app-ng-runtime/runtime/dynamic/app/services/customwidget-config-provider.service.d.ts +0 -8
  398. app-ng-runtime/runtime/dynamic/esm2022/app/services/customwidget-config-provider.service.mjs +0 -22
@@ -22,10 +22,10 @@ function RadiosetComponent_ng_template_0_li_0_label_1_Template(rf, ctx) { if (rf
22
22
  const item_r2 = ctx_r3.$implicit;
23
23
  const i_r5 = ctx_r3.index;
24
24
  const ctx_r2 = i0.ɵɵnextContext(2);
25
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c2, ctx_r2.disabled || ctx_r2.readonly));
25
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c2, ctx_r2.disabled || ctx_r2.readonly));
26
26
  i0.ɵɵadvance();
27
- i0.ɵɵproperty("name", "radioset_" + ctx_r2.widgetId)("value", item_r2.key)("disabled", ctx_r2.disabled || ctx_r2.readonly)("tabindex", ctx_r2.tabindex)("checked", item_r2.selected);
28
- i0.ɵɵattribute("aria-checked", item_r2.selected)("data-attr-index", i_r5)("aria-label", item_r2.key);
27
+ i0.ɵɵproperty("checked", item_r2.selected)("disabled", ctx_r2.disabled || ctx_r2.readonly)("name", "radioset_" + ctx_r2.widgetId)("tabindex", ctx_r2.tabindex)("value", item_r2.key);
28
+ i0.ɵɵattribute("data-attr-index", i_r5);
29
29
  i0.ɵɵadvance();
30
30
  i0.ɵɵproperty("textContent", item_r2.label);
31
31
  } }
@@ -38,16 +38,16 @@ function RadiosetComponent_ng_template_0_li_0_label_2_Template(rf, ctx) { if (rf
38
38
  const item_r2 = ctx_r3.$implicit;
39
39
  const i_r5 = ctx_r3.index;
40
40
  const ctx_r2 = i0.ɵɵnextContext(2);
41
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(9, _c2, ctx_r2.disabled || ctx_r2.readonly));
41
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c2, ctx_r2.disabled || ctx_r2.readonly));
42
42
  i0.ɵɵadvance();
43
- i0.ɵɵproperty("name", "radioset_" + ctx_r2.widgetId)("value", item_r2.key)("disabled", ctx_r2.disabled || ctx_r2.readonly)("tabindex", ctx_r2.tabindex)("checked", item_r2.selected);
44
- i0.ɵɵattribute("aria-checked", item_r2.selected)("data-attr-index", i_r5)("aria-label", item_r2.key);
43
+ i0.ɵɵproperty("checked", item_r2.selected)("disabled", ctx_r2.disabled || ctx_r2.readonly)("name", "radioset_" + ctx_r2.widgetId)("tabindex", ctx_r2.tabindex)("value", item_r2.key);
44
+ i0.ɵɵattribute("data-attr-index", i_r5);
45
45
  } }
46
46
  function RadiosetComponent_ng_template_0_li_0_Template(rf, ctx) { if (rf & 1) {
47
47
  const _r1 = i0.ɵɵgetCurrentView();
48
48
  i0.ɵɵelementStart(0, "li", 5);
49
49
  i0.ɵɵlistener("click", function RadiosetComponent_ng_template_0_li_0_Template_li_click_0_listener($event) { const item_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onRadioLabelClick($event, item_r2.key)); });
50
- i0.ɵɵtemplate(1, RadiosetComponent_ng_template_0_li_0_label_1_Template, 3, 12, "label", 6)(2, RadiosetComponent_ng_template_0_li_0_label_2_Template, 3, 11, "label", 6);
50
+ i0.ɵɵtemplate(1, RadiosetComponent_ng_template_0_li_0_label_1_Template, 3, 10, "label", 6)(2, RadiosetComponent_ng_template_0_li_0_label_2_Template, 3, 9, "label", 6);
51
51
  i0.ɵɵelementEnd();
52
52
  } if (rf & 2) {
53
53
  const item_r2 = ctx.$implicit;
@@ -82,39 +82,39 @@ function RadiosetComponent_ng_template_3_li_0_span_7_Template(rf, ctx) { if (rf
82
82
  } }
83
83
  function RadiosetComponent_ng_template_3_li_0_li_8_label_1_Template(rf, ctx) { if (rf & 1) {
84
84
  i0.ɵɵelementStart(0, "label", 7);
85
- i0.ɵɵelement(1, "input", 8)(2, "span", 9);
85
+ i0.ɵɵelement(1, "input", 24)(2, "span", 9);
86
86
  i0.ɵɵelementEnd();
87
87
  } if (rf & 2) {
88
88
  const ctx_r9 = i0.ɵɵnextContext();
89
89
  const item_r9 = ctx_r9.$implicit;
90
90
  const i_r11 = ctx_r9.index;
91
91
  const ctx_r2 = i0.ɵɵnextContext(3);
92
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(9, _c2, ctx_r2.disabled || ctx_r2.readonly));
92
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c2, ctx_r2.disabled || ctx_r2.readonly));
93
93
  i0.ɵɵadvance();
94
94
  i0.ɵɵproperty("name", "radioset_" + ctx_r2.widgetId)("value", item_r9.key)("disabled", ctx_r2.disabled || ctx_r2.readonly)("tabindex", ctx_r2.tabindex)("checked", item_r9.selected);
95
- i0.ɵɵattribute("aria-checked", item_r9.selected)("data-attr-index", i_r11);
95
+ i0.ɵɵattribute("data-attr-index", i_r11);
96
96
  i0.ɵɵadvance();
97
97
  i0.ɵɵproperty("textContent", item_r9.label);
98
98
  } }
99
99
  function RadiosetComponent_ng_template_3_li_0_li_8_label_2_Template(rf, ctx) { if (rf & 1) {
100
100
  i0.ɵɵelementStart(0, "label", 7);
101
- i0.ɵɵelement(1, "input", 8)(2, "span", 10);
101
+ i0.ɵɵelement(1, "input", 24)(2, "span", 10);
102
102
  i0.ɵɵelementEnd();
103
103
  } if (rf & 2) {
104
104
  const ctx_r9 = i0.ɵɵnextContext();
105
105
  const item_r9 = ctx_r9.$implicit;
106
106
  const i_r11 = ctx_r9.index;
107
107
  const ctx_r2 = i0.ɵɵnextContext(3);
108
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c2, ctx_r2.disabled || ctx_r2.readonly));
108
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c2, ctx_r2.disabled || ctx_r2.readonly));
109
109
  i0.ɵɵadvance();
110
110
  i0.ɵɵproperty("name", "radioset_" + ctx_r2.widgetId)("value", item_r9.key)("disabled", ctx_r2.disabled || ctx_r2.readonly)("tabindex", ctx_r2.tabindex)("checked", item_r9.selected);
111
- i0.ɵɵattribute("aria-checked", item_r9.selected)("data-attr-index", i_r11);
111
+ i0.ɵɵattribute("data-attr-index", i_r11);
112
112
  } }
113
113
  function RadiosetComponent_ng_template_3_li_0_li_8_Template(rf, ctx) { if (rf & 1) {
114
114
  const _r8 = i0.ɵɵgetCurrentView();
115
115
  i0.ɵɵelementStart(0, "li", 23);
116
116
  i0.ɵɵlistener("click", function RadiosetComponent_ng_template_3_li_0_li_8_Template_li_click_0_listener($event) { const item_r9 = i0.ɵɵrestoreView(_r8).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.onRadioLabelClick($event, item_r9)); });
117
- i0.ɵɵtemplate(1, RadiosetComponent_ng_template_3_li_0_li_8_label_1_Template, 3, 11, "label", 6)(2, RadiosetComponent_ng_template_3_li_0_li_8_label_2_Template, 3, 10, "label", 6);
117
+ i0.ɵɵtemplate(1, RadiosetComponent_ng_template_3_li_0_li_8_label_1_Template, 3, 10, "label", 6)(2, RadiosetComponent_ng_template_3_li_0_li_8_label_2_Template, 3, 9, "label", 6);
118
118
  i0.ɵɵelementEnd();
119
119
  } if (rf & 2) {
120
120
  const item_r9 = ctx.$implicit;
@@ -139,10 +139,15 @@ function RadiosetComponent_ng_template_3_li_0_Template(rf, ctx) { if (rf & 1) {
139
139
  i0.ɵɵelementEnd()();
140
140
  } if (rf & 2) {
141
141
  const groupObj_r7 = ctx.$implicit;
142
+ const groupindex_r12 = ctx.index;
142
143
  const ctx_r2 = i0.ɵɵnextContext(2);
143
- i0.ɵɵadvance(2);
144
- i0.ɵɵproperty("title", groupObj_r7.key)("ngClass", i0.ɵɵpureFunction1(6, _c3, ctx_r2.collapsible));
145
- i0.ɵɵadvance(2);
144
+ i0.ɵɵadvance();
145
+ i0.ɵɵattribute("aria-labelledby", "group_" + ctx_r2.widgetId + "_" + groupindex_r12);
146
+ i0.ɵɵadvance();
147
+ i0.ɵɵproperty("id", "group_" + ctx_r2.widgetId + "_" + groupindex_r12)("title", groupObj_r7.key)("ngClass", i0.ɵɵpureFunction1(9, _c3, ctx_r2.collapsible));
148
+ i0.ɵɵadvance();
149
+ i0.ɵɵattribute("aria-label", "Group " + groupObj_r7.key);
150
+ i0.ɵɵadvance();
146
151
  i0.ɵɵtextInterpolate1("", groupObj_r7.key, " ");
147
152
  i0.ɵɵadvance(2);
148
153
  i0.ɵɵproperty("ngIf", ctx_r2.collapsible);
@@ -152,7 +157,7 @@ function RadiosetComponent_ng_template_3_li_0_Template(rf, ctx) { if (rf & 1) {
152
157
  i0.ɵɵproperty("ngForOf", groupObj_r7.data);
153
158
  } }
154
159
  function RadiosetComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
155
- i0.ɵɵtemplate(0, RadiosetComponent_ng_template_3_li_0_Template, 9, 8, "li", 12);
160
+ i0.ɵɵtemplate(0, RadiosetComponent_ng_template_3_li_0_Template, 9, 11, "li", 12);
156
161
  } if (rf & 2) {
157
162
  const ctx_r2 = i0.ɵɵnextContext();
158
163
  i0.ɵɵproperty("ngForOf", ctx_r2.groupedData);
@@ -167,12 +172,6 @@ export class RadiosetComponent extends DatasetAwareFormComponent {
167
172
  styler(this.nativeElement, this);
168
173
  this.multiple = false;
169
174
  }
170
- triggerInvokeOnChange(key, $event) {
171
- this.modelByKey = key;
172
- this.invokeOnTouched();
173
- // invoke on datavalue change.
174
- this.invokeOnChange(this.datavalue, $event || {}, true);
175
- }
176
175
  /**
177
176
  * On click of the option, update the datavalue
178
177
  */
@@ -180,7 +179,10 @@ export class RadiosetComponent extends DatasetAwareFormComponent {
180
179
  if (!$($event.target).is('input')) {
181
180
  return;
182
181
  }
183
- this.triggerInvokeOnChange(key, $event);
182
+ this.modelByKey = key;
183
+ this.invokeOnTouched();
184
+ // invoke on datavalue change.
185
+ this.invokeOnChange(this.datavalue, $event || {}, true);
184
186
  }
185
187
  // change and blur events are added from the template
186
188
  handleEvent(node, eventName, callback, locals) {
@@ -213,13 +215,13 @@ export class RadiosetComponent extends DatasetAwareFormComponent {
213
215
  provideAs(RadiosetComponent, NG_VALUE_ACCESSOR, true),
214
216
  provideAs(RadiosetComponent, NG_VALIDATORS, true),
215
217
  provideAsWidgetRef(RadiosetComponent)
216
- ]), i0.ɵɵInheritDefinitionFeature], attrs: _c0, decls: 5, vars: 4, consts: [["groupedListTemplate", ""], [3, "ngIf", "ngIfElse"], ["hidden", "", 1, "model-holder", 3, "disabled"], ["aria-readonly", "true", "class", "readonly-wrapper", 4, "ngIf"], ["partialContainer", "", "role", "presentation", 3, "ngClass", "active", "wmItemTemplate", "userComponentParams", "click", 4, "ngFor", "ngForOf"], ["partialContainer", "", "role", "presentation", 3, "click", "ngClass", "wmItemTemplate", "userComponentParams"], ["class", "app-radioset-label", 3, "ngClass", 4, "ngIf"], [1, "app-radioset-label", 3, "ngClass"], ["type", "radio", 3, "name", "value", "disabled", "tabindex", "checked"], [1, "caption", 3, "textContent"], ["partial-container-target", "", 1, "caption", "customTemplate"], ["aria-readonly", "true", 1, "readonly-wrapper"], ["class", "app-list-item-group", 4, "ngFor", "ngForOf"], [1, "app-list-item-group"], [1, "item-group"], [1, "list-group-header", 3, "click", "title", "ngClass"], [1, "group-title"], [1, "header-action"], ["class", "app-icon wi action wi-chevron-up", 3, "title", 4, "ngIf"], ["class", "label label-default", 3, "textContent", 4, "ngIf"], ["partialContainer", "", 3, "ngClass", "active", "wmItemTemplate", "userComponentParams", "click", 4, "ngFor", "ngForOf"], [1, "app-icon", "wi", "action", "wi-chevron-up", 3, "title"], [1, "label", "label-default", 3, "textContent"], ["partialContainer", "", 3, "click", "ngClass", "wmItemTemplate", "userComponentParams"]], template: function RadiosetComponent_Template(rf, ctx) { if (rf & 1) {
218
+ ]), i0.ɵɵInheritDefinitionFeature], attrs: _c0, decls: 5, vars: 4, consts: [["groupedListTemplate", ""], [3, "ngIf", "ngIfElse"], ["hidden", "", 1, "model-holder", 3, "disabled"], ["aria-readonly", "true", "class", "readonly-wrapper", 4, "ngIf"], ["partialContainer", "", "role", "presentation", 3, "ngClass", "active", "wmItemTemplate", "userComponentParams", "click", 4, "ngFor", "ngForOf"], ["partialContainer", "", "role", "presentation", 3, "click", "ngClass", "wmItemTemplate", "userComponentParams"], ["class", "app-radioset-label", 3, "ngClass", 4, "ngIf"], [1, "app-radioset-label", 3, "ngClass"], ["type", "radio", 3, "checked", "disabled", "name", "tabindex", "value"], [1, "caption", 3, "textContent"], ["partial-container-target", "", 1, "caption", "customTemplate"], ["aria-readonly", "true", 1, "readonly-wrapper"], ["class", "app-list-item-group", "role", "presentation", 4, "ngFor", "ngForOf"], ["role", "presentation", 1, "app-list-item-group"], [1, "item-group"], ["aria-hidden", "true", 1, "list-group-header", 3, "click", "id", "title", "ngClass"], [1, "group-title"], [1, "header-action"], ["class", "app-icon wi action wi-chevron-up", 3, "title", 4, "ngIf"], ["class", "label label-default", 3, "textContent", 4, "ngIf"], ["partialContainer", "", 3, "ngClass", "active", "wmItemTemplate", "userComponentParams", "click", 4, "ngFor", "ngForOf"], [1, "app-icon", "wi", "action", "wi-chevron-up", 3, "title"], [1, "label", "label-default", 3, "textContent"], ["partialContainer", "", 3, "click", "ngClass", "wmItemTemplate", "userComponentParams"], ["type", "radio", 3, "name", "value", "disabled", "tabindex", "checked"]], template: function RadiosetComponent_Template(rf, ctx) { if (rf & 1) {
217
219
  i0.ɵɵtemplate(0, RadiosetComponent_ng_template_0_Template, 1, 1, "ng-template", 1);
218
220
  i0.ɵɵelement(1, "input", 2);
219
221
  i0.ɵɵtemplate(2, RadiosetComponent_div_2_Template, 1, 0, "div", 3)(3, RadiosetComponent_ng_template_3_Template, 1, 1, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
220
222
  } if (rf & 2) {
221
- const groupedListTemplate_r12 = i0.ɵɵreference(4);
222
- i0.ɵɵproperty("ngIf", !ctx.groupby)("ngIfElse", groupedListTemplate_r12);
223
+ const groupedListTemplate_r13 = i0.ɵɵreference(4);
224
+ i0.ɵɵproperty("ngIf", !ctx.groupby)("ngIfElse", groupedListTemplate_r13);
223
225
  i0.ɵɵadvance();
224
226
  i0.ɵɵproperty("disabled", ctx.disabled || ctx.readonly);
225
227
  i0.ɵɵadvance();
@@ -232,7 +234,7 @@ export class RadiosetComponent extends DatasetAwareFormComponent {
232
234
  provideAs(RadiosetComponent, NG_VALUE_ACCESSOR, true),
233
235
  provideAs(RadiosetComponent, NG_VALIDATORS, true),
234
236
  provideAsWidgetRef(RadiosetComponent)
235
- ], template: "<ng-template [ngIf]=\"!groupby\" [ngIfElse]=\"groupedListTemplate\">\n <li [ngClass]=\"['radio', 'app-radio', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n *ngFor=\"let item of datasetItems;let i = index\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onRadioLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [name]=\"'radioset_' + widgetId\" type=\"radio\" [attr.aria-checked]=\"item.selected\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"\n [attr.aria-label]=\"item.key\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [name]=\"'radioset_' + widgetId\" type=\"radio\" [attr.aria-checked]=\"item.selected\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"\n [attr.aria-label]=\"item.key\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n </li>\n</ng-template>\n\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\">\n<div *ngIf=\"readonly || disabled\" aria-readonly=\"true\" class=\"readonly-wrapper\"></div>\n\n<!-- This template will be displayed when groupby is specified. -->\n<ng-template #groupedListTemplate>\n <li *ngFor=\"let groupObj of groupedData\" class=\"app-list-item-group\">\n <ul class=\"item-group\">\n <li class=\"list-group-header\" (click)=\"handleHeaderClick($event)\" [title]=\"groupObj.key\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4 class=\"group-title\">{{groupObj.key}}\n <div class=\"header-action\">\n <i class=\"app-icon wi action wi-chevron-up\" *ngIf=\"collapsible\" title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\"></i>\n <span *ngIf=\"showcount\" class=\"label label-default\" [textContent]=\"groupObj.data.length\"></span>\n </div>\n </h4>\n </li>\n <li *ngFor=\"let item of groupObj.data; let i = index;\"\n [ngClass]=\"['radio', 'app-radio', 'group-list-item', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onRadioLabelClick($event, item)\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [name]=\"'radioset_' + widgetId\" type=\"radio\" [attr.aria-checked]=\"item.selected\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [name]=\"'radioset_' + widgetId\" type=\"radio\" [attr.aria-checked]=\"item.selected\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n </li>\n </ul>\n </li>\n</ng-template>\n" }]
237
+ ], template: "<ng-template [ngIf]=\"!groupby\" [ngIfElse]=\"groupedListTemplate\">\n <li [ngClass]=\"['radio', 'app-radio', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n *ngFor=\"let item of datasetItems;let i = index\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onRadioLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [attr.data-attr-index]=\"i\" [checked]=\"item.selected\" [disabled]=\"disabled || readonly\"\n [name]=\"'radioset_' + widgetId\" [tabindex]=\"tabindex\" [value]=\"item.key\"\n type=\"radio\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [attr.data-attr-index]=\"i\" [checked]=\"item.selected\" [disabled]=\"disabled || readonly\"\n [name]=\"'radioset_' + widgetId\" [tabindex]=\"tabindex\" [value]=\"item.key\"\n type=\"radio\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n </li>\n</ng-template>\n\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\">\n<div *ngIf=\"readonly || disabled\" aria-readonly=\"true\" class=\"readonly-wrapper\"></div>\n\n<!-- This template will be displayed when groupby is specified. -->\n<ng-template #groupedListTemplate>\n <li *ngFor=\"let groupObj of groupedData; let groupindex = index;\" class=\"app-list-item-group\" role=\"presentation\" >\n <ul class=\"item-group\" [attr.aria-labelledby]=\"'group_' + widgetId + '_' + groupindex\">\n <li [id]=\"'group_' + widgetId + '_' + groupindex\" aria-hidden=\"true\" class=\"list-group-header\" (click)=\"handleHeaderClick($event)\" [title]=\"groupObj.key\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4 class=\"group-title\" [attr.aria-label]=\"'Group '+groupObj.key\">{{groupObj.key}}\n <div class=\"header-action\">\n <i class=\"app-icon wi action wi-chevron-up\" *ngIf=\"collapsible\" title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\"></i>\n <span *ngIf=\"showcount\" class=\"label label-default\" [textContent]=\"groupObj.data.length\"></span>\n </div>\n </h4>\n </li>\n <li *ngFor=\"let item of groupObj.data; let i = index;\"\n [ngClass]=\"['radio', 'app-radio', 'group-list-item', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onRadioLabelClick($event, item)\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [attr.data-attr-index]=\"i\" [name]=\"'radioset_' + widgetId\" type=\"radio\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [attr.data-attr-index]=\"i\" [name]=\"'radioset_' + widgetId\" type=\"radio\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n </li>\n </ul>\n </li>\n</ng-template>\n" }]
236
238
  }], () => [{ type: i0.Injector }, { type: undefined, decorators: [{
237
239
  type: Inject,
238
240
  args: ['EXPLICIT_CONTEXT']
@@ -240,4 +242,4 @@ export class RadiosetComponent extends DatasetAwareFormComponent {
240
242
  type: Optional
241
243
  }] }], null); })();
242
244
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RadiosetComponent, { className: "RadiosetComponent", filePath: "radioset/radioset.component.ts", lineNumber: 26 }); })();
243
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW9zZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2lucHV0L2RlZmF1bHQvc3JjL3JhZGlvc2V0L3JhZGlvc2V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9yYWRpb3NldC9yYWRpb3NldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRXRDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUMsTUFBTSxXQUFXLENBQUM7Ozs7Ozs7Ozs7SUNENUIsZ0NBQ3FEO0lBSWpELEFBSEEsMkJBRXFDLGNBQ21CO0lBQzVELGlCQUFROzs7Ozs7SUFMRCx5RkFBNkM7SUFDekMsY0FBK0I7SUFDNEMsQUFBdEIsQUFBbEMsQUFBbkIsQUFEQSxvREFBK0Isc0JBQ2IsZ0RBQWtDLDZCQUFzQiw2QkFBMEI7O0lBRXJGLGNBQTBCO0lBQTFCLDJDQUEwQjs7O0lBR3BELGdDQUNxRDtJQUlqRCxBQUhBLDJCQUVxQyxlQUNnQztJQUN6RSxpQkFBUTs7Ozs7O0lBTEQsd0ZBQTZDO0lBQ3pD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QUFDO1lBQ0osS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDeEMsQ0FBQztJQUNMLENBQUM7a0ZBN0RRLGlCQUFpQiwwREFRUyxrQkFBa0I7b0VBUjVDLGlCQUFpQixrR0FOZjtnQkFDUCxTQUFTLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxDQUFDO2dCQUNyRCxTQUFTLENBQUMsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQztnQkFDakQsa0JBQWtCLENBQUMsaUJBQWlCLENBQUM7YUFDeEM7WUN2Qkwsa0ZBQWdFO1lBeUJoRSwyQkFBcUU7WUFJckUsQUFIQSxrRUFBZ0Ysc0dBRzlDOzs7WUE3QkgsQUFBbEIsbUNBQWlCLHFDQUFpQztZQXlCeEQsY0FBaUM7WUFBakMsdURBQWlDO1lBQ2xDLGNBQTBCO1lBQTFCLG1EQUEwQjs7O2lGRERuQixpQkFBaUI7Y0FWN0IsU0FBUzsyQkFDSSxjQUFjLFlBQ2QsWUFBWSxhQUVYO29CQUNQLFNBQVMsb0JBQW9CLGlCQUFpQixFQUFFLElBQUksQ0FBQztvQkFDckQsU0FBUyxvQkFBb0IsYUFBYSxFQUFFLElBQUksQ0FBQztvQkFDakQsa0JBQWtCLG1CQUFtQjtpQkFDeEM7O3NCQVUyQixNQUFNO3VCQUFDLGtCQUFrQjs7c0JBQUcsUUFBUTs7a0ZBUnZELGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbmplY3QsIEluamVjdG9yLCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiwgTkdfVkFMSURBVE9SUyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtzZXRMaXN0Q2xhc3N9IGZyb20gJ0B3bS9jb3JlJztcblxuaW1wb3J0IHsgcHJvdmlkZUFzV2lkZ2V0UmVmLCBzdHlsZXIsIHByb3ZpZGVBcyB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuaW1wb3J0IHsgRGF0YXNldEF3YXJlRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL2RhdGFzZXQtYXdhcmUtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgcmVnaXN0ZXJQcm9wcyB9IGZyb20gJy4vcmFkaW9zZXQucHJvcHMnO1xuaW1wb3J0IHsgaW5jbHVkZXN9IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuZGVjbGFyZSBjb25zdCAkO1xuXG5jb25zdCBERUZBVUxUX0NMUyA9ICdhcHAtcmFkaW9zZXQgbGlzdC1ncm91cCBpbmxpbmUnO1xuY29uc3QgV0lER0VUX0NPTkZJRyA9IHt3aWRnZXRUeXBlOiAnd20tcmFkaW9zZXQnLCBob3N0Q2xhc3M6IERFRkFVTFRfQ0xTfTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdbd21SYWRpb3NldF0nLFxuICAgIGV4cG9ydEFzOiAnd21SYWRpb3NldCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvc2V0LmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzKFJhZGlvc2V0Q29tcG9uZW50LCBOR19WQUxVRV9BQ0NFU1NPUiwgdHJ1ZSksXG4gICAgICAgIHByb3ZpZGVBcyhSYWRpb3NldENvbXBvbmVudCwgTkdfVkFMSURBVE9SUywgdHJ1ZSksXG4gICAgICAgIHByb3ZpZGVBc1dpZGdldFJlZihSYWRpb3NldENvbXBvbmVudClcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFJhZGlvc2V0Q29tcG9uZW50IGV4dGVuZHMgRGF0YXNldEF3YXJlRm9ybUNvbXBvbmVudCB7XG4gICAgc3RhdGljIGluaXRpYWxpemVQcm9wcyA9IHJlZ2lzdGVyUHJvcHMoKTtcblxuICAgIHB1YmxpYyBsYXlvdXQgPSAnJztcbiAgICBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgcHVibGljIGl0ZW1zcGVycm93OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBpdGVtc1BlclJvd0NsYXNzOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3Rvcihpbmo6IEluamVjdG9yLCBASW5qZWN0KCdFWFBMSUNJVF9DT05URVhUJykgQE9wdGlvbmFsKCkgZXhwbGljaXRDb250ZXh0OiBhbnkpIHtcbiAgICAgICAgc3VwZXIoaW5qLCBXSURHRVRfQ09ORklHLCBleHBsaWNpdENvbnRleHQpO1xuICAgICAgICBzdHlsZXIodGhpcy5uYXRpdmVFbGVtZW50LCB0aGlzKTtcbiAgICAgICAgdGhpcy5tdWx0aXBsZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHRyaWdnZXJJbnZva2VPbkNoYW5nZShrZXksICRldmVudCkge1xuICAgICAgICB0aGlzLm1vZGVsQnlLZXkgPSBrZXk7XG5cbiAgICAgICAgdGhpcy5pbnZva2VPblRvdWNoZWQoKTtcbiAgICAgICAgLy8gaW52b2tlIG9uIGRhdGF2YWx1ZSBjaGFuZ2UuXG4gICAgICAgIHRoaXMuaW52b2tlT25DaGFuZ2UodGhpcy5kYXRhdmFsdWUsICRldmVudCB8fCB7fSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT24gY2xpY2sgb2YgdGhlIG9wdGlvbiwgdXBkYXRlIHRoZSBkYXRhdmFsdWVcbiAgICAgKi9cbiAgICBvblJhZGlvTGFiZWxDbGljaygkZXZlbnQsIGtleSkge1xuICAgICAgICBpZiAoISQoJGV2ZW50LnRhcmdldCkuaXMoJ2lucHV0JykpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudHJpZ2dlckludm9rZU9uQ2hhbmdlKGtleSwgJGV2ZW50KTtcbiAgICB9XG5cbiAgICAvLyBjaGFuZ2UgYW5kIGJsdXIgZXZlbnRzIGFyZSBhZGRlZCBmcm9tIHRoZSB0ZW1wbGF0ZVxuICAgIHByb3RlY3RlZCBoYW5kbGVFdmVudChub2RlOiBIVE1MRWxlbWVudCwgZXZlbnROYW1lOiBzdHJpbmcsIGNhbGxiYWNrOiBGdW5jdGlvbiwgbG9jYWxzOiBhbnkpIHtcbiAgICAgICAgaWYgKGV2ZW50TmFtZSA9PT0gJ2NsaWNrJykge1xuICAgICAgICAgICAgdGhpcy5ldmVudE1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgICAgIGV2ZW50TmFtZSxcbiAgICAgICAgICAgICAgICBlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCEkKGUudGFyZ2V0KS5pcygnaW5wdXQnKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGxvY2Fscy4kZXZlbnQgPSBlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2UgaWYgKCFpbmNsdWRlcyhbJ2NoYW5nZSddLCBldmVudE5hbWUpKSB7XG4gICAgICAgICAgICBzdXBlci5oYW5kbGVFdmVudChub2RlLCBldmVudE5hbWUsIGNhbGxiYWNrLCBsb2NhbHMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Qcm9wZXJ0eUNoYW5nZShrZXksIG52LCBvdj8pIHtcbiAgICAgICAgaWYgKGtleSA9PT0gJ3RhYmluZGV4Jykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChrZXkgPT09ICdpdGVtc3BlcnJvdycpIHtcbiAgICAgICAgICAgIHNldExpc3RDbGFzcyh0aGlzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN1cGVyLm9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3YpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPG5nLXRlbXBsYXRlIFtuZ0lmXT1cIiFncm91cGJ5XCIgW25nSWZFbHNlXT1cImdyb3VwZWRMaXN0VGVtcGxhdGVcIj5cbiAgICA8bGkgW25nQ2xhc3NdPVwiWydyYWRpbycsICdhcHAtcmFkaW8nLCBpdGVtY2xhc3MsIGl0ZW1zUGVyUm93Q2xhc3NdXCJcbiAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpdGVtLnNlbGVjdGVkXCJcbiAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGF0YXNldEl0ZW1zO2xldCBpID0gaW5kZXhcIlxuICAgICAgICBbd21JdGVtVGVtcGxhdGVdPVwiY29udGVudFwiIFt1c2VyQ29tcG9uZW50UGFyYW1zXT1cIml0ZW1cIiBwYXJ0aWFsQ29udGFpbmVyXG4gICAgICAgIChjbGljayk9XCJvblJhZGlvTGFiZWxDbGljaygkZXZlbnQsIGl0ZW0ua2V5KVwiIHJvbGU9XCJwcmVzZW50YXRpb25cIj5cbiAgICAgICAgPCEtLSBEZWZhdWx0IGl0ZW0gdGVtcGxhdGUgLS0+XG4gICAgICAgIDxsYWJlbCAqbmdJZj1cIiFjb250ZW50XCIgY2xhc3M9XCJhcHAtcmFkaW9zZXQtbGFiZWxcIlxuICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydkaXNhYmxlZCc6ZGlzYWJsZWQgfHwgcmVhZG9ubHl9XCI+XG4gICAgICAgICAgICA8aW5wdXQgW25hbWVdPVwiJ3JhZGlvc2V0XycgKyB3aWRnZXRJZFwiIHR5cGU9XCJyYWRpb1wiIFthdHRyLmFyaWEtY2hlY2tlZF09XCJpdGVtLnNlbGVjdGVkXCIgW2F0dHIuZGF0YS1hdHRyLWluZGV4XT1cImlcIlxuICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLmtleVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCByZWFkb25seVwiIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiIFtjaGVja2VkXT1cIml0ZW0uc2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaXRlbS5rZXlcIi8+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcHRpb25cIiBbdGV4dENvbnRlbnRdPVwiaXRlbS5sYWJlbFwiPjwvc3Bhbj5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPCEtLSBDdXN0b20gcGFydGlhbCB0ZW1wbGF0ZSAtLT5cbiAgICAgICAgPGxhYmVsICpuZ0lmPVwiY29udGVudFwiIGNsYXNzPVwiYXBwLXJhZGlvc2V0LWxhYmVsXCJcbiAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZGlzYWJsZWQnOmRpc2FibGVkIHx8IHJlYWRvbmx5fVwiPlxuICAgICAgICAgICAgPGlucHV0IFtuYW1lXT1cIidyYWRpb3NldF8nICsgd2lkZ2V0SWRcIiB0eXBlPVwicmFkaW9cIiBbYXR0ci5hcmlhLWNoZWNrZWRdPVwiaXRlbS5zZWxlY3RlZFwiIFthdHRyLmRhdGEtYXR0ci1pbmRleF09XCJpXCJcbiAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiaXRlbS5rZXlcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIiBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIiBbY2hlY2tlZF09XCJpdGVtLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0ua2V5XCIvPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXB0aW9uIGN1c3RvbVRlbXBsYXRlXCIgcGFydGlhbC1jb250YWluZXItdGFyZ2V0Pjwvc3Bhbj5cbiAgICAgICAgPC9sYWJlbD5cbiAgICA8L2xpPlxuPC9uZy10ZW1wbGF0ZT5cblxuPGlucHV0IFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCByZWFkb25seVwiIGhpZGRlbiBjbGFzcz1cIm1vZGVsLWhvbGRlclwiPlxuPGRpdiAqbmdJZj1cInJlYWRvbmx5IHx8IGRpc2FibGVkXCIgYXJpYS1yZWFkb25seT1cInRydWVcIiBjbGFzcz1cInJlYWRvbmx5LXdyYXBwZXJcIj48L2Rpdj5cblxuPCEtLSBUaGlzIHRlbXBsYXRlIHdpbGwgYmUgZGlzcGxheWVkIHdoZW4gZ3JvdXBieSBpcyBzcGVjaWZpZWQuIC0tPlxuPG5nLXRlbXBsYXRlICNncm91cGVkTGlzdFRlbXBsYXRlPlxuICAgIDxsaSAqbmdGb3I9XCJsZXQgZ3JvdXBPYmogb2YgZ3JvdXBlZERhdGFcIiBjbGFzcz1cImFwcC1saXN0LWl0ZW0tZ3JvdXBcIj5cbiAgICAgICAgPHVsIGNsYXNzPVwiaXRlbS1ncm91cFwiPlxuICAgICAgICAgICAgPGxpIGNsYXNzPVwibGlzdC1ncm91cC1oZWFkZXJcIiAoY2xpY2spPVwiaGFuZGxlSGVhZGVyQ2xpY2soJGV2ZW50KVwiIFt0aXRsZV09XCJncm91cE9iai5rZXlcIiBbbmdDbGFzc109XCJ7J2NvbGxhcHNpYmxlLWNvbnRlbnQnOiBjb2xsYXBzaWJsZX1cIj5cbiAgICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJncm91cC10aXRsZVwiPnt7Z3JvdXBPYmoua2V5fX1cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1hY3Rpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiYXBwLWljb24gd2kgYWN0aW9uIHdpLWNoZXZyb24tdXBcIiAqbmdJZj1cImNvbGxhcHNpYmxlXCIgdGl0bGU9XCJ7e2FwcExvY2FsZS5MQUJFTF9DT0xMQVBTRX19L3t7YXBwTG9jYWxlLkxBQkVMX0VYUEFORH19XCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzaG93Y291bnRcIiBjbGFzcz1cImxhYmVsIGxhYmVsLWRlZmF1bHRcIiBbdGV4dENvbnRlbnRdPVwiZ3JvdXBPYmouZGF0YS5sZW5ndGhcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvaDQ+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdyb3VwT2JqLmRhdGE7IGxldCBpID0gaW5kZXg7XCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJbJ3JhZGlvJywgJ2FwcC1yYWRpbycsICdncm91cC1saXN0LWl0ZW0nLCBpdGVtY2xhc3MsIGl0ZW1zUGVyUm93Q2xhc3NdXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cIml0ZW0uc2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgIFt3bUl0ZW1UZW1wbGF0ZV09XCJjb250ZW50XCIgW3VzZXJDb21wb25lbnRQYXJhbXNdPVwiaXRlbVwiIHBhcnRpYWxDb250YWluZXJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25SYWRpb0xhYmVsQ2xpY2soJGV2ZW50LCBpdGVtKVwiPlxuICAgICAgICAgICAgICAgIDwhLS0gRGVmYXVsdCBpdGVtIHRlbXBsYXRlIC0tPlxuICAgICAgICAgICAgICAgIDxsYWJlbCAqbmdJZj1cIiFjb250ZW50XCIgY2xhc3M9XCJhcHAtcmFkaW9zZXQtbGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2Rpc2FibGVkJzpkaXNhYmxlZCB8fCByZWFkb25seX1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IFtuYW1lXT1cIidyYWRpb3NldF8nICsgd2lkZ2V0SWRcIiB0eXBlPVwicmFkaW9cIiBbYXR0ci5hcmlhLWNoZWNrZWRdPVwiaXRlbS5zZWxlY3RlZFwiIFthdHRyLmRhdGEtYXR0ci1pbmRleF09XCJpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLmtleVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCByZWFkb25seVwiIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiIFtjaGVja2VkXT1cIml0ZW0uc2VsZWN0ZWRcIi8+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FwdGlvblwiIFt0ZXh0Q29udGVudF09XCJpdGVtLmxhYmVsXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPCEtLSBDdXN0b20gcGFydGlhbCB0ZW1wbGF0ZSAtLT5cbiAgICAgICAgICAgICAgICA8bGFiZWwgKm5nSWY9XCJjb250ZW50XCIgY2xhc3M9XCJhcHAtcmFkaW9zZXQtbGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2Rpc2FibGVkJzpkaXNhYmxlZCB8fCByZWFkb25seX1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IFtuYW1lXT1cIidyYWRpb3NldF8nICsgd2lkZ2V0SWRcIiB0eXBlPVwicmFkaW9cIiBbYXR0ci5hcmlhLWNoZWNrZWRdPVwiaXRlbS5zZWxlY3RlZFwiIFthdHRyLmRhdGEtYXR0ci1pbmRleF09XCJpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLmtleVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCByZWFkb25seVwiIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiIFtjaGVja2VkXT1cIml0ZW0uc2VsZWN0ZWRcIi8+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FwdGlvbiBjdXN0b21UZW1wbGF0ZVwiIHBhcnRpYWwtY29udGFpbmVyLXRhcmdldD48L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgPC9saT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
245
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW9zZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2lucHV0L2RlZmF1bHQvc3JjL3JhZGlvc2V0L3JhZGlvc2V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9yYWRpb3NldC9yYWRpb3NldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRXRDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxXQUFXLENBQUM7Ozs7Ozs7Ozs7SUNEM0IsZ0NBQ3FEO0lBSWpELEFBSEEsMkJBRXFCLGNBQ21DO0lBQzVELGlCQUFROzs7Ozs7SUFMRCx3RkFBNkM7SUFDZCxjQUF5QjtJQUNFLEFBQXRCLEFBQWhDLEFBRHFELEFBQTFCLDBDQUF5QixnREFBa0MsdUNBQ3ZELDZCQUFzQixzQkFBbUI7O0lBRXpELGNBQTBCO0lBQTFCLDJDQUEwQjs7O0lBR3BELGdDQUNxRDtJQUlqRCxBQUhBLDJCQUVxQixlQUNnRDtJQUN6RSxpQkFBUTs7Ozs7O0lBTEQsd0ZBQTZDO0lBQ2Qs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QUUsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDTCxDQUFDO2tGQXpEUSxpQkFBaUIsMERBUVMsa0JBQWtCO29FQVI1QyxpQkFBaUIsa0dBTmY7Z0JBQ1AsU0FBUyxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLElBQUksQ0FBQztnQkFDckQsU0FBUyxDQUFDLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUM7Z0JBQ2pELGtCQUFrQixDQUFDLGlCQUFpQixDQUFDO2FBQ3hDO1lDdkJMLGtGQUFnRTtZQXlCaEUsMkJBQXFFO1lBSXJFLEFBSEEsa0VBQWdGLHNHQUc5Qzs7O1lBN0JILEFBQWxCLG1DQUFpQixxQ0FBaUM7WUF5QnhELGNBQWlDO1lBQWpDLHVEQUFpQztZQUNsQyxjQUEwQjtZQUExQixtREFBMEI7OztpRkREbkIsaUJBQWlCO2NBVjdCLFNBQVM7MkJBQ0ksY0FBYyxZQUNkLFlBQVksYUFFWDtvQkFDUCxTQUFTLG9CQUFvQixpQkFBaUIsRUFBRSxJQUFJLENBQUM7b0JBQ3JELFNBQVMsb0JBQW9CLGFBQWEsRUFBRSxJQUFJLENBQUM7b0JBQ2pELGtCQUFrQixtQkFBbUI7aUJBQ3hDOztzQkFVMkIsTUFBTTt1QkFBQyxrQkFBa0I7O3NCQUFHLFFBQVE7O2tGQVJ2RCxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0LCBJbmplY3RvciwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IsIE5HX1ZBTElEQVRPUlMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7c2V0TGlzdENsYXNzfSBmcm9tICdAd20vY29yZSc7XG5cbmltcG9ydCB7IHByb3ZpZGVBc1dpZGdldFJlZiwgc3R5bGVyLCBwcm92aWRlQXMgfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcbmltcG9ydCB7IERhdGFzZXRBd2FyZUZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9kYXRhc2V0LWF3YXJlLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IHJlZ2lzdGVyUHJvcHMgfSBmcm9tICcuL3JhZGlvc2V0LnByb3BzJztcbmltcG9ydCB7aW5jbHVkZXN9IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuZGVjbGFyZSBjb25zdCAkO1xuXG5jb25zdCBERUZBVUxUX0NMUyA9ICdhcHAtcmFkaW9zZXQgbGlzdC1ncm91cCBpbmxpbmUnO1xuY29uc3QgV0lER0VUX0NPTkZJRyA9IHt3aWRnZXRUeXBlOiAnd20tcmFkaW9zZXQnLCBob3N0Q2xhc3M6IERFRkFVTFRfQ0xTfTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdbd21SYWRpb3NldF0nLFxuICAgIGV4cG9ydEFzOiAnd21SYWRpb3NldCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvc2V0LmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzKFJhZGlvc2V0Q29tcG9uZW50LCBOR19WQUxVRV9BQ0NFU1NPUiwgdHJ1ZSksXG4gICAgICAgIHByb3ZpZGVBcyhSYWRpb3NldENvbXBvbmVudCwgTkdfVkFMSURBVE9SUywgdHJ1ZSksXG4gICAgICAgIHByb3ZpZGVBc1dpZGdldFJlZihSYWRpb3NldENvbXBvbmVudClcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFJhZGlvc2V0Q29tcG9uZW50IGV4dGVuZHMgRGF0YXNldEF3YXJlRm9ybUNvbXBvbmVudCB7XG4gICAgc3RhdGljIGluaXRpYWxpemVQcm9wcyA9IHJlZ2lzdGVyUHJvcHMoKTtcblxuICAgIHB1YmxpYyBsYXlvdXQgPSAnJztcbiAgICBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgcHVibGljIGl0ZW1zcGVycm93OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBpdGVtc1BlclJvd0NsYXNzOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3Rvcihpbmo6IEluamVjdG9yLCBASW5qZWN0KCdFWFBMSUNJVF9DT05URVhUJykgQE9wdGlvbmFsKCkgZXhwbGljaXRDb250ZXh0OiBhbnkpIHtcbiAgICAgICAgc3VwZXIoaW5qLCBXSURHRVRfQ09ORklHLCBleHBsaWNpdENvbnRleHQpO1xuICAgICAgICBzdHlsZXIodGhpcy5uYXRpdmVFbGVtZW50LCB0aGlzKTtcbiAgICAgICAgdGhpcy5tdWx0aXBsZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9uIGNsaWNrIG9mIHRoZSBvcHRpb24sIHVwZGF0ZSB0aGUgZGF0YXZhbHVlXG4gICAgICovXG4gICAgb25SYWRpb0xhYmVsQ2xpY2soJGV2ZW50LCBrZXkpIHtcbiAgICAgICAgaWYgKCEkKCRldmVudC50YXJnZXQpLmlzKCdpbnB1dCcpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm1vZGVsQnlLZXkgPSBrZXk7XG5cbiAgICAgICAgdGhpcy5pbnZva2VPblRvdWNoZWQoKTtcbiAgICAgICAgLy8gaW52b2tlIG9uIGRhdGF2YWx1ZSBjaGFuZ2UuXG4gICAgICAgIHRoaXMuaW52b2tlT25DaGFuZ2UodGhpcy5kYXRhdmFsdWUsICRldmVudCB8fCB7fSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gY2hhbmdlIGFuZCBibHVyIGV2ZW50cyBhcmUgYWRkZWQgZnJvbSB0aGUgdGVtcGxhdGVcbiAgICBwcm90ZWN0ZWQgaGFuZGxlRXZlbnQobm9kZTogSFRNTEVsZW1lbnQsIGV2ZW50TmFtZTogc3RyaW5nLCBjYWxsYmFjazogRnVuY3Rpb24sIGxvY2FsczogYW55KSB7XG4gICAgICAgIGlmIChldmVudE5hbWUgPT09ICdjbGljaycpIHtcbiAgICAgICAgICAgIHRoaXMuZXZlbnRNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICAgICAgICBldmVudE5hbWUsXG4gICAgICAgICAgICAgICAgZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghJChlLnRhcmdldCkuaXMoJ2lucHV0JykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBsb2NhbHMuJGV2ZW50ID0gZTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIGlmICghaW5jbHVkZXMoWydjaGFuZ2UnXSwgZXZlbnROYW1lKSkge1xuICAgICAgICAgICAgc3VwZXIuaGFuZGxlRXZlbnQobm9kZSwgZXZlbnROYW1lLCBjYWxsYmFjaywgbG9jYWxzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3Y/KSB7XG4gICAgICAgIGlmIChrZXkgPT09ICd0YWJpbmRleCcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoa2V5ID09PSAnaXRlbXNwZXJyb3cnKSB7XG4gICAgICAgICAgICBzZXRMaXN0Q2xhc3ModGhpcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdXBlci5vblByb3BlcnR5Q2hhbmdlKGtleSwgbnYsIG92KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSBbbmdJZl09XCIhZ3JvdXBieVwiIFtuZ0lmRWxzZV09XCJncm91cGVkTGlzdFRlbXBsYXRlXCI+XG4gICAgPGxpIFtuZ0NsYXNzXT1cIlsncmFkaW8nLCAnYXBwLXJhZGlvJywgaXRlbWNsYXNzLCBpdGVtc1BlclJvd0NsYXNzXVwiXG4gICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiaXRlbS5zZWxlY3RlZFwiXG4gICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRhdGFzZXRJdGVtcztsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgW3dtSXRlbVRlbXBsYXRlXT1cImNvbnRlbnRcIiBbdXNlckNvbXBvbmVudFBhcmFtc109XCJpdGVtXCIgcGFydGlhbENvbnRhaW5lclxuICAgICAgICAoY2xpY2spPVwib25SYWRpb0xhYmVsQ2xpY2soJGV2ZW50LCBpdGVtLmtleSlcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+XG4gICAgICAgIDwhLS0gRGVmYXVsdCBpdGVtIHRlbXBsYXRlIC0tPlxuICAgICAgICA8bGFiZWwgKm5nSWY9XCIhY29udGVudFwiIGNsYXNzPVwiYXBwLXJhZGlvc2V0LWxhYmVsXCJcbiAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZGlzYWJsZWQnOmRpc2FibGVkIHx8IHJlYWRvbmx5fVwiPlxuICAgICAgICAgICAgPGlucHV0IFthdHRyLmRhdGEtYXR0ci1pbmRleF09XCJpXCIgW2NoZWNrZWRdPVwiaXRlbS5zZWxlY3RlZFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCByZWFkb25seVwiXG4gICAgICAgICAgICAgICAgICAgW25hbWVdPVwiJ3JhZGlvc2V0XycgKyB3aWRnZXRJZFwiIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiIFt2YWx1ZV09XCJpdGVtLmtleVwiXG4gICAgICAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCIvPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXB0aW9uXCIgW3RleHRDb250ZW50XT1cIml0ZW0ubGFiZWxcIj48L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwhLS0gQ3VzdG9tIHBhcnRpYWwgdGVtcGxhdGUgLS0+XG4gICAgICAgIDxsYWJlbCAqbmdJZj1cImNvbnRlbnRcIiBjbGFzcz1cImFwcC1yYWRpb3NldC1sYWJlbFwiXG4gICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2Rpc2FibGVkJzpkaXNhYmxlZCB8fCByZWFkb25seX1cIj5cbiAgICAgICAgICAgIDxpbnB1dCBbYXR0ci5kYXRhLWF0dHItaW5kZXhdPVwiaVwiIFtjaGVja2VkXT1cIml0ZW0uc2VsZWN0ZWRcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIlxuICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIidyYWRpb3NldF8nICsgd2lkZ2V0SWRcIiBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIiBbdmFsdWVdPVwiaXRlbS5rZXlcIlxuICAgICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiLz5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FwdGlvbiBjdXN0b21UZW1wbGF0ZVwiIHBhcnRpYWwtY29udGFpbmVyLXRhcmdldD48L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgPC9saT5cbjwvbmctdGVtcGxhdGU+XG5cbjxpbnB1dCBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIiBoaWRkZW4gY2xhc3M9XCJtb2RlbC1ob2xkZXJcIj5cbjxkaXYgKm5nSWY9XCJyZWFkb25seSB8fCBkaXNhYmxlZFwiIGFyaWEtcmVhZG9ubHk9XCJ0cnVlXCIgY2xhc3M9XCJyZWFkb25seS13cmFwcGVyXCI+PC9kaXY+XG5cbjwhLS0gVGhpcyB0ZW1wbGF0ZSB3aWxsIGJlIGRpc3BsYXllZCB3aGVuIGdyb3VwYnkgaXMgc3BlY2lmaWVkLiAtLT5cbjxuZy10ZW1wbGF0ZSAjZ3JvdXBlZExpc3RUZW1wbGF0ZT5cbiAgICA8bGkgKm5nRm9yPVwibGV0IGdyb3VwT2JqIG9mIGdyb3VwZWREYXRhOyBsZXQgZ3JvdXBpbmRleCA9IGluZGV4O1wiIGNsYXNzPVwiYXBwLWxpc3QtaXRlbS1ncm91cFwiIHJvbGU9XCJwcmVzZW50YXRpb25cIiA+XG4gICAgICAgIDx1bCBjbGFzcz1cIml0ZW0tZ3JvdXBcIiBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ2dyb3VwXycgKyB3aWRnZXRJZCArICdfJyArIGdyb3VwaW5kZXhcIj5cbiAgICAgICAgICAgIDxsaSBbaWRdPVwiJ2dyb3VwXycgKyB3aWRnZXRJZCArICdfJyArIGdyb3VwaW5kZXhcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cImxpc3QtZ3JvdXAtaGVhZGVyXCIgKGNsaWNrKT1cImhhbmRsZUhlYWRlckNsaWNrKCRldmVudClcIiBbdGl0bGVdPVwiZ3JvdXBPYmoua2V5XCIgW25nQ2xhc3NdPVwieydjb2xsYXBzaWJsZS1jb250ZW50JzogY29sbGFwc2libGV9XCI+XG4gICAgICAgICAgICAgICAgPGg0IGNsYXNzPVwiZ3JvdXAtdGl0bGVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidHcm91cCAnK2dyb3VwT2JqLmtleVwiPnt7Z3JvdXBPYmoua2V5fX1cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1hY3Rpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiYXBwLWljb24gd2kgYWN0aW9uIHdpLWNoZXZyb24tdXBcIiAqbmdJZj1cImNvbGxhcHNpYmxlXCIgdGl0bGU9XCJ7e2FwcExvY2FsZS5MQUJFTF9DT0xMQVBTRX19L3t7YXBwTG9jYWxlLkxBQkVMX0VYUEFORH19XCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzaG93Y291bnRcIiBjbGFzcz1cImxhYmVsIGxhYmVsLWRlZmF1bHRcIiBbdGV4dENvbnRlbnRdPVwiZ3JvdXBPYmouZGF0YS5sZW5ndGhcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvaDQ+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdyb3VwT2JqLmRhdGE7IGxldCBpID0gaW5kZXg7XCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJbJ3JhZGlvJywgJ2FwcC1yYWRpbycsICdncm91cC1saXN0LWl0ZW0nLCBpdGVtY2xhc3MsIGl0ZW1zUGVyUm93Q2xhc3NdXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cIml0ZW0uc2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgIFt3bUl0ZW1UZW1wbGF0ZV09XCJjb250ZW50XCIgW3VzZXJDb21wb25lbnRQYXJhbXNdPVwiaXRlbVwiIHBhcnRpYWxDb250YWluZXJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25SYWRpb0xhYmVsQ2xpY2soJGV2ZW50LCBpdGVtKVwiPlxuICAgICAgICAgICAgICAgIDwhLS0gRGVmYXVsdCBpdGVtIHRlbXBsYXRlIC0tPlxuICAgICAgICAgICAgICAgIDxsYWJlbCAqbmdJZj1cIiFjb250ZW50XCIgY2xhc3M9XCJhcHAtcmFkaW9zZXQtbGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2Rpc2FibGVkJzpkaXNhYmxlZCB8fCByZWFkb25seX1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IFthdHRyLmRhdGEtYXR0ci1pbmRleF09XCJpXCIgW25hbWVdPVwiJ3JhZGlvc2V0XycgKyB3aWRnZXRJZFwiIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiaXRlbS5rZXlcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIiBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIiBbY2hlY2tlZF09XCJpdGVtLnNlbGVjdGVkXCIvPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcHRpb25cIiBbdGV4dENvbnRlbnRdPVwiaXRlbS5sYWJlbFwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDwhLS0gQ3VzdG9tIHBhcnRpYWwgdGVtcGxhdGUgLS0+XG4gICAgICAgICAgICAgICAgPGxhYmVsICpuZ0lmPVwiY29udGVudFwiIGNsYXNzPVwiYXBwLXJhZGlvc2V0LWxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydkaXNhYmxlZCc6ZGlzYWJsZWQgfHwgcmVhZG9ubHl9XCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCBbYXR0ci5kYXRhLWF0dHItaW5kZXhdPVwiaVwiIFtuYW1lXT1cIidyYWRpb3NldF8nICsgd2lkZ2V0SWRcIiB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW0ua2V5XCIgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5XCIgW3RhYmluZGV4XT1cInRhYmluZGV4XCIgW2NoZWNrZWRdPVwiaXRlbS5zZWxlY3RlZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXB0aW9uIGN1c3RvbVRlbXBsYXRlXCIgcGFydGlhbC1jb250YWluZXItdGFyZ2V0Pjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgPC91bD5cbiAgICA8L2xpPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -1,15 +1,13 @@
1
1
  import { Component, ElementRef, Inject, Injector, Optional, ViewChild } from '@angular/core';
2
2
  import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { App, DataSource, removeAttr, setAttr } from '@wm/core';
3
+ import { DataSource, isIos, removeAttr, setAttr, isSafari } from '@wm/core';
4
4
  import { provideAs, provideAsWidgetRef, styler } from '@wm/components/base';
5
5
  import { DatasetAwareFormComponent } from '../dataset-aware-form.component';
6
6
  import { registerProps } from './select.props';
7
- import { includes } from "lodash-es";
8
7
  import * as i0 from "@angular/core";
9
- import * as i1 from "@wm/core";
10
- import * as i2 from "@angular/common";
11
- import * as i3 from "@angular/forms";
12
- import * as i4 from "@wm/components/base";
8
+ import * as i1 from "@angular/common";
9
+ import * as i2 from "@angular/forms";
10
+ import * as i3 from "@wm/components/base";
13
11
  const _c0 = ["select"];
14
12
  const _c1 = a0 => ["app-select form-control", a0];
15
13
  const _c2 = () => ({ standalone: true });
@@ -61,10 +59,38 @@ export class SelectComponent extends DatasetAwareFormComponent {
61
59
  this.datavalue = ds.execute(DataSource.Operation.GET_DEFAULT_LOCALE);
62
60
  }
63
61
  }
64
- constructor(inj, app, explicitContext) {
62
+ constructor(inj, explicitContext) {
65
63
  super(inj, WIDGET_CONFIG, explicitContext);
66
- this.app = app;
67
64
  this.acceptsArray = true;
65
+ /*
66
+ * When the dataset for a select element is updated and no longer includes the previously selected value:
67
+ * The select element becomes empty, and the ngModel value is updated to reflect this change.
68
+ * However, the change event is not triggered, preventing the form control from recognizing the update and applying necessary validations.
69
+ * As this widget implements ControlValueAccessor, manually updating the ngModel (or modelByKey) is necessary to ensure correct form behavior.
70
+ * */
71
+ const datasetSubscription = this.dataset$.subscribe(() => {
72
+ if (isIos() || isSafari()) {
73
+ if (this.datavalue) {
74
+ const selectedItem = this.datasetItems.find(item => item.selected);
75
+ if (!selectedItem) {
76
+ setTimeout(() => {
77
+ if (!this.placeholder) {
78
+ this.selectEl.nativeElement.value = '';
79
+ }
80
+ this.modelByKey = undefined;
81
+ }, 100);
82
+ }
83
+ }
84
+ else {
85
+ setTimeout(() => {
86
+ if (!this.placeholder) {
87
+ this.selectEl.nativeElement.value = '';
88
+ }
89
+ }, 100);
90
+ }
91
+ }
92
+ });
93
+ this.registerDestroyListener(() => datasetSubscription.unsubscribe());
68
94
  }
69
95
  ngAfterViewInit() {
70
96
  super.ngAfterViewInit();
@@ -72,7 +98,7 @@ export class SelectComponent extends DatasetAwareFormComponent {
72
98
  }
73
99
  // Change event is registered from the template, Prevent the framework from registering one more event
74
100
  handleEvent(node, eventName, eventCallback, locals) {
75
- if (!includes(['blur', 'change'], eventName)) {
101
+ if (!['blur', 'change'].includes(eventName)) {
76
102
  super.handleEvent(this.selectEl.nativeElement, eventName, eventCallback, locals);
77
103
  }
78
104
  }
@@ -123,36 +149,40 @@ export class SelectComponent extends DatasetAwareFormComponent {
123
149
  */
124
150
  checkForFloatingLabel($event) {
125
151
  const captionEl = $(this.selectEl.nativeElement).closest('.app-composite-widget.caption-floating');
152
+ if (!this.placeholder && (isIos() || isSafari())) {
153
+ this.removePlaceholderOption();
154
+ }
126
155
  if (captionEl.length > 0) {
127
- if ($event.type === 'focus' && (!this.datavalue || (this.datavalue && $(this.selectEl).find('select option:selected').text() === '' && this.placeholder))) {
128
- if (!(this.datavalue || this.placeholder)) {
129
- this.removePlaceholderOption();
130
- }
131
- else {
132
- $(this.selectEl.nativeElement).find('option:first').text(this.placeholder);
156
+ const placeholderOption = this.selectEl.nativeElement.querySelector('#placeholderOption');
157
+ if ($event.type === 'mousedown' && (!this.datavalue || (this.datavalue && $(this.selectEl).find('select option:selected').text() === '' && this.placeholder))) {
158
+ if (this.placeholder) {
159
+ placeholderOption.textContent = this.placeholder;
133
160
  }
134
161
  }
135
162
  else if (!this.datavalue) {
136
- $(this.selectEl.nativeElement).find('option:selected').text('');
163
+ if (this.placeholder) {
164
+ placeholderOption.textContent = '';
165
+ }
137
166
  captionEl.removeClass('float-active');
138
167
  }
139
168
  }
140
- else if (!(this.datavalue || this.placeholder)) {
141
- this.removePlaceholderOption();
142
- }
143
169
  }
144
170
  /*
145
171
  * Removing the placeholder option if no placeholder is provided.
146
- * In html we are hiding the placeholder option using css but in apple devices and safari option is showing.
172
+ * In html we are hiding the placeholder option using css but in Apple devices and safari option is showing.
173
+ * Styles are not allowed on option tag in ios safari
174
+ * After removing the option, if no datavalue is present and native select element sets value to the first option by default, so we are setting it to empty
147
175
  * */
148
176
  removePlaceholderOption() {
149
177
  const hiddenEle = $(this.selectEl.nativeElement).find('#placeholderOption');
150
178
  if (hiddenEle.length) {
151
179
  hiddenEle.remove();
152
- this.selectEl.nativeElement.value = '';
180
+ if (!this.datavalue) {
181
+ this.selectEl.nativeElement.value = '';
182
+ }
153
183
  }
154
184
  }
155
- static { this.ɵfac = function SelectComponent_Factory(t) { return new (t || SelectComponent)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i1.App), i0.ɵɵdirectiveInject('EXPLICIT_CONTEXT', 8)); }; }
185
+ static { this.ɵfac = function SelectComponent_Factory(t) { return new (t || SelectComponent)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject('EXPLICIT_CONTEXT', 8)); }; }
156
186
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SelectComponent, selectors: [["wm-select"]], viewQuery: function SelectComponent_Query(rf, ctx) { if (rf & 1) {
157
187
  i0.ɵɵviewQuery(_c0, 7, ElementRef);
158
188
  } if (rf & 2) {
@@ -162,11 +192,11 @@ export class SelectComponent extends DatasetAwareFormComponent {
162
192
  provideAs(SelectComponent, NG_VALUE_ACCESSOR, true),
163
193
  provideAs(SelectComponent, NG_VALIDATORS, true),
164
194
  provideAsWidgetRef(SelectComponent)
165
- ]), i0.ɵɵInheritDefinitionFeature], decls: 5, vars: 18, consts: [["select", ""], ["role", "listbox", "aria-haspopup", "true", "aria-expanded", "false", "focus-target", "", 3, "ngModelChange", "change", "focus", "blur", "ngClass", "disabled", "required", "tabindex", "ngModel", "ngModelOptions", "multiple", "autofocus"], ["selected", "", "value", "undefined", "id", "placeholderOption", 3, "textContent", "hidden"], [4, "ngIf"], [3, "label", 4, "ngFor", "ngForOf"], [3, "label"], ["role", "option", 3, "value", "selected", "textContent", 4, "ngFor", "ngForOf"], ["role", "option", 3, "value", "selected", "textContent"]], template: function SelectComponent_Template(rf, ctx) { if (rf & 1) {
195
+ ]), i0.ɵɵInheritDefinitionFeature], decls: 5, vars: 18, consts: [["select", ""], ["focus-target", "", 3, "ngModelChange", "change", "mousedown", "blur", "ngClass", "disabled", "required", "tabindex", "ngModel", "ngModelOptions", "multiple", "autofocus"], ["selected", "", "value", "undefined", "id", "placeholderOption", 3, "textContent", "hidden"], [4, "ngIf"], [3, "label", 4, "ngFor", "ngForOf"], [3, "label"], [3, "value", "selected", "textContent", 4, "ngFor", "ngForOf"], [3, "value", "selected", "textContent"]], template: function SelectComponent_Template(rf, ctx) { if (rf & 1) {
166
196
  const _r1 = i0.ɵɵgetCurrentView();
167
197
  i0.ɵɵelementStart(0, "select", 1, 0);
168
198
  i0.ɵɵtwoWayListener("ngModelChange", function SelectComponent_Template_select_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.modelByKey, $event) || (ctx.modelByKey = $event); return i0.ɵɵresetView($event); });
169
- i0.ɵɵlistener("change", function SelectComponent_Template_select_change_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onSelectValueChange($event)); })("focus", function SelectComponent_Template_select_focus_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.checkForFloatingLabel($event)); })("blur", function SelectComponent_Template_select_blur_0_listener($event) { i0.ɵɵrestoreView(_r1); ctx.invokeOnTouched($event); return i0.ɵɵresetView(ctx.checkForFloatingLabel($event)); });
199
+ i0.ɵɵlistener("change", function SelectComponent_Template_select_change_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onSelectValueChange($event)); })("mousedown", function SelectComponent_Template_select_mousedown_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.checkForFloatingLabel($event)); })("blur", function SelectComponent_Template_select_blur_0_listener($event) { i0.ɵɵrestoreView(_r1); ctx.invokeOnTouched($event); return i0.ɵɵresetView(ctx.checkForFloatingLabel($event)); });
170
200
  i0.ɵɵelement(2, "option", 2);
171
201
  i0.ɵɵtemplate(3, SelectComponent_ng_container_3_Template, 2, 1, "ng-container", 3)(4, SelectComponent_ng_container_4_Template, 2, 1, "ng-container", 3);
172
202
  i0.ɵɵelementEnd();
@@ -174,14 +204,14 @@ export class SelectComponent extends DatasetAwareFormComponent {
174
204
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(15, _c1, ctx.class))("disabled", ctx.disabled)("required", ctx.required)("tabindex", ctx.tabindex);
175
205
  i0.ɵɵtwoWayProperty("ngModel", ctx.modelByKey);
176
206
  i0.ɵɵproperty("ngModelOptions", i0.ɵɵpureFunction0(17, _c2))("multiple", ctx.multiple)("autofocus", ctx.autofocus);
177
- i0.ɵɵattribute("name", ctx.name)("aria-label", ctx.hint)("aria-multiselectable", ctx.multiple);
207
+ i0.ɵɵattribute("accesskey", ctx.shortcutkey)("name", ctx.name)("aria-label", ctx.arialabel);
178
208
  i0.ɵɵadvance(2);
179
209
  i0.ɵɵproperty("textContent", ctx.placeholder)("hidden", !ctx.placeholder);
180
210
  i0.ɵɵadvance();
181
211
  i0.ɵɵproperty("ngIf", ctx.groupby);
182
212
  i0.ɵɵadvance();
183
213
  i0.ɵɵproperty("ngIf", !ctx.groupby);
184
- } }, dependencies: [i2.NgClass, i2.NgForOf, i2.NgIf, i3.NgSelectOption, i3.ɵNgSelectMultipleOption, i3.SelectMultipleControlValueAccessor, i3.NgControlStatus, i3.RequiredValidator, i3.NgModel, i4.TextContentDirective], encapsulation: 2 }); }
214
+ } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i2.NgSelectOption, i2.ɵNgSelectMultipleOption, i2.SelectMultipleControlValueAccessor, i2.NgControlStatus, i2.RequiredValidator, i2.NgModel, i3.TextContentDirective], encapsulation: 2 }); }
185
215
  }
186
216
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SelectComponent, [{
187
217
  type: Component,
@@ -189,8 +219,8 @@ export class SelectComponent extends DatasetAwareFormComponent {
189
219
  provideAs(SelectComponent, NG_VALUE_ACCESSOR, true),
190
220
  provideAs(SelectComponent, NG_VALIDATORS, true),
191
221
  provideAsWidgetRef(SelectComponent)
192
- ], template: "<select role=\"listbox\" aria-haspopup=\"true\" aria-expanded=\"false\" #select\n focus-target\n [ngClass]=\"['app-select form-control', class]\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [(ngModel)]=\"modelByKey\"\n [ngModelOptions]=\"{standalone: true}\"\n [multiple]=\"multiple\"\n (change)=\"onSelectValueChange($event)\"\n (focus)=\"checkForFloatingLabel($event)\"\n (blur)=\"invokeOnTouched($event); checkForFloatingLabel($event)\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"hint\"\n [attr.aria-multiselectable]=\"multiple\"\n [autofocus]=\"autofocus\">\n\n <option selected\n value=\"undefined\"\n [textContent]=\"placeholder\"\n id=\"placeholderOption\"\n [hidden]=\"!placeholder\"></option>\n\n <ng-container *ngIf=\"groupby\">\n <optgroup *ngFor=\"let groupObj of groupedData\"\n [label]=\"groupObj.key\">\n <option *ngFor=\"let item of groupObj.data;\"\n [value]=\"item.key\"\n [selected]=\"item.selected\"\n [textContent]=\"item.label\"\n role=\"option\"></option>\n </optgroup>\n </ng-container>\n\n <ng-container *ngIf=\"!groupby\">\n <option *ngFor=\"let item of datasetItems\"\n [value]=\"item.key\"\n [selected]=\"item.selected\"\n [textContent]=\"item.label\"\n role=\"option\"></option>\n </ng-container>\n</select>\n" }]
193
- }], () => [{ type: i0.Injector }, { type: i1.App }, { type: undefined, decorators: [{
222
+ ], template: "<!--Updated focus with mousedown event. IOS devices not allow update of option value after opening dropdown-->\n<select #select\n focus-target\n [ngClass]=\"['app-select form-control', class]\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [attr.accesskey]=\"shortcutkey\"\n [(ngModel)]=\"modelByKey\"\n [ngModelOptions]=\"{standalone: true}\"\n [multiple]=\"multiple\"\n (change)=\"onSelectValueChange($event)\"\n (mousedown)=\"checkForFloatingLabel($event)\"\n (blur)=\"invokeOnTouched($event); checkForFloatingLabel($event)\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel\"\n [autofocus]=\"autofocus\">\n\n <option selected\n value=\"undefined\"\n [textContent]=\"placeholder\"\n id=\"placeholderOption\"\n [hidden]=\"!placeholder\"></option>\n\n <ng-container *ngIf=\"groupby\">\n <optgroup *ngFor=\"let groupObj of groupedData\"\n [label]=\"groupObj.key\">\n <option *ngFor=\"let item of groupObj.data;\"\n [value]=\"item.key\"\n [selected]=\"item.selected\"\n [textContent]=\"item.label\"\n ></option>\n </optgroup>\n </ng-container>\n\n <ng-container *ngIf=\"!groupby\">\n <option *ngFor=\"let item of datasetItems\"\n [value]=\"item.key\"\n [selected]=\"item.selected\"\n [textContent]=\"item.label\"\n ></option>\n </ng-container>\n</select>\n" }]
223
+ }], () => [{ type: i0.Injector }, { type: undefined, decorators: [{
194
224
  type: Inject,
195
225
  args: ['EXPLICIT_CONTEXT']
196
226
  }, {
@@ -199,5 +229,5 @@ export class SelectComponent extends DatasetAwareFormComponent {
199
229
  type: ViewChild,
200
230
  args: ['select', { static: true, read: ElementRef }]
201
231
  }] }); })();
202
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SelectComponent, { className: "SelectComponent", filePath: "select/select.component.ts", lineNumber: 22 }); })();
203
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUFDLGFBQWEsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRWhFLE9BQU8sRUFBQyxHQUFHLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDOUQsT0FBTyxFQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUUxRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7OztJQ2tCdkIsNEJBSTJCOzs7SUFEdkIsQUFEQSxBQURBLG1DQUFrQiw4QkFDUSw4QkFDQTs7O0lBTGxDLG1DQUMyQjtJQUN2QixnR0FJa0I7SUFDdEIsaUJBQVc7OztJQU5QLHVDQUFzQjtJQUNHLGNBQWlCO0lBQWpCLDBDQUFpQjs7O0lBSGxELDZCQUE4QjtJQUMxQix5RkFDMkI7Ozs7SUFESSxjQUFjO0lBQWQsNENBQWM7OztJQVc3Qyw0QkFJMkI7OztJ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O29CQUNuRCxTQUFTLGtCQUFrQixhQUFhLEVBQUUsSUFBSSxDQUFDO29CQUMvQyxrQkFBa0IsaUJBQWlCO2lCQUN0Qzs7c0JBeUJxQyxNQUFNO3VCQUFDLGtCQUFrQjs7c0JBQUcsUUFBUTtxQkFSakIsUUFBUTtrQkFBaEUsU0FBUzttQkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7O2tGQWY5QyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5qZWN0b3IsIE9wdGlvbmFsLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge0FwcCwgRGF0YVNvdXJjZSwgcmVtb3ZlQXR0ciwgc2V0QXR0cn0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHtwcm92aWRlQXMsIHByb3ZpZGVBc1dpZGdldFJlZiwgc3R5bGVyfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcbmltcG9ydCB7RGF0YXNldEF3YXJlRm9ybUNvbXBvbmVudH0gZnJvbSAnLi4vZGF0YXNldC1hd2FyZS1mb3JtLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7cmVnaXN0ZXJQcm9wc30gZnJvbSAnLi9zZWxlY3QucHJvcHMnO1xuaW1wb3J0IHtpbmNsdWRlc30gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5jb25zdCBXSURHRVRfQ09ORklHID0ge3dpZGdldFR5cGU6ICd3bS1zZWxlY3QnLCBob3N0Q2xhc3M6ICdhcHAtc2VsZWN0LXdyYXBwZXInfTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd3bS1zZWxlY3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBwcm92aWRlQXMoU2VsZWN0Q29tcG9uZW50LCBOR19WQUxVRV9BQ0NFU1NPUiwgdHJ1ZSksXG4gICAgICAgIHByb3ZpZGVBcyhTZWxlY3RDb21wb25lbnQsIE5HX1ZBTElEQVRPUlMsIHRydWUpLFxuICAgICAgICBwcm92aWRlQXNXaWRnZXRSZWYoU2VsZWN0Q29tcG9uZW50KVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0Q29tcG9uZW50IGV4dGVuZHMgRGF0YXNldEF3YXJlRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIHN0YXRpYyBpbml0aWFsaXplUHJvcHMgPSByZWdpc3RlclByb3BzKCk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHk6IGJvb2xlYW47XG4gICAgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gICAgcHVibGljIG5hdnNlYXJjaGJhcjogYW55O1xuICAgIHB1YmxpYyBjbGFzczogYW55O1xuICAgIHB1YmxpYyByZXF1aXJlZDogYm9vbGVhbjtcbiAgICBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgcHVibGljIHRhYmluZGV4OiBhbnk7XG4gICAgcHVibGljIG5hbWU6IHN0cmluZztcbiAgICBwdWJsaWMgYXV0b2ZvY3VzOiBib29sZWFuO1xuICAgIHB1YmxpYyBoaW50OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBhcHA6IEFwcDtcblxuICAgIEBWaWV3Q2hpbGQoJ3NlbGVjdCcsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBFbGVtZW50UmVmIH0pIHNlbGVjdEVsOiBFbGVtZW50UmVmO1xuXG4gICAgc2V0IGRhdGFzb3VyY2UoZHMpIHtcbiAgICAgICAgaWYgKGRzICYmIGRzLmV4ZWN1dGUgJiYgZHMuZXhlY3V0ZShEYXRhU291cmNlLk9wZXJhdGlvbi5JU19CT1VORF9UT19MT0NBTEUpKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGF2YWx1ZSA9IGRzLmV4ZWN1dGUoRGF0YVNvdXJjZS5PcGVyYXRpb24uR0VUX0RFRkFVTFRfTE9DQUxFKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGluajogSW5qZWN0b3IsIGFwcDogQXBwLCBASW5qZWN0KCdFWFBMSUNJVF9DT05URVhUJykgQE9wdGlvbmFsKCkgZXhwbGljaXRDb250ZXh0OiBhbnkpIHtcbiAgICAgICAgc3VwZXIoaW5qLCBXSURHRVRfQ09ORklHLCBleHBsaWNpdENvbnRleHQpO1xuICAgICAgICB0aGlzLmFwcCA9IGFwcDtcbiAgICAgICAgdGhpcy5hY2NlcHRzQXJyYXkgPSB0cnVlO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgICAgIHN0eWxlcih0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQsIHRoaXMpO1xuICAgIH1cblxuICAgIC8vIENoYW5nZSBldmVudCBpcyByZWdpc3RlcmVkIGZyb20gdGhlIHRlbXBsYXRlLCBQcmV2ZW50IHRoZSBmcmFtZXdvcmsgZnJvbSByZWdpc3RlcmluZyBvbmUgbW9yZSBldmVudFxuICAgIHByb3RlY3RlZCBoYW5kbGVFdmVudChub2RlOiBIVE1MRWxlbWVudCwgZXZlbnROYW1lOiBzdHJpbmcsIGV2ZW50Q2FsbGJhY2s6IEZ1bmN0aW9uLCBsb2NhbHM6IGFueSkge1xuICAgICAgICBpZiAoIWluY2x1ZGVzKFsnYmx1cicsICdjaGFuZ2UnXSwgZXZlbnROYW1lKSkge1xuICAgICAgICAgICAgc3VwZXIuaGFuZGxlRXZlbnQodGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LCBldmVudE5hbWUsIGV2ZW50Q2FsbGJhY2ssIGxvY2Fscyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblNlbGVjdFZhbHVlQ2hhbmdlKCRldmVudCkge1xuICAgICAgICBpZiAodGhpcy5yZWFkb25seSkge1xuICAgICAgICAgICAgaWYgKHRoaXMucGxhY2Vob2xkZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLnBsYWNlaG9sZGVyO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZGF0YXZhbHVlID0gKHRoaXMgYXMgYW55KS5wcmV2RGF0YXZhbHVlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaW52b2tlT25Ub3VjaGVkKCk7XG4gICAgICAgIC8vIGludm9rZSBvbiBkYXRhdmFsdWUgY2hhbmdlLlxuICAgICAgICB0aGlzLmludm9rZU9uQ2hhbmdlKHRoaXMuZGF0YXZhbHVlLCAkZXZlbnQgfHwge30sIHRydWUpO1xuICAgIH1cblxuICAgIG9uUHJvcGVydHlDaGFuZ2Uoa2V5OiBzdHJpbmcsIG52OiBhbnksIG92PzogYW55KSB7XG4gICAgICAgIGlmIChrZXkgPT09ICdyZXF1aXJlZCcpICB7XG4gICAgICAgICAgICB0aGlzLl9vbkNoYW5nZSh0aGlzLmRhdGF2YWx1ZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGtleSA9PT0gJ2NsYXNzJyB8fCAga2V5ID09PSAndGFiaW5kZXgnKSB7XG4gICAgICAgICAgICBpZihrZXkgPT09ICdjbGFzcycpIHtcbiAgICAgICAgICAgICAgICAvLyBBZnRlciBORzE1IHVwZ3JhZGUgbmctaW52YWxpZCBjbGFzcyBpcyBhZGRlZCBldmVuIHRoZSBmaWVsZCBpcyB2YWxpZCwgc28gd2UgYXJlIHJlbW92aW5nIHRoZSBuZy1pbnZhbGlkIG1hbnVhbGx5XG4gICAgICAgICAgICAgICAgY29uc3QgaXNOZ1VudG91Y2hlZFZhbGlkID0gdGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbmctdW50b3VjaGVkJykgJiYgdGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbmctdmFsaWQnKVxuICAgICAgICAgICAgICAgIGlmKGlzTmdVbnRvdWNoZWRWYWxpZCAmJiBudi5pbmNsdWRlcygnbmctdW50b3VjaGVkJykgJiYgbnYuaW5jbHVkZXMoJ25nLWludmFsaWQnKSkge1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbmctdW50b3VjaGVkJykgJiYgdGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbmctdmFsaWQnKSAmJiB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCduZy1pbnZhbGlkJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnbmctaW52YWxpZCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSAncmVhZG9ubHknKSB7XG4gICAgICAgICAgICAgKG52ID09PSB0cnVlKSA/IHNldEF0dHIodGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LCAncmVhZG9ubHknLCAncmVhZG9ubHknKSA6IHJlbW92ZUF0dHIodGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LCAncmVhZG9ubHknKSA7XG4gICAgICAgIH1cbiAgICAgICAgc3VwZXIub25Qcm9wZXJ0eUNoYW5nZShrZXksIG52LCBvdik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogV2hlbiBjYXB0aW9uIGZsb2F0aW5nIGlzIGVuYWJsZWQgYW5kIHBsYWNlaG9sZGVyIGlzIGdpdmVuLCBkbyBub3Qgc2hvdyBwbGFjZWhvbGRlciB1bnRpbCB1c2VyIGZvY3VzZXMgb24gdGhlIGZpZWxkXG4gICAgICogV2hlbiBmb2N1c2VkIGFkZCB0aGUgcGxhY2Vob2xkZXIgdG8gdGhlIG9wdGlvbiB3aGljaCBpcyBzZWxlY3RlZFxuICAgICAqIE9uIGJsdXIsIHJlbW92ZSB0aGUgcGxhY2Vob2xkZXIgYW5kIGRvIG5vdCBhbmltYXRlIHRoZSBsYWJlbFxuICAgICAqIEBwYXJhbSAkZXZlbnQgZXZlbnQgcmVjZWl2ZWQgd2lsbCBiZSBlaXRoZXIgYSBibHVyIG9yIGZvY3VzIGV2ZW50XG4gICAgICovXG4gICAgY2hlY2tGb3JGbG9hdGluZ0xhYmVsKCRldmVudCkge1xuICAgICAgICBjb25zdCBjYXB0aW9uRWwgPSAkKHRoaXMuc2VsZWN0RWwubmF0aXZlRWxlbWVudCkuY2xvc2VzdCgnLmFwcC1jb21wb3NpdGUtd2lkZ2V0LmNhcHRpb24tZmxvYXRpbmcnKTtcbiAgICAgICAgaWYgKGNhcHRpb25FbC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBpZiAoJGV2ZW50LnR5cGUgPT09ICdmb2N1cycgJiYgKCF0aGlzLmRhdGF2YWx1ZSB8fCAodGhpcy5kYXRhdmFsdWUgJiYgJCh0aGlzLnNlbGVjdEVsKS5maW5kKCdzZWxlY3Qgb3B0aW9uOnNlbGVjdGVkJykudGV4dCgpID09PSAnJyAmJiB0aGlzLnBsYWNlaG9sZGVyKSkpIHtcbiAgICAgICAgICAgICAgICBpZighKHRoaXMuZGF0YXZhbHVlIHx8IHRoaXMucGxhY2Vob2xkZXIpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlUGxhY2Vob2xkZXJPcHRpb24oKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAkKHRoaXMuc2VsZWN0RWwubmF0aXZlRWxlbWVudCkuZmluZCgnb3B0aW9uOmZpcnN0JykudGV4dCh0aGlzLnBsYWNlaG9sZGVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLmRhdGF2YWx1ZSkge1xuICAgICAgICAgICAgICAgICQodGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50KS5maW5kKCdvcHRpb246c2VsZWN0ZWQnKS50ZXh0KCcnKTtcbiAgICAgICAgICAgICAgICBjYXB0aW9uRWwucmVtb3ZlQ2xhc3MoJ2Zsb2F0LWFjdGl2ZScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYoISh0aGlzLmRhdGF2YWx1ZSB8fCB0aGlzLnBsYWNlaG9sZGVyKSkge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVQbGFjZWhvbGRlck9wdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLypcbiAgICAqIFJlbW92aW5nIHRoZSBwbGFjZWhvbGRlciBvcHRpb24gaWYgbm8gcGxhY2Vob2xkZXIgaXMgcHJvdmlkZWQuXG4gICAgKiBJbiBodG1sIHdlIGFyZSBoaWRpbmcgdGhlIHBsYWNlaG9sZGVyIG9wdGlvbiB1c2luZyBjc3MgYnV0IGluIGFwcGxlIGRldmljZXMgYW5kIHNhZmFyaSBvcHRpb24gaXMgc2hvd2luZy5cbiAgICAqICovXG4gICAgcHJpdmF0ZSByZW1vdmVQbGFjZWhvbGRlck9wdGlvbigpIHtcbiAgICAgICAgY29uc3QgaGlkZGVuRWxlID0gJCh0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQpLmZpbmQoJyNwbGFjZWhvbGRlck9wdGlvbicpO1xuICAgICAgICBpZiAoaGlkZGVuRWxlLmxlbmd0aCkge1xuICAgICAgICAgICAgaGlkZGVuRWxlLnJlbW92ZSgpO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8c2VsZWN0IHJvbGU9XCJsaXN0Ym94XCIgYXJpYS1oYXNwb3B1cD1cInRydWVcIiBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIiAjc2VsZWN0XG4gICAgICAgIGZvY3VzLXRhcmdldFxuICAgICAgICBbbmdDbGFzc109XCJbJ2FwcC1zZWxlY3QgZm9ybS1jb250cm9sJywgY2xhc3NdXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgW3RhYmluZGV4XT1cInRhYmluZGV4XCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJtb2RlbEJ5S2V5XCJcbiAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXG4gICAgICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgICAgIChjaGFuZ2UpPVwib25TZWxlY3RWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKGZvY3VzKT1cImNoZWNrRm9yRmxvYXRpbmdMYWJlbCgkZXZlbnQpXCJcbiAgICAgICAgKGJsdXIpPVwiaW52b2tlT25Ub3VjaGVkKCRldmVudCk7IGNoZWNrRm9yRmxvYXRpbmdMYWJlbCgkZXZlbnQpXCJcbiAgICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJoaW50XCJcbiAgICAgICAgW2F0dHIuYXJpYS1tdWx0aXNlbGVjdGFibGVdPVwibXVsdGlwbGVcIlxuICAgICAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiPlxuXG4gICAgICAgIDxvcHRpb24gc2VsZWN0ZWRcbiAgICAgICAgICAgICAgICB2YWx1ZT1cInVuZGVmaW5lZFwiXG4gICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICBpZD1cInBsYWNlaG9sZGVyT3B0aW9uXCJcbiAgICAgICAgICAgICAgICBbaGlkZGVuXT1cIiFwbGFjZWhvbGRlclwiPjwvb3B0aW9uPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImdyb3VwYnlcIj5cbiAgICAgICAgPG9wdGdyb3VwICpuZ0Zvcj1cImxldCBncm91cE9iaiBvZiBncm91cGVkRGF0YVwiXG4gICAgICAgICAgICBbbGFiZWxdPVwiZ3JvdXBPYmoua2V5XCI+XG4gICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdyb3VwT2JqLmRhdGE7XCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwiaXRlbS5rZXlcIlxuICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJpdGVtLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICBbdGV4dENvbnRlbnRdPVwiaXRlbS5sYWJlbFwiXG4gICAgICAgICAgICAgICAgcm9sZT1cIm9wdGlvblwiPjwvb3B0aW9uPlxuICAgICAgICA8L29wdGdyb3VwPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFncm91cGJ5XCI+XG4gICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGF0YXNldEl0ZW1zXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLmtleVwiXG4gICAgICAgICAgICBbc2VsZWN0ZWRdPVwiaXRlbS5zZWxlY3RlZFwiXG4gICAgICAgICAgICBbdGV4dENvbnRlbnRdPVwiaXRlbS5sYWJlbFwiXG4gICAgICAgICAgICByb2xlPVwib3B0aW9uXCI+PC9vcHRpb24+XG4gICAgPC9uZy1jb250YWluZXI+XG48L3NlbGVjdD5cbiJdfQ==
232
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SelectComponent, { className: "SelectComponent", filePath: "select/select.component.ts", lineNumber: 20 }); })();
233
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUFDLGFBQWEsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQzFFLE9BQU8sRUFBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDMUUsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFFMUUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7SUNxQmpDLDRCQUlVOzs7SUFETixBQURBLEFBREEsbUNBQWtCLDhCQUNRLDhCQUNBOzs7SUFMbEMsbUNBQzJCO0lBQ3ZCLGdHQUlDO0lBQ0wsaUJBQVc7OztJQU5QLHVDQUFzQjtJQUNHLGNBQWlCO0lBQWpCLDBDQUFpQjs7O0lBSGxELDZCQUE4QjtJQUMxQix5RkFDMkI7Ozs7SUFESSxjQUFjO0lBQWQsNENBQWM7OztJQVc3Qyw0QkFJVTs7O0lBRE4sQUFEQSxBQURBLG1DQUFrQiw4QkFDUSw4QkFDQTs7O0lB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ZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbmplY3QsIEluamVjdG9yLCBPcHRpb25hbCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7RGF0YVNvdXJjZSwgaXNJb3MsIHJlbW92ZUF0dHIsIHNldEF0dHIsIGlzU2FmYXJpfSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQge3Byb3ZpZGVBcywgcHJvdmlkZUFzV2lkZ2V0UmVmLCBzdHlsZXJ9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuaW1wb3J0IHtEYXRhc2V0QXdhcmVGb3JtQ29tcG9uZW50fSBmcm9tICcuLi9kYXRhc2V0LWF3YXJlLWZvcm0uY29tcG9uZW50JztcblxuaW1wb3J0IHtyZWdpc3RlclByb3BzfSBmcm9tICcuL3NlbGVjdC5wcm9wcyc7XG5cbmNvbnN0IFdJREdFVF9DT05GSUcgPSB7d2lkZ2V0VHlwZTogJ3dtLXNlbGVjdCcsIGhvc3RDbGFzczogJ2FwcC1zZWxlY3Qtd3JhcHBlcid9O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3dtLXNlbGVjdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHByb3ZpZGVBcyhTZWxlY3RDb21wb25lbnQsIE5HX1ZBTFVFX0FDQ0VTU09SLCB0cnVlKSxcbiAgICAgICAgcHJvdmlkZUFzKFNlbGVjdENvbXBvbmVudCwgTkdfVkFMSURBVE9SUywgdHJ1ZSksXG4gICAgICAgIHByb3ZpZGVBc1dpZGdldFJlZihTZWxlY3RDb21wb25lbnQpXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBEYXRhc2V0QXdhcmVGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgc3RhdGljIGluaXRpYWxpemVQcm9wcyA9IHJlZ2lzdGVyUHJvcHMoKTtcblxuICAgIHB1YmxpYyByZWFkb25seTogYm9vbGVhbjtcbiAgICBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICBwdWJsaWMgbmF2c2VhcmNoYmFyOiBhbnk7XG4gICAgcHVibGljIGNsYXNzOiBhbnk7XG4gICAgcHVibGljIHJlcXVpcmVkOiBib29sZWFuO1xuICAgIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbjtcbiAgICBwdWJsaWMgdGFiaW5kZXg6IGFueTtcbiAgICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuICAgIHB1YmxpYyBhdXRvZm9jdXM6IGJvb2xlYW47XG4gICAgcHVibGljIGhpbnQ6IHN0cmluZztcbiAgICBwdWJsaWMgYXJpYWxhYmVsOiBzdHJpbmc7XG4gICAgcHVibGljIHNob3J0Y3V0a2V5OiBzdHJpbmc7XG5cbiAgICBAVmlld0NoaWxkKCdzZWxlY3QnLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogRWxlbWVudFJlZiB9KSBzZWxlY3RFbDogRWxlbWVudFJlZjtcblxuICAgIHNldCBkYXRhc291cmNlKGRzKSB7XG4gICAgICAgIGlmIChkcyAmJiBkcy5leGVjdXRlICYmIGRzLmV4ZWN1dGUoRGF0YVNvdXJjZS5PcGVyYXRpb24uSVNfQk9VTkRfVE9fTE9DQUxFKSkge1xuICAgICAgICAgICAgdGhpcy5kYXRhdmFsdWUgPSBkcy5leGVjdXRlKERhdGFTb3VyY2UuT3BlcmF0aW9uLkdFVF9ERUZBVUxUX0xPQ0FMRSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihpbmo6IEluamVjdG9yLCBASW5qZWN0KCdFWFBMSUNJVF9DT05URVhUJykgQE9wdGlvbmFsKCkgZXhwbGljaXRDb250ZXh0OiBhbnkpIHtcbiAgICAgICAgc3VwZXIoaW5qLCBXSURHRVRfQ09ORklHLCBleHBsaWNpdENvbnRleHQpO1xuICAgICAgICB0aGlzLmFjY2VwdHNBcnJheSA9IHRydWU7XG5cbiAgICAgICAgLypcbiAgICAgICAgKiBXaGVuIHRoZSBkYXRhc2V0IGZvciBhIHNlbGVjdCBlbGVtZW50IGlzIHVwZGF0ZWQgYW5kIG5vIGxvbmdlciBpbmNsdWRlcyB0aGUgcHJldmlvdXNseSBzZWxlY3RlZCB2YWx1ZTpcbiAgICAgICAgKiBUaGUgc2VsZWN0IGVsZW1lbnQgYmVjb21lcyBlbXB0eSwgYW5kIHRoZSBuZ01vZGVsIHZhbHVlIGlzIHVwZGF0ZWQgdG8gcmVmbGVjdCB0aGlzIGNoYW5nZS5cbiAgICAgICAgKiBIb3dldmVyLCB0aGUgY2hhbmdlIGV2ZW50IGlzIG5vdCB0cmlnZ2VyZWQsIHByZXZlbnRpbmcgdGhlIGZvcm0gY29udHJvbCBmcm9tIHJlY29nbml6aW5nIHRoZSB1cGRhdGUgYW5kIGFwcGx5aW5nIG5lY2Vzc2FyeSB2YWxpZGF0aW9ucy5cbiAgICAgICAgKiBBcyB0aGlzIHdpZGdldCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBtYW51YWxseSB1cGRhdGluZyB0aGUgbmdNb2RlbCAob3IgbW9kZWxCeUtleSkgaXMgbmVjZXNzYXJ5IHRvIGVuc3VyZSBjb3JyZWN0IGZvcm0gYmVoYXZpb3IuXG4gICAgICAgICogKi9cbiAgICAgICAgY29uc3QgZGF0YXNldFN1YnNjcmlwdGlvbiA9IHRoaXMuZGF0YXNldCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGlmKGlzSW9zKCkgfHwgaXNTYWZhcmkoKSkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmRhdGF2YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZEl0ZW0gPSB0aGlzLmRhdGFzZXRJdGVtcy5maW5kKGl0ZW0gPT4gaXRlbS5zZWxlY3RlZCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghc2VsZWN0ZWRJdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZighdGhpcy5wbGFjZWhvbGRlcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb2RlbEJ5S2V5ID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSwgMTAwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYoIXRoaXMucGxhY2Vob2xkZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9LCAxMDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJEZXN0cm95TGlzdGVuZXIoKCkgPT4gZGF0YXNldFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgICAgICBzdHlsZXIodGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50LCB0aGlzKTtcbiAgICB9XG5cbiAgICAvLyBDaGFuZ2UgZXZlbnQgaXMgcmVnaXN0ZXJlZCBmcm9tIHRoZSB0ZW1wbGF0ZSwgUHJldmVudCB0aGUgZnJhbWV3b3JrIGZyb20gcmVnaXN0ZXJpbmcgb25lIG1vcmUgZXZlbnRcbiAgICBwcm90ZWN0ZWQgaGFuZGxlRXZlbnQobm9kZTogSFRNTEVsZW1lbnQsIGV2ZW50TmFtZTogc3RyaW5nLCBldmVudENhbGxiYWNrOiBGdW5jdGlvbiwgbG9jYWxzOiBhbnkpIHtcbiAgICAgICAgaWYgKCFbJ2JsdXInLCAnY2hhbmdlJ10uaW5jbHVkZXMoZXZlbnROYW1lKSkge1xuICAgICAgICAgICAgc3VwZXIuaGFuZGxlRXZlbnQodGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LCBldmVudE5hbWUsIGV2ZW50Q2FsbGJhY2ssIGxvY2Fscyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblNlbGVjdFZhbHVlQ2hhbmdlKCRldmVudCkge1xuICAgICAgICBpZiAodGhpcy5yZWFkb25seSkge1xuICAgICAgICAgICAgaWYgKHRoaXMucGxhY2Vob2xkZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLnBsYWNlaG9sZGVyO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZGF0YXZhbHVlID0gKHRoaXMgYXMgYW55KS5wcmV2RGF0YXZhbHVlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaW52b2tlT25Ub3VjaGVkKCk7XG4gICAgICAgIC8vIGludm9rZSBvbiBkYXRhdmFsdWUgY2hhbmdlLlxuICAgICAgICB0aGlzLmludm9rZU9uQ2hhbmdlKHRoaXMuZGF0YXZhbHVlLCAkZXZlbnQgfHwge30sIHRydWUpO1xuICAgIH1cblxuICAgIG9uUHJvcGVydHlDaGFuZ2Uoa2V5OiBzdHJpbmcsIG52OiBhbnksIG92PzogYW55KSB7XG4gICAgICAgIGlmIChrZXkgPT09ICdyZXF1aXJlZCcpICB7XG4gICAgICAgICAgICB0aGlzLl9vbkNoYW5nZSh0aGlzLmRhdGF2YWx1ZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGtleSA9PT0gJ2NsYXNzJyB8fCAga2V5ID09PSAndGFiaW5kZXgnKSB7XG4gICAgICAgICAgICBpZihrZXkgPT09ICdjbGFzcycpIHtcbiAgICAgICAgICAgICAgICAvLyBBZnRlciBORzE1IHVwZ3JhZGUgbmctaW52YWxpZCBjbGFzcyBpcyBhZGRlZCBldmVuIHRoZSBmaWVsZCBpcyB2YWxpZCwgc28gd2UgYXJlIHJlbW92aW5nIHRoZSBuZy1pbnZhbGlkIG1hbnVhbGx5XG4gICAgICAgICAgICAgICAgY29uc3QgaXNOZ1VudG91Y2hlZFZhbGlkID0gdGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbmctdW50b3VjaGVkJykgJiYgdGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbmctdmFsaWQnKVxuICAgICAgICAgICAgICAgIGlmKGlzTmdVbnRvdWNoZWRWYWxpZCAmJiBudi5pbmNsdWRlcygnbmctdW50b3VjaGVkJykgJiYgbnYuaW5jbHVkZXMoJ25nLWludmFsaWQnKSkge1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbmctdW50b3VjaGVkJykgJiYgdGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbmctdmFsaWQnKSAmJiB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCduZy1pbnZhbGlkJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnbmctaW52YWxpZCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSAncmVhZG9ubHknKSB7XG4gICAgICAgICAgICAgKG52ID09PSB0cnVlKSA/IHNldEF0dHIodGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LCAncmVhZG9ubHknLCAncmVhZG9ubHknKSA6IHJlbW92ZUF0dHIodGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LCAncmVhZG9ubHknKSA7XG4gICAgICAgIH1cbiAgICAgICAgc3VwZXIub25Qcm9wZXJ0eUNoYW5nZShrZXksIG52LCBvdik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogV2hlbiBjYXB0aW9uIGZsb2F0aW5nIGlzIGVuYWJsZWQgYW5kIHBsYWNlaG9sZGVyIGlzIGdpdmVuLCBkbyBub3Qgc2hvdyBwbGFjZWhvbGRlciB1bnRpbCB1c2VyIGZvY3VzZXMgb24gdGhlIGZpZWxkXG4gICAgICogV2hlbiBmb2N1c2VkIGFkZCB0aGUgcGxhY2Vob2xkZXIgdG8gdGhlIG9wdGlvbiB3aGljaCBpcyBzZWxlY3RlZFxuICAgICAqIE9uIGJsdXIsIHJlbW92ZSB0aGUgcGxhY2Vob2xkZXIgYW5kIGRvIG5vdCBhbmltYXRlIHRoZSBsYWJlbFxuICAgICAqIEBwYXJhbSAkZXZlbnQgZXZlbnQgcmVjZWl2ZWQgd2lsbCBiZSBlaXRoZXIgYSBibHVyIG9yIGZvY3VzIGV2ZW50XG4gICAgICovXG4gICAgY2hlY2tGb3JGbG9hdGluZ0xhYmVsKCRldmVudCkge1xuICAgICAgICBjb25zdCBjYXB0aW9uRWwgPSAkKHRoaXMuc2VsZWN0RWwubmF0aXZlRWxlbWVudCkuY2xvc2VzdCgnLmFwcC1jb21wb3NpdGUtd2lkZ2V0LmNhcHRpb24tZmxvYXRpbmcnKTtcbiAgICAgICAgaWYoIXRoaXMucGxhY2Vob2xkZXIgJiYgKGlzSW9zKCkgfHwgaXNTYWZhcmkoKSkpIHtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlUGxhY2Vob2xkZXJPcHRpb24oKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2FwdGlvbkVsLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyT3B0aW9uID0gdGhpcy5zZWxlY3RFbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJyNwbGFjZWhvbGRlck9wdGlvbicpO1xuICAgICAgICAgICAgaWYgKCRldmVudC50eXBlID09PSAnbW91c2Vkb3duJyAmJiAoIXRoaXMuZGF0YXZhbHVlIHx8ICh0aGlzLmRhdGF2YWx1ZSAmJiAkKHRoaXMuc2VsZWN0RWwpLmZpbmQoJ3NlbGVjdCBvcHRpb246c2VsZWN0ZWQnKS50ZXh0KCkgPT09ICcnICYmIHRoaXMucGxhY2Vob2xkZXIpKSkge1xuICAgICAgICAgICAgICAgIGlmKHRoaXMucGxhY2Vob2xkZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXJPcHRpb24udGV4dENvbnRlbnQgPSB0aGlzLnBsYWNlaG9sZGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuZGF0YXZhbHVlKSB7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5wbGFjZWhvbGRlcikge1xuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlck9wdGlvbi50ZXh0Q29udGVudCA9ICcnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXB0aW9uRWwucmVtb3ZlQ2xhc3MoJ2Zsb2F0LWFjdGl2ZScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLypcbiAgICAqIFJlbW92aW5nIHRoZSBwbGFjZWhvbGRlciBvcHRpb24gaWYgbm8gcGxhY2Vob2xkZXIgaXMgcHJvdmlkZWQuXG4gICAgKiBJbiBodG1sIHdlIGFyZSBoaWRpbmcgdGhlIHBsYWNlaG9sZGVyIG9wdGlvbiB1c2luZyBjc3MgYnV0IGluIEFwcGxlIGRldmljZXMgYW5kIHNhZmFyaSBvcHRpb24gaXMgc2hvd2luZy5cbiAgICAqIFN0eWxlcyBhcmUgbm90IGFsbG93ZWQgb24gb3B0aW9uIHRhZyBpbiBpb3Mgc2FmYXJpXG4gICAgKiBBZnRlciByZW1vdmluZyB0aGUgb3B0aW9uLCBpZiBubyBkYXRhdmFsdWUgaXMgcHJlc2VudCBhbmQgbmF0aXZlIHNlbGVjdCBlbGVtZW50IHNldHMgdmFsdWUgdG8gdGhlIGZpcnN0IG9wdGlvbiBieSBkZWZhdWx0LCBzbyB3ZSBhcmUgc2V0dGluZyBpdCB0byBlbXB0eVxuICAgICogKi9cbiAgICBwcml2YXRlIHJlbW92ZVBsYWNlaG9sZGVyT3B0aW9uKCkge1xuICAgICAgICBjb25zdCBoaWRkZW5FbGUgPSAkKHRoaXMuc2VsZWN0RWwubmF0aXZlRWxlbWVudCkuZmluZCgnI3BsYWNlaG9sZGVyT3B0aW9uJyk7XG4gICAgICAgIGlmIChoaWRkZW5FbGUubGVuZ3RoKSB7XG4gICAgICAgICAgICBoaWRkZW5FbGUucmVtb3ZlKCk7XG4gICAgICAgICAgICBpZighdGhpcy5kYXRhdmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjwhLS1VcGRhdGVkIGZvY3VzIHdpdGggbW91c2Vkb3duIGV2ZW50LiBJT1MgZGV2aWNlcyBub3QgYWxsb3cgdXBkYXRlIG9mIG9wdGlvbiB2YWx1ZSBhZnRlciBvcGVuaW5nIGRyb3Bkb3duLS0+XG48c2VsZWN0ICNzZWxlY3RcbiAgICAgICAgZm9jdXMtdGFyZ2V0XG4gICAgICAgIFtuZ0NsYXNzXT1cIlsnYXBwLXNlbGVjdCBmb3JtLWNvbnRyb2wnLCBjbGFzc11cIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIlxuICAgICAgICBbYXR0ci5hY2Nlc3NrZXldPVwic2hvcnRjdXRrZXlcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cIm1vZGVsQnlLZXlcIlxuICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6IHRydWV9XCJcbiAgICAgICAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcbiAgICAgICAgKGNoYW5nZSk9XCJvblNlbGVjdFZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAobW91c2Vkb3duKT1cImNoZWNrRm9yRmxvYXRpbmdMYWJlbCgkZXZlbnQpXCJcbiAgICAgICAgKGJsdXIpPVwiaW52b2tlT25Ub3VjaGVkKCRldmVudCk7IGNoZWNrRm9yRmxvYXRpbmdMYWJlbCgkZXZlbnQpXCJcbiAgICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhbGFiZWxcIlxuICAgICAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiPlxuXG4gICAgICAgIDxvcHRpb24gc2VsZWN0ZWRcbiAgICAgICAgICAgICAgICB2YWx1ZT1cInVuZGVmaW5lZFwiXG4gICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICBpZD1cInBsYWNlaG9sZGVyT3B0aW9uXCJcbiAgICAgICAgICAgICAgICBbaGlkZGVuXT1cIiFwbGFjZWhvbGRlclwiPjwvb3B0aW9uPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImdyb3VwYnlcIj5cbiAgICAgICAgPG9wdGdyb3VwICpuZ0Zvcj1cImxldCBncm91cE9iaiBvZiBncm91cGVkRGF0YVwiXG4gICAgICAgICAgICBbbGFiZWxdPVwiZ3JvdXBPYmoua2V5XCI+XG4gICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdyb3VwT2JqLmRhdGE7XCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwiaXRlbS5rZXlcIlxuICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJpdGVtLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICBbdGV4dENvbnRlbnRdPVwiaXRlbS5sYWJlbFwiXG4gICAgICAgICAgICA+PC9vcHRpb24+XG4gICAgICAgIDwvb3B0Z3JvdXA+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWdyb3VwYnlcIj5cbiAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkYXRhc2V0SXRlbXNcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW0ua2V5XCJcbiAgICAgICAgICAgIFtzZWxlY3RlZF09XCJpdGVtLnNlbGVjdGVkXCJcbiAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJpdGVtLmxhYmVsXCJcbiAgICAgICAgPjwvb3B0aW9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9zZWxlY3Q+XG4iXX0=
@@ -15,6 +15,7 @@ export const selectProps = new Map([
15
15
  ['displayValue', PROP_STRING],
16
16
  ['groupby', PROP_STRING],
17
17
  ['hint', PROP_STRING],
18
+ ['arialabel', PROP_STRING],
18
19
  ['match', PROP_STRING],
19
20
  ['multiple', { value: false, ...PROP_BOOLEAN }],
20
21
  ['name', PROP_STRING],
@@ -32,4 +33,4 @@ export const registerProps = () => {
32
33
  registerFormWidget(FormWidgetType.SELECT, new Map(selectProps));
33
34
  registerFormWidget(FormWidgetType.TYPEAHEAD, new Map(selectProps));
34
35
  };
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LnByb3BzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2lucHV0L2RlZmF1bHQvc3JjL3NlbGVjdC9zZWxlY3QucHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXJILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsQ0FDOUI7SUFDSSxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUM7SUFDM0IsQ0FBQyxPQUFPLEVBQUUsRUFBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEdBQUcsV0FBVyxFQUFDLENBQUM7SUFDdEMsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDO0lBQzFCLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQztJQUMxQixDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUM7SUFDckIsQ0FBQyxpQkFBaUIsRUFBRSxRQUFRLENBQUM7SUFDN0IsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDO0lBQzFCLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQztJQUMzQixDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUM7SUFDMUIsQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLENBQUM7SUFDbEMsQ0FBQyxjQUFjLEVBQUUsV0FBVyxDQUFDO0lBQzdCLENBQUMsY0FBYyxFQUFFLFdBQVcsQ0FBQztJQUM3QixDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUM7SUFDeEIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDO0lBQ3JCLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQztJQUN0QixDQUFDLFVBQVUsRUFBRSxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxZQUFZLEVBQUMsQ0FBQztJQUM3QyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUM7SUFDckIsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDO0lBQ3hCLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQztJQUM1QixDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUM7SUFDMUIsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDO0lBQzFCLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQztJQUM1QixDQUFDLE1BQU0sRUFBRSxFQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxZQUFZLEVBQUMsQ0FBQztJQUN4QyxDQUFDLFVBQVUsRUFBRSxFQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsR0FBRyxXQUFXLEVBQUMsQ0FBQztJQUN4QyxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUM7Q0FDNUIsQ0FDSixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEdBQUcsRUFBRTtJQUM5QixRQUFRLENBQ0osV0FBVyxFQUNYLFdBQVcsQ0FDZCxDQUFDO0lBQ0Ysa0JBQWtCLENBQ2QsY0FBYyxDQUFDLE1BQU0sRUFDckIsSUFBSSxHQUFHLENBQUMsV0FBVyxDQUFDLENBQ3ZCLENBQUM7SUFDRixrQkFBa0IsQ0FDZCxjQUFjLENBQUMsU0FBUyxFQUN4QixJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FDdkIsQ0FBQztBQUNOLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1XaWRnZXRUeXBlIH0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgUFJPUF9BTlksIFBST1BfQk9PTEVBTiwgUFJPUF9OVU1CRVIsIFBST1BfU1RSSU5HLCByZWdpc3RlciwgcmVnaXN0ZXJGb3JtV2lkZ2V0IH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5cbmV4cG9ydCBjb25zdCBzZWxlY3RQcm9wcyA9IG5ldyBNYXAoXG4gICAgW1xuICAgICAgICBbJ2F1dG9mb2N1cycsIFBST1BfQk9PTEVBTl0sXG4gICAgICAgIFsnY2xhc3MnLCB7dmFsdWU6ICcnLCAuLi5QUk9QX1NUUklOR31dLFxuICAgICAgICBbJ2NvbXBhcmVieScsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydkYXRhZmllbGQnLCBQUk9QX1NUUklOR10sXG4gICAgICAgIFsnZGF0YXNldCcsIFBST1BfQU5ZXSxcbiAgICAgICAgWydkYXRhdmFsdWVzb3VyY2UnLCBQUk9QX0FOWV0sXG4gICAgICAgIFsnZGF0YXZhbHVlJywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ2RhdGVmb3JtYXQnLCBQUk9QX1NUUklOR10sXG4gICAgICAgIFsnZGlzYWJsZWQnLCBQUk9QX0JPT0xFQU5dLFxuICAgICAgICBbJ2Rpc3BsYXlleHByZXNzaW9uJywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ2Rpc3BsYXlmaWVsZCcsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydkaXNwbGF5VmFsdWUnLCBQUk9QX1NUUklOR10sXG4gICAgICAgIFsnZ3JvdXBieScsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydoaW50JywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ21hdGNoJywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ211bHRpcGxlJywge3ZhbHVlOiBmYWxzZSwgLi4uUFJPUF9CT09MRUFOfV0sXG4gICAgICAgIFsnbmFtZScsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydvcmRlcmJ5JywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ3BsYWNlaG9sZGVyJywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ3JlYWRvbmx5JywgUFJPUF9CT09MRUFOXSxcbiAgICAgICAgWydyZXF1aXJlZCcsIFBST1BfQk9PTEVBTl0sXG4gICAgICAgIFsnc2hvcnRjdXRrZXknLCBQUk9QX1NUUklOR10sXG4gICAgICAgIFsnc2hvdycsIHt2YWx1ZTogdHJ1ZSwgLi4uUFJPUF9CT09MRUFOfV0sXG4gICAgICAgIFsndGFiaW5kZXgnLCB7dmFsdWU6IDAsIC4uLlBST1BfTlVNQkVSfV0sXG4gICAgICAgIFsndXNla2V5cycsIFBST1BfQk9PTEVBTl1cbiAgICBdXG4pO1xuXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJQcm9wcyA9ICgpID0+IHtcbiAgICByZWdpc3RlcihcbiAgICAgICAgJ3dtLXNlbGVjdCcsXG4gICAgICAgIHNlbGVjdFByb3BzXG4gICAgKTtcbiAgICByZWdpc3RlckZvcm1XaWRnZXQoXG4gICAgICAgIEZvcm1XaWRnZXRUeXBlLlNFTEVDVCxcbiAgICAgICAgbmV3IE1hcChzZWxlY3RQcm9wcylcbiAgICApO1xuICAgIHJlZ2lzdGVyRm9ybVdpZGdldChcbiAgICAgICAgRm9ybVdpZGdldFR5cGUuVFlQRUFIRUFELFxuICAgICAgICBuZXcgTWFwKHNlbGVjdFByb3BzKVxuICAgICk7XG59O1xuIl19
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LnByb3BzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2lucHV0L2RlZmF1bHQvc3JjL3NlbGVjdC9zZWxlY3QucHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUN4QyxPQUFPLEVBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRW5ILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsQ0FDOUI7SUFDSSxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUM7SUFDM0IsQ0FBQyxPQUFPLEVBQUUsRUFBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEdBQUcsV0FBVyxFQUFDLENBQUM7SUFDdEMsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDO0lBQzFCLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQztJQUMxQixDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUM7SUFDckIsQ0FBQyxpQkFBaUIsRUFBRSxRQUFRLENBQUM7SUFDN0IsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDO0lBQzFCLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQztJQUMzQixDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUM7SUFDMUIsQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLENBQUM7SUFDbEMsQ0FBQyxjQUFjLEVBQUUsV0FBVyxDQUFDO0lBQzdCLENBQUMsY0FBYyxFQUFFLFdBQVcsQ0FBQztJQUM3QixDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUM7SUFDeEIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDO0lBQ3JCLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQztJQUMxQixDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUM7SUFDdEIsQ0FBQyxVQUFVLEVBQUUsRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsWUFBWSxFQUFDLENBQUM7SUFDN0MsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDO0lBQ3JCLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQztJQUN4QixDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUM7SUFDNUIsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDO0lBQzFCLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQztJQUMxQixDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUM7SUFDNUIsQ0FBQyxNQUFNLEVBQUUsRUFBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsWUFBWSxFQUFDLENBQUM7SUFDeEMsQ0FBQyxVQUFVLEVBQUUsRUFBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsV0FBVyxFQUFDLENBQUM7SUFDeEMsQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDO0NBQzVCLENBQ0osQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxHQUFHLEVBQUU7SUFDOUIsUUFBUSxDQUNKLFdBQVcsRUFDWCxXQUFXLENBQ2QsQ0FBQztJQUNGLGtCQUFrQixDQUNkLGNBQWMsQ0FBQyxNQUFNLEVBQ3JCLElBQUksR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUN2QixDQUFDO0lBQ0Ysa0JBQWtCLENBQ2QsY0FBYyxDQUFDLFNBQVMsRUFDeEIsSUFBSSxHQUFHLENBQUMsV0FBVyxDQUFDLENBQ3ZCLENBQUM7QUFDTixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Zvcm1XaWRnZXRUeXBlfSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQge1BST1BfQU5ZLCBQUk9QX0JPT0xFQU4sIFBST1BfTlVNQkVSLCBQUk9QX1NUUklORywgcmVnaXN0ZXIsIHJlZ2lzdGVyRm9ybVdpZGdldH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5cbmV4cG9ydCBjb25zdCBzZWxlY3RQcm9wcyA9IG5ldyBNYXAoXG4gICAgW1xuICAgICAgICBbJ2F1dG9mb2N1cycsIFBST1BfQk9PTEVBTl0sXG4gICAgICAgIFsnY2xhc3MnLCB7dmFsdWU6ICcnLCAuLi5QUk9QX1NUUklOR31dLFxuICAgICAgICBbJ2NvbXBhcmVieScsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydkYXRhZmllbGQnLCBQUk9QX1NUUklOR10sXG4gICAgICAgIFsnZGF0YXNldCcsIFBST1BfQU5ZXSxcbiAgICAgICAgWydkYXRhdmFsdWVzb3VyY2UnLCBQUk9QX0FOWV0sXG4gICAgICAgIFsnZGF0YXZhbHVlJywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ2RhdGVmb3JtYXQnLCBQUk9QX1NUUklOR10sXG4gICAgICAgIFsnZGlzYWJsZWQnLCBQUk9QX0JPT0xFQU5dLFxuICAgICAgICBbJ2Rpc3BsYXlleHByZXNzaW9uJywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ2Rpc3BsYXlmaWVsZCcsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydkaXNwbGF5VmFsdWUnLCBQUk9QX1NUUklOR10sXG4gICAgICAgIFsnZ3JvdXBieScsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydoaW50JywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ2FyaWFsYWJlbCcsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydtYXRjaCcsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydtdWx0aXBsZScsIHt2YWx1ZTogZmFsc2UsIC4uLlBST1BfQk9PTEVBTn1dLFxuICAgICAgICBbJ25hbWUnLCBQUk9QX1NUUklOR10sXG4gICAgICAgIFsnb3JkZXJieScsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydwbGFjZWhvbGRlcicsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydyZWFkb25seScsIFBST1BfQk9PTEVBTl0sXG4gICAgICAgIFsncmVxdWlyZWQnLCBQUk9QX0JPT0xFQU5dLFxuICAgICAgICBbJ3Nob3J0Y3V0a2V5JywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ3Nob3cnLCB7dmFsdWU6IHRydWUsIC4uLlBST1BfQk9PTEVBTn1dLFxuICAgICAgICBbJ3RhYmluZGV4Jywge3ZhbHVlOiAwLCAuLi5QUk9QX05VTUJFUn1dLFxuICAgICAgICBbJ3VzZWtleXMnLCBQUk9QX0JPT0xFQU5dXG4gICAgXVxuKTtcblxuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyUHJvcHMgPSAoKSA9PiB7XG4gICAgcmVnaXN0ZXIoXG4gICAgICAgICd3bS1zZWxlY3QnLFxuICAgICAgICBzZWxlY3RQcm9wc1xuICAgICk7XG4gICAgcmVnaXN0ZXJGb3JtV2lkZ2V0KFxuICAgICAgICBGb3JtV2lkZ2V0VHlwZS5TRUxFQ1QsXG4gICAgICAgIG5ldyBNYXAoc2VsZWN0UHJvcHMpXG4gICAgKTtcbiAgICByZWdpc3RlckZvcm1XaWRnZXQoXG4gICAgICAgIEZvcm1XaWRnZXRUeXBlLlRZUEVBSEVBRCxcbiAgICAgICAgbmV3IE1hcChzZWxlY3RQcm9wcylcbiAgICApO1xufTtcbiJdfQ==