@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 = () => {
@@ -2210,59 +2210,68 @@ const registerProps$7 = () => {
2210
2210
  };
2211
2211
 
2212
2212
  const _c0$7 = ["select"];
2213
+ function SelectComponent_option_2_Template(rf, ctx) {
2214
+ if (rf & 1) {
2215
+ i0.ɵɵelement(0, "option", 4);
2216
+ }
2217
+ if (rf & 2) {
2218
+ const ctx_r1 = i0.ɵɵnextContext();
2219
+ i0.ɵɵproperty("textContent", ctx_r1.placeholder)("hidden", !ctx_r1.placeholder);
2220
+ }
2221
+ }
2213
2222
  function SelectComponent_ng_container_3_optgroup_1_option_1_Template(rf, ctx) {
2214
2223
  if (rf & 1) {
2215
- i0.ɵɵelement(0, "option", 7);
2224
+ i0.ɵɵelement(0, "option", 8);
2216
2225
  }
2217
2226
  if (rf & 2) {
2218
- const item_r6 = ctx.$implicit;
2219
- i0.ɵɵproperty("value", item_r6.key)("selected", item_r6.selected)("textContent", item_r6.label);
2227
+ const item_r7 = ctx.$implicit;
2228
+ i0.ɵɵproperty("value", item_r7.key)("selected", item_r7.selected)("textContent", item_r7.label);
2220
2229
  }
2221
2230
  }
2222
2231
  function SelectComponent_ng_container_3_optgroup_1_Template(rf, ctx) {
2223
2232
  if (rf & 1) {
2224
- i0.ɵɵelementStart(0, "optgroup", 5);
2225
- i0.ɵɵtemplate(1, SelectComponent_ng_container_3_optgroup_1_option_1_Template, 1, 3, "option", 6);
2233
+ i0.ɵɵelementStart(0, "optgroup", 6);
2234
+ i0.ɵɵtemplate(1, SelectComponent_ng_container_3_optgroup_1_option_1_Template, 1, 3, "option", 7);
2226
2235
  i0.ɵɵelementEnd();
2227
2236
  }
2228
2237
  if (rf & 2) {
2229
- const groupObj_r4 = ctx.$implicit;
2230
- i0.ɵɵproperty("label", groupObj_r4.key);
2238
+ const groupObj_r5 = ctx.$implicit;
2239
+ i0.ɵɵproperty("label", groupObj_r5.key);
2231
2240
  i0.ɵɵadvance(1);
2232
- i0.ɵɵproperty("ngForOf", groupObj_r4.data);
2241
+ i0.ɵɵproperty("ngForOf", groupObj_r5.data);
2233
2242
  }
2234
2243
  }
2235
2244
  function SelectComponent_ng_container_3_Template(rf, ctx) {
2236
2245
  if (rf & 1) {
2237
2246
  i0.ɵɵelementContainerStart(0);
2238
- i0.ɵɵtemplate(1, SelectComponent_ng_container_3_optgroup_1_Template, 2, 2, "optgroup", 4);
2247
+ i0.ɵɵtemplate(1, SelectComponent_ng_container_3_optgroup_1_Template, 2, 2, "optgroup", 5);
2239
2248
  i0.ɵɵelementContainerEnd();
2240
2249
  }
2241
2250
  if (rf & 2) {
2242
- const ctx_r1 = i0.ɵɵnextContext();
2251
+ const ctx_r2 = i0.ɵɵnextContext();
2243
2252
  i0.ɵɵadvance(1);
2244
- i0.ɵɵproperty("ngForOf", ctx_r1.groupedData);
2253
+ i0.ɵɵproperty("ngForOf", ctx_r2.groupedData);
2245
2254
  }
2246
2255
  }
2247
2256
  function SelectComponent_ng_container_4_option_1_Template(rf, ctx) {
2248
2257
  if (rf & 1) {
2249
- i0.ɵɵelement(0, "option", 7);
2258
+ i0.ɵɵelement(0, "option", 8);
2250
2259
  }
2251
2260
  if (rf & 2) {
2252
- const item_r8 = ctx.$implicit;
2253
- i0.ɵɵproperty("value", item_r8.key)("selected", item_r8.selected)("textContent", item_r8.label);
2261
+ const item_r9 = ctx.$implicit;
2262
+ i0.ɵɵproperty("value", item_r9.key)("selected", item_r9.selected)("textContent", item_r9.label);
2254
2263
  }
2255
2264
  }
2256
2265
  function SelectComponent_ng_container_4_Template(rf, ctx) {
2257
2266
  if (rf & 1) {
2258
2267
  i0.ɵɵelementContainerStart(0);
2259
- i0.ɵɵtemplate(1, SelectComponent_ng_container_4_option_1_Template, 1, 3, "option", 6);
2268
+ i0.ɵɵtemplate(1, SelectComponent_ng_container_4_option_1_Template, 1, 3, "option", 7);
2260
2269
  i0.ɵɵelementContainerEnd();
2261
2270
  }
2262
2271
  if (rf & 2) {
2263
- const ctx_r2 = i0.ɵɵnextContext();
2272
+ const ctx_r3 = i0.ɵɵnextContext();
2264
2273
  i0.ɵɵadvance(1);
2265
- i0.ɵɵproperty("ngForOf", ctx_r2.datasetItems);
2274
+ i0.ɵɵproperty("ngForOf", ctx_r3.datasetItems);
2266
2275
  }
2267
2276
  }
2268
2277
  const _c1$6 = function (a1) { return ["app-select form-control", a1]; };
@@ -2273,13 +2282,17 @@ class SelectComponent extends DatasetAwareFormComponent {
2273
2282
  this.datavalue = ds.execute(DataSource.Operation.GET_DEFAULT_LOCALE);
2274
2283
  }
2275
2284
  }
