@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
@@ -38,6 +38,7 @@
38
38
  ['conditionalstyle', i2.PROP_ANY],
39
39
  ['disabled', i2.PROP_BOOLEAN],
40
40
  ['hint', i2.PROP_STRING],
41
+ ['arialabel', i2.PROP_STRING],
41
42
  ['iconclass', i2.PROP_STRING],
42
43
  ['iconheight', i2.PROP_STRING],
43
44
  ['iconmargin', i2.PROP_STRING],
@@ -55,21 +56,21 @@
55
56
  const _c0$c = ["wmButton", ""];
56
57
  const _c1$b = [[["", 8, "caret"]]];
57
58
  const _c2$8 = [".caret"];
58
- const _c3$4 = (a0, a1, a2) => ({ width: a0, height: a1, margin: a2 });
59
- const _c4$3 = (a0, a1, a2, a3) => ({ width: a0, height: a1, margin: a2, fontSize: a3 });
59
+ const _c3$3 = (a0, a1, a2) => ({ width: a0, height: a1, margin: a2 });
60
+ const _c4$2 = (a0, a1, a2, a3) => ({ width: a0, height: a1, margin: a2, fontSize: a3 });
60
61
  function ButtonComponent_img_0_Template(rf, ctx) { if (rf & 1) {
61
62
  i0__namespace.ɵɵelement(0, "img", 5);
62
63
  i0__namespace.ɵɵpipe(1, "image");
63
64
  } if (rf & 2) {
64
65
  const ctx_r0 = i0__namespace.ɵɵnextContext();
65
- i0__namespace.ɵɵproperty("src", i0__namespace.ɵɵpipeBind1(1, 2, ctx_r0.iconurl), i0__namespace.ɵɵsanitizeUrl)("ngStyle", i0__namespace.ɵɵpureFunction3(4, _c3$4, ctx_r0.iconwidth, ctx_r0.iconheight, ctx_r0.iconmargin));
66
+ i0__namespace.ɵɵproperty("src", i0__namespace.ɵɵpipeBind1(1, 2, ctx_r0.iconurl), i0__namespace.ɵɵsanitizeUrl)("ngStyle", i0__namespace.ɵɵpureFunction3(4, _c3$3, ctx_r0.iconwidth, ctx_r0.iconheight, ctx_r0.iconmargin));
66
67
  } }
67
68
  function ButtonComponent_i_1_Template(rf, ctx) { if (rf & 1) {
68
69
  i0__namespace.ɵɵelement(0, "i", 6);
69
70
  } if (rf & 2) {
70
71
  const ctx_r0 = i0__namespace.ɵɵnextContext();
71
72
  i0__namespace.ɵɵclassMapInterpolate1("app-icon ", ctx_r0.iconclass, "");
72
- i0__namespace.ɵɵproperty("ngStyle", i0__namespace.ɵɵpureFunction4(4, _c4$3, ctx_r0.iconwidth, ctx_r0.iconheight, ctx_r0.iconmargin, ctx_r0.iconwidth));
73
+ i0__namespace.ɵɵproperty("ngStyle", i0__namespace.ɵɵpureFunction4(4, _c4$2, ctx_r0.iconwidth, ctx_r0.iconheight, ctx_r0.iconmargin, ctx_r0.iconwidth));
73
74
  } }
74
75
  function ButtonComponent_span_2_Template(rf, ctx) { if (rf & 1) {
75
76
  i0__namespace.ɵɵelementStart(0, "span", 7);
@@ -383,6 +384,7 @@
383
384
  ['datavalue', i2.PROP_STRING],
384
385
  ['disabled', i2.PROP_BOOLEAN],
385
386
  ['hint', i2.PROP_STRING],
387
+ ['arialabel', i2.PROP_STRING],
386
388
  ['name', i2.PROP_STRING],
387
389
  ['readonly', i2.PROP_BOOLEAN],
388
390
  ['required', i2.PROP_BOOLEAN],
@@ -400,7 +402,7 @@
400
402
  const _c0$b = ["checkbox"];
401
403
  const _c1$a = ["wmCheckbox", ""];
402
404
  const _c2$7 = (a0, a1, a2) => ({ "unchecked": a0, "disabled": a1, "required": a2 });
403
- const _c3$3 = () => ({ standalone: true });
405
+ const _c3$2 = () => ({ standalone: true });
404
406
  const DEFAULT_CLS$4 = 'app-checkbox checkbox';
405
407
  const WIDGET_CONFIG$c = {
406
408
  widgetType: 'wm-checkbox',
@@ -510,7 +512,7 @@
510
512
  i2.provideAs(CheckboxComponent, i2$1.NG_VALUE_ACCESSOR, true),
511
513
  i2.provideAs(CheckboxComponent, i2$1.NG_VALIDATORS, true),
512
514
  i2.provideAsWidgetRef(CheckboxComponent)
513
- ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c1$a, decls: 6, vars: 19, consts: [["checkbox", ""], [3, "ngClass"], ["type", "checkbox", "role", "checkbox", "focus-target", "", 3, "ngModelChange", "blur", "ngModel", "ngModelOptions", "readonly", "required", "disabled", "tabindex"], [1, "caption", 3, "innerHtml"], ["alt", "Checkbox Image", "aria-hidden", "true", "src", "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==", 1, "switch"], ["type", "hidden", "aria-hidden", "true", "tabindex", "-1", 1, "ng-hide", "model-holder", 3, "disabled", "value"]], template: function CheckboxComponent_Template(rf, ctx) { if (rf & 1) {
515
+ ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c1$a, decls: 6, vars: 18, consts: [["checkbox", ""], [3, "ngClass"], ["type", "checkbox", "focus-target", "", 3, "ngModelChange", "blur", "ngModel", "ngModelOptions", "readonly", "required", "disabled", "tabindex"], [1, "caption", 3, "innerHtml"], ["alt", "Checkbox Image", "aria-hidden", "true", "src", "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==", 1, "switch"], ["type", "hidden", "aria-hidden", "true", "tabindex", "-1", 1, "ng-hide", "model-holder", 3, "disabled", "value"]], template: function CheckboxComponent_Template(rf, ctx) { if (rf & 1) {
514
516
  const _r1 = i0__namespace.ɵɵgetCurrentView();
515
517
  i0__namespace.ɵɵelementStart(0, "label", 1)(1, "input", 2, 0);
516
518
  i0__namespace.ɵɵtwoWayListener("ngModelChange", function CheckboxComponent_Template_input_ngModelChange_1_listener($event) { i0__namespace.ɵɵrestoreView(_r1); i0__namespace.ɵɵtwoWayBindingSet(ctx.proxyModel, $event) || (ctx.proxyModel = $event); return i0__namespace.ɵɵresetView($event); });
@@ -520,11 +522,11 @@
520
522
  i0__namespace.ɵɵelementEnd();
521
523
  i0__namespace.ɵɵelement(5, "input", 5);
522
524
  } if (rf & 2) {
523
- i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction3(14, _c2$7, !ctx.proxyModel, ctx.disabled || ctx.readonly, ctx.required && ctx._caption));
525
+ i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction3(13, _c2$7, !ctx.proxyModel, ctx.disabled || ctx.readonly, ctx.required && ctx._caption));
524
526
  i0__namespace.ɵɵadvance();
525
527
  i0__namespace.ɵɵtwoWayProperty("ngModel", ctx.proxyModel);
526
- i0__namespace.ɵɵproperty("ngModelOptions", i0__namespace.ɵɵpureFunction0(18, _c3$3))("readonly", ctx.readonly)("required", ctx.required)("disabled", ctx.disabled || ctx.readonly)("tabindex", ctx.tabindex);
527
- i0__namespace.ɵɵattribute("name", ctx.name)("aria-label", ctx.hint)("aria-checked", !!ctx.proxyModel)("accesskey", ctx.shortcutkey);
528
+ i0__namespace.ɵɵproperty("ngModelOptions", i0__namespace.ɵɵpureFunction0(17, _c3$2))("readonly", ctx.readonly)("required", ctx.required)("disabled", ctx.disabled || ctx.readonly)("tabindex", ctx.tabindex);
529
+ i0__namespace.ɵɵattribute("name", ctx.name)("aria-label", ctx.arialabel)("accesskey", ctx.shortcutkey);
528
530
  i0__namespace.ɵɵadvance(2);
529
531
  i0__namespace.ɵɵproperty("innerHtml", ctx._caption, i0__namespace.ɵɵsanitizeHtml);
530
532
  i0__namespace.ɵɵadvance(2);
@@ -537,7 +539,7 @@
537
539
  i2.provideAs(CheckboxComponent, i2$1.NG_VALUE_ACCESSOR, true),
538
540
  i2.provideAs(CheckboxComponent, i2$1.NG_VALIDATORS, true),
539
541
  i2.provideAsWidgetRef(CheckboxComponent)
540
- ], template: "<label [ngClass]=\"{'unchecked': !proxyModel, 'disabled': (disabled || readonly), 'required': (required && _caption)}\">\n <input type=\"checkbox\"\n role=\"checkbox\"\n #checkbox\n [attr.name]=\"name\"\n [attr.aria-label]=\"hint\"\n [attr.aria-checked]=\"!!proxyModel\"\n focus-target\n [(ngModel)]=\"proxyModel\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled || readonly\"\n [attr.accesskey]=\"shortcutkey\"\n [tabindex]=\"tabindex\"\n (blur)=\"invokeOnTouched($event)\"\n (ngModelChange)=\"handleChange($event)\">\n <span class=\"caption\" [innerHtml]=\"_caption\"></span>\n <img alt=\"Checkbox Image\" aria-hidden=\"true\" src=\"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" class=\"switch\"/>\n</label>\n<input type=\"hidden\" class=\"ng-hide model-holder\" aria-hidden=\"true\" tabindex=\"-1\" [disabled]=\"disabled\" [value]=\"proxyModel\">\n" }]
542
+ ], template: "<label [ngClass]=\"{'unchecked': !proxyModel, 'disabled': (disabled || readonly), 'required': (required && _caption)}\">\n <input type=\"checkbox\"\n #checkbox\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel\"\n focus-target\n [(ngModel)]=\"proxyModel\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled || readonly\"\n [attr.accesskey]=\"shortcutkey\"\n [tabindex]=\"tabindex\"\n (blur)=\"invokeOnTouched($event)\"\n (ngModelChange)=\"handleChange($event)\">\n <span class=\"caption\" [innerHtml]=\"_caption\"></span>\n <img alt=\"Checkbox Image\" aria-hidden=\"true\" src=\"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" class=\"switch\"/>\n</label>\n<input type=\"hidden\" class=\"ng-hide model-holder\" aria-hidden=\"true\" tabindex=\"-1\" [disabled]=\"disabled\" [value]=\"proxyModel\">\n" }]
541
543
  }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
542
544
  type: i0.Attribute,
543
545
  args: ['checkedvalue']
@@ -898,8 +900,8 @@
898
900
  const _c0$a = ["wmCheckboxset", ""];
899
901
  const _c1$9 = (a0, a1) => ["checkbox", "app-checkbox", a0, a1];
900
902
  const _c2$6 = a0 => ({ "disabled": a0 });
901
- const _c3$2 = a0 => ({ "collapsible-content": a0 });
902
- const _c4$2 = (a0, a1) => ["checkbox", "app-checkbox", "group-list-item", a0, a1];
903
+ const _c3$1 = a0 => ({ "collapsible-content": a0 });
904
+ const _c4$1 = (a0, a1) => ["checkbox", "app-checkbox", "group-list-item", a0, a1];
903
905
  function CheckboxsetComponent_ng_template_0_li_0_label_1_Template(rf, ctx) { if (rf & 1) {
904
906
  i0__namespace.ɵɵelementStart(0, "label", 8);
905
907
  i0__namespace.ɵɵelement(1, "input", 9)(2, "span", 10);
@@ -909,10 +911,10 @@
909
911
  const item_r2 = ctx_r3.$implicit;
910
912
  const i_r5 = ctx_r3.index;
911
913
  const ctx_r2 = i0__namespace.ɵɵnextContext(2);
912
- i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(12, _c2$6, ctx_r2.disabled || ctx_r2.readonly))("title", item_r2.label);
914
+ i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(10, _c2$6, ctx_r2.disabled || ctx_r2.readonly))("title", item_r2.label);
913
915
  i0__namespace.ɵɵadvance();
914
916
  i0__namespace.ɵɵproperty("name", "checkboxset_" + ctx_r2.widgetId)("tabindex", ctx_r2.tabindex)("disabled", ctx_r2.disabled || ctx_r2.readonly)("value", item_r2.key)("tabindex", ctx_r2.tabindex)("checked", item_r2.selected);
915
- i0__namespace.ɵɵattribute("aria-label", item_r2.key)("aria-checked", item_r2.selected)("data-attr-index", i_r5);
917
+ i0__namespace.ɵɵattribute("data-attr-index", i_r5);
916
918
  i0__namespace.ɵɵadvance();
917
919
  i0__namespace.ɵɵproperty("textContent", item_r2.label);
918
920
  } }
@@ -925,16 +927,16 @@
925
927
  const item_r2 = ctx_r3.$implicit;
926
928
  const i_r5 = ctx_r3.index;
927
929
  const ctx_r2 = i0__namespace.ɵɵnextContext(2);
928
- i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(10, _c2$6, ctx_r2.disabled || ctx_r2.readonly));
930
+ i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(8, _c2$6, ctx_r2.disabled || ctx_r2.readonly));
929
931
  i0__namespace.ɵɵadvance();
930
932
  i0__namespace.ɵɵproperty("name", "checkboxset_" + ctx_r2.widgetId)("tabindex", ctx_r2.tabindex)("disabled", ctx_r2.disabled || ctx_r2.readonly)("value", item_r2.key)("tabindex", ctx_r2.tabindex)("checked", item_r2.selected);
931
- i0__namespace.ɵɵattribute("aria-label", item_r2.key)("aria-checked", item_r2.selected)("data-attr-index", i_r5);
933
+ i0__namespace.ɵɵattribute("data-attr-index", i_r5);
932
934
  } }
933
935
  function CheckboxsetComponent_ng_template_0_li_0_Template(rf, ctx) { if (rf & 1) {
934
936
  const _r1 = i0__namespace.ɵɵgetCurrentView();
935
937
  i0__namespace.ɵɵelementStart(0, "li", 5);
936
938
  i0__namespace.ɵɵlistener("click", function CheckboxsetComponent_ng_template_0_li_0_Template_li_click_0_listener($event) { const item_r2 = i0__namespace.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0__namespace.ɵɵnextContext(2); return i0__namespace.ɵɵresetView(ctx_r2.onCheckboxLabelClick($event, item_r2.key)); });
937
- i0__namespace.ɵɵtemplate(1, CheckboxsetComponent_ng_template_0_li_0_label_1_Template, 3, 14, "label", 6)(2, CheckboxsetComponent_ng_template_0_li_0_label_2_Template, 3, 12, "label", 7);
939
+ i0__namespace.ɵɵtemplate(1, CheckboxsetComponent_ng_template_0_li_0_label_1_Template, 3, 12, "label", 6)(2, CheckboxsetComponent_ng_template_0_li_0_label_2_Template, 3, 10, "label", 7);
938
940
  i0__namespace.ɵɵelementEnd();
939
941
  } if (rf & 2) {
940
942
  const item_r2 = ctx.$implicit;
@@ -969,7 +971,7 @@
969
971
  } }
