@wavemaker/app-ng-runtime 12.0.0-next.141167 → 12.0.0-next.141177

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 (281) hide show
  1. app-ng-runtime/build-task/bundles/index.umd.js +46 -38
  2. app-ng-runtime/build-task/esm2022/basic/default/anchor/anchor.build.mjs +2 -2
  3. app-ng-runtime/build-task/esm2022/basic/default/html/html.build.mjs +2 -2
  4. app-ng-runtime/build-task/esm2022/basic/default/icon/icon.build.mjs +2 -2
  5. app-ng-runtime/build-task/esm2022/basic/default/label/label.build.mjs +2 -2
  6. app-ng-runtime/build-task/esm2022/basic/default/picture/picture.build.mjs +2 -2
  7. app-ng-runtime/build-task/esm2022/basic/default/spinner/spinner.build.mjs +2 -2
  8. app-ng-runtime/build-task/esm2022/basic/progress/progress-circle/progress-circle.build.mjs +7 -2
  9. app-ng-runtime/build-task/esm2022/basic/rich-text-editor/rich-text-editor.build.mjs +2 -2
  10. app-ng-runtime/build-task/esm2022/containers/tile/tile.build.mjs +2 -2
  11. app-ng-runtime/build-task/esm2022/data/form/form-field/form-field.build.mjs +2 -2
  12. app-ng-runtime/build-task/esm2022/device/barcode-scanner/barcode-scanner.build.mjs +2 -2
  13. app-ng-runtime/build-task/esm2022/device/camera/camera.build.mjs +2 -2
  14. app-ng-runtime/build-task/esm2022/dialogs/alert-dialog/alert-dialog.build.mjs +2 -2
  15. app-ng-runtime/build-task/esm2022/input/calendar/calendar.build.mjs +2 -2
  16. app-ng-runtime/build-task/esm2022/input/color-picker/color-picker.build.mjs +3 -3
  17. app-ng-runtime/build-task/esm2022/input/currency/currency.build.mjs +3 -3
  18. app-ng-runtime/build-task/esm2022/input/default/button/button.build.mjs +2 -2
  19. app-ng-runtime/build-task/esm2022/input/default/button-group/button-group.build.mjs +2 -2
  20. app-ng-runtime/build-task/esm2022/input/default/switch/switch.build.mjs +2 -2
  21. app-ng-runtime/build-task/esm2022/input/file-upload/file-upload.build.mjs +5 -1
  22. app-ng-runtime/build-task/esm2022/page/footer/footer.build.mjs +2 -2
  23. app-ng-runtime/build-task/esm2022/page/header/header.build.mjs +2 -2
  24. app-ng-runtime/build-task/esm2022/page/layout.build.mjs +2 -2
  25. app-ng-runtime/build-task/esm2022/page/left-panel/left-panel.build.mjs +2 -2
  26. app-ng-runtime/build-task/esm2022/page/page.build.mjs +2 -2
  27. app-ng-runtime/build-task/esm2022/page/right-panel/right-panel.build.mjs +2 -2
  28. app-ng-runtime/build-task/esm2022/page/top-nav/top-nav.build.mjs +2 -2
  29. app-ng-runtime/build-task/fesm2022/index.mjs +46 -38
  30. app-ng-runtime/build-task/fesm2022/index.mjs.map +1 -1
  31. app-ng-runtime/components/advanced/carousel/bundles/index.umd.js +1 -1
  32. app-ng-runtime/components/advanced/carousel/esm2022/carousel.animator.mjs +2 -2
  33. app-ng-runtime/components/advanced/carousel/fesm2022/index.mjs +1 -1
  34. app-ng-runtime/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
  35. app-ng-runtime/components/base/bundles/index.umd.js +1 -1
  36. app-ng-runtime/components/base/esm2022/pipes/custom-pipes.mjs +3 -3
  37. app-ng-runtime/components/base/fesm2022/index.mjs +1 -1
  38. app-ng-runtime/components/base/fesm2022/index.mjs.map +1 -1
  39. app-ng-runtime/components/base/pipes/custom-pipes.d.ts +1 -1
  40. app-ng-runtime/components/basic/default/anchor/anchor.component.d.ts +1 -0
  41. app-ng-runtime/components/basic/default/audio/audio.component.d.ts +1 -0
  42. app-ng-runtime/components/basic/default/bundles/index.umd.js +27 -18
  43. app-ng-runtime/components/basic/default/esm2022/anchor/anchor.component.mjs +4 -4
  44. app-ng-runtime/components/basic/default/esm2022/anchor/anchor.props.mjs +2 -1
  45. app-ng-runtime/components/basic/default/esm2022/audio/audio.component.mjs +5 -5
  46. app-ng-runtime/components/basic/default/esm2022/audio/audio.props.mjs +2 -1
  47. app-ng-runtime/components/basic/default/esm2022/html/html.props.mjs +2 -1
  48. app-ng-runtime/components/basic/default/esm2022/icon/icon.component.mjs +6 -7
  49. app-ng-runtime/components/basic/default/esm2022/icon/icon.props.mjs +2 -1
  50. app-ng-runtime/components/basic/default/esm2022/iframe/iframe.component.mjs +3 -3
  51. app-ng-runtime/components/basic/default/esm2022/iframe/iframe.props.mjs +3 -2
  52. app-ng-runtime/components/basic/default/esm2022/label/label.props.mjs +1 -1
  53. app-ng-runtime/components/basic/default/esm2022/picture/picture.directive.mjs +2 -2
  54. app-ng-runtime/components/basic/default/esm2022/picture/picture.props.mjs +3 -1
  55. app-ng-runtime/components/basic/default/esm2022/spinner/spinner.props.mjs +3 -2
  56. app-ng-runtime/components/basic/default/esm2022/video/video.component.mjs +5 -4
  57. app-ng-runtime/components/basic/default/esm2022/video/video.props.mjs +2 -1
  58. app-ng-runtime/components/basic/default/fesm2022/index.mjs +27 -18
  59. app-ng-runtime/components/basic/default/fesm2022/index.mjs.map +1 -1
  60. app-ng-runtime/components/basic/default/icon/icon.component.d.ts +1 -0
  61. app-ng-runtime/components/basic/default/iframe/iframe.component.d.ts +1 -0
  62. app-ng-runtime/components/basic/default/picture/picture.directive.d.ts +2 -1
  63. app-ng-runtime/components/basic/default/video/video.component.d.ts +1 -0
  64. app-ng-runtime/components/basic/progress/bundles/index.umd.js +12 -8
  65. app-ng-runtime/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +4 -4
  66. app-ng-runtime/components/basic/progress/esm2022/progress-bar/progress-bar.props.mjs +2 -1
  67. app-ng-runtime/components/basic/progress/esm2022/progress-circle/progress-circle.component.mjs +8 -6
  68. app-ng-runtime/components/basic/progress/esm2022/progress-circle/progress-circle.props.mjs +2 -1
  69. app-ng-runtime/components/basic/progress/fesm2022/index.mjs +12 -8
  70. app-ng-runtime/components/basic/progress/fesm2022/index.mjs.map +1 -1
  71. app-ng-runtime/components/basic/progress/progress-bar/progress-bar.component.d.ts +1 -0
  72. app-ng-runtime/components/basic/progress/progress-circle/progress-circle.component.d.ts +3 -1
  73. app-ng-runtime/components/basic/rich-text-editor/bundles/index.umd.js +2 -0
  74. app-ng-runtime/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +2 -1
  75. app-ng-runtime/components/basic/rich-text-editor/esm2022/rich-text-editor.props.mjs +2 -1
  76. app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs +2 -0
  77. app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
  78. app-ng-runtime/components/basic/search/bundles/index.umd.js +11 -9
  79. app-ng-runtime/components/basic/search/esm2022/search.component.mjs +14 -13
  80. app-ng-runtime/components/basic/search/esm2022/search.props.mjs +2 -1
  81. app-ng-runtime/components/basic/search/fesm2022/index.mjs +11 -9
  82. app-ng-runtime/components/basic/search/fesm2022/index.mjs.map +1 -1
  83. app-ng-runtime/components/basic/search/search.component.d.ts +1 -0
  84. app-ng-runtime/components/containers/accordion/bundles/index.umd.js +3 -3
  85. app-ng-runtime/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +4 -4
  86. app-ng-runtime/components/containers/accordion/fesm2022/index.mjs +3 -3
  87. app-ng-runtime/components/containers/accordion/fesm2022/index.mjs.map +1 -1
  88. app-ng-runtime/components/containers/panel/bundles/index.umd.js +14 -14
  89. app-ng-runtime/components/containers/panel/esm2022/panel.component.mjs +15 -15
  90. app-ng-runtime/components/containers/panel/fesm2022/index.mjs +14 -14
  91. app-ng-runtime/components/containers/panel/fesm2022/index.mjs.map +1 -1
  92. app-ng-runtime/components/containers/tabs/bundles/index.umd.js +2 -2
  93. app-ng-runtime/components/containers/tabs/esm2022/tabs.component.mjs +3 -3
  94. app-ng-runtime/components/containers/tabs/fesm2022/index.mjs +2 -2
  95. app-ng-runtime/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  96. app-ng-runtime/components/data/live-table/bundles/index.umd.js +2 -2
  97. app-ng-runtime/components/data/live-table/esm2022/live-table.component.mjs +3 -3
  98. app-ng-runtime/components/data/live-table/fesm2022/index.mjs +2 -2
  99. app-ng-runtime/components/data/live-table/fesm2022/index.mjs.map +1 -1
  100. app-ng-runtime/components/data/pagination/bundles/index.umd.js +2 -0
  101. app-ng-runtime/components/data/pagination/esm2022/pagination.component.mjs +3 -1
  102. app-ng-runtime/components/data/pagination/fesm2022/index.mjs +2 -0
  103. app-ng-runtime/components/data/pagination/fesm2022/index.mjs.map +1 -1
  104. app-ng-runtime/components/data/table/bundles/index.umd.js +37 -7
  105. app-ng-runtime/components/data/table/esm2022/table-column/table-column.directive.mjs +14 -5
  106. app-ng-runtime/components/data/table/esm2022/table.component.mjs +24 -4
  107. app-ng-runtime/components/data/table/esm2022/table.props.mjs +2 -1
  108. app-ng-runtime/components/data/table/fesm2022/index.mjs +38 -8
  109. app-ng-runtime/components/data/table/fesm2022/index.mjs.map +1 -1
  110. app-ng-runtime/components/data/table/table.component.d.ts +5 -0
  111. app-ng-runtime/components/dialogs/alert-dialog/bundles/index.umd.js +6 -4
  112. app-ng-runtime/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +7 -5
  113. app-ng-runtime/components/dialogs/alert-dialog/fesm2022/index.mjs +6 -4
  114. app-ng-runtime/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
  115. app-ng-runtime/components/dialogs/confirm-dialog/bundles/index.umd.js +8 -5
  116. app-ng-runtime/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +9 -6
  117. app-ng-runtime/components/dialogs/confirm-dialog/fesm2022/index.mjs +8 -5
  118. app-ng-runtime/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
  119. app-ng-runtime/components/dialogs/default/bundles/index.umd.js +9 -3
  120. app-ng-runtime/components/dialogs/default/dialog-header/dialog-header.component.d.ts +2 -1
  121. app-ng-runtime/components/dialogs/default/esm2022/base-dialog.mjs +2 -1
  122. app-ng-runtime/components/dialogs/default/esm2022/dialog-header/dialog-header.component.mjs +9 -4
  123. app-ng-runtime/components/dialogs/default/fesm2022/index.mjs +9 -3
  124. app-ng-runtime/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  125. app-ng-runtime/components/dialogs/design-dialog/bundles/index.umd.js +4 -4
  126. app-ng-runtime/components/dialogs/design-dialog/esm2022/dialog.component.mjs +5 -5
  127. app-ng-runtime/components/dialogs/design-dialog/fesm2022/index.mjs +4 -4
  128. app-ng-runtime/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
  129. app-ng-runtime/components/dialogs/iframe-dialog/bundles/index.umd.js +9 -5
  130. app-ng-runtime/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +10 -6
  131. app-ng-runtime/components/dialogs/iframe-dialog/fesm2022/index.mjs +9 -5
  132. app-ng-runtime/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
  133. app-ng-runtime/components/dialogs/partial-dialog/bundles/index.umd.js +9 -5
  134. app-ng-runtime/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +10 -6
  135. app-ng-runtime/components/dialogs/partial-dialog/fesm2022/index.mjs +9 -5
  136. app-ng-runtime/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
  137. app-ng-runtime/components/input/calendar/bundles/index.umd.js +2 -4
  138. app-ng-runtime/components/input/calendar/esm2022/calendar.component.mjs +3 -5
  139. app-ng-runtime/components/input/calendar/fesm2022/index.mjs +2 -4
  140. app-ng-runtime/components/input/calendar/fesm2022/index.mjs.map +1 -1
  141. app-ng-runtime/components/input/chips/bundles/index.umd.js +3 -2
  142. app-ng-runtime/components/input/chips/esm2022/chips.component.mjs +3 -3
  143. app-ng-runtime/components/input/chips/esm2022/chips.props.mjs +2 -1
  144. app-ng-runtime/components/input/chips/fesm2022/index.mjs +3 -2
  145. app-ng-runtime/components/input/chips/fesm2022/index.mjs.map +1 -1
  146. app-ng-runtime/components/input/color-picker/bundles/index.umd.js +5 -3
  147. app-ng-runtime/components/input/color-picker/color-picker.component.d.ts +1 -0
  148. app-ng-runtime/components/input/color-picker/esm2022/color-picker.component.mjs +6 -5
  149. app-ng-runtime/components/input/color-picker/esm2022/color-picker.props.mjs +2 -1
  150. app-ng-runtime/components/input/color-picker/fesm2022/index.mjs +5 -3
  151. app-ng-runtime/components/input/color-picker/fesm2022/index.mjs.map +1 -1
  152. app-ng-runtime/components/input/currency/bundles/index.umd.js +4 -3
  153. app-ng-runtime/components/input/currency/currency.component.d.ts +1 -0
  154. app-ng-runtime/components/input/currency/esm2022/currency.component.mjs +6 -6
  155. app-ng-runtime/components/input/currency/esm2022/currency.props.mjs +2 -1
  156. app-ng-runtime/components/input/currency/fesm2022/index.mjs +4 -3
  157. app-ng-runtime/components/input/currency/fesm2022/index.mjs.map +1 -1
  158. app-ng-runtime/components/input/default/bundles/index.umd.js +154 -93
  159. app-ng-runtime/components/input/default/button/button.component.d.ts +1 -0
  160. app-ng-runtime/components/input/default/checkbox/checkbox.component.d.ts +1 -0
  161. app-ng-runtime/components/input/default/esm2022/button/button.component.mjs +1 -1
  162. app-ng-runtime/components/input/default/esm2022/button/button.props.mjs +2 -1
  163. app-ng-runtime/components/input/default/esm2022/caption-position.directive.mjs +8 -7
  164. app-ng-runtime/components/input/default/esm2022/checkbox/checkbox.component.mjs +7 -7
  165. app-ng-runtime/components/input/default/esm2022/checkbox/checkbox.props.mjs +2 -1
  166. app-ng-runtime/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +21 -16
  167. app-ng-runtime/components/input/default/esm2022/number/number.component.mjs +6 -6
  168. app-ng-runtime/components/input/default/esm2022/number/number.props.mjs +3 -1
  169. app-ng-runtime/components/input/default/esm2022/radioset/radioset.component.mjs +28 -23
  170. app-ng-runtime/components/input/default/esm2022/select/select.component.mjs +7 -7
  171. app-ng-runtime/components/input/default/esm2022/select/select.props.mjs +2 -1
  172. app-ng-runtime/components/input/default/esm2022/switch/switch.component.mjs +6 -5
  173. app-ng-runtime/components/input/default/esm2022/switch/switch.props.mjs +2 -1
  174. app-ng-runtime/components/input/default/esm2022/text/calendar/input-calendar.component.mjs +5 -5
  175. app-ng-runtime/components/input/default/esm2022/text/calendar/input-calendar.props.mjs +2 -1
  176. app-ng-runtime/components/input/default/esm2022/text/color/input-color.component.mjs +5 -5
  177. app-ng-runtime/components/input/default/esm2022/text/color/input-color.props.mjs +2 -1
  178. app-ng-runtime/components/input/default/esm2022/text/email/input-email.component.mjs +5 -5
  179. app-ng-runtime/components/input/default/esm2022/text/email/input-email.props.mjs +2 -1
  180. app-ng-runtime/components/input/default/esm2022/text/locale/number-locale.mjs +50 -13
  181. app-ng-runtime/components/input/default/esm2022/text/number/input-number.component.mjs +5 -5
  182. app-ng-runtime/components/input/default/esm2022/text/number/input-number.props.mjs +2 -1
  183. app-ng-runtime/components/input/default/esm2022/text/text/input-text.component.mjs +5 -5
  184. app-ng-runtime/components/input/default/esm2022/text/text/input-text.props.mjs +2 -1
  185. app-ng-runtime/components/input/default/esm2022/textarea/textarea.component.mjs +6 -6
  186. app-ng-runtime/components/input/default/esm2022/textarea/textarea.props.mjs +2 -1
  187. app-ng-runtime/components/input/default/fesm2022/index.mjs +154 -93
  188. app-ng-runtime/components/input/default/fesm2022/index.mjs.map +1 -1
  189. app-ng-runtime/components/input/default/number/number.component.d.ts +1 -0
  190. app-ng-runtime/components/input/default/select/select.component.d.ts +2 -0
  191. app-ng-runtime/components/input/default/text/calendar/input-calendar.component.d.ts +1 -0
  192. app-ng-runtime/components/input/default/text/color/input-color.component.d.ts +1 -0
  193. app-ng-runtime/components/input/default/text/email/input-email.component.d.ts +1 -0
  194. app-ng-runtime/components/input/default/text/locale/number-locale.d.ts +1 -0
  195. app-ng-runtime/components/input/default/text/number/input-number.component.d.ts +1 -0
  196. app-ng-runtime/components/input/default/text/text/input-text.component.d.ts +1 -0
  197. app-ng-runtime/components/input/default/textarea/textarea.component.d.ts +1 -0
  198. app-ng-runtime/components/input/epoch/bundles/index.umd.js +12 -9
  199. app-ng-runtime/components/input/epoch/date/date.component.d.ts +1 -0
  200. app-ng-runtime/components/input/epoch/date-time/date-time.component.d.ts +2 -1
  201. app-ng-runtime/components/input/epoch/esm2022/date/date.component.mjs +6 -6
  202. app-ng-runtime/components/input/epoch/esm2022/date/date.props.mjs +2 -1
  203. app-ng-runtime/components/input/epoch/esm2022/date-time/date-time.component.mjs +7 -7
  204. app-ng-runtime/components/input/epoch/esm2022/date-time/date-time.props.mjs +2 -1
  205. app-ng-runtime/components/input/epoch/esm2022/time/time.component.mjs +7 -7
  206. app-ng-runtime/components/input/epoch/esm2022/time/time.props.mjs +2 -1
  207. app-ng-runtime/components/input/epoch/fesm2022/index.mjs +12 -9
  208. app-ng-runtime/components/input/epoch/fesm2022/index.mjs.map +1 -1
  209. app-ng-runtime/components/input/epoch/time/time.component.d.ts +1 -0
  210. app-ng-runtime/components/input/file-upload/bundles/index.umd.js +187 -100
  211. app-ng-runtime/components/input/file-upload/esm2022/file-upload.component.mjs +184 -102
  212. app-ng-runtime/components/input/file-upload/esm2022/file-upload.props.mjs +6 -1
  213. app-ng-runtime/components/input/file-upload/fesm2022/index.mjs +187 -100
  214. app-ng-runtime/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  215. app-ng-runtime/components/input/file-upload/file-upload.component.d.ts +12 -10
  216. app-ng-runtime/components/input/slider/bundles/index.umd.js +5 -6
  217. app-ng-runtime/components/input/slider/esm2022/slider.component.mjs +6 -8
  218. app-ng-runtime/components/input/slider/esm2022/slider.props.mjs +2 -1
  219. app-ng-runtime/components/input/slider/fesm2022/index.mjs +5 -6
  220. app-ng-runtime/components/input/slider/fesm2022/index.mjs.map +1 -1
  221. app-ng-runtime/components/input/slider/slider.component.d.ts +1 -0
  222. app-ng-runtime/components/navigation/menu/bundles/index.umd.js +8 -6
  223. app-ng-runtime/components/navigation/menu/esm2022/menu.component.mjs +8 -7
  224. app-ng-runtime/components/navigation/menu/esm2022/menu.props.mjs +2 -1
  225. app-ng-runtime/components/navigation/menu/fesm2022/index.mjs +8 -6
  226. app-ng-runtime/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  227. app-ng-runtime/components/navigation/menu/menu.component.d.ts +1 -0
  228. app-ng-runtime/components/navigation/popover/bundles/index.umd.js +102 -10
  229. app-ng-runtime/components/navigation/popover/esm2022/popover.component.mjs +102 -11
  230. app-ng-runtime/components/navigation/popover/esm2022/popover.props.mjs +2 -1
  231. app-ng-runtime/components/navigation/popover/fesm2022/index.mjs +102 -10
  232. app-ng-runtime/components/navigation/popover/fesm2022/index.mjs.map +1 -1
  233. app-ng-runtime/components/navigation/popover/popover.component.d.ts +11 -0
  234. app-ng-runtime/components/page/default/bundles/index.umd.js +2 -1
  235. app-ng-runtime/components/page/default/esm2022/page.props.mjs +4 -3
  236. app-ng-runtime/components/page/default/fesm2022/index.mjs +2 -1
  237. app-ng-runtime/components/page/default/fesm2022/index.mjs.map +1 -1
  238. app-ng-runtime/components/page/footer/bundles/index.umd.js +2 -1
  239. app-ng-runtime/components/page/footer/esm2022/footer.props.mjs +3 -2
  240. app-ng-runtime/components/page/footer/fesm2022/index.mjs +2 -1
  241. app-ng-runtime/components/page/footer/fesm2022/index.mjs.map +1 -1
  242. app-ng-runtime/components/page/header/bundles/index.umd.js +2 -1
  243. app-ng-runtime/components/page/header/esm2022/header.props.mjs +3 -2
  244. app-ng-runtime/components/page/header/fesm2022/index.mjs +2 -1
  245. app-ng-runtime/components/page/header/fesm2022/index.mjs.map +1 -1
  246. app-ng-runtime/components/page/left-panel/bundles/index.umd.js +2 -1
  247. app-ng-runtime/components/page/left-panel/esm2022/left-panel.props.mjs +3 -2
  248. app-ng-runtime/components/page/left-panel/fesm2022/index.mjs +2 -1
  249. app-ng-runtime/components/page/left-panel/fesm2022/index.mjs.map +1 -1
  250. app-ng-runtime/components/page/right-panel/bundles/index.umd.js +2 -1
  251. app-ng-runtime/components/page/right-panel/esm2022/right-panel.props.mjs +3 -2
  252. app-ng-runtime/components/page/right-panel/fesm2022/index.mjs +2 -1
  253. app-ng-runtime/components/page/right-panel/fesm2022/index.mjs.map +1 -1
  254. app-ng-runtime/components/page/top-nav/bundles/index.umd.js +2 -1
  255. app-ng-runtime/components/page/top-nav/esm2022/top-nav.props.mjs +3 -2
  256. app-ng-runtime/components/page/top-nav/fesm2022/index.mjs +2 -1
  257. app-ng-runtime/components/page/top-nav/fesm2022/index.mjs.map +1 -1
  258. app-ng-runtime/core/bundles/index.umd.js +15 -13
  259. app-ng-runtime/core/esm2022/public_api.mjs +2 -2
  260. app-ng-runtime/core/esm2022/utils/build-utils.mjs +7 -7
  261. app-ng-runtime/core/esm2022/utils/utils.mjs +4 -5
  262. app-ng-runtime/core/fesm2022/index.mjs +11 -11
  263. app-ng-runtime/core/fesm2022/index.mjs.map +1 -1
  264. app-ng-runtime/core/public_api.d.ts +1 -1
  265. app-ng-runtime/core/utils/utils.d.ts +1 -1
  266. app-ng-runtime/mobile/components/device/barcode-scanner/bundles/index.umd.js +2 -1
  267. app-ng-runtime/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.props.mjs +3 -2
  268. app-ng-runtime/mobile/components/device/barcode-scanner/fesm2022/index.mjs +2 -1
  269. app-ng-runtime/mobile/components/device/barcode-scanner/fesm2022/index.mjs.map +1 -1
  270. app-ng-runtime/mobile/components/device/camera/bundles/index.umd.js +2 -1
  271. app-ng-runtime/mobile/components/device/camera/esm2022/camera.props.mjs +3 -2
  272. app-ng-runtime/mobile/components/device/camera/fesm2022/index.mjs +2 -1
  273. app-ng-runtime/mobile/components/device/camera/fesm2022/index.mjs.map +1 -1
  274. app-ng-runtime/package.json +1 -1
  275. app-ng-runtime/runtime/base/bundles/index.umd.js +6 -4
  276. app-ng-runtime/runtime/base/components/app-component/app.component.d.ts +2 -3
  277. app-ng-runtime/runtime/base/esm2022/components/app-component/app.component.mjs +5 -5
  278. app-ng-runtime/runtime/base/esm2022/guards/can-deactivate-page.guard.mjs +5 -4
  279. app-ng-runtime/runtime/base/fesm2022/index.mjs +6 -4
  280. app-ng-runtime/runtime/base/fesm2022/index.mjs.map +1 -1
  281. app-ng-runtime/runtime/base/guards/can-deactivate-page.guard.d.ts +2 -1
