@colijnit/corecomponents_v12 12.0.17 → 12.0.18

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 (138) hide show
  1. package/bundles/colijnit-corecomponents_v12.umd.js +740 -241
  2. package/bundles/colijnit-corecomponents_v12.umd.js.map +1 -1
  3. package/colijnit-corecomponents_v12.d.ts +9 -8
  4. package/colijnit-corecomponents_v12.metadata.json +1 -1
  5. package/esm2015/colijnit-corecomponents_v12.js +10 -9
  6. package/esm2015/lib/components/base/base-input.component.js +29 -9
  7. package/esm2015/lib/components/carousel-3d/carousel-3d.component.js +313 -0
  8. package/esm2015/lib/components/carousel-3d/carousel-3d.module.js +19 -0
  9. package/esm2015/lib/components/carousel-3d/carouselItem.js +54 -0
  10. package/esm2015/lib/components/drop-down-list/drop-down-list.component.js +30 -8
  11. package/esm2015/lib/components/drop-down-list/drop-down.module.js +4 -2
  12. package/esm2015/lib/components/form/form.component.js +2 -21
  13. package/esm2015/lib/components/form/form.module.js +4 -4
  14. package/esm2015/lib/components/input-checkbox/input-checkbox.component.js +15 -5
  15. package/esm2015/lib/components/input-checkbox-multi-select/input-checkbox-multi-select.component.js +6 -14
  16. package/esm2015/lib/components/input-combo-box/input-combo-box.component.js +24 -29
  17. package/esm2015/lib/components/input-date-picker/input-date-picker.component.js +10 -7
  18. package/esm2015/lib/components/input-listbox/input-listbox.component.js +27 -6
  19. package/esm2015/lib/components/input-number-picker/input-number-picker.component.js +9 -9
  20. package/esm2015/lib/components/input-radio-button/input-radio-button.component.js +13 -5
  21. package/esm2015/lib/components/input-text/input-text.component.js +22 -81
  22. package/esm2015/lib/components/input-text/input-text.module.js +16 -13
  23. package/esm2015/lib/components/input-textarea/input-textarea.component.js +62 -0
  24. package/esm2015/lib/components/input-textarea/input-textarea.module.js +23 -0
  25. package/esm2015/lib/components/multi-select-list/multi-select-list.component.js +37 -9
  26. package/esm2015/lib/components/multi-select-list/multi-select-list.module.js +4 -2
  27. package/esm2015/lib/components/validation-error/validation-error.component.js +23 -0
  28. package/esm2015/lib/components/validation-error/validation-error.module.js +19 -0
  29. package/esm2015/public-api.js +6 -1
  30. package/fesm2015/colijnit-corecomponents_v12.js +760 -262
  31. package/fesm2015/colijnit-corecomponents_v12.js.map +1 -1
  32. package/lib/components/base/base-input.component.d.ts +7 -2
  33. package/lib/components/button/style/_layout.scss +0 -1
  34. package/lib/components/button/style/_theme.scss +2 -3
  35. package/lib/components/button-drop-down/style/_layout.scss +0 -2
  36. package/lib/components/button-drop-down/style/_theme.scss +0 -2
  37. package/lib/components/button-drop-down/style/material.scss +1 -0
  38. package/lib/components/carousel-3d/carousel-3d.component.d.ts +55 -0
  39. package/lib/components/carousel-3d/carousel-3d.module.d.ts +2 -0
  40. package/lib/components/carousel-3d/carouselItem.d.ts +13 -0
  41. package/lib/components/carousel-3d/style/_layout.scss +62 -0
  42. package/lib/components/carousel-3d/style/_material-definition.scss +6 -0
  43. package/lib/components/carousel-3d/style/_theme.scss +4 -0
  44. package/lib/components/carousel-3d/style/material.scss +5 -0
  45. package/lib/components/co-dialog/style/_layout.scss +0 -3
  46. package/lib/components/co-dialog/style/_theme.scss +0 -3
  47. package/lib/components/co-dialog/style/material.scss +1 -0
  48. package/lib/components/co-kanban/style/_layout.scss +0 -3
  49. package/lib/components/co-kanban/style/_theme.scss +0 -4
  50. package/lib/components/co-kanban/style/material.scss +1 -0
  51. package/lib/components/co-rich-text-editor/style/_layout.scss +0 -2
  52. package/lib/components/co-rich-text-editor/style/_theme.scss +0 -2
  53. package/lib/components/co-rich-text-editor/style/material.scss +1 -0
  54. package/lib/components/collapsible/style/_layout.scss +0 -3
  55. package/lib/components/collapsible/style/_theme.scss +0 -4
  56. package/lib/components/collapsible/style/material.scss +1 -0
  57. package/lib/components/drop-down-list/drop-down-list.component.d.ts +12 -2
  58. package/lib/components/drop-down-list/style/_layout.scss +8 -3
  59. package/lib/components/drop-down-list/style/_theme.scss +0 -2
  60. package/lib/components/drop-down-list/style/material.scss +2 -0
  61. package/lib/components/form/form.component.d.ts +0 -1
  62. package/lib/components/grid/style/_layout.scss +0 -2
  63. package/lib/components/grid/style/_theme.scss +0 -2
  64. package/lib/components/grid/style/material.scss +1 -0
  65. package/lib/components/input-checkbox/input-checkbox.component.d.ts +9 -2
  66. package/lib/components/input-checkbox/style/_layout.scss +0 -2
  67. package/lib/components/input-checkbox/style/_theme.scss +0 -2
  68. package/lib/components/input-checkbox/style/material.scss +1 -0
  69. package/lib/components/input-checkbox-multi-select/input-checkbox-multi-select.component.d.ts +4 -6
  70. package/lib/components/input-checkbox-multi-select/style/_layout.scss +0 -2
  71. package/lib/components/input-checkbox-multi-select/style/_theme.scss +0 -2
  72. package/lib/components/input-checkbox-multi-select/style/material.scss +1 -0
  73. package/lib/components/input-combo-box/input-combo-box.component.d.ts +6 -7
  74. package/lib/components/input-combo-box/style/_layout.scss +10 -3
  75. package/lib/components/input-combo-box/style/_material-definition.scss +0 -7
  76. package/lib/components/input-combo-box/style/_theme.scss +0 -2
  77. package/lib/components/input-combo-box/style/material.scss +9 -0
  78. package/lib/components/input-date-picker/input-date-picker.component.d.ts +4 -3
  79. package/lib/components/input-date-picker/style/_layout.scss +4 -3
  80. package/lib/components/input-date-picker/style/_theme.scss +0 -2
  81. package/lib/components/input-date-picker/style/material.scss +2 -0
  82. package/lib/components/input-listbox/input-listbox.component.d.ts +12 -1
  83. package/lib/components/input-listbox/style/_layout.scss +2 -2
  84. package/lib/components/input-listbox/style/_theme.scss +0 -2
  85. package/lib/components/input-listbox/style/material.scss +2 -0
  86. package/lib/components/input-number-picker/input-number-picker.component.d.ts +5 -5
  87. package/lib/components/input-number-picker/style/_layout.scss +0 -2
  88. package/lib/components/input-number-picker/style/_theme.scss +0 -2
  89. package/lib/components/input-number-picker/style/material.scss +1 -0
  90. package/lib/components/input-radio-button/input-radio-button.component.d.ts +7 -2
  91. package/lib/components/input-radio-button/style/_layout.scss +0 -2
  92. package/lib/components/input-radio-button/style/_theme.scss +0 -2
  93. package/lib/components/input-radio-button/style/material.scss +1 -0
  94. package/lib/components/input-search/style/_layout.scss +0 -3
  95. package/lib/components/input-search/style/_theme.scss +0 -4
  96. package/lib/components/input-search/style/material.scss +1 -0
  97. package/lib/components/input-text/input-text.component.d.ts +6 -30
  98. package/lib/components/input-text/style/_layout.scss +14 -3
  99. package/lib/components/input-text/style/_material-definition.scss +4 -3
  100. package/lib/components/input-text/style/_theme.scss +0 -2
  101. package/lib/components/input-text/style/material.scss +3 -0
  102. package/lib/components/input-textarea/input-textarea.component.d.ts +18 -0
  103. package/lib/components/input-textarea/input-textarea.module.d.ts +2 -0
  104. package/lib/components/input-textarea/style/_layout.scss +20 -0
  105. package/lib/components/input-textarea/style/_material-definition.scss +4 -0
  106. package/lib/components/input-textarea/style/_theme.scss +8 -0
  107. package/lib/components/input-textarea/style/material.scss +7 -0
  108. package/lib/components/multi-select-list/multi-select-list.component.d.ts +13 -2
  109. package/lib/components/multi-select-list/style/_layout.scss +10 -3
  110. package/lib/components/multi-select-list/style/_theme.scss +0 -2
  111. package/lib/components/multi-select-list/style/material.scss +2 -0
  112. package/lib/components/pivot/style/_layout.scss +0 -2
  113. package/lib/components/pivot/style/_theme.scss +0 -2
  114. package/lib/components/pivot/style/material.scss +1 -0
  115. package/lib/components/simple-grid/style/_layout.scss +0 -2
  116. package/lib/components/simple-grid/style/_theme.scss +0 -2
  117. package/lib/components/simple-grid/style/material.scss +1 -0
  118. package/lib/components/validation-error/style/_layout.scss +37 -0
  119. package/lib/components/validation-error/style/_material-definition.scss +9 -0
  120. package/lib/components/validation-error/style/_theme.scss +21 -0
  121. package/lib/components/validation-error/style/material.scss +5 -0
  122. package/lib/components/validation-error/validation-error.component.d.ts +4 -0
  123. package/lib/components/validation-error/validation-error.module.d.ts +2 -0
  124. package/lib/style/_input.mixins.scss +70 -281
  125. package/lib/style/_variables.scss +2 -0
  126. package/package.json +5 -2
  127. package/public-api.d.ts +5 -0
  128. package/esm2015/lib/core/enum/float-label-type.enum.js +0 -7
  129. package/esm2015/lib/core/enum/input-text-type.enum.js +0 -6
  130. package/esm2015/lib/core/model/numerical-range.js +0 -14
  131. package/lib/components/drop-down-list/drop-down-list.component.scss +0 -0
  132. package/lib/core/enum/float-label-type.enum.d.ts +0 -5
  133. package/lib/core/enum/input-text-type.enum.d.ts +0 -4
  134. package/lib/core/model/numerical-range.d.ts +0 -7
  135. package/lib/style/_extendables.scss +0 -32
  136. package/lib/style/_responsiveness.mixins.scss +0 -64
  137. package/lib/style/_responsiveness.scss +0 -4
  138. package/lib/style/_transition.mixins.scss +0 -21
