@wavemaker/app-ng-runtime 11.6.0-next.40753 → 11.6.0-next.41002

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 (97) hide show
  1. app-ng-runtime/build-task/bundles/index.umd.js +1 -1
  2. app-ng-runtime/build-task/esm2020/data/form/form-field/form-field.build.mjs +2 -2
  3. app-ng-runtime/build-task/fesm2015/index.mjs +1 -1
  4. app-ng-runtime/build-task/fesm2015/index.mjs.map +1 -1
  5. app-ng-runtime/build-task/fesm2020/index.mjs +1 -1
  6. app-ng-runtime/build-task/fesm2020/index.mjs.map +1 -1
  7. app-ng-runtime/components/base/bundles/index.umd.js +1 -0
  8. app-ng-runtime/components/base/esm2020/widgets/common/partial/partial.directive.mjs +2 -1
  9. app-ng-runtime/components/base/fesm2015/index.mjs +1 -0
  10. app-ng-runtime/components/base/fesm2015/index.mjs.map +1 -1
  11. app-ng-runtime/components/base/fesm2020/index.mjs +1 -0
  12. app-ng-runtime/components/base/fesm2020/index.mjs.map +1 -1
  13. app-ng-runtime/components/chart/bundles/index.umd.js +4 -2
  14. app-ng-runtime/components/chart/esm2020/chart.component.mjs +4 -2
  15. app-ng-runtime/components/chart/esm2020/chart.utils.mjs +2 -2
  16. app-ng-runtime/components/chart/fesm2015/index.mjs +4 -2
  17. app-ng-runtime/components/chart/fesm2015/index.mjs.map +1 -1
  18. app-ng-runtime/components/chart/fesm2020/index.mjs +4 -2
  19. app-ng-runtime/components/chart/fesm2020/index.mjs.map +1 -1
  20. app-ng-runtime/components/data/form/bundles/index.umd.js +41 -27
  21. app-ng-runtime/components/data/form/esm2020/form-field/form-field.directive.mjs +28 -19
  22. app-ng-runtime/components/data/form/esm2020/form.component.mjs +19 -7
  23. app-ng-runtime/components/data/form/fesm2015/index.mjs +45 -27
  24. app-ng-runtime/components/data/form/fesm2015/index.mjs.map +1 -1
  25. app-ng-runtime/components/data/form/fesm2020/index.mjs +45 -24
  26. app-ng-runtime/components/data/form/fesm2020/index.mjs.map +1 -1
  27. app-ng-runtime/components/data/form/form-field/form-field.directive.d.ts +2 -0
  28. app-ng-runtime/components/data/table/bundles/index.umd.js +3 -2
  29. app-ng-runtime/components/data/table/esm2020/table.component.mjs +4 -3
  30. app-ng-runtime/components/data/table/fesm2015/index.mjs +3 -2
  31. app-ng-runtime/components/data/table/fesm2015/index.mjs.map +1 -1
  32. app-ng-runtime/components/data/table/fesm2020/index.mjs +3 -2
  33. app-ng-runtime/components/data/table/fesm2020/index.mjs.map +1 -1
  34. app-ng-runtime/components/data/table/table.component.d.ts +1 -1
  35. app-ng-runtime/components/input/default/bundles/index.umd.js +55 -30
  36. app-ng-runtime/components/input/default/esm2020/caption-position.directive.mjs +2 -2
  37. app-ng-runtime/components/input/default/esm2020/select/select.component.mjs +58 -35
  38. app-ng-runtime/components/input/default/fesm2015/index.mjs +56 -31
  39. app-ng-runtime/components/input/default/fesm2015/index.mjs.map +1 -1
  40. app-ng-runtime/components/input/default/fesm2020/index.mjs +53 -31
  41. app-ng-runtime/components/input/default/fesm2020/index.mjs.map +1 -1
  42. app-ng-runtime/components/input/default/select/select.component.d.ts +4 -1
  43. app-ng-runtime/components/input/epoch/base-date-time.component.d.ts +2 -2
  44. app-ng-runtime/components/input/epoch/bundles/index.umd.js +50 -25
  45. app-ng-runtime/components/input/epoch/esm2020/base-date-time.component.mjs +36 -14
  46. app-ng-runtime/components/input/epoch/esm2020/date/date.component.mjs +5 -5
  47. app-ng-runtime/components/input/epoch/esm2020/date-time/date-time.component.mjs +6 -5
  48. app-ng-runtime/components/input/epoch/esm2020/time/time.component.mjs +7 -5
  49. app-ng-runtime/components/input/epoch/fesm2015/index.mjs +50 -25
  50. app-ng-runtime/components/input/epoch/fesm2015/index.mjs.map +1 -1
  51. app-ng-runtime/components/input/epoch/fesm2020/index.mjs +50 -25
  52. app-ng-runtime/components/input/epoch/fesm2020/index.mjs.map +1 -1
  53. app-ng-runtime/components/navigation/menu/bundles/index.umd.js +15 -5
  54. app-ng-runtime/components/navigation/menu/esm2020/menu.component.mjs +12 -4
  55. app-ng-runtime/components/navigation/menu/esm2020/menu.props.mjs +2 -1
  56. app-ng-runtime/components/navigation/menu/esm2020/nav/nav.component.mjs +3 -3
  57. app-ng-runtime/components/navigation/menu/esm2020/nav/nav.props.mjs +2 -1
  58. app-ng-runtime/components/navigation/menu/fesm2015/index.mjs +15 -5
  59. app-ng-runtime/components/navigation/menu/fesm2015/index.mjs.map +1 -1
  60. app-ng-runtime/components/navigation/menu/fesm2020/index.mjs +15 -5
  61. app-ng-runtime/components/navigation/menu/fesm2020/index.mjs.map +1 -1
  62. app-ng-runtime/components/navigation/menu/menu.component.d.ts +3 -0
  63. app-ng-runtime/components/navigation/menu/nav/nav.component.d.ts +1 -0
  64. app-ng-runtime/components/navigation/popover/bundles/index.umd.js +10 -9
  65. app-ng-runtime/components/navigation/popover/esm2020/popover.component.mjs +11 -10
  66. app-ng-runtime/components/navigation/popover/fesm2015/index.mjs +10 -9
  67. app-ng-runtime/components/navigation/popover/fesm2015/index.mjs.map +1 -1
  68. app-ng-runtime/components/navigation/popover/fesm2020/index.mjs +10 -9
  69. app-ng-runtime/components/navigation/popover/fesm2020/index.mjs.map +1 -1
  70. app-ng-runtime/components/prefab/bundles/index.umd.js +1 -0
  71. app-ng-runtime/components/prefab/esm2020/prefab-container/prefab-container.directive.mjs +2 -1
  72. app-ng-runtime/components/prefab/fesm2015/index.mjs +1 -0
  73. app-ng-runtime/components/prefab/fesm2015/index.mjs.map +1 -1
  74. app-ng-runtime/components/prefab/fesm2020/index.mjs +1 -0
  75. app-ng-runtime/components/prefab/fesm2020/index.mjs.map +1 -1
  76. app-ng-runtime/core/bundles/index.umd.js +2 -1
  77. app-ng-runtime/core/esm2020/utils/utils.mjs +3 -2
  78. app-ng-runtime/core/fesm2015/index.mjs +2 -1
  79. app-ng-runtime/core/fesm2015/index.mjs.map +1 -1
  80. app-ng-runtime/core/fesm2020/index.mjs +2 -1
  81. app-ng-runtime/core/fesm2020/index.mjs.map +1 -1
  82. app-ng-runtime/package.json +1 -1
  83. app-ng-runtime/runtime/base/bundles/index.umd.js +2 -0
  84. app-ng-runtime/runtime/base/esm2020/components/base-page.component.mjs +3 -1
  85. app-ng-runtime/runtime/base/fesm2015/index.mjs +2 -0
  86. app-ng-runtime/runtime/base/fesm2015/index.mjs.map +1 -1
  87. app-ng-runtime/runtime/base/fesm2020/index.mjs +2 -0
  88. app-ng-runtime/runtime/base/fesm2020/index.mjs.map +1 -1
  89. app-ng-runtime/scripts/@wavemaker/nvd3/build/nv.d3.min.js +1 -1
  90. app-ng-runtime/scripts/datatable/datatable.js +3 -3
  91. app-ng-runtime/variables/bundles/index.umd.js +13 -7
  92. app-ng-runtime/variables/esm2020/util/variable/variables.utils.mjs +14 -8
  93. app-ng-runtime/variables/fesm2015/index.mjs +13 -7
  94. app-ng-runtime/variables/fesm2015/index.mjs.map +1 -1
  95. app-ng-runtime/variables/fesm2020/index.mjs +13 -7
  96. app-ng-runtime/variables/fesm2020/index.mjs.map +1 -1
  97. app-ng-runtime/variables/util/variable/variables.utils.d.ts +1 -1