@@ -38,6 +38,7 @@
38
38
  ['conditionalstyle', i2.PROP_ANY],
39
39
  ['disabled', i2.PROP_BOOLEAN],
40
40
  ['hint', i2.PROP_STRING],
41
+ ['arialabel', i2.PROP_STRING],
41
42
  ['iconclass', i2.PROP_STRING],
42
43
  ['iconheight', i2.PROP_STRING],
43
44
  ['iconmargin', i2.PROP_STRING],
@@ -383,6 +384,7 @@
383
384
  ['datavalue', i2.PROP_STRING],
384
385
  ['disabled', i2.PROP_BOOLEAN],
385
386
  ['hint', i2.PROP_STRING],
387
+ ['arialabel', i2.PROP_STRING],
386
388
  ['name', i2.PROP_STRING],
387
389
  ['readonly', i2.PROP_BOOLEAN],
388
390
  ['required', i2.PROP_BOOLEAN],
@@ -510,7 +512,7 @@
510
512
  i2.provideAs(CheckboxComponent, i2$1.NG_VALUE_ACCESSOR, true),
511
513
  i2.provideAs(CheckboxComponent, i2$1.NG_VALIDATORS, true),
512
514
  i2.provideAsWidgetRef(CheckboxComponent)
513
- ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c1$a, decls: 6, vars: 19, consts: [["checkbox", ""], [3, "ngClass"], ["type", "checkbox", "role", "checkbox", "focus-target", "", 3, "ngModelChange", "blur", "ngModel", "ngModelOptions", "readonly", "required", "disabled", "tabindex"], [1, "caption", 3, "innerHtml"], ["alt", "Checkbox Image", "aria-hidden", "true", "src", "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==", 1, "switch"], ["type", "hidden", "aria-hidden", "true", "tabindex", "-1", 1, "ng-hide", "model-holder", 3, "disabled", "value"]], template: function CheckboxComponent_Template(rf, ctx) { if (rf & 1) {
515
+ ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c1$a, decls: 6, vars: 18, consts: [["checkbox", ""], [3, "ngClass"], ["type", "checkbox", "focus-target", "", 3, "ngModelChange", "blur", "ngModel", "ngModelOptions", "readonly", "required", "disabled", "tabindex"], [1, "caption", 3, "innerHtml"], ["alt", "Checkbox Image", "aria-hidden", "true", "src", "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==", 1, "switch"], ["type", "hidden", "aria-hidden", "true", "tabindex", "-1", 1, "ng-hide", "model-holder", 3, "disabled", "value"]], template: function CheckboxComponent_Template(rf, ctx) { if (rf & 1) {
514
516
  const _r1 = i0__namespace.ɵɵgetCurrentView();
515
517
  i0__namespace.ɵɵelementStart(0, "label", 1)(1, "input", 2, 0);
516
518
  i0__namespace.ɵɵtwoWayListener("ngModelChange", function CheckboxComponent_Template_input_ngModelChange_1_listener($event) { i0__namespace.ɵɵrestoreView(_r1); i0__namespace.ɵɵtwoWayBindingSet(ctx.proxyModel, $event) || (ctx.proxyModel = $event); return i0__namespace.ɵɵresetView($event); });
@@ -520,11 +522,11 @@
520
522
  i0__namespace.ɵɵelementEnd();
521
523
  i0__namespace.ɵɵelement(5, "input", 5);
522
524
  } if (rf & 2) {
523
- i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction3(14, _c2$7, !ctx.proxyModel, ctx.disabled || ctx.readonly, ctx.required && ctx._caption));
525
+ i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction3(13, _c2$7, !ctx.proxyModel, ctx.disabled || ctx.readonly, ctx.required && ctx._caption));
524
526
  i0__namespace.ɵɵadvance();
525
527
  i0__namespace.ɵɵtwoWayProperty("ngModel", ctx.proxyModel);
526
- i0__namespace.ɵɵproperty("ngModelOptions", i0__namespace.ɵɵpureFunction0(18, _c3$2))("readonly", ctx.readonly)("required", ctx.required)("disabled", ctx.disabled || ctx.readonly)("tabindex", ctx.tabindex);
527
- i0__namespace.ɵɵattribute("name", ctx.name)("aria-label", ctx.hint)("aria-checked", !!ctx.proxyModel)("accesskey", ctx.shortcutkey);
528
+ i0__namespace.ɵɵproperty("ngModelOptions", i0__namespace.ɵɵpureFunction0(17, _c3$2))("readonly", ctx.readonly)("required", ctx.required)("disabled", ctx.disabled || ctx.readonly)("tabindex", ctx.tabindex);
529
+ i0__namespace.ɵɵattribute("name", ctx.name)("aria-label", ctx.arialabel)("accesskey", ctx.shortcutkey);
528
530
  i0__namespace.ɵɵadvance(2);
529
531
  i0__namespace.ɵɵproperty("innerHtml", ctx._caption, i0__namespace.ɵɵsanitizeHtml);
530
532
  i0__namespace.ɵɵadvance(2);
@@ -537,7 +539,7 @@
537
539
  i2.provideAs(CheckboxComponent, i2$1.NG_VALUE_ACCESSOR, true),
538
540
  i2.provideAs(CheckboxComponent, i2$1.NG_VALIDATORS, true),
539
541
  i2.provideAsWidgetRef(CheckboxComponent)
540
- ], template: "<label [ngClass]=\"{'unchecked': !proxyModel, 'disabled': (disabled || readonly), 'required': (required && _caption)}\">\n <input type=\"checkbox\"\n role=\"checkbox\"\n #checkbox\n [attr.name]=\"name\"\n [attr.aria-label]=\"hint\"\n [attr.aria-checked]=\"!!proxyModel\"\n focus-target\n [(ngModel)]=\"proxyModel\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled || readonly\"\n [attr.accesskey]=\"shortcutkey\"\n [tabindex]=\"tabindex\"\n (blur)=\"invokeOnTouched($event)\"\n (ngModelChange)=\"handleChange($event)\">\n <span class=\"caption\" [innerHtml]=\"_caption\"></span>\n <img alt=\"Checkbox Image\" aria-hidden=\"true\" src=\"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" class=\"switch\"/>\n</label>\n<input type=\"hidden\" class=\"ng-hide model-holder\" aria-hidden=\"true\" tabindex=\"-1\" [disabled]=\"disabled\" [value]=\"proxyModel\">\n" }]
542
+ ], template: "<label [ngClass]=\"{'unchecked': !proxyModel, 'disabled': (disabled || readonly), 'required': (required && _caption)}\">\n <input type=\"checkbox\"\n #checkbox\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel\"\n focus-target\n [(ngModel)]=\"proxyModel\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled || readonly\"\n [attr.accesskey]=\"shortcutkey\"\n [tabindex]=\"tabindex\"\n (blur)=\"invokeOnTouched($event)\"\n (ngModelChange)=\"handleChange($event)\">\n <span class=\"caption\" [innerHtml]=\"_caption\"></span>\n <img alt=\"Checkbox Image\" aria-hidden=\"true\" src=\"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" class=\"switch\"/>\n</label>\n<input type=\"hidden\" class=\"ng-hide model-holder\" aria-hidden=\"true\" tabindex=\"-1\" [disabled]=\"disabled\" [value]=\"proxyModel\">\n" }]
541
543
  }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