@@ -1,8 +1,28 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/common/http'), require('@angular/platform-browser'), require('rxjs'), require('rxjs/operators'), require('@syncfusion/ej2-angular-splitbuttons'), require('@angular/animations'), require('@angular/platform-browser/animations'), require('@syncfusion/ej2-angular-popups'), require('@syncfusion/ej2-angular-kanban'), require('@syncfusion/ej2-angular-schedule'), require('@syncfusion/ej2-angular-navigations'), require('@syncfusion/ej2-angular-buttons'), require('@angular/forms'), require('@syncfusion/ej2-angular-dropdowns'), require('@syncfusion/ej2-angular-grids'), require('@syncfusion/ej2-base'), require('@syncfusion/ej2-angular-calendars'), require('@syncfusion/ej2-angular-inputs'), require('@syncfusion/ej2-angular-pivotview'), require('@angular/cdk/overlay'), require('@angular/cdk/portal'), require('@syncfusion/ej2-angular-richtexteditor'), require('@angular/cdk/drag-drop')) :
3
- typeof define === 'function' && define.amd ? define('@colijnit/corecomponents_v12', ['exports', '@angular/core', '@angular/common', '@angular/common/http', '@angular/platform-browser', 'rxjs', 'rxjs/operators', '@syncfusion/ej2-angular-splitbuttons', '@angular/animations', '@angular/platform-browser/animations', '@syncfusion/ej2-angular-popups', '@syncfusion/ej2-angular-kanban', '@syncfusion/ej2-angular-schedule', '@syncfusion/ej2-angular-navigations', '@syncfusion/ej2-angular-buttons', '@angular/forms', '@syncfusion/ej2-angular-dropdowns', '@syncfusion/ej2-angular-grids', '@syncfusion/ej2-base', '@syncfusion/ej2-angular-calendars', '@syncfusion/ej2-angular-inputs', '@syncfusion/ej2-angular-pivotview', '@angular/cdk/overlay', '@angular/cdk/portal', '@syncfusion/ej2-angular-richtexteditor', '@angular/cdk/drag-drop'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.colijnit = global.colijnit || {}, global.colijnit.corecomponents_v12 = {}), global.ng.core, global.ng.common, global.ng.common.http, global.ng.platformBrowser, global.rxjs, global.rxjs.operators, global.ej2AngularSplitbuttons, global.ng.animations, global.ng.platformBrowser.animations, global.ej2AngularPopups, global.ej2AngularKanban, global.ej2AngularSchedule, global.ej2AngularNavigations, global.ej2AngularButtons, global.ng.forms, global.ej2AngularDropdowns, global.ej2AngularGrids, global.ej2Base, global.ej2AngularCalendars, global.ej2AngularInputs, global.ej2AngularPivotview, global.ng.cdk.overlay, global.ng.cdk.portal, global.ej2AngularRichtexteditor, global.ng.cdk.dragDrop));
5
- })(this, (function (exports, core, common, http, platformBrowser, rxjs, operators, ej2AngularSplitbuttons, animations, animations$1, ej2AngularPopups, ej2AngularKanban, ej2AngularSchedule, ej2AngularNavigations, ej2AngularButtons, forms, ej2AngularDropdowns, ej2AngularGrids, ej2Base, ej2AngularCalendars, ej2AngularInputs, ej2AngularPivotview, overlay, portal, ej2AngularRichtexteditor, dragDrop) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/common/http'), require('@angular/platform-browser'), require('rxjs'), require('rxjs/operators'), require('@syncfusion/ej2-angular-splitbuttons'), require('@angular/animations'), require('@angular/platform-browser/animations'), require('@syncfusion/ej2-angular-popups'), require('@syncfusion/ej2-angular-kanban'), require('@syncfusion/ej2-angular-schedule'), require('@syncfusion/ej2-angular-navigations'), require('@syncfusion/ej2-angular-buttons'), require('@angular/forms'), require('@syncfusion/ej2-angular-dropdowns'), require('@syncfusion/ej2-angular-grids'), require('@syncfusion/ej2-base'), require('@syncfusion/ej2-angular-calendars'), require('@syncfusion/ej2-angular-inputs'), require('@syncfusion/ej2-angular-pivotview'), require('@angular/cdk/overlay'), require('@angular/cdk/portal'), require('@syncfusion/ej2-angular-richtexteditor'), require('@angular/cdk/drag-drop'), require('three'), require('three/examples/jsm/renderers/CSS3DRenderer'), require('@tweenjs/tween.js')) :
3
+ typeof define === 'function' && define.amd ? define('@colijnit/corecomponents_v12', ['exports', '@angular/core', '@angular/common', '@angular/common/http', '@angular/platform-browser', 'rxjs', 'rxjs/operators', '@syncfusion/ej2-angular-splitbuttons', '@angular/animations', '@angular/platform-browser/animations', '@syncfusion/ej2-angular-popups', '@syncfusion/ej2-angular-kanban', '@syncfusion/ej2-angular-schedule', '@syncfusion/ej2-angular-navigations', '@syncfusion/ej2-angular-buttons', '@angular/forms', '@syncfusion/ej2-angular-dropdowns', '@syncfusion/ej2-angular-grids', '@syncfusion/ej2-base', '@syncfusion/ej2-angular-calendars', '@syncfusion/ej2-angular-inputs', '@syncfusion/ej2-angular-pivotview', '@angular/cdk/overlay', '@angular/cdk/portal', '@syncfusion/ej2-angular-richtexteditor', '@angular/cdk/drag-drop', 'three', 'three/examples/jsm/renderers/CSS3DRenderer', '@tweenjs/tween.js'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.colijnit = global.colijnit || {}, global.colijnit.corecomponents_v12 = {}), global.ng.core, global.ng.common, global.ng.common.http, global.ng.platformBrowser, global.rxjs, global.rxjs.operators, global.ej2AngularSplitbuttons, global.ng.animations, global.ng.platformBrowser.animations, global.ej2AngularPopups, global.ej2AngularKanban, global.ej2AngularSchedule, global.ej2AngularNavigations, global.ej2AngularButtons, global.ng.forms, global.ej2AngularDropdowns, global.ej2AngularGrids, global.ej2Base, global.ej2AngularCalendars, global.ej2AngularInputs, global.ej2AngularPivotview, global.ng.cdk.overlay, global.ng.cdk.portal, global.ej2AngularRichtexteditor, global.ng.cdk.dragDrop, global.three, global.CSS3DRenderer, global.TWEEN));
5
+ })(this, (function (exports, core, common, http, platformBrowser, rxjs, operators, ej2AngularSplitbuttons, animations, animations$1, ej2AngularPopups, ej2AngularKanban, ej2AngularSchedule, ej2AngularNavigations, ej2AngularButtons, forms, ej2AngularDropdowns, ej2AngularGrids, ej2Base, ej2AngularCalendars, ej2AngularInputs, ej2AngularPivotview, overlay, portal, ej2AngularRichtexteditor, dragDrop, three, CSS3DRenderer, TWEEN) { 'use strict';
6
+
7
+ function _interopNamespace(e) {
8
+ if (e && e.__esModule) return e;
9
+ var n = Object.create(null);
10
+ if (e) {
11
+ Object.keys(e).forEach(function (k) {
12
+ if (k !== 'default') {
13
+ var d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: function () { return e[k]; }
17
+ });
18
+ }
19
+ });
20
+ }
21
+ n["default"] = e;
22
+ return Object.freeze(n);
23
+ }
24
+
25
+ var TWEEN__namespace = /*#__PURE__*/_interopNamespace(TWEEN);
6
26
 
7
27
  // @returns true iff given value equals null or equals undefined
8
28
  function isNill(value) {
@@ -3081,18 +3101,36 @@
3081
3101
  };
3082
3102
  }
3083
3103
 
3104
+ var ValidationErrorComponent = /** @class */ (function () {
3105
+ function ValidationErrorComponent() {
3106
+ }
3107
+ ValidationErrorComponent.prototype.showClass = function () {
3108
+ return true;
3109
+ };
3110
+ return ValidationErrorComponent;
3111
+ }());
3112
+ ValidationErrorComponent.decorators = [
3113
+ { type: core.Component, args: [{
3114
+ selector: "co-validation-error",
3115
+ template: "\n <div class=\"validation-error-content\">\n <div class=\"validation-error-message\" [textContent]=\"error\"></div>\n </div>\n ",
3116
+ animations: [],
3117
+ encapsulation: core.ViewEncapsulation.None
3118
+ },] }
3119
+ ];
3120
+ ValidationErrorComponent.propDecorators = {
3121
+ error: [{ type: core.Input }],
3122
+ showClass: [{ type: core.HostBinding, args: ['class.co-validation-error',] }]
3123
+ };
3124
+
3084
3125
  /**
3085
3126
  * Abstract base class for all concrete form input components that contain a native <input> element. Provides common data and functionality, such as
3086
3127
  * adding self as a control to the parent form.
3087
3128
  */
