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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (318) hide show
  1. app-ng-runtime/build-task/bundles/index.umd.js +53 -45
  2. app-ng-runtime/build-task/esm2022/basic/default/anchor/anchor.build.mjs +2 -2
  3. app-ng-runtime/build-task/esm2022/basic/default/html/html.build.mjs +2 -2
  4. app-ng-runtime/build-task/esm2022/basic/default/icon/icon.build.mjs +2 -2
  5. app-ng-runtime/build-task/esm2022/basic/default/label/label.build.mjs +2 -2
  6. app-ng-runtime/build-task/esm2022/basic/default/picture/picture.build.mjs +2 -2
  7. app-ng-runtime/build-task/esm2022/basic/default/spinner/spinner.build.mjs +2 -2
  8. app-ng-runtime/build-task/esm2022/basic/progress/progress-circle/progress-circle.build.mjs +7 -2
  9. app-ng-runtime/build-task/esm2022/basic/rich-text-editor/rich-text-editor.build.mjs +2 -2
  10. app-ng-runtime/build-task/esm2022/containers/accordion/accordion-pane/accordion-pane.build.mjs +2 -2
  11. app-ng-runtime/build-task/esm2022/containers/accordion/accordion.build.mjs +3 -3
  12. app-ng-runtime/build-task/esm2022/containers/tile/tile.build.mjs +2 -2
  13. app-ng-runtime/build-task/esm2022/containers/wizard/wizard.build.mjs +2 -2
  14. app-ng-runtime/build-task/esm2022/data/form/form-field/form-field.build.mjs +4 -4
  15. app-ng-runtime/build-task/esm2022/device/barcode-scanner/barcode-scanner.build.mjs +2 -2
  16. app-ng-runtime/build-task/esm2022/device/camera/camera.build.mjs +2 -2
  17. app-ng-runtime/build-task/esm2022/dialogs/alert-dialog/alert-dialog.build.mjs +2 -2
  18. app-ng-runtime/build-task/esm2022/input/calendar/calendar.build.mjs +2 -2
  19. app-ng-runtime/build-task/esm2022/input/chips/chips.build.mjs +2 -2
  20. app-ng-runtime/build-task/esm2022/input/color-picker/color-picker.build.mjs +3 -3
  21. app-ng-runtime/build-task/esm2022/input/currency/currency.build.mjs +3 -3
  22. app-ng-runtime/build-task/esm2022/input/default/button/button.build.mjs +2 -2
  23. app-ng-runtime/build-task/esm2022/input/default/button-group/button-group.build.mjs +2 -2
  24. app-ng-runtime/build-task/esm2022/input/default/switch/switch.build.mjs +2 -2
  25. app-ng-runtime/build-task/esm2022/input/file-upload/file-upload.build.mjs +6 -2
  26. app-ng-runtime/build-task/esm2022/page/footer/footer.build.mjs +2 -2
  27. app-ng-runtime/build-task/esm2022/page/header/header.build.mjs +2 -2
  28. app-ng-runtime/build-task/esm2022/page/layout.build.mjs +2 -2
  29. app-ng-runtime/build-task/esm2022/page/left-panel/left-panel.build.mjs +2 -2
  30. app-ng-runtime/build-task/esm2022/page/page.build.mjs +2 -2
  31. app-ng-runtime/build-task/esm2022/page/right-panel/right-panel.build.mjs +2 -2
  32. app-ng-runtime/build-task/esm2022/page/top-nav/top-nav.build.mjs +2 -2
  33. app-ng-runtime/build-task/fesm2022/index.mjs +53 -45
  34. app-ng-runtime/build-task/fesm2022/index.mjs.map +1 -1
  35. app-ng-runtime/components/advanced/carousel/bundles/index.umd.js +1 -1
  36. app-ng-runtime/components/advanced/carousel/esm2022/carousel.animator.mjs +2 -2
  37. app-ng-runtime/components/advanced/carousel/fesm2022/index.mjs +1 -1
  38. app-ng-runtime/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
  39. app-ng-runtime/components/base/bundles/index.umd.js +1 -6
  40. app-ng-runtime/components/base/esm2022/pipes/custom-pipes.mjs +3 -3
  41. app-ng-runtime/components/base/esm2022/widgets/common/base/base.component.mjs +1 -6
  42. app-ng-runtime/components/base/fesm2022/index.mjs +1 -6
  43. app-ng-runtime/components/base/fesm2022/index.mjs.map +1 -1
  44. app-ng-runtime/components/base/pipes/custom-pipes.d.ts +1 -1
  45. app-ng-runtime/components/basic/default/anchor/anchor.component.d.ts +1 -0
  46. app-ng-runtime/components/basic/default/audio/audio.component.d.ts +3 -0
  47. app-ng-runtime/components/basic/default/bundles/index.umd.js +39 -19
  48. app-ng-runtime/components/basic/default/esm2022/anchor/anchor.component.mjs +4 -4
  49. app-ng-runtime/components/basic/default/esm2022/anchor/anchor.props.mjs +2 -1
  50. app-ng-runtime/components/basic/default/esm2022/audio/audio.component.mjs +14 -6
  51. app-ng-runtime/components/basic/default/esm2022/audio/audio.props.mjs +2 -1
  52. app-ng-runtime/components/basic/default/esm2022/html/html.props.mjs +2 -1
  53. app-ng-runtime/components/basic/default/esm2022/icon/icon.component.mjs +6 -7
  54. app-ng-runtime/components/basic/default/esm2022/icon/icon.props.mjs +2 -1
  55. app-ng-runtime/components/basic/default/esm2022/iframe/iframe.component.mjs +3 -3
  56. app-ng-runtime/components/basic/default/esm2022/iframe/iframe.props.mjs +3 -2
  57. app-ng-runtime/components/basic/default/esm2022/label/label.props.mjs +1 -1
  58. app-ng-runtime/components/basic/default/esm2022/picture/picture.directive.mjs +2 -2
  59. app-ng-runtime/components/basic/default/esm2022/picture/picture.props.mjs +3 -1
  60. app-ng-runtime/components/basic/default/esm2022/spinner/spinner.props.mjs +3 -2
  61. app-ng-runtime/components/basic/default/esm2022/video/video.component.mjs +8 -4
  62. app-ng-runtime/components/basic/default/esm2022/video/video.props.mjs +2 -1
  63. app-ng-runtime/components/basic/default/fesm2022/index.mjs +39 -19
  64. app-ng-runtime/components/basic/default/fesm2022/index.mjs.map +1 -1
  65. app-ng-runtime/components/basic/default/icon/icon.component.d.ts +1 -0
  66. app-ng-runtime/components/basic/default/iframe/iframe.component.d.ts +1 -0
  67. app-ng-runtime/components/basic/default/picture/picture.directive.d.ts +2 -1
  68. app-ng-runtime/components/basic/default/video/video.component.d.ts +2 -0
  69. app-ng-runtime/components/basic/progress/bundles/index.umd.js +17 -9
  70. app-ng-runtime/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +9 -5
  71. app-ng-runtime/components/basic/progress/esm2022/progress-bar/progress-bar.props.mjs +2 -1
  72. app-ng-runtime/components/basic/progress/esm2022/progress-circle/progress-circle.component.mjs +8 -6
  73. app-ng-runtime/components/basic/progress/esm2022/progress-circle/progress-circle.props.mjs +2 -1
  74. app-ng-runtime/components/basic/progress/fesm2022/index.mjs +17 -9
  75. app-ng-runtime/components/basic/progress/fesm2022/index.mjs.map +1 -1
  76. app-ng-runtime/components/basic/progress/progress-bar/progress-bar.component.d.ts +2 -0
  77. app-ng-runtime/components/basic/progress/progress-circle/progress-circle.component.d.ts +3 -1
  78. app-ng-runtime/components/basic/rich-text-editor/bundles/index.umd.js +2 -0
  79. app-ng-runtime/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +2 -1
  80. app-ng-runtime/components/basic/rich-text-editor/esm2022/rich-text-editor.props.mjs +2 -1
  81. app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs +2 -0
  82. app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
  83. app-ng-runtime/components/basic/search/bundles/index.umd.js +16 -9
  84. app-ng-runtime/components/basic/search/esm2022/search.component.mjs +19 -13
  85. app-ng-runtime/components/basic/search/esm2022/search.props.mjs +2 -1
  86. app-ng-runtime/components/basic/search/fesm2022/index.mjs +16 -9
  87. app-ng-runtime/components/basic/search/fesm2022/index.mjs.map +1 -1
  88. app-ng-runtime/components/basic/search/search.component.d.ts +4 -2
  89. app-ng-runtime/components/chart/bundles/index.umd.js +1 -0
  90. app-ng-runtime/components/chart/esm2022/chart.utils.mjs +2 -1
  91. app-ng-runtime/components/chart/fesm2022/index.mjs +1 -0
  92. app-ng-runtime/components/chart/fesm2022/index.mjs.map +1 -1
  93. app-ng-runtime/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +1 -0
  94. app-ng-runtime/components/containers/accordion/bundles/index.umd.js +15 -9
  95. app-ng-runtime/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +13 -10
  96. app-ng-runtime/components/containers/accordion/esm2022/accordion.directive.mjs +4 -1
  97. app-ng-runtime/components/containers/accordion/fesm2022/index.mjs +15 -9
  98. app-ng-runtime/components/containers/accordion/fesm2022/index.mjs.map +1 -1
  99. app-ng-runtime/components/containers/panel/bundles/index.umd.js +14 -14
  100. app-ng-runtime/components/containers/panel/esm2022/panel.component.mjs +15 -15
  101. app-ng-runtime/components/containers/panel/fesm2022/index.mjs +14 -14
  102. app-ng-runtime/components/containers/panel/fesm2022/index.mjs.map +1 -1
  103. app-ng-runtime/components/containers/tabs/bundles/index.umd.js +2 -2
  104. app-ng-runtime/components/containers/tabs/esm2022/tabs.component.mjs +3 -3
  105. app-ng-runtime/components/containers/tabs/fesm2022/index.mjs +2 -2
  106. app-ng-runtime/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  107. app-ng-runtime/components/containers/wizard/bundles/index.umd.js +6 -6
  108. app-ng-runtime/components/containers/wizard/esm2022/wizard.component.mjs +7 -7
  109. app-ng-runtime/components/containers/wizard/fesm2022/index.mjs +6 -6
  110. app-ng-runtime/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  111. app-ng-runtime/components/data/list/bundles/index.umd.js +19 -11
  112. app-ng-runtime/components/data/list/esm2022/list-item.directive.mjs +10 -1
  113. app-ng-runtime/components/data/list/esm2022/list.component.mjs +12 -12
  114. app-ng-runtime/components/data/list/fesm2022/index.mjs +20 -12
  115. app-ng-runtime/components/data/list/fesm2022/index.mjs.map +1 -1
  116. app-ng-runtime/components/data/live-table/bundles/index.umd.js +2 -2
  117. app-ng-runtime/components/data/live-table/esm2022/live-table.component.mjs +3 -3
  118. app-ng-runtime/components/data/live-table/fesm2022/index.mjs +2 -2
  119. app-ng-runtime/components/data/live-table/fesm2022/index.mjs.map +1 -1
  120. app-ng-runtime/components/data/pagination/bundles/index.umd.js +2 -0
  121. app-ng-runtime/components/data/pagination/esm2022/pagination.component.mjs +3 -1
  122. app-ng-runtime/components/data/pagination/fesm2022/index.mjs +2 -0
  123. app-ng-runtime/components/data/pagination/fesm2022/index.mjs.map +1 -1
  124. app-ng-runtime/components/data/table/bundles/index.umd.js +42 -8
  125. app-ng-runtime/components/data/table/esm2022/table-column/table-column.directive.mjs +14 -5
  126. app-ng-runtime/components/data/table/esm2022/table.component.mjs +28 -5
  127. app-ng-runtime/components/data/table/esm2022/table.props.mjs +3 -1
  128. app-ng-runtime/components/data/table/fesm2022/index.mjs +43 -9
  129. app-ng-runtime/components/data/table/fesm2022/index.mjs.map +1 -1
  130. app-ng-runtime/components/data/table/table.component.d.ts +7 -0
  131. app-ng-runtime/components/dialogs/alert-dialog/bundles/index.umd.js +6 -4
  132. app-ng-runtime/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +7 -5
  133. app-ng-runtime/components/dialogs/alert-dialog/fesm2022/index.mjs +6 -4
  134. app-ng-runtime/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
  135. app-ng-runtime/components/dialogs/confirm-dialog/bundles/index.umd.js +8 -5
  136. app-ng-runtime/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +9 -6
  137. app-ng-runtime/components/dialogs/confirm-dialog/fesm2022/index.mjs +8 -5
  138. app-ng-runtime/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
  139. app-ng-runtime/components/dialogs/default/bundles/index.umd.js +9 -3
  140. app-ng-runtime/components/dialogs/default/dialog-header/dialog-header.component.d.ts +2 -1
  141. app-ng-runtime/components/dialogs/default/esm2022/base-dialog.mjs +2 -1
  142. app-ng-runtime/components/dialogs/default/esm2022/dialog-header/dialog-header.component.mjs +9 -4
  143. app-ng-runtime/components/dialogs/default/fesm2022/index.mjs +9 -3
  144. app-ng-runtime/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  145. app-ng-runtime/components/dialogs/design-dialog/bundles/index.umd.js +4 -4
  146. app-ng-runtime/components/dialogs/design-dialog/esm2022/dialog.component.mjs +5 -5
  147. app-ng-runtime/components/dialogs/design-dialog/fesm2022/index.mjs +4 -4
  148. app-ng-runtime/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
  149. app-ng-runtime/components/dialogs/iframe-dialog/bundles/index.umd.js +9 -5
  150. app-ng-runtime/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +10 -6
  151. app-ng-runtime/components/dialogs/iframe-dialog/fesm2022/index.mjs +9 -5
  152. app-ng-runtime/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
  153. app-ng-runtime/components/dialogs/partial-dialog/bundles/index.umd.js +9 -5
  154. app-ng-runtime/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +10 -6
  155. app-ng-runtime/components/dialogs/partial-dialog/fesm2022/index.mjs +9 -5
  156. app-ng-runtime/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
  157. app-ng-runtime/components/input/calendar/bundles/index.umd.js +2 -4
  158. app-ng-runtime/components/input/calendar/esm2022/calendar.component.mjs +3 -5
  159. app-ng-runtime/components/input/calendar/fesm2022/index.mjs +2 -4
  160. app-ng-runtime/components/input/calendar/fesm2022/index.mjs.map +1 -1
  161. app-ng-runtime/components/input/chips/bundles/index.umd.js +25 -7
  162. app-ng-runtime/components/input/chips/esm2022/chips.component.mjs +25 -8
  163. app-ng-runtime/components/input/chips/esm2022/chips.props.mjs +2 -1
  164. app-ng-runtime/components/input/chips/fesm2022/index.mjs +25 -7
  165. app-ng-runtime/components/input/chips/fesm2022/index.mjs.map +1 -1
  166. app-ng-runtime/components/input/color-picker/bundles/index.umd.js +5 -3
  167. app-ng-runtime/components/input/color-picker/color-picker.component.d.ts +1 -0
  168. app-ng-runtime/components/input/color-picker/esm2022/color-picker.component.mjs +6 -5
  169. app-ng-runtime/components/input/color-picker/esm2022/color-picker.props.mjs +2 -1
  170. app-ng-runtime/components/input/color-picker/fesm2022/index.mjs +5 -3
  171. app-ng-runtime/components/input/color-picker/fesm2022/index.mjs.map +1 -1
  172. app-ng-runtime/components/input/currency/bundles/index.umd.js +4 -3
  173. app-ng-runtime/components/input/currency/currency.component.d.ts +1 -0
  174. app-ng-runtime/components/input/currency/esm2022/currency.component.mjs +6 -6
  175. app-ng-runtime/components/input/currency/esm2022/currency.props.mjs +2 -1
  176. app-ng-runtime/components/input/currency/fesm2022/index.mjs +4 -3
  177. app-ng-runtime/components/input/currency/fesm2022/index.mjs.map +1 -1
  178. app-ng-runtime/components/input/default/bundles/index.umd.js +171 -94
  179. app-ng-runtime/components/input/default/button/button.component.d.ts +1 -0
  180. app-ng-runtime/components/input/default/checkbox/checkbox.component.d.ts +1 -0
  181. app-ng-runtime/components/input/default/esm2022/base-form.component.mjs +3 -3
  182. app-ng-runtime/components/input/default/esm2022/button/button.component.mjs +1 -1
  183. app-ng-runtime/components/input/default/esm2022/button/button.props.mjs +2 -1
  184. app-ng-runtime/components/input/default/esm2022/caption-position.directive.mjs +8 -7
  185. app-ng-runtime/components/input/default/esm2022/checkbox/checkbox.component.mjs +7 -7
  186. app-ng-runtime/components/input/default/esm2022/checkbox/checkbox.props.mjs +2 -1
  187. app-ng-runtime/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +21 -16
  188. app-ng-runtime/components/input/default/esm2022/number/number.component.mjs +5 -5
  189. app-ng-runtime/components/input/default/esm2022/number/number.props.mjs +3 -1
  190. app-ng-runtime/components/input/default/esm2022/radioset/radioset.component.mjs +28 -23
  191. app-ng-runtime/components/input/default/esm2022/select/select.component.mjs +7 -7
  192. app-ng-runtime/components/input/default/esm2022/select/select.props.mjs +2 -1
  193. app-ng-runtime/components/input/default/esm2022/switch/switch.component.mjs +6 -5
  194. app-ng-runtime/components/input/default/esm2022/switch/switch.props.mjs +2 -1
  195. app-ng-runtime/components/input/default/esm2022/text/calendar/input-calendar.component.mjs +5 -5
  196. app-ng-runtime/components/input/default/esm2022/text/calendar/input-calendar.props.mjs +2 -1
  197. app-ng-runtime/components/input/default/esm2022/text/color/input-color.component.mjs +5 -5
  198. app-ng-runtime/components/input/default/esm2022/text/color/input-color.props.mjs +2 -1
  199. app-ng-runtime/components/input/default/esm2022/text/email/input-email.component.mjs +5 -5
  200. app-ng-runtime/components/input/default/esm2022/text/email/input-email.props.mjs +2 -1
  201. app-ng-runtime/components/input/default/esm2022/text/locale/number-locale.mjs +66 -13
  202. app-ng-runtime/components/input/default/esm2022/text/number/input-number.component.mjs +5 -5
  203. app-ng-runtime/components/input/default/esm2022/text/number/input-number.props.mjs +2 -1
  204. app-ng-runtime/components/input/default/esm2022/text/text/input-text.component.mjs +5 -5
  205. app-ng-runtime/components/input/default/esm2022/text/text/input-text.props.mjs +2 -1
  206. app-ng-runtime/components/input/default/esm2022/textarea/textarea.component.mjs +6 -6
  207. app-ng-runtime/components/input/default/esm2022/textarea/textarea.props.mjs +2 -1
  208. app-ng-runtime/components/input/default/fesm2022/index.mjs +171 -94
  209. app-ng-runtime/components/input/default/fesm2022/index.mjs.map +1 -1
  210. app-ng-runtime/components/input/default/number/number.component.d.ts +1 -0
  211. app-ng-runtime/components/input/default/select/select.component.d.ts +2 -0
  212. app-ng-runtime/components/input/default/text/calendar/input-calendar.component.d.ts +1 -0
  213. app-ng-runtime/components/input/default/text/color/input-color.component.d.ts +1 -0
  214. app-ng-runtime/components/input/default/text/email/input-email.component.d.ts +1 -0
  215. app-ng-runtime/components/input/default/text/locale/number-locale.d.ts +1 -0
  216. app-ng-runtime/components/input/default/text/number/input-number.component.d.ts +1 -0
  217. app-ng-runtime/components/input/default/text/text/input-text.component.d.ts +1 -0
  218. app-ng-runtime/components/input/default/textarea/textarea.component.d.ts +1 -0
  219. app-ng-runtime/components/input/epoch/base-date-time.component.d.ts +2 -1
  220. app-ng-runtime/components/input/epoch/bundles/index.umd.js +28 -21
  221. app-ng-runtime/components/input/epoch/date/date.component.d.ts +1 -0
  222. app-ng-runtime/components/input/epoch/date-time/date-time.component.d.ts +2 -1
  223. app-ng-runtime/components/input/epoch/esm2022/base-date-time.component.mjs +10 -6
  224. app-ng-runtime/components/input/epoch/esm2022/date/date.component.mjs +8 -8
  225. app-ng-runtime/components/input/epoch/esm2022/date/date.props.mjs +2 -1
  226. app-ng-runtime/components/input/epoch/esm2022/date-time/date-time.component.mjs +9 -9
  227. app-ng-runtime/components/input/epoch/esm2022/date-time/date-time.props.mjs +2 -1
  228. app-ng-runtime/components/input/epoch/esm2022/time/time.component.mjs +7 -7
  229. app-ng-runtime/components/input/epoch/esm2022/time/time.props.mjs +2 -1
  230. app-ng-runtime/components/input/epoch/fesm2022/index.mjs +25 -18
  231. app-ng-runtime/components/input/epoch/fesm2022/index.mjs.map +1 -1
  232. app-ng-runtime/components/input/epoch/time/time.component.d.ts +1 -0
  233. app-ng-runtime/components/input/file-upload/bundles/index.umd.js +224 -121
  234. app-ng-runtime/components/input/file-upload/esm2022/file-upload.component.mjs +220 -123
  235. app-ng-runtime/components/input/file-upload/esm2022/file-upload.props.mjs +7 -1
  236. app-ng-runtime/components/input/file-upload/fesm2022/index.mjs +225 -122
  237. app-ng-runtime/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  238. app-ng-runtime/components/input/file-upload/file-upload.component.d.ts +18 -11
  239. app-ng-runtime/components/input/rating/bundles/index.umd.js +2 -2
  240. app-ng-runtime/components/input/rating/esm2022/rating.component.mjs +3 -3
  241. app-ng-runtime/components/input/rating/fesm2022/index.mjs +2 -2
  242. app-ng-runtime/components/input/rating/fesm2022/index.mjs.map +1 -1
  243. app-ng-runtime/components/input/slider/bundles/index.umd.js +5 -6
  244. app-ng-runtime/components/input/slider/esm2022/slider.component.mjs +6 -8
  245. app-ng-runtime/components/input/slider/esm2022/slider.props.mjs +2 -1
  246. app-ng-runtime/components/input/slider/fesm2022/index.mjs +5 -6
  247. app-ng-runtime/components/input/slider/fesm2022/index.mjs.map +1 -1
  248. app-ng-runtime/components/input/slider/slider.component.d.ts +1 -0
  249. app-ng-runtime/components/navigation/breadcrumb/bundles/index.umd.js +6 -6
  250. app-ng-runtime/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +7 -7
  251. app-ng-runtime/components/navigation/breadcrumb/fesm2022/index.mjs +6 -6
  252. app-ng-runtime/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
  253. app-ng-runtime/components/navigation/menu/bundles/index.umd.js +8 -6
  254. app-ng-runtime/components/navigation/menu/esm2022/menu.component.mjs +8 -7
  255. app-ng-runtime/components/navigation/menu/esm2022/menu.props.mjs +2 -1
  256. app-ng-runtime/components/navigation/menu/fesm2022/index.mjs +8 -6
  257. app-ng-runtime/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  258. app-ng-runtime/components/navigation/menu/menu.component.d.ts +1 -0
  259. app-ng-runtime/components/navigation/popover/bundles/index.umd.js +121 -13
  260. app-ng-runtime/components/navigation/popover/esm2022/popover.component.mjs +122 -15
  261. app-ng-runtime/components/navigation/popover/esm2022/popover.props.mjs +2 -1
  262. app-ng-runtime/components/navigation/popover/fesm2022/index.mjs +121 -13
  263. app-ng-runtime/components/navigation/popover/fesm2022/index.mjs.map +1 -1
  264. app-ng-runtime/components/navigation/popover/popover.component.d.ts +15 -3
  265. app-ng-runtime/components/page/default/bundles/index.umd.js +2 -1
  266. app-ng-runtime/components/page/default/esm2022/page.props.mjs +4 -3
  267. app-ng-runtime/components/page/default/fesm2022/index.mjs +2 -1
  268. app-ng-runtime/components/page/default/fesm2022/index.mjs.map +1 -1
  269. app-ng-runtime/components/page/footer/bundles/index.umd.js +2 -1
  270. app-ng-runtime/components/page/footer/esm2022/footer.props.mjs +3 -2
  271. app-ng-runtime/components/page/footer/fesm2022/index.mjs +2 -1
  272. app-ng-runtime/components/page/footer/fesm2022/index.mjs.map +1 -1
  273. app-ng-runtime/components/page/header/bundles/index.umd.js +2 -1
  274. app-ng-runtime/components/page/header/esm2022/header.props.mjs +3 -2
  275. app-ng-runtime/components/page/header/fesm2022/index.mjs +2 -1
  276. app-ng-runtime/components/page/header/fesm2022/index.mjs.map +1 -1
  277. app-ng-runtime/components/page/left-panel/bundles/index.umd.js +2 -1
  278. app-ng-runtime/components/page/left-panel/esm2022/left-panel.props.mjs +3 -2
  279. app-ng-runtime/components/page/left-panel/fesm2022/index.mjs +2 -1
  280. app-ng-runtime/components/page/left-panel/fesm2022/index.mjs.map +1 -1
  281. app-ng-runtime/components/page/right-panel/bundles/index.umd.js +2 -1
  282. app-ng-runtime/components/page/right-panel/esm2022/right-panel.props.mjs +3 -2
  283. app-ng-runtime/components/page/right-panel/fesm2022/index.mjs +2 -1
  284. app-ng-runtime/components/page/right-panel/fesm2022/index.mjs.map +1 -1
  285. app-ng-runtime/components/page/top-nav/bundles/index.umd.js +2 -1
  286. app-ng-runtime/components/page/top-nav/esm2022/top-nav.props.mjs +3 -2
  287. app-ng-runtime/components/page/top-nav/fesm2022/index.mjs +2 -1
  288. app-ng-runtime/components/page/top-nav/fesm2022/index.mjs.map +1 -1
  289. app-ng-runtime/core/bundles/index.umd.js +15 -13
  290. app-ng-runtime/core/esm2022/public_api.mjs +2 -2
  291. app-ng-runtime/core/esm2022/utils/build-utils.mjs +7 -7
  292. app-ng-runtime/core/esm2022/utils/utils.mjs +4 -5
  293. app-ng-runtime/core/fesm2022/index.mjs +11 -11
  294. app-ng-runtime/core/fesm2022/index.mjs.map +1 -1
  295. app-ng-runtime/core/public_api.d.ts +1 -1
  296. app-ng-runtime/core/utils/utils.d.ts +1 -1
  297. app-ng-runtime/mobile/components/device/barcode-scanner/bundles/index.umd.js +2 -1
  298. app-ng-runtime/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.props.mjs +3 -2
  299. app-ng-runtime/mobile/components/device/barcode-scanner/fesm2022/index.mjs +2 -1
  300. app-ng-runtime/mobile/components/device/barcode-scanner/fesm2022/index.mjs.map +1 -1
  301. app-ng-runtime/mobile/components/device/camera/bundles/index.umd.js +2 -1
  302. app-ng-runtime/mobile/components/device/camera/esm2022/camera.props.mjs +3 -2
  303. app-ng-runtime/mobile/components/device/camera/fesm2022/index.mjs +2 -1
  304. app-ng-runtime/mobile/components/device/camera/fesm2022/index.mjs.map +1 -1
  305. app-ng-runtime/package.json +1 -1
  306. app-ng-runtime/runtime/base/bundles/index.umd.js +6 -4
  307. app-ng-runtime/runtime/base/components/app-component/app.component.d.ts +2 -3
  308. app-ng-runtime/runtime/base/esm2022/components/app-component/app.component.mjs +5 -5
  309. app-ng-runtime/runtime/base/esm2022/guards/can-deactivate-page.guard.mjs +5 -4
  310. app-ng-runtime/runtime/base/fesm2022/index.mjs +6 -4
  311. app-ng-runtime/runtime/base/fesm2022/index.mjs.map +1 -1
  312. app-ng-runtime/runtime/base/guards/can-deactivate-page.guard.d.ts +2 -1
  313. app-ng-runtime/scripts/datatable/datatable.js +32 -31
  314. app-ng-runtime/variables/bundles/index.umd.js +34 -16
  315. app-ng-runtime/variables/esm2022/manager/variable/web-socket-variable.manager.mjs +35 -17
  316. app-ng-runtime/variables/fesm2022/index.mjs +34 -16
  317. app-ng-runtime/variables/fesm2022/index.mjs.map +1 -1
  318. app-ng-runtime/variables/manager/variable/web-socket-variable.manager.d.ts +0 -4