970
972
  function CheckboxsetComponent_ng_template_3_li_0_li_8_label_1_Template(rf, ctx) { if (rf & 1) {
971
973
  i0__namespace.ɵɵelementStart(0, "label", 8);
972
- i0__namespace.ɵɵelement(1, "input", 26)(2, "span", 10);
974
+ i0__namespace.ɵɵelement(1, "input", 9)(2, "span", 10);
973
975
  i0__namespace.ɵɵelementEnd();
974
976
  } if (rf & 2) {
975
977
  const ctx_r9 = i0__namespace.ɵɵnextContext();
@@ -985,7 +987,7 @@
985
987
  } }
986
988
  function CheckboxsetComponent_ng_template_3_li_0_li_8_label_2_Template(rf, ctx) { if (rf & 1) {
987
989
  i0__namespace.ɵɵelementStart(0, "label", 11);
988
- i0__namespace.ɵɵelement(1, "input", 26)(2, "span", 27);
990
+ i0__namespace.ɵɵelement(1, "input", 9)(2, "span", 26);
989
991
  i0__namespace.ɵɵelementEnd();
990
992
  } if (rf & 2) {
991
993
  const ctx_r9 = i0__namespace.ɵɵnextContext();
@@ -1007,7 +1009,7 @@
1007
1009
  const item_r9 = ctx.$implicit;
1008
1010
  const ctx_r2 = i0__namespace.ɵɵnextContext(3);
1009
1011
  i0__namespace.ɵɵclassProp("active", item_r9.selected);
1010
- i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction2(7, _c4$2, ctx_r2.itemclass, ctx_r2.itemsPerRowClass))("wmItemTemplate", ctx_r2.content)("userComponentParams", item_r9);
1012
+ i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction2(7, _c4$1, ctx_r2.itemclass, ctx_r2.itemsPerRowClass))("wmItemTemplate", ctx_r2.content)("userComponentParams", item_r9);
1011
1013
  i0__namespace.ɵɵadvance();
1012
1014
  i0__namespace.ɵɵproperty("ngIf", !ctx_r2.content);
1013
1015
  i0__namespace.ɵɵadvance();
@@ -1026,10 +1028,15 @@
1026
1028
  i0__namespace.ɵɵelementEnd()();
1027
1029
  } if (rf & 2) {
1028
1030
  const groupObj_r7 = ctx.$implicit;
1031
+ const groupindex_r12 = ctx.index;
1029
1032
  const ctx_r2 = i0__namespace.ɵɵnextContext(2);
1030
- i0__namespace.ɵɵadvance(2);
1031
- i0__namespace.ɵɵproperty("title", groupObj_r7.key)("ngClass", i0__namespace.ɵɵpureFunction1(6, _c3$2, ctx_r2.collapsible));
1032
- i0__namespace.ɵɵadvance(2);
1033
+ i0__namespace.ɵɵadvance();
1034
+ i0__namespace.ɵɵattribute("aria-labelledby", "group_" + ctx_r2.widgetId + "_" + groupindex_r12);
1035
+ i0__namespace.ɵɵadvance();
1036
+ i0__namespace.ɵɵproperty("id", "group_" + ctx_r2.widgetId + "_" + groupindex_r12)("title", groupObj_r7.key)("ngClass", i0__namespace.ɵɵpureFunction1(9, _c3$1, ctx_r2.collapsible));
1037
+ i0__namespace.ɵɵadvance();
1038
+ i0__namespace.ɵɵattribute("aria-label", "Group " + groupObj_r7.key);
1039
+ i0__namespace.ɵɵadvance();
1033
1040
  i0__namespace.ɵɵtextInterpolate1("", groupObj_r7.key, " ");
1034
1041
  i0__namespace.ɵɵadvance(2);
1035
1042
  i0__namespace.ɵɵproperty("ngIf", ctx_r2.collapsible);
@@ -1039,7 +1046,7 @@
1039
1046
  i0__namespace.ɵɵproperty("ngForOf", groupObj_r7.data);
1040
1047
  } }
1041
1048
  function CheckboxsetComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
1042
- i0__namespace.ɵɵtemplate(0, CheckboxsetComponent_ng_template_3_li_0_Template, 9, 8, "li", 14);
1049
+ i0__namespace.ɵɵtemplate(0, CheckboxsetComponent_ng_template_3_li_0_Template, 9, 11, "li", 14);
1043
1050
  } if (rf & 2) {
1044
1051
  const ctx_r2 = i0__namespace.ɵɵnextContext();
1045
1052
  i0__namespace.ɵɵproperty("ngForOf", ctx_r2.groupedData);
@@ -1054,12 +1061,6 @@
1054
1061
  i2.styler(this.nativeElement, this);
1055
1062
  this.multiple = true;
1056
1063
  }
1057
- triggerInvokeOnChange(keys, $event) {
1058
- this.modelByKey = keys;
1059
- this.invokeOnTouched();
1060
- // invoke on datavalue change.
1061
- this.invokeOnChange(this.datavalue, $event || {}, true);
1062
- }
1063
1064
  onCheckboxLabelClick($event, key) {
1064
1065
  if (!$($event.target).is('input')) {
1065
1066
  return;
@@ -1071,7 +1072,10 @@
1071
1072
  // @ts-ignore
1072
1073
  keys.push($el.value);
1073
1074
  });
1074
- this.triggerInvokeOnChange(keys, $event);
1075
+ this.modelByKey = keys;
1076
+ this.invokeOnTouched();
1077
+ // invoke on datavalue change.
1078
+ this.invokeOnChange(this.datavalue, $event || {}, true);
1075
1079
  }
1076
1080
  // change and blur events are added from the template
1077
1081
  handleEvent(node, eventName, callback, locals) {
@@ -1114,13 +1118,13 @@
1114
1118
  i2.provideAs(CheckboxsetComponent, i2$1.NG_VALUE_ACCESSOR, true),
1115
1119
  i2.provideAs(CheckboxsetComponent, i2$1.NG_VALIDATORS, true),
1116
1120
  i2.provideAsWidgetRef(CheckboxsetComponent)
1117
- ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c0$a, decls: 5, vars: 4, consts: [["groupedListTemplate", ""], [3, "ngIf", "ngIfElse"], ["hidden", "", 1, "model-holder", 3, "disabled"], ["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-checkboxset-label", 3, "ngClass", "title", 4, "ngIf"], ["class", "app-checkboxset-label", 3, "ngClass", 4, "ngIf"], [1, "app-checkboxset-label", 3, "ngClass", "title"], ["type", "checkbox", 3, "name", "tabindex", "disabled", "value", "checked"], [1, "caption", 3, "textContent"], [1, "app-checkboxset-label", 3, "ngClass"], ["partial-container-target", "", 1, "caption", "customTemplate"], [1, "readonly-wrapper"], ["class", "app-list-item-group", "role", "presentation", 4, "ngFor", "ngForOf"], ["role", "presentation", 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"], ["type", "checkbox", "aria-label", "checkbox group", 3, "name", "tabindex", "disabled", "value", "checked"], ["partial-container-target", "", 1, "caption"]], template: function CheckboxsetComponent_Template(rf, ctx) { if (rf & 1) {
1121
+ ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c0$a, decls: 5, vars: 4, consts: [["groupedListTemplate", ""], [3, "ngIf", "ngIfElse"], ["hidden", "", 1, "model-holder", 3, "disabled"], ["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-checkboxset-label", 3, "ngClass", "title", 4, "ngIf"], ["class", "app-checkboxset-label", 3, "ngClass", 4, "ngIf"], [1, "app-checkboxset-label", 3, "ngClass", "title"], ["type", "checkbox", 3, "name", "tabindex", "disabled", "value", "checked"], [1, "caption", 3, "textContent"], [1, "app-checkboxset-label", 3, "ngClass"], ["partial-container-target", "", 1, "caption", "customTemplate"], [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"], ["partial-container-target", "", 1, "caption"]], template: function CheckboxsetComponent_Template(rf, ctx) { if (rf & 1) {
1118
1122
  i0__namespace.ɵɵtemplate(0, CheckboxsetComponent_ng_template_0_Template, 1, 1, "ng-template", 1);
1119
1123
  i0__namespace.ɵɵelement(1, "input", 2);
1120
1124
  i0__namespace.ɵɵtemplate(2, CheckboxsetComponent_div_2_Template, 1, 0, "div", 3)(3, CheckboxsetComponent_ng_template_3_Template, 1, 1, "ng-template", null, 0, i0__namespace.ɵɵtemplateRefExtractor);
1121
1125
  } if (rf & 2) {
1122
- const groupedListTemplate_r12 = i0__namespace.ɵɵreference(4);
1123
- i0__namespace.ɵɵproperty("ngIf", !ctx.groupby)("ngIfElse", groupedListTemplate_r12);
1126
+ const groupedListTemplate_r13 = i0__namespace.ɵɵreference(4);
1127
+ i0__namespace.ɵɵproperty("ngIf", !ctx.groupby)("ngIfElse", groupedListTemplate_r13);
1124
1128
  i0__namespace.ɵɵadvance();
1125
1129
  i0__namespace.ɵɵproperty("disabled", ctx.disabled || ctx.readonly);
1126
1130
  i0__namespace.ɵɵadvance();
@@ -1133,7 +1137,7 @@
1133
1137
  i2.provideAs(CheckboxsetComponent, i2$1.NG_VALUE_ACCESSOR, true),
1134
1138
  i2.provideAs(CheckboxsetComponent, i2$1.NG_VALIDATORS, true),
1135
1139
  i2.provideAsWidgetRef(CheckboxsetComponent)
1136
- ], template: "<ng-template [ngIf]=\"!groupby\" [ngIfElse]=\"groupedListTemplate\">\n <li [ngClass]=\"['checkbox', 'app-checkbox', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n *ngFor=\"let item of datasetItems; let i = index\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\" [attr.aria-label]=\"item.key\"\n [tabindex]=\"tabindex\" [attr.aria-checked]=\"item.selected\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [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-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\" [attr.aria-label]=\"item.key\"\n [tabindex]=\"tabindex\" [attr.aria-checked]=\"item.selected\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n </li>\n</ng-template>\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\">\n<div *ngIf=\"readonly || disabled\" 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\" role=\"presentation\">\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]=\"['checkbox', 'app-checkbox', 'group-list-item', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item)\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\" aria-label=\"checkbox group\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [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-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\" aria-label=\"checkbox group\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" partial-container-target></span>\n </label>\n </li>\n </ul>\n </li>\n</ng-template>\n" }]
1140
+ ], template: "<ng-template [ngIf]=\"!groupby\" [ngIfElse]=\"groupedListTemplate\">\n <li [ngClass]=\"['checkbox', 'app-checkbox', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n *ngFor=\"let item of datasetItems; let i = index\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" [tabindex]=\"tabindex\"\n type=\"checkbox\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [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-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" [tabindex]=\"tabindex\"\n type=\"checkbox\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n </li>\n</ng-template>\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\">\n<div *ngIf=\"readonly || disabled\" 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]=\"['checkbox', 'app-checkbox', 'group-list-item', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item)\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [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-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" partial-container-target></span>\n </label>\n </li>\n </ul>\n </li>\n</ng-template>\n" }]
1137
1141
  }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
1138
1142
  type: i0.Inject,
1139
1143
  args: ['EXPLICIT_CONTEXT']
@@ -1239,6 +1243,7 @@
1239
1243
  ['datavalue', i2.PROP_STRING],
1240
1244
  ['disabled', i2.PROP_BOOLEAN],
1241
1245
  ['hint', i2.PROP_STRING],
1246
+ ['arialabel', i2.PROP_STRING],
1242
1247
  ['localefilter', i2.PROP_STRING],
1243
1248
  ['minvalue', i2.PROP_NUMBER],
1244
1249
  ['maxvalue', i2.PROP_NUMBER],
@@ -1255,6 +1260,7 @@
1255
1260
  ['trailingzero', { value: false, ...i2.PROP_BOOLEAN }],
1256
1261
  ['updateon', i2.PROP_STRING],
1257
1262
  ['inputmode', { value: 'natural', ...i2.PROP_STRING }],
1263
+ ['decimalplaces', i2.PROP_NUMBER],
1258
1264
  ['conditionalclass', i2.PROP_ANY],
1259
1265
  ['conditionalstyle', i2.PROP_ANY]
1260
1266
  ]);
@@ -1273,9 +1279,6 @@
1273
1279
  /* WMS-18269 | Update Angular about the required attr value change */
1274
1280
  this._onChange(this.datavalue);
1275
1281
  }