2276
- constructor(inj) {
2285
+ constructor(inj, app) {
2277
2286
  super(inj, WIDGET_CONFIG$7);
2287
+ this.app = app;
2278
2288
  this.acceptsArray = true;
2279
2289
  }
2280
2290
  ngAfterViewInit() {
2281
2291
  super.ngAfterViewInit();
2282
2292
  styler(this.selectEl.nativeElement, this);
2293
+ setTimeout(() => {
2294
+ this.checkForFloatingLabel(null);
2295
+ }, 10);
2283
2296
  }
2284
2297
  // Change event is registered from the template, Prevent the framework from registering one more event
2285
2298
  handleEvent(node, eventName, eventCallback, locals) {
@@ -2326,6 +2339,9 @@ class SelectComponent extends DatasetAwareFormComponent {
2326
2339
  }
2327
2340
  super.onPropertyChange(key, nv, ov);
2328
2341
  }
2342
+ isIosPlatform() {
2343
+ return isIos();
2344
+ }
2329
2345
  /**
2330
2346
  * When caption floating is enabled and placeholder is given, do not show placeholder until user focuses on the field
2331
2347
  * When focused add the placeholder to the option which is selected
@@ -2335,18 +2351,27 @@ class SelectComponent extends DatasetAwareFormComponent {
2335
2351
  checkForFloatingLabel($event) {
2336
2352
  const captionEl = $(this.selectEl.nativeElement).closest('.app-composite-widget.caption-floating');
2337
2353
  if (captionEl.length > 0) {
2338
- if ($event.type === 'focus' && (!this.datavalue || (this.datavalue && $(this.selectEl).find('select option:selected').text() === '' && this.placeholder))) {
2339
- $(this.selectEl.nativeElement).find('option:first').text(this.placeholder);
2354
+ if ((!$event || $event.type === 'focus') && (($(this.selectEl).find('select option:selected').text() === '' && (this.placeholder || this.datavalue || this.isIosPlatform())))) {
2355
+ if (!$event && (this.placeholder || this.datavalue || this.isIosPlatform())) {
2356
+ this.app.notify('captionPositionAnimate', { isSelect: true, nativeEl: captionEl });
2357
+ }
2358
+ if (this.placeholder) {
2359
+ $(this.selectEl.nativeElement).find('option:first').text(this.placeholder);
2360
+ }
2340
2361
  }
2341
2362
  else if (!this.datavalue) {
2342
- $(this.selectEl.nativeElement).find('option:selected').text('');
2343
- captionEl.removeClass('float-active');
2363
+ if (!this.placeholder) {
2364
+ // $(this.selectEl.nativeElement).find('option:first').text('');
2365
+ if (!this.isIosPlatform()) {
2366
+ captionEl.removeClass('float-active');
2367
+ }
2368
+ }
2344
2369
  }
2345
2370
  }
2346
2371
  }
2347
2372
  }
2348
2373
  SelectComponent.initializeProps = registerProps$7();
2349
- SelectComponent.ɵfac = function SelectComponent_Factory(t) { return new (t || SelectComponent)(i0.ɵɵdirectiveInject(i0.Injector)); };
2374
+ SelectComponent.ɵfac = function SelectComponent_Factory(t) { return new (t || SelectComponent)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i1$1.App)); };
2350
2375
  SelectComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SelectComponent, selectors: [["wm-select"]], viewQuery: function SelectComponent_Query(rf, ctx) {
2351
2376
  if (rf & 1) {
2352
2377
  i0.ɵɵviewQuery(_c0$7, 7, ElementRef);
@@ -2359,20 +2384,20 @@ SelectComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SelectCompo
2359
2384
  provideAs(SelectComponent, NG_VALUE_ACCESSOR, true),
2360
2385
  provideAs(SelectComponent, NG_VALIDATORS, true),
2361
2386
  provideAsWidgetRef(SelectComponent)
2362
- ]), 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) {
2387
+ ]), 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) {
2363
2388
  if (rf & 1) {
2364
2389
  i0.ɵɵelementStart(0, "select", 0, 1);
2365
2390
  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); });
2366
- i0.ɵɵelement(2, "option", 2);
2391
+ i0.ɵɵtemplate(2, SelectComponent_option_2_Template, 1, 2, "option", 2);
2367
2392
  i0.ɵɵtemplate(3, SelectComponent_ng_container_3_Template, 2, 1, "ng-container", 3);
2368
2393
  i0.ɵɵtemplate(4, SelectComponent_ng_container_4_Template, 2, 1, "ng-container", 3);
2369
2394
  i0.ɵɵelementEnd();
2370
2395
  }
2371
2396
  if (rf & 2) {
2372
- 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);
2397
+ 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);
2373
2398
  i0.ɵɵattribute("name", ctx.name)("aria-label", ctx.hint)("aria-multiselectable", ctx.multiple);
2374
2399
  i0.ɵɵadvance(2);
2375
- i0.ɵɵproperty("textContent", ctx.placeholder)("hidden", !ctx.placeholder);
2400
+ i0.ɵɵproperty("ngIf", !ctx.isIosPlatform() || !!ctx.placeholder);
2376
2401
  i0.ɵɵadvance(1);
2377
2402
  i0.ɵɵproperty("ngIf", ctx.groupby);
2378
2403
  i0.ɵɵadvance(1);
@@ -2386,8 +2411,8 @@ SelectComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SelectCompo
2386
2411
  provideAs(SelectComponent, NG_VALUE_ACCESSOR, true),
2387
2412
  provideAs(SelectComponent, NG_VALIDATORS, true),
2388
2413
  provideAsWidgetRef(SelectComponent)
2389
- ], 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" }]
2390
- }], function () { return [{ type: i0.Injector }]; }, { selectEl: [{
2414
+ ], 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" }]
2415
+ }], function () { return [{ type: i0.Injector }, { type: i1$1.App }]; }, { selectEl: [{
2391
2416
  type: ViewChild,
2392
2417
  args: ['select', { static: true, read: ElementRef }]
2393
2418
  }] });
@@ -3338,7 +3363,7 @@ class CaptionPositionDirective {
3338
3363
  // isSelectMultiple is set to true when for select widget, multiple option is enabled
3339
3364
  // Checking inputEl focus - when form is represented as dialog and the first field is automatically in focus
3340
3365
  const isInputElFocused = this.inputEl && this.inputEl.is(':focus');
3341
- if (data.displayVal || data.isFocused || data.isSelectMultiple || isInputElFocused) {
3366
+ if (data.isSelect || data.displayVal || data.isFocused || data.isSelectMultiple || isInputElFocused) {
3342
3367
  data.nativeEl.addClass('float-active');
3343
3368
  if (!data.displayVal && isInputElFocused) {
3344
3369
  this.inputEl.attr('placeholder', this.placeholder);