@@ -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],
@@ -236,10 +237,10 @@
236
237
  }
237
238
  binddatavalue = binddatavalue.replace(/\[\$i\]/g, '[0]');
238
239
  // In case of list widget context will be the listItem.
239
- if (lodashEs.has(this.context, binddatavalue.split('.')[0])) {
240
+ if (lodashEs.has(this.context, binddatavalue.split('.')[0]) && lodashEs.has(this.context, binddatavalue)) {
240
241
  lodashEs.set(this.context, binddatavalue, value);
241
242
  }
242
- else {
243
+ else if (lodashEs.has(this.viewParent, binddatavalue)) {
243
244
  lodashEs.set(this.viewParent, binddatavalue, value);
244
245
  }
245
246
  }
@@ -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,26 @@
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 num = Number(value);
1661
+ if (num === 0) {
1662
+ return 0;
1663
+ }
1664
+ // Convert to number and handle scientific notation
1665
+ if (Number.isNaN(num))
1666
+ return 0;
1667
+ // Get the exponential form to handle scientific notation properly
1668
+ const exponentialStr = num.toExponential();
1669
+ const match = exponentialStr.match(/^-?\d*\.?(\d+)?e([+-]\d+)$/);
1670
+ if (match) {
1671
+ const decimals = match[1] ? match[1].length : 0;
1672
+ const exponent = parseInt(match[2]);
1673
+ return Math.max(0, decimals - exponent);
1674
+ }
1675
+ // Fallback to regular decimal counting
1676
+ const decimalStr = num.toString();
1677
+ const isLocalizedNumber = lodashEs.includes(decimalStr, this.DECIMAL);
1678
+ const parts = isLocalizedNumber ? decimalStr.split(this.DECIMAL) : decimalStr.split('.');
1679
+ return parts[1] ? parts[1].length : 0;
1628
1680
  }