1276
- if (key === 'updateon') {
1277
- this.ngModelOptions.updateOn = nv === 'default' ? 'change' : ov;
1278
- }
1279
1282
  if (key === 'class') {
1280
1283
  if (this.inputEl.nativeElement) {
1281
1284
  i1$1.switchClass(this.inputEl.nativeElement, nv, ov);
@@ -1374,7 +1377,7 @@
1374
1377
  const prevDataValue = this.prevDatavalue;
1375
1378
  this.displayValue = input.value = this.proxyModel = null;
1376
1379
  this.resetValidations();
1377
- if (prevDataValue && !this.isDefaultQuery) {
1380
+ if ((prevDataValue || prevDataValue == 0) && !this.isDefaultQuery) {
1378
1381
  this.handleChange(value);
1379
1382
  this._onChange();
1380
1383
  }
@@ -1384,8 +1387,27 @@
1384
1387
  if (this.isDefaultQuery) {
1385
1388
  const isLocalizedNumber = lodashEs.isString(value) && lodashEs.includes(value, this.DECIMAL);
1386
1389
  const parts = isLocalizedNumber ? value.split(this.DECIMAL) : lodashEs.isString(value) && value.split('.');
1387
- this.decimalValue = parts[1] || '';
1388
- value = isLocalizedNumber ? value : this.transformNumber(value);
1390
+ let decimalPlacesAttrVal = this.getAttr('decimalplaces');
1391
+ const decimalplaces = decimalPlacesAttrVal !== '' && decimalPlacesAttrVal !== undefined ? Number(decimalPlacesAttrVal) : NaN;
1392
+ if (this.inputmode === i2.INPUTMODE.NATURAL && !isNaN(decimalplaces)) {
1393
+ if (decimalplaces === 0) {
1394
+ this.decimalValue = '';
1395
+ value = isLocalizedNumber ? parts[0] : this.transformNumber(parts[0]);
1396
+ }
1397
+ if (decimalplaces > 0) {
1398
+ this.decimalValue = parts[1] && parts[1].substring(0, decimalplaces) || '';
1399
+ if (isLocalizedNumber) {
1400
+ value = this.decimalValue.length ? `${parts[0]}${this.DECIMAL}${this.decimalValue}` : parts[0];
1401
+ }
1402
+ else {
1403
+ value = Number.parseFloat(String(value)).toFixed(decimalplaces);
1404
+ }
1405
+ }
1406
+ }
1407
+ else {
1408
+ this.decimalValue = parts[1] || '';
1409
+ value = isLocalizedNumber ? value : this.transformNumber(value);
1410
+ }
1389
1411
  }
1390
1412
  const numberReg = /\d/;
1391
1413
  const strVal = value.toString();
@@ -1434,8 +1456,14 @@
1434
1456
  */
1435
1457
  isValid(val) {
1436
1458
  // id number is infinite then consider it as invalid value
1437
- if (isNaN(val) || !isFinite(val) || (!Number.isInteger(this.step) &&
1438
- this.countDecimals(val) > this.countDecimals(this.step))) {
1459
+ let invalidDecimalPlaces = false;
1460
+ if (this.inputmode === i2.INPUTMODE.NATURAL && !isNaN(this.decimalplaces) && this.decimalplaces >= 0) {
1461
+ invalidDecimalPlaces = this.countDecimals(val) > this.decimalplaces;
1462
+ }
1463
+ else if (!Number.isInteger(this.step) && this.countDecimals(val) > this.countDecimals(this.step)) {
1464
+ invalidDecimalPlaces = true;
1465
+ }
1466
+ if (isNaN(val) || !isFinite(val) || invalidDecimalPlaces) {
1439
1467
  this.isInvalidNumber = true;
1440
1468
  return false;
1441
1469
  }
@@ -1544,6 +1572,9 @@
1544
1572
  }
1545
1573
  // This function returns the step length set in the studio
1546
1574
  stepLength() {
1575
+ if (this.inputmode === 'INPUTMODE.NATURAL' && !isNaN(this.decimalplaces) && this.decimalplaces >= 0) {
1576
+ return this.decimalplaces;
1577
+ }
1547
1578
  const stepLen = this.step.toString().split('.');
1548
1579
  if (stepLen.length === 1) {
1549
1580
  return;
@@ -1626,11 +1657,10 @@
1626
1657
  * @returns {number}
1627
1658
  */
1628
1659
  countDecimals(value) {
1629
- if ((value % 1) !== 0) {
1630
- const decimalValue = value.toString().split('.')[1];
1631
- return decimalValue && decimalValue.length;
1632
- }
1633
- return 0;
1660
+ const valueStr = value.toString();
1661
+ const isLocalizedNumber = lodashEs.includes(valueStr, this.DECIMAL);
1662
+ const parts = isLocalizedNumber ? valueStr.split(this.DECIMAL) : valueStr.split('.');
1663
+ return parts[1] ? parts[1].length : 0;
1634
1664
  }
1635
1665
  /**
1636
1666
  * handles the arrow press event. Increases or decreases the number. triggered fom the template
@@ -1715,7 +1745,7 @@
1715
1745
  const validity = new RegExp(`^[\\d\\s-,.e+${this.GROUP}${this.DECIMAL}]$`, 'i');
1716
1746
  const inputValue = $event.target.value;
1717
1747
  // when input mode is financial, do not restrict user on entering the value when step value limit is reached.
1718
- const skipStepValidation = this.inputmode === i2.INPUTMODE.FINANCIAL;
1748
+ this.inputmode === i2.INPUTMODE.FINANCIAL;
1719
1749
  // Validates if user eneters more than 16 digits
1720
1750
  if (inputValue) {
1721
1751
  const parsedVal = parseInt(inputValue.toString().replace(/\D/g, ''));
@@ -1732,13 +1762,23 @@
1732
1762
  }
1733
1763
  // validates entering of decimal values only when user provides decimal limit(i.e step contains decimal values).
1734
1764
  // Restrict user from entering only if the decimal limit is reached and the new digit is entered in decimal place
1735
- if (!skipStepValidation && inputValue && this.countDecimals(this.step) && (this.countDecimals(inputValue) >= this.countDecimals(this.step)) && $event.target.selectionStart >= inputValue.length - 1) {
1736
- return false;
1737
- }
1765
+ // if (!skipStepValidation && inputValue && this.countDecimals(this.step) && (this.countDecimals(inputValue) >= this.countDecimals(this.step)) && $event.target.selectionStart >= inputValue.length - 1) {
1766
+ // return false;
1767
+ // }
1738
1768
  // validates if user entered an invalid character.
1739
1769
  if (!validity.test($event.key)) {
1740
1770
  return false;
1741
1771
  }
1772
+ if (this.inputmode === i2.INPUTMODE.NATURAL && !isNaN(this.decimalplaces)) {
1773
+ if (this.decimalplaces === 0 && this.DECIMAL === $event.key) {
1774
+ return false;
1775
+ }
1776
+ const parts = lodashEs.includes(inputValue, this.DECIMAL) ? inputValue.split(this.DECIMAL) : inputValue.split('.');
1777
+ const isCursorPositionAtDecimalPlace = $event.target.selectionStart > parts[0].length;
1778
+ if (this.decimalplaces > 0 && this.countDecimals(inputValue) >= this.decimalplaces && isCursorPositionAtDecimalPlace) {
1779
+ return false;
1780
+ }
1781
+ }
1742
1782
  // comma cannot be entered consecutively
1743
1783
  if (lodashEs.includes(inputValue, ',') && inputValue[inputValue.length - 1] === ',' && $event.key === ',') {
1744
1784
  return false;
@@ -1817,14 +1857,14 @@
1817
1857
  i2.provideAs(NumberComponent, i2$1.NG_VALUE_ACCESSOR, true),
1818
1858
  i2.provideAs(NumberComponent, i2$1.NG_VALIDATORS, true),
1819
1859
  i2.provideAsWidgetRef(NumberComponent)
1820
- ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c1$8, decls: 2, vars: 14, consts: [["input", ""], ["inputmode", "decimal", "focus-target", "", "role", "textbox", "type", "text", 1, "form-control", "app-textbox", "app-number-input", 3, "ngModelChange", "blur", "focus", "input", "keypress", "keydown.backspace", "keydown.enter", "keydown.ArrowUp", "keydown.ArrowDown", "ngModel", "readonly", "disabled", "pattern", "autofocus", "ngClass", "ngStyle", "ngModelOptions", "required"]], template: function NumberComponent_Template(rf, ctx) { if (rf & 1) {
1860
+ ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c1$8, decls: 2, vars: 14, consts: [["input", ""], ["inputmode", "decimal", "focus-target", "", "type", "text", 1, "form-control", "app-textbox", "app-number-input", 3, "ngModelChange", "blur", "focus", "input", "keypress", "keydown.backspace", "keydown.enter", "keydown.ArrowUp", "keydown.ArrowDown", "ngModel", "readonly", "disabled", "pattern", "autofocus", "ngClass", "ngStyle", "ngModelOptions", "required"]], template: function NumberComponent_Template(rf, ctx) { if (rf & 1) {
1821
1861
  const _r1 = i0__namespace.ɵɵgetCurrentView();
1822
1862
  i0__namespace.ɵɵelementStart(0, "input", 1, 0);
1823
1863
  i0__namespace.ɵɵlistener("ngModelChange", function NumberComponent_Template_input_ngModelChange_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); return i0__namespace.ɵɵresetView(ctx.onModelChange($event)); })("blur", function NumberComponent_Template_input_blur_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); ctx.handleBlur($event); return i0__namespace.ɵɵresetView(ctx.checkForTrailingZeros($event)); })("focus", function NumberComponent_Template_input_focus_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); return i0__namespace.ɵɵresetView(ctx.checkForTrailingZeros($event)); })("input", function NumberComponent_Template_input_input_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); return i0__namespace.ɵɵresetView(ctx.onInputChange($event.target.value)); })("keypress", function NumberComponent_Template_input_keypress_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); return i0__namespace.ɵɵresetView(ctx.validateInputEntry($event)); })("keydown.backspace", function NumberComponent_Template_input_keydown_backspace_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); return i0__namespace.ɵɵresetView(ctx.onBackspace($event)); })("keydown.enter", function NumberComponent_Template_input_keydown_enter_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); return i0__namespace.ɵɵresetView(ctx.onEnter($event)); })("keydown.ArrowUp", function NumberComponent_Template_input_keydown_ArrowUp_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); return i0__namespace.ɵɵresetView(ctx.onArrowPress($event, "UP")); })("keydown.ArrowDown", function NumberComponent_Template_input_keydown_ArrowDown_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); return i0__namespace.ɵɵresetView(ctx.onArrowPress($event, "DOWN")); });
1824
1864
  i0__namespace.ɵɵelementEnd();
1825
1865
  } if (rf & 2) {
1826
1866
  i0__namespace.ɵɵproperty("ngModel", ctx.displayValue)("readonly", ctx.readonly)("disabled", ctx.disabled)("pattern", ctx.regexp)("autofocus", ctx.autofocus)("ngClass", ctx.conditionalclass)("ngStyle", ctx.conditionalstyle)("ngModelOptions", ctx.ngModelOptions)("required", ctx.required);
1827
- i0__namespace.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.hint);
1867
+ i0__namespace.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.arialabel);
1828
1868
  } }, dependencies: [i1__namespace.NgClass, i1__namespace.NgStyle, i2$1__namespace.DefaultValueAccessor, i2$1__namespace.NgControlStatus, i2$1__namespace.RequiredValidator, i2$1__namespace.PatternValidator, i2$1__namespace.NgModel], encapsulation: 2 }); }
1829
1869
  }
1830
1870
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(NumberComponent, [{
@@ -1833,7 +1873,7 @@
1833
1873
  i2.provideAs(NumberComponent, i2$1.NG_VALUE_ACCESSOR, true),
1834
1874
  i2.provideAs(NumberComponent, i2$1.NG_VALIDATORS, true),
1835
1875
  i2.provideAsWidgetRef(NumberComponent)
1836
- ], template: "<input class=\"form-control app-textbox app-number-input\"\n inputmode=\"decimal\"\n focus-target\n [attr.name]=\"name\"\n role=\"textbox\"\n type=\"text\"\n [ngModel]=\"displayValue\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [pattern]=\"regexp\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"hint\"\n [autofocus]=\"autofocus\"\n [ngClass]=\"conditionalclass\"\n [ngStyle]=\"conditionalstyle\"\n (ngModelChange)=\"onModelChange($event)\"\n (blur)=\"handleBlur($event); checkForTrailingZeros($event);\"\n (focus)=\"checkForTrailingZeros($event)\"\n (input)=\"onInputChange($event.target.value)\"\n [ngModelOptions]=\"ngModelOptions\"\n [required]=\"required\"\n (keypress)=\"validateInputEntry($event)\"\n (keydown.backspace)=\"onBackspace($event)\"\n (keydown.enter)=\"onEnter($event)\"\n (keydown.ArrowUp)=\"onArrowPress($event, 'UP')\"\n (keydown.ArrowDown)=\"onArrowPress($event, 'DOWN')\"\n #input>\n" }]
1876
+ ], template: "<input class=\"form-control app-textbox app-number-input\"\n inputmode=\"decimal\"\n focus-target\n [attr.name]=\"name\"\n type=\"text\"\n [ngModel]=\"displayValue\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [pattern]=\"regexp\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"arialabel\"\n [autofocus]=\"autofocus\"\n [ngClass]=\"conditionalclass\"\n [ngStyle]=\"conditionalstyle\"\n (ngModelChange)=\"onModelChange($event)\"\n (blur)=\"handleBlur($event); checkForTrailingZeros($event);\"\n (focus)=\"checkForTrailingZeros($event)\"\n (input)=\"onInputChange($event.target.value)\"\n [ngModelOptions]=\"ngModelOptions\"\n [required]=\"required\"\n (keypress)=\"validateInputEntry($event)\"\n (keydown.backspace)=\"onBackspace($event)\"\n (keydown.enter)=\"onEnter($event)\"\n (keydown.ArrowUp)=\"onArrowPress($event, 'UP')\"\n (keydown.ArrowDown)=\"onArrowPress($event, 'DOWN')\"\n #input>\n" }]
1837
1877
  }], () => [{ type: i0__namespace.Injector }, { type: i1$1__namespace.AbstractI18nService }, { type: i2__namespace.TrailingZeroDecimalPipe }, { type: undefined, decorators: [{
1838
1878
  type: i0.Inject,
1839
1879
  args: ['EXPLICIT_CONTEXT']
@@ -1884,8 +1924,8 @@
1884
1924
  const _c0$8 = ["wmRadioset", ""];
1885
1925
  const _c1$7 = (a0, a1) => ["radio", "app-radio", a0, a1];
1886
1926
  const _c2$5 = a0 => ({ "disabled": a0 });
1887
- const _c3$1 = a0 => ({ "collapsible-content": a0 });
1888
- const _c4$1 = (a0, a1) => ["radio", "app-radio", "group-list-item", a0, a1];
1927
+ const _c3 = a0 => ({ "collapsible-content": a0 });
1928
+ const _c4 = (a0, a1) => ["radio", "app-radio", "group-list-item", a0, a1];
1889
1929
  function RadiosetComponent_ng_template_0_li_0_label_1_Template(rf, ctx) { if (rf & 1) {
1890
1930
  i0__namespace.ɵɵelementStart(0, "label", 7);
1891
1931
  i0__namespace.ɵɵelement(1, "input", 8)(2, "span", 9);
@@ -1895,10 +1935,10 @@
1895
1935
  const item_r2 = ctx_r3.$implicit;
1896
1936
  const i_r5 = ctx_r3.index;
1897
1937
  const ctx_r2 = i0__namespace.ɵɵnextContext(2);
1898
- i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(10, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
1938
+ i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(8, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
1899
1939
  i0__namespace.ɵɵadvance();
1900
- i0__namespace.ɵɵ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);
1901
- i0__namespace.ɵɵattribute("aria-checked", item_r2.selected)("data-attr-index", i_r5)("aria-label", item_r2.key);
1940
+ i0__namespace.ɵɵ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);
1941
+ i0__namespace.ɵɵattribute("data-attr-index", i_r5);
1902
1942
  i0__namespace.ɵɵadvance();
1903
1943
  i0__namespace.ɵɵproperty("textContent", item_r2.label);
1904
1944
  } }
@@ -1911,16 +1951,16 @@
1911
1951
  const item_r2 = ctx_r3.$implicit;
1912
1952
  const i_r5 = ctx_r3.index;
1913
1953
  const ctx_r2 = i0__namespace.ɵɵnextContext(2);
1914
- i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(9, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
1954
+ i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(7, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
1915
1955
  i0__namespace.ɵɵadvance();
1916
- i0__namespace.ɵɵ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);
1917
- i0__namespace.ɵɵattribute("aria-checked", item_r2.selected)("data-attr-index", i_r5)("aria-label", item_r2.key);
1956
+ i0__namespace.ɵɵ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);
1957
+ i0__namespace.ɵɵattribute("data-attr-index", i_r5);
1918
1958
  } }
1919
1959
  function RadiosetComponent_ng_template_0_li_0_Template(rf, ctx) { if (rf & 1) {
1920
1960
  const _r1 = i0__namespace.ɵɵgetCurrentView();
1921
1961
  i0__namespace.ɵɵelementStart(0, "li", 5);
1922
1962
  i0__namespace.ɵɵlistener("click", function RadiosetComponent_ng_template_0_li_0_Template_li_click_0_listener($event) { const item_r2 = i0__namespace.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0__namespace.ɵɵnextContext(2); return i0__namespace.ɵɵresetView(ctx_r2.onRadioLabelClick($event, item_r2.key)); });
1923
- i0__namespace.ɵɵ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);
1963
+ i0__namespace.ɵɵ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);
1924
1964
  i0__namespace.ɵɵelementEnd();
1925
1965
  } if (rf & 2) {
1926
1966
  const item_r2 = ctx.$implicit;
@@ -1955,45 +1995,45 @@
1955
1995
  } }
1956
1996
  function RadiosetComponent_ng_template_3_li_0_li_8_label_1_Template(rf, ctx) { if (rf & 1) {
1957
1997
  i0__namespace.ɵɵelementStart(0, "label", 7);
1958
- i0__namespace.ɵɵelement(1, "input", 8)(2, "span", 9);
1998
+ i0__namespace.ɵɵelement(1, "input", 24)(2, "span", 9);
1959
1999
  i0__namespace.ɵɵelementEnd();
1960
2000
  } if (rf & 2) {
1961
2001
  const ctx_r9 = i0__namespace.ɵɵnextContext();
1962
2002
  const item_r9 = ctx_r9.$implicit;
1963
2003
  const i_r11 = ctx_r9.index;
1964
2004
  const ctx_r2 = i0__namespace.ɵɵnextContext(3);
1965
- i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(9, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
2005
+ i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(8, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
1966
2006
  i0__namespace.ɵɵadvance();
1967
2007
  i0__namespace.ɵɵ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);
1968
- i0__namespace.ɵɵattribute("aria-checked", item_r9.selected)("data-attr-index", i_r11);
2008
+ i0__namespace.ɵɵattribute("data-attr-index", i_r11);
1969
2009
  i0__namespace.ɵɵadvance();
1970
2010
  i0__namespace.ɵɵproperty("textContent", item_r9.label);
1971
2011
  } }
1972
2012
  function RadiosetComponent_ng_template_3_li_0_li_8_label_2_Template(rf, ctx) { if (rf & 1) {
1973
2013
  i0__namespace.ɵɵelementStart(0, "label", 7);
1974
- i0__namespace.ɵɵelement(1, "input", 8)(2, "span", 10);
2014
+ i0__namespace.ɵɵelement(1, "input", 24)(2, "span", 10);
1975
2015
  i0__namespace.ɵɵelementEnd();
1976
2016
  } if (rf & 2) {
1977
2017
  const ctx_r9 = i0__namespace.ɵɵnextContext();
1978
2018
  const item_r9 = ctx_r9.$implicit;
1979
2019
  const i_r11 = ctx_r9.index;
1980
2020
  const ctx_r2 = i0__namespace.ɵɵnextContext(3);
1981
- i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(8, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
2021
+ i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(7, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
1982
2022
  i0__namespace.ɵɵadvance();
1983
2023
  i0__namespace.ɵɵ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);
1984
- i0__namespace.ɵɵattribute("aria-checked", item_r9.selected)("data-attr-index", i_r11);
2024
+ i0__namespace.ɵɵattribute("data-attr-index", i_r11);
1985
2025
  } }
1986
2026
  function RadiosetComponent_ng_template_3_li_0_li_8_Template(rf, ctx) { if (rf & 1) {
1987
2027
  const _r8 = i0__namespace.ɵɵgetCurrentView();
1988
2028
  i0__namespace.ɵɵelementStart(0, "li", 23);
1989
2029
  i0__namespace.ɵɵlistener("click", function RadiosetComponent_ng_template_3_li_0_li_8_Template_li_click_0_listener($event) { const item_r9 = i0__namespace.ɵɵrestoreView(_r8).$implicit; const ctx_r2 = i0__namespace.ɵɵnextContext(3); return i0__namespace.ɵɵresetView(ctx_r2.onRadioLabelClick($event, item_r9)); });
1990
- i0__namespace.ɵɵ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);
2030
+ i0__namespace.ɵɵ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);
1991
2031
  i0__namespace.ɵɵelementEnd();
1992
2032
  } if (rf & 2) {
1993
2033
  const item_r9 = ctx.$implicit;
1994
2034
  const ctx_r2 = i0__namespace.ɵɵnextContext(3);
1995
2035
  i0__namespace.ɵɵclassProp("active", item_r9.selected);
1996
- i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction2(7, _c4$1, ctx_r2.itemclass, ctx_r2.itemsPerRowClass))("wmItemTemplate", ctx_r2.content)("userComponentParams", item_r9);
2036
+ i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction2(7, _c4, ctx_r2.itemclass, ctx_r2.itemsPerRowClass))("wmItemTemplate", ctx_r2.content)("userComponentParams", item_r9);
1997
2037
  i0__namespace.ɵɵadvance();
1998
2038
  i0__namespace.ɵɵproperty("ngIf", !ctx_r2.content);
1999
2039
  i0__namespace.ɵɵadvance();
@@ -2012,10 +2052,15 @@
2012
2052
  i0__namespace.ɵɵelementEnd()();
2013
2053
  } if (rf & 2) {
2014
2054
  const groupObj_r7 = ctx.$implicit;
2055
+ const groupindex_r12 = ctx.index;
2015
2056
  const ctx_r2 = i0__namespace.ɵɵnextContext(2);
2016
- i0__namespace.ɵɵadvance(2);
2017
- i0__namespace.ɵɵproperty("title", groupObj_r7.key)("ngClass", i0__namespace.ɵɵpureFunction1(6, _c3$1, ctx_r2.collapsible));
2018
- i0__namespace.ɵɵadvance(2);
2057
+ i0__namespace.ɵɵadvance();
2058
+ i0__namespace.ɵɵattribute("aria-labelledby", "group_" + ctx_r2.widgetId + "_" + groupindex_r12);
2059
+ i0__namespace.ɵɵadvance();
2060
+ i0__namespace.ɵɵproperty("id", "group_" + ctx_r2.widgetId + "_" + groupindex_r12)("title", groupObj_r7.key)("ngClass", i0__namespace.ɵɵpureFunction1(9, _c3, ctx_r2.collapsible));
2061
+ i0__namespace.ɵɵadvance();
2062
+ i0__namespace.ɵɵattribute("aria-label", "Group " + groupObj_r7.key);
2063
+ i0__namespace.ɵɵadvance();
2019
2064
  i0__namespace.ɵɵtextInterpolate1("", groupObj_r7.key, " ");
2020
2065
  i0__namespace.ɵɵadvance(2);
2021
2066
  i0__namespace.ɵɵproperty("ngIf", ctx_r2.collapsible);
@@ -2025,7 +2070,7 @@
2025
2070
  i0__namespace.ɵɵproperty("ngForOf", groupObj_r7.data);
2026
2071
  } }
2027
2072
  function RadiosetComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
2028
- i0__namespace.ɵɵtemplate(0, RadiosetComponent_ng_template_3_li_0_Template, 9, 8, "li", 12);
2073
+ i0__namespace.ɵɵtemplate(0, RadiosetComponent_ng_template_3_li_0_Template, 9, 11, "li", 12);
2029
2074
  } if (rf & 2) {
2030
2075
  const ctx_r2 = i0__namespace.ɵɵnextContext();
2031
2076
  i0__namespace.ɵɵproperty("ngForOf", ctx_r2.groupedData);
@@ -2040,12 +2085,6 @@
2040
2085
  i2.styler(this.nativeElement, this);
2041
2086
  this.multiple = false;
2042
2087
  }
2043
- triggerInvokeOnChange(key, $event) {
2044
- this.modelByKey = key;
2045
- this.invokeOnTouched();
2046
- // invoke on datavalue change.
2047
- this.invokeOnChange(this.datavalue, $event || {}, true);
2048
- }
2049
2088
  /**
2050
2089
  * On click of the option, update the datavalue
2051
2090
  */
@@ -2053,7 +2092,10 @@
2053
2092
  if (!$($event.target).is('input')) {
2054
2093
  return;
2055
2094
  }
2056
- this.triggerInvokeOnChange(key, $event);
2095
+ this.modelByKey = key;
2096
+ this.invokeOnTouched();
2097
+ // invoke on datavalue change.
2098
+ this.invokeOnChange(this.datavalue, $event || {}, true);
2057
2099
  }
2058
2100
  // change and blur events are added from the template
2059
2101
  handleEvent(node, eventName, callback, locals) {
@@ -2086,13 +2128,13 @@
2086
2128
  i2.provideAs(RadiosetComponent, i2$1.NG_VALUE_ACCESSOR, true),
2087
2129
  i2.provideAs(RadiosetComponent, i2$1.NG_VALIDATORS, true),
2088
2130
  i2.provideAsWidgetRef(RadiosetComponent)
2089
- ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c0$8, 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) {
2131
+ ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c0$8, 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) {
2090
2132
  i0__namespace.ɵɵtemplate(0, RadiosetComponent_ng_template_0_Template, 1, 1, "ng-template", 1);
2091
2133
  i0__namespace.ɵɵelement(1, "input", 2);
2092
2134
  i0__namespace.ɵɵtemplate(2, RadiosetComponent_div_2_Template, 1, 0, "div", 3)(3, RadiosetComponent_ng_template_3_Template, 1, 1, "ng-template", null, 0, i0__namespace.ɵɵtemplateRefExtractor);
2093
2135
  } if (rf & 2) {
2094
- const groupedListTemplate_r12 = i0__namespace.ɵɵreference(4);
2095
- i0__namespace.ɵɵproperty("ngIf", !ctx.groupby)("ngIfElse", groupedListTemplate_r12);
2136
+ const groupedListTemplate_r13 = i0__namespace.ɵɵreference(4);
2137
+ i0__namespace.ɵɵproperty("ngIf", !ctx.groupby)("ngIfElse", groupedListTemplate_r13);
2096
2138
  i0__namespace.ɵɵadvance();
2097
2139
  i0__namespace.ɵɵproperty("disabled", ctx.disabled || ctx.readonly);
2098
2140
  i0__namespace.ɵɵadvance();
@@ -2105,7 +2147,7 @@
2105
2147
  i2.provideAs(RadiosetComponent, i2$1.NG_VALUE_ACCESSOR, true),
2106
2148
  i2.provideAs(RadiosetComponent, i2$1.NG_VALIDATORS, true),
2107
2149
  i2.provideAsWidgetRef(RadiosetComponent)
2108
- ], 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" }]
2150
+ ], 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" }]
2109
2151
  }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
2110
2152
  type: i0.Inject,
2111
2153
  args: ['EXPLICIT_CONTEXT']
@@ -2129,6 +2171,7 @@
2129
2171
  ['displayValue', i2.PROP_STRING],
2130
2172
  ['groupby', i2.PROP_STRING],
2131
2173
  ['hint', i2.PROP_STRING],
2174
+ ['arialabel', i2.PROP_STRING],
2132
2175
  ['match', i2.PROP_STRING],
2133
2176
  ['multiple', { value: false, ...i2.PROP_BOOLEAN }],
2134
2177
  ['name', i2.PROP_STRING],
@@ -2198,10 +2241,38 @@
2198
2241
  this.datavalue = ds.execute(i1$1.DataSource.Operation.GET_DEFAULT_LOCALE);
2199
2242
  }
2200
2243
  }
2201
- constructor(inj, app, explicitContext) {
2244
+ constructor(inj, explicitContext) {
2202
2245
  super(inj, WIDGET_CONFIG$7, explicitContext);
2203
- this.app = app;
2204
2246
  this.acceptsArray = true;
2247
+ /*
2248
+ * When the dataset for a select element is updated and no longer includes the previously selected value:
2249
+ * The select element becomes empty, and the ngModel value is updated to reflect this change.
2250
+ * However, the change event is not triggered, preventing the form control from recognizing the update and applying necessary validations.
2251
+ * As this widget implements ControlValueAccessor, manually updating the ngModel (or modelByKey) is necessary to ensure correct form behavior.
2252
+ * */
2253
+ const datasetSubscription = this.dataset$.subscribe(() => {
2254
+ if (i1$1.isIos() || i1$1.isSafari()) {
2255
+ if (this.datavalue) {
2256
+ const selectedItem = this.datasetItems.find(item => item.selected);
2257
+ if (!selectedItem) {
2258
+ setTimeout(() => {
2259
+ if (!this.placeholder) {
2260
+ this.selectEl.nativeElement.value = '';
2261
+ }
2262
+ this.modelByKey = undefined;
2263
+ }, 100);
2264
+ }
2265
+ }
2266
+ else {
2267
+ setTimeout(() => {
2268
+ if (!this.placeholder) {
2269
+ this.selectEl.nativeElement.value = '';
2270
+ }
2271
+ }, 100);
2272
+ }
2273
+ }
2274
+ });
2275
+ this.registerDestroyListener(() => datasetSubscription.unsubscribe());
2205
2276
  }
2206
2277
  ngAfterViewInit() {
2207
2278
  super.ngAfterViewInit();
@@ -2209,7 +2280,7 @@
2209
2280
  }
2210
2281
  // Change event is registered from the template, Prevent the framework from registering one more event
2211
2282
  handleEvent(node, eventName, eventCallback, locals) {
2212
- if (!lodashEs.includes(['blur', 'change'], eventName)) {
2283
+ if (!['blur', 'change'].includes(eventName)) {
2213
2284
  super.handleEvent(this.selectEl.nativeElement, eventName, eventCallback, locals);
2214
2285
  }
2215
2286
  }
@@ -2260,36 +2331,40 @@
2260
2331
  */
2261
2332
  checkForFloatingLabel($event) {
2262
2333
  const captionEl = $(this.selectEl.nativeElement).closest('.app-composite-widget.caption-floating');
2334
+ if (!this.placeholder && (i1$1.isIos() || i1$1.isSafari())) {
2335
+ this.removePlaceholderOption();
2336
+ }
2263
2337
  if (captionEl.length > 0) {
2264
- if ($event.type === 'focus' && (!this.datavalue || (this.datavalue && $(this.selectEl).find('select option:selected').text() === '' && this.placeholder))) {
2265
- if (!(this.datavalue || this.placeholder)) {
2266
- this.removePlaceholderOption();
2267
- }
2268
- else {
2269
- $(this.selectEl.nativeElement).find('option:first').text(this.placeholder);
2338
+ const placeholderOption = this.selectEl.nativeElement.querySelector('#placeholderOption');
2339
+ if ($event.type === 'mousedown' && (!this.datavalue || (this.datavalue && $(this.selectEl).find('select option:selected').text() === '' && this.placeholder))) {
2340
+ if (this.placeholder) {
2341
+ placeholderOption.textContent = this.placeholder;
2270
2342
  }
2271
2343
  }
2272
2344
  else if (!this.datavalue) {
2273
- $(this.selectEl.nativeElement).find('option:selected').text('');
2345
+ if (this.placeholder) {
2346
+ placeholderOption.textContent = '';
2347
+ }
2274
2348
  captionEl.removeClass('float-active');
2275
2349
  }
2276
2350
  }
2277
- else if (!(this.datavalue || this.placeholder)) {
2278
- this.removePlaceholderOption();
2279
- }
2280
2351
  }
2281
2352
  /*
2282
2353
  * Removing the placeholder option if no placeholder is provided.
2283
- * In html we are hiding the placeholder option using css but in apple devices and safari option is showing.
2354
+ * In html we are hiding the placeholder option using css but in Apple devices and safari option is showing.
2355
+ * Styles are not allowed on option tag in ios safari
2356
+ * 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
2284
2357
  * */
2285
2358
  removePlaceholderOption() {
2286
2359
  const hiddenEle = $(this.selectEl.nativeElement).find('#placeholderOption');
2287
2360
  if (hiddenEle.length) {
2288
2361
  hiddenEle.remove();
2289
- this.selectEl.nativeElement.value = '';
2362
+ if (!this.datavalue) {
2363
+ this.selectEl.nativeElement.value = '';
2364
+ }
2290
2365
  }
2291
2366
  }
2292
- static { this.ɵfac = function SelectComponent_Factory(t) { return new (t || SelectComponent)(i0__namespace.ɵɵdirectiveInject(i0__namespace.Injector), i0__namespace.ɵɵdirectiveInject(i1$1__namespace.App), i0__namespace.ɵɵdirectiveInject('EXPLICIT_CONTEXT', 8)); }; }
2367
+ static { this.ɵfac = function SelectComponent_Factory(t) { return new (t || SelectComponent)(i0__namespace.ɵɵdirectiveInject(i0__namespace.Injector), i0__namespace.ɵɵdirectiveInject('EXPLICIT_CONTEXT', 8)); }; }
2293
2368
  static { this.ɵcmp = /*@__PURE__*/ i0__namespace.ɵɵdefineComponent({ type: SelectComponent, selectors: [["wm-select"]], viewQuery: function SelectComponent_Query(rf, ctx) { if (rf & 1) {
2294
2369
  i0__namespace.ɵɵviewQuery(_c0$7, 7, i0.ElementRef);
2295
2370
  } if (rf & 2) {
@@ -2299,11 +2374,11 @@
2299
2374
  i2.provideAs(SelectComponent, i2$1.NG_VALUE_ACCESSOR, true),
2300
2375
  i2.provideAs(SelectComponent, i2$1.NG_VALIDATORS, true),
2301
2376
  i2.provideAsWidgetRef(SelectComponent)
2302
- ]), i0__namespace.ɵɵ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) {
2377
+ ]), i0__namespace.ɵɵ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) {
2303
2378
  const _r1 = i0__namespace.ɵɵgetCurrentView();
2304
2379
  i0__namespace.ɵɵelementStart(0, "select", 1, 0);
2305
2380
  i0__namespace.ɵɵtwoWayListener("ngModelChange", function SelectComponent_Template_select_ngModelChange_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); i0__namespace.ɵɵtwoWayBindingSet(ctx.modelByKey, $event) || (ctx.modelByKey = $event); return i0__namespace.ɵɵresetView($event); });
2306
- i0__namespace.ɵɵlistener("change", function SelectComponent_Template_select_change_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); return i0__namespace.ɵɵresetView(ctx.onSelectValueChange($event)); })("focus", function SelectComponent_Template_select_focus_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); return i0__namespace.ɵɵresetView(ctx.checkForFloatingLabel($event)); })("blur", function SelectComponent_Template_select_blur_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); ctx.invokeOnTouched($event); return i0__namespace.ɵɵresetView(ctx.checkForFloatingLabel($event)); });
2381
+ i0__namespace.ɵɵlistener("change", function SelectComponent_Template_select_change_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); return i0__namespace.ɵɵresetView(ctx.onSelectValueChange($event)); })("mousedown", function SelectComponent_Template_select_mousedown_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); return i0__namespace.ɵɵresetView(ctx.checkForFloatingLabel($event)); })("blur", function SelectComponent_Template_select_blur_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); ctx.invokeOnTouched($event); return i0__namespace.ɵɵresetView(ctx.checkForFloatingLabel($event)); });
2307
2382
  i0__namespace.ɵɵelement(2, "option", 2);