542
544
  type: i0.Attribute,
543
545
  args: ['checkedvalue']
@@ -909,10 +911,10 @@
909
911
  const item_r2 = ctx_r3.$implicit;
910
912
  const i_r5 = ctx_r3.index;
911
913
  const ctx_r2 = i0__namespace.ɵɵnextContext(2);
912
- i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(12, _c2$6, ctx_r2.disabled || ctx_r2.readonly))("title", item_r2.label);
914
+ i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(10, _c2$6, ctx_r2.disabled || ctx_r2.readonly))("title", item_r2.label);
913
915
  i0__namespace.ɵɵadvance();
914
916
  i0__namespace.ɵɵproperty("name", "checkboxset_" + ctx_r2.widgetId)("tabindex", ctx_r2.tabindex)("disabled", ctx_r2.disabled || ctx_r2.readonly)("value", item_r2.key)("tabindex", ctx_r2.tabindex)("checked", item_r2.selected);
915
- i0__namespace.ɵɵattribute("aria-label", item_r2.key)("aria-checked", item_r2.selected)("data-attr-index", i_r5);
917
+ i0__namespace.ɵɵattribute("data-attr-index", i_r5);
916
918
  i0__namespace.ɵɵadvance();
917
919
  i0__namespace.ɵɵproperty("textContent", item_r2.label);
918
920
  } }
@@ -925,16 +927,16 @@
925
927
  const item_r2 = ctx_r3.$implicit;
926
928
  const i_r5 = ctx_r3.index;
927
929
  const ctx_r2 = i0__namespace.ɵɵnextContext(2);
928
- i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(10, _c2$6, ctx_r2.disabled || ctx_r2.readonly));
930
+ i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(8, _c2$6, ctx_r2.disabled || ctx_r2.readonly));
929
931
  i0__namespace.ɵɵadvance();
930
932
  i0__namespace.ɵɵproperty("name", "checkboxset_" + ctx_r2.widgetId)("tabindex", ctx_r2.tabindex)("disabled", ctx_r2.disabled || ctx_r2.readonly)("value", item_r2.key)("tabindex", ctx_r2.tabindex)("checked", item_r2.selected);
931
- i0__namespace.ɵɵattribute("aria-label", item_r2.key)("aria-checked", item_r2.selected)("data-attr-index", i_r5);
933
+ i0__namespace.ɵɵattribute("data-attr-index", i_r5);
932
934
  } }
933
935
  function CheckboxsetComponent_ng_template_0_li_0_Template(rf, ctx) { if (rf & 1) {
934
936
  const _r1 = i0__namespace.ɵɵgetCurrentView();
935
937
  i0__namespace.ɵɵelementStart(0, "li", 5);
936
938
  i0__namespace.ɵɵlistener("click", function CheckboxsetComponent_ng_template_0_li_0_Template_li_click_0_listener($event) { const item_r2 = i0__namespace.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0__namespace.ɵɵnextContext(2); return i0__namespace.ɵɵresetView(ctx_r2.onCheckboxLabelClick($event, item_r2.key)); });
937
- i0__namespace.ɵɵtemplate(1, CheckboxsetComponent_ng_template_0_li_0_label_1_Template, 3, 14, "label", 6)(2, CheckboxsetComponent_ng_template_0_li_0_label_2_Template, 3, 12, "label", 7);
939
+ i0__namespace.ɵɵtemplate(1, CheckboxsetComponent_ng_template_0_li_0_label_1_Template, 3, 12, "label", 6)(2, CheckboxsetComponent_ng_template_0_li_0_label_2_Template, 3, 10, "label", 7);
938
940
  i0__namespace.ɵɵelementEnd();
939
941
  } if (rf & 2) {
940
942
  const item_r2 = ctx.$implicit;
@@ -969,7 +971,7 @@
969
971
  } }
970
972
  function CheckboxsetComponent_ng_template_3_li_0_li_8_label_1_Template(rf, ctx) { if (rf & 1) {
971
973
  i0__namespace.ɵɵelementStart(0, "label", 8);
972
- i0__namespace.ɵɵelement(1, "input", 26)(2, "span", 10);
974
+ i0__namespace.ɵɵelement(1, "input", 9)(2, "span", 10);
973
975
  i0__namespace.ɵɵelementEnd();
974
976
  } if (rf & 2) {
975
977
  const ctx_r9 = i0__namespace.ɵɵnextContext();
@@ -985,7 +987,7 @@
985
987
  } }
986
988
  function CheckboxsetComponent_ng_template_3_li_0_li_8_label_2_Template(rf, ctx) { if (rf & 1) {
987
989
  i0__namespace.ɵɵelementStart(0, "label", 11);
988
- i0__namespace.ɵɵelement(1, "input", 26)(2, "span", 27);
990
+ i0__namespace.ɵɵelement(1, "input", 9)(2, "span", 26);
989
991
  i0__namespace.ɵɵelementEnd();
990
992
  } if (rf & 2) {
991
993
  const ctx_r9 = i0__namespace.ɵɵnextContext();
@@ -1026,10 +1028,15 @@
1026
1028
  i0__namespace.ɵɵelementEnd()();
1027
1029
  } if (rf & 2) {
1028
1030
  const groupObj_r7 = ctx.$implicit;
1031
+ const groupindex_r12 = ctx.index;
1029
1032
  const ctx_r2 = i0__namespace.ɵɵnextContext(2);
1030
- i0__namespace.ɵɵadvance(2);
1031
- i0__namespace.ɵɵproperty("title", groupObj_r7.key)("ngClass", i0__namespace.ɵɵpureFunction1(6, _c3$1, ctx_r2.collapsible));
1032
- i0__namespace.ɵɵadvance(2);
1033
+ i0__namespace.ɵɵadvance();
1034
+ i0__namespace.ɵɵattribute("aria-labelledby", "group_" + ctx_r2.widgetId + "_" + groupindex_r12);
1035
+ i0__namespace.ɵɵadvance();
1036
+ i0__namespace.ɵɵproperty("id", "group_" + ctx_r2.widgetId + "_" + groupindex_r12)("title", groupObj_r7.key)("ngClass", i0__namespace.ɵɵpureFunction1(9, _c3$1, ctx_r2.collapsible));
1037
+ i0__namespace.ɵɵadvance();
1038
+ i0__namespace.ɵɵattribute("aria-label", "Group " + groupObj_r7.key);
1039
+ i0__namespace.ɵɵadvance();
1033
1040
  i0__namespace.ɵɵtextInterpolate1("", groupObj_r7.key, " ");
1034
1041
  i0__namespace.ɵɵadvance(2);
1035
1042
  i0__namespace.ɵɵproperty("ngIf", ctx_r2.collapsible);
@@ -1039,7 +1046,7 @@
1039
1046
  i0__namespace.ɵɵproperty("ngForOf", groupObj_r7.data);
1040
1047
  } }
1041
1048
  function CheckboxsetComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
1042
- i0__namespace.ɵɵtemplate(0, CheckboxsetComponent_ng_template_3_li_0_Template, 9, 8, "li", 14);
1049
+ i0__namespace.ɵɵtemplate(0, CheckboxsetComponent_ng_template_3_li_0_Template, 9, 11, "li", 14);
1043
1050
  } if (rf & 2) {
1044
1051
  const ctx_r2 = i0__namespace.ɵɵnextContext();
1045
1052
  i0__namespace.ɵɵproperty("ngForOf", ctx_r2.groupedData);
@@ -1111,13 +1118,13 @@
1111
1118
  i2.provideAs(CheckboxsetComponent, i2$1.NG_VALUE_ACCESSOR, true),
1112
1119
  i2.provideAs(CheckboxsetComponent, i2$1.NG_VALIDATORS, true),
1113
1120
  i2.provideAsWidgetRef(CheckboxsetComponent)
1114
- ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c0$a, decls: 5, vars: 4, consts: [["groupedListTemplate", ""], [3, "ngIf", "ngIfElse"], ["hidden", "", 1, "model-holder", 3, "disabled"], ["class", "readonly-wrapper", 4, "ngIf"], ["partialContainer", "", "role", "presentation", 3, "ngClass", "active", "wmItemTemplate", "userComponentParams", "click", 4, "ngFor", "ngForOf"], ["partialContainer", "", "role", "presentation", 3, "click", "ngClass", "wmItemTemplate", "userComponentParams"], ["class", "app-checkboxset-label", 3, "ngClass", "title", 4, "ngIf"], ["class", "app-checkboxset-label", 3, "ngClass", 4, "ngIf"], [1, "app-checkboxset-label", 3, "ngClass", "title"], ["type", "checkbox", 3, "name", "tabindex", "disabled", "value", "checked"], [1, "caption", 3, "textContent"], [1, "app-checkboxset-label", 3, "ngClass"], ["partial-container-target", "", 1, "caption", "customTemplate"], [1, "readonly-wrapper"], ["class", "app-list-item-group", "role", "presentation", 4, "ngFor", "ngForOf"], ["role", "presentation", 1, "app-list-item-group"], [1, "item-group"], [1, "list-group-header", 3, "click", "title", "ngClass"], [1, "group-title"], [1, "header-action"], ["class", "app-icon wi action wi-chevron-up", 3, "title", 4, "ngIf"], ["class", "label label-default", 3, "textContent", 4, "ngIf"], ["partialContainer", "", 3, "ngClass", "active", "wmItemTemplate", "userComponentParams", "click", 4, "ngFor", "ngForOf"], [1, "app-icon", "wi", "action", "wi-chevron-up", 3, "title"], [1, "label", "label-default", 3, "textContent"], ["partialContainer", "", 3, "click", "ngClass", "wmItemTemplate", "userComponentParams"], ["type", "checkbox", "aria-label", "checkbox group", 3, "name", "tabindex", "disabled", "value", "checked"], ["partial-container-target", "", 1, "caption"]], template: function CheckboxsetComponent_Template(rf, ctx) { if (rf & 1) {
1121
+ ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c0$a, decls: 5, vars: 4, consts: [["groupedListTemplate", ""], [3, "ngIf", "ngIfElse"], ["hidden", "", 1, "model-holder", 3, "disabled"], ["class", "readonly-wrapper", 4, "ngIf"], ["partialContainer", "", "role", "presentation", 3, "ngClass", "active", "wmItemTemplate", "userComponentParams", "click", 4, "ngFor", "ngForOf"], ["partialContainer", "", "role", "presentation", 3, "click", "ngClass", "wmItemTemplate", "userComponentParams"], ["class", "app-checkboxset-label", 3, "ngClass", "title", 4, "ngIf"], ["class", "app-checkboxset-label", 3, "ngClass", 4, "ngIf"], [1, "app-checkboxset-label", 3, "ngClass", "title"], ["type", "checkbox", 3, "name", "tabindex", "disabled", "value", "checked"], [1, "caption", 3, "textContent"], [1, "app-checkboxset-label", 3, "ngClass"], ["partial-container-target", "", 1, "caption", "customTemplate"], [1, "readonly-wrapper"], ["class", "app-list-item-group", "role", "presentation", 4, "ngFor", "ngForOf"], ["role", "presentation", 1, "app-list-item-group"], [1, "item-group"], ["aria-hidden", "true", 1, "list-group-header", 3, "click", "id", "title", "ngClass"], [1, "group-title"], [1, "header-action"], ["class", "app-icon wi action wi-chevron-up", 3, "title", 4, "ngIf"], ["class", "label label-default", 3, "textContent", 4, "ngIf"], ["partialContainer", "", 3, "ngClass", "active", "wmItemTemplate", "userComponentParams", "click", 4, "ngFor", "ngForOf"], [1, "app-icon", "wi", "action", "wi-chevron-up", 3, "title"], [1, "label", "label-default", 3, "textContent"], ["partialContainer", "", 3, "click", "ngClass", "wmItemTemplate", "userComponentParams"], ["partial-container-target", "", 1, "caption"]], template: function CheckboxsetComponent_Template(rf, ctx) { if (rf & 1) {
1115
1122
  i0__namespace.ɵɵtemplate(0, CheckboxsetComponent_ng_template_0_Template, 1, 1, "ng-template", 1);
1116
1123
  i0__namespace.ɵɵelement(1, "input", 2);
1117
1124
  i0__namespace.ɵɵtemplate(2, CheckboxsetComponent_div_2_Template, 1, 0, "div", 3)(3, CheckboxsetComponent_ng_template_3_Template, 1, 1, "ng-template", null, 0, i0__namespace.ɵɵtemplateRefExtractor);
1118
1125
  } if (rf & 2) {
1119
- const groupedListTemplate_r12 = i0__namespace.ɵɵreference(4);
1120
- i0__namespace.ɵɵproperty("ngIf", !ctx.groupby)("ngIfElse", groupedListTemplate_r12);
1126
+ const groupedListTemplate_r13 = i0__namespace.ɵɵreference(4);
1127
+ i0__namespace.ɵɵproperty("ngIf", !ctx.groupby)("ngIfElse", groupedListTemplate_r13);
1121
1128
  i0__namespace.ɵɵadvance();
1122
1129
  i0__namespace.ɵɵproperty("disabled", ctx.disabled || ctx.readonly);
1123
1130
  i0__namespace.ɵɵadvance();
@@ -1130,7 +1137,7 @@
1130
1137
  i2.provideAs(CheckboxsetComponent, i2$1.NG_VALUE_ACCESSOR, true),
1131
1138
  i2.provideAs(CheckboxsetComponent, i2$1.NG_VALIDATORS, true),
1132
1139
  i2.provideAsWidgetRef(CheckboxsetComponent)
1133
- ], template: "<ng-template [ngIf]=\"!groupby\" [ngIfElse]=\"groupedListTemplate\">\n <li [ngClass]=\"['checkbox', 'app-checkbox', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n *ngFor=\"let item of datasetItems; let i = index\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\" [attr.aria-label]=\"item.key\"\n [tabindex]=\"tabindex\" [attr.aria-checked]=\"item.selected\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\" [attr.aria-label]=\"item.key\"\n [tabindex]=\"tabindex\" [attr.aria-checked]=\"item.selected\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n </li>\n</ng-template>\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\">\n<div *ngIf=\"readonly || disabled\" class=\"readonly-wrapper\"></div>\n\n<!-- This template will be displayed when groupby is specified. -->\n<ng-template #groupedListTemplate>\n <li *ngFor=\"let groupObj of groupedData\" class=\"app-list-item-group\" role=\"presentation\">\n <ul class=\"item-group\">\n <li class=\"list-group-header\" (click)=\"handleHeaderClick($event)\" [title]=\"groupObj.key\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4 class=\"group-title\">{{groupObj.key}}\n <div class=\"header-action\">\n <i class=\"app-icon wi action wi-chevron-up\" *ngIf=\"collapsible\" title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\"></i>\n <span *ngIf=\"showcount\" class=\"label label-default\" [textContent]=\"groupObj.data.length\"></span>\n </div>\n </h4>\n </li>\n <li *ngFor=\"let item of groupObj.data; let i = index;\"\n [ngClass]=\"['checkbox', 'app-checkbox', 'group-list-item', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item)\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\" aria-label=\"checkbox group\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\" aria-label=\"checkbox group\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" partial-container-target></span>\n </label>\n </li>\n </ul>\n </li>\n</ng-template>\n" }]
1140
+ ], template: "<ng-template [ngIf]=\"!groupby\" [ngIfElse]=\"groupedListTemplate\">\n <li [ngClass]=\"['checkbox', 'app-checkbox', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n *ngFor=\"let item of datasetItems; let i = index\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" [tabindex]=\"tabindex\"\n type=\"checkbox\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" [tabindex]=\"tabindex\"\n type=\"checkbox\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n </li>\n</ng-template>\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\">\n<div *ngIf=\"readonly || disabled\" class=\"readonly-wrapper\"></div>\n\n<!-- This template will be displayed when groupby is specified. -->\n<ng-template #groupedListTemplate>\n <li *ngFor=\"let groupObj of groupedData; let groupindex = index;\" class=\"app-list-item-group\" role=\"presentation\">\n <ul class=\"item-group\" [attr.aria-labelledby]=\"'group_' + widgetId + '_' + groupindex\">\n <li [id]=\"'group_' + widgetId + '_' + groupindex\" aria-hidden=\"true\" class=\"list-group-header\" (click)=\"handleHeaderClick($event)\" [title]=\"groupObj.key\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4 class=\"group-title\" [attr.aria-label]=\"'Group '+groupObj.key\">{{groupObj.key}}\n <div class=\"header-action\">\n <i class=\"app-icon wi action wi-chevron-up\" *ngIf=\"collapsible\" title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\"></i>\n <span *ngIf=\"showcount\" class=\"label label-default\" [textContent]=\"groupObj.data.length\"></span>\n </div>\n </h4>\n </li>\n <li *ngFor=\"let item of groupObj.data; let i = index;\"\n [ngClass]=\"['checkbox', 'app-checkbox', 'group-list-item', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item)\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" partial-container-target></span>\n </label>\n </li>\n </ul>\n </li>\n</ng-template>\n" }]
1134
1141
  }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
1135
1142
  type: i0.Inject,
1136
1143
  args: ['EXPLICIT_CONTEXT']
@@ -1236,6 +1243,7 @@
1236
1243
  ['datavalue', i2.PROP_STRING],
1237
1244
  ['disabled', i2.PROP_BOOLEAN],
1238
1245
  ['hint', i2.PROP_STRING],
1246
+ ['arialabel', i2.PROP_STRING],
1239
1247
  ['localefilter', i2.PROP_STRING],
1240
1248
  ['minvalue', i2.PROP_NUMBER],
1241
1249
  ['maxvalue', i2.PROP_NUMBER],
@@ -1252,6 +1260,7 @@
1252
1260
  ['trailingzero', { value: false, ...i2.PROP_BOOLEAN }],
1253
1261
  ['updateon', i2.PROP_STRING],
1254
1262
  ['inputmode', { value: 'natural', ...i2.PROP_STRING }],
1263
+ ['decimalplaces', i2.PROP_NUMBER],
1255
1264
  ['conditionalclass', i2.PROP_ANY],
1256
1265
  ['conditionalstyle', i2.PROP_ANY]
1257
1266
  ]);