1629
1681
  /**
1630
1682
  * handles the arrow press event. Increases or decreases the number. triggered fom the template
@@ -1709,7 +1761,7 @@
1709
1761
  const validity = new RegExp(`^[\\d\\s-,.e+${this.GROUP}${this.DECIMAL}]$`, 'i');
1710
1762
  const inputValue = $event.target.value;
1711
1763
  // 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;
1764
+ this.inputmode === i2.INPUTMODE.FINANCIAL;
1713
1765
  // Validates if user eneters more than 16 digits
1714
1766
  if (inputValue) {
1715
1767
  const parsedVal = parseInt(inputValue.toString().replace(/\D/g, ''));
@@ -1726,13 +1778,23 @@
1726
1778
  }
1727
1779
  // validates entering of decimal values only when user provides decimal limit(i.e step contains decimal values).
1728
1780
  // 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
- }
1781
+ // if (!skipStepValidation && inputValue && this.countDecimals(this.step) && (this.countDecimals(inputValue) >= this.countDecimals(this.step)) && $event.target.selectionStart >= inputValue.length - 1) {
1782
+ // return false;
1783
+ // }
1732
1784
  // validates if user entered an invalid character.
1733
1785
  if (!validity.test($event.key)) {
1734
1786
  return false;
1735
1787
  }
1788
+ if (this.inputmode === i2.INPUTMODE.NATURAL && !isNaN(this.decimalplaces)) {
1789
+ if (this.decimalplaces === 0 && this.DECIMAL === $event.key) {
1790
+ return false;
1791
+ }
1792
+ const parts = lodashEs.includes(inputValue, this.DECIMAL) ? inputValue.split(this.DECIMAL) : inputValue.split('.');
1793
+ const isCursorPositionAtDecimalPlace = $event.target.selectionStart > parts[0].length;
1794
+ if (this.decimalplaces > 0 && this.countDecimals(inputValue) >= this.decimalplaces && isCursorPositionAtDecimalPlace) {
1795
+ return false;
1796
+ }
1797
+ }
1736
1798
  // comma cannot be entered consecutively
1737
1799
  if (lodashEs.includes(inputValue, ',') && inputValue[inputValue.length - 1] === ',' && $event.key === ',') {
1738
1800
  return false;
@@ -1811,14 +1873,14 @@
1811
1873
  i2.provideAs(NumberComponent, i2$1.NG_VALUE_ACCESSOR, true),
1812
1874
  i2.provideAs(NumberComponent, i2$1.NG_VALIDATORS, true),
1813
1875
  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) {
1876
+ ]), 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
1877
  const _r1 = i0__namespace.ɵɵgetCurrentView();
1816
1878
  i0__namespace.ɵɵelementStart(0, "input", 1, 0);
1817
1879
  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
1880
  i0__namespace.ɵɵelementEnd();
1819
1881
  } if (rf & 2) {
1820
1882
  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);
1883
+ i0__namespace.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.arialabel);
1822
1884
  } }, 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
1885
  }
1824
1886
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(NumberComponent, [{
@@ -1827,7 +1889,7 @@
1827
1889
  i2.provideAs(NumberComponent, i2$1.NG_VALUE_ACCESSOR, true),
1828
1890
  i2.provideAs(NumberComponent, i2$1.NG_VALIDATORS, true),
1829
1891
  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" }]
1892
+ ], 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
1893
  }], () => [{ type: i0__namespace.Injector }, { type: i1$1__namespace.AbstractI18nService }, { type: i2__namespace.TrailingZeroDecimalPipe }, { type: undefined, decorators: [{
1832
1894
  type: i0.Inject,
1833
1895
  args: ['EXPLICIT_CONTEXT']
@@ -1889,10 +1951,10 @@
1889
1951
  const item_r2 = ctx_r3.$implicit;
1890
1952
  const i_r5 = ctx_r3.index;
1891
1953
  const ctx_r2 = i0__namespace.ɵɵnextContext(2);
1892
- i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(10, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
1954
+ i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(8, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
1893
1955
  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);
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);
1896
1958
  i0__namespace.ɵɵadvance();
1897
1959
  i0__namespace.ɵɵproperty("textContent", item_r2.label);
1898
1960
  } }
@@ -1905,16 +1967,16 @@
1905
1967
  const item_r2 = ctx_r3.$implicit;
1906
1968
  const i_r5 = ctx_r3.index;
1907
1969
  const ctx_r2 = i0__namespace.ɵɵnextContext(2);
1908
- i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(9, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
1970
+ i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(7, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
1909
1971
  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);
1972
+ 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);
1973
+ i0__namespace.ɵɵattribute("data-attr-index", i_r5);
1912
1974
  } }
1913
1975
  function RadiosetComponent_ng_template_0_li_0_Template(rf, ctx) { if (rf & 1) {
1914
1976
  const _r1 = i0__namespace.ɵɵgetCurrentView();
1915
1977
  i0__namespace.ɵɵelementStart(0, "li", 5);
1916
1978
  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);
1979
+ 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
1980
  i0__namespace.ɵɵelementEnd();
1919
1981
  } if (rf & 2) {
1920
1982
  const item_r2 = ctx.$implicit;
@@ -1949,39 +2011,39 @@
1949
2011
  } }
1950
2012
  function RadiosetComponent_ng_template_3_li_0_li_8_label_1_Template(rf, ctx) { if (rf & 1) {
1951
2013
  i0__namespace.ɵɵelementStart(0, "label", 7);
1952
- i0__namespace.ɵɵelement(1, "input", 8)(2, "span", 9);
2014
+ i0__namespace.ɵɵelement(1, "input", 24)(2, "span", 9);
1953
2015
  i0__namespace.ɵɵelementEnd();
1954
2016
  } if (rf & 2) {
1955
2017
  const ctx_r9 = i0__namespace.ɵɵnextContext();
1956
2018
  const item_r9 = ctx_r9.$implicit;
1957
2019
  const i_r11 = ctx_r9.index;
1958
2020
  const ctx_r2 = i0__namespace.ɵɵnextContext(3);
1959
- i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(9, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
2021
+ i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(8, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
1960
2022
  i0__namespace.ɵɵadvance();
1961
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);
1962
- i0__namespace.ɵɵattribute("aria-checked", item_r9.selected)("data-attr-index", i_r11);
2024
+ i0__namespace.ɵɵattribute("data-attr-index", i_r11);
1963
2025
  i0__namespace.ɵɵadvance();
1964
2026
  i0__namespace.ɵɵproperty("textContent", item_r9.label);
1965
2027
  } }
1966
2028
  function RadiosetComponent_ng_template_3_li_0_li_8_label_2_Template(rf, ctx) { if (rf & 1) {
1967
2029
  i0__namespace.ɵɵelementStart(0, "label", 7);
1968
- i0__namespace.ɵɵelement(1, "input", 8)(2, "span", 10);
2030
+ i0__namespace.ɵɵelement(1, "input", 24)(2, "span", 10);
1969
2031
  i0__namespace.ɵɵelementEnd();
1970
2032
  } if (rf & 2) {
1971
2033
  const ctx_r9 = i0__namespace.ɵɵnextContext();
1972
2034
  const item_r9 = ctx_r9.$implicit;
1973
2035
  const i_r11 = ctx_r9.index;
1974
2036
  const ctx_r2 = i0__namespace.ɵɵnextContext(3);
1975
- i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(8, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
2037
+ i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(7, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
1976
2038
  i0__namespace.ɵɵadvance();
1977
2039
  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);
2040
+ i0__namespace.ɵɵattribute("data-attr-index", i_r11);
1979
2041
  } }
1980
2042
  function RadiosetComponent_ng_template_3_li_0_li_8_Template(rf, ctx) { if (rf & 1) {
1981
2043
  const _r8 = i0__namespace.ɵɵgetCurrentView();
1982
2044
  i0__namespace.ɵɵelementStart(0, "li", 23);
1983
2045
  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);
2046
+ 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
2047
  i0__namespace.ɵɵelementEnd();
1986
2048
  } if (rf & 2) {
1987
2049
  const item_r9 = ctx.$implicit;
@@ -2006,10 +2068,15 @@
2006
2068
  i0__namespace.ɵɵelementEnd()();
2007
2069
  } if (rf & 2) {
2008
2070
  const groupObj_r7 = ctx.$implicit;
2071
+ const groupindex_r12 = ctx.index;
2009
2072
  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);
2073
+ i0__namespace.ɵɵadvance();
2074
+ i0__namespace.ɵɵattribute("aria-labelledby", "group_" + ctx_r2.widgetId + "_" + groupindex_r12);
2075
+ i0__namespace.ɵɵadvance();
2076
+ i0__namespace.ɵɵproperty("id", "group_" + ctx_r2.widgetId + "_" + groupindex_r12)("title", groupObj_r7.key)("ngClass", i0__namespace.ɵɵpureFunction1(9, _c3, ctx_r2.collapsible));
2077
+ i0__namespace.ɵɵadvance();
2078
+ i0__namespace.ɵɵattribute("aria-label", "Group " + groupObj_r7.key);
2079
+ i0__namespace.ɵɵadvance();
2013
2080
  i0__namespace.ɵɵtextInterpolate1("", groupObj_r7.key, " ");
2014
2081
  i0__namespace.ɵɵadvance(2);
2015
2082
  i0__namespace.ɵɵproperty("ngIf", ctx_r2.collapsible);
@@ -2019,7 +2086,7 @@
2019
2086
  i0__namespace.ɵɵproperty("ngForOf", groupObj_r7.data);
2020
2087
  } }
2021
2088
  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);
2089
+ i0__namespace.ɵɵtemplate(0, RadiosetComponent_ng_template_3_li_0_Template, 9, 11, "li", 12);
2023
2090
  } if (rf & 2) {
2024
2091
  const ctx_r2 = i0__namespace.ɵɵnextContext();
2025
2092
  i0__namespace.ɵɵproperty("ngForOf", ctx_r2.groupedData);
@@ -2077,13 +2144,13 @@
2077
2144
  i2.provideAs(RadiosetComponent, i2$1.NG_VALUE_ACCESSOR, true),
2078
2145
  i2.provideAs(RadiosetComponent, i2$1.NG_VALIDATORS, true),
2079
2146
  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) {
2147
+ ]), 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
2148
  i0__namespace.ɵɵtemplate(0, RadiosetComponent_ng_template_0_Template, 1, 1, "ng-template", 1);
2082
2149
  i0__namespace.ɵɵelement(1, "input", 2);
2083
2150
  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
2151
  } if (rf & 2) {
2085
- const groupedListTemplate_r12 = i0__namespace.ɵɵreference(4);
2086
- i0__namespace.ɵɵproperty("ngIf", !ctx.groupby)("ngIfElse", groupedListTemplate_r12);
2152
+ const groupedListTemplate_r13 = i0__namespace.ɵɵreference(4);
2153
+ i0__namespace.ɵɵproperty("ngIf", !ctx.groupby)("ngIfElse", groupedListTemplate_r13);
2087
2154
  i0__namespace.ɵɵadvance();
2088
2155
  i0__namespace.ɵɵproperty("disabled", ctx.disabled || ctx.readonly);
2089
2156
  i0__namespace.ɵɵadvance();
@@ -2096,7 +2163,7 @@
2096
2163
  i2.provideAs(RadiosetComponent, i2$1.NG_VALUE_ACCESSOR, true),
2097
2164
  i2.provideAs(RadiosetComponent, i2$1.NG_VALIDATORS, true),
2098
2165
  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" }]
2166
+ ], 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
2167
  }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
2101
2168
  type: i0.Inject,
2102
2169
  args: ['EXPLICIT_CONTEXT']
@@ -2120,6 +2187,7 @@
2120
2187
  ['displayValue', i2.PROP_STRING],
2121
2188
  ['groupby', i2.PROP_STRING],
2122
2189
  ['hint', i2.PROP_STRING],
2190
+ ['arialabel', i2.PROP_STRING],
2123
2191
  ['match', i2.PROP_STRING],
2124
2192
  ['multiple', { value: false, ...i2.PROP_BOOLEAN }],
2125
2193
  ['name', i2.PROP_STRING],
@@ -2199,7 +2267,7 @@
2199
2267
  * As this widget implements ControlValueAccessor, manually updating the ngModel (or modelByKey) is necessary to ensure correct form behavior.
2200
2268
  * */
