@wavemaker/app-ng-runtime 11.8.4-rc.5781 → 11.8.4-rc.5802

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 (262) hide show
  1. app-ng-runtime/build-task/bundles/index.umd.js +24 -24
  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/rich-text-editor/rich-text-editor.build.mjs +2 -2
  9. app-ng-runtime/build-task/esm2022/device/barcode-scanner/barcode-scanner.build.mjs +2 -2
  10. app-ng-runtime/build-task/esm2022/device/camera/camera.build.mjs +2 -2
  11. app-ng-runtime/build-task/esm2022/dialogs/alert-dialog/alert-dialog.build.mjs +2 -2
  12. app-ng-runtime/build-task/esm2022/input/calendar/calendar.build.mjs +2 -2
  13. app-ng-runtime/build-task/esm2022/input/color-picker/color-picker.build.mjs +3 -3
  14. app-ng-runtime/build-task/esm2022/input/currency/currency.build.mjs +3 -3
  15. app-ng-runtime/build-task/esm2022/input/default/button/button.build.mjs +2 -2
  16. app-ng-runtime/build-task/esm2022/input/default/button-group/button-group.build.mjs +2 -2
  17. app-ng-runtime/build-task/esm2022/input/default/switch/switch.build.mjs +2 -2
  18. app-ng-runtime/build-task/esm2022/input/file-upload/file-upload.build.mjs +2 -2
  19. app-ng-runtime/build-task/esm2022/page/footer/footer.build.mjs +2 -2
  20. app-ng-runtime/build-task/esm2022/page/header/header.build.mjs +2 -2
  21. app-ng-runtime/build-task/esm2022/page/layout.build.mjs +2 -2
  22. app-ng-runtime/build-task/esm2022/page/left-panel/left-panel.build.mjs +2 -2
  23. app-ng-runtime/build-task/esm2022/page/page.build.mjs +2 -2
  24. app-ng-runtime/build-task/esm2022/page/right-panel/right-panel.build.mjs +2 -2
  25. app-ng-runtime/build-task/esm2022/page/top-nav/top-nav.build.mjs +2 -2
  26. app-ng-runtime/build-task/fesm2022/index.mjs +24 -24
  27. app-ng-runtime/build-task/fesm2022/index.mjs.map +1 -1
  28. app-ng-runtime/components/base/bundles/index.umd.js +1 -1
  29. app-ng-runtime/components/base/esm2022/pipes/custom-pipes.mjs +3 -3
  30. app-ng-runtime/components/base/fesm2022/index.mjs +1 -1
  31. app-ng-runtime/components/base/fesm2022/index.mjs.map +1 -1
  32. app-ng-runtime/components/base/pipes/custom-pipes.d.ts +1 -1
  33. app-ng-runtime/components/basic/default/anchor/anchor.component.d.ts +1 -0
  34. app-ng-runtime/components/basic/default/audio/audio.component.d.ts +1 -0
  35. app-ng-runtime/components/basic/default/bundles/index.umd.js +27 -18
  36. app-ng-runtime/components/basic/default/esm2022/anchor/anchor.component.mjs +4 -4
  37. app-ng-runtime/components/basic/default/esm2022/anchor/anchor.props.mjs +2 -1
  38. app-ng-runtime/components/basic/default/esm2022/audio/audio.component.mjs +5 -5
  39. app-ng-runtime/components/basic/default/esm2022/audio/audio.props.mjs +2 -1
  40. app-ng-runtime/components/basic/default/esm2022/html/html.props.mjs +2 -1
  41. app-ng-runtime/components/basic/default/esm2022/icon/icon.component.mjs +6 -7
  42. app-ng-runtime/components/basic/default/esm2022/icon/icon.props.mjs +2 -1
  43. app-ng-runtime/components/basic/default/esm2022/iframe/iframe.component.mjs +3 -3
  44. app-ng-runtime/components/basic/default/esm2022/iframe/iframe.props.mjs +3 -2
  45. app-ng-runtime/components/basic/default/esm2022/label/label.props.mjs +2 -1
  46. app-ng-runtime/components/basic/default/esm2022/picture/picture.props.mjs +2 -1
  47. app-ng-runtime/components/basic/default/esm2022/spinner/spinner.props.mjs +3 -2
  48. app-ng-runtime/components/basic/default/esm2022/video/video.component.mjs +5 -4
  49. app-ng-runtime/components/basic/default/esm2022/video/video.props.mjs +2 -1
  50. app-ng-runtime/components/basic/default/fesm2022/index.mjs +27 -18
  51. app-ng-runtime/components/basic/default/fesm2022/index.mjs.map +1 -1
  52. app-ng-runtime/components/basic/default/icon/icon.component.d.ts +1 -0
  53. app-ng-runtime/components/basic/default/iframe/iframe.component.d.ts +1 -0
  54. app-ng-runtime/components/basic/default/video/video.component.d.ts +1 -0
  55. app-ng-runtime/components/basic/progress/bundles/index.umd.js +8 -6
  56. app-ng-runtime/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +4 -4
  57. app-ng-runtime/components/basic/progress/esm2022/progress-bar/progress-bar.props.mjs +2 -1
  58. app-ng-runtime/components/basic/progress/esm2022/progress-circle/progress-circle.component.mjs +4 -4
  59. app-ng-runtime/components/basic/progress/esm2022/progress-circle/progress-circle.props.mjs +2 -1
  60. app-ng-runtime/components/basic/progress/fesm2022/index.mjs +8 -6
  61. app-ng-runtime/components/basic/progress/fesm2022/index.mjs.map +1 -1
  62. app-ng-runtime/components/basic/progress/progress-bar/progress-bar.component.d.ts +1 -0
  63. app-ng-runtime/components/basic/progress/progress-circle/progress-circle.component.d.ts +1 -0
  64. app-ng-runtime/components/basic/rich-text-editor/bundles/index.umd.js +2 -0
  65. app-ng-runtime/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +2 -1
  66. app-ng-runtime/components/basic/rich-text-editor/esm2022/rich-text-editor.props.mjs +2 -1
  67. app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs +2 -0
  68. app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
  69. app-ng-runtime/components/basic/search/bundles/index.umd.js +11 -9
  70. app-ng-runtime/components/basic/search/esm2022/search.component.mjs +14 -13
  71. app-ng-runtime/components/basic/search/esm2022/search.props.mjs +2 -1
  72. app-ng-runtime/components/basic/search/fesm2022/index.mjs +11 -9
  73. app-ng-runtime/components/basic/search/fesm2022/index.mjs.map +1 -1
  74. app-ng-runtime/components/basic/search/search.component.d.ts +1 -0
  75. app-ng-runtime/components/containers/panel/bundles/index.umd.js +14 -14
  76. app-ng-runtime/components/containers/panel/esm2022/panel.component.mjs +15 -15
  77. app-ng-runtime/components/containers/panel/fesm2022/index.mjs +14 -14
  78. app-ng-runtime/components/containers/panel/fesm2022/index.mjs.map +1 -1
  79. app-ng-runtime/components/containers/tabs/bundles/index.umd.js +2 -2
  80. app-ng-runtime/components/containers/tabs/esm2022/tabs.component.mjs +3 -3
  81. app-ng-runtime/components/containers/tabs/fesm2022/index.mjs +2 -2
  82. app-ng-runtime/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  83. app-ng-runtime/components/data/live-table/bundles/index.umd.js +2 -2
  84. app-ng-runtime/components/data/live-table/esm2022/live-table.component.mjs +3 -3
  85. app-ng-runtime/components/data/live-table/fesm2022/index.mjs +2 -2
  86. app-ng-runtime/components/data/live-table/fesm2022/index.mjs.map +1 -1
  87. app-ng-runtime/components/data/pagination/bundles/index.umd.js +2 -0
  88. app-ng-runtime/components/data/pagination/esm2022/pagination.component.mjs +3 -1
  89. app-ng-runtime/components/data/pagination/fesm2022/index.mjs +2 -0
  90. app-ng-runtime/components/data/pagination/fesm2022/index.mjs.map +1 -1
  91. app-ng-runtime/components/data/table/bundles/index.umd.js +24 -3
  92. app-ng-runtime/components/data/table/esm2022/table.component.mjs +24 -4
  93. app-ng-runtime/components/data/table/esm2022/table.props.mjs +2 -1
  94. app-ng-runtime/components/data/table/fesm2022/index.mjs +25 -4
  95. app-ng-runtime/components/data/table/fesm2022/index.mjs.map +1 -1
  96. app-ng-runtime/components/data/table/table.component.d.ts +5 -0
  97. app-ng-runtime/components/dialogs/alert-dialog/bundles/index.umd.js +6 -4
  98. app-ng-runtime/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +7 -5
  99. app-ng-runtime/components/dialogs/alert-dialog/fesm2022/index.mjs +6 -4
  100. app-ng-runtime/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
  101. app-ng-runtime/components/dialogs/confirm-dialog/bundles/index.umd.js +8 -5
  102. app-ng-runtime/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +9 -6
  103. app-ng-runtime/components/dialogs/confirm-dialog/fesm2022/index.mjs +8 -5
  104. app-ng-runtime/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
  105. app-ng-runtime/components/dialogs/default/bundles/index.umd.js +9 -3
  106. app-ng-runtime/components/dialogs/default/dialog-header/dialog-header.component.d.ts +2 -1
  107. app-ng-runtime/components/dialogs/default/esm2022/base-dialog.mjs +2 -1
  108. app-ng-runtime/components/dialogs/default/esm2022/dialog-header/dialog-header.component.mjs +9 -4
  109. app-ng-runtime/components/dialogs/default/fesm2022/index.mjs +9 -3
  110. app-ng-runtime/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  111. app-ng-runtime/components/dialogs/design-dialog/bundles/index.umd.js +4 -4
  112. app-ng-runtime/components/dialogs/design-dialog/esm2022/dialog.component.mjs +5 -5
  113. app-ng-runtime/components/dialogs/design-dialog/fesm2022/index.mjs +4 -4
  114. app-ng-runtime/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
  115. app-ng-runtime/components/dialogs/iframe-dialog/bundles/index.umd.js +9 -5
  116. app-ng-runtime/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +10 -6
  117. app-ng-runtime/components/dialogs/iframe-dialog/fesm2022/index.mjs +9 -5
  118. app-ng-runtime/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
  119. app-ng-runtime/components/dialogs/partial-dialog/bundles/index.umd.js +9 -5
  120. app-ng-runtime/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +10 -6
  121. app-ng-runtime/components/dialogs/partial-dialog/fesm2022/index.mjs +9 -5
  122. app-ng-runtime/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
  123. app-ng-runtime/components/input/calendar/bundles/index.umd.js +2 -4
  124. app-ng-runtime/components/input/calendar/esm2022/calendar.component.mjs +3 -5
  125. app-ng-runtime/components/input/calendar/fesm2022/index.mjs +2 -4
  126. app-ng-runtime/components/input/calendar/fesm2022/index.mjs.map +1 -1
  127. app-ng-runtime/components/input/chips/bundles/index.umd.js +3 -2
  128. app-ng-runtime/components/input/chips/esm2022/chips.component.mjs +3 -3
  129. app-ng-runtime/components/input/chips/esm2022/chips.props.mjs +2 -1
  130. app-ng-runtime/components/input/chips/fesm2022/index.mjs +3 -2
  131. app-ng-runtime/components/input/chips/fesm2022/index.mjs.map +1 -1
  132. app-ng-runtime/components/input/color-picker/bundles/index.umd.js +5 -3
  133. app-ng-runtime/components/input/color-picker/color-picker.component.d.ts +1 -0
  134. app-ng-runtime/components/input/color-picker/esm2022/color-picker.component.mjs +6 -5
  135. app-ng-runtime/components/input/color-picker/esm2022/color-picker.props.mjs +2 -1
  136. app-ng-runtime/components/input/color-picker/fesm2022/index.mjs +5 -3
  137. app-ng-runtime/components/input/color-picker/fesm2022/index.mjs.map +1 -1
  138. app-ng-runtime/components/input/currency/bundles/index.umd.js +4 -3
  139. app-ng-runtime/components/input/currency/currency.component.d.ts +1 -0
  140. app-ng-runtime/components/input/currency/esm2022/currency.component.mjs +6 -6
  141. app-ng-runtime/components/input/currency/esm2022/currency.props.mjs +2 -1
  142. app-ng-runtime/components/input/currency/fesm2022/index.mjs +4 -3
  143. app-ng-runtime/components/input/currency/fesm2022/index.mjs.map +1 -1
  144. app-ng-runtime/components/input/default/bundles/index.umd.js +91 -77
  145. app-ng-runtime/components/input/default/button/button.component.d.ts +1 -0
  146. app-ng-runtime/components/input/default/checkbox/checkbox.component.d.ts +1 -0
  147. app-ng-runtime/components/input/default/esm2022/button/button.component.mjs +1 -1
  148. app-ng-runtime/components/input/default/esm2022/button/button.props.mjs +2 -1
  149. app-ng-runtime/components/input/default/esm2022/caption-position.directive.mjs +8 -7
  150. app-ng-runtime/components/input/default/esm2022/checkbox/checkbox.component.mjs +7 -7
  151. app-ng-runtime/components/input/default/esm2022/checkbox/checkbox.props.mjs +2 -1
  152. app-ng-runtime/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +10 -10
  153. app-ng-runtime/components/input/default/esm2022/number/number.component.mjs +6 -6
  154. app-ng-runtime/components/input/default/esm2022/number/number.props.mjs +2 -1
  155. app-ng-runtime/components/input/default/esm2022/radioset/radioset.component.mjs +17 -17
  156. app-ng-runtime/components/input/default/esm2022/select/select.component.mjs +5 -5
  157. app-ng-runtime/components/input/default/esm2022/select/select.props.mjs +2 -1
  158. app-ng-runtime/components/input/default/esm2022/switch/switch.component.mjs +6 -5
  159. app-ng-runtime/components/input/default/esm2022/switch/switch.props.mjs +2 -1
  160. app-ng-runtime/components/input/default/esm2022/text/calendar/input-calendar.component.mjs +5 -5
  161. app-ng-runtime/components/input/default/esm2022/text/calendar/input-calendar.props.mjs +2 -1
  162. app-ng-runtime/components/input/default/esm2022/text/color/input-color.component.mjs +5 -5
  163. app-ng-runtime/components/input/default/esm2022/text/color/input-color.props.mjs +2 -1
  164. app-ng-runtime/components/input/default/esm2022/text/email/input-email.component.mjs +5 -5
  165. app-ng-runtime/components/input/default/esm2022/text/email/input-email.props.mjs +2 -1
  166. app-ng-runtime/components/input/default/esm2022/text/locale/number-locale.mjs +13 -12
  167. app-ng-runtime/components/input/default/esm2022/text/number/input-number.component.mjs +5 -5
  168. app-ng-runtime/components/input/default/esm2022/text/number/input-number.props.mjs +2 -1
  169. app-ng-runtime/components/input/default/esm2022/text/text/input-text.component.mjs +5 -5
  170. app-ng-runtime/components/input/default/esm2022/text/text/input-text.props.mjs +2 -1
  171. app-ng-runtime/components/input/default/esm2022/textarea/textarea.component.mjs +6 -6
  172. app-ng-runtime/components/input/default/esm2022/textarea/textarea.props.mjs +2 -1
  173. app-ng-runtime/components/input/default/fesm2022/index.mjs +91 -77
  174. app-ng-runtime/components/input/default/fesm2022/index.mjs.map +1 -1
  175. app-ng-runtime/components/input/default/number/number.component.d.ts +1 -0
  176. app-ng-runtime/components/input/default/select/select.component.d.ts +2 -0
  177. app-ng-runtime/components/input/default/text/calendar/input-calendar.component.d.ts +1 -0
  178. app-ng-runtime/components/input/default/text/color/input-color.component.d.ts +1 -0
  179. app-ng-runtime/components/input/default/text/email/input-email.component.d.ts +1 -0
  180. app-ng-runtime/components/input/default/text/number/input-number.component.d.ts +1 -0
  181. app-ng-runtime/components/input/default/text/text/input-text.component.d.ts +1 -0
  182. app-ng-runtime/components/input/default/textarea/textarea.component.d.ts +1 -0
  183. app-ng-runtime/components/input/epoch/bundles/index.umd.js +12 -9
  184. app-ng-runtime/components/input/epoch/date/date.component.d.ts +1 -0
  185. app-ng-runtime/components/input/epoch/date-time/date-time.component.d.ts +2 -1
  186. app-ng-runtime/components/input/epoch/esm2022/date/date.component.mjs +6 -6
  187. app-ng-runtime/components/input/epoch/esm2022/date/date.props.mjs +2 -1
  188. app-ng-runtime/components/input/epoch/esm2022/date-time/date-time.component.mjs +7 -7
  189. app-ng-runtime/components/input/epoch/esm2022/date-time/date-time.props.mjs +2 -1
  190. app-ng-runtime/components/input/epoch/esm2022/time/time.component.mjs +7 -7
  191. app-ng-runtime/components/input/epoch/esm2022/time/time.props.mjs +2 -1
  192. app-ng-runtime/components/input/epoch/fesm2022/index.mjs +12 -9
  193. app-ng-runtime/components/input/epoch/fesm2022/index.mjs.map +1 -1
  194. app-ng-runtime/components/input/epoch/time/time.component.d.ts +1 -0
  195. app-ng-runtime/components/input/file-upload/bundles/index.umd.js +132 -98
  196. app-ng-runtime/components/input/file-upload/esm2022/file-upload.component.mjs +128 -99
  197. app-ng-runtime/components/input/file-upload/esm2022/file-upload.props.mjs +6 -1
  198. app-ng-runtime/components/input/file-upload/fesm2022/index.mjs +132 -98
  199. app-ng-runtime/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  200. app-ng-runtime/components/input/file-upload/file-upload.component.d.ts +4 -7
  201. app-ng-runtime/components/input/slider/bundles/index.umd.js +5 -6
  202. app-ng-runtime/components/input/slider/esm2022/slider.component.mjs +6 -8
  203. app-ng-runtime/components/input/slider/esm2022/slider.props.mjs +2 -1
  204. app-ng-runtime/components/input/slider/fesm2022/index.mjs +5 -6
  205. app-ng-runtime/components/input/slider/fesm2022/index.mjs.map +1 -1
  206. app-ng-runtime/components/input/slider/slider.component.d.ts +1 -0
  207. app-ng-runtime/components/navigation/menu/bundles/index.umd.js +4 -3
  208. app-ng-runtime/components/navigation/menu/esm2022/menu.component.mjs +4 -4
  209. app-ng-runtime/components/navigation/menu/esm2022/menu.props.mjs +2 -1
  210. app-ng-runtime/components/navigation/menu/fesm2022/index.mjs +4 -3
  211. app-ng-runtime/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  212. app-ng-runtime/components/navigation/menu/menu.component.d.ts +1 -0
  213. app-ng-runtime/components/navigation/popover/bundles/index.umd.js +4 -3
  214. app-ng-runtime/components/navigation/popover/esm2022/popover.component.mjs +4 -4
  215. app-ng-runtime/components/navigation/popover/esm2022/popover.props.mjs +2 -1
  216. app-ng-runtime/components/navigation/popover/fesm2022/index.mjs +4 -3
  217. app-ng-runtime/components/navigation/popover/fesm2022/index.mjs.map +1 -1
  218. app-ng-runtime/components/navigation/popover/popover.component.d.ts +1 -0
  219. app-ng-runtime/components/page/default/bundles/index.umd.js +2 -1
  220. app-ng-runtime/components/page/default/esm2022/page.props.mjs +4 -3
  221. app-ng-runtime/components/page/default/fesm2022/index.mjs +2 -1
  222. app-ng-runtime/components/page/default/fesm2022/index.mjs.map +1 -1
  223. app-ng-runtime/components/page/footer/bundles/index.umd.js +2 -1
  224. app-ng-runtime/components/page/footer/esm2022/footer.props.mjs +3 -2
  225. app-ng-runtime/components/page/footer/fesm2022/index.mjs +2 -1
  226. app-ng-runtime/components/page/footer/fesm2022/index.mjs.map +1 -1
  227. app-ng-runtime/components/page/header/bundles/index.umd.js +2 -1
  228. app-ng-runtime/components/page/header/esm2022/header.props.mjs +3 -2
  229. app-ng-runtime/components/page/header/fesm2022/index.mjs +2 -1
  230. app-ng-runtime/components/page/header/fesm2022/index.mjs.map +1 -1
  231. app-ng-runtime/components/page/left-panel/bundles/index.umd.js +2 -1
  232. app-ng-runtime/components/page/left-panel/esm2022/left-panel.props.mjs +3 -2
  233. app-ng-runtime/components/page/left-panel/fesm2022/index.mjs +2 -1
  234. app-ng-runtime/components/page/left-panel/fesm2022/index.mjs.map +1 -1
  235. app-ng-runtime/components/page/right-panel/bundles/index.umd.js +2 -1
  236. app-ng-runtime/components/page/right-panel/esm2022/right-panel.props.mjs +3 -2
  237. app-ng-runtime/components/page/right-panel/fesm2022/index.mjs +2 -1
  238. app-ng-runtime/components/page/right-panel/fesm2022/index.mjs.map +1 -1
  239. app-ng-runtime/components/page/top-nav/bundles/index.umd.js +2 -1
  240. app-ng-runtime/components/page/top-nav/esm2022/top-nav.props.mjs +3 -2
  241. app-ng-runtime/components/page/top-nav/fesm2022/index.mjs +2 -1
  242. app-ng-runtime/components/page/top-nav/fesm2022/index.mjs.map +1 -1
  243. app-ng-runtime/core/bundles/index.umd.js +6 -6
  244. app-ng-runtime/core/esm2022/utils/build-utils.mjs +2 -2
  245. app-ng-runtime/core/esm2022/utils/utils.mjs +2 -3
  246. app-ng-runtime/core/fesm2022/index.mjs +2 -3
  247. app-ng-runtime/core/fesm2022/index.mjs.map +1 -1
  248. app-ng-runtime/core/utils/utils.d.ts +0 -1
  249. app-ng-runtime/mobile/components/device/barcode-scanner/bundles/index.umd.js +2 -1
  250. app-ng-runtime/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.props.mjs +3 -2
  251. app-ng-runtime/mobile/components/device/barcode-scanner/fesm2022/index.mjs +2 -1
  252. app-ng-runtime/mobile/components/device/barcode-scanner/fesm2022/index.mjs.map +1 -1
  253. app-ng-runtime/mobile/components/device/camera/bundles/index.umd.js +2 -1
  254. app-ng-runtime/mobile/components/device/camera/esm2022/camera.props.mjs +3 -2
  255. app-ng-runtime/mobile/components/device/camera/fesm2022/index.mjs +2 -1
  256. app-ng-runtime/mobile/components/device/camera/fesm2022/index.mjs.map +1 -1
  257. app-ng-runtime/package.json +1 -1
  258. app-ng-runtime/runtime/base/bundles/index.umd.js +2 -1
  259. app-ng-runtime/runtime/base/components/app-component/app.component.d.ts +2 -3
  260. app-ng-runtime/runtime/base/esm2022/components/app-component/app.component.mjs +5 -5
  261. app-ng-runtime/runtime/base/fesm2022/index.mjs +2 -1
  262. app-ng-runtime/runtime/base/fesm2022/index.mjs.map +1 -1