@@ -1378,8 +1387,27 @@
1378
1387
  if (this.isDefaultQuery) {
1379
1388
  const isLocalizedNumber = lodashEs.isString(value) && lodashEs.includes(value, this.DECIMAL);
1380
1389
  const parts = isLocalizedNumber ? value.split(this.DECIMAL) : lodashEs.isString(value) && value.split('.');
1381
- this.decimalValue = parts[1] || '';
1382
- value = isLocalizedNumber ? value : this.transformNumber(value);
1390
+ let decimalPlacesAttrVal = this.getAttr('decimalplaces');
1391
+ const decimalplaces = decimalPlacesAttrVal !== '' && decimalPlacesAttrVal !== undefined ? Number(decimalPlacesAttrVal) : NaN;
1392
+ if (this.inputmode === i2.INPUTMODE.NATURAL && !isNaN(decimalplaces)) {
1393
+ if (decimalplaces === 0) {
1394
+ this.decimalValue = '';
1395
+ value = isLocalizedNumber ? parts[0] : this.transformNumber(parts[0]);
1396
+ }
1397
+ if (decimalplaces > 0) {
1398
+ this.decimalValue = parts[1] && parts[1].substring(0, decimalplaces) || '';
1399
+ if (isLocalizedNumber) {
1400
+ value = this.decimalValue.length ? `${parts[0]}${this.DECIMAL}${this.decimalValue}` : parts[0];
1401
+ }
1402
+ else {
1403
+ value = Number.parseFloat(String(value)).toFixed(decimalplaces);
1404
+ }
1405
+ }
1406
+ }
1407
+ else {
1408
+ this.decimalValue = parts[1] || '';
1409
+ value = isLocalizedNumber ? value : this.transformNumber(value);
1410
+ }
1383
1411
  }
1384
1412
  const numberReg = /\d/;
1385
1413
  const strVal = value.toString();
@@ -1428,8 +1456,14 @@
1428
1456
  */