2201
2269
  const datasetSubscription = this.dataset$.subscribe(() => {
2202
- if (i1$1.isIos()) {
2270
+ if (i1$1.isIos() || i1$1.isSafari()) {
2203
2271
  if (this.datavalue) {
2204
2272
  const selectedItem = this.datasetItems.find(item => item.selected);
2205
2273
  if (!selectedItem) {
@@ -2279,7 +2347,7 @@
2279
2347
  */
2280
2348
  checkForFloatingLabel($event) {
2281
2349
  const captionEl = $(this.selectEl.nativeElement).closest('.app-composite-widget.caption-floating');
2282
- if (!this.placeholder && i1$1.isIos()) {
2350
+ if (!this.placeholder && (i1$1.isIos() || i1$1.isSafari())) {
2283
2351
  this.removePlaceholderOption();
2284
2352
  }
2285
2353
  if (captionEl.length > 0) {
@@ -2322,7 +2390,7 @@
2322
2390
  i2.provideAs(SelectComponent, i2$1.NG_VALUE_ACCESSOR, true),
2323
2391
  i2.provideAs(SelectComponent, i2$1.NG_VALIDATORS, true),
2324
2392
  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) {
2393
+ ]), 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
2394
  const _r1 = i0__namespace.ɵɵgetCurrentView();
2327
2395
  i0__namespace.ɵɵelementStart(0, "select", 1, 0);
2328
2396
  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 +2402,7 @@
2334
2402
  i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(15, _c1$6, ctx.class))("disabled", ctx.disabled)("required", ctx.required)("tabindex", ctx.tabindex);
2335
2403
  i0__namespace.ɵɵtwoWayProperty("ngModel", ctx.modelByKey);
2336
2404
  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);
2405
+ i0__namespace.ɵɵattribute("accesskey", ctx.shortcutkey)("name", ctx.name)("aria-label", ctx.arialabel);
2338
2406
  i0__namespace.ɵɵadvance(2);
2339
2407
  i0__namespace.ɵɵproperty("textContent", ctx.placeholder)("hidden", !ctx.placeholder);
2340
2408
  i0__namespace.ɵɵadvance();
@@ -2349,7 +2417,7 @@
2349
2417
  i2.provideAs(SelectComponent, i2$1.NG_VALUE_ACCESSOR, true),
2350
2418
  i2.provideAs(SelectComponent, i2$1.NG_VALIDATORS, true),
2351
2419
  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" }]
2420
+ ], 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
2421
  }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
2354
2422
  type: i0.Inject,
2355
2423
  args: ['EXPLICIT_CONTEXT']
@@ -2372,6 +2440,7 @@
2372
2440
  ['displayexpression', i2.PROP_STRING],
2373
2441
  ['displayfield', i2.PROP_STRING],
2374
2442
  ['hint', i2.PROP_STRING],
2443
+ ['arialabel', i2.PROP_STRING],
2375
2444
  ['iconclass', i2.PROP_STRING],
2376
2445
  ['name', i2.PROP_STRING],
2377
2446
  ['orderby', i2.PROP_STRING],
@@ -2405,7 +2474,8 @@
2405
2474
  } if (rf & 2) {
2406
2475
  const opt_r3 = ctx.$implicit;
2407
2476
  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));
2477
+ i0__namespace.ɵɵproperty("name", "wm-switch-" + opt_r3.key)("ngClass", i0__namespace.ɵɵpureFunction2(5, _c1$5, opt_r3.selected, ctx_r4.disabled));
2478
+ i0__namespace.ɵɵattribute("aria-pressed", opt_r3.selected ? true : false);
2409
2479
  i0__namespace.ɵɵadvance();
2410
2480
  i0__namespace.ɵɵproperty("ngIf", opt_r3.dataObject && opt_r3.dataObject[ctx_r4.iconclass]);
2411
2481
  i0__namespace.ɵɵadvance();
@@ -2529,9 +2599,9 @@
2529
2599
  static { this.ɵcmp = /*@__PURE__*/ i0__namespace.ɵɵdefineComponent({ type: SwitchComponent, selectors: [["", "wmSwitch", ""]], exportAs: ["wmSwitch"], features: [i0__namespace.ɵɵProvidersFeature([
2530
2600
  i2.provideAs(SwitchComponent, i2$1.NG_VALUE_ACCESSOR, true),
2531
2601
  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) {
2602
+ ]), 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
2603
  i0__namespace.ɵɵelementStart(0, "div", 0);
2534
- i0__namespace.ɵɵtemplate(1, SwitchComponent_a_1_Template, 3, 7, "a", 1);
2604
+ i0__namespace.ɵɵtemplate(1, SwitchComponent_a_1_Template, 3, 8, "a", 1);
2535
2605
  i0__namespace.ɵɵelementEnd();
2536
2606
  i0__namespace.ɵɵelementStart(2, "span", 2);
2537
2607
  i0__namespace.ɵɵtemplate(3, SwitchComponent_i_3_Template, 1, 3, "i", 3);
@@ -2556,7 +2626,7 @@
2556
2626
  args: [{ selector: '[wmSwitch]', providers: [
2557
2627
  i2.provideAs(SwitchComponent, i2$1.NG_VALUE_ACCESSOR, true),
2558
2628
  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" }]
2629
+ ], 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
2630
  }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
2561
2631
  type: i0.Inject,
2562
2632
  args: ['EXPLICIT_CONTEXT']
@@ -2574,6 +2644,7 @@
2574
2644
  ['datavalue', i2.PROP_STRING],
2575
2645
  ['disabled', i2.PROP_BOOLEAN],
2576
2646
  ['hint', i2.PROP_STRING],
2647
+ ['arialabel', i2.PROP_STRING],
2577
2648
  ['maxvalue', i2.PROP_NUMBER],
2578
2649
  ['minvalue', i2.PROP_NUMBER],
2579
2650
  ['name', i2.PROP_STRING],
@@ -2617,7 +2688,7 @@
2617
2688
  i2.provideAs(InputCalendarComponent, i2$1.NG_VALUE_ACCESSOR, true),
2618
2689
  i2.provideAs(InputCalendarComponent, i2$1.NG_VALIDATORS, true),
2619
2690
  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) {
2691
+ ]), 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
2692
  const _r1 = i0__namespace.ɵɵgetCurrentView();
2622
2693
  i0__namespace.ɵɵelementStart(0, "input", 1, 0);
2623
2694
  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 +2698,7 @@
2627
2698
  i0__namespace.ɵɵproperty("type", ctx.type);
2628
2699
  i0__namespace.ɵɵtwoWayProperty("ngModel", ctx.datavalue);
2629
2700
  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");
2701
+ i0__namespace.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.arialabel || ctx.type + " field");
2631
2702
  } }, 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
2703
  }
