@wavemaker/app-ng-runtime 11.9.0-next.24951 → 11.9.0-next.24956

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. app-ng-runtime/build-task/bundles/index.umd.js +4 -4
  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/input/color-picker/color-picker.build.mjs +3 -3
  5. app-ng-runtime/build-task/esm2022/input/currency/currency.build.mjs +3 -3
  6. app-ng-runtime/build-task/fesm2022/index.mjs +4 -4
  7. app-ng-runtime/build-task/fesm2022/index.mjs.map +1 -1
  8. app-ng-runtime/components/base/bundles/index.umd.js +1 -1
  9. app-ng-runtime/components/base/esm2022/pipes/custom-pipes.mjs +3 -3
  10. app-ng-runtime/components/base/fesm2022/index.mjs +1 -1
  11. app-ng-runtime/components/base/fesm2022/index.mjs.map +1 -1
  12. app-ng-runtime/components/base/pipes/custom-pipes.d.ts +1 -1
  13. app-ng-runtime/components/basic/default/anchor/anchor.component.d.ts +1 -0
  14. app-ng-runtime/components/basic/default/bundles/index.umd.js +16 -13
  15. app-ng-runtime/components/basic/default/esm2022/anchor/anchor.component.mjs +4 -4
  16. app-ng-runtime/components/basic/default/esm2022/audio/audio.component.mjs +5 -5
  17. app-ng-runtime/components/basic/default/esm2022/icon/icon.component.mjs +6 -6
  18. app-ng-runtime/components/basic/default/esm2022/icon/icon.props.mjs +2 -1
  19. app-ng-runtime/components/basic/default/esm2022/video/video.component.mjs +5 -4
  20. app-ng-runtime/components/basic/default/esm2022/video/video.props.mjs +2 -1
  21. app-ng-runtime/components/basic/default/fesm2022/index.mjs +16 -13
  22. app-ng-runtime/components/basic/default/fesm2022/index.mjs.map +1 -1
  23. app-ng-runtime/components/basic/default/icon/icon.component.d.ts +1 -0
  24. app-ng-runtime/components/basic/default/video/video.component.d.ts +1 -0
  25. app-ng-runtime/components/basic/progress/bundles/index.umd.js +4 -4
  26. app-ng-runtime/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +3 -3
  27. app-ng-runtime/components/basic/progress/esm2022/progress-circle/progress-circle.component.mjs +3 -3
  28. app-ng-runtime/components/basic/progress/fesm2022/index.mjs +4 -4
  29. app-ng-runtime/components/basic/progress/fesm2022/index.mjs.map +1 -1
  30. app-ng-runtime/components/basic/rich-text-editor/bundles/index.umd.js +1 -0
  31. app-ng-runtime/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +2 -1
  32. app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs +1 -0
  33. app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
  34. app-ng-runtime/components/basic/search/bundles/index.umd.js +7 -7
  35. app-ng-runtime/components/basic/search/esm2022/search.component.mjs +8 -8
  36. app-ng-runtime/components/basic/search/fesm2022/index.mjs +7 -7
  37. app-ng-runtime/components/basic/search/fesm2022/index.mjs.map +1 -1
  38. app-ng-runtime/components/data/pagination/bundles/index.umd.js +2 -0
  39. app-ng-runtime/components/data/pagination/esm2022/pagination.component.mjs +3 -1
  40. app-ng-runtime/components/data/pagination/fesm2022/index.mjs +2 -0
  41. app-ng-runtime/components/data/pagination/fesm2022/index.mjs.map +1 -1
  42. app-ng-runtime/components/data/table/bundles/index.umd.js +24 -3
  43. app-ng-runtime/components/data/table/esm2022/table.component.mjs +24 -4
  44. app-ng-runtime/components/data/table/esm2022/table.props.mjs +2 -1
  45. app-ng-runtime/components/data/table/fesm2022/index.mjs +25 -4
  46. app-ng-runtime/components/data/table/fesm2022/index.mjs.map +1 -1
  47. app-ng-runtime/components/data/table/table.component.d.ts +5 -0
  48. app-ng-runtime/components/dialogs/alert-dialog/bundles/index.umd.js +6 -4
  49. app-ng-runtime/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +7 -5
  50. app-ng-runtime/components/dialogs/alert-dialog/fesm2022/index.mjs +6 -4
  51. app-ng-runtime/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
  52. app-ng-runtime/components/dialogs/confirm-dialog/bundles/index.umd.js +8 -4
  53. app-ng-runtime/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +9 -5
  54. app-ng-runtime/components/dialogs/confirm-dialog/fesm2022/index.mjs +8 -4
  55. app-ng-runtime/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
  56. app-ng-runtime/components/dialogs/default/bundles/index.umd.js +8 -3
  57. app-ng-runtime/components/dialogs/default/dialog-header/dialog-header.component.d.ts +2 -1
  58. app-ng-runtime/components/dialogs/default/esm2022/dialog-header/dialog-header.component.mjs +9 -4
  59. app-ng-runtime/components/dialogs/default/fesm2022/index.mjs +8 -3
  60. app-ng-runtime/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  61. app-ng-runtime/components/dialogs/design-dialog/bundles/index.umd.js +4 -4
  62. app-ng-runtime/components/dialogs/design-dialog/esm2022/dialog.component.mjs +5 -5
  63. app-ng-runtime/components/dialogs/design-dialog/fesm2022/index.mjs +4 -4
  64. app-ng-runtime/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
  65. app-ng-runtime/components/dialogs/iframe-dialog/bundles/index.umd.js +9 -5
  66. app-ng-runtime/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +10 -6
  67. app-ng-runtime/components/dialogs/iframe-dialog/fesm2022/index.mjs +9 -5
  68. app-ng-runtime/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
  69. app-ng-runtime/components/dialogs/partial-dialog/bundles/index.umd.js +9 -5
  70. app-ng-runtime/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +10 -6
  71. app-ng-runtime/components/dialogs/partial-dialog/fesm2022/index.mjs +9 -5
  72. app-ng-runtime/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
  73. app-ng-runtime/components/input/chips/bundles/index.umd.js +2 -2
  74. app-ng-runtime/components/input/chips/esm2022/chips.component.mjs +3 -3
  75. app-ng-runtime/components/input/chips/fesm2022/index.mjs +2 -2
  76. app-ng-runtime/components/input/chips/fesm2022/index.mjs.map +1 -1
  77. app-ng-runtime/components/input/color-picker/bundles/index.umd.js +2 -2
  78. app-ng-runtime/components/input/color-picker/esm2022/color-picker.component.mjs +3 -3
  79. app-ng-runtime/components/input/color-picker/fesm2022/index.mjs +2 -2
  80. app-ng-runtime/components/input/color-picker/fesm2022/index.mjs.map +1 -1
  81. app-ng-runtime/components/input/default/bundles/index.umd.js +91 -52
  82. app-ng-runtime/components/input/default/esm2022/caption-position.directive.mjs +8 -7
  83. app-ng-runtime/components/input/default/esm2022/checkbox/checkbox.component.mjs +6 -6
  84. app-ng-runtime/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +10 -10
  85. app-ng-runtime/components/input/default/esm2022/number/number.props.mjs +2 -1
  86. app-ng-runtime/components/input/default/esm2022/radioset/radioset.component.mjs +17 -17
  87. app-ng-runtime/components/input/default/esm2022/select/select.component.mjs +4 -4
  88. app-ng-runtime/components/input/default/esm2022/text/locale/number-locale.mjs +50 -13
  89. app-ng-runtime/components/input/default/fesm2022/index.mjs +90 -51
  90. app-ng-runtime/components/input/default/fesm2022/index.mjs.map +1 -1
  91. app-ng-runtime/components/input/default/select/select.component.d.ts +1 -0
  92. app-ng-runtime/components/input/default/text/locale/number-locale.d.ts +1 -0
  93. app-ng-runtime/components/input/file-upload/bundles/index.umd.js +127 -95
  94. app-ng-runtime/components/input/file-upload/esm2022/file-upload.component.mjs +125 -96
  95. app-ng-runtime/components/input/file-upload/esm2022/file-upload.props.mjs +4 -1
  96. app-ng-runtime/components/input/file-upload/fesm2022/index.mjs +127 -95
  97. app-ng-runtime/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  98. app-ng-runtime/components/input/file-upload/file-upload.component.d.ts +3 -7
  99. app-ng-runtime/components/input/slider/bundles/index.umd.js +4 -6
  100. app-ng-runtime/components/input/slider/esm2022/slider.component.mjs +5 -7
  101. app-ng-runtime/components/input/slider/fesm2022/index.mjs +4 -6
  102. app-ng-runtime/components/input/slider/fesm2022/index.mjs.map +1 -1
  103. app-ng-runtime/core/bundles/index.umd.js +5 -5
  104. app-ng-runtime/core/esm2022/utils/utils.mjs +2 -3
  105. app-ng-runtime/core/fesm2022/index.mjs +1 -2
  106. app-ng-runtime/core/fesm2022/index.mjs.map +1 -1
  107. app-ng-runtime/core/utils/utils.d.ts +0 -1
  108. app-ng-runtime/package.json +1 -1