@@ -9,7 +9,7 @@ import { IMaskDirective, IMaskModule } from 'angular-imask';
9
9
  import * as i2 from '@wm/components/base';
10
10
  import { register, PROP_STRING, PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, DISPLAY_TYPE, StylableComponent, styler, provideAsWidgetRef, APPLY_STYLES_TYPE, WidgetConfig, registerFormWidget, provideAs, extractDataAsArray, ToDatePipe, ALLFIELDS, getOrderedDataset, convertDataToObject, transformDataWithKeys, transformFormData, getUniqObjsByDataField, groupData, handleHeaderClick, toggleAllHeaders, WidgetRef, INPUTMODE, WmComponentsModule } from '@wm/components/base';
11
11
  import * as i1$1 from '@wm/core';
12
- import { DataSource, FormWidgetType, isDefined, toggleClass, AppDefaults, debounce, $appDigest, noop, isEqualWithFields, toBoolean, setListClass, switchClass, addForIdAttributes, addClass, setAttr, removeAttr, setCSS } from '@wm/core';
12
+ import { DataSource, FormWidgetType, isDefined, toggleClass, AppDefaults, debounce, $appDigest, noop, isEqualWithFields, toBoolean, setListClass, switchClass, addForIdAttributes, addClass, setAttr, removeAttr, isIos, setCSS } from '@wm/core';
13
13
  import { Subject } from 'rxjs';