@@ -24,6 +24,7 @@ const registerProps$e = () => {
24
24
  ['conditionalstyle', PROP_ANY],
25
25
  ['disabled', PROP_BOOLEAN],
26
26
  ['hint', PROP_STRING],
27
+ ['arialabel', PROP_STRING],
27
28
  ['iconclass', PROP_STRING],
28
29
  ['iconheight', PROP_STRING],
29
30
  ['iconmargin', PROP_STRING],
@@ -369,6 +370,7 @@ const checkboxProps = new Map([
369
370
  ['datavalue', PROP_STRING],
370
371
  ['disabled', PROP_BOOLEAN],
371
372
  ['hint', PROP_STRING],
373
+ ['arialabel', PROP_STRING],
372
374
  ['name', PROP_STRING],
373
375
  ['readonly', PROP_BOOLEAN],
374
376
  ['required', PROP_BOOLEAN],
@@ -496,7 +498,7 @@ class CheckboxComponent extends BaseFormCustomComponent {
496
498
  provideAs(CheckboxComponent, NG_VALUE_ACCESSOR, true),
497
499
  provideAs(CheckboxComponent, NG_VALIDATORS, true),
498
500
  provideAsWidgetRef(CheckboxComponent)
499
- ]), i0.ɵɵ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) {
501
+ ]), i0.ɵɵ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) {
500
502
  const _r1 = i0.ɵɵgetCurrentView();
501
503
  i0.ɵɵelementStart(0, "label", 1)(1, "input", 2, 0);
502
504
  i0.ɵɵtwoWayListener("ngModelChange", function CheckboxComponent_Template_input_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.proxyModel, $event) || (ctx.proxyModel = $event); return i0.ɵɵresetView($event); });
