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

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