2633
2704
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(InputCalendarComponent, [{
@@ -2636,7 +2707,7 @@
2636
2707
  i2.provideAs(InputCalendarComponent, i2$1.NG_VALUE_ACCESSOR, true),
2637
2708
  i2.provideAs(InputCalendarComponent, i2$1.NG_VALIDATORS, true),
2638
2709
  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" }]
2710
+ ], 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
2711
  }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
2641
2712
  type: i0.Inject,
2642
2713
  args: ['EXPLICIT_CONTEXT']
@@ -2660,6 +2731,7 @@
2660
2731
  ['datavalue', i2.PROP_STRING],
2661
2732
  ['disabled', i2.PROP_BOOLEAN],
2662
2733
  ['hint', i2.PROP_STRING],
2734
+ ['arialabel', i2.PROP_STRING],
2663
2735
  ['name', i2.PROP_STRING],
2664
2736
  ['placeholder', { value: 'Enter text', ...i2.PROP_STRING }],
2665
2737
  ['readonly', i2.PROP_BOOLEAN],
@@ -2700,7 +2772,7 @@
2700
2772
  i2.provideAs(InputColorComponent, i2$1.NG_VALUE_ACCESSOR, true),
2701
2773
  i2.provideAs(InputColorComponent, i2$1.NG_VALIDATORS, true),
2702
2774
  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) {
2775
+ ]), 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
2776
  const _r1 = i0__namespace.ɵɵgetCurrentView();