@@ -506,11 +508,11 @@ class CheckboxComponent extends BaseFormCustomComponent {
506
508
  i0.ɵɵelementEnd();
507
509
  i0.ɵɵelement(5, "input", 5);
508
510
  } if (rf & 2) {
509
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction3(14, _c2$7, !ctx.proxyModel, ctx.disabled || ctx.readonly, ctx.required && ctx._caption));
511
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction3(13, _c2$7, !ctx.proxyModel, ctx.disabled || ctx.readonly, ctx.required && ctx._caption));
510
512
  i0.ɵɵadvance();
511
513
  i0.ɵɵtwoWayProperty("ngModel", ctx.proxyModel);
512
- i0.ɵɵproperty("ngModelOptions", i0.ɵɵpureFunction0(18, _c3$2))("readonly", ctx.readonly)("required", ctx.required)("disabled", ctx.disabled || ctx.readonly)("tabindex", ctx.tabindex);
513
- i0.ɵɵattribute("name", ctx.name)("aria-label", ctx.hint)("aria-checked", !!ctx.proxyModel)("accesskey", ctx.shortcutkey);
514
+ i0.ɵɵproperty("ngModelOptions", i0.ɵɵpureFunction0(17, _c3$2))("readonly", ctx.readonly)("required", ctx.required)("disabled", ctx.disabled || ctx.readonly)("tabindex", ctx.tabindex);
515
+ i0.ɵɵattribute("name", ctx.name)("aria-label", ctx.arialabel)("accesskey", ctx.shortcutkey);
514
516
  i0.ɵɵadvance(2);
515
517
  i0.ɵɵproperty("innerHtml", ctx._caption, i0.ɵɵsanitizeHtml);
516
518
  i0.ɵɵadvance(2);
@@ -523,7 +525,7 @@ class CheckboxComponent extends BaseFormCustomComponent {
523
525
  provideAs(CheckboxComponent, NG_VALUE_ACCESSOR, true),
524
526
  provideAs(CheckboxComponent, NG_VALIDATORS, true),
525
527
  provideAsWidgetRef(CheckboxComponent)
526
- ], 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" }]
528
+ ], 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" }]
527
529
  }], () => [{ type: i0.Injector }, { type: undefined, decorators: [{
528
530
  type: Attribute,
529
531
  args: ['checkedvalue']
@@ -895,10 +897,10 @@ function CheckboxsetComponent_ng_template_0_li_0_label_1_Template(rf, ctx) { if
895
897
  const item_r2 = ctx_r3.$implicit;
896
898
  const i_r5 = ctx_r3.index;
897
899
  const ctx_r2 = i0.ɵɵnextContext(2);
898
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(12, _c2$6, ctx_r2.disabled || ctx_r2.readonly))("title", item_r2.label);
900
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c2$6, ctx_r2.disabled || ctx_r2.readonly))("title", item_r2.label);
899
901
  i0.ɵɵadvance();
900
902
  i0.ɵɵ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);
901
- i0.ɵɵattribute("aria-label", item_r2.key)("aria-checked", item_r2.selected)("data-attr-index", i_r5);
903
+ i0.ɵɵattribute("data-attr-index", i_r5);
902
904
  i0.ɵɵadvance();
903
905
  i0.ɵɵproperty("textContent", item_r2.label);
904
906
  } }