1429
1457
  isValid(val) {
1430
1458
  // id number is infinite then consider it as invalid value
1431
- if (isNaN(val) || !isFinite(val) || (!Number.isInteger(this.step) &&
1432
- this.countDecimals(val) > this.countDecimals(this.step))) {
1459
+ let invalidDecimalPlaces = false;
1460
+ if (this.inputmode === i2.INPUTMODE.NATURAL && !isNaN(this.decimalplaces) && this.decimalplaces >= 0) {
1461
+ invalidDecimalPlaces = this.countDecimals(val) > this.decimalplaces;
1462
+ }
1463
+ else if (!Number.isInteger(this.step) && this.countDecimals(val) > this.countDecimals(this.step)) {
1464
+ invalidDecimalPlaces = true;
1465
+ }
1466
+ if (isNaN(val) || !isFinite(val) || invalidDecimalPlaces) {
1433
1467
  this.isInvalidNumber = true;
1434
1468
  return false;
1435
1469
  }
@@ -1538,6 +1572,9 @@
1538
1572
  }
1539
1573
  // This function returns the step length set in the studio
1540
1574
  stepLength() {
1575
+ if (this.inputmode === 'INPUTMODE.NATURAL' && !isNaN(this.decimalplaces) && this.decimalplaces >= 0) {
1576
+ return this.decimalplaces;
1577
+ }
1541
1578
  const stepLen = this.step.toString().split('.');
1542
1579
  if (stepLen.length === 1) {
1543
1580
  return;
@@ -1620,11 +1657,10 @@
1620
1657
  * @returns {number}
1621
1658
  */
1622
1659
  countDecimals(value) {
1623
- if ((value % 1) !== 0) {
1624
- const decimalValue = value.toString().split('.')[1];
1625
- return decimalValue && decimalValue.length;
1626
- }
1627
- return 0;
1660
+ const valueStr = value.toString();
1661
+ const isLocalizedNumber = lodashEs.includes(valueStr, this.DECIMAL);
1662
+ const parts = isLocalizedNumber ? valueStr.split(this.DECIMAL) : valueStr.split('.');
1663
+ return parts[1] ? parts[1].length : 0;
1628
1664
  }
1629
1665
  /**
1630
1666
  * handles the arrow press event. Increases or decreases the number. triggered fom the template
@@ -1709,7 +1745,7 @@
1709
1745
  const validity = new RegExp(`^[\\d\\s-,.e+${this.GROUP}${this.DECIMAL}]$`, 'i');
1710
1746
  const inputValue = $event.target.value;
1711
1747
  // when input mode is financial, do not restrict user on entering the value when step value limit is reached.
1712
- const skipStepValidation = this.inputmode === i2.INPUTMODE.FINANCIAL;
1748
+ this.inputmode === i2.INPUTMODE.FINANCIAL;
1713
1749
  // Validates if user eneters more than 16 digits
1714
1750
  if (inputValue) {
1715
1751
  const parsedVal = parseInt(inputValue.toString().replace(/\D/g, ''));
@@ -1726,13 +1762,23 @@
1726
1762
  }
1727
1763
  // validates entering of decimal values only when user provides decimal limit(i.e step contains decimal values).
1728
1764
  // Restrict user from entering only if the decimal limit is reached and the new digit is entered in decimal place
1729
- if (!skipStepValidation && inputValue && this.countDecimals(this.step) && (this.countDecimals(inputValue) >= this.countDecimals(this.step)) && $event.target.selectionStart >= inputValue.length - 1) {
1730
- return false;
1731
- }
1765
+ // if (!skipStepValidation && inputValue && this.countDecimals(this.step) && (this.countDecimals(inputValue) >= this.countDecimals(this.step)) && $event.target.selectionStart >= inputValue.length - 1) {
1766
+ // return false;
1767
+ // }
1732
1768
  // validates if user entered an invalid character.
1733
1769
  if (!validity.test($event.key)) {
1734
1770
  return false;
1735
1771
  }
1772
+ if (this.inputmode === i2.INPUTMODE.NATURAL && !isNaN(this.decimalplaces)) {
1773
+ if (this.decimalplaces === 0 && this.DECIMAL === $event.key) {
1774
+ return false;
1775
+ }
1776
+ const parts = lodashEs.includes(inputValue, this.DECIMAL) ? inputValue.split(this.DECIMAL) : inputValue.split('.');
1777
+ const isCursorPositionAtDecimalPlace = $event.target.selectionStart > parts[0].length;
1778
+ if (this.decimalplaces > 0 && this.countDecimals(inputValue) >= this.decimalplaces && isCursorPositionAtDecimalPlace) {
1779
+ return false;
1780
+ }
1781
+ }
1736
1782
  // comma cannot be entered consecutively
1737
1783
  if (lodashEs.includes(inputValue, ',') && inputValue[inputValue.length - 1] === ',' && $event.key === ',') {
1738
1784
  return false;
@@ -1811,15 +1857,15 @@
1811
1857
  i2.provideAs(NumberComponent, i2$1.NG_VALUE_ACCESSOR, true),
1812
1858
  i2.provideAs(NumberComponent, i2$1.NG_VALIDATORS, true),
1813
1859
  i2.provideAsWidgetRef(NumberComponent)
1814
- ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c1$8, decls: 2, vars: 14, consts: [["input", ""], ["inputmode", "decimal", "focus-target", "", "role", "textbox", "type", "text", 1, "form-control", "app-textbox", "app-number-input", 3, "ngModelChange", "blur", "focus", "input", "keypress", "keydown.backspace", "keydown.enter", "keydown.ArrowUp", "keydown.ArrowDown", "ngModel", "readonly", "disabled", "pattern", "autofocus", "ngClass", "ngStyle", "ngModelOptions", "required"]], template: function NumberComponent_Template(rf, ctx) { if (rf & 1) {
1860
+ ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c1$8, decls: 2, vars: 14, consts: [["input", ""], ["inputmode", "decimal", "focus-target", "", "type", "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) {
1815
1861
  const _r1 = i0__namespace.ɵɵgetCurrentView();
1816
1862
  i0__namespace.ɵɵelementStart(0, "input", 1, 0);
1817
1863
  i0__namespace.ɵɵlistener("ngModelChange", function NumberComponent_Template_input_ngModelChange_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); return i0__namespace.ɵɵresetView(ctx.onModelChange($event)); })("blur", function NumberComponent_Template_input_blur_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); ctx.handleBlur($event); return i0__namespace.ɵɵresetView(ctx.checkForTrailingZeros($event)); })("focus", function NumberComponent_Template_input_focus_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); return i0__namespace.ɵɵresetView(ctx.checkForTrailingZeros($event)); })("input", function NumberComponent_Template_input_input_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); return i0__namespace.ɵɵresetView(ctx.onInputChange($event.target.value)); })("keypress", function NumberComponent_Template_input_keypress_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); return i0__namespace.ɵɵresetView(ctx.validateInputEntry($event)); })("keydown.backspace", function NumberComponent_Template_input_keydown_backspace_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); return i0__namespace.ɵɵresetView(ctx.onBackspace($event)); })("keydown.enter", function NumberComponent_Template_input_keydown_enter_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); return i0__namespace.ɵɵresetView(ctx.onEnter($event)); })("keydown.ArrowUp", function NumberComponent_Template_input_keydown_ArrowUp_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); return i0__namespace.ɵɵresetView(ctx.onArrowPress($event, "UP")); })("keydown.ArrowDown", function NumberComponent_Template_input_keydown_ArrowDown_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); return i0__namespace.ɵɵresetView(ctx.onArrowPress($event, "DOWN")); });
1818
1864
  i0__namespace.ɵɵelementEnd();
1819
1865
  } if (rf & 2) {
1820
1866
  i0__namespace.ɵɵproperty("ngModel", ctx.displayValue)("readonly", ctx.readonly)("disabled", ctx.disabled)("pattern", ctx.regexp)("autofocus", ctx.autofocus)("ngClass", ctx.conditionalclass)("ngStyle", ctx.conditionalstyle)("ngModelOptions", ctx.ngModelOptions)("required", ctx.required);
1821
- i0__namespace.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.hint);
1822
- } }, dependencies: [i1__namespace.NgClass, i1__namespace.NgStyle, i2$1__namespace.DefaultValueAccessor, i2$1__namespace.NgControlStatus, i2$1__namespace.RequiredValidator, i2$1__namespace.PatternValidator, i2$1__namespace.NgModel], encapsulation: 2 }); }
1867
+ i0__namespace.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.arialabel);
1868
+ } }, dependencies: [i1__namespace.NgClass, i1__namespace.NgStyle, i2$1__namespace.DefaultValueAccessor, i2$1__namespace.NumberValueAccessor, i2$1__namespace.NgControlStatus, i2$1__namespace.RequiredValidator, i2$1__namespace.PatternValidator, i2$1__namespace.NgModel], encapsulation: 2 }); }
1823
1869
  }
1824
1870
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(NumberComponent, [{
1825
1871
  type: i0.Component,
@@ -1827,7 +1873,7 @@
1827
1873
  i2.provideAs(NumberComponent, i2$1.NG_VALUE_ACCESSOR, true),
1828
1874
  i2.provideAs(NumberComponent, i2$1.NG_VALIDATORS, true),
1829
1875
  i2.provideAsWidgetRef(NumberComponent)
1830
- ], template: "<input class=\"form-control app-textbox app-number-input\"\n inputmode=\"decimal\"\n focus-target\n [attr.name]=\"name\"\n role=\"textbox\"\n type=\"text\"\n [ngModel]=\"displayValue\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [pattern]=\"regexp\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"hint\"\n [autofocus]=\"autofocus\"\n [ngClass]=\"conditionalclass\"\n [ngStyle]=\"conditionalstyle\"\n (ngModelChange)=\"onModelChange($event)\"\n (blur)=\"handleBlur($event); checkForTrailingZeros($event);\"\n (focus)=\"checkForTrailingZeros($event)\"\n (input)=\"onInputChange($event.target.value)\"\n [ngModelOptions]=\"ngModelOptions\"\n [required]=\"required\"\n (keypress)=\"validateInputEntry($event)\"\n (keydown.backspace)=\"onBackspace($event)\"\n (keydown.enter)=\"onEnter($event)\"\n (keydown.ArrowUp)=\"onArrowPress($event, 'UP')\"\n (keydown.ArrowDown)=\"onArrowPress($event, 'DOWN')\"\n #input>\n" }]
1876
+ ], template: "<input class=\"form-control app-textbox app-number-input\"\n inputmode=\"decimal\"\n focus-target\n [attr.name]=\"name\"\n type=\"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" }]
1831
1877
  }], () => [{ type: i0__namespace.Injector }, { type: i1$1__namespace.AbstractI18nService }, { type: i2__namespace.TrailingZeroDecimalPipe }, { type: undefined, decorators: [{
1832
1878
  type: i0.Inject,
1833
1879
  args: ['EXPLICIT_CONTEXT']
@@ -1889,10 +1935,10 @@
1889
1935
  const item_r2 = ctx_r3.$implicit;
1890
1936
  const i_r5 = ctx_r3.index;
1891
1937
  const ctx_r2 = i0__namespace.ɵɵnextContext(2);
1892
- i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(10, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
1938
+ i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(8, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
1893
1939
  i0__namespace.ɵɵadvance();
1894
- i0__namespace.ɵɵproperty("name", "radioset_" + ctx_r2.widgetId)("value", item_r2.key)("disabled", ctx_r2.disabled || ctx_r2.readonly)("tabindex", ctx_r2.tabindex)("checked", item_r2.selected);
1895
- i0__namespace.ɵɵattribute("aria-checked", item_r2.selected)("data-attr-index", i_r5)("aria-label", item_r2.key);
1940
+ i0__namespace.ɵɵproperty("checked", item_r2.selected)("disabled", ctx_r2.disabled || ctx_r2.readonly)("name", "radioset_" + ctx_r2.widgetId)("tabindex", ctx_r2.tabindex)("value", item_r2.key);
1941
+ i0__namespace.ɵɵattribute("data-attr-index", i_r5);
1896
1942
  i0__namespace.ɵɵadvance();
1897
1943
  i0__namespace.ɵɵproperty("textContent", item_r2.label);
1898
1944
  } }
@@ -1905,16 +1951,16 @@
1905
1951
  const item_r2 = ctx_r3.$implicit;
1906
1952
  const i_r5 = ctx_r3.index;
1907
1953
  const ctx_r2 = i0__namespace.ɵɵnextContext(2);
1908
- i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(9, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
1954
+ i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(7, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
1909
1955
  i0__namespace.ɵɵadvance();
1910
- i0__namespace.ɵɵproperty("name", "radioset_" + ctx_r2.widgetId)("value", item_r2.key)("disabled", ctx_r2.disabled || ctx_r2.readonly)("tabindex", ctx_r2.tabindex)("checked", item_r2.selected);
1911
- i0__namespace.ɵɵattribute("aria-checked", item_r2.selected)("data-attr-index", i_r5)("aria-label", item_r2.key);
1956
+ i0__namespace.ɵɵproperty("checked", item_r2.selected)("disabled", ctx_r2.disabled || ctx_r2.readonly)("name", "radioset_" + ctx_r2.widgetId)("tabindex", ctx_r2.tabindex)("value", item_r2.key);
1957
+ i0__namespace.ɵɵattribute("data-attr-index", i_r5);
1912
1958
  } }
1913
1959
  function RadiosetComponent_ng_template_0_li_0_Template(rf, ctx) { if (rf & 1) {
1914
1960
  const _r1 = i0__namespace.ɵɵgetCurrentView();
1915
1961
  i0__namespace.ɵɵelementStart(0, "li", 5);
1916
1962
  i0__namespace.ɵɵlistener("click", function RadiosetComponent_ng_template_0_li_0_Template_li_click_0_listener($event) { const item_r2 = i0__namespace.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0__namespace.ɵɵnextContext(2); return i0__namespace.ɵɵresetView(ctx_r2.onRadioLabelClick($event, item_r2.key)); });
1917
- i0__namespace.ɵɵtemplate(1, RadiosetComponent_ng_template_0_li_0_label_1_Template, 3, 12, "label", 6)(2, RadiosetComponent_ng_template_0_li_0_label_2_Template, 3, 11, "label", 6);
1963
+ i0__namespace.ɵɵtemplate(1, RadiosetComponent_ng_template_0_li_0_label_1_Template, 3, 10, "label", 6)(2, RadiosetComponent_ng_template_0_li_0_label_2_Template, 3, 9, "label", 6);
1918
1964
  i0__namespace.ɵɵelementEnd();
1919
1965
  } if (rf & 2) {
1920
1966
  const item_r2 = ctx.$implicit;
@@ -1949,39 +1995,39 @@
1949
1995
  } }
1950
1996
  function RadiosetComponent_ng_template_3_li_0_li_8_label_1_Template(rf, ctx) { if (rf & 1) {
1951
1997
  i0__namespace.ɵɵelementStart(0, "label", 7);
1952
- i0__namespace.ɵɵelement(1, "input", 8)(2, "span", 9);
1998
+ i0__namespace.ɵɵelement(1, "input", 24)(2, "span", 9);
1953
1999
  i0__namespace.ɵɵelementEnd();
1954
2000
  } if (rf & 2) {
1955
2001
  const ctx_r9 = i0__namespace.ɵɵnextContext();
1956
2002
  const item_r9 = ctx_r9.$implicit;
1957
2003
  const i_r11 = ctx_r9.index;
1958
2004
  const ctx_r2 = i0__namespace.ɵɵnextContext(3);
1959
- i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(9, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
2005
+ i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(8, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
1960
2006
  i0__namespace.ɵɵadvance();
1961
2007
  i0__namespace.ɵɵproperty("name", "radioset_" + ctx_r2.widgetId)("value", item_r9.key)("disabled", ctx_r2.disabled || ctx_r2.readonly)("tabindex", ctx_r2.tabindex)("checked", item_r9.selected);
1962
- i0__namespace.ɵɵattribute("aria-checked", item_r9.selected)("data-attr-index", i_r11);
2008
+ i0__namespace.ɵɵattribute("data-attr-index", i_r11);
1963
2009
  i0__namespace.ɵɵadvance();
1964
2010
  i0__namespace.ɵɵproperty("textContent", item_r9.label);
1965
2011
  } }
1966
2012
  function RadiosetComponent_ng_template_3_li_0_li_8_label_2_Template(rf, ctx) { if (rf & 1) {
1967
2013
  i0__namespace.ɵɵelementStart(0, "label", 7);
1968
- i0__namespace.ɵɵelement(1, "input", 8)(2, "span", 10);
2014
+ i0__namespace.ɵɵelement(1, "input", 24)(2, "span", 10);
1969
2015
  i0__namespace.ɵɵelementEnd();
1970
2016
  } if (rf & 2) {
1971
2017
  const ctx_r9 = i0__namespace.ɵɵnextContext();
1972
2018
  const item_r9 = ctx_r9.$implicit;
1973
2019
  const i_r11 = ctx_r9.index;
1974
2020
  const ctx_r2 = i0__namespace.ɵɵnextContext(3);
1975
- i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(8, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
2021
+ i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(7, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
1976
2022
  i0__namespace.ɵɵadvance();
1977
2023
  i0__namespace.ɵɵproperty("name", "radioset_" + ctx_r2.widgetId)("value", item_r9.key)("disabled", ctx_r2.disabled || ctx_r2.readonly)("tabindex", ctx_r2.tabindex)("checked", item_r9.selected);
1978
- i0__namespace.ɵɵattribute("aria-checked", item_r9.selected)("data-attr-index", i_r11);
2024
+ i0__namespace.ɵɵattribute("data-attr-index", i_r11);
1979
2025
  } }
1980
2026
  function RadiosetComponent_ng_template_3_li_0_li_8_Template(rf, ctx) { if (rf & 1) {
1981
2027
  const _r8 = i0__namespace.ɵɵgetCurrentView();
1982
2028
  i0__namespace.ɵɵelementStart(0, "li", 23);
1983
2029
  i0__namespace.ɵɵlistener("click", function RadiosetComponent_ng_template_3_li_0_li_8_Template_li_click_0_listener($event) { const item_r9 = i0__namespace.ɵɵrestoreView(_r8).$implicit; const ctx_r2 = i0__namespace.ɵɵnextContext(3); return i0__namespace.ɵɵresetView(ctx_r2.onRadioLabelClick($event, item_r9)); });
1984
- i0__namespace.ɵɵtemplate(1, RadiosetComponent_ng_template_3_li_0_li_8_label_1_Template, 3, 11, "label", 6)(2, RadiosetComponent_ng_template_3_li_0_li_8_label_2_Template, 3, 10, "label", 6);
2030
+ i0__namespace.ɵɵtemplate(1, RadiosetComponent_ng_template_3_li_0_li_8_label_1_Template, 3, 10, "label", 6)(2, RadiosetComponent_ng_template_3_li_0_li_8_label_2_Template, 3, 9, "label", 6);
1985
2031
  i0__namespace.ɵɵelementEnd();
1986
2032
  } if (rf & 2) {
1987
2033
  const item_r9 = ctx.$implicit;
@@ -2006,10 +2052,15 @@
2006
2052
  i0__namespace.ɵɵelementEnd()();
2007
2053
  } if (rf & 2) {
2008
2054
  const groupObj_r7 = ctx.$implicit;
2055
+ const groupindex_r12 = ctx.index;
2009
2056
  const ctx_r2 = i0__namespace.ɵɵnextContext(2);
2010
- i0__namespace.ɵɵadvance(2);
2011
- i0__namespace.ɵɵproperty("title", groupObj_r7.key)("ngClass", i0__namespace.ɵɵpureFunction1(6, _c3, ctx_r2.collapsible));
2012
- i0__namespace.ɵɵadvance(2);
2057
+ i0__namespace.ɵɵadvance();
2058
+ i0__namespace.ɵɵattribute("aria-labelledby", "group_" + ctx_r2.widgetId + "_" + groupindex_r12);
2059
+ i0__namespace.ɵɵadvance();
2060
+ i0__namespace.ɵɵproperty("id", "group_" + ctx_r2.widgetId + "_" + groupindex_r12)("title", groupObj_r7.key)("ngClass", i0__namespace.ɵɵpureFunction1(9, _c3, ctx_r2.collapsible));
2061
+ i0__namespace.ɵɵadvance();
2062
+ i0__namespace.ɵɵattribute("aria-label", "Group " + groupObj_r7.key);
2063
+ i0__namespace.ɵɵadvance();
2013
2064
  i0__namespace.ɵɵtextInterpolate1("", groupObj_r7.key, " ");
2014
2065
  i0__namespace.ɵɵadvance(2);
2015
2066
  i0__namespace.ɵɵproperty("ngIf", ctx_r2.collapsible);
@@ -2019,7 +2070,7 @@
2019
2070
  i0__namespace.ɵɵproperty("ngForOf", groupObj_r7.data);
2020
2071
  } }
2021
2072
  function RadiosetComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
2022
- i0__namespace.ɵɵtemplate(0, RadiosetComponent_ng_template_3_li_0_Template, 9, 8, "li", 12);
2073
+ i0__namespace.ɵɵtemplate(0, RadiosetComponent_ng_template_3_li_0_Template, 9, 11, "li", 12);
2023
2074
  } if (rf & 2) {
2024
2075
  const ctx_r2 = i0__namespace.ɵɵnextContext();
2025
2076
  i0__namespace.ɵɵproperty("ngForOf", ctx_r2.groupedData);
@@ -2077,13 +2128,13 @@
2077
2128
  i2.provideAs(RadiosetComponent, i2$1.NG_VALUE_ACCESSOR, true),
2078
2129
  i2.provideAs(RadiosetComponent, i2$1.NG_VALIDATORS, true),
2079
2130
  i2.provideAsWidgetRef(RadiosetComponent)
2080
- ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c0$8, decls: 5, vars: 4, consts: [["groupedListTemplate", ""], [3, "ngIf", "ngIfElse"], ["hidden", "", 1, "model-holder", 3, "disabled"], ["aria-readonly", "true", "class", "readonly-wrapper", 4, "ngIf"], ["partialContainer", "", "role", "presentation", 3, "ngClass", "active", "wmItemTemplate", "userComponentParams", "click", 4, "ngFor", "ngForOf"], ["partialContainer", "", "role", "presentation", 3, "click", "ngClass", "wmItemTemplate", "userComponentParams"], ["class", "app-radioset-label", 3, "ngClass", 4, "ngIf"], [1, "app-radioset-label", 3, "ngClass"], ["type", "radio", 3, "name", "value", "disabled", "tabindex", "checked"], [1, "caption", 3, "textContent"], ["partial-container-target", "", 1, "caption", "customTemplate"], ["aria-readonly", "true", 1, "readonly-wrapper"], ["class", "app-list-item-group", 4, "ngFor", "ngForOf"], [1, "app-list-item-group"], [1, "item-group"], [1, "list-group-header", 3, "click", "title", "ngClass"], [1, "group-title"], [1, "header-action"], ["class", "app-icon wi action wi-chevron-up", 3, "title", 4, "ngIf"], ["class", "label label-default", 3, "textContent", 4, "ngIf"], ["partialContainer", "", 3, "ngClass", "active", "wmItemTemplate", "userComponentParams", "click", 4, "ngFor", "ngForOf"], [1, "app-icon", "wi", "action", "wi-chevron-up", 3, "title"], [1, "label", "label-default", 3, "textContent"], ["partialContainer", "", 3, "click", "ngClass", "wmItemTemplate", "userComponentParams"]], template: function RadiosetComponent_Template(rf, ctx) { if (rf & 1) {
2131
+ ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c0$8, decls: 5, vars: 4, consts: [["groupedListTemplate", ""], [3, "ngIf", "ngIfElse"], ["hidden", "", 1, "model-holder", 3, "disabled"], ["aria-readonly", "true", "class", "readonly-wrapper", 4, "ngIf"], ["partialContainer", "", "role", "presentation", 3, "ngClass", "active", "wmItemTemplate", "userComponentParams", "click", 4, "ngFor", "ngForOf"], ["partialContainer", "", "role", "presentation", 3, "click", "ngClass", "wmItemTemplate", "userComponentParams"], ["class", "app-radioset-label", 3, "ngClass", 4, "ngIf"], [1, "app-radioset-label", 3, "ngClass"], ["type", "radio", 3, "checked", "disabled", "name", "tabindex", "value"], [1, "caption", 3, "textContent"], ["partial-container-target", "", 1, "caption", "customTemplate"], ["aria-readonly", "true", 1, "readonly-wrapper"], ["class", "app-list-item-group", "role", "presentation", 4, "ngFor", "ngForOf"], ["role", "presentation", 1, "app-list-item-group"], [1, "item-group"], ["aria-hidden", "true", 1, "list-group-header", 3, "click", "id", "title", "ngClass"], [1, "group-title"], [1, "header-action"], ["class", "app-icon wi action wi-chevron-up", 3, "title", 4, "ngIf"], ["class", "label label-default", 3, "textContent", 4, "ngIf"], ["partialContainer", "", 3, "ngClass", "active", "wmItemTemplate", "userComponentParams", "click", 4, "ngFor", "ngForOf"], [1, "app-icon", "wi", "action", "wi-chevron-up", 3, "title"], [1, "label", "label-default", 3, "textContent"], ["partialContainer", "", 3, "click", "ngClass", "wmItemTemplate", "userComponentParams"], ["type", "radio", 3, "name", "value", "disabled", "tabindex", "checked"]], template: function RadiosetComponent_Template(rf, ctx) { if (rf & 1) {
2081
2132
  i0__namespace.ɵɵtemplate(0, RadiosetComponent_ng_template_0_Template, 1, 1, "ng-template", 1);
2082
2133
  i0__namespace.ɵɵelement(1, "input", 2);
2083
2134
  i0__namespace.ɵɵtemplate(2, RadiosetComponent_div_2_Template, 1, 0, "div", 3)(3, RadiosetComponent_ng_template_3_Template, 1, 1, "ng-template", null, 0, i0__namespace.ɵɵtemplateRefExtractor);
2084
2135
  } if (rf & 2) {
2085
- const groupedListTemplate_r12 = i0__namespace.ɵɵreference(4);
2086
- i0__namespace.ɵɵproperty("ngIf", !ctx.groupby)("ngIfElse", groupedListTemplate_r12);
2136
+ const groupedListTemplate_r13 = i0__namespace.ɵɵreference(4);
2137
+ i0__namespace.ɵɵproperty("ngIf", !ctx.groupby)("ngIfElse", groupedListTemplate_r13);
2087
2138
  i0__namespace.ɵɵadvance();
2088
2139
  i0__namespace.ɵɵproperty("disabled", ctx.disabled || ctx.readonly);
2089
2140
  i0__namespace.ɵɵadvance();
@@ -2096,7 +2147,7 @@
2096
2147
  i2.provideAs(RadiosetComponent, i2$1.NG_VALUE_ACCESSOR, true),
2097
2148
  i2.provideAs(RadiosetComponent, i2$1.NG_VALIDATORS, true),
2098
2149
  i2.provideAsWidgetRef(RadiosetComponent)
2099
- ], template: "<ng-template [ngIf]=\"!groupby\" [ngIfElse]=\"groupedListTemplate\">\n <li [ngClass]=\"['radio', 'app-radio', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n *ngFor=\"let item of datasetItems;let i = index\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onRadioLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [name]=\"'radioset_' + widgetId\" type=\"radio\" [attr.aria-checked]=\"item.selected\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"\n [attr.aria-label]=\"item.key\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [name]=\"'radioset_' + widgetId\" type=\"radio\" [attr.aria-checked]=\"item.selected\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"\n [attr.aria-label]=\"item.key\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n </li>\n</ng-template>\n\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\">\n<div *ngIf=\"readonly || disabled\" aria-readonly=\"true\" class=\"readonly-wrapper\"></div>\n\n<!-- This template will be displayed when groupby is specified. -->\n<ng-template #groupedListTemplate>\n <li *ngFor=\"let groupObj of groupedData\" class=\"app-list-item-group\">\n <ul class=\"item-group\">\n <li class=\"list-group-header\" (click)=\"handleHeaderClick($event)\" [title]=\"groupObj.key\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4 class=\"group-title\">{{groupObj.key}}\n <div class=\"header-action\">\n <i class=\"app-icon wi action wi-chevron-up\" *ngIf=\"collapsible\" title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\"></i>\n <span *ngIf=\"showcount\" class=\"label label-default\" [textContent]=\"groupObj.data.length\"></span>\n </div>\n </h4>\n </li>\n <li *ngFor=\"let item of groupObj.data; let i = index;\"\n [ngClass]=\"['radio', 'app-radio', 'group-list-item', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onRadioLabelClick($event, item)\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [name]=\"'radioset_' + widgetId\" type=\"radio\" [attr.aria-checked]=\"item.selected\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [name]=\"'radioset_' + widgetId\" type=\"radio\" [attr.aria-checked]=\"item.selected\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n </li>\n </ul>\n </li>\n</ng-template>\n" }]
2150
+ ], template: "<ng-template [ngIf]=\"!groupby\" [ngIfElse]=\"groupedListTemplate\">\n <li [ngClass]=\"['radio', 'app-radio', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n *ngFor=\"let item of datasetItems;let i = index\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onRadioLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [attr.data-attr-index]=\"i\" [checked]=\"item.selected\" [disabled]=\"disabled || readonly\"\n [name]=\"'radioset_' + widgetId\" [tabindex]=\"tabindex\" [value]=\"item.key\"\n type=\"radio\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [attr.data-attr-index]=\"i\" [checked]=\"item.selected\" [disabled]=\"disabled || readonly\"\n [name]=\"'radioset_' + widgetId\" [tabindex]=\"tabindex\" [value]=\"item.key\"\n type=\"radio\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n </li>\n</ng-template>\n\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\">\n<div *ngIf=\"readonly || disabled\" aria-readonly=\"true\" class=\"readonly-wrapper\"></div>\n\n<!-- This template will be displayed when groupby is specified. -->\n<ng-template #groupedListTemplate>\n <li *ngFor=\"let groupObj of groupedData; let groupindex = index;\" class=\"app-list-item-group\" role=\"presentation\" >\n <ul class=\"item-group\" [attr.aria-labelledby]=\"'group_' + widgetId + '_' + groupindex\">\n <li [id]=\"'group_' + widgetId + '_' + groupindex\" aria-hidden=\"true\" class=\"list-group-header\" (click)=\"handleHeaderClick($event)\" [title]=\"groupObj.key\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4 class=\"group-title\" [attr.aria-label]=\"'Group '+groupObj.key\">{{groupObj.key}}\n <div class=\"header-action\">\n <i class=\"app-icon wi action wi-chevron-up\" *ngIf=\"collapsible\" title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\"></i>\n <span *ngIf=\"showcount\" class=\"label label-default\" [textContent]=\"groupObj.data.length\"></span>\n </div>\n </h4>\n </li>\n <li *ngFor=\"let item of groupObj.data; let i = index;\"\n [ngClass]=\"['radio', 'app-radio', 'group-list-item', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onRadioLabelClick($event, item)\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [attr.data-attr-index]=\"i\" [name]=\"'radioset_' + widgetId\" type=\"radio\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [attr.data-attr-index]=\"i\" [name]=\"'radioset_' + widgetId\" type=\"radio\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n </li>\n </ul>\n </li>\n</ng-template>\n" }]
2100
2151
  }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
2101
2152
  type: i0.Inject,
2102
2153
  args: ['EXPLICIT_CONTEXT']
@@ -2120,6 +2171,7 @@
2120
2171
  ['displayValue', i2.PROP_STRING],
2121
2172
  ['groupby', i2.PROP_STRING],
2122
2173
  ['hint', i2.PROP_STRING],
2174
+ ['arialabel', i2.PROP_STRING],
2123
2175
  ['match', i2.PROP_STRING],
2124
2176
  ['multiple', { value: false, ...i2.PROP_BOOLEAN }],
2125
2177
  ['name', i2.PROP_STRING],
@@ -2199,7 +2251,7 @@
2199
2251
  * As this widget implements ControlValueAccessor, manually updating the ngModel (or modelByKey) is necessary to ensure correct form behavior.
2200
2252
  * */
2201
2253
  const datasetSubscription = this.dataset$.subscribe(() => {
2202
- if (i1$1.isIos()) {
2254
+ if (i1$1.isIos() || i1$1.isSafari()) {
2203
2255
  if (this.datavalue) {
2204
2256
  const selectedItem = this.datasetItems.find(item => item.selected);
2205
2257
  if (!selectedItem) {
@@ -2279,7 +2331,7 @@
2279
2331
  */
2280
2332
  checkForFloatingLabel($event) {
2281
2333
  const captionEl = $(this.selectEl.nativeElement).closest('.app-composite-widget.caption-floating');
2282
- if (!this.placeholder && i1$1.isIos()) {
2334
+ if (!this.placeholder && (i1$1.isIos() || i1$1.isSafari())) {
2283
2335
  this.removePlaceholderOption();
2284
2336
  }
2285
2337
  if (captionEl.length > 0) {
@@ -2322,7 +2374,7 @@
2322
2374
  i2.provideAs(SelectComponent, i2$1.NG_VALUE_ACCESSOR, true),
2323
2375
  i2.provideAs(SelectComponent, i2$1.NG_VALIDATORS, true),
2324
2376
  i2.provideAsWidgetRef(SelectComponent)
2325
- ]), i0__namespace.ɵɵ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) {
2377
+ ]), i0__namespace.ɵɵInheritDefinitionFeature], decls: 5, vars: 18, consts: [["select", ""], ["focus-target", "", 3, "ngModelChange", "change", "mousedown", "blur", "ngClass", "disabled", "required", "tabindex", "ngModel", "ngModelOptions", "multiple", "autofocus"], ["selected", "", "value", "undefined", "id", "placeholderOption", 3, "textContent", "hidden"], [4, "ngIf"], [3, "label", 4, "ngFor", "ngForOf"], [3, "label"], [3, "value", "selected", "textContent", 4, "ngFor", "ngForOf"], [3, "value", "selected", "textContent"]], template: function SelectComponent_Template(rf, ctx) { if (rf & 1) {
2326
2378
  const _r1 = i0__namespace.ɵɵgetCurrentView();
2327
2379
  i0__namespace.ɵɵelementStart(0, "select", 1, 0);
2328
2380
  i0__namespace.ɵɵtwoWayListener("ngModelChange", function SelectComponent_Template_select_ngModelChange_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); i0__namespace.ɵɵtwoWayBindingSet(ctx.modelByKey, $event) || (ctx.modelByKey = $event); return i0__namespace.ɵɵresetView($event); });
@@ -2334,7 +2386,7 @@
2334
2386
  i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(15, _c1$6, ctx.class))("disabled", ctx.disabled)("required", ctx.required)("tabindex", ctx.tabindex);
2335
2387
  i0__namespace.ɵɵtwoWayProperty("ngModel", ctx.modelByKey);
2336
2388
  i0__namespace.ɵɵproperty("ngModelOptions", i0__namespace.ɵɵpureFunction0(17, _c2$4))("multiple", ctx.multiple)("autofocus", ctx.autofocus);
2337
- i0__namespace.ɵɵattribute("name", ctx.name)("aria-label", ctx.hint)("aria-multiselectable", ctx.multiple);
2389
+ i0__namespace.ɵɵattribute("accesskey", ctx.shortcutkey)("name", ctx.name)("aria-label", ctx.arialabel);
2338
2390
  i0__namespace.ɵɵadvance(2);
2339
2391
  i0__namespace.ɵɵproperty("textContent", ctx.placeholder)("hidden", !ctx.placeholder);
2340
2392
  i0__namespace.ɵɵadvance();
@@ -2349,7 +2401,7 @@
2349
2401
  i2.provideAs(SelectComponent, i2$1.NG_VALUE_ACCESSOR, true),
2350
2402
  i2.provideAs(SelectComponent, i2$1.NG_VALIDATORS, true),
2351
2403
  i2.provideAsWidgetRef(SelectComponent)
2352
- ], 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" }]
2404
+ ], template: "<!--Updated focus with mousedown event. IOS devices not allow update of option value after opening dropdown-->\n<select #select\n focus-target\n [ngClass]=\"['app-select form-control', class]\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [attr.accesskey]=\"shortcutkey\"\n [(ngModel)]=\"modelByKey\"\n [ngModelOptions]=\"{standalone: true}\"\n [multiple]=\"multiple\"\n (change)=\"onSelectValueChange($event)\"\n (mousedown)=\"checkForFloatingLabel($event)\"\n (blur)=\"invokeOnTouched($event); checkForFloatingLabel($event)\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel\"\n [autofocus]=\"autofocus\">\n\n <option selected\n value=\"undefined\"\n [textContent]=\"placeholder\"\n id=\"placeholderOption\"\n [hidden]=\"!placeholder\"></option>\n\n <ng-container *ngIf=\"groupby\">\n <optgroup *ngFor=\"let groupObj of groupedData\"\n [label]=\"groupObj.key\">\n <option *ngFor=\"let item of groupObj.data;\"\n [value]=\"item.key\"\n [selected]=\"item.selected\"\n [textContent]=\"item.label\"\n ></option>\n </optgroup>\n </ng-container>\n\n <ng-container *ngIf=\"!groupby\">\n <option *ngFor=\"let item of datasetItems\"\n [value]=\"item.key\"\n [selected]=\"item.selected\"\n [textContent]=\"item.label\"\n ></option>\n </ng-container>\n</select>\n" }]
2353
2405
  }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
2354
2406
  type: i0.Inject,
2355
2407
  args: ['EXPLICIT_CONTEXT']
@@ -2372,6 +2424,7 @@
2372
2424
  ['displayexpression', i2.PROP_STRING],
2373
2425
  ['displayfield', i2.PROP_STRING],
2374
2426
  ['hint', i2.PROP_STRING],
2427
+ ['arialabel', i2.PROP_STRING],
2375
2428
  ['iconclass', i2.PROP_STRING],
2376
2429
  ['name', i2.PROP_STRING],
2377
2430
  ['orderby', i2.PROP_STRING],
@@ -2405,7 +2458,8 @@
2405
2458
  } if (rf & 2) {
2406
2459
  const opt_r3 = ctx.$implicit;
2407
2460
  const ctx_r4 = i0__namespace.ɵɵnextContext();
2408
- i0__namespace.ɵɵproperty("name", "wm-switch-" + opt_r3.key)("ngClass", i0__namespace.ɵɵpureFunction2(4, _c1$5, opt_r3.selected, ctx_r4.disabled));
2461
+ i0__namespace.ɵɵproperty("name", "wm-switch-" + opt_r3.key)("ngClass", i0__namespace.ɵɵpureFunction2(5, _c1$5, opt_r3.selected, ctx_r4.disabled));
2462
+ i0__namespace.ɵɵattribute("aria-pressed", opt_r3.selected ? true : false);
2409
2463
  i0__namespace.ɵɵadvance();
2410
2464
  i0__namespace.ɵɵproperty("ngIf", opt_r3.dataObject && opt_r3.dataObject[ctx_r4.iconclass]);
2411
2465
  i0__namespace.ɵɵadvance();
@@ -2529,9 +2583,9 @@
2529
2583
  static { this.ɵcmp = /*@__PURE__*/ i0__namespace.ɵɵdefineComponent({ type: SwitchComponent, selectors: [["", "wmSwitch", ""]], exportAs: ["wmSwitch"], features: [i0__namespace.ɵɵProvidersFeature([
2530
2584
  i2.provideAs(SwitchComponent, i2$1.NG_VALUE_ACCESSOR, true),
2531
2585
  i2.provideAsWidgetRef(SwitchComponent)
2532
- ]), i0__namespace.ɵɵ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) {
2586
+ ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c0$6, decls: 6, vars: 8, consts: [[1, "btn-group", "btn-group-justified"], ["focus-target", "", "href", "javascript:void(0);", "class", "btn btn-default", "role", "button", 3, "name", "ngClass", "click", 4, "ngFor", "ngForOf"], ["aria-hidden", "true", 1, "btn", "btn-primary", "app-switch-overlay", "switch-handle", 3, "title"], [3, "class", 4, "ngIf"], ["aria-hidden", "true", 1, "model-holder", "ng-hide", 3, "name", "disabled", "value", "required"], ["focus-target", "", "href", "javascript:void(0);", "role", "button", 1, "btn", "btn-default", 3, "click", "name", "ngClass"], ["aria-hidden", "true", 3, "ngClass", 4, "ngIf"], [1, "caption", 3, "textContent"], ["aria-hidden", "true", 3, "ngClass"]], template: function SwitchComponent_Template(rf, ctx) { if (rf & 1) {
2533
2587
  i0__namespace.ɵɵelementStart(0, "div", 0);
2534
- i0__namespace.ɵɵtemplate(1, SwitchComponent_a_1_Template, 3, 7, "a", 1);
2588
+ i0__namespace.ɵɵtemplate(1, SwitchComponent_a_1_Template, 3, 8, "a", 1);
2535
2589
  i0__namespace.ɵɵelementEnd();
2536
2590
  i0__namespace.ɵɵelementStart(2, "span", 2);
2537
2591
  i0__namespace.ɵɵtemplate(3, SwitchComponent_i_3_Template, 1, 3, "i", 3);
@@ -2556,7 +2610,7 @@
2556
2610
  args: [{ selector: '[wmSwitch]', providers: [
2557
2611
  i2.provideAs(SwitchComponent, i2$1.NG_VALUE_ACCESSOR, true),
2558
2612
  i2.provideAsWidgetRef(SwitchComponent)
2559
- ], 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" }]
2613
+ ], exportAs: 'wmSwitch', template: "<div class=\"btn-group btn-group-justified\">\n <a *ngFor=\"let opt of datasetItems; let $index = index;\"\n focus-target\n href=\"javascript:void(0);\"\n class=\"btn btn-default\"\n [name]=\"'wm-switch-' + opt.key\"\n role=\"button\"\n [ngClass]=\"{'selected': opt.selected, 'disabled': disabled}\"\n [attr.aria-pressed]=\"opt.selected ? true : false\"\n (click)=\"selectOpt($event, $index, opt)\"\n >\n <i *ngIf=\"opt.dataObject && opt.dataObject[iconclass]\" aria-hidden=\"true\" [ngClass]=\"['app-icon', opt.dataObject[iconclass] || opt['icon']]\"></i>\n <span class=\"caption\" [textContent]=\"opt[displayfield] || opt.label\"></span>\n </a>\n</div>\n<span aria-hidden=\"true\" [title]=\"selectedItem ? selectedItem.label : modelByKey\"\n class=\"btn btn-primary app-switch-overlay switch-handle\">\n <i *ngIf=\"iconclass\"\n class=\"app-icon {{(selectedItem && selectedItem.dataObject) && selectedItem.dataObject[iconclass]}}\"></i>\n {{selectedItem ? selectedItem.label : modelByKey}}\n</span>\n<input [name]=\"name\" class=\"model-holder ng-hide\" [disabled]=\"disabled\" [value]=\"modelByKey\" [required]=\"required\" aria-hidden=\"true\">\n" }]
2560
2614
  }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
2561
2615
  type: i0.Inject,
2562
2616
  args: ['EXPLICIT_CONTEXT']
@@ -2574,6 +2628,7 @@
2574
2628
  ['datavalue', i2.PROP_STRING],
2575
2629
  ['disabled', i2.PROP_BOOLEAN],
2576
2630
  ['hint', i2.PROP_STRING],
2631
+ ['arialabel', i2.PROP_STRING],
2577
2632
  ['maxvalue', i2.PROP_NUMBER],
2578
2633
  ['minvalue', i2.PROP_NUMBER],
2579
2634
  ['name', i2.PROP_STRING],
@@ -2617,7 +2672,7 @@
2617
2672
  i2.provideAs(InputCalendarComponent, i2$1.NG_VALUE_ACCESSOR, true),
2618
2673
  i2.provideAs(InputCalendarComponent, i2$1.NG_VALIDATORS, true),
2619
2674
  i2.provideAsWidgetRef(InputCalendarComponent)
2620
- ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c1$4, decls: 2, vars: 19, consts: [["input", ""], ["focus-target", "", "role", "textbox", 1, "form-control", "app-textbox", 3, "ngModelChange", "blur", "type", "ngModel", "ngModelOptions", "readonly", "required", "disabled", "min", "max", "step", "autofocus", "autocomplete", "ngClass", "ngStyle"]], template: function InputCalendarComponent_Template(rf, ctx) { if (rf & 1) {
2675
+ ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c1$4, decls: 2, vars: 19, consts: [["input", ""], ["focus-target", "", 1, "form-control", "app-textbox", 3, "ngModelChange", "blur", "type", "ngModel", "ngModelOptions", "readonly", "required", "disabled", "min", "max", "step", "autofocus", "autocomplete", "ngClass", "ngStyle"]], template: function InputCalendarComponent_Template(rf, ctx) { if (rf & 1) {
2621
2676
  const _r1 = i0__namespace.ɵɵgetCurrentView();
2622
2677
  i0__namespace.ɵɵelementStart(0, "input", 1, 0);
2623
2678
  i0__namespace.ɵɵtwoWayListener("ngModelChange", function InputCalendarComponent_Template_input_ngModelChange_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); i0__namespace.ɵɵtwoWayBindingSet(ctx.datavalue, $event) || (ctx.datavalue = $event); return i0__namespace.ɵɵresetView($event); });
@@ -2627,7 +2682,7 @@
2627
2682
  i0__namespace.ɵɵproperty("type", ctx.type);
2628
2683
  i0__namespace.ɵɵtwoWayProperty("ngModel", ctx.datavalue);
2629
2684
  i0__namespace.ɵɵproperty("ngModelOptions", i0__namespace.ɵɵpureFunction0(18, _c2$2))("readonly", ctx.readonly)("required", ctx.required)("disabled", ctx.disabled)("min", ctx.minvalue)("max", ctx.maxvalue)("step", ctx.step)("autofocus", ctx.autofocus)("autocomplete", ctx.autocomplete ? "on" : "off")("ngClass", ctx.conditionalclass)("ngStyle", ctx.conditionalstyle);
2630
- i0__namespace.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.hint || ctx.type + " field");
2685
+ i0__namespace.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.arialabel || ctx.type + " field");
2631
2686
  } }, dependencies: [i1__namespace.NgClass, i1__namespace.NgStyle, i2$1__namespace.DefaultValueAccessor, i2$1__namespace.NgControlStatus, i2$1__namespace.RequiredValidator, i2$1__namespace.NgModel], encapsulation: 2 }); }