2705
2777
  i0__namespace.ɵɵelementStart(0, "input", 1, 0);
2706
2778
  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 +2782,7 @@
2710
2782
  i0__namespace.ɵɵproperty("type", ctx.type);
2711
2783
  i0__namespace.ɵɵtwoWayProperty("ngModel", ctx.datavalue);
2712
2784
  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);
2785
+ i0__namespace.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.arialabel);
2714
2786
  } }, 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
2787
  }
2716
2788
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(InputColorComponent, [{
@@ -2719,7 +2791,7 @@
2719
2791
  i2.provideAs(InputColorComponent, i2$1.NG_VALUE_ACCESSOR, true),
2720
2792
  i2.provideAs(InputColorComponent, i2$1.NG_VALIDATORS, true),
2721
2793
  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" }]
2794
+ ], 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
2795
  }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
2724
2796
  type: i0.Inject,
2725
2797
  args: ['EXPLICIT_CONTEXT']
@@ -2743,6 +2815,7 @@
2743
2815
  ['datavalue', i2.PROP_STRING],
2744
2816
  ['disabled', i2.PROP_BOOLEAN],
2745
2817
  ['hint', i2.PROP_STRING],
2818
+ ['arialabel', i2.PROP_STRING],
2746
2819
  ['maxchars', i2.PROP_NUMBER],
2747
2820
  ['name', i2.PROP_STRING],
2748
2821
  ['placeholder', { value: 'Enter text', ...i2.PROP_STRING }],
@@ -2784,7 +2857,7 @@
2784
2857
  i2.provideAs(InputEmailComponent, i2$1.NG_VALUE_ACCESSOR, true),
2785
2858
  i2.provideAs(InputEmailComponent, i2$1.NG_VALIDATORS, true),
2786
2859
  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) {
2860
+ ]), 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
2861
  const _r1 = i0__namespace.ɵɵgetCurrentView();