@@ -911,16 +913,16 @@ function CheckboxsetComponent_ng_template_0_li_0_label_2_Template(rf, ctx) { if
911
913
  const item_r2 = ctx_r3.$implicit;
912
914
  const i_r5 = ctx_r3.index;
913
915
  const ctx_r2 = i0.ɵɵnextContext(2);
914
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c2$6, ctx_r2.disabled || ctx_r2.readonly));
916
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c2$6, ctx_r2.disabled || ctx_r2.readonly));
915
917
  i0.ɵɵadvance();
916
918
  i0.ɵɵ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);
917
- i0.ɵɵattribute("aria-label", item_r2.key)("aria-checked", item_r2.selected)("data-attr-index", i_r5);
919
+ i0.ɵɵattribute("data-attr-index", i_r5);
918
920
  } }
919
921
  function CheckboxsetComponent_ng_template_0_li_0_Template(rf, ctx) { if (rf & 1) {
920
922
  const _r1 = i0.ɵɵgetCurrentView();
921
923
  i0.ɵɵelementStart(0, "li", 5);
922
924
  i0.ɵɵlistener("click", function CheckboxsetComponent_ng_template_0_li_0_Template_li_click_0_listener($event) { const item_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onCheckboxLabelClick($event, item_r2.key)); });
923
- i0.ɵɵ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);
925
+ i0.ɵɵ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);
924
926
  i0.ɵɵelementEnd();
925
927
  } if (rf & 2) {
926
928
  const item_r2 = ctx.$implicit;
@@ -955,7 +957,7 @@ function CheckboxsetComponent_ng_template_3_li_0_span_7_Template(rf, ctx) { if (
955
957
  } }
956
958
  function CheckboxsetComponent_ng_template_3_li_0_li_8_label_1_Template(rf, ctx) { if (rf & 1) {
957
959
  i0.ɵɵelementStart(0, "label", 8);
958
- i0.ɵɵelement(1, "input", 26)(2, "span", 10);
960
+ i0.ɵɵelement(1, "input", 9)(2, "span", 10);
959
961
  i0.ɵɵelementEnd();
960
962
  } if (rf & 2) {
961
963
  const ctx_r9 = i0.ɵɵnextContext();
@@ -971,7 +973,7 @@ function CheckboxsetComponent_ng_template_3_li_0_li_8_label_1_Template(rf, ctx)
971
973
  } }
972
974
  function CheckboxsetComponent_ng_template_3_li_0_li_8_label_2_Template(rf, ctx) { if (rf & 1) {
973
975
  i0.ɵɵelementStart(0, "label", 11);
974
- i0.ɵɵelement(1, "input", 26)(2, "span", 27);
976
+ i0.ɵɵelement(1, "input", 9)(2, "span", 26);
975
977
  i0.ɵɵelementEnd();
976
978
  } if (rf & 2) {
977
979
  const ctx_r9 = i0.ɵɵnextContext();
@@ -1097,7 +1099,7 @@ class CheckboxsetComponent extends DatasetAwareFormComponent {
1097
1099
  provideAs(CheckboxsetComponent, NG_VALUE_ACCESSOR, true),
1098
1100
  provideAs(CheckboxsetComponent, NG_VALIDATORS, true),
1099
1101
  provideAsWidgetRef(CheckboxsetComponent)
1100
- ]), i0.ɵɵ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) {
1102
+ ]), i0.ɵɵ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"], ["partial-container-target", "", 1, "caption"]], template: function CheckboxsetComponent_Template(rf, ctx) { if (rf & 1) {
1101
1103
  i0.ɵɵtemplate(0, CheckboxsetComponent_ng_template_0_Template, 1, 1, "ng-template", 1);
1102
1104
  i0.ɵɵelement(1, "input", 2);