14
14
 
15
15
  const registerProps$e = () => {
@@ -2064,45 +2064,51 @@ const registerProps$7 = () => {
2064
2064
  };
2065
2065
 
2066
2066
  const _c0$7 = ["select"];
2067
+ function SelectComponent_option_2_Template(rf, ctx) { if (rf & 1) {
2068
+ i0.ɵɵelement(0, "option", 4);
2069
+ } if (rf & 2) {
2070
+ const ctx_r1 = i0.ɵɵnextContext();
2071
+ i0.ɵɵproperty("textContent", ctx_r1.placeholder)("hidden", !ctx_r1.placeholder);
2072
+ } }
2067
2073
  function SelectComponent_ng_container_3_optgroup_1_option_1_Template(rf, ctx) { if (rf & 1) {
2068
- i0.ɵɵelement(0, "option", 7);
2074
+ i0.ɵɵelement(0, "option", 8);
2069
2075
  } if (rf & 2) {
2070
- const item_r6 = ctx.$implicit;
2071
- i0.ɵɵproperty("value", item_r6.key)("selected", item_r6.selected)("textContent", item_r6.label);
2076
+ const item_r7 = ctx.$implicit;
2077
+ i0.ɵɵproperty("value", item_r7.key)("selected", item_r7.selected)("textContent", item_r7.label);
2072
2078
  } }
2073
2079
  function SelectComponent_ng_container_3_optgroup_1_Template(rf, ctx) { if (rf & 1) {
2074
- i0.ɵɵelementStart(0, "optgroup", 5);
2075
- i0.ɵɵtemplate(1, SelectComponent_ng_container_3_optgroup_1_option_1_Template, 1, 3, "option", 6);
2080
+ i0.ɵɵelementStart(0, "optgroup", 6);
2081
+ i0.ɵɵtemplate(1, SelectComponent_ng_container_3_optgroup_1_option_1_Template, 1, 3, "option", 7);
2076
2082
  i0.ɵɵelementEnd();
2077
2083
  } if (rf & 2) {
2078
- const groupObj_r4 = ctx.$implicit;
2079
- i0.ɵɵproperty("label", groupObj_r4.key);
2084
+ const groupObj_r5 = ctx.$implicit;
2085
+ i0.ɵɵproperty("label", groupObj_r5.key);
2080
2086
  i0.ɵɵadvance(1);
2081
- i0.ɵɵproperty("ngForOf", groupObj_r4.data);
2087
+ i0.ɵɵproperty("ngForOf", groupObj_r5.data);
2082
2088
  } }
2083
2089
  function SelectComponent_ng_container_3_Template(rf, ctx) { if (rf & 1) {
2084
2090
  i0.ɵɵelementContainerStart(0);
2085
- i0.ɵɵtemplate(1, SelectComponent_ng_container_3_optgroup_1_Template, 2, 2, "optgroup", 4);
2091
+ i0.ɵɵtemplate(1, SelectComponent_ng_container_3_optgroup_1_Template, 2, 2, "optgroup", 5);
2086
2092
  i0.ɵɵelementContainerEnd();
2087
2093
  } if (rf & 2) {
2088
- const ctx_r1 = i0.ɵɵnextContext();
2094
+ const ctx_r2 = i0.ɵɵnextContext();
2089
2095
  i0.ɵɵadvance(1);
2090
- i0.ɵɵproperty("ngForOf", ctx_r1.groupedData);
2096
+ i0.ɵɵproperty("ngForOf", ctx_r2.groupedData);
2091
2097
  } }
2092
2098
  function SelectComponent_ng_container_4_option_1_Template(rf, ctx) { if (rf & 1) {
2093
- i0.ɵɵelement(0, "option", 7);
2099
+ i0.ɵɵelement(0, "option", 8);
2094
2100
  } if (rf & 2) {
2095
- const item_r8 = ctx.$implicit;
2096
- i0.ɵɵproperty("value", item_r8.key)("selected", item_r8.selected)("textContent", item_r8.label);
2101
+ const item_r9 = ctx.$implicit;
2102
+ i0.ɵɵproperty("value", item_r9.key)("selected", item_r9.selected)("textContent", item_r9.label);
2097
2103
  } }
2098
2104
  function SelectComponent_ng_container_4_Template(rf, ctx) { if (rf & 1) {
2099
2105
  i0.ɵɵelementContainerStart(0);
2100
- i0.ɵɵtemplate(1, SelectComponent_ng_container_4_option_1_Template, 1, 3, "option", 6);
2106
+ i0.ɵɵtemplate(1, SelectComponent_ng_container_4_option_1_Template, 1, 3, "option", 7);
2101
2107
  i0.ɵɵelementContainerEnd();
2102
2108
  } if (rf & 2) {
2103
- const ctx_r2 = i0.ɵɵnextContext();
2109
+ const ctx_r3 = i0.ɵɵnextContext();
2104
2110
  i0.ɵɵadvance(1);
2105
- i0.ɵɵproperty("ngForOf", ctx_r2.datasetItems);
2111
+ i0.ɵɵproperty("ngForOf", ctx_r3.datasetItems);
2106
2112
  } }
2107
2113
  const _c1$6 = function (a1) { return ["app-select form-control", a1]; };
2108
2114
  const WIDGET_CONFIG$7 = { widgetType: 'wm-select', hostClass: 'app-select-wrapper' };
@@ -2112,13 +2118,17 @@ class SelectComponent extends DatasetAwareFormComponent {
2112
2118
  this.datavalue = ds.execute(DataSource.Operation.GET_DEFAULT_LOCALE);
2113
2119
  }
2114
2120
  }