2632
2687
  }
2633
2688
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(InputCalendarComponent, [{
@@ -2636,7 +2691,7 @@
2636
2691
  i2.provideAs(InputCalendarComponent, i2$1.NG_VALUE_ACCESSOR, true),
2637
2692
  i2.provideAs(InputCalendarComponent, i2$1.NG_VALIDATORS, true),
2638
2693
  i2.provideAsWidgetRef(InputCalendarComponent)
2639
- ], template: "<input class=\"form-control app-textbox\"\n focus-target\n role=\"textbox\"\n [type]=\"type\"\n [attr.name]=\"name\"\n [(ngModel)]=\"datavalue\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [min]=\"minvalue\"\n [max]=\"maxvalue\"\n [step]=\"step\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"hint || type + ' field'\"\n [autofocus]=\"autofocus\"\n (blur)=\"handleBlur($event)\"\n (ngModelChange)=\"handleChange($event)\"\n [autocomplete]=\"autocomplete ? 'on' : 'off'\"\n [ngClass]=\"conditionalclass\"\n [ngStyle]=\"conditionalstyle\"\n #input>\n" }]
2694
+ ], template: "<input class=\"form-control app-textbox\"\n focus-target\n [type]=\"type\"\n [attr.name]=\"name\"\n [(ngModel)]=\"datavalue\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [min]=\"minvalue\"\n [max]=\"maxvalue\"\n [step]=\"step\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"arialabel || type + ' field'\"\n [autofocus]=\"autofocus\"\n (blur)=\"handleBlur($event)\"\n (ngModelChange)=\"handleChange($event)\"\n [autocomplete]=\"autocomplete ? 'on' : 'off'\"\n [ngClass]=\"conditionalclass\"\n [ngStyle]=\"conditionalstyle\"\n #input>\n" }]
2640
2695
  }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
