@wavemaker/app-ng-runtime 12.0.0-next.45752 → 12.0.0-rc.5849

Sign up to get free protection for your applications and to get access to all the features.
Files changed (282) 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 +42 -8
  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 +28 -5
  107. app-ng-runtime/components/data/table/esm2022/table.props.mjs +3 -1
  108. app-ng-runtime/components/data/table/fesm2022/index.mjs +43 -9
  109. app-ng-runtime/components/data/table/fesm2022/index.mjs.map +1 -1
  110. app-ng-runtime/components/data/table/table.component.d.ts +7 -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 +153 -92
  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 +5 -5
  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 +153 -92
  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 +121 -13
  229. app-ng-runtime/components/navigation/popover/esm2022/popover.component.mjs +122 -15
  230. app-ng-runtime/components/navigation/popover/esm2022/popover.props.mjs +2 -1
  231. app-ng-runtime/components/navigation/popover/fesm2022/index.mjs +121 -13
  232. app-ng-runtime/components/navigation/popover/fesm2022/index.mjs.map +1 -1
  233. app-ng-runtime/components/navigation/popover/popover.component.d.ts +15 -3
  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
  282. app-ng-runtime/scripts/datatable/datatable.js +23 -26
@@ -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,14 +1857,14 @@
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", "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) {
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);
1867
+ i0__namespace.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.arialabel);
1822
1868
  } }, dependencies: [i1__namespace.NgClass, i1__namespace.NgStyle, i2$1__namespace.DefaultValueAccessor, i2$1__namespace.NgControlStatus, i2$1__namespace.RequiredValidator, i2$1__namespace.PatternValidator, i2$1__namespace.NgModel], encapsulation: 2 }); }
1823
1869
  }
1824
1870
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(NumberComponent, [{
@@ -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=\"text\"\n [ngModel]=\"displayValue\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [pattern]=\"regexp\"\n [attr.tabindex]=\"tabindex\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"arialabel\"\n [autofocus]=\"autofocus\"\n [ngClass]=\"conditionalclass\"\n [ngStyle]=\"conditionalstyle\"\n (ngModelChange)=\"onModelChange($event)\"\n (blur)=\"handleBlur($event); checkForTrailingZeros($event);\"\n (focus)=\"checkForTrailingZeros($event)\"\n (input)=\"onInputChange($event.target.value)\"\n [ngModelOptions]=\"ngModelOptions\"\n [required]=\"required\"\n (keypress)=\"validateInputEntry($event)\"\n (keydown.backspace)=\"onBackspace($event)\"\n (keydown.enter)=\"onEnter($event)\"\n (keydown.ArrowUp)=\"onArrowPress($event, 'UP')\"\n (keydown.ArrowDown)=\"onArrowPress($event, 'DOWN')\"\n #input>\n" }]
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');