2115
- constructor(inj) {
2121
+ constructor(inj, app) {
2116
2122
  super(inj, WIDGET_CONFIG$7);
2123
+ this.app = app;
2117
2124
  this.acceptsArray = true;
2118
2125
  }
2119
2126
  ngAfterViewInit() {
2120
2127
  super.ngAfterViewInit();
2121
2128
  styler(this.selectEl.nativeElement, this);
2129
+ setTimeout(() => {
2130
+ this.checkForFloatingLabel(null);
2131
+ }, 10);
2122
2132
  }
2123
2133
  // Change event is registered from the template, Prevent the framework from registering one more event
2124
2134
  handleEvent(node, eventName, eventCallback, locals) {
@@ -2165,6 +2175,9 @@ class SelectComponent extends DatasetAwareFormComponent {
2165
2175
  }
2166
2176
  super.onPropertyChange(key, nv, ov);
2167
2177
  }
2178
+ isIosPlatform() {
2179
+ return isIos();
2180
+ }
2168
2181
  /**
2169
2182
  * When caption floating is enabled and placeholder is given, do not show placeholder until user focuses on the field
2170
2183
  * When focused add the placeholder to the option which is selected
@@ -2174,18 +2187,27 @@ class SelectComponent extends DatasetAwareFormComponent {
2174
2187
  checkForFloatingLabel($event) {
2175
2188
  const captionEl = $(this.selectEl.nativeElement).closest('.app-composite-widget.caption-floating');
2176
2189
  if (captionEl.length > 0) {
2177
- if ($event.type === 'focus' && (!this.datavalue || (this.datavalue && $(this.selectEl).find('select option:selected').text() === '' && this.placeholder))) {
2178
- $(this.selectEl.nativeElement).find('option:first').text(this.placeholder);
2190
+ if ((!$event || $event.type === 'focus') && (($(this.selectEl).find('select option:selected').text() === '' && (this.placeholder || this.datavalue || this.isIosPlatform())))) {
2191
+ if (!$event && (this.placeholder || this.datavalue || this.isIosPlatform())) {
2192
+ this.app.notify('captionPositionAnimate', { isSelect: true, nativeEl: captionEl });
2193
+ }
2194
+ if (this.placeholder) {
2195
+ $(this.selectEl.nativeElement).find('option:first').text(this.placeholder);
2196
+ }
2179
2197
  }
2180
2198
  else if (!this.datavalue) {
2181
- $(this.selectEl.nativeElement).find('option:selected').text('');
2182
- captionEl.removeClass('float-active');
2199
+ if (!this.placeholder) {
2200
+ // $(this.selectEl.nativeElement).find('option:first').text('');
2201
+ if (!this.isIosPlatform()) {
2202
+ captionEl.removeClass('float-active');
2203
+ }
2204
+ }
2183
2205
  }
2184
2206
  }
2185
2207
  }
2186
2208
  }
2187
2209
  SelectComponent.initializeProps = registerProps$7();
2188
- SelectComponent.ɵfac = function SelectComponent_Factory(t) { return new (t || SelectComponent)(i0.ɵɵdirectiveInject(i0.Injector)); };
2210
+ SelectComponent.ɵfac = function SelectComponent_Factory(t) { return new (t || SelectComponent)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i1$1.App)); };
2189
2211
  SelectComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SelectComponent, selectors: [["wm-select"]], viewQuery: function SelectComponent_Query(rf, ctx) { if (rf & 1) {
2190
2212
  i0.ɵɵviewQuery(_c0$7, 7, ElementRef);
2191
2213
  } if (rf & 2) {
@@ -2195,18 +2217,18 @@ SelectComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SelectCompo
2195
2217
  provideAs(SelectComponent, NG_VALUE_ACCESSOR, true),
2196
2218
  provideAs(SelectComponent, NG_VALIDATORS, true),
2197
2219
  provideAsWidgetRef(SelectComponent)
2198
- ]), i0.ɵɵInheritDefinitionFeature], decls: 5, vars: 16, consts: [["role", "listbox", "aria-haspopup", "true", "aria-expanded", "false", "focus-target", "", 3, "ngClass", "disabled", "required", "tabindex", "ngModel", "multiple", "autofocus", "ngModelChange", "change", "focus", "blur"], ["select", ""], ["selected", "", "value", "undefined", 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) {
2220
+ ]), i0.ɵɵInheritDefinitionFeature], decls: 5, vars: 15, consts: [["role", "listbox", "aria-haspopup", "true", "aria-expanded", "false", "focus-target", "", 3, "ngClass", "disabled", "required", "tabindex", "ngModel", "multiple", "autofocus", "ngModelChange", "change", "focus", "blur"], ["select", ""], ["value", "undefined", 3, "textContent", "hidden", 4, "ngIf"], [4, "ngIf"], ["value", "undefined", 3, "textContent", "hidden"], [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) {
2199
2221
  i0.ɵɵelementStart(0, "select", 0, 1);
2200
2222
  i0.ɵɵlistener("ngModelChange", function SelectComponent_Template_select_ngModelChange_0_listener($event) { return ctx.modelByKey = $event; })("change", function SelectComponent_Template_select_change_0_listener($event) { return ctx.onSelectValueChange($event); })("focus", function SelectComponent_Template_select_focus_0_listener($event) { return ctx.checkForFloatingLabel($event); })("blur", function SelectComponent_Template_select_blur_0_listener($event) { ctx.invokeOnTouched($event); return ctx.checkForFloatingLabel($event); });
2201
- i0.ɵɵelement(2, "option", 2);
2223
+ i0.ɵɵtemplate(2, SelectComponent_option_2_Template, 1, 2, "option", 2);
2202
2224
  i0.ɵɵtemplate(3, SelectComponent_ng_container_3_Template, 2, 1, "ng-container", 3);
2203
2225
  i0.ɵɵtemplate(4, SelectComponent_ng_container_4_Template, 2, 1, "ng-container", 3);
2204
2226
  i0.ɵɵelementEnd();
2205
2227
  } if (rf & 2) {
2206
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(14, _c1$6, ctx.class))("disabled", ctx.disabled)("required", ctx.required)("tabindex", ctx.tabindex)("ngModel", ctx.modelByKey)("multiple", ctx.multiple)("autofocus", ctx.autofocus);
2228
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(13, _c1$6, ctx.class))("disabled", ctx.disabled)("required", ctx.required)("tabindex", ctx.tabindex)("ngModel", ctx.modelByKey)("multiple", ctx.multiple)("autofocus", ctx.autofocus);
2207
2229
  i0.ɵɵattribute("name", ctx.name)("aria-label", ctx.hint)("aria-multiselectable", ctx.multiple);
2208
2230
  i0.ɵɵadvance(2);
2209
- i0.ɵɵproperty("textContent", ctx.placeholder)("hidden", !ctx.placeholder);
2231
+ i0.ɵɵproperty("ngIf", !ctx.isIosPlatform() || !!ctx.placeholder);
2210
2232
  i0.ɵɵadvance(1);
2211
2233
  i0.ɵɵproperty("ngIf", ctx.groupby);
2212
2234
  i0.ɵɵadvance(1);
@@ -2218,8 +2240,8 @@ SelectComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SelectCompo
2218
2240
  provideAs(SelectComponent, NG_VALUE_ACCESSOR, true),
2219
2241
  provideAs(SelectComponent, NG_VALIDATORS, true),
2220
2242
  provideAsWidgetRef(SelectComponent)
2221
- ], template: "<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 [multiple]=\"multiple\"\n (change)=\"onSelectValueChange($event)\"\n (focus)=\"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 [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" }]
2222
- }], function () { return [{ type: i0.Injector }]; }, { selectEl: [{
2243
+ ], template: "<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 [multiple]=\"multiple\"\n (change)=\"onSelectValueChange($event)\"\n (focus)=\"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\n value=\"undefined\"\n [textContent]=\"placeholder\"\n *ngIf=\"!isIosPlatform() || !!placeholder\"\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" }]
2244
+ }], function () { return [{ type: i0.Injector }, { type: i1$1.App }]; }, { selectEl: [{
2223
2245
  type: ViewChild,
2224
2246
  args: ['select', { static: true, read: ElementRef }]
2225
2247
  }] }); })();
@@ -3104,7 +3126,7 @@ class CaptionPositionDirective {
3104
3126
  // isSelectMultiple is set to true when for select widget, multiple option is enabled
3105
3127
  // Checking inputEl focus - when form is represented as dialog and the first field is automatically in focus
3106
3128
  const isInputElFocused = this.inputEl && this.inputEl.is(':focus');
3107
- if (data.displayVal || data.isFocused || data.isSelectMultiple || isInputElFocused) {
3129
+ if (data.isSelect || data.displayVal || data.isFocused || data.isSelectMultiple || isInputElFocused) {
3108
3130
  data.nativeEl.addClass('float-active');
3109
3131
  if (!data.displayVal && isInputElFocused) {
3110
3132
  this.inputEl.attr('placeholder', this.placeholder);