2308
2383
  i0__namespace.ɵɵtemplate(3, SelectComponent_ng_container_3_Template, 2, 1, "ng-container", 3)(4, SelectComponent_ng_container_4_Template, 2, 1, "ng-container", 3);
2309
2384
  i0__namespace.ɵɵelementEnd();
@@ -2311,7 +2386,7 @@
2311
2386
  i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(15, _c1$6, ctx.class))("disabled", ctx.disabled)("required", ctx.required)("tabindex", ctx.tabindex);
2312
2387
  i0__namespace.ɵɵtwoWayProperty("ngModel", ctx.modelByKey);
2313
2388
  i0__namespace.ɵɵproperty("ngModelOptions", i0__namespace.ɵɵpureFunction0(17, _c2$4))("multiple", ctx.multiple)("autofocus", ctx.autofocus);
2314
- i0__namespace.ɵɵattribute("name", ctx.name)("aria-label", ctx.hint)("aria-multiselectable", ctx.multiple);
2389
+ i0__namespace.ɵɵattribute("accesskey", ctx.shortcutkey)("name", ctx.name)("aria-label", ctx.arialabel);
2315
2390
  i0__namespace.ɵɵadvance(2);
2316
2391
  i0__namespace.ɵɵproperty("textContent", ctx.placeholder)("hidden", !ctx.placeholder);