2641
2696
  type: i0.Inject,
2642
2697
  args: ['EXPLICIT_CONTEXT']
@@ -2660,6 +2715,7 @@
2660
2715
  ['datavalue', i2.PROP_STRING],
2661
2716
  ['disabled', i2.PROP_BOOLEAN],
2662
2717
  ['hint', i2.PROP_STRING],
2718
+ ['arialabel', i2.PROP_STRING],
2663
2719
  ['name', i2.PROP_STRING],
2664
2720
  ['placeholder', { value: 'Enter text', ...i2.PROP_STRING }],
2665
2721
  ['readonly', i2.PROP_BOOLEAN],
@@ -2700,7 +2756,7 @@
2700
2756
  i2.provideAs(InputColorComponent, i2$1.NG_VALUE_ACCESSOR, true),
2701
2757
  i2.provideAs(InputColorComponent, i2$1.NG_VALIDATORS, true),
2702
2758
  i2.provideAsWidgetRef(InputColorComponent)
2703
- ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c1$3, decls: 2, vars: 16, consts: [["input", ""], ["focus-target", "", "role", "textbox", 1, "form-control", "app-textbox", 3, "ngModelChange", "blur", "type", "ngModel", "ngModelOptions", "readonly", "required", "disabled", "maxlength", "autofocus", "ngClass", "ngStyle"]], template: function InputColorComponent_Template(rf, ctx) { if (rf & 1) {
2759
+ ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c1$3, decls: 2, vars: 16, consts: [["input", ""], ["focus-target", "", 1, "form-control", "app-textbox", 3, "ngModelChange", "blur", "type", "ngModel", "ngModelOptions", "readonly", "required", "disabled", "maxlength", "autofocus", "ngClass", "ngStyle"]], template: function InputColorComponent_Template(rf, ctx) { if (rf & 1) {
2704
2760
  const _r1 = i0__namespace.ɵɵgetCurrentView();
2705
2761
  i0__namespace.ɵɵelementStart(0, "input", 1, 0);
2706
2762
  i0__namespace.ɵɵtwoWayListener("ngModelChange", function InputColorComponent_Template_input_ngModelChange_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); i0__namespace.ɵɵtwoWayBindingSet(ctx.datavalue, $event) || (ctx.datavalue = $event); return i0__namespace.ɵɵresetView($event); });
@@ -2710,7 +2766,7 @@
2710
2766
  i0__namespace.ɵɵproperty("type", ctx.type);
2711
2767
  i0__namespace.ɵɵtwoWayProperty("ngModel", ctx.datavalue);
2712
2768
  i0__namespace.ɵɵproperty("ngModelOptions", i0__namespace.ɵɵpureFunction0(15, _c2$1))("readonly", ctx.readonly)("required", ctx.required)("disabled", ctx.disabled)("maxlength", ctx.maxchars)("autofocus", ctx.autofocus)("ngClass", ctx.conditionalclass)("ngStyle", ctx.conditionalstyle);
2713
- i0__namespace.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.hint);
2769
+ i0__namespace.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.arialabel);
2714
2770
  } }, dependencies: [i1__namespace.NgClass, i1__namespace.NgStyle, i2$1__namespace.DefaultValueAccessor, i2$1__namespace.NgControlStatus, i2$1__namespace.RequiredValidator, i2$1__namespace.MaxLengthValidator, i2$1__namespace.NgModel], encapsulation: 2 }); }
2715
2771
  }
2716
2772
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(InputColorComponent, [{
@@ -2719,7 +2775,7 @@
2719
2775
  i2.provideAs(InputColorComponent, i2$1.NG_VALUE_ACCESSOR, true),
2720
2776
  i2.provideAs(InputColorComponent, i2$1.NG_VALIDATORS, true),
2721
2777
  i2.provideAsWidgetRef(InputColorComponent)
2722
- ], template: "<input class=\"form-control app-textbox\"\n focus-target\n [type]=\"type\"\n role=\"textbox\"\n [attr.name]=\"name\"\n [(ngModel)]=\"datavalue\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"hint\"\n [autofocus]=\"autofocus\"\n [ngClass]=\"conditionalclass\"\n [ngStyle]=\"conditionalstyle\"\n (blur)=\"handleBlur($event)\"\n (ngModelChange)=\"handleChange($event)\"\n #input>\n" }]
2778
+ ], template: "<input class=\"form-control app-textbox\"\n focus-target\n [type]=\"type\"\n [attr.name]=\"name\"\n [(ngModel)]=\"datavalue\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"arialabel\"\n [autofocus]=\"autofocus\"\n [ngClass]=\"conditionalclass\"\n [ngStyle]=\"conditionalstyle\"\n (blur)=\"handleBlur($event)\"\n (ngModelChange)=\"handleChange($event)\"\n #input>\n" }]
2723
2779
  }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
2724
2780
  type: i0.Inject,
2725
2781
  args: ['EXPLICIT_CONTEXT']
@@ -2743,6 +2799,7 @@
2743
2799
  ['datavalue', i2.PROP_STRING],
2744
2800
  ['disabled', i2.PROP_BOOLEAN],
2745
2801
  ['hint', i2.PROP_STRING],
2802
+ ['arialabel', i2.PROP_STRING],
2746
2803
  ['maxchars', i2.PROP_NUMBER],
2747
2804
  ['name', i2.PROP_STRING],
2748
2805
  ['placeholder', { value: 'Enter text', ...i2.PROP_STRING }],
@@ -2784,7 +2841,7 @@
2784
2841
  i2.provideAs(InputEmailComponent, i2$1.NG_VALUE_ACCESSOR, true),
2785
2842
  i2.provideAs(InputEmailComponent, i2$1.NG_VALIDATORS, true),
2786
2843
  i2.provideAsWidgetRef(InputEmailComponent)
2787
- ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c1$2, decls: 2, vars: 17, consts: [["input", ""], ["focus-target", "", "role", "textbox", "email", "", 1, "form-control", "app-textbox", 3, "ngModelChange", "blur", "keyup.enter", "type", "ngModel", "ngModelOptions", "readonly", "required", "disabled", "maxlength", "pattern", "autofocus", "ngClass", "ngStyle", "autocomplete"]], template: function InputEmailComponent_Template(rf, ctx) { if (rf & 1) {
2844
+ ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c1$2, decls: 2, vars: 17, consts: [["input", ""], ["focus-target", "", "email", "", 1, "form-control", "app-textbox", 3, "ngModelChange", "blur", "keyup.enter", "type", "ngModel", "ngModelOptions", "readonly", "required", "disabled", "maxlength", "pattern", "autofocus", "ngClass", "ngStyle", "autocomplete"]], template: function InputEmailComponent_Template(rf, ctx) { if (rf & 1) {
2788
2845
  const _r1 = i0__namespace.ɵɵgetCurrentView();
2789
2846
  i0__namespace.ɵɵelementStart(0, "input", 1, 0);
2790
2847
  i0__namespace.ɵɵtwoWayListener("ngModelChange", function InputEmailComponent_Template_input_ngModelChange_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); i0__namespace.ɵɵtwoWayBindingSet(ctx.datavalue, $event) || (ctx.datavalue = $event); return i0__namespace.ɵɵresetView($event); });
@@ -2794,7 +2851,7 @@
2794
2851
  i0__namespace.ɵɵproperty("type", ctx.type);
2795
2852
  i0__namespace.ɵɵtwoWayProperty("ngModel", ctx.datavalue);
2796
2853
  i0__namespace.ɵɵproperty("ngModelOptions", ctx.ngModelOptions)("readonly", ctx.readonly)("required", ctx.required)("disabled", ctx.disabled)("maxlength", ctx.maxchars)("pattern", ctx.regexp)("autofocus", ctx.autofocus)("ngClass", ctx.conditionalclass)("ngStyle", ctx.conditionalstyle)("autocomplete", ctx.autocomplete ? "on" : "off");
2797
- i0__namespace.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.hint);
2854
+ i0__namespace.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.arialabel);
2798
2855
  } }, dependencies: [i1__namespace.NgClass, i1__namespace.NgStyle, i2$1__namespace.DefaultValueAccessor, i2$1__namespace.NgControlStatus, i2$1__namespace.RequiredValidator, i2$1__namespace.MaxLengthValidator, i2$1__namespace.PatternValidator, i2$1__namespace.EmailValidator, i2$1__namespace.NgModel], encapsulation: 2 }); }
2799
2856
  }
2800
2857
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(InputEmailComponent, [{
@@ -2803,7 +2860,7 @@
2803
2860
  i2.provideAs(InputEmailComponent, i2$1.NG_VALUE_ACCESSOR, true),
2804
2861
  i2.provideAs(InputEmailComponent, i2$1.NG_VALIDATORS, true),
2805
2862
  i2.provideAsWidgetRef(InputEmailComponent)
2806
- ], template: "<input class=\"form-control app-textbox\"\n focus-target\n role=\"textbox\"\n [type]=\"type\"\n [attr.name]=\"name\"\n [(ngModel)]=\"datavalue\"\n [ngModelOptions]=\"ngModelOptions\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [pattern]=\"regexp\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"hint\"\n [autofocus]=\"autofocus\"\n [ngClass]=\"conditionalclass\"\n [ngStyle]=\"conditionalstyle\"\n (blur)=\"handleBlur($event)\"\n (ngModelChange)=\"handleChange($event)\"\n [autocomplete]=\"autocomplete ? 'on' : 'off'\"\n (keyup.enter)=\"flushViewChanges(input.value)\"\n email\n #input>\n" }]
2863
+ ], template: "<input class=\"form-control app-textbox\"\n focus-target\n [type]=\"type\"\n [attr.name]=\"name\"\n [(ngModel)]=\"datavalue\"\n [ngModelOptions]=\"ngModelOptions\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [pattern]=\"regexp\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"arialabel\"\n [autofocus]=\"autofocus\"\n [ngClass]=\"conditionalclass\"\n [ngStyle]=\"conditionalstyle\"\n (blur)=\"handleBlur($event)\"\n (ngModelChange)=\"handleChange($event)\"\n [autocomplete]=\"autocomplete ? 'on' : 'off'\"\n (keyup.enter)=\"flushViewChanges(input.value)\"\n email\n #input>\n" }]
2807
2864
  }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
2808
2865
  type: i0.Inject,
2809
2866
  args: ['EXPLICIT_CONTEXT']
@@ -2827,6 +2884,7 @@
2827
2884
  ['datavalue', i2.PROP_STRING],
2828
2885
  ['disabled', i2.PROP_BOOLEAN],
2829
2886
  ['hint', i2.PROP_STRING],
2887
+ ['arialabel', i2.PROP_STRING],
2830
2888
  ['maxchars', i2.PROP_NUMBER],
2831
2889
  ['maxvalue', i2.PROP_NUMBER],
2832
2890
  ['minvalue', i2.PROP_NUMBER],
@@ -2882,7 +2940,7 @@
2882
2940
  i2.provideAs(InputNumberComponent, i2$1.NG_VALUE_ACCESSOR, true),
2883
2941
  i2.provideAs(InputNumberComponent, i2$1.NG_VALIDATORS, true),
2884
2942
  i2.provideAsWidgetRef(InputNumberComponent)
2885
- ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c1$1, decls: 2, vars: 22, consts: [["input", ""], ["focus-target", "", "role", "textbox", 1, "form-control", "app-textbox", 3, "ngModelChange", "blur", "keyup.enter", "keydown.ArrowUp", "keydown.ArrowDown", "keypress", "ngClass", "type", "ngModel", "ngModelOptions", "readonly", "required", "disabled", "maxlength", "min", "max", "step", "autofocus", "ngStyle", "autocomplete"]], template: function InputNumberComponent_Template(rf, ctx) { if (rf & 1) {
2943
+ ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c1$1, decls: 2, vars: 22, consts: [["input", ""], ["focus-target", "", 1, "form-control", "app-textbox", 3, "ngModelChange", "blur", "keyup.enter", "keydown.ArrowUp", "keydown.ArrowDown", "keypress", "ngClass", "type", "ngModel", "ngModelOptions", "readonly", "required", "disabled", "maxlength", "min", "max", "step", "autofocus", "ngStyle", "autocomplete"]], template: function InputNumberComponent_Template(rf, ctx) { if (rf & 1) {
2886
2944
  const _r1 = i0__namespace.ɵɵgetCurrentView();
2887
2945
  i0__namespace.ɵɵelementStart(0, "input", 1, 0);
2888
2946
  i0__namespace.ɵɵtwoWayListener("ngModelChange", function InputNumberComponent_Template_input_ngModelChange_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); i0__namespace.ɵɵtwoWayBindingSet(ctx.datavalue, $event) || (ctx.datavalue = $event); return i0__namespace.ɵɵresetView($event); });
@@ -2892,7 +2950,7 @@
2892
2950
  i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(20, _c2, ctx.step === 0))("type", ctx.type);
2893
2951
  i0__namespace.ɵɵtwoWayProperty("ngModel", ctx.datavalue);
2894
2952
  i0__namespace.ɵɵproperty("ngModelOptions", ctx.ngModelOptions)("readonly", ctx.readonly)("required", ctx.required)("disabled", ctx.disabled)("maxlength", ctx.maxchars)("min", ctx.minvalue)("max", ctx.maxvalue)("step", ctx.step)("autofocus", ctx.autofocus)("ngClass", ctx.conditionalclass)("ngStyle", ctx.conditionalstyle)("autocomplete", ctx.autocomplete ? "on" : "off");
2895
- i0__namespace.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.hint);
2953
+ i0__namespace.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.arialabel);
2896
2954
  } }, dependencies: [i1__namespace.NgClass, i1__namespace.NgStyle, i2$1__namespace.DefaultValueAccessor, i2$1__namespace.NgControlStatus, i2$1__namespace.RequiredValidator, i2$1__namespace.MaxLengthValidator, i2$1__namespace.NgModel], encapsulation: 2 }); }