1103
1105
  i0.ɵɵtemplate(2, CheckboxsetComponent_div_2_Template, 1, 0, "div", 3)(3, CheckboxsetComponent_ng_template_3_Template, 1, 1, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
@@ -1116,7 +1118,7 @@ class CheckboxsetComponent extends DatasetAwareFormComponent {
1116
1118
  provideAs(CheckboxsetComponent, NG_VALUE_ACCESSOR, true),
1117
1119
  provideAs(CheckboxsetComponent, NG_VALIDATORS, true),
1118
1120
  provideAsWidgetRef(CheckboxsetComponent)
1119
- ], 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" }]
1121
+ ], 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\" 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\"\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" }]
1120
1122
  }], () => [{ type: i0.Injector }, { type: undefined, decorators: [{
1121
1123
  type: Inject,
1122
1124
  args: ['EXPLICIT_CONTEXT']
@@ -1222,6 +1224,7 @@ const numberProps = new Map([
1222
1224
  ['datavalue', PROP_STRING],
1223
1225
  ['disabled', PROP_BOOLEAN],
1224
1226
  ['hint', PROP_STRING],
1227
+ ['arialabel', PROP_STRING],
1225
1228
  ['localefilter', PROP_STRING],
1226
1229
  ['minvalue', PROP_NUMBER],
1227
1230
  ['maxvalue', PROP_NUMBER],
@@ -1365,18 +1368,20 @@ let NumberLocale = class NumberLocale extends BaseInput {
1365
1368
  if (this.isDefaultQuery) {
1366
1369
  const isLocalizedNumber = isString(value) && includes(value, this.DECIMAL);
1367
1370
  const parts = isLocalizedNumber ? value.split(this.DECIMAL) : isString(value) && value.split('.');
1368
- if (this.inputmode === INPUTMODE.NATURAL && !isNaN(this.decimalplaces)) {
1369
- if (this.decimalplaces === 0) {
1371
+ let decimalPlacesAttrVal = this.getAttr('decimalplaces');
1372
+ const decimalplaces = decimalPlacesAttrVal !== '' && decimalPlacesAttrVal !== undefined ? Number(decimalPlacesAttrVal) : NaN;
1373
+ if (this.inputmode === INPUTMODE.NATURAL && !isNaN(decimalplaces)) {
1374
+ if (decimalplaces === 0) {
1370
1375
  this.decimalValue = '';
1371
- value = isLocalizedNumber ? parts[0] : this.transformNumber(value);
1376
+ value = isLocalizedNumber ? parts[0] : this.transformNumber(parts[0]);
1372
1377
  }
1373
- if (this.decimalplaces > 0) {
1374
- this.decimalValue = parts[1] && parts[1].substring(0, this.decimalplaces) || '';
1378
+ if (decimalplaces > 0) {
1379
+ this.decimalValue = parts[1] && parts[1].substring(0, decimalplaces) || '';
1375
1380
  if (isLocalizedNumber) {
1376
1381
  value = this.decimalValue.length ? `${parts[0]}${this.DECIMAL}${this.decimalValue}` : parts[0];
1377
1382
  }
1378
1383
  else {
1379
- value = Number.parseFloat(String(value)).toFixed(this.decimalplaces);
1384
+ value = Number.parseFloat(String(value)).toFixed(decimalplaces);
1380
1385
  }
1381
1386
  }
1382
1387
  }
@@ -1633,11 +1638,10 @@ let NumberLocale = class NumberLocale extends BaseInput {
1633
1638
  * @returns {number}
1634
1639
  */
1635
1640
  countDecimals(value) {
1636
- if ((value % 1) !== 0) {
1637
- const decimalValue = value.toString().split('.')[1];
1638
- return decimalValue && decimalValue.length;
1639
- }
1640
- return 0;
1641
+ const valueStr = value.toString();
1642
+ const isLocalizedNumber = includes(valueStr, this.DECIMAL);
1643
+ const parts = isLocalizedNumber ? valueStr.split(this.DECIMAL) : valueStr.split('.');
1644
+ return parts[1] ? parts[1].length : 0;
1641
1645
  }
1642
1646
  /**
1643
1647
  * handles the arrow press event. Increases or decreases the number. triggered fom the template
@@ -1834,15 +1838,15 @@ class NumberComponent extends NumberLocale {
1834
1838
  provideAs(NumberComponent, NG_VALUE_ACCESSOR, true),
1835
1839
  provideAs(NumberComponent, NG_VALIDATORS, true),
1836
1840
  provideAsWidgetRef(NumberComponent)
1837
- ]), i0.ɵɵ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) {
1841
+ ]), i0.ɵɵInheritDefinitionFeature], attrs: _c1$8, decls: 2, vars: 14, consts: [["input", ""], ["inputmode", "decimal", "focus-target", "", "type", "number", 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) {
1838
1842
  const _r1 = i0.ɵɵgetCurrentView();
1839
1843
  i0.ɵɵelementStart(0, "input", 1, 0);
1840
1844
  i0.ɵɵlistener("ngModelChange", function NumberComponent_Template_input_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onModelChange($event)); })("blur", function NumberComponent_Template_input_blur_0_listener($event) { i0.ɵɵrestoreView(_r1); ctx.handleBlur($event); return i0.ɵɵresetView(ctx.checkForTrailingZeros($event)); })("focus", function NumberComponent_Template_input_focus_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.checkForTrailingZeros($event)); })("input", function NumberComponent_Template_input_input_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onInputChange($event.target.value)); })("keypress", function NumberComponent_Template_input_keypress_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.validateInputEntry($event)); })("keydown.backspace", function NumberComponent_Template_input_keydown_backspace_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onBackspace($event)); })("keydown.enter", function NumberComponent_Template_input_keydown_enter_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onEnter($event)); })("keydown.ArrowUp", function NumberComponent_Template_input_keydown_ArrowUp_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onArrowPress($event, "UP")); })("keydown.ArrowDown", function NumberComponent_Template_input_keydown_ArrowDown_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onArrowPress($event, "DOWN")); });
1841
1845
  i0.ɵɵelementEnd();
1842
1846
  } if (rf & 2) {
1843
1847
  i0.ɵɵ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);
1844
- i0.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.hint);
1845
- } }, dependencies: [i1.NgClass, i1.NgStyle, i2$1.DefaultValueAccessor, i2$1.NgControlStatus, i2$1.RequiredValidator, i2$1.PatternValidator, i2$1.NgModel], encapsulation: 2 }); }
1848
+ i0.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.arialabel);
1849
+ } }, dependencies: [i1.NgClass, i1.NgStyle, i2$1.DefaultValueAccessor, i2$1.NumberValueAccessor, i2$1.NgControlStatus, i2$1.RequiredValidator, i2$1.PatternValidator, i2$1.NgModel], encapsulation: 2 }); }
1846
1850
  }
1847
1851
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NumberComponent, [{
1848
1852
  type: Component,
@@ -1850,7 +1854,7 @@ class NumberComponent extends NumberLocale {
1850
1854
  provideAs(NumberComponent, NG_VALUE_ACCESSOR, true),
1851
1855
  provideAs(NumberComponent, NG_VALIDATORS, true),
1852
1856
  provideAsWidgetRef(NumberComponent)
1853
- ], 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" }]
1857
+ ], template: "<input class=\"form-control app-textbox app-number-input\"\n inputmode=\"decimal\"\n focus-target\n [attr.name]=\"name\"\n type=\"number\"\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" }]
1854
1858
  }], () => [{ type: i0.Injector }, { type: i1$1.AbstractI18nService }, { type: i2.TrailingZeroDecimalPipe }, { type: undefined, decorators: [{
1855
1859
  type: Inject,
1856
1860
  args: ['EXPLICIT_CONTEXT']
@@ -1912,10 +1916,10 @@ function RadiosetComponent_ng_template_0_li_0_label_1_Template(rf, ctx) { if (rf
1912
1916
  const item_r2 = ctx_r3.$implicit;
1913
1917
  const i_r5 = ctx_r3.index;
1914
1918
  const ctx_r2 = i0.ɵɵnextContext(2);
1915
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
1919
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
1916
1920
  i0.ɵɵadvance();
1917
- i0.ɵɵproperty("name", "radioset_" + ctx_r2.widgetId)("value", item_r2.key)("disabled", ctx_r2.disabled || ctx_r2.readonly)("tabindex", ctx_r2.tabindex)("checked", item_r2.selected);
1918
- i0.ɵɵattribute("aria-checked", item_r2.selected)("data-attr-index", i_r5)("aria-label", item_r2.key);
1921
+ i0.ɵɵproperty("checked", item_r2.selected)("disabled", ctx_r2.disabled || ctx_r2.readonly)("name", "radioset_" + ctx_r2.widgetId)("tabindex", ctx_r2.tabindex)("value", item_r2.key);
1922
+ i0.ɵɵattribute("data-attr-index", i_r5);
1919
1923
  i0.ɵɵadvance();
1920
1924
  i0.ɵɵproperty("textContent", item_r2.label);
1921
1925
  } }
@@ -1928,16 +1932,16 @@ function RadiosetComponent_ng_template_0_li_0_label_2_Template(rf, ctx) { if (rf
1928
1932
  const item_r2 = ctx_r3.$implicit;
1929
1933
  const i_r5 = ctx_r3.index;
1930
1934
  const ctx_r2 = i0.ɵɵnextContext(2);
1931
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(9, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
1935
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
1932
1936
  i0.ɵɵadvance();
1933
- i0.ɵɵproperty("name", "radioset_" + ctx_r2.widgetId)("value", item_r2.key)("disabled", ctx_r2.disabled || ctx_r2.readonly)("tabindex", ctx_r2.tabindex)("checked", item_r2.selected);
1934
- i0.ɵɵattribute("aria-checked", item_r2.selected)("data-attr-index", i_r5)("aria-label", item_r2.key);
1937
+ i0.ɵɵproperty("checked", item_r2.selected)("disabled", ctx_r2.disabled || ctx_r2.readonly)("name", "radioset_" + ctx_r2.widgetId)("tabindex", ctx_r2.tabindex)("value", item_r2.key);
1938
+ i0.ɵɵattribute("data-attr-index", i_r5);
1935
1939
  } }
1936
1940
  function RadiosetComponent_ng_template_0_li_0_Template(rf, ctx) { if (rf & 1) {
1937
1941
  const _r1 = i0.ɵɵgetCurrentView();
1938
1942
  i0.ɵɵelementStart(0, "li", 5);
1939
1943
  i0.ɵɵlistener("click", function RadiosetComponent_ng_template_0_li_0_Template_li_click_0_listener($event) { const item_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onRadioLabelClick($event, item_r2.key)); });
1940
- i0.ɵɵtemplate(1, RadiosetComponent_ng_template_0_li_0_label_1_Template, 3, 12, "label", 6)(2, RadiosetComponent_ng_template_0_li_0_label_2_Template, 3, 11, "label", 6);
1944
+ i0.ɵɵtemplate(1, RadiosetComponent_ng_template_0_li_0_label_1_Template, 3, 10, "label", 6)(2, RadiosetComponent_ng_template_0_li_0_label_2_Template, 3, 9, "label", 6);
1941
1945
  i0.ɵɵelementEnd();
1942
1946
  } if (rf & 2) {
1943
1947
  const item_r2 = ctx.$implicit;
@@ -1972,39 +1976,39 @@ function RadiosetComponent_ng_template_3_li_0_span_7_Template(rf, ctx) { if (rf
1972
1976
  } }
1973
1977
  function RadiosetComponent_ng_template_3_li_0_li_8_label_1_Template(rf, ctx) { if (rf & 1) {
1974
1978
  i0.ɵɵelementStart(0, "label", 7);
1975
- i0.ɵɵelement(1, "input", 8)(2, "span", 9);
1979
+ i0.ɵɵelement(1, "input", 24)(2, "span", 9);
1976
1980
  i0.ɵɵelementEnd();
1977
1981
  } if (rf & 2) {
1978
1982
  const ctx_r9 = i0.ɵɵnextContext();
1979
1983
  const item_r9 = ctx_r9.$implicit;
1980
1984
  const i_r11 = ctx_r9.index;
1981
1985
  const ctx_r2 = i0.ɵɵnextContext(3);
1982
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(9, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
1986
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
1983
1987
  i0.ɵɵadvance();
1984
1988
  i0.ɵɵproperty("name", "radioset_" + ctx_r2.widgetId)("value", item_r9.key)("disabled", ctx_r2.disabled || ctx_r2.readonly)("tabindex", ctx_r2.tabindex)("checked", item_r9.selected);
1985
- i0.ɵɵattribute("aria-checked", item_r9.selected)("data-attr-index", i_r11);
1989
+ i0.ɵɵattribute("data-attr-index", i_r11);
1986
1990
  i0.ɵɵadvance();
1987
1991
  i0.ɵɵproperty("textContent", item_r9.label);
1988
1992
  } }
1989
1993
  function RadiosetComponent_ng_template_3_li_0_li_8_label_2_Template(rf, ctx) { if (rf & 1) {
1990
1994
  i0.ɵɵelementStart(0, "label", 7);
1991
- i0.ɵɵelement(1, "input", 8)(2, "span", 10);
1995
+ i0.ɵɵelement(1, "input", 24)(2, "span", 10);
1992
1996
  i0.ɵɵelementEnd();
1993
1997
  } if (rf & 2) {
1994
1998
  const ctx_r9 = i0.ɵɵnextContext();
1995
1999
  const item_r9 = ctx_r9.$implicit;
1996
2000
  const i_r11 = ctx_r9.index;
1997
2001
  const ctx_r2 = i0.ɵɵnextContext(3);
1998
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
2002
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
1999
2003
  i0.ɵɵadvance();
2000
2004
  i0.ɵɵproperty("name", "radioset_" + ctx_r2.widgetId)("value", item_r9.key)("disabled", ctx_r2.disabled || ctx_r2.readonly)("tabindex", ctx_r2.tabindex)("checked", item_r9.selected);
2001
- i0.ɵɵattribute("aria-checked", item_r9.selected)("data-attr-index", i_r11);
2005
+ i0.ɵɵattribute("data-attr-index", i_r11);
2002
2006
  } }
2003
2007
  function RadiosetComponent_ng_template_3_li_0_li_8_Template(rf, ctx) { if (rf & 1) {
2004
2008
  const _r8 = i0.ɵɵgetCurrentView();
2005
2009
  i0.ɵɵelementStart(0, "li", 23);
2006
2010
  i0.ɵɵlistener("click", function RadiosetComponent_ng_template_3_li_0_li_8_Template_li_click_0_listener($event) { const item_r9 = i0.ɵɵrestoreView(_r8).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.onRadioLabelClick($event, item_r9)); });
2007
- i0.ɵɵtemplate(1, RadiosetComponent_ng_template_3_li_0_li_8_label_1_Template, 3, 11, "label", 6)(2, RadiosetComponent_ng_template_3_li_0_li_8_label_2_Template, 3, 10, "label", 6);
2011
+ i0.ɵɵtemplate(1, RadiosetComponent_ng_template_3_li_0_li_8_label_1_Template, 3, 10, "label", 6)(2, RadiosetComponent_ng_template_3_li_0_li_8_label_2_Template, 3, 9, "label", 6);
2008
2012
  i0.ɵɵelementEnd();
2009
2013
  } if (rf & 2) {
2010
2014
  const item_r9 = ctx.$implicit;
@@ -2100,7 +2104,7 @@ class RadiosetComponent extends DatasetAwareFormComponent {
2100
2104
  provideAs(RadiosetComponent, NG_VALUE_ACCESSOR, true),
2101
2105
  provideAs(RadiosetComponent, NG_VALIDATORS, true),
2102
2106
  provideAsWidgetRef(RadiosetComponent)
2103
- ]), i0.ɵɵ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) {
2107
+ ]), i0.ɵɵ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", 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"], ["type", "radio", 3, "name", "value", "disabled", "tabindex", "checked"]], template: function RadiosetComponent_Template(rf, ctx) { if (rf & 1) {
2104
2108
  i0.ɵɵtemplate(0, RadiosetComponent_ng_template_0_Template, 1, 1, "ng-template", 1);
2105
2109
  i0.ɵɵelement(1, "input", 2);
2106
2110
  i0.ɵɵtemplate(2, RadiosetComponent_div_2_Template, 1, 0, "div", 3)(3, RadiosetComponent_ng_template_3_Template, 1, 1, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
@@ -2119,7 +2123,7 @@ class RadiosetComponent extends DatasetAwareFormComponent {
2119
2123
  provideAs(RadiosetComponent, NG_VALUE_ACCESSOR, true),
2120
2124
  provideAs(RadiosetComponent, NG_VALIDATORS, true),
2121
2125
  provideAsWidgetRef(RadiosetComponent)
2122
- ], 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" }]
2126
+ ], 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\" 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 [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" }]
2123
2127
  }], () => [{ type: i0.Injector }, { type: undefined, decorators: [{
2124
2128
  type: Inject,
2125
2129
  args: ['EXPLICIT_CONTEXT']
@@ -2143,6 +2147,7 @@ const selectProps = new Map([
2143
2147
  ['displayValue', PROP_STRING],
2144
2148
  ['groupby', PROP_STRING],
2145
2149
  ['hint', PROP_STRING],
2150
+ ['arialabel', PROP_STRING],
2146
2151
  ['match', PROP_STRING],
2147
2152
  ['multiple', { value: false, ...PROP_BOOLEAN }],
2148
2153
  ['name', PROP_STRING],
@@ -2345,7 +2350,7 @@ class SelectComponent extends DatasetAwareFormComponent {
2345
2350
  provideAs(SelectComponent, NG_VALUE_ACCESSOR, true),
2346
2351
  provideAs(SelectComponent, NG_VALIDATORS, true),
2347
2352
  provideAsWidgetRef(SelectComponent)
2348
- ]), i0.ɵɵInheritDefinitionFeature], decls: 5, vars: 18, consts: [["select", ""], ["role", "listbox", "aria-haspopup", "true", "aria-expanded", "false", "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"], ["role", "option", 3, "value", "selected", "textContent", 4, "ngFor", "ngForOf"], ["role", "option", 3, "value", "selected", "textContent"]], template: function SelectComponent_Template(rf, ctx) { if (rf & 1) {
2353
+ ]), i0.ɵɵInheritDefinitionFeature], decls: 5, vars: 18, consts: [["select", ""], ["focus-target", "", 3, "ngModelChange", "change", "mousedown", "blur", "ngClass", "disabled", "required", "tabindex", "ngModel", "ngModelOptions", "multiple", "autofocus"], ["selected", "", "value", "undefined", "id", "placeholderOption", 3, "textContent", "hidden"], [4, "ngIf"], [3, "label", 4, "ngFor", "ngForOf"], [3, "label"], [3, "value", "selected", "textContent", 4, "ngFor", "ngForOf"], [3, "value", "selected", "textContent"]], template: function SelectComponent_Template(rf, ctx) { if (rf & 1) {
2349
2354
  const _r1 = i0.ɵɵgetCurrentView();
2350
2355
  i0.ɵɵelementStart(0, "select", 1, 0);
2351
2356
  i0.ɵɵtwoWayListener("ngModelChange", function SelectComponent_Template_select_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.modelByKey, $event) || (ctx.modelByKey = $event); return i0.ɵɵresetView($event); });
@@ -2357,7 +2362,7 @@ class SelectComponent extends DatasetAwareFormComponent {
2357
2362
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(15, _c1$6, ctx.class))("disabled", ctx.disabled)("required", ctx.required)("tabindex", ctx.tabindex);
2358
2363
  i0.ɵɵtwoWayProperty("ngModel", ctx.modelByKey);
2359
2364
  i0.ɵɵproperty("ngModelOptions", i0.ɵɵpureFunction0(17, _c2$4))("multiple", ctx.multiple)("autofocus", ctx.autofocus);
2360
- i0.ɵɵattribute("name", ctx.name)("aria-label", ctx.hint)("aria-multiselectable", ctx.multiple);
2365
+ i0.ɵɵattribute("accesskey", ctx.shortcutkey)("name", ctx.name)("aria-label", ctx.arialabel);
2361
2366
  i0.ɵɵadvance(2);
2362
2367
  i0.ɵɵproperty("textContent", ctx.placeholder)("hidden", !ctx.placeholder);
2363
2368
  i0.ɵɵadvance();
@@ -2372,7 +2377,7 @@ class SelectComponent extends DatasetAwareFormComponent {
2372
2377
  provideAs(SelectComponent, NG_VALUE_ACCESSOR, true),
2373
2378
  provideAs(SelectComponent, NG_VALIDATORS, true),
2374
2379
  provideAsWidgetRef(SelectComponent)
2375
- ], template: "<!--Updated focus with mousedown event. IOS devices not allow update of option value after opening dropdown-->\n<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 (mousedown)=\"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" }]
2380
+ ], 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" }]
2376
2381
  }], () => [{ type: i0.Injector }, { type: undefined, decorators: [{
2377
2382
  type: Inject,
2378
2383
  args: ['EXPLICIT_CONTEXT']
@@ -2395,6 +2400,7 @@ const switchProps = new Map([
2395
2400
  ['displayexpression', PROP_STRING],
2396
2401
  ['displayfield', PROP_STRING],
2397
2402
  ['hint', PROP_STRING],
2403
+ ['arialabel', PROP_STRING],
2398
2404
  ['iconclass', PROP_STRING],
2399
2405
  ['name', PROP_STRING],
2400
2406
  ['orderby', PROP_STRING],
@@ -2428,7 +2434,8 @@ function SwitchComponent_a_1_Template(rf, ctx) { if (rf & 1) {
2428
2434
  } if (rf & 2) {
2429
2435
  const opt_r3 = ctx.$implicit;
2430
2436
  const ctx_r4 = i0.ɵɵnextContext();
2431
- i0.ɵɵproperty("name", "wm-switch-" + opt_r3.key)("ngClass", i0.ɵɵpureFunction2(4, _c1$5, opt_r3.selected, ctx_r4.disabled));
2437
+ i0.ɵɵproperty("name", "wm-switch-" + opt_r3.key)("ngClass", i0.ɵɵpureFunction2(5, _c1$5, opt_r3.selected, ctx_r4.disabled));
2438
+ i0.ɵɵattribute("aria-pressed", opt_r3.selected ? true : false);
2432
2439
  i0.ɵɵadvance();
2433
2440
  i0.ɵɵproperty("ngIf", opt_r3.dataObject && opt_r3.dataObject[ctx_r4.iconclass]);
2434
2441
  i0.ɵɵadvance();
@@ -2552,9 +2559,9 @@ class SwitchComponent extends DatasetAwareFormComponent {
2552
2559
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SwitchComponent, selectors: [["", "wmSwitch", ""]], exportAs: ["wmSwitch"], features: [i0.ɵɵProvidersFeature([
2553
2560
  provideAs(SwitchComponent, NG_VALUE_ACCESSOR, true),
2554
2561
  provideAsWidgetRef(SwitchComponent)
2555
- ]), i0.ɵɵInheritDefinitionFeature], attrs: _c0$6, decls: 6, vars: 8, consts: [["role", "group", 1, "btn-group", "btn-group-justified"], ["focus-target", "", "href", "javascript:void(0);", "class", "btn btn-default", 3, "name", "ngClass", "click", 4, "ngFor", "ngForOf"], [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);", 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) {
2562
+ ]), i0.ɵɵ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) {
2556
2563
  i0.ɵɵelementStart(0, "div", 0);
2557
- i0.ɵɵtemplate(1, SwitchComponent_a_1_Template, 3, 7, "a", 1);
2564
+ i0.ɵɵtemplate(1, SwitchComponent_a_1_Template, 3, 8, "a", 1);
2558
2565
  i0.ɵɵelementEnd();
2559
2566
  i0.ɵɵelementStart(2, "span", 2);
2560
2567
  i0.ɵɵtemplate(3, SwitchComponent_i_3_Template, 1, 3, "i", 3);
@@ -2579,7 +2586,7 @@ class SwitchComponent extends DatasetAwareFormComponent {
2579
2586
  args: [{ selector: '[wmSwitch]', providers: [
2580
2587
  provideAs(SwitchComponent, NG_VALUE_ACCESSOR, true),
2581
2588
  provideAsWidgetRef(SwitchComponent)
2582
- ], exportAs: 'wmSwitch', template: "<div role=\"group\" 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 [ngClass]=\"{'selected': opt.selected, 'disabled': disabled}\"\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 [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" }]
2589
+ ], 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" }]
2583
2590
  }], () => [{ type: i0.Injector }, { type: undefined, decorators: [{
2584
2591
  type: Inject,
2585
2592
  args: ['EXPLICIT_CONTEXT']
@@ -2597,6 +2604,7 @@ const inputCalendarTypeProps = new Map([
2597
2604
  ['datavalue', PROP_STRING],
2598
2605
  ['disabled', PROP_BOOLEAN],
2599
2606
  ['hint', PROP_STRING],
2607
+ ['arialabel', PROP_STRING],
2600
2608
  ['maxvalue', PROP_NUMBER],
2601
2609
  ['minvalue', PROP_NUMBER],
2602
2610
  ['name', PROP_STRING],
@@ -2640,7 +2648,7 @@ class InputCalendarComponent extends BaseInput {
2640
2648
  provideAs(InputCalendarComponent, NG_VALUE_ACCESSOR, true),
2641
2649
  provideAs(InputCalendarComponent, NG_VALIDATORS, true),
2642
2650
  provideAsWidgetRef(InputCalendarComponent)
2643
- ]), i0.ɵɵ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) {
2651
+ ]), i0.ɵɵ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) {
2644
2652
  const _r1 = i0.ɵɵgetCurrentView();
2645
2653
  i0.ɵɵelementStart(0, "input", 1, 0);
2646
2654
  i0.ɵɵtwoWayListener("ngModelChange", function InputCalendarComponent_Template_input_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.datavalue, $event) || (ctx.datavalue = $event); return i0.ɵɵresetView($event); });
@@ -2650,7 +2658,7 @@ class InputCalendarComponent extends BaseInput {
2650
2658
  i0.ɵɵproperty("type", ctx.type);
2651
2659
  i0.ɵɵtwoWayProperty("ngModel", ctx.datavalue);
2652
2660
  i0.ɵɵproperty("ngModelOptions", i0.ɵɵ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);
2653
- i0.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.hint || ctx.type + " field");
2661
+ i0.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.arialabel || ctx.type + " field");
2654
2662
  } }, dependencies: [i1.NgClass, i1.NgStyle, i2$1.DefaultValueAccessor, i2$1.NgControlStatus, i2$1.RequiredValidator, i2$1.NgModel], encapsulation: 2 }); }
2655
2663
  }
2656
2664
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InputCalendarComponent, [{
@@ -2659,7 +2667,7 @@ class InputCalendarComponent extends BaseInput {
2659
2667
  provideAs(InputCalendarComponent, NG_VALUE_ACCESSOR, true),
2660
2668
  provideAs(InputCalendarComponent, NG_VALIDATORS, true),
2661
2669
  provideAsWidgetRef(InputCalendarComponent)
2662
- ], 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" }]
2670
+ ], 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" }]
2663
2671
  }], () => [{ type: i0.Injector }, { type: undefined, decorators: [{
2664
2672
  type: Inject,
2665
2673
  args: ['EXPLICIT_CONTEXT']
@@ -2683,6 +2691,7 @@ const inputColorTypeProps = new Map([
2683
2691
  ['datavalue', PROP_STRING],
2684
2692
  ['disabled', PROP_BOOLEAN],
2685
2693
  ['hint', PROP_STRING],
2694
+ ['arialabel', PROP_STRING],
2686
2695
  ['name', PROP_STRING],
2687
2696
  ['placeholder', { value: 'Enter text', ...PROP_STRING }],
2688
2697
  ['readonly', PROP_BOOLEAN],
@@ -2723,7 +2732,7 @@ class InputColorComponent extends BaseInput {
2723
2732
  provideAs(InputColorComponent, NG_VALUE_ACCESSOR, true),
2724
2733
  provideAs(InputColorComponent, NG_VALIDATORS, true),
2725
2734
  provideAsWidgetRef(InputColorComponent)
2726
- ]), i0.ɵɵ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) {
2735
+ ]), i0.ɵɵ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) {
2727
2736
  const _r1 = i0.ɵɵgetCurrentView();
2728
2737
  i0.ɵɵelementStart(0, "input", 1, 0);
2729
2738
  i0.ɵɵtwoWayListener("ngModelChange", function InputColorComponent_Template_input_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.datavalue, $event) || (ctx.datavalue = $event); return i0.ɵɵresetView($event); });
@@ -2733,7 +2742,7 @@ class InputColorComponent extends BaseInput {
2733
2742
  i0.ɵɵproperty("type", ctx.type);
2734
2743
  i0.ɵɵtwoWayProperty("ngModel", ctx.datavalue);
2735
2744
  i0.ɵɵproperty("ngModelOptions", i0.ɵɵ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);
2736
- i0.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.hint);
2745
+ i0.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.arialabel);
2737
2746
  } }, dependencies: [i1.NgClass, i1.NgStyle, i2$1.DefaultValueAccessor, i2$1.NgControlStatus, i2$1.RequiredValidator, i2$1.MaxLengthValidator, i2$1.NgModel], encapsulation: 2 }); }
2738
2747
  }
2739
2748
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InputColorComponent, [{
@@ -2742,7 +2751,7 @@ class InputColorComponent extends BaseInput {
2742
2751
  provideAs(InputColorComponent, NG_VALUE_ACCESSOR, true),
2743
2752
  provideAs(InputColorComponent, NG_VALIDATORS, true),
2744
2753
  provideAsWidgetRef(InputColorComponent)
2745
- ], 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" }]
2754
+ ], 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" }]
2746
2755
  }], () => [{ type: i0.Injector }, { type: undefined, decorators: [{
2747
2756
  type: Inject,
2748
2757
  args: ['EXPLICIT_CONTEXT']
@@ -2766,6 +2775,7 @@ const inputEmailTypeProps = new Map([
2766
2775
  ['datavalue', PROP_STRING],
2767
2776
  ['disabled', PROP_BOOLEAN],
2768
2777
  ['hint', PROP_STRING],
2778
+ ['arialabel', PROP_STRING],
2769
2779
  ['maxchars', PROP_NUMBER],
2770
2780
  ['name', PROP_STRING],
2771
2781
  ['placeholder', { value: 'Enter text', ...PROP_STRING }],
@@ -2807,7 +2817,7 @@ class InputEmailComponent extends BaseInput {
2807
2817
  provideAs(InputEmailComponent, NG_VALUE_ACCESSOR, true),
2808
2818
  provideAs(InputEmailComponent, NG_VALIDATORS, true),
2809
2819
  provideAsWidgetRef(InputEmailComponent)
2810
- ]), i0.ɵɵ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) {
2820
+ ]), i0.ɵɵ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) {
2811
2821
  const _r1 = i0.ɵɵgetCurrentView();
2812
2822
  i0.ɵɵelementStart(0, "input", 1, 0);
2813
2823
  i0.ɵɵtwoWayListener("ngModelChange", function InputEmailComponent_Template_input_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.datavalue, $event) || (ctx.datavalue = $event); return i0.ɵɵresetView($event); });
@@ -2817,7 +2827,7 @@ class InputEmailComponent extends BaseInput {
2817
2827
  i0.ɵɵproperty("type", ctx.type);
2818
2828
  i0.ɵɵtwoWayProperty("ngModel", ctx.datavalue);
2819
2829
  i0.ɵɵ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");
2820
- i0.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.hint);
2830
+ i0.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.arialabel);
2821
2831
  } }, dependencies: [i1.NgClass, i1.NgStyle, i2$1.DefaultValueAccessor, i2$1.NgControlStatus, i2$1.RequiredValidator, i2$1.MaxLengthValidator, i2$1.PatternValidator, i2$1.EmailValidator, i2$1.NgModel], encapsulation: 2 }); }
2822
2832
  }
2823
2833
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InputEmailComponent, [{
@@ -2826,7 +2836,7 @@ class InputEmailComponent extends BaseInput {
2826
2836
  provideAs(InputEmailComponent, NG_VALUE_ACCESSOR, true),
2827
2837
  provideAs(InputEmailComponent, NG_VALIDATORS, true),
2828
2838
  provideAsWidgetRef(InputEmailComponent)
2829
- ], 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" }]
2839
+ ], 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" }]
2830
2840
  }], () => [{ type: i0.Injector }, { type: undefined, decorators: [{
2831
2841
  type: Inject,
2832
2842
  args: ['EXPLICIT_CONTEXT']
@@ -2850,6 +2860,7 @@ const inputNumberTypeProps = new Map([
2850
2860
  ['datavalue', PROP_STRING],
2851
2861
  ['disabled', PROP_BOOLEAN],
2852
2862
  ['hint', PROP_STRING],
2863
+ ['arialabel', PROP_STRING],
2853
2864
  ['maxchars', PROP_NUMBER],
2854
2865
  ['maxvalue', PROP_NUMBER],
2855
2866
  ['minvalue', PROP_NUMBER],
@@ -2905,7 +2916,7 @@ class InputNumberComponent extends BaseInput {
2905
2916
  provideAs(InputNumberComponent, NG_VALUE_ACCESSOR, true),
2906
2917
  provideAs(InputNumberComponent, NG_VALIDATORS, true),
2907
2918
  provideAsWidgetRef(InputNumberComponent)
2908
- ]), i0.ɵɵ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) {
2919
+ ]), i0.ɵɵ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) {
2909
2920
  const _r1 = i0.ɵɵgetCurrentView();
2910
2921
  i0.ɵɵelementStart(0, "input", 1, 0);
2911
2922
  i0.ɵɵtwoWayListener("ngModelChange", function InputNumberComponent_Template_input_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.datavalue, $event) || (ctx.datavalue = $event); return i0.ɵɵresetView($event); });
@@ -2915,7 +2926,7 @@ class InputNumberComponent extends BaseInput {
2915
2926
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(20, _c2, ctx.step === 0))("type", ctx.type);
2916
2927
  i0.ɵɵtwoWayProperty("ngModel", ctx.datavalue);
2917
2928
  i0.ɵɵ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");
2918
- i0.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.hint);
2929
+ i0.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.arialabel);
2919
2930
  } }, dependencies: [i1.NgClass, i1.NgStyle, i2$1.DefaultValueAccessor, i2$1.NgControlStatus, i2$1.RequiredValidator, i2$1.MaxLengthValidator, i2$1.NgModel], encapsulation: 2 }); }
2920
2931
  }
2921
2932
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InputNumberComponent, [{
@@ -2924,7 +2935,7 @@ class InputNumberComponent extends BaseInput {
2924
2935
  provideAs(InputNumberComponent, NG_VALUE_ACCESSOR, true),
2925
2936
  provideAs(InputNumberComponent, NG_VALIDATORS, true),
2926
2937
  provideAsWidgetRef(InputNumberComponent)
2927
- ], 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" }]
2938
+ ], 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" }]
2928
2939
  }], () => [{ type: i0.Injector }, { type: undefined, decorators: [{
2929
2940
  type: Inject,
2930
2941
  args: ['EXPLICIT_CONTEXT']
@@ -2949,6 +2960,7 @@ const inputTextTypeProps = new Map([
2949
2960
  ['disabled', PROP_BOOLEAN],
2950
2961
  ['displayformat', PROP_STRING],
2951
2962
  ['hint', PROP_STRING],
2963
+ ['arialabel', PROP_STRING],
2952
2964
  ['maxchars', PROP_NUMBER],
2953
2965
  ['name', PROP_STRING],
2954
2966
  ['placeholder', { value: 'Enter text', ...PROP_STRING }],
@@ -3072,7 +3084,7 @@ class InputTextComponent extends BaseInput {
3072
3084
  provideAs(InputTextComponent, NG_VALUE_ACCESSOR, true),
3073
3085
  provideAs(InputTextComponent, NG_VALIDATORS, true),
3074
3086
  provideAsWidgetRef(InputTextComponent)
3075
- ]), i0.ɵɵ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) {
3087
+ ]), i0.ɵɵ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) {
3076
3088
  const _r1 = i0.ɵɵgetCurrentView();
3077
3089
  i0.ɵɵelementStart(0, "input", 1, 0);
3078
3090
  i0.ɵɵtwoWayListener("ngModelChange", function InputTextComponent_Template_input_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.datavalue, $event) || (ctx.datavalue = $event); return i0.ɵɵresetView($event); });
@@ -3082,7 +3094,7 @@ class InputTextComponent extends BaseInput {
3082
3094
  i0.ɵɵproperty("type", ctx.type);
3083
3095
  i0.ɵɵtwoWayProperty("ngModel", ctx.datavalue);
3084
3096
  i0.ɵɵ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");
3085
- i0.ɵɵattribute("name", ctx.name)("aria-label", ctx.hint)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey);
3097
+ i0.ɵɵattribute("name", ctx.name)("aria-label", ctx.arialabel)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey);
3086
3098
  } }, dependencies: [i1.NgClass, i1.NgStyle, i2$1.DefaultValueAccessor, i2$1.NgControlStatus, i2$1.RequiredValidator, i2$1.MaxLengthValidator, i2$1.PatternValidator, i2$1.NgModel, i3.IMaskDirective], encapsulation: 2 }); }
3087
3099
  }
3088
3100
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InputTextComponent, [{
@@ -3091,7 +3103,7 @@ class InputTextComponent extends BaseInput {
3091
3103
  provideAs(InputTextComponent, NG_VALUE_ACCESSOR, true),
3092
3104
  provideAs(InputTextComponent, NG_VALIDATORS, true),
3093
3105
  provideAsWidgetRef(InputTextComponent)
3094
- ], 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" }]
3106
+ ], 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" }]
3095
3107
  }], () => [{ type: i0.Injector }, { type: undefined, decorators: [{
3096
3108
  type: Inject,
3097
3109
  args: ['EXPLICIT_CONTEXT']
@@ -3117,6 +3129,7 @@ const textareaProps = new Map([
3117
3129
  ['datavalue', PROP_STRING],
3118
3130
  ['disabled', PROP_BOOLEAN],
3119
3131
  ['hint', PROP_STRING],
3132
+ ['arialabel', PROP_STRING],
3120
3133
  ['maxchars', PROP_NUMBER],
3121
3134
  ['name', PROP_STRING],
3122
3135
  ['placeholder', { value: 'Place your text', ...PROP_STRING }],
@@ -3174,7 +3187,7 @@ class TextareaComponent extends BaseInput {
3174
3187
  provideAs(TextareaComponent, NG_VALUE_ACCESSOR, true),
3175
3188
  provideAs(TextareaComponent, NG_VALIDATORS, true),
3176
3189
  provideAsWidgetRef(TextareaComponent)
3177
- ]), i0.ɵɵ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) {
3190
+ ]), i0.ɵɵ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) {
3178
3191
  const _r1 = i0.ɵɵgetCurrentView();
3179
3192
  i0.ɵɵelementStart(0, "textarea", 1, 0);
3180
3193
  i0.ɵɵtwoWayListener("ngModelChange", function TextareaComponent_Template_textarea_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.datavalue, $event) || (ctx.datavalue = $event); return i0.ɵɵresetView($event); });
@@ -3184,7 +3197,7 @@ class TextareaComponent extends BaseInput {
3184
3197
  } if (rf & 2) {
3185
3198
  i0.ɵɵtwoWayProperty("ngModel", ctx.datavalue);
3186
3199
  i0.ɵɵ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);
3187
- i0.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.hint);
3200
+ i0.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.arialabel);
3188
3201
  i0.ɵɵadvance(2);
3189
3202
  i0.ɵɵproperty("ngIf", ctx.maxchars);
3190
3203
  } }, dependencies: [i1.NgClass, i1.NgIf, i1.NgStyle, i2$1.DefaultValueAccessor, i2$1.NgControlStatus, i2$1.RequiredValidator, i2$1.MaxLengthValidator, i2$1.NgModel], encapsulation: 2 }); }
@@ -3195,7 +3208,7 @@ class TextareaComponent extends BaseInput {
3195
3208
  provideAs(TextareaComponent, NG_VALUE_ACCESSOR, true),
3196
3209
  provideAs(TextareaComponent, NG_VALIDATORS, true),
3197
3210
  provideAsWidgetRef(TextareaComponent)
3198
- ], 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" }]
3211
+ ], 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" }]
3199
3212
  }], () => [{ type: i0.Injector }, { type: undefined, decorators: [{
3200
3213
  type: Inject,
3201
3214
  args: ['EXPLICIT_CONTEXT']
@@ -3208,7 +3221,7 @@ class TextareaComponent extends BaseInput {
3208
3221
  type: ViewChild,
3209
3222
  args: [NgModel]
3210
3223
  }] }); })();
3211
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TextareaComponent, { className: "TextareaComponent", filePath: "textarea/textarea.component.ts", lineNumber: 22 }); })();
3224
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TextareaComponent, { className: "TextareaComponent", filePath: "textarea/textarea.component.ts", lineNumber: 23 }); })();
3212
3225
 
3213
3226
  class CaptionPositionDirective {
3214
3227
  constructor(inj, app) {
@@ -3239,9 +3252,10 @@ class CaptionPositionDirective {
3239
3252
  }
3240
3253
  // For select widget, display placeholder only on focus else remove the text of the option selected.
3241
3254
  checkForSelectPlaceholder() {
3242
- if ($(this.nativeEl).find('select option:selected').text() && !$(this.nativeEl).find('select').is(':focus') &&
3255
+ const selectElPlaceholderOption = this.nativeEl.querySelector('#placeholderOption');
3256
+ if (selectElPlaceholderOption && selectElPlaceholderOption.textContent && !$(this.nativeEl).find('select').is(':focus') &&
3243
3257
  !$(this.inputEl.closest('[widget-id]')).attr('datavalue')) {
3244
- $(this.nativeEl).find('select option:selected').text('');
3258
+ selectElPlaceholderOption.textContent = '';
3245
3259
  }
3246
3260
  }
3247
3261
  setDefaultValueAnimation() {
@@ -3343,10 +3357,10 @@ class CaptionPositionDirective {
3343
3357
  // before placeholder is removed assign it to the placeholder variable
3344
3358
  // check for placeholder in inputel and selectel
3345
3359
  if (this.inputEl) {
3346
- const selectEl = this.inputEl.find('option:first');
3347
- if (this.inputEl.attr('placeholder') || selectEl.text()) {
3348
- if (selectEl.length) {
3349
- selectEl.text('');
3360
+ const selectElPlaceholderOption = this.nativeEl.querySelector('#placeholderOption');
3361
+ if (this.inputEl.attr('placeholder') || selectElPlaceholderOption) {
3362
+ if (selectElPlaceholderOption) {
3363
+ selectElPlaceholderOption.textContent = '';
3350
3364
  }
3351
3365
  else {
3352
3366
  this.placeholder = this.inputEl.attr('placeholder');