@@ -498,7 +498,7 @@ class CheckboxComponent extends BaseFormCustomComponent {
498
498
  provideAs(CheckboxComponent, NG_VALUE_ACCESSOR, true),
499
499
  provideAs(CheckboxComponent, NG_VALIDATORS, true),
500
500
  provideAsWidgetRef(CheckboxComponent)
501
- ]), i0.ɵɵInheritDefinitionFeature], attrs: _c1$a, decls: 6, vars: 19, consts: [["checkbox", ""], [3, "ngClass"], ["type", "checkbox", "role", "checkbox", "focus-target", "", 3, "ngModelChange", "blur", "ngModel", "ngModelOptions", "readonly", "required", "disabled", "tabindex"], [1, "caption", 3, "innerHtml"], ["alt", "Checkbox Image", "aria-hidden", "true", "src", "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==", 1, "switch"], ["type", "hidden", "aria-hidden", "true", "tabindex", "-1", 1, "ng-hide", "model-holder", 3, "disabled", "value"]], template: function CheckboxComponent_Template(rf, ctx) { if (rf & 1) {
501
+ ]), i0.ɵɵInheritDefinitionFeature], attrs: _c1$a, decls: 6, vars: 18, consts: [["checkbox", ""], [3, "ngClass"], ["type", "checkbox", "focus-target", "", 3, "ngModelChange", "blur", "ngModel", "ngModelOptions", "readonly", "required", "disabled", "tabindex"], [1, "caption", 3, "innerHtml"], ["alt", "Checkbox Image", "aria-hidden", "true", "src", "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==", 1, "switch"], ["type", "hidden", "aria-hidden", "true", "tabindex", "-1", 1, "ng-hide", "model-holder", 3, "disabled", "value"]], template: function CheckboxComponent_Template(rf, ctx) { if (rf & 1) {
502
502
  const _r1 = i0.ɵɵgetCurrentView();
503
503
  i0.ɵɵelementStart(0, "label", 1)(1, "input", 2, 0);
504
504
  i0.ɵɵtwoWayListener("ngModelChange", function CheckboxComponent_Template_input_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.proxyModel, $event) || (ctx.proxyModel = $event); return i0.ɵɵresetView($event); });
@@ -508,11 +508,11 @@ class CheckboxComponent extends BaseFormCustomComponent {
508
508
  i0.ɵɵelementEnd();
509
509
  i0.ɵɵelement(5, "input", 5);
510
510
  } if (rf & 2) {
511
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction3(14, _c2$7, !ctx.proxyModel, ctx.disabled || ctx.readonly, ctx.required && ctx._caption));
511
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction3(13, _c2$7, !ctx.proxyModel, ctx.disabled || ctx.readonly, ctx.required && ctx._caption));
512
512
  i0.ɵɵadvance();
513
513
  i0.ɵɵtwoWayProperty("ngModel", ctx.proxyModel);
514
- i0.ɵɵproperty("ngModelOptions", i0.ɵɵpureFunction0(18, _c3$2))("readonly", ctx.readonly)("required", ctx.required)("disabled", ctx.disabled || ctx.readonly)("tabindex", ctx.tabindex);
515
- i0.ɵɵattribute("name", ctx.name)("aria-label", ctx.arialabel)("aria-checked", !!ctx.proxyModel)("accesskey", ctx.shortcutkey);
514
+ i0.ɵɵproperty("ngModelOptions", i0.ɵɵpureFunction0(17, _c3$2))("readonly", ctx.readonly)("required", ctx.required)("disabled", ctx.disabled || ctx.readonly)("tabindex", ctx.tabindex);
515
+ i0.ɵɵattribute("name", ctx.name)("aria-label", ctx.arialabel)("accesskey", ctx.shortcutkey);
516
516
  i0.ɵɵadvance(2);
517
517
  i0.ɵɵproperty("innerHtml", ctx._caption, i0.ɵɵsanitizeHtml);
518
518
  i0.ɵɵadvance(2);
@@ -525,7 +525,7 @@ class CheckboxComponent extends BaseFormCustomComponent {
525
525
  provideAs(CheckboxComponent, NG_VALUE_ACCESSOR, true),
526
526
  provideAs(CheckboxComponent, NG_VALIDATORS, true),
527
527
  provideAsWidgetRef(CheckboxComponent)
528
- ], 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]=\"arialabel\"\n [attr.aria-checked]=\"!!proxyModel\"\n focus-target\n [(ngModel)]=\"proxyModel\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled || readonly\"\n [attr.accesskey]=\"shortcutkey\"\n [tabindex]=\"tabindex\"\n (blur)=\"invokeOnTouched($event)\"\n (ngModelChange)=\"handleChange($event)\">\n <span class=\"caption\" [innerHtml]=\"_caption\"></span>\n <img alt=\"Checkbox Image\" aria-hidden=\"true\" src=\"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" class=\"switch\"/>\n</label>\n<input type=\"hidden\" class=\"ng-hide model-holder\" aria-hidden=\"true\" tabindex=\"-1\" [disabled]=\"disabled\" [value]=\"proxyModel\">\n" }]
528
+ ], template: "<label [ngClass]=\"{'unchecked': !proxyModel, 'disabled': (disabled || readonly), 'required': (required && _caption)}\">\n <input type=\"checkbox\"\n #checkbox\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel\"\n focus-target\n [(ngModel)]=\"proxyModel\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled || readonly\"\n [attr.accesskey]=\"shortcutkey\"\n [tabindex]=\"tabindex\"\n (blur)=\"invokeOnTouched($event)\"\n (ngModelChange)=\"handleChange($event)\">\n <span class=\"caption\" [innerHtml]=\"_caption\"></span>\n <img alt=\"Checkbox Image\" aria-hidden=\"true\" src=\"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" class=\"switch\"/>\n</label>\n<input type=\"hidden\" class=\"ng-hide model-holder\" aria-hidden=\"true\" tabindex=\"-1\" [disabled]=\"disabled\" [value]=\"proxyModel\">\n" }]
529
529
  }], () => [{ type: i0.Injector }, { type: undefined, decorators: [{
530
530
  type: Attribute,
531
531
  args: ['checkedvalue']
@@ -897,10 +897,10 @@ function CheckboxsetComponent_ng_template_0_li_0_label_1_Template(rf, ctx) { if
897
897
  const item_r2 = ctx_r3.$implicit;
898
898
  const i_r5 = ctx_r3.index;
899
899
  const ctx_r2 = i0.ɵɵnextContext(2);
900
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(12, _c2$6, ctx_r2.disabled || ctx_r2.readonly))("title", item_r2.label);
900
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c2$6, ctx_r2.disabled || ctx_r2.readonly))("title", item_r2.label);
901
901
  i0.ɵɵadvance();
902
902
  i0.ɵɵproperty("name", "checkboxset_" + ctx_r2.widgetId)("tabindex", ctx_r2.tabindex)("disabled", ctx_r2.disabled || ctx_r2.readonly)("value", item_r2.key)("tabindex", ctx_r2.tabindex)("checked", item_r2.selected);
903
- i0.ɵɵattribute("aria-label", item_r2.key)("aria-checked", item_r2.selected)("data-attr-index", i_r5);
903
+ i0.ɵɵattribute("data-attr-index", i_r5);
904
904
  i0.ɵɵadvance();
905
905
  i0.ɵɵproperty("textContent", item_r2.label);
906
906
  } }