2789
2862
  i0__namespace.ɵɵelementStart(0, "input", 1, 0);
2790
2863
  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 +2867,7 @@
2794
2867
  i0__namespace.ɵɵproperty("type", ctx.type);
2795
2868
  i0__namespace.ɵɵtwoWayProperty("ngModel", ctx.datavalue);
2796
2869
  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);
2870
+ i0__namespace.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.arialabel);
2798
2871
  } }, 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
2872
  }
2800
2873
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(InputEmailComponent, [{
@@ -2803,7 +2876,7 @@
2803
2876
  i2.provideAs(InputEmailComponent, i2$1.NG_VALUE_ACCESSOR, true),
2804
2877
  i2.provideAs(InputEmailComponent, i2$1.NG_VALIDATORS, true),
2805
2878
  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" }]
2879
+ ], 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
2880
  }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
2808
2881
  type: i0.Inject,
2809
2882
  args: ['EXPLICIT_CONTEXT']
@@ -2827,6 +2900,7 @@
2827
2900
  ['datavalue', i2.PROP_STRING],
2828
2901
  ['disabled', i2.PROP_BOOLEAN],
2829
2902
  ['hint', i2.PROP_STRING],
2903
+ ['arialabel', i2.PROP_STRING],
2830
2904
  ['maxchars', i2.PROP_NUMBER],
2831
2905
  ['maxvalue', i2.PROP_NUMBER],
2832
2906
  ['minvalue', i2.PROP_NUMBER],
@@ -2882,7 +2956,7 @@
2882
2956
  i2.provideAs(InputNumberComponent, i2$1.NG_VALUE_ACCESSOR, true),
2883
2957
  i2.provideAs(InputNumberComponent, i2$1.NG_VALIDATORS, true),
2884
2958
  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) {
2959
+ ]), 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
2960
  const _r1 = i0__namespace.ɵɵgetCurrentView();