2317
2392
  i0__namespace.ɵɵadvance();
@@ -2326,8 +2401,8 @@
2326
2401
  i2.provideAs(SelectComponent, i2$1.NG_VALUE_ACCESSOR, true),
2327
2402
  i2.provideAs(SelectComponent, i2$1.NG_VALIDATORS, true),
2328
2403
  i2.provideAsWidgetRef(SelectComponent)
2329
- ], 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" }]
2330
- }], () => [{ type: i0__namespace.Injector }, { type: i1$1__namespace.App }, { type: undefined, decorators: [{
2404
+ ], 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" }]
2405
+ }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
2331
2406
  type: i0.Inject,
2332
2407
  args: ['EXPLICIT_CONTEXT']
2333
2408
  }, {
@@ -2336,7 +2411,7 @@
2336
2411
  type: i0.ViewChild,
2337
2412
  args: ['select', { static: true, read: i0.ElementRef }]
2338
2413
  }] }); })();
2339
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassDebugInfo(SelectComponent, { className: "SelectComponent", filePath: "select/select.component.ts", lineNumber: 22 }); })();
2414
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassDebugInfo(SelectComponent, { className: "SelectComponent", filePath: "select/select.component.ts", lineNumber: 20 }); })();
2340
2415
 
2341
2416
  const switchProps = new Map([
2342
2417
  ['class', i2.PROP_STRING],
@@ -2349,8 +2424,8 @@
2349
2424
  ['displayexpression', i2.PROP_STRING],
2350
2425
  ['displayfield', i2.PROP_STRING],
2351
2426
  ['hint', i2.PROP_STRING],
2427
+ ['arialabel', i2.PROP_STRING],
2352
2428
  ['iconclass', i2.PROP_STRING],
2353
- ['checkediconclass', { value: 'wm-sl-l sl-check', ...i2.PROP_STRING }],
2354
2429
  ['name', i2.PROP_STRING],
2355
2430
  ['orderby', i2.PROP_STRING],
2356
2431
  ['required', i2.PROP_BOOLEAN],
@@ -2364,54 +2439,37 @@
2364
2439
  };
2365
2440
 
2366
2441
  const _c0$6 = ["wmSwitch", ""];
2367
- const _c1$5 = a0 => ({ "multi-select": a0 });
2368
- const _c2$3 = (a0, a1) => ({ "selected": a0, "disabled": a1 });
2369
- const _c3 = a0 => ["app-icon", a0];
2370
- const _c4 = a0 => [a0];
2442
+ const _c1$5 = (a0, a1) => ({ "selected": a0, "disabled": a1 });
2443
+ const _c2$3 = a0 => ["app-icon", a0];
2371
2444
  function SwitchComponent_a_1_i_1_Template(rf, ctx) { if (rf & 1) {
2372
- i0__namespace.ɵɵelement(0, "i", 7);
2445
+ i0__namespace.ɵɵelement(0, "i", 8);
2373
2446
  } if (rf & 2) {
2374
2447
  const opt_r3 = i0__namespace.ɵɵnextContext().$implicit;
2375
2448
  const ctx_r4 = i0__namespace.ɵɵnextContext();
2376
- i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(1, _c3, opt_r3.dataObject[ctx_r4.iconclass] || opt_r3["icon"]));
2377
- } }
2378
- function SwitchComponent_a_1_i_2_Template(rf, ctx) { if (rf & 1) {
2379
- i0__namespace.ɵɵelement(0, "i", 7);
2380
- } if (rf & 2) {
2381
- const ctx_r4 = i0__namespace.ɵɵnextContext(2);
2382
- i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(1, _c4, ctx_r4.checkediconclass));
2449
+ i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(1, _c2$3, opt_r3.dataObject[ctx_r4.iconclass] || opt_r3["icon"]));
2383
2450
  } }
2384
2451
  function SwitchComponent_a_1_Template(rf, ctx) { if (rf & 1) {
2385
2452
  const _r1 = i0__namespace.ɵɵgetCurrentView();
2386
- i0__namespace.ɵɵelementStart(0, "a", 4);
2453
+ i0__namespace.ɵɵelementStart(0, "a", 5);
2387
2454
  i0__namespace.ɵɵlistener("click", function SwitchComponent_a_1_Template_a_click_0_listener($event) { const ctx_r1 = i0__namespace.ɵɵrestoreView(_r1); const opt_r3 = ctx_r1.$implicit; const $index_r4 = ctx_r1.index; const ctx_r4 = i0__namespace.ɵɵnextContext(); return i0__namespace.ɵɵresetView(ctx_r4.selectOpt($event, $index_r4, opt_r3)); });
2388
- i0__namespace.ɵɵtemplate(1, SwitchComponent_a_1_i_1_Template, 1, 3, "i", 5)(2, SwitchComponent_a_1_i_2_Template, 1, 3, "i", 5);
2389
- i0__namespace.ɵɵelement(3, "span", 6);
2455
+ i0__namespace.ɵɵtemplate(1, SwitchComponent_a_1_i_1_Template, 1, 3, "i", 6);
2456
+ i0__namespace.ɵɵelement(2, "span", 7);
2390
2457
  i0__namespace.ɵɵelementEnd();
2391
2458
  } if (rf & 2) {
2392
2459
  const opt_r3 = ctx.$implicit;
2393
2460
  const ctx_r4 = i0__namespace.ɵɵnextContext();
2394
- i0__namespace.ɵɵproperty("name", "wm-switch-" + opt_r3.key)("ngClass", i0__namespace.ɵɵpureFunction2(5, _c2$3, opt_r3.selected, ctx_r4.disabled));
2461
+ i0__namespace.ɵɵproperty("name", "wm-switch-" + opt_r3.key)("ngClass", i0__namespace.ɵɵpureFunction2(5, _c1$5, opt_r3.selected, ctx_r4.disabled));
2462
+ i0__namespace.ɵɵattribute("aria-pressed", opt_r3.selected ? true : false);
2395
2463
  i0__namespace.ɵɵadvance();
2396
- i0__namespace.ɵɵproperty("ngIf", opt_r3.dataObject && opt_r3.dataObject[ctx_r4.iconclass] && !opt_r3.selected);
2397
- i0__namespace.ɵɵadvance();
2398
- i0__namespace.ɵɵproperty("ngIf", opt_r3.selected);
2464
+ i0__namespace.ɵɵproperty("ngIf", opt_r3.dataObject && opt_r3.dataObject[ctx_r4.iconclass]);
2399
2465
  i0__namespace.ɵɵadvance();
2400
2466
  i0__namespace.ɵɵproperty("textContent", opt_r3[ctx_r4.displayfield] || opt_r3.label);
2401
2467
  } }