@@ -913,16 +913,16 @@ function CheckboxsetComponent_ng_template_0_li_0_label_2_Template(rf, ctx) { if
913
913
  const item_r2 = ctx_r3.$implicit;
914
914
  const i_r5 = ctx_r3.index;
915
915
  const ctx_r2 = i0.ɵɵnextContext(2);
916
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c2$6, ctx_r2.disabled || ctx_r2.readonly));
916
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c2$6, ctx_r2.disabled || ctx_r2.readonly));
917
917
  i0.ɵɵadvance();
918
918
  i0.ɵɵproperty("name", "checkboxset_" + ctx_r2.widgetId)("tabindex", ctx_r2.tabindex)("disabled", ctx_r2.disabled || ctx_r2.readonly)("value", item_r2.key)("tabindex", ctx_r2.tabindex)("checked", item_r2.selected);
919
- i0.ɵɵattribute("aria-label", item_r2.key)("aria-checked", item_r2.selected)("data-attr-index", i_r5);
919
+ i0.ɵɵattribute("data-attr-index", i_r5);
920
920
  } }
921
921
  function CheckboxsetComponent_ng_template_0_li_0_Template(rf, ctx) { if (rf & 1) {
922
922
  const _r1 = i0.ɵɵgetCurrentView();
923
923
  i0.ɵɵelementStart(0, "li", 5);
924
924
  i0.ɵɵlistener("click", function CheckboxsetComponent_ng_template_0_li_0_Template_li_click_0_listener($event) { const item_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onCheckboxLabelClick($event, item_r2.key)); });
925
- i0.ɵɵtemplate(1, CheckboxsetComponent_ng_template_0_li_0_label_1_Template, 3, 14, "label", 6)(2, CheckboxsetComponent_ng_template_0_li_0_label_2_Template, 3, 12, "label", 7);
925
+ i0.ɵɵtemplate(1, CheckboxsetComponent_ng_template_0_li_0_label_1_Template, 3, 12, "label", 6)(2, CheckboxsetComponent_ng_template_0_li_0_label_2_Template, 3, 10, "label", 7);
926
926
  i0.ɵɵelementEnd();
927
927
  } if (rf & 2) {
928
928
  const item_r2 = ctx.$implicit;
@@ -957,7 +957,7 @@ function CheckboxsetComponent_ng_template_3_li_0_span_7_Template(rf, ctx) { if (
957
957
  } }
958
958
  function CheckboxsetComponent_ng_template_3_li_0_li_8_label_1_Template(rf, ctx) { if (rf & 1) {
959
959
  i0.ɵɵelementStart(0, "label", 8);
960
- i0.ɵɵelement(1, "input", 26)(2, "span", 10);
960
+ i0.ɵɵelement(1, "input", 9)(2, "span", 10);
961
961
  i0.ɵɵelementEnd();
962
962
  } if (rf & 2) {
963
963
  const ctx_r9 = i0.ɵɵnextContext();
@@ -973,7 +973,7 @@ function CheckboxsetComponent_ng_template_3_li_0_li_8_label_1_Template(rf, ctx)
973
973
  } }
974
974
  function CheckboxsetComponent_ng_template_3_li_0_li_8_label_2_Template(rf, ctx) { if (rf & 1) {
975
975
  i0.ɵɵelementStart(0, "label", 11);
976
- i0.ɵɵelement(1, "input", 26)(2, "span", 27);
976
+ i0.ɵɵelement(1, "input", 9)(2, "span", 26);
977
977
  i0.ɵɵelementEnd();
978
978
  } if (rf & 2) {
979
979
  const ctx_r9 = i0.ɵɵnextContext();
@@ -1099,7 +1099,7 @@ class CheckboxsetComponent extends DatasetAwareFormComponent {
1099
1099
  provideAs(CheckboxsetComponent, NG_VALUE_ACCESSOR, true),
1100
1100
  provideAs(CheckboxsetComponent, NG_VALIDATORS, true),
1101
1101
  provideAsWidgetRef(CheckboxsetComponent)
1102
- ]), i0.ɵɵInheritDefinitionFeature], attrs: _c0$a, decls: 5, vars: 4, consts: [["groupedListTemplate", ""], [3, "ngIf", "ngIfElse"], ["hidden", "", 1, "model-holder", 3, "disabled"], ["class", "readonly-wrapper", 4, "ngIf"], ["partialContainer", "", "role", "presentation", 3, "ngClass", "active", "wmItemTemplate", "userComponentParams", "click", 4, "ngFor", "ngForOf"], ["partialContainer", "", "role", "presentation", 3, "click", "ngClass", "wmItemTemplate", "userComponentParams"], ["class", "app-checkboxset-label", 3, "ngClass", "title", 4, "ngIf"], ["class", "app-checkboxset-label", 3, "ngClass", 4, "ngIf"], [1, "app-checkboxset-label", 3, "ngClass", "title"], ["type", "checkbox", 3, "name", "tabindex", "disabled", "value", "checked"], [1, "caption", 3, "textContent"], [1, "app-checkboxset-label", 3, "ngClass"], ["partial-container-target", "", 1, "caption", "customTemplate"], [1, "readonly-wrapper"], ["class", "app-list-item-group", "role", "presentation", 4, "ngFor", "ngForOf"], ["role", "presentation", 1, "app-list-item-group"], [1, "item-group"], [1, "list-group-header", 3, "click", "title", "ngClass"], [1, "group-title"], [1, "header-action"], ["class", "app-icon wi action wi-chevron-up", 3, "title", 4, "ngIf"], ["class", "label label-default", 3, "textContent", 4, "ngIf"], ["partialContainer", "", 3, "ngClass", "active", "wmItemTemplate", "userComponentParams", "click", 4, "ngFor", "ngForOf"], [1, "app-icon", "wi", "action", "wi-chevron-up", 3, "title"], [1, "label", "label-default", 3, "textContent"], ["partialContainer", "", 3, "click", "ngClass", "wmItemTemplate", "userComponentParams"], ["type", "checkbox", "aria-label", "checkbox group", 3, "name", "tabindex", "disabled", "value", "checked"], ["partial-container-target", "", 1, "caption"]], template: function CheckboxsetComponent_Template(rf, ctx) { if (rf & 1) {
1102
+ ]), i0.ɵɵInheritDefinitionFeature], attrs: _c0$a, decls: 5, vars: 4, consts: [["groupedListTemplate", ""], [3, "ngIf", "ngIfElse"], ["hidden", "", 1, "model-holder", 3, "disabled"], ["class", "readonly-wrapper", 4, "ngIf"], ["partialContainer", "", "role", "presentation", 3, "ngClass", "active", "wmItemTemplate", "userComponentParams", "click", 4, "ngFor", "ngForOf"], ["partialContainer", "", "role", "presentation", 3, "click", "ngClass", "wmItemTemplate", "userComponentParams"], ["class", "app-checkboxset-label", 3, "ngClass", "title", 4, "ngIf"], ["class", "app-checkboxset-label", 3, "ngClass", 4, "ngIf"], [1, "app-checkboxset-label", 3, "ngClass", "title"], ["type", "checkbox", 3, "name", "tabindex", "disabled", "value", "checked"], [1, "caption", 3, "textContent"], [1, "app-checkboxset-label", 3, "ngClass"], ["partial-container-target", "", 1, "caption", "customTemplate"], [1, "readonly-wrapper"], ["class", "app-list-item-group", "role", "presentation", 4, "ngFor", "ngForOf"], ["role", "presentation", 1, "app-list-item-group"], [1, "item-group"], [1, "list-group-header", 3, "click", "title", "ngClass"], [1, "group-title"], [1, "header-action"], ["class", "app-icon wi action wi-chevron-up", 3, "title", 4, "ngIf"], ["class", "label label-default", 3, "textContent", 4, "ngIf"], ["partialContainer", "", 3, "ngClass", "active", "wmItemTemplate", "userComponentParams", "click", 4, "ngFor", "ngForOf"], [1, "app-icon", "wi", "action", "wi-chevron-up", 3, "title"], [1, "label", "label-default", 3, "textContent"], ["partialContainer", "", 3, "click", "ngClass", "wmItemTemplate", "userComponentParams"], ["partial-container-target", "", 1, "caption"]], template: function CheckboxsetComponent_Template(rf, ctx) { if (rf & 1) {
1103
1103
  i0.ɵɵtemplate(0, CheckboxsetComponent_ng_template_0_Template, 1, 1, "ng-template", 1);
1104
1104
  i0.ɵɵelement(1, "input", 2);
1105
1105
  i0.ɵɵtemplate(2, CheckboxsetComponent_div_2_Template, 1, 0, "div", 3)(3, CheckboxsetComponent_ng_template_3_Template, 1, 1, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
@@ -1118,7 +1118,7 @@ class CheckboxsetComponent extends DatasetAwareFormComponent {
1118
1118
  provideAs(CheckboxsetComponent, NG_VALUE_ACCESSOR, true),
1119
1119
  provideAs(CheckboxsetComponent, NG_VALIDATORS, true),
1120
1120
  provideAsWidgetRef(CheckboxsetComponent)
1121
- ], template: "<ng-template [ngIf]=\"!groupby\" [ngIfElse]=\"groupedListTemplate\">\n <li [ngClass]=\"['checkbox', 'app-checkbox', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n *ngFor=\"let item of datasetItems; let i = index\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\" [attr.aria-label]=\"item.key\"\n [tabindex]=\"tabindex\" [attr.aria-checked]=\"item.selected\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\" [attr.aria-label]=\"item.key\"\n [tabindex]=\"tabindex\" [attr.aria-checked]=\"item.selected\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n </li>\n</ng-template>\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\">\n<div *ngIf=\"readonly || disabled\" class=\"readonly-wrapper\"></div>\n\n<!-- This template will be displayed when groupby is specified. -->\n<ng-template #groupedListTemplate>\n <li *ngFor=\"let groupObj of groupedData\" class=\"app-list-item-group\" role=\"presentation\">\n <ul class=\"item-group\">\n <li class=\"list-group-header\" (click)=\"handleHeaderClick($event)\" [title]=\"groupObj.key\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4 class=\"group-title\">{{groupObj.key}}\n <div class=\"header-action\">\n <i class=\"app-icon wi action wi-chevron-up\" *ngIf=\"collapsible\" title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\"></i>\n <span *ngIf=\"showcount\" class=\"label label-default\" [textContent]=\"groupObj.data.length\"></span>\n </div>\n </h4>\n </li>\n <li *ngFor=\"let item of groupObj.data; let i = index;\"\n [ngClass]=\"['checkbox', 'app-checkbox', 'group-list-item', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item)\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\" aria-label=\"checkbox group\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\" aria-label=\"checkbox group\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" partial-container-target></span>\n </label>\n </li>\n </ul>\n </li>\n</ng-template>\n" }]
1121
+ ], template: "<ng-template [ngIf]=\"!groupby\" [ngIfElse]=\"groupedListTemplate\">\n <li [ngClass]=\"['checkbox', 'app-checkbox', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n *ngFor=\"let item of datasetItems; let i = index\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" [tabindex]=\"tabindex\"\n type=\"checkbox\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" [tabindex]=\"tabindex\"\n type=\"checkbox\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n </li>\n</ng-template>\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\">\n<div *ngIf=\"readonly || disabled\" class=\"readonly-wrapper\"></div>\n\n<!-- This template will be displayed when groupby is specified. -->\n<ng-template #groupedListTemplate>\n <li *ngFor=\"let groupObj of groupedData\" class=\"app-list-item-group\" role=\"presentation\">\n <ul class=\"item-group\">\n <li class=\"list-group-header\" (click)=\"handleHeaderClick($event)\" [title]=\"groupObj.key\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4 class=\"group-title\">{{groupObj.key}}\n <div class=\"header-action\">\n <i class=\"app-icon wi action wi-chevron-up\" *ngIf=\"collapsible\" title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\"></i>\n <span *ngIf=\"showcount\" class=\"label label-default\" [textContent]=\"groupObj.data.length\"></span>\n </div>\n </h4>\n </li>\n <li *ngFor=\"let item of groupObj.data; let i = index;\"\n [ngClass]=\"['checkbox', 'app-checkbox', 'group-list-item', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item)\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" partial-container-target></span>\n </label>\n </li>\n </ul>\n </li>\n</ng-template>\n" }]
1122
1122
  }], () => [{ type: i0.Injector }, { type: undefined, decorators: [{
1123
1123
  type: Inject,
1124
1124
  args: ['EXPLICIT_CONTEXT']
@@ -1241,6 +1241,7 @@ const numberProps = new Map([
1241
1241
  ['trailingzero', { value: false, ...PROP_BOOLEAN }],
1242
1242
  ['updateon', PROP_STRING],
1243
1243
  ['inputmode', { value: 'natural', ...PROP_STRING }],
1244
+ ['decimalplaces', PROP_NUMBER],
1244
1245
  ['conditionalclass', PROP_ANY],
1245
1246
  ['conditionalstyle', PROP_ANY]
1246
1247
  ]);
@@ -1367,8 +1368,27 @@ let NumberLocale = class NumberLocale extends BaseInput {
1367
1368
  if (this.isDefaultQuery) {
1368
1369
  const isLocalizedNumber = isString(value) && includes(value, this.DECIMAL);
1369
1370
  const parts = isLocalizedNumber ? value.split(this.DECIMAL) : isString(value) && value.split('.');
1370
- this.decimalValue = parts[1] || '';
1371
- value = isLocalizedNumber ? value : this.transformNumber(value);
1371
+ let decimalPlacesAttrVal = this.getAttr('decimalplaces');
1372
+ const decimalplaces = decimalPlacesAttrVal !== '' && decimalPlacesAttrVal !== undefined ? Number(decimalPlacesAttrVal) : NaN;
1373
+ if (this.inputmode === INPUTMODE.NATURAL && !isNaN(decimalplaces)) {
1374
+ if (decimalplaces === 0) {
1375
+ this.decimalValue = '';
1376
+ value = isLocalizedNumber ? parts[0] : this.transformNumber(parts[0]);
1377
+ }
1378
+ if (decimalplaces > 0) {
1379
+ this.decimalValue = parts[1] && parts[1].substring(0, decimalplaces) || '';
1380
+ if (isLocalizedNumber) {
1381
+ value = this.decimalValue.length ? `${parts[0]}${this.DECIMAL}${this.decimalValue}` : parts[0];
1382
+ }
1383
+ else {
1384
+ value = Number.parseFloat(String(value)).toFixed(decimalplaces);
1385
+ }
1386
+ }
1387
+ }
1388
+ else {
1389
+ this.decimalValue = parts[1] || '';
1390
+ value = isLocalizedNumber ? value : this.transformNumber(value);
1391
+ }
1372
1392
  }
1373
1393
  const numberReg = /\d/;
1374
1394
  const strVal = value.toString();
@@ -1417,8 +1437,14 @@ let NumberLocale = class NumberLocale extends BaseInput {
1417
1437
  */
1418
1438
  isValid(val) {
1419
1439
  // id number is infinite then consider it as invalid value
1420
- if (isNaN(val) || !isFinite(val) || (!Number.isInteger(this.step) &&
1421
- this.countDecimals(val) > this.countDecimals(this.step))) {
1440
+ let invalidDecimalPlaces = false;
1441
+ if (this.inputmode === INPUTMODE.NATURAL && !isNaN(this.decimalplaces) && this.decimalplaces >= 0) {
1442
+ invalidDecimalPlaces = this.countDecimals(val) > this.decimalplaces;
1443
+ }
1444
+ else if (!Number.isInteger(this.step) && this.countDecimals(val) > this.countDecimals(this.step)) {
1445
+ invalidDecimalPlaces = true;
1446
+ }
1447
+ if (isNaN(val) || !isFinite(val) || invalidDecimalPlaces) {
1422
1448
  this.isInvalidNumber = true;
1423
1449
  return false;
1424
1450
  }
@@ -1527,6 +1553,9 @@ let NumberLocale = class NumberLocale extends BaseInput {
1527
1553
  }
1528
1554
  // This function returns the step length set in the studio
1529
1555
  stepLength() {
1556
+ if (this.inputmode === 'INPUTMODE.NATURAL' && !isNaN(this.decimalplaces) && this.decimalplaces >= 0) {
1557
+ return this.decimalplaces;
1558
+ }
1530
1559
  const stepLen = this.step.toString().split('.');
1531
1560
  if (stepLen.length === 1) {
1532
1561
  return;
@@ -1609,11 +1638,10 @@ let NumberLocale = class NumberLocale extends BaseInput {
1609
1638
  * @returns {number}
1610
1639
  */
1611
1640
  countDecimals(value) {
1612
- if ((value % 1) !== 0) {
1613
- const decimalValue = value.toString().split('.')[1];
1614
- return decimalValue && decimalValue.length;
1615
- }
1616
- return 0;
1641
+ const valueStr = value.toString();
1642
+ const isLocalizedNumber = includes(valueStr, this.DECIMAL);
1643
+ const parts = isLocalizedNumber ? valueStr.split(this.DECIMAL) : valueStr.split('.');
1644
+ return parts[1] ? parts[1].length : 0;
1617
1645
  }
1618
1646
  /**
1619
1647
  * handles the arrow press event. Increases or decreases the number. triggered fom the template
@@ -1715,13 +1743,23 @@ let NumberLocale = class NumberLocale extends BaseInput {
1715
1743
  }
1716
1744
  // validates entering of decimal values only when user provides decimal limit(i.e step contains decimal values).
1717
1745
  // Restrict user from entering only if the decimal limit is reached and the new digit is entered in decimal place
1718
- if (!skipStepValidation && inputValue && this.countDecimals(this.step) && (this.countDecimals(inputValue) >= this.countDecimals(this.step)) && $event.target.selectionStart >= inputValue.length - 1) {
1719
- return false;
1720
- }
1746
+ // if (!skipStepValidation && inputValue && this.countDecimals(this.step) && (this.countDecimals(inputValue) >= this.countDecimals(this.step)) && $event.target.selectionStart >= inputValue.length - 1) {
1747
+ // return false;
1748
+ // }
1721
1749
  // validates if user entered an invalid character.
1722
1750
  if (!validity.test($event.key)) {
1723
1751
  return false;
1724
1752
  }
1753
+ if (this.inputmode === INPUTMODE.NATURAL && !isNaN(this.decimalplaces)) {
1754
+ if (this.decimalplaces === 0 && this.DECIMAL === $event.key) {
1755
+ return false;
1756
+ }
1757
+ const parts = includes(inputValue, this.DECIMAL) ? inputValue.split(this.DECIMAL) : inputValue.split('.');
1758
+ const isCursorPositionAtDecimalPlace = $event.target.selectionStart > parts[0].length;
1759
+ if (this.decimalplaces > 0 && this.countDecimals(inputValue) >= this.decimalplaces && isCursorPositionAtDecimalPlace) {
1760
+ return false;
1761
+ }
1762
+ }
1725
1763
  // comma cannot be entered consecutively
1726
1764
  if (includes(inputValue, ',') && inputValue[inputValue.length - 1] === ',' && $event.key === ',') {
1727
1765
  return false;
@@ -1878,10 +1916,10 @@ function RadiosetComponent_ng_template_0_li_0_label_1_Template(rf, ctx) { if (rf
1878
1916
  const item_r2 = ctx_r3.$implicit;
1879
1917
  const i_r5 = ctx_r3.index;
1880
1918
  const ctx_r2 = i0.ɵɵnextContext(2);
1881
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
1919
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
1882
1920
  i0.ɵɵadvance();
1883
- i0.ɵɵproperty("name", "radioset_" + ctx_r2.widgetId)("value", item_r2.key)("disabled", ctx_r2.disabled || ctx_r2.readonly)("tabindex", ctx_r2.tabindex)("checked", item_r2.selected);
1884
- i0.ɵɵattribute("aria-checked", item_r2.selected)("data-attr-index", i_r5)("aria-label", item_r2.key);
1921
+ i0.ɵɵproperty("checked", item_r2.selected)("disabled", ctx_r2.disabled || ctx_r2.readonly)("name", "radioset_" + ctx_r2.widgetId)("tabindex", ctx_r2.tabindex)("value", item_r2.key);
1922
+ i0.ɵɵattribute("data-attr-index", i_r5);
1885
1923
  i0.ɵɵadvance();
1886
1924
  i0.ɵɵproperty("textContent", item_r2.label);
1887
1925
  } }
@@ -1894,16 +1932,16 @@ function RadiosetComponent_ng_template_0_li_0_label_2_Template(rf, ctx) { if (rf
1894
1932
  const item_r2 = ctx_r3.$implicit;
1895
1933
  const i_r5 = ctx_r3.index;
1896
1934
  const ctx_r2 = i0.ɵɵnextContext(2);
1897
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(9, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
1935
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
1898
1936
  i0.ɵɵadvance();
1899
- i0.ɵɵproperty("name", "radioset_" + ctx_r2.widgetId)("value", item_r2.key)("disabled", ctx_r2.disabled || ctx_r2.readonly)("tabindex", ctx_r2.tabindex)("checked", item_r2.selected);
1900
- i0.ɵɵattribute("aria-checked", item_r2.selected)("data-attr-index", i_r5)("aria-label", item_r2.key);
1937
+ i0.ɵɵproperty("checked", item_r2.selected)("disabled", ctx_r2.disabled || ctx_r2.readonly)("name", "radioset_" + ctx_r2.widgetId)("tabindex", ctx_r2.tabindex)("value", item_r2.key);
1938
+ i0.ɵɵattribute("data-attr-index", i_r5);
1901
1939
  } }
1902
1940
  function RadiosetComponent_ng_template_0_li_0_Template(rf, ctx) { if (rf & 1) {
1903
1941
  const _r1 = i0.ɵɵgetCurrentView();
1904
1942
  i0.ɵɵelementStart(0, "li", 5);
1905
1943
  i0.ɵɵlistener("click", function RadiosetComponent_ng_template_0_li_0_Template_li_click_0_listener($event) { const item_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onRadioLabelClick($event, item_r2.key)); });
1906
- i0.ɵɵtemplate(1, RadiosetComponent_ng_template_0_li_0_label_1_Template, 3, 12, "label", 6)(2, RadiosetComponent_ng_template_0_li_0_label_2_Template, 3, 11, "label", 6);
1944
+ i0.ɵɵtemplate(1, RadiosetComponent_ng_template_0_li_0_label_1_Template, 3, 10, "label", 6)(2, RadiosetComponent_ng_template_0_li_0_label_2_Template, 3, 9, "label", 6);
1907
1945
  i0.ɵɵelementEnd();
1908
1946
  } if (rf & 2) {
1909
1947
  const item_r2 = ctx.$implicit;
@@ -1938,39 +1976,39 @@ function RadiosetComponent_ng_template_3_li_0_span_7_Template(rf, ctx) { if (rf
1938
1976
  } }
1939
1977
  function RadiosetComponent_ng_template_3_li_0_li_8_label_1_Template(rf, ctx) { if (rf & 1) {
1940
1978
  i0.ɵɵelementStart(0, "label", 7);
1941
- i0.ɵɵelement(1, "input", 8)(2, "span", 9);
1979
+ i0.ɵɵelement(1, "input", 24)(2, "span", 9);
1942
1980
  i0.ɵɵelementEnd();
1943
1981
  } if (rf & 2) {
1944
1982
  const ctx_r9 = i0.ɵɵnextContext();
1945
1983
  const item_r9 = ctx_r9.$implicit;
1946
1984
  const i_r11 = ctx_r9.index;
1947
1985
  const ctx_r2 = i0.ɵɵnextContext(3);
1948
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(9, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
1986
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
1949
1987
  i0.ɵɵadvance();
1950
1988
  i0.ɵɵproperty("name", "radioset_" + ctx_r2.widgetId)("value", item_r9.key)("disabled", ctx_r2.disabled || ctx_r2.readonly)("tabindex", ctx_r2.tabindex)("checked", item_r9.selected);
1951
- i0.ɵɵattribute("aria-checked", item_r9.selected)("data-attr-index", i_r11);
1989
+ i0.ɵɵattribute("data-attr-index", i_r11);
1952
1990
  i0.ɵɵadvance();
1953
1991
  i0.ɵɵproperty("textContent", item_r9.label);
1954
1992
  } }
1955
1993
  function RadiosetComponent_ng_template_3_li_0_li_8_label_2_Template(rf, ctx) { if (rf & 1) {
1956
1994
  i0.ɵɵelementStart(0, "label", 7);
1957
- i0.ɵɵelement(1, "input", 8)(2, "span", 10);
1995
+ i0.ɵɵelement(1, "input", 24)(2, "span", 10);
1958
1996
  i0.ɵɵelementEnd();
1959
1997
  } if (rf & 2) {
1960
1998
  const ctx_r9 = i0.ɵɵnextContext();
1961
1999
  const item_r9 = ctx_r9.$implicit;
1962
2000
  const i_r11 = ctx_r9.index;
1963
2001
  const ctx_r2 = i0.ɵɵnextContext(3);
1964
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
2002
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c2$5, ctx_r2.disabled || ctx_r2.readonly));
1965
2003
  i0.ɵɵadvance();
1966
2004
  i0.ɵɵproperty("name", "radioset_" + ctx_r2.widgetId)("value", item_r9.key)("disabled", ctx_r2.disabled || ctx_r2.readonly)("tabindex", ctx_r2.tabindex)("checked", item_r9.selected);
1967
- i0.ɵɵattribute("aria-checked", item_r9.selected)("data-attr-index", i_r11);
2005
+ i0.ɵɵattribute("data-attr-index", i_r11);
1968
2006
  } }
1969
2007
  function RadiosetComponent_ng_template_3_li_0_li_8_Template(rf, ctx) { if (rf & 1) {
1970
2008
  const _r8 = i0.ɵɵgetCurrentView();
1971
2009
  i0.ɵɵelementStart(0, "li", 23);
1972
2010
  i0.ɵɵlistener("click", function RadiosetComponent_ng_template_3_li_0_li_8_Template_li_click_0_listener($event) { const item_r9 = i0.ɵɵrestoreView(_r8).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.onRadioLabelClick($event, item_r9)); });
1973
- i0.ɵɵtemplate(1, RadiosetComponent_ng_template_3_li_0_li_8_label_1_Template, 3, 11, "label", 6)(2, RadiosetComponent_ng_template_3_li_0_li_8_label_2_Template, 3, 10, "label", 6);
2011
+ i0.ɵɵtemplate(1, RadiosetComponent_ng_template_3_li_0_li_8_label_1_Template, 3, 10, "label", 6)(2, RadiosetComponent_ng_template_3_li_0_li_8_label_2_Template, 3, 9, "label", 6);
1974
2012
  i0.ɵɵelementEnd();
1975
2013
  } if (rf & 2) {
1976
2014
  const item_r9 = ctx.$implicit;
@@ -2066,7 +2104,7 @@ class RadiosetComponent extends DatasetAwareFormComponent {
2066
2104
  provideAs(RadiosetComponent, NG_VALUE_ACCESSOR, true),
2067
2105
  provideAs(RadiosetComponent, NG_VALIDATORS, true),
2068
2106
  provideAsWidgetRef(RadiosetComponent)
2069
- ]), i0.ɵɵInheritDefinitionFeature], attrs: _c0$8, decls: 5, vars: 4, consts: [["groupedListTemplate", ""], [3, "ngIf", "ngIfElse"], ["hidden", "", 1, "model-holder", 3, "disabled"], ["aria-readonly", "true", "class", "readonly-wrapper", 4, "ngIf"], ["partialContainer", "", "role", "presentation", 3, "ngClass", "active", "wmItemTemplate", "userComponentParams", "click", 4, "ngFor", "ngForOf"], ["partialContainer", "", "role", "presentation", 3, "click", "ngClass", "wmItemTemplate", "userComponentParams"], ["class", "app-radioset-label", 3, "ngClass", 4, "ngIf"], [1, "app-radioset-label", 3, "ngClass"], ["type", "radio", 3, "name", "value", "disabled", "tabindex", "checked"], [1, "caption", 3, "textContent"], ["partial-container-target", "", 1, "caption", "customTemplate"], ["aria-readonly", "true", 1, "readonly-wrapper"], ["class", "app-list-item-group", 4, "ngFor", "ngForOf"], [1, "app-list-item-group"], [1, "item-group"], [1, "list-group-header", 3, "click", "title", "ngClass"], [1, "group-title"], [1, "header-action"], ["class", "app-icon wi action wi-chevron-up", 3, "title", 4, "ngIf"], ["class", "label label-default", 3, "textContent", 4, "ngIf"], ["partialContainer", "", 3, "ngClass", "active", "wmItemTemplate", "userComponentParams", "click", 4, "ngFor", "ngForOf"], [1, "app-icon", "wi", "action", "wi-chevron-up", 3, "title"], [1, "label", "label-default", 3, "textContent"], ["partialContainer", "", 3, "click", "ngClass", "wmItemTemplate", "userComponentParams"]], template: function RadiosetComponent_Template(rf, ctx) { if (rf & 1) {
2107
+ ]), i0.ɵɵInheritDefinitionFeature], attrs: _c0$8, decls: 5, vars: 4, consts: [["groupedListTemplate", ""], [3, "ngIf", "ngIfElse"], ["hidden", "", 1, "model-holder", 3, "disabled"], ["aria-readonly", "true", "class", "readonly-wrapper", 4, "ngIf"], ["partialContainer", "", "role", "presentation", 3, "ngClass", "active", "wmItemTemplate", "userComponentParams", "click", 4, "ngFor", "ngForOf"], ["partialContainer", "", "role", "presentation", 3, "click", "ngClass", "wmItemTemplate", "userComponentParams"], ["class", "app-radioset-label", 3, "ngClass", 4, "ngIf"], [1, "app-radioset-label", 3, "ngClass"], ["type", "radio", 3, "checked", "disabled", "name", "tabindex", "value"], [1, "caption", 3, "textContent"], ["partial-container-target", "", 1, "caption", "customTemplate"], ["aria-readonly", "true", 1, "readonly-wrapper"], ["class", "app-list-item-group", 4, "ngFor", "ngForOf"], [1, "app-list-item-group"], [1, "item-group"], [1, "list-group-header", 3, "click", "title", "ngClass"], [1, "group-title"], [1, "header-action"], ["class", "app-icon wi action wi-chevron-up", 3, "title", 4, "ngIf"], ["class", "label label-default", 3, "textContent", 4, "ngIf"], ["partialContainer", "", 3, "ngClass", "active", "wmItemTemplate", "userComponentParams", "click", 4, "ngFor", "ngForOf"], [1, "app-icon", "wi", "action", "wi-chevron-up", 3, "title"], [1, "label", "label-default", 3, "textContent"], ["partialContainer", "", 3, "click", "ngClass", "wmItemTemplate", "userComponentParams"], ["type", "radio", 3, "name", "value", "disabled", "tabindex", "checked"]], template: function RadiosetComponent_Template(rf, ctx) { if (rf & 1) {
2070
2108
  i0.ɵɵtemplate(0, RadiosetComponent_ng_template_0_Template, 1, 1, "ng-template", 1);
2071
2109
  i0.ɵɵelement(1, "input", 2);
2072
2110
  i0.ɵɵtemplate(2, RadiosetComponent_div_2_Template, 1, 0, "div", 3)(3, RadiosetComponent_ng_template_3_Template, 1, 1, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
@@ -2085,7 +2123,7 @@ class RadiosetComponent extends DatasetAwareFormComponent {
2085
2123
  provideAs(RadiosetComponent, NG_VALUE_ACCESSOR, true),
2086
2124
  provideAs(RadiosetComponent, NG_VALIDATORS, true),
2087
2125
  provideAsWidgetRef(RadiosetComponent)
2088
- ], template: "<ng-template [ngIf]=\"!groupby\" [ngIfElse]=\"groupedListTemplate\">\n <li [ngClass]=\"['radio', 'app-radio', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n *ngFor=\"let item of datasetItems;let i = index\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onRadioLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [name]=\"'radioset_' + widgetId\" type=\"radio\" [attr.aria-checked]=\"item.selected\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"\n [attr.aria-label]=\"item.key\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [name]=\"'radioset_' + widgetId\" type=\"radio\" [attr.aria-checked]=\"item.selected\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"\n [attr.aria-label]=\"item.key\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n </li>\n</ng-template>\n\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\">\n<div *ngIf=\"readonly || disabled\" aria-readonly=\"true\" class=\"readonly-wrapper\"></div>\n\n<!-- This template will be displayed when groupby is specified. -->\n<ng-template #groupedListTemplate>\n <li *ngFor=\"let groupObj of groupedData\" class=\"app-list-item-group\">\n <ul class=\"item-group\">\n <li class=\"list-group-header\" (click)=\"handleHeaderClick($event)\" [title]=\"groupObj.key\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4 class=\"group-title\">{{groupObj.key}}\n <div class=\"header-action\">\n <i class=\"app-icon wi action wi-chevron-up\" *ngIf=\"collapsible\" title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\"></i>\n <span *ngIf=\"showcount\" class=\"label label-default\" [textContent]=\"groupObj.data.length\"></span>\n </div>\n </h4>\n </li>\n <li *ngFor=\"let item of groupObj.data; let i = index;\"\n [ngClass]=\"['radio', 'app-radio', 'group-list-item', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onRadioLabelClick($event, item)\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [name]=\"'radioset_' + widgetId\" type=\"radio\" [attr.aria-checked]=\"item.selected\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [name]=\"'radioset_' + widgetId\" type=\"radio\" [attr.aria-checked]=\"item.selected\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n </li>\n </ul>\n </li>\n</ng-template>\n" }]
2126
+ ], template: "<ng-template [ngIf]=\"!groupby\" [ngIfElse]=\"groupedListTemplate\">\n <li [ngClass]=\"['radio', 'app-radio', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n *ngFor=\"let item of datasetItems;let i = index\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onRadioLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [attr.data-attr-index]=\"i\" [checked]=\"item.selected\" [disabled]=\"disabled || readonly\"\n [name]=\"'radioset_' + widgetId\" [tabindex]=\"tabindex\" [value]=\"item.key\"\n type=\"radio\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [attr.data-attr-index]=\"i\" [checked]=\"item.selected\" [disabled]=\"disabled || readonly\"\n [name]=\"'radioset_' + widgetId\" [tabindex]=\"tabindex\" [value]=\"item.key\"\n type=\"radio\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n </li>\n</ng-template>\n\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\">\n<div *ngIf=\"readonly || disabled\" aria-readonly=\"true\" class=\"readonly-wrapper\"></div>\n\n<!-- This template will be displayed when groupby is specified. -->\n<ng-template #groupedListTemplate>\n <li *ngFor=\"let groupObj of groupedData\" class=\"app-list-item-group\">\n <ul class=\"item-group\">\n <li class=\"list-group-header\" (click)=\"handleHeaderClick($event)\" [title]=\"groupObj.key\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4 class=\"group-title\">{{groupObj.key}}\n <div class=\"header-action\">\n <i class=\"app-icon wi action wi-chevron-up\" *ngIf=\"collapsible\" title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\"></i>\n <span *ngIf=\"showcount\" class=\"label label-default\" [textContent]=\"groupObj.data.length\"></span>\n </div>\n </h4>\n </li>\n <li *ngFor=\"let item of groupObj.data; let i = index;\"\n [ngClass]=\"['radio', 'app-radio', 'group-list-item', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onRadioLabelClick($event, item)\">\n <!-- Default item template -->\n <label *ngIf=\"!content\" class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [attr.data-attr-index]=\"i\" [name]=\"'radioset_' + widgetId\" type=\"radio\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n <!-- Custom partial template -->\n <label *ngIf=\"content\" class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [attr.data-attr-index]=\"i\" [name]=\"'radioset_' + widgetId\" type=\"radio\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n </li>\n </ul>\n </li>\n</ng-template>\n" }]
2089
2127
  }], () => [{ type: i0.Injector }, { type: undefined, decorators: [{
2090
2128
  type: Inject,
2091
2129
  args: ['EXPLICIT_CONTEXT']
@@ -2312,7 +2350,7 @@ class SelectComponent extends DatasetAwareFormComponent {
2312
2350
  provideAs(SelectComponent, NG_VALUE_ACCESSOR, true),
2313
2351
  provideAs(SelectComponent, NG_VALIDATORS, true),
2314
2352
  provideAsWidgetRef(SelectComponent)
2315
- ]), i0.ɵɵInheritDefinitionFeature], decls: 5, vars: 18, consts: [["select", ""], ["role", "listbox", "aria-haspopup", "true", "aria-expanded", "false", "focus-target", "", 3, "ngModelChange", "change", "mousedown", "blur", "ngClass", "disabled", "required", "tabindex", "ngModel", "ngModelOptions", "multiple", "autofocus"], ["selected", "", "value", "undefined", "id", "placeholderOption", 3, "textContent", "hidden"], [4, "ngIf"], [3, "label", 4, "ngFor", "ngForOf"], [3, "label"], ["role", "option", 3, "value", "selected", "textContent", 4, "ngFor", "ngForOf"], ["role", "option", 3, "value", "selected", "textContent"]], template: function SelectComponent_Template(rf, ctx) { if (rf & 1) {
2353
+ ]), i0.ɵɵInheritDefinitionFeature], decls: 5, vars: 18, consts: [["select", ""], ["focus-target", "", 3, "ngModelChange", "change", "mousedown", "blur", "ngClass", "disabled", "required", "tabindex", "ngModel", "ngModelOptions", "multiple", "autofocus"], ["selected", "", "value", "undefined", "id", "placeholderOption", 3, "textContent", "hidden"], [4, "ngIf"], [3, "label", 4, "ngFor", "ngForOf"], [3, "label"], [3, "value", "selected", "textContent", 4, "ngFor", "ngForOf"], [3, "value", "selected", "textContent"]], template: function SelectComponent_Template(rf, ctx) { if (rf & 1) {
2316
2354
  const _r1 = i0.ɵɵgetCurrentView();
2317
2355
  i0.ɵɵelementStart(0, "select", 1, 0);
2318
2356
  i0.ɵɵtwoWayListener("ngModelChange", function SelectComponent_Template_select_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.modelByKey, $event) || (ctx.modelByKey = $event); return i0.ɵɵresetView($event); });
@@ -2324,7 +2362,7 @@ class SelectComponent extends DatasetAwareFormComponent {
2324
2362
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(15, _c1$6, ctx.class))("disabled", ctx.disabled)("required", ctx.required)("tabindex", ctx.tabindex);
2325
2363
  i0.ɵɵtwoWayProperty("ngModel", ctx.modelByKey);
2326
2364
  i0.ɵɵproperty("ngModelOptions", i0.ɵɵpureFunction0(17, _c2$4))("multiple", ctx.multiple)("autofocus", ctx.autofocus);
2327
- i0.ɵɵattribute("name", ctx.name)("aria-label", ctx.arialabel)("aria-multiselectable", ctx.multiple);
2365
+ i0.ɵɵattribute("accesskey", ctx.shortcutkey)("name", ctx.name)("aria-label", ctx.arialabel);
2328
2366
  i0.ɵɵadvance(2);
2329
2367
  i0.ɵɵproperty("textContent", ctx.placeholder)("hidden", !ctx.placeholder);
2330
2368
  i0.ɵɵadvance();
@@ -2339,7 +2377,7 @@ class SelectComponent extends DatasetAwareFormComponent {
2339
2377
  provideAs(SelectComponent, NG_VALUE_ACCESSOR, true),
2340
2378
  provideAs(SelectComponent, NG_VALIDATORS, true),
2341
2379
  provideAsWidgetRef(SelectComponent)
2342
- ], 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]=\"arialabel\"\n [attr.aria-multiselectable]=\"multiple\"\n [autofocus]=\"autofocus\">\n\n <option selected\n value=\"undefined\"\n [textContent]=\"placeholder\"\n id=\"placeholderOption\"\n [hidden]=\"!placeholder\"></option>\n\n <ng-container *ngIf=\"groupby\">\n <optgroup *ngFor=\"let groupObj of groupedData\"\n [label]=\"groupObj.key\">\n <option *ngFor=\"let item of groupObj.data;\"\n [value]=\"item.key\"\n [selected]=\"item.selected\"\n [textContent]=\"item.label\"\n role=\"option\"></option>\n </optgroup>\n </ng-container>\n\n <ng-container *ngIf=\"!groupby\">\n <option *ngFor=\"let item of datasetItems\"\n [value]=\"item.key\"\n [selected]=\"item.selected\"\n [textContent]=\"item.label\"\n role=\"option\"></option>\n </ng-container>\n</select>\n" }]
2380
+ ], template: "<!--Updated focus with mousedown event. IOS devices not allow update of option value after opening dropdown-->\n<select #select\n focus-target\n [ngClass]=\"['app-select form-control', class]\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [attr.accesskey]=\"shortcutkey\"\n [(ngModel)]=\"modelByKey\"\n [ngModelOptions]=\"{standalone: true}\"\n [multiple]=\"multiple\"\n (change)=\"onSelectValueChange($event)\"\n (mousedown)=\"checkForFloatingLabel($event)\"\n (blur)=\"invokeOnTouched($event); checkForFloatingLabel($event)\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel\"\n [autofocus]=\"autofocus\">\n\n <option selected\n value=\"undefined\"\n [textContent]=\"placeholder\"\n id=\"placeholderOption\"\n [hidden]=\"!placeholder\"></option>\n\n <ng-container *ngIf=\"groupby\">\n <optgroup *ngFor=\"let groupObj of groupedData\"\n [label]=\"groupObj.key\">\n <option *ngFor=\"let item of groupObj.data;\"\n [value]=\"item.key\"\n [selected]=\"item.selected\"\n [textContent]=\"item.label\"\n ></option>\n </optgroup>\n </ng-container>\n\n <ng-container *ngIf=\"!groupby\">\n <option *ngFor=\"let item of datasetItems\"\n [value]=\"item.key\"\n [selected]=\"item.selected\"\n [textContent]=\"item.label\"\n ></option>\n </ng-container>\n</select>\n" }]
2343
2381
  }], () => [{ type: i0.Injector }, { type: undefined, decorators: [{
2344
2382
  type: Inject,
2345
2383
  args: ['EXPLICIT_CONTEXT']
@@ -3213,9 +3251,10 @@ class CaptionPositionDirective {
3213
3251
  }
3214
3252
  // For select widget, display placeholder only on focus else remove the text of the option selected.
3215
3253
  checkForSelectPlaceholder() {
3216
- if ($(this.nativeEl).find('select option:selected').text() && !$(this.nativeEl).find('select').is(':focus') &&
3254
+ const selectElPlaceholderOption = this.nativeEl.querySelector('#placeholderOption');
3255
+ if (selectElPlaceholderOption && selectElPlaceholderOption.textContent && !$(this.nativeEl).find('select').is(':focus') &&
3217
3256
  !$(this.inputEl.closest('[widget-id]')).attr('datavalue')) {
3218
- $(this.nativeEl).find('select option:selected').text('');
3257
+ selectElPlaceholderOption.textContent = '';
3219
3258
  }
3220
3259
  }
3221
3260
  setDefaultValueAnimation() {
@@ -3317,10 +3356,10 @@ class CaptionPositionDirective {
3317
3356
  // before placeholder is removed assign it to the placeholder variable
3318
3357
  // check for placeholder in inputel and selectel
3319
3358
  if (this.inputEl) {
3320
- const selectEl = this.inputEl.find('option:first');
3321
- if (this.inputEl.attr('placeholder') || selectEl.text()) {
3322
- if (selectEl.length) {
3323
- selectEl.text('');
3359
+ const selectElPlaceholderOption = this.nativeEl.querySelector('#placeholderOption');
3360
+ if (this.inputEl.attr('placeholder') || selectElPlaceholderOption) {
3361
+ if (selectElPlaceholderOption) {
3362
+ selectElPlaceholderOption.textContent = '';
3324
3363
  }
3325
3364
  else {
3326
3365
  this.placeholder = this.inputEl.attr('placeholder');