3088
3129
  var BaseInputComponent = /** @class */ (function () {
3089
- function BaseInputComponent(changeDetector, formUserChangeListener,
3090
- // @Optional() protected speechInput?: SpeechInputService,
3091
- ngZoneWrapper,
3092
- // @Optional() protected tooltipManager?: AppTooltipDynamicManagerService,
3093
- elementRef) {
3130
+ function BaseInputComponent(changeDetector, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef) {
3094
3131
  var _this = this;
3095
3132
  this.changeDetector = changeDetector;
3133
+ this.componentFactoryResolver = componentFactoryResolver;
3096
3134
  this.formUserChangeListener = formUserChangeListener;
3097
3135
  this.ngZoneWrapper = ngZoneWrapper;
3098
3136
  this.elementRef = elementRef;
@@ -3150,6 +3188,7 @@
3150
3188
  },
3151
3189
  set: function (value) {
3152
3190
  this._model = value;
3191
+ this._clearErrorComponent();
3153
3192
  },
3154
3193
  enumerable: false,
3155
3194
  configurable: true
@@ -3301,7 +3340,6 @@
3301
3340
  });
3302
3341
  Object.defineProperty(BaseInputComponent.prototype, "formSubmitted", {
3303
3342
  get: function () {
3304
- return true;
3305
3343
  return this.formComponent && this.formComponent.submitted;
3306
3344
  },
3307
3345
  enumerable: false,
@@ -3398,6 +3436,16 @@
3398
3436
  enumerable: false,
3399
3437
  configurable: true
3400
3438
  });
3439
+ BaseInputComponent.prototype.showValidationError = function (error) {
3440
+ if (this.validationErrorContainer) {
3441
+ if (this._errorValidationComponent) {
3442
+ this._clearErrorComponent();
3443
+ }
3444
+ var componentFactory = this.componentFactoryResolver.resolveComponentFactory(ValidationErrorComponent);
3445
+ this._errorValidationComponent = this.validationErrorContainer.createComponent(componentFactory);
3446
+ this._errorValidationComponent.instance.error = error;
3447
+ }
3448
+ };
3401
3449
  BaseInputComponent.prototype.ngOnInit = function () {
3402
3450
  var _this = this;
3403
3451
  this._modelChangeSub = this.modelChange.subscribe(function (val) {
@@ -3423,6 +3471,7 @@
3423
3471
  };
3424
3472
  BaseInputComponent.prototype.ngOnDestroy = function () {
3425
3473
  this._destroyed = true;
3474
+ this._clearErrorComponent();
3426
3475
  // if (this.tooltipManager && this.elementRef) {
3427
3476
  // this.tooltipManager.destroyErrorTooltipOfElement(this.elementRef.nativeElement);
3428
3477
  // }
@@ -3593,6 +3642,15 @@
3593
3642
  this.control.updateValueAndValidity();
3594
3643
  }
3595
3644
  };
3645
+ BaseInputComponent.prototype._clearErrorComponent = function () {
3646
+ if (this.validationErrorContainer) {
3647
+ this.validationErrorContainer.clear();
3648
+ if (this._errorValidationComponent) {
3649
+ this._errorValidationComponent.destroy();
3650
+ this._errorValidationComponent = undefined;
3651
+ }
3652
+ }
3653
+ };
3596
3654
  // whether this.ngModel.control has safe access
3597
3655
  BaseInputComponent.prototype._controlExists = function () {
3598
3656
  return this.ngModel && !!this.control;
@@ -3662,11 +3720,13 @@
3662
3720
  ];
3663
3721
  BaseInputComponent.ctorParameters = function () { return [
3664
3722
  { type: core.ChangeDetectorRef },
3723
+ { type: core.ComponentFactoryResolver },
3665
3724
  { type: FormInputUserModelChangeListenerService, decorators: [{ type: core.Optional }] },
3666
3725
  { type: NgZoneWrapperService, decorators: [{ type: core.Optional }] },
3667
3726
  { type: core.ElementRef, decorators: [{ type: core.Optional }] }
3668
3727
  ]; };
3669
3728
  BaseInputComponent.propDecorators = {
3729
+ validationErrorContainer: [{ type: core.ViewChild, args: ["validationError", { read: core.ViewContainerRef },] }],
3670
3730
  model: [{ type: core.Input }],
3671
3731
  label: [{ type: core.Input }],
3672
3732
  noValidation: [{ type: core.Input }],
@@ -3697,7 +3757,7 @@
3697
3757
  userModelChange: [{ type: core.Output }],
3698
3758
  hiddenChange: [{ type: core.Output }],
3699
3759
  _ngModel: [{ type: core.ViewChild, args: [forms.NgModel, { static: true },] }],
3700
- focused: [{ type: core.HostBinding, args: ["class.focused",] }],
3760
+ focused: [{ type: core.HostBinding, args: ["class.cc-input-focused",] }],
3701
3761
  formInput: [{ type: core.HostBinding, args: ["class.form-input",] }],
3702
3762
  customWidth: [{ type: core.Input }, { type: core.HostBinding, args: ["class.custom-width",] }],
3703
3763
  noTriangleGraphic: [{ type: core.Input }],
@@ -3749,70 +3809,6 @@
3749
3809
  InputBoolean()
3750
3810
  ], BaseInputComponent.prototype, "noFormGroupControl", void 0);
3751
3811
 
3752
- var DropDownListComponent = /** @class */ (function (_super) {
3753
- __extends(DropDownListComponent, _super);
3754
- function DropDownListComponent() {
3755
- var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
3756
- /**
3757
- * In the form { text: 'name', value: 'id' }
3758
- * Where 'text' is showing in the dropdown and 'id' used for the model binding
3759
- */
3760
- _this.fields = {};
3761
- return _this;
3762
- }
3763
- DropDownListComponent.prototype.showClass = function () {
3764
- return true;
3765
- };
3766
- DropDownListComponent.prototype.handleValueChanged = function (value) {
3767
- if (value !== this.model) {
3768
- this.modelChange.next(value);
3769
- }
3770
- };
3771
- return DropDownListComponent;
3772
- }(BaseInputComponent));
3773
- DropDownListComponent.decorators = [
3774
- { type: core.Component, args: [{
3775
- selector: "co-drop-down-list",
3776
- template: "\n <ejs-dropdownlist\n [dataSource]=\"collection\"\n [value]=\"model\"\n [fields]=\"fields\"\n [placeholder]=\"placeHolder\"\n [cssClass]=\"'co-drop-down-list'\"\n [readonly]=\"readonly\"\n [itemTemplate]=\"itemTemplate\"\n [headerTemplate]=\"headerTemplate\"\n [valueTemplate]=\"valueTemplate\"\n (valueChange)=\"handleValueChanged($event)\"\n >\n </ejs-dropdownlist>\n ",
3777
- providers: [
3778
- ej2AngularDropdowns.CheckBoxSelectionService,
3779
- {
3780
- provide: COMPONENT_INTERFACE_NAME,
3781
- useExisting: core.forwardRef(function () { return DropDownListComponent; })
3782
- }
3783
- ],
3784
- changeDetection: core.ChangeDetectionStrategy.OnPush,
3785
- encapsulation: core.ViewEncapsulation.None
3786
- },] }
3787
- ];
3788
- DropDownListComponent.propDecorators = {
3789
- collection: [{ type: core.Input }],
3790
- fields: [{ type: core.Input }],
3791
- placeHolder: [{ type: core.Input }],
3792
- itemTemplate: [{ type: core.Input }],
3793
- headerTemplate: [{ type: core.Input }],
3794
- valueTemplate: [{ type: core.Input }],
3795
- showClass: [{ type: core.HostBinding, args: ["class.co-drop-down-list",] }]
3796
- };
3797
-
3798
- var DropDownModule = /** @class */ (function () {
3799
- function DropDownModule() {
3800
- }
3801
- return DropDownModule;
3802
- }());
3803
- DropDownModule.decorators = [
3804
- { type: core.NgModule, args: [{
3805
- imports: [
3806
- BaseModule,
3807
- common.CommonModule,
3808
- ej2AngularDropdowns.DropDownListModule,
3809
- ej2AngularDropdowns.MultiSelectModule
3810
- ],
3811
- declarations: [DropDownListComponent],
3812
- exports: [DropDownListComponent]
3813
- },] }
3814
- ];
3815
-
3816
3812
  // Represents a positional model
3817
3813
  var ElementPosition = /** @class */ (function () {
3818
3814
  function ElementPosition(top, right, bottom, left) {
@@ -4061,33 +4057,15 @@
4061
4057
  for (var errorKey in this.formGroup.controls[controlKey].errors) {
4062
4058
  if (this.formGroup.controls[controlKey].errors.hasOwnProperty(errorKey)) {
4063
4059
  var error = this.formGroup.controls[controlKey].errors[errorKey];
4064
- var errorText = this._getValidationErrorText(error);
4065
- var controlElement = comp.elementRef.nativeElement;
4066
4060
  if (controlKey === key) {
4067
- // this._tooltipService.spawnErrorTooltip(controlElement, errorText, this.keepInView ? this.keepInView : undefined);
4061
+ comp.showValidationError(error);
4068
4062
  }
4069
- comp.redErrorBackground = true;
4070
4063
  }
4071
4064
  }
4072
4065
  }
4073
4066
  }
4074
4067
  }
4075
4068
  };
4076
- FormComponent.prototype._getValidationErrorText = function (validationError) {
4077
- return "";
4078
- if (StringUtils.IsString(validationError)) {
4079
- // return this._dictionary.get(validationError);
4080
- }
4081
- else if (validationError.message) {
4082
- if (validationError.placeholder) {
4083
- // see e.g. maxStringLengthValidator, where we return this {message: string, placeholder: string} object shape as validation error obj
4084
- // return this._dictionary.get(validationError.message, true, validationError.placeholder);
4085
- }
4086
- else {
4087
- // return this._dictionary.get(validationError.message);
4088
- }
4089
- }
4090
- };
4091
4069
  FormComponent.prototype._setFirstInvalidElementOnMaster = function () {
4092
4070
  var elements = Array.from(this._componentMap);
4093
4071
  var len = elements.length;
@@ -4124,6 +4102,85 @@
4124
4102
  onEnterKey: [{ type: core.HostListener, args: ['keyup.enter', ['$event'],] }]
4125
4103
  };
4126
4104
 