2402
- function SwitchComponent_span_2_Template(rf, ctx) { if (rf & 1) {
2403
- i0__namespace.ɵɵelementStart(0, "span", 8);
2404
- i0__namespace.ɵɵelement(1, "i", 9);
2405
- i0__namespace.ɵɵelementStart(2, "span", 10);
2406
- i0__namespace.ɵɵtext(3);
2407
- i0__namespace.ɵɵelementEnd()();
2468
+ function SwitchComponent_i_3_Template(rf, ctx) { if (rf & 1) {
2469
+ i0__namespace.ɵɵelement(0, "i");
2408
2470
  } if (rf & 2) {
2409
2471
  const ctx_r4 = i0__namespace.ɵɵnextContext();
2410
- i0__namespace.ɵɵproperty("title", ctx_r4.selectedItem ? ctx_r4.selectedItem.label : ctx_r4.modelByKey);
2411
- i0__namespace.ɵɵadvance();
2412
- i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(3, _c4, ctx_r4.checkediconclass));
2413
- i0__namespace.ɵɵadvance(2);
2414
- i0__namespace.ɵɵtextInterpolate(ctx_r4.selectedItem ? ctx_r4.selectedItem.label : ctx_r4.modelByKey);
2472
+ i0__namespace.ɵɵclassMapInterpolate1("app-icon ", ctx_r4.selectedItem && ctx_r4.selectedItem.dataObject && ctx_r4.selectedItem.dataObject[ctx_r4.iconclass], "");
2415
2473
  } }
2416
2474
  const DEFAULT_CLS = 'app-switch';
2417
2475
  const WIDGET_CONFIG$6 = { widgetType: 'wm-switch', hostClass: DEFAULT_CLS };
@@ -2420,8 +2478,6 @@
2420
2478
  constructor(inj, explicitContext) {
2421
2479
  super(inj, WIDGET_CONFIG$6, explicitContext);
2422
2480
  this.options = [];
2423
- this.multiple = this.getAttr("multiple") === "true";
2424
- this.checkediconclass = this.getAttr("checkediconclass") || 'wm-sl-l sl-check';
2425
2481
  this._debounceSetSelectedValue = i1$1.debounce((val) => {
2426
2482
  this.setSelectedValue();
2427
2483
  this.updateHighlighter(val);
@@ -2461,7 +2517,7 @@
2461
2517
  // set the css for switch overlay element.
2462
2518
  // set the selected index from the datasetItems and highlight the datavalue on switch.
2463
2519
  updateSwitchOptions() {
2464
- if (this.datasetItems.length && !this.multiple) {
2520
+ if (this.datasetItems.length) {
2465
2521
  this.btnwidth = (100 / this.datasetItems.length);
2466
2522
  i1$1.setCSS(this.nativeElement.querySelector('.app-switch-overlay'), 'width', this.btnwidth + '%');
2467
2523
  }
@@ -2499,30 +2555,18 @@
2499
2555
  if (this.disabled) {
2500
2556
  return;
2501
2557
  }
2502
- if (this.multiple) {
2503
- const keys = [];
2504
- this.datasetItems[$index].selected = !this.datasetItems[$index].selected;
2505
- lodashEs.forEach(this.datasetItems, (item) => {
2506
- if (item.selected)
2507
- keys.push(item.key);
2508
- });
2509
- this.modelByKey = keys;
2510
- this.selectedItem = lodashEs.find(this.datasetItems, { selected: true });
2511
- }
2512
- else {
2513
- this.modelByKey = option.key;
2514
- if (!this.multiple && this.selectedItem && $index === lodashEs.findIndex(this.datasetItems, { key: this.selectedItem.key })) {
2515
- if (this.datasetItems.length === 2) {
2516
- $index = $index === 1 ? 0 : 1;
2517
- }
2518
- else {
2519
- return;
2520
- }
2558
+ this.modelByKey = option.key;
2559
+ this.invokeOnTouched();
2560
+ if (this.selectedItem && $index === lodashEs.findIndex(this.datasetItems, { key: this.selectedItem.key })) {
2561
+ if (this.datasetItems.length === 2) {
2562
+ $index = $index === 1 ? 0 : 1;
2563
+ }
2564
+ else {
2565
+ return;
2521
2566
  }
2522
- this.selectedItem = this.datasetItems[$index];
2523
- this.updateHighlighter();
2524
2567
  }
2525
- this.invokeOnTouched();
2568
+ this.selectedItem = this.datasetItems[$index];
2569
+ this.updateHighlighter();
2526
2570
  // invoke on datavalue change.
2527
2571
  this.invokeOnChange(this.datavalue, $event || {}, true);
2528
2572
  i1$1.$appDigest();
@@ -2539,18 +2583,24 @@
2539
2583
  static { this.ɵcmp = /*@__PURE__*/ i0__namespace.ɵɵdefineComponent({ type: SwitchComponent, selectors: [["", "wmSwitch", ""]], exportAs: ["wmSwitch"], features: [i0__namespace.ɵɵProvidersFeature([
2540
2584
  i2.provideAs(SwitchComponent, i2$1.NG_VALUE_ACCESSOR, true),
2541
2585
  i2.provideAsWidgetRef(SwitchComponent)
2542
- ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c0$6, decls: 4, vars: 9, consts: [["role", "group", 1, "btn-group", "btn-group-justified", 3, "ngClass"], ["focus-target", "", "href", "javascript:void(0);", "class", "btn btn-default", 3, "name", "ngClass", "click", 4, "ngFor", "ngForOf"], ["class", "btn btn-primary app-switch-overlay switch-handle", 3, "title", 4, "ngIf"], ["aria-hidden", "true", 1, "model-holder", "ng-hide", 3, "name", "disabled", "value", "required"], ["focus-target", "", "href", "javascript:void(0);", 1, "btn", "btn-default", 3, "click", "name", "ngClass"], ["aria-hidden", "true", 3, "ngClass", 4, "ngIf"], [1, "caption", 3, "textContent"], ["aria-hidden", "true", 3, "ngClass"], [1, "btn", "btn-primary", "app-switch-overlay", "switch-handle", 3, "title"], [3, "ngClass"], [1, "caption"]], template: function SwitchComponent_Template(rf, ctx) { if (rf & 1) {
2586
+ ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c0$6, decls: 6, vars: 8, consts: [[1, "btn-group", "btn-group-justified"], ["focus-target", "", "href", "javascript:void(0);", "class", "btn btn-default", "role", "button", 3, "name", "ngClass", "click", 4, "ngFor", "ngForOf"], ["aria-hidden", "true", 1, "btn", "btn-primary", "app-switch-overlay", "switch-handle", 3, "title"], [3, "class", 4, "ngIf"], ["aria-hidden", "true", 1, "model-holder", "ng-hide", 3, "name", "disabled", "value", "required"], ["focus-target", "", "href", "javascript:void(0);", "role", "button", 1, "btn", "btn-default", 3, "click", "name", "ngClass"], ["aria-hidden", "true", 3, "ngClass", 4, "ngIf"], [1, "caption", 3, "textContent"], ["aria-hidden", "true", 3, "ngClass"]], template: function SwitchComponent_Template(rf, ctx) { if (rf & 1) {
2543
2587
  i0__namespace.ɵɵelementStart(0, "div", 0);
2544
- i0__namespace.ɵɵtemplate(1, SwitchComponent_a_1_Template, 4, 8, "a", 1);
2588
+ i0__namespace.ɵɵtemplate(1, SwitchComponent_a_1_Template, 3, 8, "a", 1);
2589
+ i0__namespace.ɵɵelementEnd();
2590
+ i0__namespace.ɵɵelementStart(2, "span", 2);
2591
+ i0__namespace.ɵɵtemplate(3, SwitchComponent_i_3_Template, 1, 3, "i", 3);
2592
+ i0__namespace.ɵɵtext(4);
2545
2593
  i0__namespace.ɵɵelementEnd();
2546
- i0__namespace.ɵɵtemplate(2, SwitchComponent_span_2_Template, 4, 5, "span", 2);
2547
- i0__namespace.ɵɵelement(3, "input", 3);
2594
+ i0__namespace.ɵɵelement(5, "input", 4);
2548
2595
  } if (rf & 2) {
2549
- i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(7, _c1$5, ctx.multiple));
2550
2596
  i0__namespace.ɵɵadvance();
2551
2597
  i0__namespace.ɵɵproperty("ngForOf", ctx.datasetItems);
2552
2598
  i0__namespace.ɵɵadvance();
2553
- i0__namespace.ɵɵproperty("ngIf", !ctx.multiple);
2599
+ i0__namespace.ɵɵproperty("title", ctx.selectedItem ? ctx.selectedItem.label : ctx.modelByKey);
2600
+ i0__namespace.ɵɵadvance();
2601
+ i0__namespace.ɵɵproperty("ngIf", ctx.iconclass);
2602
+ i0__namespace.ɵɵadvance();
2603
+ i0__namespace.ɵɵtextInterpolate1(" ", ctx.selectedItem ? ctx.selectedItem.label : ctx.modelByKey, "\n");
2554
2604
  i0__namespace.ɵɵadvance();
2555
2605
  i0__namespace.ɵɵproperty("name", ctx.name)("disabled", ctx.disabled)("value", ctx.modelByKey)("required", ctx.required);
2556
2606
  } }, dependencies: [i1__namespace.NgClass, i1__namespace.NgForOf, i1__namespace.NgIf, i2__namespace.TextContentDirective], encapsulation: 2 }); }
@@ -2560,7 +2610,7 @@
2560
2610
  args: [{ selector: '[wmSwitch]', providers: [
2561
2611
  i2.provideAs(SwitchComponent, i2$1.NG_VALUE_ACCESSOR, true),
2562
2612
  i2.provideAsWidgetRef(SwitchComponent)
2563
- ], exportAs: 'wmSwitch', template: "<div role=\"group\" class=\"btn-group btn-group-justified\" [ngClass]=\"{'multi-select': multiple}\">\n <a *ngFor=\"let opt of datasetItems; let $index = index;\"\n focus-target\n href=\"javascript:void(0);\"\n class=\"btn btn-default\"\n [name]=\"'wm-switch-' + opt.key\"\n [ngClass]=\"{'selected': opt.selected, 'disabled': disabled}\"\n (click)=\"selectOpt($event, $index, opt)\"\n >\n <i *ngIf=\"opt.dataObject && opt.dataObject[iconclass] && !opt.selected\" aria-hidden=\"true\" [ngClass]=\"['app-icon', opt.dataObject[iconclass] || opt['icon']]\"></i>\n <i *ngIf=\"opt.selected\" aria-hidden=\"true\" [ngClass]=\"[checkediconclass]\"></i>\n <span class=\"caption\" [textContent]=\"opt[displayfield] || opt.label\"></span>\n </a>\n</div>\n<span [title]=\"selectedItem ? selectedItem.label : modelByKey\"\n class=\"btn btn-primary app-switch-overlay switch-handle\" *ngIf=\"!multiple\">\n <i [ngClass]=\"[checkediconclass]\"></i>\n <span class=\"caption\">{{selectedItem ? selectedItem.label : modelByKey}}</span>\n</span>\n<input [name]=\"name\" class=\"model-holder ng-hide\" [disabled]=\"disabled\" [value]=\"modelByKey\" [required]=\"required\" aria-hidden=\"true\">\n" }]
2613
+ ], exportAs: 'wmSwitch', template: "<div class=\"btn-group btn-group-justified\">\n <a *ngFor=\"let opt of datasetItems; let $index = index;\"\n focus-target\n href=\"javascript:void(0);\"\n class=\"btn btn-default\"\n [name]=\"'wm-switch-' + opt.key\"\n role=\"button\"\n [ngClass]=\"{'selected': opt.selected, 'disabled': disabled}\"\n [attr.aria-pressed]=\"opt.selected ? true : false\"\n (click)=\"selectOpt($event, $index, opt)\"\n >\n <i *ngIf=\"opt.dataObject && opt.dataObject[iconclass]\" aria-hidden=\"true\" [ngClass]=\"['app-icon', opt.dataObject[iconclass] || opt['icon']]\"></i>\n <span class=\"caption\" [textContent]=\"opt[displayfield] || opt.label\"></span>\n </a>\n</div>\n<span aria-hidden=\"true\" [title]=\"selectedItem ? selectedItem.label : modelByKey\"\n class=\"btn btn-primary app-switch-overlay switch-handle\">\n <i *ngIf=\"iconclass\"\n class=\"app-icon {{(selectedItem && selectedItem.dataObject) && selectedItem.dataObject[iconclass]}}\"></i>\n {{selectedItem ? selectedItem.label : modelByKey}}\n</span>\n<input [name]=\"name\" class=\"model-holder ng-hide\" [disabled]=\"disabled\" [value]=\"modelByKey\" [required]=\"required\" aria-hidden=\"true\">\n" }]
2564
2614
  }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
2565
2615
  type: i0.Inject,
2566
2616
  args: ['EXPLICIT_CONTEXT']
@@ -2578,6 +2628,7 @@
2578
2628
  ['datavalue', i2.PROP_STRING],
2579
2629
  ['disabled', i2.PROP_BOOLEAN],
2580
2630
  ['hint', i2.PROP_STRING],
2631
+ ['arialabel', i2.PROP_STRING],
2581
2632
  ['maxvalue', i2.PROP_NUMBER],
2582
2633
  ['minvalue', i2.PROP_NUMBER],
2583
2634
  ['name', i2.PROP_STRING],
@@ -2621,7 +2672,7 @@
2621
2672
  i2.provideAs(InputCalendarComponent, i2$1.NG_VALUE_ACCESSOR, true),
2622
2673
  i2.provideAs(InputCalendarComponent, i2$1.NG_VALIDATORS, true),
2623
2674
  i2.provideAsWidgetRef(InputCalendarComponent)
2624
- ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c1$4, decls: 2, vars: 19, consts: [["input", ""], ["focus-target", "", "role", "textbox", 1, "form-control", "app-textbox", 3, "ngModelChange", "blur", "type", "ngModel", "ngModelOptions", "readonly", "required", "disabled", "min", "max", "step", "autofocus", "autocomplete", "ngClass", "ngStyle"]], template: function InputCalendarComponent_Template(rf, ctx) { if (rf & 1) {
2675
+ ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c1$4, decls: 2, vars: 19, consts: [["input", ""], ["focus-target", "", 1, "form-control", "app-textbox", 3, "ngModelChange", "blur", "type", "ngModel", "ngModelOptions", "readonly", "required", "disabled", "min", "max", "step", "autofocus", "autocomplete", "ngClass", "ngStyle"]], template: function InputCalendarComponent_Template(rf, ctx) { if (rf & 1) {
2625
2676
  const _r1 = i0__namespace.ɵɵgetCurrentView();
2626
2677
  i0__namespace.ɵɵelementStart(0, "input", 1, 0);
2627
2678
  i0__namespace.ɵɵtwoWayListener("ngModelChange", function InputCalendarComponent_Template_input_ngModelChange_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); i0__namespace.ɵɵtwoWayBindingSet(ctx.datavalue, $event) || (ctx.datavalue = $event); return i0__namespace.ɵɵresetView($event); });
@@ -2631,7 +2682,7 @@
2631
2682
  i0__namespace.ɵɵproperty("type", ctx.type);
2632
2683
  i0__namespace.ɵɵtwoWayProperty("ngModel", ctx.datavalue);
2633
2684
  i0__namespace.ɵɵproperty("ngModelOptions", i0__namespace.ɵɵpureFunction0(18, _c2$2))("readonly", ctx.readonly)("required", ctx.required)("disabled", ctx.disabled)("min", ctx.minvalue)("max", ctx.maxvalue)("step", ctx.step)("autofocus", ctx.autofocus)("autocomplete", ctx.autocomplete ? "on" : "off")("ngClass", ctx.conditionalclass)("ngStyle", ctx.conditionalstyle);
2634
- i0__namespace.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.hint || ctx.type + " field");
2685
+ i0__namespace.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.arialabel || ctx.type + " field");
2635
2686
  } }, dependencies: [i1__namespace.NgClass, i1__namespace.NgStyle, i2$1__namespace.DefaultValueAccessor, i2$1__namespace.NgControlStatus, i2$1__namespace.RequiredValidator, i2$1__namespace.NgModel], encapsulation: 2 }); }
2636
2687
  }
2637
2688
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(InputCalendarComponent, [{
@@ -2640,7 +2691,7 @@
2640
2691
  i2.provideAs(InputCalendarComponent, i2$1.NG_VALUE_ACCESSOR, true),
2641
2692
  i2.provideAs(InputCalendarComponent, i2$1.NG_VALIDATORS, true),
2642
2693
  i2.provideAsWidgetRef(InputCalendarComponent)
2643
- ], template: "<input class=\"form-control app-textbox\"\n focus-target\n role=\"textbox\"\n [type]=\"type\"\n [attr.name]=\"name\"\n [(ngModel)]=\"datavalue\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [min]=\"minvalue\"\n [max]=\"maxvalue\"\n [step]=\"step\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"hint || type + ' field'\"\n [autofocus]=\"autofocus\"\n (blur)=\"handleBlur($event)\"\n (ngModelChange)=\"handleChange($event)\"\n [autocomplete]=\"autocomplete ? 'on' : 'off'\"\n [ngClass]=\"conditionalclass\"\n [ngStyle]=\"conditionalstyle\"\n #input>\n" }]
2694
+ ], template: "<input class=\"form-control app-textbox\"\n focus-target\n [type]=\"type\"\n [attr.name]=\"name\"\n [(ngModel)]=\"datavalue\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [min]=\"minvalue\"\n [max]=\"maxvalue\"\n [step]=\"step\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"arialabel || type + ' field'\"\n [autofocus]=\"autofocus\"\n (blur)=\"handleBlur($event)\"\n (ngModelChange)=\"handleChange($event)\"\n [autocomplete]=\"autocomplete ? 'on' : 'off'\"\n [ngClass]=\"conditionalclass\"\n [ngStyle]=\"conditionalstyle\"\n #input>\n" }]
2644
2695
  }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
2645
2696
  type: i0.Inject,
2646
2697
  args: ['EXPLICIT_CONTEXT']
@@ -2664,6 +2715,7 @@
2664
2715
  ['datavalue', i2.PROP_STRING],
2665
2716
  ['disabled', i2.PROP_BOOLEAN],
2666
2717
  ['hint', i2.PROP_STRING],
2718
+ ['arialabel', i2.PROP_STRING],
2667
2719
  ['name', i2.PROP_STRING],
2668
2720
  ['placeholder', { value: 'Enter text', ...i2.PROP_STRING }],
2669
2721
  ['readonly', i2.PROP_BOOLEAN],
@@ -2704,7 +2756,7 @@
2704
2756
  i2.provideAs(InputColorComponent, i2$1.NG_VALUE_ACCESSOR, true),