2887
2961
  i0__namespace.ɵɵelementStart(0, "input", 1, 0);
2888
2962
  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 +2966,7 @@
2892
2966
  i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(20, _c2, ctx.step === 0))("type", ctx.type);
2893
2967
  i0__namespace.ɵɵtwoWayProperty("ngModel", ctx.datavalue);
2894
2968
  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);
2969
+ i0__namespace.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.arialabel);
2896
2970
  } }, 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
2971
  }
2898
2972
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(InputNumberComponent, [{
@@ -2901,7 +2975,7 @@
2901
2975
  i2.provideAs(InputNumberComponent, i2$1.NG_VALUE_ACCESSOR, true),
2902
2976
  i2.provideAs(InputNumberComponent, i2$1.NG_VALIDATORS, true),
2903
2977
  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" }]
2978
+ ], 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
2979
  }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
2906
2980
  type: i0.Inject,
2907
2981
  args: ['EXPLICIT_CONTEXT']
@@ -2926,6 +3000,7 @@
2926
3000
  ['disabled', i2.PROP_BOOLEAN],
2927
3001
  ['displayformat', i2.PROP_STRING],
2928
3002
  ['hint', i2.PROP_STRING],
3003
+ ['arialabel', i2.PROP_STRING],
2929
3004
  ['maxchars', i2.PROP_NUMBER],
2930
3005
  ['name', i2.PROP_STRING],
2931
3006
  ['placeholder', { value: 'Enter text', ...i2.PROP_STRING }],
@@ -3049,7 +3124,7 @@
3049
3124
  i2.provideAs(InputTextComponent, i2$1.NG_VALUE_ACCESSOR, true),
3050
3125
  i2.provideAs(InputTextComponent, i2$1.NG_VALIDATORS, true),
3051
3126
  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) {
3127
+ ]), 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
3128
  const _r1 = i0__namespace.ɵɵgetCurrentView();
3054
3129
  i0__namespace.ɵɵelementStart(0, "input", 1, 0);
3055
3130
  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 +3134,7 @@
3059
3134
  i0__namespace.ɵɵproperty("type", ctx.type);
3060
3135
  i0__namespace.ɵɵtwoWayProperty("ngModel", ctx.datavalue);
3061
3136
  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);
3137
+ i0__namespace.ɵɵattribute("name", ctx.name)("aria-label", ctx.arialabel)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey);
3063
3138
  } }, 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
3139
  }
3065
3140
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(InputTextComponent, [{
@@ -3068,7 +3143,7 @@
3068
3143
  i2.provideAs(InputTextComponent, i2$1.NG_VALUE_ACCESSOR, true),
3069
3144
  i2.provideAs(InputTextComponent, i2$1.NG_VALIDATORS, true),
3070
3145
  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" }]
3146
+ ], 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
3147
  }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
3073
3148
  type: i0.Inject,
3074
3149
  args: ['EXPLICIT_CONTEXT']
@@ -3094,6 +3169,7 @@
3094
3169
  ['datavalue', i2.PROP_STRING],
3095
3170
  ['disabled', i2.PROP_BOOLEAN],
3096
3171
  ['hint', i2.PROP_STRING],
3172
+ ['arialabel', i2.PROP_STRING],
3097
3173
  ['maxchars', i2.PROP_NUMBER],
3098
3174
  ['name', i2.PROP_STRING],
3099
3175
  ['placeholder', { value: 'Place your text', ...i2.PROP_STRING }],
@@ -3151,7 +3227,7 @@
3151
3227
  i2.provideAs(TextareaComponent, i2$1.NG_VALUE_ACCESSOR, true),
3152
3228
  i2.provideAs(TextareaComponent, i2$1.NG_VALIDATORS, true),
3153
3229
  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) {
3230
+ ]), 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
3231
  const _r1 = i0__namespace.ɵɵgetCurrentView();
3156
3232
  i0__namespace.ɵɵelementStart(0, "textarea", 1, 0);
3157
3233
  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 +3237,7 @@
3161
3237
  } if (rf & 2) {
3162
3238
  i0__namespace.ɵɵtwoWayProperty("ngModel", ctx.datavalue);
3163
3239
  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);
3240
+ i0__namespace.ɵɵattribute("name", ctx.name)("tabindex", ctx.tabindex)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.arialabel);
3165
3241
  i0__namespace.ɵɵadvance(2);
3166
3242
  i0__namespace.ɵɵproperty("ngIf", ctx.maxchars);
3167
3243
  } }, 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 +3248,7 @@
3172
3248
  i2.provideAs(TextareaComponent, i2$1.NG_VALUE_ACCESSOR, true),
3173
3249
  i2.provideAs(TextareaComponent, i2$1.NG_VALIDATORS, true),
3174
3250
  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" }]
3251
+ ], 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
3252
  }], () => [{ type: i0__namespace.Injector }, { type: undefined, decorators: [{
3177
3253
  type: i0.Inject,
3178
3254
  args: ['EXPLICIT_CONTEXT']
@@ -3185,7 +3261,7 @@
3185
3261
  type: i0.ViewChild,
3186
3262
  args: [i2$1.NgModel]
3187
3263
  }] }); })();
3188
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassDebugInfo(TextareaComponent, { className: "TextareaComponent", filePath: "textarea/textarea.component.ts", lineNumber: 22 }); })();
3264
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassDebugInfo(TextareaComponent, { className: "TextareaComponent", filePath: "textarea/textarea.component.ts", lineNumber: 23 }); })();
3189
3265
 
3190
3266
  class CaptionPositionDirective {
3191
3267
  constructor(inj, app) {
@@ -3216,9 +3292,10 @@
3216
3292
  }
3217
3293
  // For select widget, display placeholder only on focus else remove the text of the option selected.
3218
3294
  checkForSelectPlaceholder() {
3219
- if ($(this.nativeEl).find('select option:selected').text() && !$(this.nativeEl).find('select').is(':focus') &&
3295
+ const selectElPlaceholderOption = this.nativeEl.querySelector('#placeholderOption');
3296
+ if (selectElPlaceholderOption && selectElPlaceholderOption.textContent && !$(this.nativeEl).find('select').is(':focus') &&
3220
3297
  !$(this.inputEl.closest('[widget-id]')).attr('datavalue')) {
3221
- $(this.nativeEl).find('select option:selected').text('');
3298
+ selectElPlaceholderOption.textContent = '';
3222
3299
  }
3223
3300
  }
3224
3301
  setDefaultValueAnimation() {
@@ -3320,10 +3397,10 @@
3320
3397
  // before placeholder is removed assign it to the placeholder variable
3321
3398
  // check for placeholder in inputel and selectel
3322
3399
  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('');
3400
+ const selectElPlaceholderOption = this.nativeEl.querySelector('#placeholderOption');
3401
+ if (this.inputEl.attr('placeholder') || selectElPlaceholderOption) {
3402
+ if (selectElPlaceholderOption) {
3403
+ selectElPlaceholderOption.textContent = '';
3327
3404
  }
3328
3405
  else {
3329
3406
  this.placeholder = this.inputEl.attr('placeholder');