2897
2955
  }
2898
2956
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(InputNumberComponent, [{
@@ -2901,7 +2959,7 @@
2901
2959
  i2.provideAs(InputNumberComponent, i2$1.NG_VALUE_ACCESSOR, true),
2902
2960
  i2.provideAs(InputNumberComponent, i2$1.NG_VALIDATORS, true),
2903
2961
  i2.provideAsWidgetRef(InputNumberComponent)
2904
- ], template: "<input class=\"form-control app-textbox\"\n [ngClass]=\"{'step-hidden': step === 0}\"\n focus-target\n role=\"textbox\"\n [type]=\"type\"\n [attr.name]=\"name\"\n [(ngModel)]=\"datavalue\"\n [ngModelOptions]=\"ngModelOptions\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [min]=\"minvalue\"\n [max]=\"maxvalue\"\n [step]=\"step\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"hint\"\n [autofocus]=\"autofocus\"\n [ngClass]=\"conditionalclass\"\n [ngStyle]=\"conditionalstyle\"\n (blur)=\"handleBlur($event)\"\n (ngModelChange)=\"handleChange($event)\"\n [autocomplete]=\"autocomplete ? 'on' : 'off'\"\n (keyup.enter)=\"flushViewChanges(input.value)\"\n (keydown.ArrowUp)=\"onArrowPress($event)\"\n (keydown.ArrowDown)=\"onArrowPress($event)\"\n (keypress)=\"validateInputEntry($event)\"\n #input>\n" }]
2962
+ ], template: "<input class=\"form-control app-textbox\"\n [ngClass]=\"{'step-hidden': step === 0}\"\n focus-target\n [type]=\"type\"\n [attr.name]=\"name\"\n [(ngModel)]=\"datavalue\"\n [ngModelOptions]=\"ngModelOptions\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [min]=\"minvalue\"\n [max]=\"maxvalue\"\n [step]=\"step\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"arialabel\"\n [autofocus]=\"autofocus\"\n [ngClass]=\"conditionalclass\"\n [ngStyle]=\"conditionalstyle\"\n (blur)=\"handleBlur($event)\"\n (ngModelChange)=\"handleChange($event)\"\n [autocomplete]=\"autocomplete ? 'on' : 'off'\"\n (keyup.enter)=\"flushViewChanges(input.value)\"\n (keydown.ArrowUp)=\"onArrowPress($event)\"\n (keydown.ArrowDown)=\"onArrowPress($event)\"\n (keypress)=\"validateInputEntry($event)\"\n #input>\n" }]
2905
2963
  }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
2906
2964
  type: i0.Inject,
2907
2965
  args: ['EXPLICIT_CONTEXT']
@@ -2926,6 +2984,7 @@
2926
2984
  ['disabled', i2.PROP_BOOLEAN],
2927
2985
  ['displayformat', i2.PROP_STRING],
2928
2986
  ['hint', i2.PROP_STRING],
2987
+ ['arialabel', i2.PROP_STRING],
2929
2988
  ['maxchars', i2.PROP_NUMBER],
2930
2989
  ['name', i2.PROP_STRING],
2931
2990
  ['placeholder', { value: 'Enter text', ...i2.PROP_STRING }],
@@ -3049,7 +3108,7 @@
3049
3108
  i2.provideAs(InputTextComponent, i2$1.NG_VALUE_ACCESSOR, true),
3050
3109
  i2.provideAs(InputTextComponent, i2$1.NG_VALIDATORS, true),
3051
3110
  i2.provideAsWidgetRef(InputTextComponent)
3052
- ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c1, decls: 2, vars: 19, consts: [["input", ""], ["focus-target", "", "role", "textbox", 1, "form-control", "app-textbox", 3, "ngModelChange", "blur", "focus", "keyup.enter", "type", "ngModel", "imask", "unmask", "ngModelOptions", "readonly", "required", "disabled", "maxlength", "pattern", "autofocus", "ngClass", "ngStyle", "autocomplete"]], template: function InputTextComponent_Template(rf, ctx) { if (rf & 1) {
3111
+ ]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c1, decls: 2, vars: 19, consts: [["input", ""], ["focus-target", "", 1, "form-control", "app-textbox", 3, "ngModelChange", "blur", "focus", "keyup.enter", "type", "ngModel", "imask", "unmask", "ngModelOptions", "readonly", "required", "disabled", "maxlength", "pattern", "autofocus", "ngClass", "ngStyle", "autocomplete"]], template: function InputTextComponent_Template(rf, ctx) { if (rf & 1) {
3053
3112
  const _r1 = i0__namespace.ɵɵgetCurrentView();
3054
3113
  i0__namespace.ɵɵelementStart(0, "input", 1, 0);
3055
3114
  i0__namespace.ɵɵtwoWayListener("ngModelChange", function InputTextComponent_Template_input_ngModelChange_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); i0__namespace.ɵɵtwoWayBindingSet(ctx.datavalue, $event) || (ctx.datavalue = $event); return i0__namespace.ɵɵresetView($event); });
@@ -3059,7 +3118,7 @@
3059
3118
  i0__namespace.ɵɵproperty("type", ctx.type);
3060
3119
  i0__namespace.ɵɵtwoWayProperty("ngModel", ctx.datavalue);
3061
3120
  i0__namespace.ɵɵproperty("imask", ctx.mask)("unmask", true)("ngModelOptions", ctx.ngModelOptions)("readonly", ctx.readonly)("required", ctx.required)("disabled", ctx.disabled)("maxlength", ctx.maxchars)("pattern", ctx.regexp)("autofocus", ctx.autofocus)("ngClass", ctx.conditionalclass)("ngStyle", ctx.conditionalstyle)("autocomplete", ctx.autocomplete ? "on" : "off");
3062
- i0__namespace.ɵɵattribute("name", ctx.name)("aria-label", ctx.hint)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey);
3121
+ i0__namespace.ɵɵattribute("name", ctx.name)("aria-label", ctx.arialabel)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey);
3063
3122
  } }, dependencies: [i1__namespace.NgClass, i1__namespace.NgStyle, i2$1__namespace.DefaultValueAccessor, i2$1__namespace.NgControlStatus, i2$1__namespace.RequiredValidator, i2$1__namespace.MaxLengthValidator, i2$1__namespace.PatternValidator, i2$1__namespace.NgModel, i3__namespace.IMaskDirective], encapsulation: 2 }); }
3064
3123
  }
3065
3124
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(InputTextComponent, [{
@@ -3068,7 +3127,7 @@
3068
3127
  i2.provideAs(InputTextComponent, i2$1.NG_VALUE_ACCESSOR, true),
3069
3128
  i2.provideAs(InputTextComponent, i2$1.NG_VALIDATORS, true),
3070
3129
  i2.provideAsWidgetRef(InputTextComponent)
3071
- ], template: "<input class=\"form-control app-textbox\"\n focus-target\n role=\"textbox\"\n [type]=\"type\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"hint\"\n [(ngModel)]=\"datavalue\"\n [imask]=\"mask\"\n [unmask]=\"true\"\n [ngModelOptions]=\"ngModelOptions\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [pattern]=\"regexp\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [autofocus]=\"autofocus\"\n [ngClass]=\"conditionalclass\"\n [ngStyle]=\"conditionalstyle\"\n (ngModelChange)=\"handleChange($event)\"\n (blur)=\"handleBlur($event); checkForDisplayFormat($event)\"\n (focus)=\"checkForDisplayFormat($event)\"\n [autocomplete]=\"autocomplete ? 'on' : 'off'\"\n (keyup.enter)=\"flushViewChanges(input.value)\"\n #input>\n" }]
3130
+ ], template: "<input class=\"form-control app-textbox\"\n focus-target\n [type]=\"type\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel\"\n [(ngModel)]=\"datavalue\"\n [imask]=\"mask\"\n [unmask]=\"true\"\n [ngModelOptions]=\"ngModelOptions\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [pattern]=\"regexp\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [autofocus]=\"autofocus\"\n [ngClass]=\"conditionalclass\"\n [ngStyle]=\"conditionalstyle\"\n (ngModelChange)=\"handleChange($event)\"\n (blur)=\"handleBlur($event); checkForDisplayFormat($event)\"\n (focus)=\"checkForDisplayFormat($event)\"\n [autocomplete]=\"autocomplete ? 'on' : 'off'\"\n (keyup.enter)=\"flushViewChanges(input.value)\"\n #input>\n" }]
3072
3131
  }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
3073
3132
  type: i0.Inject,
3074
3133
  args: ['EXPLICIT_CONTEXT']
@@ -3094,6 +3153,7 @@
3094
3153
  ['datavalue', i2.PROP_STRING],
3095
3154
  ['disabled', i2.PROP_BOOLEAN],
3096
3155
  ['hint', i2.PROP_STRING],
3156
+ ['arialabel', i2.PROP_STRING],
3097
3157
  ['maxchars', i2.PROP_NUMBER],
3098
3158
  ['name', i2.PROP_STRING],
3099
3159
  ['placeholder', { value: 'Place your text', ...i2.PROP_STRING }],
@@ -3151,7 +3211,7 @@
3151
3211
  i2.provideAs(TextareaComponent, i2$1.NG_VALUE_ACCESSOR, true),
3152
3212
  i2.provideAs(TextareaComponent, i2$1.NG_VALIDATORS, true),
3153
3213
  i2.provideAsWidgetRef(TextareaComponent)
3154
- ]), i0__namespace.ɵɵInheritDefinitionFeature], decls: 3, vars: 15, consts: [["textarea", ""], ["focus-target", "", "role", "textbox", "aria-multiline", "true", 1, "form-control", "app-textarea", 3, "ngModelChange", "blur", "input", "ngModel", "ngModelOptions", "readonly", "required", "disabled", "maxlength", "autofocus", "ngClass", "ngStyle"], ["class", "textarea-count", 4, "ngIf"], [1, "textarea-count"]], template: function TextareaComponent_Template(rf, ctx) { if (rf & 1) {
3214
+ ]), i0__namespace.ɵɵInheritDefinitionFeature], decls: 3, vars: 15, consts: [["textarea", ""], ["focus-target", "", "aria-multiline", "true", 1, "form-control", "app-textarea", 3, "ngModelChange", "blur", "input", "ngModel", "ngModelOptions", "readonly", "required", "disabled", "maxlength", "autofocus", "ngClass", "ngStyle"], ["class", "textarea-count", 4, "ngIf"], [1, "textarea-count"]], template: function TextareaComponent_Template(rf, ctx) { if (rf & 1) {
3155
3215
  const _r1 = i0__namespace.ɵɵgetCurrentView();
3156
3216
  i0__namespace.ɵɵelementStart(0, "textarea", 1, 0);
3157
3217
  i0__namespace.ɵɵtwoWayListener("ngModelChange", function TextareaComponent_Template_textarea_ngModelChange_0_listener($event) { i0__namespace.ɵɵrestoreView(_r1); i0__namespace.ɵɵtwoWayBindingSet(ctx.datavalue, $event) || (ctx.datavalue = $event); return i0__namespace.ɵɵresetView($event); });
@@ -3161,7 +3221,7 @@
3161
3221
  } if (rf & 2) {
3162
3222
  i0__namespace.ɵɵtwoWayProperty("ngModel", ctx.datavalue);
3163
3223
  i0__namespace.ɵɵproperty("ngModelOptions", ctx.ngModelOptions)("readonly", ctx.readonly)("required", ctx.required)("disabled", ctx.disabled)("maxlength", ctx.maxchars)("autofocus", ctx.autofocus)("ngClass", ctx.conditionalclass)("ngStyle", ctx.conditionalstyle);
3164
- i0__namespace.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.hint);
3224
+ i0__namespace.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.arialabel);
3165
3225
  i0__namespace.ɵɵadvance(2);
3166
3226
  i0__namespace.ɵɵproperty("ngIf", ctx.maxchars);
3167
3227
  } }, dependencies: [i1__namespace.NgClass, i1__namespace.NgIf, i1__namespace.NgStyle, i2$1__namespace.DefaultValueAccessor, i2$1__namespace.NgControlStatus, i2$1__namespace.RequiredValidator, i2$1__namespace.MaxLengthValidator, i2$1__namespace.NgModel], encapsulation: 2 }); }
@@ -3172,7 +3232,7 @@
3172
3232
  i2.provideAs(TextareaComponent, i2$1.NG_VALUE_ACCESSOR, true),
3173
3233
  i2.provideAs(TextareaComponent, i2$1.NG_VALIDATORS, true),
3174
3234
  i2.provideAsWidgetRef(TextareaComponent)
3175
- ], template: "<textarea class=\"form-control app-textarea\"\n focus-target\n role=\"textbox\"\n [attr.name]=\"name\"\n [(ngModel)]=\"datavalue\"\n [ngModelOptions]=\"ngModelOptions\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"hint\"\n aria-multiline=\"true\"\n [autofocus]=\"autofocus\"\n [ngClass]=\"conditionalclass\"\n [ngStyle]=\"conditionalstyle\"\n (blur)=\"handleBlur($event)\"\n (input)=\"onInputChange()\"\n (ngModelChange)=\"handleChange($event); onInputChange();\"\n #textarea\n></textarea>\n\n<div *ngIf=\"maxchars\" class=\"textarea-count\" >{{limitdisplaytext}}</div>\n" }]
3235
+ ], template: "<textarea class=\"form-control app-textarea\"\n focus-target\n [attr.name]=\"name\"\n [(ngModel)]=\"datavalue\"\n [ngModelOptions]=\"ngModelOptions\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [maxlength]=\"maxchars\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"arialabel\"\n aria-multiline=\"true\"\n [autofocus]=\"autofocus\"\n [ngClass]=\"conditionalclass\"\n [ngStyle]=\"conditionalstyle\"\n (blur)=\"handleBlur($event)\"\n (input)=\"onInputChange()\"\n (ngModelChange)=\"handleChange($event); onInputChange();\"\n #textarea\n></textarea>\n\n<div *ngIf=\"maxchars\" class=\"textarea-count\" >{{limitdisplaytext}}</div>\n" }]
3176
3236
  }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
3177
3237
  type: i0.Inject,
3178
3238
  args: ['EXPLICIT_CONTEXT']
@@ -3185,7 +3245,7 @@
3185
3245
  type: i0.ViewChild,
3186
3246
  args: [i2$1.NgModel]
3187
3247
  }] }); })();
3188
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassDebugInfo(TextareaComponent, { className: "TextareaComponent", filePath: "textarea/textarea.component.ts", lineNumber: 22 }); })();
3248
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassDebugInfo(TextareaComponent, { className: "TextareaComponent", filePath: "textarea/textarea.component.ts", lineNumber: 23 }); })();
3189
3249
 
3190
3250
  class CaptionPositionDirective {
3191
3251
  constructor(inj, app) {
@@ -3216,9 +3276,10 @@
3216
3276
  }
3217
3277
  // For select widget, display placeholder only on focus else remove the text of the option selected.
3218
3278
  checkForSelectPlaceholder() {
3219
- if ($(this.nativeEl).find('select option:selected').text() && !$(this.nativeEl).find('select').is(':focus') &&
3279
+ const selectElPlaceholderOption = this.nativeEl.querySelector('#placeholderOption');
3280
+ if (selectElPlaceholderOption && selectElPlaceholderOption.textContent && !$(this.nativeEl).find('select').is(':focus') &&
3220
3281
  !$(this.inputEl.closest('[widget-id]')).attr('datavalue')) {
3221
- $(this.nativeEl).find('select option:selected').text('');
3282
+ selectElPlaceholderOption.textContent = '';
3222
3283
  }
3223
3284
  }
3224
3285
  setDefaultValueAnimation() {
@@ -3320,10 +3381,10 @@
3320
3381
  // before placeholder is removed assign it to the placeholder variable
3321
3382
  // check for placeholder in inputel and selectel
3322
3383
  if (this.inputEl) {
3323
- const selectEl = this.inputEl.find('option:first');
3324
- if (this.inputEl.attr('placeholder') || selectEl.text()) {
3325
- if (selectEl.length) {
3326
- selectEl.text('');
3384
+ const selectElPlaceholderOption = this.nativeEl.querySelector('#placeholderOption');
3385
+ if (this.inputEl.attr('placeholder') || selectElPlaceholderOption) {
3386
+ if (selectElPlaceholderOption) {
3387
+ selectElPlaceholderOption.textContent = '';
3327
3388
  }
3328
3389
  else {
3329
3390
  this.placeholder = this.inputEl.attr('placeholder');