2705
2757
  i2.provideAs(InputColorComponent, i2$1.NG_VALIDATORS, true),
2706
2758
  i2.provideAsWidgetRef(InputColorComponent)
2707
- ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c1$3, decls: 2, vars: 16, consts: [["input", ""], ["focus-target", "", "role", "textbox", 1, "form-control", "app-textbox", 3, "ngModelChange", "blur", "type", "ngModel", "ngModelOptions", "readonly", "required", "disabled", "maxlength", "autofocus", "ngClass", "ngStyle"]], template: function InputColorComponent_Template(rf, ctx) { if (rf & 1) {
2759
+ ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c1$3, decls: 2, vars: 16, consts: [["input", ""], ["focus-target", "", 1, "form-control", "app-textbox", 3, "ngModelChange", "blur", "type", "ngModel", "ngModelOptions", "readonly", "required", "disabled", "maxlength", "autofocus", "ngClass", "ngStyle"]], template: function InputColorComponent_Template(rf, ctx) { if (rf & 1) {
2708
2760
  const _r1 = i0__namespace.ɵɵgetCurrentView();
2709
2761
  i0__namespace.ɵɵelementStart(0, "input", 1, 0);
2710
2762
  i0__namespace.ɵɵtwoWayListener("ngModelChange", function InputColorComponent_Template_input_ngModelChange_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); i0__namespace.ɵɵtwoWayBindingSet(ctx.datavalue, $event) || (ctx.datavalue = $event); return i0__namespace.ɵɵresetView($event); });
@@ -2714,7 +2766,7 @@
2714
2766
  i0__namespace.ɵɵproperty("type", ctx.type);
2715
2767
  i0__namespace.ɵɵtwoWayProperty("ngModel", ctx.datavalue);
2716
2768
  i0__namespace.ɵɵproperty("ngModelOptions", i0__namespace.ɵɵpureFunction0(15, _c2$1))("readonly", ctx.readonly)("required", ctx.required)("disabled", ctx.disabled)("maxlength", ctx.maxchars)("autofocus", ctx.autofocus)("ngClass", ctx.conditionalclass)("ngStyle", ctx.conditionalstyle);
2717
- i0__namespace.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.hint);
2769
+ i0__namespace.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.arialabel);
2718
2770
  } }, dependencies: [i1__namespace.NgClass, i1__namespace.NgStyle, i2$1__namespace.DefaultValueAccessor, i2$1__namespace.NgControlStatus, i2$1__namespace.RequiredValidator, i2$1__namespace.MaxLengthValidator, i2$1__namespace.NgModel], encapsulation: 2 }); }
2719
2771
  }
2720
2772
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(InputColorComponent, [{
@@ -2723,7 +2775,7 @@
2723
2775
  i2.provideAs(InputColorComponent, i2$1.NG_VALUE_ACCESSOR, true),
2724
2776
  i2.provideAs(InputColorComponent, i2$1.NG_VALIDATORS, true),
2725
2777
  i2.provideAsWidgetRef(InputColorComponent)
2726
- ], template: "<input class=\"form-control app-textbox\"\n focus-target\n [type]=\"type\"\n role=\"textbox\"\n [attr.name]=\"name\"\n [(ngModel)]=\"datavalue\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"hint\"\n [autofocus]=\"autofocus\"\n [ngClass]=\"conditionalclass\"\n [ngStyle]=\"conditionalstyle\"\n (blur)=\"handleBlur($event)\"\n (ngModelChange)=\"handleChange($event)\"\n #input>\n" }]
2778
+ ], template: "<input class=\"form-control app-textbox\"\n focus-target\n [type]=\"type\"\n [attr.name]=\"name\"\n [(ngModel)]=\"datavalue\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"arialabel\"\n [autofocus]=\"autofocus\"\n [ngClass]=\"conditionalclass\"\n [ngStyle]=\"conditionalstyle\"\n (blur)=\"handleBlur($event)\"\n (ngModelChange)=\"handleChange($event)\"\n #input>\n" }]
2727
2779
  }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
2728
2780
  type: i0.Inject,
2729
2781
  args: ['EXPLICIT_CONTEXT']
@@ -2747,6 +2799,7 @@
2747
2799
  ['datavalue', i2.PROP_STRING],
2748
2800
  ['disabled', i2.PROP_BOOLEAN],
2749
2801
  ['hint', i2.PROP_STRING],
2802
+ ['arialabel', i2.PROP_STRING],
2750
2803
  ['maxchars', i2.PROP_NUMBER],
2751
2804
  ['name', i2.PROP_STRING],
2752
2805
  ['placeholder', { value: 'Enter text', ...i2.PROP_STRING }],
@@ -2788,7 +2841,7 @@
2788
2841
  i2.provideAs(InputEmailComponent, i2$1.NG_VALUE_ACCESSOR, true),
2789
2842
  i2.provideAs(InputEmailComponent, i2$1.NG_VALIDATORS, true),
2790
2843
  i2.provideAsWidgetRef(InputEmailComponent)
2791
- ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c1$2, decls: 2, vars: 17, consts: [["input", ""], ["focus-target", "", "role", "textbox", "email", "", 1, "form-control", "app-textbox", 3, "ngModelChange", "blur", "keyup.enter", "type", "ngModel", "ngModelOptions", "readonly", "required", "disabled", "maxlength", "pattern", "autofocus", "ngClass", "ngStyle", "autocomplete"]], template: function InputEmailComponent_Template(rf, ctx) { if (rf & 1) {
2844
+ ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c1$2, decls: 2, vars: 17, consts: [["input", ""], ["focus-target", "", "email", "", 1, "form-control", "app-textbox", 3, "ngModelChange", "blur", "keyup.enter", "type", "ngModel", "ngModelOptions", "readonly", "required", "disabled", "maxlength", "pattern", "autofocus", "ngClass", "ngStyle", "autocomplete"]], template: function InputEmailComponent_Template(rf, ctx) { if (rf & 1) {
2792
2845
  const _r1 = i0__namespace.ɵɵgetCurrentView();
2793
2846
  i0__namespace.ɵɵelementStart(0, "input", 1, 0);
2794
2847
  i0__namespace.ɵɵtwoWayListener("ngModelChange", function InputEmailComponent_Template_input_ngModelChange_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); i0__namespace.ɵɵtwoWayBindingSet(ctx.datavalue, $event) || (ctx.datavalue = $event); return i0__namespace.ɵɵresetView($event); });
@@ -2798,7 +2851,7 @@
2798
2851
  i0__namespace.ɵɵproperty("type", ctx.type);
2799
2852
  i0__namespace.ɵɵtwoWayProperty("ngModel", ctx.datavalue);
2800
2853
  i0__namespace.ɵɵproperty("ngModelOptions", ctx.ngModelOptions)("readonly", ctx.readonly)("required", ctx.required)("disabled", ctx.disabled)("maxlength", ctx.maxchars)("pattern", ctx.regexp)("autofocus", ctx.autofocus)("ngClass", ctx.conditionalclass)("ngStyle", ctx.conditionalstyle)("autocomplete", ctx.autocomplete ? "on" : "off");
2801
- i0__namespace.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.hint);
2854
+ i0__namespace.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.arialabel);
2802
2855
  } }, dependencies: [i1__namespace.NgClass, i1__namespace.NgStyle, i2$1__namespace.DefaultValueAccessor, i2$1__namespace.NgControlStatus, i2$1__namespace.RequiredValidator, i2$1__namespace.MaxLengthValidator, i2$1__namespace.PatternValidator, i2$1__namespace.EmailValidator, i2$1__namespace.NgModel], encapsulation: 2 }); }
2803
2856
  }
2804
2857
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(InputEmailComponent, [{
@@ -2807,7 +2860,7 @@
2807
2860
  i2.provideAs(InputEmailComponent, i2$1.NG_VALUE_ACCESSOR, true),
2808
2861
  i2.provideAs(InputEmailComponent, i2$1.NG_VALIDATORS, true),
2809
2862
  i2.provideAsWidgetRef(InputEmailComponent)
2810
- ], template: "<input class=\"form-control app-textbox\"\n focus-target\n role=\"textbox\"\n [type]=\"type\"\n [attr.name]=\"name\"\n [(ngModel)]=\"datavalue\"\n [ngModelOptions]=\"ngModelOptions\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [pattern]=\"regexp\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"hint\"\n [autofocus]=\"autofocus\"\n [ngClass]=\"conditionalclass\"\n [ngStyle]=\"conditionalstyle\"\n (blur)=\"handleBlur($event)\"\n (ngModelChange)=\"handleChange($event)\"\n [autocomplete]=\"autocomplete ? 'on' : 'off'\"\n (keyup.enter)=\"flushViewChanges(input.value)\"\n email\n #input>\n" }]
2863
+ ], template: "<input class=\"form-control app-textbox\"\n focus-target\n [type]=\"type\"\n [attr.name]=\"name\"\n [(ngModel)]=\"datavalue\"\n [ngModelOptions]=\"ngModelOptions\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [pattern]=\"regexp\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"arialabel\"\n [autofocus]=\"autofocus\"\n [ngClass]=\"conditionalclass\"\n [ngStyle]=\"conditionalstyle\"\n (blur)=\"handleBlur($event)\"\n (ngModelChange)=\"handleChange($event)\"\n [autocomplete]=\"autocomplete ? 'on' : 'off'\"\n (keyup.enter)=\"flushViewChanges(input.value)\"\n email\n #input>\n" }]
2811
2864
  }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
2812
2865
  type: i0.Inject,
2813
2866
  args: ['EXPLICIT_CONTEXT']
@@ -2831,6 +2884,7 @@
2831
2884
  ['datavalue', i2.PROP_STRING],
2832
2885
  ['disabled', i2.PROP_BOOLEAN],
2833
2886
  ['hint', i2.PROP_STRING],
2887
+ ['arialabel', i2.PROP_STRING],
2834
2888
  ['maxchars', i2.PROP_NUMBER],
2835
2889
  ['maxvalue', i2.PROP_NUMBER],
2836
2890
  ['minvalue', i2.PROP_NUMBER],
@@ -2886,7 +2940,7 @@
2886
2940
  i2.provideAs(InputNumberComponent, i2$1.NG_VALUE_ACCESSOR, true),
2887
2941
  i2.provideAs(InputNumberComponent, i2$1.NG_VALIDATORS, true),
2888
2942
  i2.provideAsWidgetRef(InputNumberComponent)
2889
- ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c1$1, decls: 2, vars: 22, consts: [["input", ""], ["focus-target", "", "role", "textbox", 1, "form-control", "app-textbox", 3, "ngModelChange", "blur", "keyup.enter", "keydown.ArrowUp", "keydown.ArrowDown", "keypress", "ngClass", "type", "ngModel", "ngModelOptions", "readonly", "required", "disabled", "maxlength", "min", "max", "step", "autofocus", "ngStyle", "autocomplete"]], template: function InputNumberComponent_Template(rf, ctx) { if (rf & 1) {
2943
+ ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c1$1, decls: 2, vars: 22, consts: [["input", ""], ["focus-target", "", 1, "form-control", "app-textbox", 3, "ngModelChange", "blur", "keyup.enter", "keydown.ArrowUp", "keydown.ArrowDown", "keypress", "ngClass", "type", "ngModel", "ngModelOptions", "readonly", "required", "disabled", "maxlength", "min", "max", "step", "autofocus", "ngStyle", "autocomplete"]], template: function InputNumberComponent_Template(rf, ctx) { if (rf & 1) {
2890
2944
  const _r1 = i0__namespace.ɵɵgetCurrentView();
2891
2945
  i0__namespace.ɵɵelementStart(0, "input", 1, 0);
2892
2946
  i0__namespace.ɵɵtwoWayListener("ngModelChange", function InputNumberComponent_Template_input_ngModelChange_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); i0__namespace.ɵɵtwoWayBindingSet(ctx.datavalue, $event) || (ctx.datavalue = $event); return i0__namespace.ɵɵresetView($event); });
@@ -2896,7 +2950,7 @@
2896
2950
  i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(20, _c2, ctx.step === 0))("type", ctx.type);
2897
2951
  i0__namespace.ɵɵtwoWayProperty("ngModel", ctx.datavalue);
2898
2952
  i0__namespace.ɵɵproperty("ngModelOptions", ctx.ngModelOptions)("readonly", ctx.readonly)("required", ctx.required)("disabled", ctx.disabled)("maxlength", ctx.maxchars)("min", ctx.minvalue)("max", ctx.maxvalue)("step", ctx.step)("autofocus", ctx.autofocus)("ngClass", ctx.conditionalclass)("ngStyle", ctx.conditionalstyle)("autocomplete", ctx.autocomplete ? "on" : "off");
2899
- i0__namespace.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.hint);
2953
+ i0__namespace.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.arialabel);
2900
2954
  } }, dependencies: [i1__namespace.NgClass, i1__namespace.NgStyle, i2$1__namespace.DefaultValueAccessor, i2$1__namespace.NgControlStatus, i2$1__namespace.RequiredValidator, i2$1__namespace.MaxLengthValidator, i2$1__namespace.NgModel], encapsulation: 2 }); }
2901
2955
  }
2902
2956
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(InputNumberComponent, [{
@@ -2905,7 +2959,7 @@
2905
2959
  i2.provideAs(InputNumberComponent, i2$1.NG_VALUE_ACCESSOR, true),
2906
2960
  i2.provideAs(InputNumberComponent, i2$1.NG_VALIDATORS, true),
2907
2961
  i2.provideAsWidgetRef(InputNumberComponent)
2908
- ], template: "<input class=\"form-control app-textbox\"\n [ngClass]=\"{'step-hidden': step === 0}\"\n focus-target\n role=\"textbox\"\n [type]=\"type\"\n [attr.name]=\"name\"\n [(ngModel)]=\"datavalue\"\n [ngModelOptions]=\"ngModelOptions\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [min]=\"minvalue\"\n [max]=\"maxvalue\"\n [step]=\"step\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"hint\"\n [autofocus]=\"autofocus\"\n [ngClass]=\"conditionalclass\"\n [ngStyle]=\"conditionalstyle\"\n (blur)=\"handleBlur($event)\"\n (ngModelChange)=\"handleChange($event)\"\n [autocomplete]=\"autocomplete ? 'on' : 'off'\"\n (keyup.enter)=\"flushViewChanges(input.value)\"\n (keydown.ArrowUp)=\"onArrowPress($event)\"\n (keydown.ArrowDown)=\"onArrowPress($event)\"\n (keypress)=\"validateInputEntry($event)\"\n #input>\n" }]
2962
+ ], template: "<input class=\"form-control app-textbox\"\n [ngClass]=\"{'step-hidden': step === 0}\"\n focus-target\n [type]=\"type\"\n [attr.name]=\"name\"\n [(ngModel)]=\"datavalue\"\n [ngModelOptions]=\"ngModelOptions\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [min]=\"minvalue\"\n [max]=\"maxvalue\"\n [step]=\"step\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"arialabel\"\n [autofocus]=\"autofocus\"\n [ngClass]=\"conditionalclass\"\n [ngStyle]=\"conditionalstyle\"\n (blur)=\"handleBlur($event)\"\n (ngModelChange)=\"handleChange($event)\"\n [autocomplete]=\"autocomplete ? 'on' : 'off'\"\n (keyup.enter)=\"flushViewChanges(input.value)\"\n (keydown.ArrowUp)=\"onArrowPress($event)\"\n (keydown.ArrowDown)=\"onArrowPress($event)\"\n (keypress)=\"validateInputEntry($event)\"\n #input>\n" }]
2909
2963
  }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