4105
+ var DropDownListComponent = /** @class */ (function (_super) {
4106
+ __extends(DropDownListComponent, _super);
4107
+ function DropDownListComponent(formComponent, changeDetector, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef) {
4108
+ var _this = _super.call(this, changeDetector, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef) || this;
4109
+ _this.formComponent = formComponent;
4110
+ _this.changeDetector = changeDetector;
4111
+ _this.componentFactoryResolver = componentFactoryResolver;
4112
+ _this.formUserChangeListener = formUserChangeListener;
4113
+ _this.ngZoneWrapper = ngZoneWrapper;
4114
+ _this.elementRef = elementRef;
4115
+ /**
4116
+ * In the form { text: 'name', value: 'id' }
4117
+ * Where 'text' is showing in the dropdown and 'id' used for the model binding
4118
+ */
4119
+ _this.fields = {};
4120
+ _super.prototype._markAsOnPush.call(_this);
4121
+ return _this;
4122
+ }
4123
+ DropDownListComponent.prototype.showClass = function () {
4124
+ return true;
4125
+ };
4126
+ DropDownListComponent.prototype.handleValueChanged = function (value) {
4127
+ if (value !== this.model) {
4128
+ this.modelChange.next(value);
4129
+ }
4130
+ };
4131
+ return DropDownListComponent;
4132
+ }(BaseInputComponent));
4133
+ DropDownListComponent.decorators = [
4134
+ { type: core.Component, args: [{
4135
+ selector: "co-drop-down-list",
4136
+ template: "\n <ejs-dropdownlist\n [dataSource]=\"collection\"\n [value]=\"model\"\n [fields]=\"fields\"\n [placeholder]=\"placeholder\"\n [readonly]=\"readonly\"\n [itemTemplate]=\"itemTemplate\"\n [headerTemplate]=\"headerTemplate\"\n [valueTemplate]=\"valueTemplate\"\n [ngModel]=\"model\"\n (ngModelChange)=\"modelChange.emit($event)\"\n (valueChange)=\"handleValueChanged($event)\"\n showClearButton=\"true\"\n floatLabelType=\"Auto\"\n >\n </ejs-dropdownlist>\n <div class=\"required-indicator\"></div>\n <ng-template #validationError></ng-template>\n ",
4137
+ providers: [
4138
+ ej2AngularDropdowns.CheckBoxSelectionService,
4139
+ {
4140
+ provide: COMPONENT_INTERFACE_NAME,
4141
+ useExisting: core.forwardRef(function () { return DropDownListComponent; })
4142
+ }
4143
+ ],
4144
+ encapsulation: core.ViewEncapsulation.None
4145
+ },] }
4146
+ ];
4147
+ DropDownListComponent.ctorParameters = function () { return [
4148
+ { type: FormComponent, decorators: [{ type: core.Optional }] },
4149
+ { type: core.ChangeDetectorRef },
4150
+ { type: core.ComponentFactoryResolver },
4151
+ { type: FormInputUserModelChangeListenerService },
4152
+ { type: NgZoneWrapperService },
4153
+ { type: core.ElementRef }
4154
+ ]; };
4155
+ DropDownListComponent.propDecorators = {
4156
+ collection: [{ type: core.Input }],
4157
+ fields: [{ type: core.Input }],
4158
+ placeholder: [{ type: core.Input }],
4159
+ itemTemplate: [{ type: core.Input }],
4160
+ headerTemplate: [{ type: core.Input }],
4161
+ valueTemplate: [{ type: core.Input }],
4162
+ showClass: [{ type: core.HostBinding, args: ["class.co-drop-down-list",] }]
4163
+ };
4164
+
4165
+ var DropDownModule = /** @class */ (function () {
4166
+ function DropDownModule() {
4167
+ }
4168
+ return DropDownModule;
4169
+ }());
4170
+ DropDownModule.decorators = [
4171
+ { type: core.NgModule, args: [{
4172
+ imports: [
4173
+ BaseModule,
4174
+ common.CommonModule,
4175
+ ej2AngularDropdowns.DropDownListModule,
4176
+ ej2AngularDropdowns.MultiSelectModule,
4177
+ forms.FormsModule
4178
+ ],
4179
+ declarations: [DropDownListComponent],
4180
+ exports: [DropDownListComponent]
4181
+ },] }
4182
+ ];
4183
+
4127
4184
  var FormModule = /** @class */ (function () {
4128
4185
  function FormModule() {
4129
4186
  }
@@ -4518,9 +4575,15 @@
4518
4575
 
4519
4576
  var InputCheckboxComponent = /** @class */ (function (_super) {
4520
4577
  __extends(InputCheckboxComponent, _super);
4521
- function InputCheckboxComponent(formComponent, changeDetector, formUserChangeListener, ngZoneWrapper) {
4522
- var _this = _super.call(this, changeDetector, formUserChangeListener, ngZoneWrapper) || this;
4578
+ function InputCheckboxComponent(formComponent, iconCacheService, changeDetector, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef) {
4579
+ var _this = _super.call(this, changeDetector, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef) || this;
4523
4580
  _this.formComponent = formComponent;
4581
+ _this.iconCacheService = iconCacheService;
4582
+ _this.changeDetector = changeDetector;
4583
+ _this.componentFactoryResolver = componentFactoryResolver;
4584
+ _this.formUserChangeListener = formUserChangeListener;
4585
+ _this.ngZoneWrapper = ngZoneWrapper;
4586
+ _this.elementRef = elementRef;
4524
4587
  _this.modelChange = new core.EventEmitter();
4525
4588
  return _this;
4526
4589
  }
@@ -4552,9 +4615,12 @@
4552
4615
  ];
4553
4616
  InputCheckboxComponent.ctorParameters = function () { return [
4554
4617
  { type: FormComponent, decorators: [{ type: core.Optional }] },
4618
+ { type: IconCacheService },
4555
4619
  { type: core.ChangeDetectorRef },
4620
+ { type: core.ComponentFactoryResolver },
4556
4621
  { type: FormInputUserModelChangeListenerService },
4557
- { type: NgZoneWrapperService }
4622
+ { type: NgZoneWrapperService },
4623
+ { type: core.ElementRef }
4558
4624
  ]; };
4559
4625
  InputCheckboxComponent.propDecorators = {
4560
4626
  name: [{ type: core.Input }],
@@ -4620,10 +4686,11 @@
4620
4686
 
4621
4687
  var InputCheckboxMultiSelectComponent = /** @class */ (function (_super) {
4622
4688
  __extends(InputCheckboxMultiSelectComponent, _super);
4623
- function InputCheckboxMultiSelectComponent(formComponent, changeDetector, formUserChangeListener, ngZoneWrapper, elementRef) {
4624
- var _this = _super.call(this, changeDetector, formUserChangeListener, ngZoneWrapper, elementRef) || this;
4689
+ function InputCheckboxMultiSelectComponent(formComponent, changeDetector, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef) {
4690
+ var _this = _super.call(this, changeDetector, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef) || this;
4625
4691
  _this.formComponent = formComponent;
4626
4692
  _this.changeDetector = changeDetector;
4693
+ _this.componentFactoryResolver = componentFactoryResolver;
4627
4694
  _this.formUserChangeListener = formUserChangeListener;
4628
4695
  _this.ngZoneWrapper = ngZoneWrapper;
4629
4696
  _this.elementRef = elementRef;
@@ -4633,16 +4700,6 @@
4633
4700
  InputCheckboxMultiSelectComponent.prototype.showClass = function () {
4634
4701
  return true;
4635
4702
  };
4636
- InputCheckboxMultiSelectComponent.prototype.ngOnDestroy = function () {
4637
- this.elementRef = undefined;
4638
- _super.prototype.ngOnDestroy.call(this);
4639
- };
4640
- InputCheckboxMultiSelectComponent.prototype.ngOnInit = function () {
4641
- _super.prototype.ngOnInit.call(this);
4642
- };
4643
- InputCheckboxMultiSelectComponent.prototype.ngAfterViewInit = function () {
4644
- _super.prototype.ngAfterViewInit.call(this);
4645
- };
4646
4703
  return InputCheckboxMultiSelectComponent;
4647
4704
  }(BaseInputComponent));
4648
4705
  InputCheckboxMultiSelectComponent.decorators = [
@@ -4660,6 +4717,7 @@
4660
4717
  InputCheckboxMultiSelectComponent.ctorParameters = function () { return [
4661
4718
  { type: FormComponent, decorators: [{ type: core.Optional }] },
4662
4719
  { type: core.ChangeDetectorRef },
4720
+ { type: core.ComponentFactoryResolver },
4663
4721
  { type: FormInputUserModelChangeListenerService },
4664
4722
  { type: NgZoneWrapperService },
4665
4723
  { type: core.ElementRef }
@@ -4695,30 +4753,22 @@
4695
4753
 
4696
4754
  var InputComboBoxComponent = /** @class */ (function (_super) {
4697
4755
  __extends(InputComboBoxComponent, _super);
4698
- function InputComboBoxComponent(formComponent, changeDetector, formUserChangeListener, ngZoneWrapper, elementRef) {
4699
- var _this = _super.call(this, changeDetector, formUserChangeListener, ngZoneWrapper, elementRef) || this;
4756
+ function InputComboBoxComponent(formComponent, changeDetector, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef) {
4757
+ var _this = _super.call(this, changeDetector, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef) || this;
4700
4758
  _this.formComponent = formComponent;
4701
4759
  _this.changeDetector = changeDetector;
4760
+ _this.componentFactoryResolver = componentFactoryResolver;
4702
4761
  _this.formUserChangeListener = formUserChangeListener;
4703
4762
  _this.ngZoneWrapper = ngZoneWrapper;
4704
4763
  _this.elementRef = elementRef;
4705
4764
  _this.shopPopup = true;
4765
+ _this.customHeight = true;
4706
4766
  _super.prototype._markAsOnPush.call(_this);
4707
4767
  return _this;
4708
4768
  }
4709
4769
  InputComboBoxComponent.prototype.showClass = function () {
4710
4770
  return true;
4711
4771
  };
4712
- InputComboBoxComponent.prototype.ngOnDestroy = function () {
4713
- this.elementRef = undefined;
4714
- _super.prototype.ngOnDestroy.call(this);
4715
- };
4716
- InputComboBoxComponent.prototype.ngOnInit = function () {
4717
- _super.prototype.ngOnInit.call(this);
4718
- };
4719
- InputComboBoxComponent.prototype.ngAfterViewInit = function () {
4720
- _super.prototype.ngAfterViewInit.call(this);
4721
- };
4722
4772
  InputComboBoxComponent.prototype.onFocus = function () {
4723
4773
  if (this.shopPopup && this.model === undefined) {
4724
4774
  this.combo.showPopup();
@@ -4729,30 +4779,31 @@
4729
4779
  InputComboBoxComponent.decorators = [
4730
4780
  { type: core.Component, args: [{
4731
4781
  selector: "co-input-combo-box",
4732
- template: "\n <ejs-combobox #combo [dataSource]=\"source\"\n [fields]=\"fields\"\n [placeholder]=\"placeholder\"\n [autofill]=\"true\"\n [ngModel]=\"model\"\n (ngModelChange)=\"modelChange.emit($event)\"\n (focus)=\"onFocus()\"\n showClearButton=\"true\"\n floatLabelType=\"Auto\"\n >\n </ejs-combobox>\n ",
4782
+ template: "\n <ejs-combobox #combo [dataSource]=\"collection\"\n [fields]=\"fields\"\n [placeholder]=\"placeholder\"\n [autofill]=\"true\"\n [ngModel]=\"model\"\n (ngModelChange)=\"modelChange.emit($event)\"\n (focus)=\"onFocus()\"\n showClearButton=\"true\"\n floatLabelType=\"Auto\"\n >\n </ejs-combobox>\n <div class=\"required-indicator\"></div>\n <ng-template #validationError></ng-template>\n ",
4733
4783
  providers: [{
4734
4784
  provide: COMPONENT_INTERFACE_NAME,
4735
4785
  useExisting: core.forwardRef(function () { return InputComboBoxComponent; })
4736
4786
  }],
4737
- changeDetection: core.ChangeDetectionStrategy.OnPush,
4738
4787
  encapsulation: core.ViewEncapsulation.None
4739
4788
  },] }
4740
4789
  ];
4741
4790
  InputComboBoxComponent.ctorParameters = function () { return [
4742
4791
  { type: FormComponent, decorators: [{ type: core.Optional }] },
4743
4792
  { type: core.ChangeDetectorRef },
4793
+ { type: core.ComponentFactoryResolver },
4744
4794
  { type: FormInputUserModelChangeListenerService },
4745
4795
  { type: NgZoneWrapperService },
4746
4796
  { type: core.ElementRef }
4747
4797
  ]; };
4748
4798
  InputComboBoxComponent.propDecorators = {
4749
4799
  combo: [{ type: core.ViewChild, args: ["combo",] }],
4750
- source: [{ type: core.Input }],
4800
+ collection: [{ type: core.Input }],
4751
4801
  fields: [{ type: core.Input }],
4752
4802
  selected: [{ type: core.Input }],
4753
4803
  placeholder: [{ type: core.Input }],
4754
4804
  shopPopup: [{ type: core.Input }],
4755
- showClass: [{ type: core.HostBinding, args: ["class.co-input-combo-box",] }]
4805
+ showClass: [{ type: core.HostBinding, args: ["class.co-input-combo-box",] }],
4806
+ customHeight: [{ type: core.HostBinding, args: ["class.custom-height",] }]
4756
4807
  };
4757
4808
 
4758
4809
  var InputComboBoxModule = /** @class */ (function () {
@@ -4777,11 +4828,12 @@
4777
4828
 
4778
4829
  var InputDatePickerComponent = /** @class */ (function (_super) {
4779
4830
  __extends(InputDatePickerComponent, _super);
4780
- function InputDatePickerComponent(iconCacheService, formComponent, changeDetector, formUserChangeListener, ngZoneWrapper, elementRef) {
4781
- var _this = _super.call(this, changeDetector, formUserChangeListener, ngZoneWrapper, elementRef) || this;
4782
- _this.iconCacheService = iconCacheService;
4831
+ function InputDatePickerComponent(formComponent, iconCacheService, changeDetector, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef) {
4832
+ var _this = _super.call(this, changeDetector, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef) || this;
4783
4833
  _this.formComponent = formComponent;
4834
+ _this.iconCacheService = iconCacheService;
4784
4835
  _this.changeDetector = changeDetector;
4836
+ _this.componentFactoryResolver = componentFactoryResolver;
4785
4837
  _this.formUserChangeListener = formUserChangeListener;
4786
4838
  _this.ngZoneWrapper = ngZoneWrapper;
4787
4839
  _this.elementRef = elementRef;
@@ -4830,18 +4882,18 @@
4830
4882
  InputDatePickerComponent.decorators = [
4831
4883
  { type: core.Component, args: [{
4832
4884
  selector: "co-input-date",
4833
- template: "\n <ejs-datepicker #ejsDatePicker\n floatLabelType=\"Auto\"\n [format]=\"dateFormat\"\n [placeholder]=\"placeholder\"\n [ngModel]=\"model\"\n (ngModelChange)=\"modelChange.emit($event)\"\n ></ejs-datepicker>\n ",
4885
+ template: "\n <ejs-datepicker #ejsDatePicker\n floatLabelType=\"Auto\"\n [format]=\"dateFormat\"\n [placeholder]=\"placeholder\"\n [ngModel]=\"model\"\n (ngModelChange)=\"modelChange.emit($event)\"\n ></ejs-datepicker>\n <div class=\"required-indicator\"></div>\n <ng-template #validationError></ng-template>\n ",
4834
4886
  providers: [{
4835
4887
  provide: COMPONENT_INTERFACE_NAME, useExisting: core.forwardRef(function () { return InputDatePickerComponent; })
4836
4888
  }],
4837
- changeDetection: core.ChangeDetectionStrategy.OnPush,
4838
4889
  encapsulation: core.ViewEncapsulation.None
4839
4890
  },] }
4840
4891
  ];
4841
4892
  InputDatePickerComponent.ctorParameters = function () { return [
4842
- { type: IconCacheService },
4843
4893
  { type: FormComponent, decorators: [{ type: core.Optional }] },
4894
+ { type: IconCacheService },
4844
4895
  { type: core.ChangeDetectorRef },
4896
+ { type: core.ComponentFactoryResolver },
4845
4897
  { type: FormInputUserModelChangeListenerService },
4846
4898
  { type: NgZoneWrapperService },
4847
4899
  { type: core.ElementRef }
@@ -5210,122 +5262,56 @@
5210
5262
  KeyboardCode.NumpadNine
5211
5263
  ];
5212
5264
 
5213
- var InputTextType;
5214
- (function (InputTextType) {
5215
- InputTextType["Text"] = "text";
5216
- InputTextType["Email"] = "email";
5217
- })(InputTextType || (InputTextType = {}));
5218
-
5219
- var FloatLabelTypeEnum;
5220
- (function (FloatLabelTypeEnum) {
5221
- FloatLabelTypeEnum["Never"] = "Never";
5222
- FloatLabelTypeEnum["Always"] = "Always";
5223
- FloatLabelTypeEnum["Auto"] = "Auto";
5224
- })(FloatLabelTypeEnum || (FloatLabelTypeEnum = {}));
5225
-
5226
5265
  var InputTextComponent = /** @class */ (function (_super) {
5227
5266
  __extends(InputTextComponent, _super);
5228
- function InputTextComponent(formComponent, changeDetector, formUserChangeListener, ngZoneWrapper, elementRef) {
5229
- var _this = _super.call(this, changeDetector, formUserChangeListener, ngZoneWrapper, elementRef) || this;
5267
+ function InputTextComponent(formComponent, changeDetector, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef) {
5268
+ var _this = _super.call(this, changeDetector, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef) || this;
5230
5269
  _this.formComponent = formComponent;
5231
5270
  _this.changeDetector = changeDetector;
5271
+ _this.componentFactoryResolver = componentFactoryResolver;
5232
5272
  _this.formUserChangeListener = formUserChangeListener;
5233
5273
  _this.ngZoneWrapper = ngZoneWrapper;
5234
5274
  _this.elementRef = elementRef;
5235
- _this.floatLabelType = FloatLabelTypeEnum.Auto;
5275
+ _this.Icons = exports.CoreComponentsIcon;
5236
5276
  _this.placeholder = "";
5237
5277
  _this.type = "text";
5238
5278
  _this.showClearButton = undefined;
5239
- _this.alwaysShowClearIcon = false;
5240
- _this.alwaysShowClearIconOnFocus = false;
5241
- _this.noEmailValidation = false;
5242
- _this.extraIconOnFocusOnly = false;
5243
- _this.inputType = InputTextType.Text;
5244
- _this.blur = new core.EventEmitter();
5245
- _this.inputClick = new core.EventEmitter();
5246
- _this.extraIconClick = new core.EventEmitter();
5247
- _this.clearIconClick = new core.EventEmitter();
5248
- _this.validEmailClick = false;
5249
- _this.Icons = exports.CoreComponentsIcon;
5279
+ _this.hasOwnLabel = true;
5250
5280
  _super.prototype._markAsOnPush.call(_this);
5251
5281
  return _this;
5252
5282
  }
5253
5283
  InputTextComponent.prototype.showClass = function () {
5254
5284
  return true;
5255
5285
  };
5256
- InputTextComponent.prototype.ngOnDestroy = function () {
5257
- this.elementRef = undefined;
5258
- _super.prototype.ngOnDestroy.call(this);
5259
- };
5260
- InputTextComponent.prototype.ngOnInit = function () {
5261
- _super.prototype.ngOnInit.call(this);
5262
- };
5263
- InputTextComponent.prototype.ngAfterViewInit = function () {
5264
- if (this.textBox) {
5265
- this.changeDetector.detectChanges();
5266
- }
5267
- _super.prototype.ngAfterViewInit.call(this);
5268
- };
5269
- InputTextComponent.prototype.setSelectionRange = function (range) {
5270
- if (range && this.input) {
5271
- this.input.setSelectionRange(range.lowerBound, range.upperBound);
5272
- }
5273
- };
5274
5286
  return InputTextComponent;
5275
5287
  }(BaseInputComponent));
5276
5288
  InputTextComponent.decorators = [
5277
5289
  { type: core.Component, args: [{
5278
- selector: "co-input-text, co-input-email, co-input-wizard",
5279
- template: "\n <ejs-textbox [floatLabelType]=\"floatLabelType\"\n [placeholder]=\"placeholder\"\n [type]=\"type\"\n [readonly]=\"readonly\"\n [ngModel]=\"model\"\n [cssClass]=\"cssClass\"\n (ngModelChange)=\"modelChange.emit($event)\"\n [showClearButton]=\"showClearButton\"\n (blur)=\"this.blur.emit()\"\n (input)=\"this.inputClick.emit()\"\n ></ejs-textbox>\n <ng-content></ng-content>\n ",
5290
+ selector: "co-input-text",
5291
+ template: "\n <label [textContent]=\"placeholder\"></label>\n <input [type]=\"type\"\n [ngModel]=\"model\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n (ngModelChange)=\"modelChange.emit($event)\"\n (focus)=\"focused = true\"\n (blur)=\"focused = false\"\n >\n <div class=\"required-indicator\"></div>\n <ng-template #validationError></ng-template>\n ",
5280
5292
  providers: [{
5281
5293
  provide: COMPONENT_INTERFACE_NAME,
5282
5294
  useExisting: core.forwardRef(function () { return InputTextComponent; })
5283
5295
  }],
5284
- changeDetection: core.ChangeDetectionStrategy.OnPush,
5285
5296
  encapsulation: core.ViewEncapsulation.None
5286
5297
  },] }
5287
5298
  ];
5288
5299
  InputTextComponent.ctorParameters = function () { return [
5289
5300
  { type: FormComponent, decorators: [{ type: core.Optional }] },
5290
5301
  { type: core.ChangeDetectorRef },
5302
+ { type: core.ComponentFactoryResolver },
5291
5303
  { type: FormInputUserModelChangeListenerService },
5292
5304
  { type: NgZoneWrapperService },
5293
5305
  { type: core.ElementRef }
5294
5306
  ]; };
5295
5307
  InputTextComponent.propDecorators = {
5296
- textBox: [{ type: core.ViewChild, args: [ej2AngularInputs.TextBoxComponent,] }],
5297
- floatLabelType: [{ type: core.Input }],
5298
5308
  placeholder: [{ type: core.Input }],
5299
5309
  type: [{ type: core.Input }],
5300
5310
  showClearButton: [{ type: core.Input }],
5301
- cssClass: [{ type: core.Input }],
5302
- alwaysShowClearIcon: [{ type: core.Input }],
5303
- alwaysShowClearIconOnFocus: [{ type: core.Input }],
5304
- noEmailValidation: [{ type: core.Input }],
5305
- extraIcon: [{ type: core.Input }],
5306
- extraIconOnFocusOnly: [{ type: core.Input }],
5307
5311
  keyDownWhiteList: [{ type: core.Input }],
5308
- extraIconClass: [{ type: core.Input }],
5309
- inputType: [{ type: core.Input }],
5310
- ngModelOptions: [{ type: core.Input }],
5311
- blur: [{ type: core.Output }],
5312
- inputClick: [{ type: core.Output }],
5313
- extraIconClick: [{ type: core.Output }],
5314
- clearIconClick: [{ type: core.Output }],
5315
- showClass: [{ type: core.HostBinding, args: ["class.co-input-text",] }]
5316
- };
5317
- __decorate([
5318
- InputBoolean()
5319
- ], InputTextComponent.prototype, "alwaysShowClearIcon", void 0);
5320
- __decorate([
5321
- InputBoolean()
5322
- ], InputTextComponent.prototype, "alwaysShowClearIconOnFocus", void 0);
5323
- __decorate([
5324
- InputBoolean()
5325
- ], InputTextComponent.prototype, "noEmailValidation", void 0);
5326
- __decorate([
5327
- InputBoolean()
5328
- ], InputTextComponent.prototype, "extraIconOnFocusOnly", void 0);
5312
+ showClass: [{ type: core.HostBinding, args: ["class.co-input-text",] }],
5313
+ hasOwnLabel: [{ type: core.HostBinding, args: ["class.has-own-label",] }]
5314
+ };
5329
5315
 
5330
5316
  // Input values for 'buttonShowMode' of NumberPickerComponent.
5331
5317
  var InputNumberPickerButtonShowMode;
@@ -5338,12 +5324,12 @@
5338
5324
  // A component that lets users pick a number by increasing and decreasing it with buttons, or by typing.
5339
5325
  var InputNumberPickerComponent = /** @class */ (function (_super) {
5340
5326
  __extends(InputNumberPickerComponent, _super);
5341
- function InputNumberPickerComponent(iconCacheService, _ngZone, changeDetector, formUserChangeListener) {
5342
- var _this = _super.call(this, changeDetector, formUserChangeListener) || this;
5327
+ function InputNumberPickerComponent(formComponent, iconCacheService, _ngZone, componentFactoryResolver, changeDetector, formUserChangeListener) {
5328
+ var _this = _super.call(this, changeDetector, componentFactoryResolver, formUserChangeListener) || this;
5329
+ _this.formComponent = formComponent;
5343
5330
  _this.iconCacheService = iconCacheService;
5344
5331
  _this._ngZone = _ngZone;
5345
- _this.floatLabelType = FloatLabelTypeEnum.Never;
5346
- _this.cssClass = "e-outline";
5332
+ _this.componentFactoryResolver = componentFactoryResolver;
5347
5333
  _this.minusIcon = exports.CoreComponentsIcon.MinusSimple;
5348
5334
  _this.plusIcon = exports.CoreComponentsIcon.PlusSimple;
5349
5335
  // Whether to show buttons 'always', 'onFocusOnly', or 'never'
@@ -5596,14 +5582,14 @@
5596
5582
  },] }
5597
5583
  ];
5598
5584
  InputNumberPickerComponent.ctorParameters = function () { return [
5585
+ { type: FormComponent, decorators: [{ type: core.Optional }] },
5599
5586
  { type: IconCacheService, decorators: [{ type: core.Inject, args: [IconCacheService,] }] },
5600
5587
  { type: core.NgZone },
5588
+ { type: core.ComponentFactoryResolver },
5601
5589
  { type: core.ChangeDetectorRef },
5602
5590
  { type: FormInputUserModelChangeListenerService }
5603
5591
  ]; };
5604
5592
  InputNumberPickerComponent.propDecorators = {
5605
- floatLabelType: [{ type: core.Input }],
5606
- cssClass: [{ type: core.Input }],
5607
5593
  model: [{ type: core.Input }],
5608
5594
  min: [{ type: core.Input }],
5609
5595
  step: [{ type: core.Input }],
@@ -5624,6 +5610,25 @@
5624
5610
  InputBoolean()
5625
5611
  ], InputNumberPickerComponent.prototype, "noValidation", void 0);
5626
5612
 
5613
+ var ValidationErrorModule = /** @class */ (function () {
5614
+ function ValidationErrorModule() {
5615
+ }
5616
+ return ValidationErrorModule;
5617
+ }());
5618
+ ValidationErrorModule.decorators = [
5619
+ { type: core.NgModule, args: [{
5620
+ imports: [
5621
+ common.CommonModule
5622
+ ],
5623
+ declarations: [
5624
+ ValidationErrorComponent
5625
+ ],
5626
+ exports: [
5627
+ ValidationErrorComponent
5628
+ ]
5629
+ },] }
5630
+ ];
5631
+
5627
5632
  var InputTextModule = /** @class */ (function () {
5628
5633
  function InputTextModule() {
5629
5634
  }
@@ -5638,13 +5643,15 @@
5638
5643
  IconModule,
5639
5644
  AppendPipeModule,
5640
5645
  ej2AngularInputs.TextBoxAllModule,
5641
- ej2AngularInputs.NumericTextBoxModule
5646
+ ej2AngularInputs.NumericTextBoxModule,
5647
+ ValidationErrorModule
5642
5648
  ],
5643
- schemas: [
5644
- core.NO_ERRORS_SCHEMA
5649
+ declarations: [
5650
+ InputTextComponent
5645
5651
  ],
5646
- declarations: [InputTextComponent],
5647
- exports: [InputTextComponent]
5652
+ exports: [
5653
+ InputTextComponent
5654
+ ]
5648
5655
  },] }
5649
5656
  ];
5650
5657
 
@@ -5668,9 +5675,15 @@
5668
5675
 
5669
5676
  var InputRadioButtonComponent = /** @class */ (function (_super) {
5670
5677
  __extends(InputRadioButtonComponent, _super);
5671
- function InputRadioButtonComponent(formComponent, changeDetector, formUserChangeListener, ngZoneWrapper) {
5672
- var _this = _super.call(this, changeDetector, formUserChangeListener, ngZoneWrapper) || this;
5678
+ function InputRadioButtonComponent(formComponent, changeDetector, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef) {
5679
+ var _this = _super.call(this, changeDetector, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef) || this;
5673
5680
  _this.formComponent = formComponent;
5681
+ _this.changeDetector = changeDetector;
5682
+ _this.componentFactoryResolver = componentFactoryResolver;
5683
+ _this.formUserChangeListener = formUserChangeListener;
5684
+ _this.ngZoneWrapper = ngZoneWrapper;
5685
+ _this.elementRef = elementRef;
5686
+ _super.prototype._markAsOnPush.call(_this);
5674
5687
  return _this;
5675
5688
  }
5676
5689
  InputRadioButtonComponent.prototype.showClass = function () {
@@ -5696,8 +5709,10 @@
5696
5709
  InputRadioButtonComponent.ctorParameters = function () { return [
5697
5710
  { type: FormComponent, decorators: [{ type: core.Optional }] },
5698
5711
  { type: core.ChangeDetectorRef },
5712
+ { type: core.ComponentFactoryResolver },
5699
5713
  { type: FormInputUserModelChangeListenerService },
5700
- { type: NgZoneWrapperService }
5714
+ { type: NgZoneWrapperService },
5715
+ { type: core.ElementRef }
5701
5716
  ]; };
5702
5717
  InputRadioButtonComponent.propDecorators = {
5703
5718
  value: [{ type: core.Input }],
@@ -5726,10 +5741,84 @@
5726
5741
  },] }
5727
5742
  ];
5728
5743
 
5744
+ var InputTextareaComponent = /** @class */ (function (_super) {
5745
+ __extends(InputTextareaComponent, _super);
5746
+ function InputTextareaComponent(formComponent, changeDetector, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef) {
5747
+ var _this = _super.call(this, changeDetector, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef) || this;
5748
+ _this.formComponent = formComponent;
5749
+ _this.changeDetector = changeDetector;
5750
+ _this.componentFactoryResolver = componentFactoryResolver;
5751
+ _this.formUserChangeListener = formUserChangeListener;
5752
+ _this.ngZoneWrapper = ngZoneWrapper;
5753
+ _this.elementRef = elementRef;
5754
+ _this.placeholder = "";
5755
+ _this.hasOwnLabel = true;
5756
+ _this.customHeight = true;
5757
+ _super.prototype._markAsOnPush.call(_this);
5758
+ return _this;
5759
+ }
5760
+ InputTextareaComponent.prototype.showClass = function () {
5761
+ return true;
5762
+ };
5763
+ return InputTextareaComponent;
5764
+ }(BaseInputComponent));
5765
+ InputTextareaComponent.decorators = [
5766
+ { type: core.Component, args: [{
5767
+ selector: "co-input-textarea",
5768
+ template: "\n <label [textContent]=\"placeholder\"></label>\n <textarea type=\"textarea\"\n [ngModel]=\"model\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n (ngModelChange)=\"modelChange.emit($event)\"\n (focus)=\"focused = true\"\n (blur)=\"focused = false\"\n ></textarea>\n <div class=\"required-indicator\"></div>\n <ng-template #validationError></ng-template>\n ",
5769
+ providers: [{
5770
+ provide: COMPONENT_INTERFACE_NAME,
5771
+ useExisting: core.forwardRef(function () { return InputTextareaComponent; })
5772
+ }],
5773
+ encapsulation: core.ViewEncapsulation.None
5774
+ },] }
5775
+ ];
5776
+ InputTextareaComponent.ctorParameters = function () { return [
5777
+ { type: FormComponent, decorators: [{ type: core.Optional }] },
5778
+ { type: core.ChangeDetectorRef },
5779
+ { type: core.ComponentFactoryResolver },
5780
+ { type: FormInputUserModelChangeListenerService },
5781
+ { type: NgZoneWrapperService },
5782
+ { type: core.ElementRef }
5783
+ ]; };
5784
+ InputTextareaComponent.propDecorators = {
5785
+ placeholder: [{ type: core.Input }],
5786
+ showClass: [{ type: core.HostBinding, args: ["class.co-input-textarea",] }],
5787
+ hasOwnLabel: [{ type: core.HostBinding, args: ["class.has-own-label",] }],
5788
+ customHeight: [{ type: core.HostBinding, args: ['class.custom-height',] }]
5789
+ };
5790
+
5791
+ var InputTextareaModule = /** @class */ (function () {
5792
+ function InputTextareaModule() {
5793
+ }
5794
+ return InputTextareaModule;
5795
+ }());
5796
+ InputTextareaModule.decorators = [
5797
+ { type: core.NgModule, args: [{
5798
+ imports: [
5799
+ common.CommonModule,
5800
+ forms.FormsModule,
5801
+ ValidationErrorModule
5802
+ ],
5803
+ declarations: [
5804
+ InputTextareaComponent
5805
+ ],
5806
+ exports: [
5807
+ InputTextareaComponent
5808
+ ]
5809
+ },] }
5810
+ ];
5811
+
5729
5812
  var MultiSelectListComponent = /** @class */ (function (_super) {
5730
5813
  __extends(MultiSelectListComponent, _super);
5731
- function MultiSelectListComponent() {
5732
- var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
5814
+ function MultiSelectListComponent(formComponent, changeDetector, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef) {
5815
+ var _this = _super.call(this, changeDetector, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef) || this;
5816
+ _this.formComponent = formComponent;
5817
+ _this.changeDetector = changeDetector;
5818
+ _this.componentFactoryResolver = componentFactoryResolver;
5819
+ _this.formUserChangeListener = formUserChangeListener;
5820
+ _this.ngZoneWrapper = ngZoneWrapper;
5821
+ _this.elementRef = elementRef;
5733
5822
  /**
5734
5823
  * In the form { text: 'name', value: 'id' }
5735
5824
  * Where 'text' is showing in the dropdown and 'id' used for the model binding
@@ -5737,6 +5826,7 @@
5737
5826
  _this.fields = {};
5738
5827
  _this.showSelectAll = true;
5739
5828
  _this.mode = "Default";
5829
+ _super.prototype._markAsOnPush.call(_this);
5740
5830
  return _this;
5741
5831
  }
5742
5832
  Object.defineProperty(MultiSelectListComponent.prototype, "showCheckbox", {
@@ -5751,12 +5841,20 @@
5751
5841
  MultiSelectListComponent.prototype.showClass = function () {
5752
5842
  return true;
5753
5843
  };
5844
+ MultiSelectListComponent.prototype.handleModelChange = function (val) {
5845
+ if (Array.isArray(val)) {
5846
+ if (val.length < 1) {
5847
+ val = undefined;
5848
+ }
5849
+ }
5850
+ this.modelChange.next(val);
5851
+ };
5754
5852
  return MultiSelectListComponent;
5755
5853
  }(BaseInputComponent));
5756
5854
  MultiSelectListComponent.decorators = [
5757
5855
  { type: core.Component, args: [{
5758
5856
  selector: "co-multi-select-list",
5759
- template: "\n <ejs-multiselect\n [dataSource]=\"collection\"\n [placeholder]=\"placeHolder\"\n [value]=\"model\"\n [mode]=\"mode\"\n [cssClass]=\"'co-multi-select-list'\"\n [fields]=\"fields\"\n [readonly]=\"readonly\"\n [itemTemplate]=\"itemTemplate\"\n [headerTemplate]=\"headerTemplate\"\n [valueTemplate]=\"valueTemplate\"\n [footerTemplate]=\"footerTemplate\"\n [selectAllText]=\"'Select All'\"\n [showSelectAll]=showSelectAll\n (valueChange)=\"modelChange.emit($event)\"\n ></ejs-multiselect>\n ",
5857
+ template: "\n <ejs-multiselect\n [dataSource]=\"collection\"\n [placeholder]=\"placeholder\"\n [value]=\"model\"\n [mode]=\"mode\"\n [fields]=\"fields\"\n [readonly]=\"readonly\"\n [itemTemplate]=\"itemTemplate\"\n [headerTemplate]=\"headerTemplate\"\n [valueTemplate]=\"valueTemplate\"\n [footerTemplate]=\"footerTemplate\"\n [selectAllText]=\"'Select All'\"\n [showSelectAll]=showSelectAll\n [ngModel]=\"model\"\n (ngModelChange)=\"handleModelChange($event)\"\n (valueChange)=\"handleModelChange($event)\"\n ></ejs-multiselect>\n <div class=\"required-indicator\"></div>\n <ng-template #validationError></ng-template>\n ",
5760
5858
  providers: [
5761
5859
  ej2AngularDropdowns.CheckBoxSelectionService,
5762
5860
  {
@@ -5764,14 +5862,21 @@
5764
5862
  useExisting: core.forwardRef(function () { return MultiSelectListComponent; })
5765
5863
  }
5766
5864
  ],
5767
- changeDetection: core.ChangeDetectionStrategy.OnPush,
5768
5865
  encapsulation: core.ViewEncapsulation.None
5769
5866
  },] }
5770
5867
  ];
5868
+ MultiSelectListComponent.ctorParameters = function () { return [
5869
+ { type: FormComponent, decorators: [{ type: core.Optional }] },
5870
+ { type: core.ChangeDetectorRef },
5871
+ { type: core.ComponentFactoryResolver },
5872
+ { type: FormInputUserModelChangeListenerService },
5873
+ { type: NgZoneWrapperService },
5874
+ { type: core.ElementRef }
5875
+ ]; };
5771
5876
  MultiSelectListComponent.propDecorators = {
5772
5877
  collection: [{ type: core.Input }],
5773
5878
  fields: [{ type: core.Input }],
5774
- placeHolder: [{ type: core.Input }],
5879
+ placeholder: [{ type: core.Input }],
5775
5880
  itemTemplate: [{ type: core.Input }],
5776
5881
  headerTemplate: [{ type: core.Input }],
5777
5882
  valueTemplate: [{ type: core.Input }],
@@ -5791,7 +5896,8 @@
5791
5896
  imports: [
5792
5897
  BaseModule,
5793
5898
  common.CommonModule,
5794
- ej2AngularDropdowns.MultiSelectModule
5899
+ ej2AngularDropdowns.MultiSelectModule,
5900
+ forms.FormsModule
5795
5901
  ],
5796
5902
  declarations: [MultiSelectListComponent],
5797
5903
  exports: [MultiSelectListComponent]
@@ -7283,13 +7389,21 @@
7283
7389
  ej2AngularDropdowns.ListBoxComponent.Inject(ej2AngularDropdowns.CheckBoxSelection);
7284
7390
  var InputListboxComponent = /** @class */ (function (_super) {
7285
7391
  __extends(InputListboxComponent, _super);
7286
- function InputListboxComponent() {
7287
- var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
7392
+ function InputListboxComponent(formComponent, changeDetector, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef) {
7393
+ var _this = _super.call(this, changeDetector, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef) || this;
7394
+ _this.formComponent = formComponent;
7395
+ _this.changeDetector = changeDetector;
7396
+ _this.componentFactoryResolver = componentFactoryResolver;
7397
+ _this.formUserChangeListener = formUserChangeListener;
7398
+ _this.ngZoneWrapper = ngZoneWrapper;
7399
+ _this.elementRef = elementRef;
7288
7400
  // public set model(value: string[] | number[]) {
7289
7401
  // this._model = value;
7290
7402
  // }
7291
7403
  _this.collection = [];
7404
+ _this.customHeight = true;
7292
7405
  _this.selectionSettings = { mode: 'Multiple' };
7406
+ _super.prototype._markAsOnPush.call(_this);
7293
7407
  return _this;
7294
7408
  }
7295
7409
  Object.defineProperty(InputListboxComponent.prototype, "singleSelect", {
@@ -7327,14 +7441,21 @@
7327
7441
  InputListboxComponent.decorators = [
7328
7442
  { type: core.Component, args: [{
7329
7443
  selector: 'co-input-listbox',
7330
- template: "\n <div class=\"co-input-listbox-header\" [textContent]=\"placeholder\"></div>\n <div class=\"co-input-listbox-content\">\n <ejs-listbox\n [ngModel]=\"value\"\n [dataSource]=\"collection\"\n [fields]=\"fields\"\n [selectionSettings]=\"selectionSettings\"\n (ngModelChange)=\"modelChange.emit($event)\"\n ></ejs-listbox>\n </div>\n ",
7444
+ template: "\n <div class=\"co-input-listbox-header\" [textContent]=\"placeholder\"></div>\n <div class=\"co-input-listbox-content\">\n <ejs-listbox\n [ngModel]=\"value\"\n [dataSource]=\"collection\"\n [fields]=\"fields\"\n [selectionSettings]=\"selectionSettings\"\n (ngModelChange)=\"modelChange.emit($event)\"\n ></ejs-listbox>\n </div>\n <div class=\"required-indicator\"></div>\n <ng-template #validationError></ng-template>\n ",
7331
7445
  providers: [{
7332
7446
  provide: COMPONENT_INTERFACE_NAME, useExisting: core.forwardRef(function () { return InputListboxComponent; })
7333
7447
  }],
7334
- changeDetection: core.ChangeDetectionStrategy.OnPush,
7335
7448
  encapsulation: core.ViewEncapsulation.None
7336
7449
  },] }
7337
7450
  ];
7451
+ InputListboxComponent.ctorParameters = function () { return [
7452
+ { type: FormComponent, decorators: [{ type: core.Optional }] },
7453
+ { type: core.ChangeDetectorRef },
7454
+ { type: core.ComponentFactoryResolver },
7455
+ { type: FormInputUserModelChangeListenerService },
7456
+ { type: NgZoneWrapperService },
7457
+ { type: core.ElementRef }
7458
+ ]; };
7338
7459
  InputListboxComponent.propDecorators = {
7339
7460
  placeholder: [{ type: core.Input }],
7340
7461
  value: [{ type: core.Input }],
@@ -7343,7 +7464,8 @@
7343
7464
  singleSelect: [{ type: core.Input }],
7344
7465
  showCheckbox: [{ type: core.Input }],
7345
7466
  showSelectAll: [{ type: core.Input }],
7346
- showClass: [{ type: core.HostBinding, args: ['class.co-input-listbox',] }]
7467
+ showClass: [{ type: core.HostBinding, args: ['class.co-input-listbox',] }],
7468
+ customHeight: [{ type: core.HostBinding, args: ['class.custom-height',] }]
7347
7469
  };
7348
7470
 
7349
7471
  ej2Base.enableRipple(true);
@@ -7510,6 +7632,377 @@
7510
7632
  },] }
7511
7633
  ];
7512
7634
 
7635
+ var CarouselItem = /** @class */ (function () {
7636
+ function CarouselItem(options, index, onClick) {
7637
+ var _this = this;
7638
+ var _a, _b;
7639
+ this._options = options || {};
7640
+ this.index = index;
7641
+ var width = ((_a = this._options.tileSize) === null || _a === void 0 ? void 0 : _a.x) || 0;
7642
+ var height = ((_b = this._options.tileSize) === null || _b === void 0 ? void 0 : _b.y) || 0;
7643
+ this._element = document.createElement('div');
7644
+ // this._element.style.backgroundColor = this._options.tileBackgroundColor;
7645
+ this._element.style.width = width + "px";
7646
+ this._element.style.height = height + "px";
7647
+ this._element.addEventListener("click", function () {
7648
+ if (onClick) {
7649
+ onClick(_this.index);
7650
+ }
7651
+ }, false);
7652
+ this.object = new CSS3DRenderer.CSS3DObject(this._element);
7653
+ var geometry = new three.PlaneBufferGeometry(width, height);
7654
+ this.mesh = new three.Mesh(geometry, options.tileMaterial);
7655
+ this.mesh.castShadow = true;
7656
+ }
7657
+ CarouselItem.prototype.setPosition = function (position) {
7658
+ if (this.mesh) {
7659
+ this.mesh.position.copy(position);
7660
+ }
7661
+ if (this.object) {
7662
+ this.object.position.copy(position);
7663
+ }
7664
+ };
7665
+ CarouselItem.prototype.setContent = function (content) {
7666
+ if (this._element) {
7667
+ // remove any exising tile content before setting new content
7668
+ while (this._element.lastElementChild) {
7669
+ this._element.removeChild(this._element.lastElementChild);
7670
+ }
7671
+ try {
7672
+ this._element.appendChild(content);
7673
+ }
7674
+ catch (err) {
7675
+ }
7676
+ }
7677
+ };
7678
+ CarouselItem.prototype.setVisible = function (visible) {
7679
+ if (this.mesh) {
7680
+ this.mesh.visible = visible;
7681
+ }
7682
+ if (this.object) {
7683
+ this.object.visible = visible;
7684
+ }
7685
+ };
7686
+ return CarouselItem;
7687
+ }());
7688
+
7689
+ var Carousel3dComponent = /** @class */ (function () {
7690
+ function Carousel3dComponent() {
7691
+ this.cameraHeight = 50;
7692
+ this.shadow = false;
7693
+ this.selectedIndex = 0;
7694
+ this.indexSelected = new core.EventEmitter();
7695
+ this._cameraZoom = 0;
7696
+ this._backgroundColor = 0xffffff;
7697
+ this._ambientLight = true;
7698
+ this._tileSize = new three.Vector2();
7699
+ this._tileMargin = 20;
7700
+ this._targetPositions = [];
7701
+ this._tileElements = [];
7702
+ this._tileOffset = 0;
7703
+ this._tiles3D = [];
7704
+ this._planeColor = 0xffffff;
7705
+ this._planeHeight = -46;
7706
+ this._spotLightPosition = new three.Vector3(0, 250, -200);
7707
+ this._fullCircle = false;
7708
+ this._initialized = false;
7709
+ this._elementsCreated = false;
7710
+ this.canNavigateLeft = false;
7711
+ this.canNavigateRight = false;
7712
+ }
7713
+ Object.defineProperty(Carousel3dComponent.prototype, "children", {
7714
+ set: function (children) {
7715
+ this._elementsCreated = false;
7716
+ this._tileElements = children.toArray();
7717
+ this._buildCarousel();
7718
+ },
7719
+ enumerable: false,
7720
+ configurable: true
7721
+ });
7722
+ Carousel3dComponent.prototype.showClass = function () {
7723
+ return true;
7724
+ };
7725
+ Carousel3dComponent.prototype.ngAfterViewInit = function () {
7726
+ this._buildCarousel();
7727
+ };
7728
+ Carousel3dComponent.prototype.ngOnDestroy = function () {
7729
+ this.canvasContainer = undefined;
7730
+ this.carouselWrapper = undefined;
7731
+ this._clearScenes();
7732
+ };
7733
+ Carousel3dComponent.prototype.handleButtonLeftClick = function () {
7734
+ this._tileOffset -= 1;
7735
+ this._rotate(400);
7736
+ };
7737
+ Carousel3dComponent.prototype.handleButtonRightClick = function () {
7738
+ this._tileOffset += 1;
7739
+ this._rotate(400);
7740
+ };
7741
+ Carousel3dComponent.prototype._buildCarousel = function () {
7742
+ if (!this._initialized) {
7743
+ this._init();
7744
+ }
7745
+ if (this._initialized && !this._elementsCreated) {
7746
+ this._createTiles();
7747
+ }
7748
+ this._checkNavigationButtons();
7749
+ };
7750
+ Carousel3dComponent.prototype._init = function () {
7751
+ var _this = this;
7752
+ if (!this.canvasContainer || !this.canvasContainer.nativeElement) {
7753
+ return;
7754
+ }
7755
+ this._initCamera();
7756
+ this._initScene();
7757
+ this._initRenderer();
7758
+ if (this.shadow) {
7759
+ var geometry = new three.PlaneGeometry(10000, 10000);
7760
+ var material = new three.MeshPhongMaterial({ color: this._planeColor, shininess: 100 });
7761
+ var plane = new three.Mesh(geometry, material);
7762
+ plane.receiveShadow = true;
7763
+ plane.rotation.x = -Math.PI / 2;
7764
+ plane.position.y = this._planeHeight;
7765
+ this._scene.add(plane);
7766
+ var spotLight = new three.SpotLight(0xffffff, 0.5);
7767
+ spotLight.position.copy(this._spotLightPosition);
7768
+ spotLight.castShadow = true;
7769
+ spotLight.shadow.mapSize.width = 512;
7770
+ spotLight.shadow.mapSize.height = 512;
7771
+ spotLight.shadow.camera.near = 50;
7772
+ spotLight.shadow.camera.far = 1200;
7773
+ spotLight.shadow.camera.fov = 30;
7774
+ spotLight.penumbra = 1;
7775
+ this._scene.add(spotLight);
7776
+ }
7777
+ this.carouselWrapper.nativeElement.appendChild(this._rendererCss.domElement);
7778
+ this.canvasContainer.nativeElement.appendChild(this.carouselWrapper.nativeElement);
7779
+ this.canvasContainer.nativeElement.appendChild(this._renderer.domElement);
7780
+ this._render();
7781
+ this._animate();
7782
+ window.addEventListener("resize", function () {
7783
+ _this._resizeCanvasToDisplaySize();
7784
+ }, false);
7785
+ this._initialized = true;
7786
+ };
7787
+ Carousel3dComponent.prototype._initCamera = function () {
7788
+ this._camera = new three.PerspectiveCamera(50, this.canvasContainer.nativeElement.clientWidth / this.canvasContainer.nativeElement.clientHeight, 1, 10000);
7789
+ this._camera.position.z = 600 - this._cameraZoom;
7790
+ this._camera.position.y = this.cameraHeight;
7791
+ this._camera.lookAt(new three.Vector3());
7792
+ };
7793
+ Carousel3dComponent.prototype._initScene = function () {
7794
+ this._sceneCss = new three.Scene();
7795
+ this._scene = new three.Scene();
7796
+ this._scene.background = new three.Color(this._backgroundColor);
7797
+ if (this._ambientLight) {
7798
+ var light = new three.AmbientLight(0xaaaaaa); // soft white light
7799
+ this._scene.add(light);
7800
+ this._scene.fog = new three.Fog(this._backgroundColor, 70, 2500);
7801
+ }
7802
+ };
7803
+ Carousel3dComponent.prototype._initRenderer = function () {
7804
+ this._rendererCss = new CSS3DRenderer.CSS3DRenderer();
7805
+ this._rendererCss.setSize(this.canvasContainer.nativeElement.clientWidth, this.canvasContainer.nativeElement.clientHeight);
7806
+ this._rendererCss.domElement.style.position = "absolute";
7807
+ this._renderer = new three.WebGLRenderer({ antialias: true });
7808
+ this._renderer.setPixelRatio(window.devicePixelRatio);
7809
+ this._renderer.setSize(this.canvasContainer.nativeElement.clientWidth, this.canvasContainer.nativeElement.clientHeight);
7810
+ this._renderer.shadowMap.enabled = true;
7811
+ };
7812
+ Carousel3dComponent.prototype._disposeObject = function (obj) {
7813
+ if (obj instanceof three.Mesh) {
7814
+ if (obj.geometry) {
7815
+ obj.geometry.dispose();
7816
+ }
7817
+ if (obj.material) {
7818
+ Array.isArray(obj.material) ? obj.material.map(function (m) { return m.dispose(); }) : obj.material.dispose();
7819
+ }
7820
+ obj = undefined;
7821
+ }
7822
+ else {
7823
+ obj.element = undefined;
7824
+ obj = undefined;
7825
+ }
7826
+ };
7827
+ Carousel3dComponent.prototype._clearScenes = function () {
7828
+ var _a, _b;
7829
+ var _this = this;
7830
+ var meshes = this._tiles3D.map(function (t) { return t.mesh; });
7831
+ var cssObjs = this._tiles3D.map(function (t) { return t.object; });
7832
+ (_a = this._scene).remove.apply(_a, __spreadArray([], __read(meshes)));
7833
+ meshes.map(function (m) { return _this._disposeObject(m); });
7834
+ meshes.length = 0;
7835
+ (_b = this._sceneCss).remove.apply(_b, __spreadArray([], __read(cssObjs)));
7836
+ cssObjs.map(function (o) { return _this._disposeObject(o); });
7837
+ cssObjs.length = 0;
7838
+ this._tiles3D.length = 0;
7839
+ this._targetPositions.length = 0;
7840
+ };
7841
+ Carousel3dComponent.prototype._createTiles = function () {
7842
+ var _this = this;
7843
+ this._clearScenes();
7844
+ this._tileSize.x = this.tileWidth;
7845
+ this._tileSize.y = this.tileHeight;
7846
+ var tileWidth = this._tileSize.x + this._tileMargin;
7847
+ var numItems = Math.max(this._tileElements.length, 20);
7848
+ this._fullCircle = this._tileElements.length >= 20;
7849
+ var angleTileDeg = 360 / numItems;
7850
+ var circumference = numItems * tileWidth;
7851
+ var radius = circumference / (Math.PI * 2);
7852
+ var y = this.shadow ? 75 : 45;
7853
+ var len = numItems;
7854
+ var angleDeg = 90;
7855
+ var position = new three.Vector3();
7856
+ for (var i = 0; i < len; i++) {
7857
+ var angle = angleDeg * (Math.PI / 180); // Radians
7858
+ var x = radius * Math.cos(angle);
7859
+ var z = -radius + radius * Math.sin(angle);
7860
+ position.set(x, y, z);
7861
+ this._targetPositions.push(position.clone());
7862
+ if (i < this._tileElements.length) {
7863
+ var tile = new CarouselItem({ tileSize: this._tileSize }, i, function (idx) { return _this._rotateTo(idx); });
7864
+ tile.setPosition(position);
7865
+ tile.setContent(this._tileElements[i].nativeElement);
7866
+ this._scene.add(tile.mesh);
7867
+ this._sceneCss.add(tile.object);
7868
+ this._tiles3D.push(tile);
7869
+ }
7870
+ angleDeg = angleDeg - angleTileDeg; // CW instead of CCW
7871
+ }
7872
+ this._adjustCameraZoom();
7873
+ this._tileOffset = this.selectedIndex;
7874
+ this._rotate(0);
7875
+ this._render();
7876
+ };
7877
+ Carousel3dComponent.prototype._adjustCameraZoom = function () {
7878
+ if (this._tiles3D.length === 0) {
7879
+ return;
7880
+ }
7881
+ var object = this._tiles3D[0].mesh;
7882
+ // offset = offset || 1.15;
7883
+ // get bounding box of object - this will be used to setup controls and camera
7884
+ var boundingBox = new three.Box3();
7885
+ boundingBox.setFromObject(object);
7886
+ var center = new three.Vector3();
7887
+ boundingBox.getCenter(center);
7888
+ var size = new three.Vector3();
7889
+ boundingBox.getSize(size);
7890
+ // get the max side of the bounding box (fits to width OR height as needed )
7891
+ var maxDim = Math.max(size.x, size.y, size.z);
7892
+ var fov = this._camera.fov * (Math.PI / 180);
7893
+ // let cameraZ = Math.abs(maxDim / 4 * Math.tan(fov * 200));
7894
+ var cameraZ = Math.abs((maxDim / 2) / Math.tan(fov / 2));
7895
+ // cameraZ *= offset; // zoom out a little so that objects don't fill the screen
7896
+ this._camera.position.z = cameraZ;
7897
+ this._camera.lookAt(center);
7898
+ };
7899
+ Carousel3dComponent.prototype._checkNavigationButtons = function () {
7900
+ var currentIdx = this._getSelectedIndex();
7901
+ this.canNavigateLeft = (currentIdx > 0) || this._fullCircle;
7902
+ this.canNavigateRight = (currentIdx < this._tileElements.length - 1) || this._fullCircle;
7903
+ };
7904
+ Carousel3dComponent.prototype._animate = function () {
7905
+ var _this = this;
7906
+ TWEEN__namespace.update();
7907
+ setTimeout(function () {
7908
+ _this._renderer.setAnimationLoop(function () { return _this._animate(); });
7909
+ }, 200);
7910
+ };
7911
+ Carousel3dComponent.prototype._getSelectedIndex = function () {
7912
+ return Math.max(0, Math.min(this.selectedIndex, this._tileElements.length - 1));
7913
+ };
7914
+ Carousel3dComponent.prototype._rotate = function (duration) {
7915
+ var _this = this;
7916
+ TWEEN__namespace.removeAll();
7917
+ for (var i = 0; i < this._tiles3D.length; i++) {
7918
+ var tile = this._tiles3D[i];
7919
+ if (Math.abs(this._tileOffset) > this._targetPositions.length) { // full circle
7920
+ this._tileOffset = this._tileOffset > 0 ? 1 : -1;
7921
+ }
7922
+ var positionIdx = i - this._tileOffset;
7923
+ if (positionIdx > this._targetPositions.length - 1) {
7924
+ positionIdx = positionIdx - this._targetPositions.length;
7925
+ }
7926
+ else if (positionIdx < 0) {
7927
+ positionIdx = this._targetPositions.length + positionIdx;
7928
+ }
7929
+ var target = this._targetPositions[positionIdx];
7930
+ new TWEEN__namespace.Tween(tile.object.position)
7931
+ .to(target, duration)
7932
+ .easing(TWEEN__namespace.Easing.Quartic.Out)
7933
+ .start();
7934
+ new TWEEN__namespace.Tween(tile.mesh.position)
7935
+ .to(target, duration)
7936
+ .easing(TWEEN__namespace.Easing.Quartic.Out)
7937
+ .start();
7938
+ }
7939
+ new TWEEN__namespace.Tween()
7940
+ .to({}, duration * 2)
7941
+ .onUpdate(function () {
7942
+ _this._render();
7943
+ })
7944
+ .start();
7945
+ this.selectedIndex = this._tileOffset;
7946
+ this._checkNavigationButtons();
7947
+ this.indexSelected.next(this._getSelectedIndex());
7948
+ };
7949
+ Carousel3dComponent.prototype._rotateTo = function (index) {
7950
+ var current = this._getSelectedIndex();
7951
+ this._tileOffset += index - current;
7952
+ this._rotate(800);
7953
+ };
7954
+ Carousel3dComponent.prototype._resizeCanvasToDisplaySize = function () {
7955
+ this._camera.aspect = this.canvasContainer.nativeElement.clientWidth / this.canvasContainer.nativeElement.clientHeight;
7956
+ this._camera.updateProjectionMatrix();
7957
+ this._rendererCss.setSize(this.canvasContainer.nativeElement.clientWidth, this.canvasContainer.nativeElement.clientHeight);
7958
+ this._renderer.setSize(this.canvasContainer.nativeElement.clientWidth, this.canvasContainer.nativeElement.clientHeight);
7959
+ this._render();
7960
+ };
7961
+ Carousel3dComponent.prototype._render = function () {
7962
+ this._rendererCss.render(this._sceneCss, this._camera);
7963
+ this._renderer.render(this._scene, this._camera);
7964
+ };
7965
+ return Carousel3dComponent;
7966
+ }());
7967
+ Carousel3dComponent.decorators = [
7968
+ { type: core.Component, args: [{
7969
+ selector: "co-carousel-3d",
7970
+ template: "\n <div class=\"carousel-3d-canvas-wrapper\" #canvasContainer>\n <div class=\"carousel-wrapper\" #carouselWrapper>\n <div class=\"carousel-navigate-button left\">\n <div class=\"carousel-navigate-button-wrapper\" *ngIf=\"canNavigateLeft\" (click)=\"handleButtonLeftClick()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 256 512\">\n <path\n d=\"M31.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L127.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L201.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34z\"></path>\n </svg>\n </div>\n </div>\n <div class=\"carousel-navigate-button right\">\n <div class=\"carousel-navigate-button-wrapper\" *ngIf=\"canNavigateRight\" (click)=\"handleButtonRightClick()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 256 512\">\n <path\n d=\"M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z\"></path>\n </svg>\n </div>\n </div>\n </div>\n </div>\n ",
7971
+ encapsulation: core.ViewEncapsulation.None
7972
+ },] }
7973
+ ];
7974
+ Carousel3dComponent.propDecorators = {
7975
+ canvasContainer: [{ type: core.ViewChild, args: ["canvasContainer", { read: core.ElementRef },] }],
7976
+ carouselWrapper: [{ type: core.ViewChild, args: ["carouselWrapper", { read: core.ElementRef },] }],
7977
+ children: [{ type: core.ContentChildren, args: ["carouselItem", { read: core.ElementRef, descendants: true },] }],
7978
+ tileWidth: [{ type: core.Input }],
7979
+ tileHeight: [{ type: core.Input }],
7980
+ cameraHeight: [{ type: core.Input }],
7981
+ shadow: [{ type: core.Input }],
7982
+ selectedIndex: [{ type: core.Input }],
7983
+ indexSelected: [{ type: core.Output }],
7984
+ showClass: [{ type: core.HostBinding, args: ["class.co-carousel-3d",] }]
7985
+ };
7986
+
7987
+ var Carousel3dModule = /** @class */ (function () {
7988
+ function Carousel3dModule() {
7989
+ }
7990
+ return Carousel3dModule;
7991
+ }());
7992
+ Carousel3dModule.decorators = [
7993
+ { type: core.NgModule, args: [{
7994
+ imports: [
7995
+ common.CommonModule
7996
+ ],
7997
+ declarations: [
7998
+ Carousel3dComponent
7999
+ ],
8000
+ exports: [
8001
+ Carousel3dComponent
8002
+ ]
8003
+ },] }
8004
+ ];
8005
+
7513
8006
  /*
7514
8007
  * Public API Surface of corecomponents
7515
8008
  */
@@ -7525,6 +8018,8 @@
7525
8018
  exports.ButtonDropDownModule = ButtonDropDownModule;
7526
8019
  exports.ButtonModule = ButtonModule;
7527
8020
  exports.COMPONENT_INTERFACE_NAME = COMPONENT_INTERFACE_NAME;
8021
+ exports.Carousel3dComponent = Carousel3dComponent;
8022
+ exports.Carousel3dModule = Carousel3dModule;
7528
8023
  exports.CoDialogComponent = CoDialogComponent;
7529
8024
  exports.CoDialogModule = CoDialogModule;
7530
8025
  exports.CoDialogPromptComponent = CoDialogPromptComponent;
@@ -7548,6 +8043,7 @@
7548
8043
  exports.DropDownListComponent = DropDownListComponent;
7549
8044
  exports.DropDownModule = DropDownModule;
7550
8045
  exports.FormComponent = FormComponent;
8046
+ exports.FormMasterService = FormMasterService;
7551
8047
  exports.FormModule = FormModule;
7552
8048
  exports.IconCacheService = IconCacheService;
7553
8049
  exports.IconComponent = IconComponent;
@@ -7570,6 +8066,8 @@
7570
8066
  exports.InputRadioButtonModule = InputRadioButtonModule;
7571
8067
  exports.InputTextComponent = InputTextComponent;
7572
8068
  exports.InputTextModule = InputTextModule;
8069
+ exports.InputTextareaComponent = InputTextareaComponent;
8070
+ exports.InputTextareaModule = InputTextareaModule;
7573
8071
  exports.LevelIndicatorComponent = LevelIndicatorComponent;
7574
8072
  exports.LevelIndicatorModule = LevelIndicatorModule;
7575
8073
  exports.MultiSelectListComponent = MultiSelectListComponent;
@@ -7600,14 +8098,15 @@
7600
8098
  exports["ɵm"] = FormInputUserModelChangeListenerService;
7601
8099
  exports["ɵn"] = NgZoneWrapperService;
7602
8100
  exports["ɵo"] = BaseInputComponent;
7603
- exports["ɵp"] = FormMasterService;
7604
- exports["ɵq"] = BaseSelectionGridComponent;
7605
- exports["ɵr"] = BaseInlineEditGridComponent;
7606
- exports["ɵs"] = BaseToolbarGridComponent;
7607
- exports["ɵt"] = BaseGridComponent;
7608
- exports["ɵu"] = AppendPipeModule;
7609
- exports["ɵv"] = AppendPipe;
7610
- exports["ɵw"] = PopupShowerService;
8101
+ exports["ɵp"] = BaseSelectionGridComponent;
8102
+ exports["ɵq"] = BaseInlineEditGridComponent;
8103
+ exports["ɵr"] = BaseToolbarGridComponent;
8104
+ exports["ɵs"] = BaseGridComponent;
8105
+ exports["ɵt"] = AppendPipeModule;
8106
+ exports["ɵu"] = AppendPipe;
8107
+ exports["ɵv"] = ValidationErrorModule;
8108
+ exports["ɵw"] = ValidationErrorComponent;
8109
+ exports["ɵx"] = PopupShowerService;
7611
8110
 
7612
8111
  Object.defineProperty(exports, '__esModule', { value: true });
7613
8112