2910
2964
  type: i0.Inject,
2911
2965
  args: ['EXPLICIT_CONTEXT']
@@ -2930,6 +2984,7 @@
2930
2984
  ['disabled', i2.PROP_BOOLEAN],
2931
2985
  ['displayformat', i2.PROP_STRING],
2932
2986
  ['hint', i2.PROP_STRING],
2987
+ ['arialabel', i2.PROP_STRING],
2933
2988
  ['maxchars', i2.PROP_NUMBER],
2934
2989
  ['name', i2.PROP_STRING],
2935
2990
  ['placeholder', { value: 'Enter text', ...i2.PROP_STRING }],
@@ -3053,7 +3108,7 @@
3053
3108
  i2.provideAs(InputTextComponent, i2$1.NG_VALUE_ACCESSOR, true),
3054
3109
  i2.provideAs(InputTextComponent, i2$1.NG_VALIDATORS, true),
3055
3110
  i2.provideAsWidgetRef(InputTextComponent)
3056
- ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c1, decls: 2, vars: 19, consts: [["input", ""], ["focus-target", "", "role", "textbox", 1, "form-control", "app-textbox", 3, "ngModelChange", "blur", "focus", "keyup.enter", "type", "ngModel", "imask", "unmask", "ngModelOptions", "readonly", "required", "disabled", "maxlength", "pattern", "autofocus", "ngClass", "ngStyle", "autocomplete"]], template: function InputTextComponent_Template(rf, ctx) { if (rf & 1) {
3111
+ ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c1, decls: 2, vars: 19, consts: [["input", ""], ["focus-target", "", 1, "form-control", "app-textbox", 3, "ngModelChange", "blur", "focus", "keyup.enter", "type", "ngModel", "imask", "unmask", "ngModelOptions", "readonly", "required", "disabled", "maxlength", "pattern", "autofocus", "ngClass", "ngStyle", "autocomplete"]], template: function InputTextComponent_Template(rf, ctx) { if (rf & 1) {
3057
3112
  const _r1 = i0__namespace.ɵɵgetCurrentView();
3058
3113
  i0__namespace.ɵɵelementStart(0, "input", 1, 0);
3059
3114
  i0__namespace.ɵɵtwoWayListener("ngModelChange", function InputTextComponent_Template_input_ngModelChange_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); i0__namespace.ɵɵtwoWayBindingSet(ctx.datavalue, $event) || (ctx.datavalue = $event); return i0__namespace.ɵɵresetView($event); });
@@ -3063,7 +3118,7 @@
3063
3118
  i0__namespace.ɵɵproperty("type", ctx.type);
3064
3119
  i0__namespace.ɵɵtwoWayProperty("ngModel", ctx.datavalue);
3065
3120
  i0__namespace.ɵɵproperty("imask", ctx.mask)("unmask", true)("ngModelOptions", ctx.ngModelOptions)("readonly", ctx.readonly)("required", ctx.required)("disabled", ctx.disabled)("maxlength", ctx.maxchars)("pattern", ctx.regexp)("autofocus", ctx.autofocus)("ngClass", ctx.conditionalclass)("ngStyle", ctx.conditionalstyle)("autocomplete", ctx.autocomplete ? "on" : "off");
3066
- i0__namespace.ɵɵattribute("name", ctx.name)("aria-label", ctx.hint)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey);
3121
+ i0__namespace.ɵɵattribute("name", ctx.name)("aria-label", ctx.arialabel)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey);
3067
3122
  } }, dependencies: [i1__namespace.NgClass, i1__namespace.NgStyle, i2$1__namespace.DefaultValueAccessor, i2$1__namespace.NgControlStatus, i2$1__namespace.RequiredValidator, i2$1__namespace.MaxLengthValidator, i2$1__namespace.PatternValidator, i2$1__namespace.NgModel, i3__namespace.IMaskDirective], encapsulation: 2 }); }
3068
3123
  }
3069
3124
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(InputTextComponent, [{
@@ -3072,7 +3127,7 @@
3072
3127
  i2.provideAs(InputTextComponent, i2$1.NG_VALUE_ACCESSOR, true),
3073
3128
  i2.provideAs(InputTextComponent, i2$1.NG_VALIDATORS, true),
3074
3129
  i2.provideAsWidgetRef(InputTextComponent)
3075
- ], template: "<input class=\"form-control app-textbox\"\n focus-target\n role=\"textbox\"\n [type]=\"type\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"hint\"\n [(ngModel)]=\"datavalue\"\n [imask]=\"mask\"\n [unmask]=\"true\"\n [ngModelOptions]=\"ngModelOptions\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [pattern]=\"regexp\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [autofocus]=\"autofocus\"\n [ngClass]=\"conditionalclass\"\n [ngStyle]=\"conditionalstyle\"\n (ngModelChange)=\"handleChange($event)\"\n (blur)=\"handleBlur($event); checkForDisplayFormat($event)\"\n (focus)=\"checkForDisplayFormat($event)\"\n [autocomplete]=\"autocomplete ? 'on' : 'off'\"\n (keyup.enter)=\"flushViewChanges(input.value)\"\n #input>\n" }]
3130
+ ], template: "<input class=\"form-control app-textbox\"\n focus-target\n [type]=\"type\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel\"\n [(ngModel)]=\"datavalue\"\n [imask]=\"mask\"\n [unmask]=\"true\"\n [ngModelOptions]=\"ngModelOptions\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [pattern]=\"regexp\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [autofocus]=\"autofocus\"\n [ngClass]=\"conditionalclass\"\n [ngStyle]=\"conditionalstyle\"\n (ngModelChange)=\"handleChange($event)\"\n (blur)=\"handleBlur($event); checkForDisplayFormat($event)\"\n (focus)=\"checkForDisplayFormat($event)\"\n [autocomplete]=\"autocomplete ? 'on' : 'off'\"\n (keyup.enter)=\"flushViewChanges(input.value)\"\n #input>\n" }]
3076
3131
  }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
3077
3132
  type: i0.Inject,
3078
3133
  args: ['EXPLICIT_CONTEXT']
@@ -3098,6 +3153,7 @@
3098
3153
  ['datavalue', i2.PROP_STRING],
3099
3154
  ['disabled', i2.PROP_BOOLEAN],
3100
3155
  ['hint', i2.PROP_STRING],
3156
+ ['arialabel', i2.PROP_STRING],
3101
3157
  ['maxchars', i2.PROP_NUMBER],
3102
3158
  ['name', i2.PROP_STRING],
3103
3159
  ['placeholder', { value: 'Place your text', ...i2.PROP_STRING }],
@@ -3140,6 +3196,9 @@
3140
3196
  onInputChange() {
3141
3197
  this.charlength = this.inputEl.nativeElement.value.length;
3142
3198
  }
3199
+ ngAfterViewChecked() {
3200
+ this.charlength = this.inputEl.nativeElement.value.length;
3201
+ }
3143
3202
  static { this.ɵfac = function TextareaComponent_Factory(t) { return new (t || TextareaComponent)(i0__namespace.ɵɵdirectiveInject(i0__namespace.Injector), i0__namespace.ɵɵdirectiveInject('EXPLICIT_CONTEXT', 8)); }; }
3144
3203
  static { this.ɵcmp = /*@__PURE__*/ i0__namespace.ɵɵdefineComponent({ type: TextareaComponent, selectors: [["wm-textarea"]], viewQuery: function TextareaComponent_Query(rf, ctx) { if (rf & 1) {
3145
3204
  i0__namespace.ɵɵviewQuery(_c0, 7);
@@ -3152,7 +3211,7 @@
3152
3211
  i2.provideAs(TextareaComponent, i2$1.NG_VALUE_ACCESSOR, true),
3153
3212
  i2.provideAs(TextareaComponent, i2$1.NG_VALIDATORS, true),
3154
3213
  i2.provideAsWidgetRef(TextareaComponent)
3155
- ]), i0__namespace.ɵɵInheritDefinitionFeature], decls: 3, vars: 15, consts: [["textarea", ""], ["focus-target", "", "role", "textbox", "aria-multiline", "true", 1, "form-control", "app-textarea", 3, "ngModelChange", "blur", "input", "ngModel", "ngModelOptions", "readonly", "required", "disabled", "maxlength", "autofocus", "ngClass", "ngStyle"], ["class", "textarea-count", 4, "ngIf"], [1, "textarea-count"]], template: function TextareaComponent_Template(rf, ctx) { if (rf & 1) {
3214
+ ]), i0__namespace.ɵɵInheritDefinitionFeature], decls: 3, vars: 15, consts: [["textarea", ""], ["focus-target", "", "aria-multiline", "true", 1, "form-control", "app-textarea", 3, "ngModelChange", "blur", "input", "ngModel", "ngModelOptions", "readonly", "required", "disabled", "maxlength", "autofocus", "ngClass", "ngStyle"], ["class", "textarea-count", 4, "ngIf"], [1, "textarea-count"]], template: function TextareaComponent_Template(rf, ctx) { if (rf & 1) {
3156
3215
  const _r1 = i0__namespace.ɵɵgetCurrentView();
3157
3216
  i0__namespace.ɵɵelementStart(0, "textarea", 1, 0);
3158
3217
  i0__namespace.ɵɵtwoWayListener("ngModelChange", function TextareaComponent_Template_textarea_ngModelChange_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); i0__namespace.ɵɵtwoWayBindingSet(ctx.datavalue, $event) || (ctx.datavalue = $event); return i0__namespace.ɵɵresetView($event); });
@@ -3162,7 +3221,7 @@
3162
3221
  } if (rf & 2) {
3163
3222
  i0__namespace.ɵɵtwoWayProperty("ngModel", ctx.datavalue);
3164
3223
  i0__namespace.ɵɵproperty("ngModelOptions", ctx.ngModelOptions)("readonly", ctx.readonly)("required", ctx.required)("disabled", ctx.disabled)("maxlength", ctx.maxchars)("autofocus", ctx.autofocus)("ngClass", ctx.conditionalclass)("ngStyle", ctx.conditionalstyle);
3165
- i0__namespace.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.hint);
3224
+ i0__namespace.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.arialabel);
3166
3225
  i0__namespace.ɵɵadvance(2);
3167
3226
  i0__namespace.ɵɵproperty("ngIf", ctx.maxchars);
3168
3227
  } }, dependencies: [i1__namespace.NgClass, i1__namespace.NgIf, i1__namespace.NgStyle, i2$1__namespace.DefaultValueAccessor, i2$1__namespace.NgControlStatus, i2$1__namespace.RequiredValidator, i2$1__namespace.MaxLengthValidator, i2$1__namespace.NgModel], encapsulation: 2 }); }
@@ -3173,7 +3232,7 @@
3173
3232
  i2.provideAs(TextareaComponent, i2$1.NG_VALUE_ACCESSOR, true),
3174
3233
  i2.provideAs(TextareaComponent, i2$1.NG_VALIDATORS, true),
3175
3234
  i2.provideAsWidgetRef(TextareaComponent)
3176
- ], template: "<textarea class=\"form-control app-textarea\"\n focus-target\n role=\"textbox\"\n [attr.name]=\"name\"\n [(ngModel)]=\"datavalue\"\n [ngModelOptions]=\"ngModelOptions\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"hint\"\n aria-multiline=\"true\"\n [autofocus]=\"autofocus\"\n [ngClass]=\"conditionalclass\"\n [ngStyle]=\"conditionalstyle\"\n (blur)=\"handleBlur($event)\"\n (input)=\"onInputChange()\"\n (ngModelChange)=\"handleChange($event); onInputChange();\"\n #textarea\n></textarea>\n\n<div *ngIf=\"maxchars\" class=\"textarea-count\" >{{limitdisplaytext}}</div>\n" }]
3235
+ ], template: "<textarea class=\"form-control app-textarea\"\n focus-target\n [attr.name]=\"name\"\n [(ngModel)]=\"datavalue\"\n [ngModelOptions]=\"ngModelOptions\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"arialabel\"\n aria-multiline=\"true\"\n [autofocus]=\"autofocus\"\n [ngClass]=\"conditionalclass\"\n [ngStyle]=\"conditionalstyle\"\n (blur)=\"handleBlur($event)\"\n (input)=\"onInputChange()\"\n (ngModelChange)=\"handleChange($event); onInputChange();\"\n #textarea\n></textarea>\n\n<div *ngIf=\"maxchars\" class=\"textarea-count\" >{{limitdisplaytext}}</div>\n" }]
3177
3236
  }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
3178
3237
  type: i0.Inject,
3179
3238
  args: ['EXPLICIT_CONTEXT']
@@ -3186,7 +3245,7 @@
3186
3245
  type: i0.ViewChild,
3187
3246
  args: [i2$1.NgModel]
3188
3247
  }] }); })();
3189
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassDebugInfo(TextareaComponent, { className: "TextareaComponent", filePath: "textarea/textarea.component.ts", lineNumber: 22 }); })();
3248
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassDebugInfo(TextareaComponent, { className: "TextareaComponent", filePath: "textarea/textarea.component.ts", lineNumber: 23 }); })();
3190
3249
 
3191
3250
  class CaptionPositionDirective {
3192
3251
  constructor(inj, app) {
@@ -3217,9 +3276,10 @@
3217
3276
  }
3218
3277
  // For select widget, display placeholder only on focus else remove the text of the option selected.
3219
3278
  checkForSelectPlaceholder() {
3220
- if ($(this.nativeEl).find('select option:selected').text() && !$(this.nativeEl).find('select').is(':focus') &&
3279
+ const selectElPlaceholderOption = this.nativeEl.querySelector('#placeholderOption');
3280
+ if (selectElPlaceholderOption && selectElPlaceholderOption.textContent && !$(this.nativeEl).find('select').is(':focus') &&
3221
3281
  !$(this.inputEl.closest('[widget-id]')).attr('datavalue')) {
3222
- $(this.nativeEl).find('select option:selected').text('');
3282
+ selectElPlaceholderOption.textContent = '';
3223
3283
  }
3224
3284
  }
3225
3285
  setDefaultValueAnimation() {
@@ -3321,10 +3381,10 @@
3321
3381
  // before placeholder is removed assign it to the placeholder variable
3322
3382
  // check for placeholder in inputel and selectel
3323
3383
  if (this.inputEl) {
3324
- const selectEl = this.inputEl.find('option:first');
3325
- if (this.inputEl.attr('placeholder') || selectEl.text()) {
3326
- if (selectEl.length) {
3327
- selectEl.text('');
3384
+ const selectElPlaceholderOption = this.nativeEl.querySelector('#placeholderOption');
3385
+ if (this.inputEl.attr('placeholder') || selectElPlaceholderOption) {
3386
+ if (selectElPlaceholderOption) {
3387
+ selectElPlaceholderOption.textContent = '';
3328
3388
  }
3329
3389
  else {
3330
3390
  this.placeholder = this.inputEl.attr('placeholder');