@syncfusion/ej2-inputs 21.2.9 → 22.1.38

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 (174) hide show
  1. package/.eslintrc.json +1 -0
  2. package/CHANGELOG.md +30 -0
  3. package/dist/ej2-inputs.min.js +2 -2
  4. package/dist/ej2-inputs.umd.min.js +2 -2
  5. package/dist/ej2-inputs.umd.min.js.map +1 -1
  6. package/dist/es6/ej2-inputs.es2015.js +171 -134
  7. package/dist/es6/ej2-inputs.es2015.js.map +1 -1
  8. package/dist/es6/ej2-inputs.es5.js +173 -137
  9. package/dist/es6/ej2-inputs.es5.js.map +1 -1
  10. package/dist/global/ej2-inputs.min.js +2 -2
  11. package/dist/global/ej2-inputs.min.js.map +1 -1
  12. package/dist/global/index.d.ts +1 -1
  13. package/package.json +9 -9
  14. package/src/color-picker/color-picker.d.ts +1 -0
  15. package/src/color-picker/color-picker.js +3 -14
  16. package/src/form-validator/form-validator.js +21 -3
  17. package/src/input/input.js +17 -23
  18. package/src/numerictextbox/numerictextbox.js +6 -2
  19. package/src/rating/rating-model.d.ts +31 -27
  20. package/src/rating/rating.d.ts +8 -4
  21. package/src/rating/rating.js +26 -19
  22. package/src/slider/slider-model.d.ts +1 -1
  23. package/src/slider/slider.d.ts +31 -65
  24. package/src/slider/slider.js +86 -55
  25. package/src/textbox/textbox.js +3 -5
  26. package/src/uploader/uploader-model.d.ts +2 -1
  27. package/src/uploader/uploader.d.ts +4 -2
  28. package/src/uploader/uploader.js +14 -18
  29. package/styles/bootstrap-dark.css +23 -3
  30. package/styles/bootstrap.css +23 -3
  31. package/styles/bootstrap4.css +23 -4
  32. package/styles/bootstrap5-dark.css +23 -3
  33. package/styles/bootstrap5.css +23 -3
  34. package/styles/color-picker/_layout.scss +49 -5
  35. package/styles/color-picker/_material3-dark-definition.scss +1 -0
  36. package/styles/color-picker/_material3-definition.scss +141 -0
  37. package/styles/color-picker/_theme.scss +6 -1
  38. package/styles/color-picker/fluent-dark.css +1 -0
  39. package/styles/color-picker/fluent.css +1 -0
  40. package/styles/color-picker/icons/_material3-dark.scss +1 -0
  41. package/styles/color-picker/material3-dark.css +880 -0
  42. package/styles/color-picker/material3-dark.scss +12 -0
  43. package/styles/color-picker/material3.css +936 -0
  44. package/styles/color-picker/material3.scss +12 -0
  45. package/styles/fabric-dark.css +23 -3
  46. package/styles/fabric.css +23 -3
  47. package/styles/fluent-dark.css +24 -3
  48. package/styles/fluent.css +24 -3
  49. package/styles/highcontrast-light.css +23 -3
  50. package/styles/highcontrast.css +23 -3
  51. package/styles/input/_layout.scss +303 -109
  52. package/styles/input/_material3-dark-definition.scss +1 -0
  53. package/styles/input/_material3-definition.scss +548 -0
  54. package/styles/input/_theme.scss +3 -2
  55. package/styles/input/bootstrap-dark.css +15 -1
  56. package/styles/input/bootstrap.css +15 -1
  57. package/styles/input/bootstrap4.css +15 -1
  58. package/styles/input/bootstrap5-dark.css +15 -1
  59. package/styles/input/bootstrap5.css +15 -1
  60. package/styles/input/fabric-dark.css +15 -1
  61. package/styles/input/fabric.css +15 -1
  62. package/styles/input/fluent-dark.css +15 -1
  63. package/styles/input/fluent.css +15 -1
  64. package/styles/input/highcontrast-light.css +15 -1
  65. package/styles/input/highcontrast.css +15 -1
  66. package/styles/input/icons/_material3-dark.scss +1 -0
  67. package/styles/input/material-dark.css +121 -66
  68. package/styles/input/material.css +121 -66
  69. package/styles/input/material3-dark.css +12384 -0
  70. package/styles/input/material3-dark.scss +5 -0
  71. package/styles/input/material3.css +12440 -0
  72. package/styles/input/material3.scss +5 -0
  73. package/styles/input/tailwind-dark.css +15 -1
  74. package/styles/input/tailwind.css +15 -1
  75. package/styles/maskedtextbox/_material3-dark-definition.scss +1 -0
  76. package/styles/maskedtextbox/_material3-definition.scss +4 -0
  77. package/styles/maskedtextbox/material3-dark.css +104 -0
  78. package/styles/maskedtextbox/material3-dark.scss +5 -0
  79. package/styles/maskedtextbox/material3.css +160 -0
  80. package/styles/maskedtextbox/material3.scss +5 -0
  81. package/styles/material-dark.css +131 -68
  82. package/styles/material.css +131 -68
  83. package/styles/material3-dark.css +15146 -0
  84. package/styles/material3-dark.scss +11 -0
  85. package/styles/material3.css +15202 -0
  86. package/styles/material3.scss +11 -0
  87. package/styles/numerictextbox/_material3-dark-definition.scss +1 -0
  88. package/styles/numerictextbox/_material3-definition.scss +4 -0
  89. package/styles/numerictextbox/icons/_material3-dark.scss +1 -0
  90. package/styles/numerictextbox/material3-dark.css +118 -0
  91. package/styles/numerictextbox/material3-dark.scss +6 -0
  92. package/styles/numerictextbox/material3.css +174 -0
  93. package/styles/numerictextbox/material3.scss +6 -0
  94. package/styles/rating/_bootstrap-dark-definition.scss +4 -3
  95. package/styles/rating/_bootstrap-definition.scss +4 -3
  96. package/styles/rating/_bootstrap4-definition.scss +4 -3
  97. package/styles/rating/_bootstrap5-definition.scss +4 -0
  98. package/styles/rating/_fabric-dark-definition.scss +4 -3
  99. package/styles/rating/_fabric-definition.scss +4 -3
  100. package/styles/rating/_fluent-definition.scss +4 -0
  101. package/styles/rating/_fusionnew-definition.scss +4 -3
  102. package/styles/rating/_highcontrast-definition.scss +4 -3
  103. package/styles/rating/_highcontrast-light-definition.scss +4 -3
  104. package/styles/rating/_layout.scss +2 -0
  105. package/styles/rating/_material-dark-definition.scss +4 -3
  106. package/styles/rating/_material-definition.scss +4 -3
  107. package/styles/rating/_material3-dark-definition.scss +1 -0
  108. package/styles/rating/_material3-definition.scss +47 -0
  109. package/styles/rating/_tailwind-definition.scss +4 -0
  110. package/styles/rating/_theme.scss +36 -14
  111. package/styles/rating/bootstrap-dark.css +8 -2
  112. package/styles/rating/bootstrap.css +8 -2
  113. package/styles/rating/bootstrap4.css +8 -3
  114. package/styles/rating/bootstrap5-dark.css +8 -2
  115. package/styles/rating/bootstrap5.css +8 -2
  116. package/styles/rating/fabric-dark.css +8 -2
  117. package/styles/rating/fabric.css +8 -2
  118. package/styles/rating/fluent-dark.css +8 -2
  119. package/styles/rating/fluent.css +8 -2
  120. package/styles/rating/highcontrast-light.css +8 -2
  121. package/styles/rating/highcontrast.css +8 -2
  122. package/styles/rating/material-dark.css +8 -2
  123. package/styles/rating/material.css +8 -2
  124. package/styles/rating/material3-dark.css +340 -0
  125. package/styles/rating/material3-dark.scss +5 -0
  126. package/styles/rating/material3.css +396 -0
  127. package/styles/rating/material3.scss +5 -0
  128. package/styles/rating/tailwind-dark.css +8 -2
  129. package/styles/rating/tailwind.css +8 -2
  130. package/styles/signature/_material3-dark-definition.scss +1 -0
  131. package/styles/signature/_material3-definition.scss +3 -0
  132. package/styles/signature/material3-dark.css +65 -0
  133. package/styles/signature/material3-dark.scss +4 -0
  134. package/styles/signature/material3.css +121 -0
  135. package/styles/signature/material3.scss +4 -0
  136. package/styles/slider/_layout.scss +60 -15
  137. package/styles/slider/_material3-dark-definition.scss +1 -0
  138. package/styles/slider/_material3-definition.scss +97 -0
  139. package/styles/slider/_theme.scss +11 -2
  140. package/styles/slider/material-dark.css +2 -0
  141. package/styles/slider/material.css +2 -0
  142. package/styles/slider/material3-dark.css +765 -0
  143. package/styles/slider/material3-dark.scss +6 -0
  144. package/styles/slider/material3.css +821 -0
  145. package/styles/slider/material3.scss +6 -0
  146. package/styles/tailwind-dark.css +23 -3
  147. package/styles/tailwind.css +23 -3
  148. package/styles/textbox/_bootstrap-dark-definition.scss +3 -0
  149. package/styles/textbox/_bootstrap-definition.scss +3 -0
  150. package/styles/textbox/_bootstrap4-definition.scss +3 -0
  151. package/styles/textbox/_bootstrap5-definition.scss +3 -0
  152. package/styles/textbox/_fabric-dark-definition.scss +3 -0
  153. package/styles/textbox/_fabric-definition.scss +3 -0
  154. package/styles/textbox/_fluent-definition.scss +3 -0
  155. package/styles/textbox/_fusionnew-definition.scss +3 -0
  156. package/styles/textbox/_highcontrast-definition.scss +3 -0
  157. package/styles/textbox/_highcontrast-light-definition.scss +3 -0
  158. package/styles/textbox/_layout.scss +27 -0
  159. package/styles/textbox/_material-dark-definition.scss +3 -0
  160. package/styles/textbox/_material-definition.scss +3 -0
  161. package/styles/textbox/_material3-dark-definition.scss +1 -0
  162. package/styles/textbox/_material3-definition.scss +4 -0
  163. package/styles/textbox/_tailwind-definition.scss +3 -0
  164. package/styles/textbox/material3-dark.css +72 -0
  165. package/styles/textbox/material3-dark.scss +5 -0
  166. package/styles/textbox/material3.css +128 -0
  167. package/styles/textbox/material3.scss +5 -0
  168. package/styles/uploader/_material3-dark-definition.scss +1 -0
  169. package/styles/uploader/_material3-definition.scss +215 -0
  170. package/styles/uploader/icons/_material3-dark.scss +1 -0
  171. package/styles/uploader/material3-dark.css +861 -0
  172. package/styles/uploader/material3-dark.scss +7 -0
  173. package/styles/uploader/material3.css +917 -0
  174. package/styles/uploader/material3.scss +7 -0
@@ -231,84 +231,49 @@ export declare class TooltipData extends ChildProperty<TooltipData> {
231
231
  }
232
232
  /**
233
233
  * Ticks Placement.
234
+ * ```props
235
+ * Before :- Ticks are placed in the top of the horizontal slider bar or at the left of the vertical slider bar.
236
+ * After :- Ticks are placed in the bottom of the horizontal slider bar or at the right of the vertical slider bar.
237
+ * Both :- Ticks are placed on the both side of the slider bar.
238
+ * None :- Ticks are not shown.
239
+ * ```
234
240
  */
235
- export declare type Placement =
236
- /**
237
- * Ticks are placed in the top of the horizontal slider bar or at the left of the vertical slider bar.
238
- */
239
- 'Before' |
240
- /**
241
- * Ticks are placed in the bottom of the horizontal slider bar or at the right of the vertical slider bar.
242
- */
243
- 'After' |
244
- /**
245
- * Ticks are placed on the both side of the slider bar.
246
- */
247
- 'Both' |
248
- /**
249
- * Ticks are not shown.
250
- */
251
- 'None';
241
+ export declare type Placement = 'Before' | 'After' | 'Both' | 'None';
252
242
  /**
253
243
  * Tooltip Placement.
244
+ * ```props
245
+ * Before :- Tooltip is shown in the top of the horizontal slider bar or at the left of the vertical slider bar.
246
+ * After :- Tooltip is shown in the bottom of the horizontal slider bar or at the right of the vertical slider bar.
247
+ * ```
254
248
  */
255
- export declare type TooltipPlacement =
256
- /**
257
- * Tooltip is shown in the top of the horizontal slider bar or at the left of the vertical slider bar.
258
- */
259
- 'Before' |
260
- /**
261
- * Tooltip is shown in the bottom of the horizontal slider bar or at the right of the vertical slider bar.
262
- */
263
- 'After';
249
+ export declare type TooltipPlacement = 'Before' | 'After';
264
250
  /**
265
251
  * Tooltip ShowOn.
252
+ * ```props
253
+ * Focus :- Tooltip is shown while focusing the Slider handle.
254
+ * Hover :- Tooltip is shown while hovering the Slider handle.
255
+ * Always :- Tooltip is shown always.
256
+ * Auto :- Tooltip is shown while hovering the Slider handle in desktop and tap and hold in touch devices.
257
+ * ```
266
258
  */
267
- export declare type TooltipShowOn =
268
- /**
269
- * Tooltip is shown while focusing the Slider handle.
270
- */
271
- 'Focus' |
272
- /**
273
- * Tooltip is shown while hovering the Slider handle.
274
- */
275
- 'Hover' |
276
- /**
277
- * Tooltip is shown always.
278
- */
279
- 'Always' |
280
- /**
281
- * Tooltip is shown while hovering the Slider handle in desktop and tap and hold in touch devices.
282
- */
283
- 'Auto';
259
+ export declare type TooltipShowOn = 'Focus' | 'Hover' | 'Always' | 'Auto';
284
260
  /**
285
261
  * Slider type.
262
+ * ```props
263
+ * Default :- Allows to select a single value in the Slider.
264
+ * MinRange :- Allows to select a single value in the Slider, it display’s a shadow from the start to the current value.
265
+ * Range :- Allows to select a range of values in the Slider.
266
+ * ```
286
267
  */
287
- export declare type SliderType =
288
- /**
289
- * Allows to select a single value in the Slider.
290
- */
291
- 'Default' |
292
- /**
293
- * Allows to select a single value in the Slider, it display’s a shadow from the start to the current value.
294
- */
295
- 'MinRange' |
296
- /**
297
- * Allows to select a range of values in the Slider.
298
- */
299
- 'Range';
268
+ export declare type SliderType = 'Default' | 'MinRange' | 'Range';
300
269
  /**
301
270
  * Slider orientation.
271
+ * ```props
272
+ * Horizontal :- Renders the slider in horizontal orientation.
273
+ * Vertical :- Renders the slider in vertical orientation.
274
+ * ```
302
275
  */
303
- export declare type SliderOrientation =
304
- /**
305
- * Renders the slider in horizontal orientation.
306
- */
307
- 'Horizontal' |
308
- /**
309
- * Renders the slider in vertical orientation.
310
- */
311
- 'Vertical';
276
+ export declare type SliderOrientation = 'Horizontal' | 'Vertical';
312
277
  /**
313
278
  * The Slider component allows the user to select a value or range
314
279
  * of values in-between a min and max range, by dragging the handle over the slider bar.
@@ -361,6 +326,7 @@ export declare class Slider extends Component<HTMLElement> implements INotifyPro
361
326
  private previousChanged;
362
327
  private repeatInterval;
363
328
  private isMaterial;
329
+ private isMaterial3;
364
330
  private isBootstrap;
365
331
  private isBootstrap4;
366
332
  private isTailwind;
@@ -21,7 +21,7 @@ import { Component, EventHandler, Property, Event, Complex, Collection } from '@
21
21
  import { L10n, Internationalization } from '@syncfusion/ej2-base';
22
22
  import { NotifyPropertyChanges, ChildProperty } from '@syncfusion/ej2-base';
23
23
  import { attributes, addClass, removeClass, setStyleAttribute, detach, closest } from '@syncfusion/ej2-base';
24
- import { isNullOrUndefined, formatUnit, Browser, SanitizeHtmlHelper } from '@syncfusion/ej2-base';
24
+ import { isNullOrUndefined, formatUnit, Browser, SanitizeHtmlHelper, initializeCSPTemplate } from '@syncfusion/ej2-base';
25
25
  import { Tooltip, getZindexPartial } from '@syncfusion/ej2-popups';
26
26
  /**
27
27
  * Configures the ticks data of the Slider.
@@ -437,13 +437,15 @@ var Slider = /** @class */ (function (_super) {
437
437
  Slider.prototype.getThemeInitialization = function () {
438
438
  this.isMaterial = this.getTheme(this.sliderContainer) === 'material'
439
439
  || this.getTheme(this.sliderContainer) === 'material-dark';
440
+ this.isMaterial3 = this.getTheme(this.sliderContainer) === 'Material3'
441
+ || this.getTheme(this.sliderContainer) === 'Material3-dark';
440
442
  this.isBootstrap = this.getTheme(this.sliderContainer) === 'bootstrap'
441
443
  || this.getTheme(this.sliderContainer) === 'bootstrap-dark';
442
444
  this.isBootstrap4 = this.getTheme(this.sliderContainer) === 'bootstrap4';
443
445
  this.isTailwind = this.getTheme(this.sliderContainer) === 'tailwind' || this.getTheme(this.sliderContainer) === 'tailwind-dark';
444
446
  this.isBootstrap5 = this.getTheme(this.sliderContainer) === 'bootstrap5';
445
447
  this.isFluent = this.getTheme(this.sliderContainer) === 'FluentUI';
446
- this.isMaterialTooltip = this.isMaterial && this.type !== 'Range' && this.tooltip.isVisible;
448
+ this.isMaterialTooltip = (this.isMaterial || this.isMaterial3) && this.type !== 'Range' && this.tooltip.isVisible;
447
449
  };
448
450
  Slider.prototype.createRangeBar = function () {
449
451
  if (this.type !== 'Default') {
@@ -597,7 +599,7 @@ var Slider = /** @class */ (function (_super) {
597
599
  if (this.type !== 'Default') {
598
600
  this.rangeBar.style.transition = 'none';
599
601
  }
600
- if (this.isMaterial && this.tooltip.isVisible && this.type === 'Default') {
602
+ if ((this.isMaterial || this.isMaterial3) && this.tooltip.isVisible && this.type === 'Default') {
601
603
  this.tooltipElement.style.transition = this.transition.handle;
602
604
  }
603
605
  this.tooltipToggle(this.getHandle());
@@ -644,9 +646,6 @@ var Slider = /** @class */ (function (_super) {
644
646
  }
645
647
  };
646
648
  Slider.prototype.setHandler = function () {
647
- if (this.min > this.max) {
648
- this.min = this.max;
649
- }
650
649
  this.createFirstHandle();
651
650
  if (this.type === 'Range') {
652
651
  this.createSecondHandle();
@@ -685,12 +684,21 @@ var Slider = /** @class */ (function (_super) {
685
684
  if (this.initialTooltip) {
686
685
  this.initialTooltip = false;
687
686
  this.setTooltipContent();
688
- args.text = text = this.tooltipObj.content;
687
+ args.text = text = (typeof (this.tooltipObj.content) === 'function' ? this.tooltipObj.content() : this.tooltipObj.content);
689
688
  this.trigger('tooltipChange', args, function (observedArgs) {
690
689
  _this.addTooltipClass(observedArgs.text);
691
690
  if (text !== observedArgs.text) {
692
691
  _this.customAriaText = observedArgs.text;
693
- _this.tooltipObj.content = observedArgs.text;
692
+ if (_this.enableHtmlSanitizer) {
693
+ observedArgs.text = SanitizeHtmlHelper.sanitize(observedArgs.text.toString());
694
+ }
695
+ else {
696
+ observedArgs.text = observedArgs.text.toString();
697
+ }
698
+ var contentTemp = function () {
699
+ return observedArgs.text;
700
+ };
701
+ _this.tooltipObj.content = initializeCSPTemplate(contentTemp);
694
702
  _this.setAriaAttrValue(_this.firstHandle);
695
703
  if (_this.type === 'Range') {
696
704
  _this.setAriaAttrValue(_this.secondHandle);
@@ -705,7 +713,10 @@ var Slider = /** @class */ (function (_super) {
705
713
  Slider.prototype.setTooltipContent = function () {
706
714
  var content;
707
715
  content = this.formatContent(this.tooltipFormatInfo, false);
708
- this.tooltipObj.content = content;
716
+ var contentTemp = function () {
717
+ return content;
718
+ };
719
+ this.tooltipObj.content = initializeCSPTemplate(contentTemp);
709
720
  };
710
721
  Slider.prototype.formatContent = function (formatInfo, ariaContent) {
711
722
  var content = '';
@@ -797,7 +808,7 @@ var Slider = /** @class */ (function (_super) {
797
808
  }
798
809
  };
799
810
  Slider.prototype.tooltipCollision = function (position) {
800
- if (this.isBootstrap || this.isBootstrap4 || (this.isMaterial && !this.isMaterialTooltip)) {
811
+ if (this.isBootstrap || this.isBootstrap4 || ((this.isMaterial || this.isMaterial3) && !this.isMaterialTooltip)) {
801
812
  var tooltipOffsetValue = this.isBootstrap4 ? bootstrap4TooltipOffset : bootstrapTooltipOffset;
802
813
  switch (position) {
803
814
  case 'TopCenter':
@@ -937,9 +948,9 @@ var Slider = /** @class */ (function (_super) {
937
948
  };
938
949
  Slider.prototype.renderTooltip = function () {
939
950
  this.tooltipObj = new Tooltip({
940
- showTipPointer: this.isBootstrap || this.isMaterial || this.isBootstrap4 || this.isTailwind || this.isBootstrap5 || this.isFluent,
951
+ showTipPointer: this.isBootstrap || this.isMaterial || this.isMaterial3 || this.isBootstrap4 || this.isTailwind || this.isBootstrap5 || this.isFluent,
941
952
  cssClass: classNames.sliderTooltip,
942
- height: this.isMaterial ? 30 : 'auto',
953
+ height: (this.isMaterial || this.isMaterial3) ? 30 : 'auto',
943
954
  animation: { open: { effect: 'None' }, close: { effect: 'FadeOut', duration: 500 } },
944
955
  opensOn: 'Custom',
945
956
  beforeOpen: this.tooltipBeforeOpen.bind(this),
@@ -999,7 +1010,7 @@ var Slider = /** @class */ (function (_super) {
999
1010
  attributes(enabledRTL ? this.firstBtn : this.secondBtn, { 'aria-label': incrementTitle, title: incrementTitle });
1000
1011
  };
1001
1012
  Slider.prototype.buttonFocusOut = function () {
1002
- if (this.isMaterial) {
1013
+ if (this.isMaterial || this.isMaterial3) {
1003
1014
  this.getHandle().classList.remove('e-large-thumb-size');
1004
1015
  }
1005
1016
  };
@@ -1178,7 +1189,12 @@ var Slider = /** @class */ (function (_super) {
1178
1189
  start = this.makeRoundNumber(start + smallStep, decimalPoints);
1179
1190
  }
1180
1191
  else {
1181
- start = this.makeRoundNumber(start - smallStep, decimalPoints);
1192
+ if (this.min > this.max) {
1193
+ start = this.makeRoundNumber(start + smallStep, decimalPoints);
1194
+ }
1195
+ else {
1196
+ start = this.makeRoundNumber(start - smallStep, decimalPoints);
1197
+ }
1182
1198
  }
1183
1199
  left = this.makeRoundNumber(left + smallStep, decimalPoints);
1184
1200
  }
@@ -1424,16 +1440,16 @@ var Slider = /** @class */ (function (_super) {
1424
1440
  (value = this.add(hVal, parseFloat(this.ticks.largeStep.toString()), false));
1425
1441
  }
1426
1442
  else if ((args.keyCode === 36)) {
1427
- value = parseFloat(this.min.toString());
1443
+ value = parseFloat(this.min < this.max ? this.min.toString() : this.max.toString());
1428
1444
  }
1429
1445
  else if ((args.keyCode === 35)) {
1430
- value = parseFloat(this.max.toString());
1446
+ value = parseFloat(this.min < this.max ? this.max.toString() : this.min.toString());
1431
1447
  }
1432
1448
  if (this.limits.enabled) {
1433
1449
  value = this.getLimitCorrectedValues(value);
1434
1450
  }
1435
1451
  this.changeHandleValue(value);
1436
- if (this.isMaterial && !this.tooltip.isVisible &&
1452
+ if ((this.isMaterial || this.isMaterial3) && !this.tooltip.isVisible &&
1437
1453
  !this.getHandle().classList.contains(classNames.sliderTabHandle)) {
1438
1454
  this.materialChange();
1439
1455
  }
@@ -1482,12 +1498,12 @@ var Slider = /** @class */ (function (_super) {
1482
1498
  }
1483
1499
  else {
1484
1500
  if (this.type === 'MinRange') {
1485
- this.rangeBar.style.bottom = '0px';
1486
- setStyleAttribute(this.rangeBar, { 'height': isNullOrUndefined(this.handlePos1) ? 0 : this.handlePos1 + 'px' });
1501
+ this.rangeBar.style.bottom = this.min > this.max ? this.handlePos1 + 'px' : '0px';
1502
+ setStyleAttribute(this.rangeBar, { 'height': isNullOrUndefined(this.handlePos1) ? 0 : this.min > this.max ? this.element.clientHeight - this.handlePos1 + 'px' : this.handlePos1 + 'px' });
1487
1503
  }
1488
1504
  else {
1489
- this.rangeBar.style.bottom = this.handlePos1 + 'px';
1490
- setStyleAttribute(this.rangeBar, { 'height': this.handlePos2 - this.handlePos1 + 'px' });
1505
+ this.rangeBar.style.bottom = this.min > this.max ? this.handlePos2 + 'px' : this.handlePos1 + 'px';
1506
+ setStyleAttribute(this.rangeBar, { 'height': this.min > this.max ? this.handlePos1 - this.handlePos2 + 'px' : this.handlePos2 - this.handlePos1 + 'px' });
1491
1507
  }
1492
1508
  }
1493
1509
  };
@@ -1508,8 +1524,8 @@ var Slider = /** @class */ (function (_super) {
1508
1524
  }
1509
1525
  }
1510
1526
  else {
1511
- this.limitBarFirst.style.bottom = fromMinPostion + 'px';
1512
- this.limitBarFirst.style.height = (fromMaxpostion - fromMinPostion) + 'px';
1527
+ this.limitBarFirst.style.bottom = (this.min < this.max ? fromMinPostion : fromMaxpostion) + 'px';
1528
+ this.limitBarFirst.style.height = (this.min < this.max ? (fromMaxpostion - fromMinPostion) : (fromMinPostion - fromMaxpostion)) + 'px';
1513
1529
  }
1514
1530
  if (this.type === 'Range') {
1515
1531
  if (this.orientation === 'Horizontal') {
@@ -1523,8 +1539,8 @@ var Slider = /** @class */ (function (_super) {
1523
1539
  }
1524
1540
  }
1525
1541
  else {
1526
- this.limitBarSecond.style.bottom = toMinPostion + 'px';
1527
- this.limitBarSecond.style.height = (toMaxpostion - toMinPostion) + 'px';
1542
+ this.limitBarSecond.style.bottom = (this.min < this.max ? toMinPostion : toMaxpostion) + 'px';
1543
+ this.limitBarSecond.style.height = (this.min < this.max ? (toMaxpostion - toMinPostion) : (toMinPostion - toMaxpostion)) + 'px';
1528
1544
  }
1529
1545
  }
1530
1546
  };
@@ -1550,13 +1566,13 @@ var Slider = /** @class */ (function (_super) {
1550
1566
  };
1551
1567
  Slider.prototype.getLimitValueAndPosition = function (currentValue, minValue, maxValue, limitBar) {
1552
1568
  if (isNullOrUndefined(minValue)) {
1553
- minValue = this.min;
1569
+ minValue = this.min < this.max ? this.min : this.max;
1554
1570
  if (isNullOrUndefined(currentValue) && limitBar) {
1555
1571
  currentValue = minValue;
1556
1572
  }
1557
1573
  }
1558
1574
  if (isNullOrUndefined(maxValue)) {
1559
- maxValue = this.max;
1575
+ maxValue = this.min < this.max ? this.max : this.min;
1560
1576
  if (isNullOrUndefined(currentValue) && limitBar) {
1561
1577
  currentValue = maxValue;
1562
1578
  }
@@ -1697,7 +1713,7 @@ var Slider = /** @class */ (function (_super) {
1697
1713
  eventArgs = {
1698
1714
  value: this.value,
1699
1715
  previousValue: eventName === 'change' ? this.previousVal : this.previousChanged,
1700
- action: eventName, text: this.tooltipObj.content, isInteracted: isNullOrUndefined(e) ? false : true
1716
+ action: eventName, text: (typeof (this.tooltipObj.content) === 'function' ? this.tooltipObj.content() : this.tooltipObj.content), isInteracted: isNullOrUndefined(e) ? false : true
1701
1717
  };
1702
1718
  }
1703
1719
  else {
@@ -1739,10 +1755,14 @@ var Slider = /** @class */ (function (_super) {
1739
1755
  }
1740
1756
  this.handlePos1 = this.checkHandlePosition(this.handleVal1);
1741
1757
  this.handlePos2 = this.checkHandlePosition(this.handleVal2);
1742
- if (this.handlePos1 > this.handlePos2) {
1758
+ if (this.min < this.max && this.handlePos1 > this.handlePos2) {
1743
1759
  this.handlePos1 = this.handlePos2;
1744
1760
  this.handleVal1 = this.handleVal2;
1745
1761
  }
1762
+ if (this.min > this.max && this.handlePos1 < this.handlePos2) {
1763
+ this.handlePos2 = this.handlePos1;
1764
+ this.handleVal2 = this.handleVal1;
1765
+ }
1746
1766
  this.preHandlePos1 = this.handlePos1;
1747
1767
  this.preHandlePos2 = this.handlePos2;
1748
1768
  if (this.limits.enabled) {
@@ -1779,9 +1799,6 @@ var Slider = /** @class */ (function (_super) {
1779
1799
  return pos;
1780
1800
  };
1781
1801
  Slider.prototype.checkHandleValue = function (value) {
1782
- if (this.min > this.max) {
1783
- this.min = this.max;
1784
- }
1785
1802
  if (this.min === this.max) {
1786
1803
  return (parseFloat(formatUnit(this.max)));
1787
1804
  }
@@ -1842,13 +1859,13 @@ var Slider = /** @class */ (function (_super) {
1842
1859
  this.materialHandle.style.bottom = this.handlePos1 + "px";
1843
1860
  }
1844
1861
  if (this.type === 'MinRange') {
1845
- this.rangeBar.style.bottom = '0px';
1846
- setStyleAttribute(this.rangeBar, { 'height': isNullOrUndefined(this.handlePos1) ? 0 : this.handlePos1 + 'px' });
1862
+ this.rangeBar.style.bottom = this.min > this.max ? this.handlePos1 + 'px' : '0px';
1863
+ setStyleAttribute(this.rangeBar, { 'height': isNullOrUndefined(this.handlePos1) ? 0 : this.min > this.max ? this.element.clientHeight - this.handlePos1 + 'px' : this.handlePos1 + 'px' });
1847
1864
  }
1848
1865
  else if (this.type === 'Range') {
1849
1866
  this.secondHandle.style.bottom = this.handlePos2 + "px";
1850
- this.rangeBar.style.bottom = this.handlePos1 + 'px';
1851
- setStyleAttribute(this.rangeBar, { 'height': this.handlePos2 - this.handlePos1 + 'px' });
1867
+ this.rangeBar.style.bottom = this.min > this.max ? this.handlePos2 + 'px' : this.handlePos1 + 'px';
1868
+ setStyleAttribute(this.rangeBar, { 'height': this.min > this.max ? this.handlePos1 - this.handlePos2 + 'px' : this.handlePos2 - this.handlePos1 + 'px' });
1852
1869
  }
1853
1870
  }
1854
1871
  if (this.limits.enabled) {
@@ -1877,7 +1894,7 @@ var Slider = /** @class */ (function (_super) {
1877
1894
  if (!(this.limits.enabled && this.limits.startHandleFixed)) {
1878
1895
  this.handleVal1 = this.checkHandleValue(value);
1879
1896
  this.handlePos1 = this.checkHandlePosition(this.handleVal1);
1880
- if (this.type === 'Range' && this.handlePos1 > this.handlePos2) {
1897
+ if (this.type === 'Range' && ((this.handlePos1 > this.handlePos2 && this.min < this.max) || (this.handlePos1 < this.handlePos2 && this.min > this.max))) {
1881
1898
  this.handlePos1 = this.handlePos2;
1882
1899
  this.handleVal1 = this.handleVal2;
1883
1900
  }
@@ -1891,7 +1908,7 @@ var Slider = /** @class */ (function (_super) {
1891
1908
  if (!(this.limits.enabled && this.limits.endHandleFixed)) {
1892
1909
  this.handleVal2 = this.checkHandleValue(value);
1893
1910
  this.handlePos2 = this.checkHandlePosition(this.handleVal2);
1894
- if (this.type === 'Range' && this.handlePos2 < this.handlePos1) {
1911
+ if (this.type === 'Range' && ((this.handlePos2 < this.handlePos1 && this.min < this.max) || (this.handlePos2 > this.handlePos1 && this.min > this.max))) {
1895
1912
  this.handlePos2 = this.handlePos1;
1896
1913
  this.handleVal2 = this.handleVal1;
1897
1914
  }
@@ -2009,7 +2026,7 @@ var Slider = /** @class */ (function (_super) {
2009
2026
  }
2010
2027
  var handlepos = this.xyToPosition(pos);
2011
2028
  var handleVal = this.positionToValue(handlepos);
2012
- if (this.type === 'Range' && (this.handlePos2 - handlepos) < (handlepos - this.handlePos1)) {
2029
+ if (this.type === 'Range' && (this.min < (this.max) && (this.handlePos2 - handlepos) < (handlepos - this.handlePos1) || (this.min > this.max) && (this.handlePos1 - handlepos) > (handlepos - this.handlePos2))) {
2013
2030
  this.activeHandle = 2;
2014
2031
  if (!(this.limits.enabled && this.limits.endHandleFixed)) {
2015
2032
  if (this.limits.enabled) {
@@ -2053,7 +2070,7 @@ var Slider = /** @class */ (function (_super) {
2053
2070
  behindElement = document.elementFromPoint(eventX, eventY);
2054
2071
  }
2055
2072
  if (evt.target === handle && behindElement != handle) {
2056
- if (this.isMaterial && !this.tooltip.isVisible &&
2073
+ if ((this.isMaterial || this.isMaterial3) && !this.tooltip.isVisible &&
2057
2074
  !this.getHandle().classList.contains(classNames.sliderTabHandle)) {
2058
2075
  this.materialChange();
2059
2076
  }
@@ -2064,7 +2081,7 @@ var Slider = /** @class */ (function (_super) {
2064
2081
  if (!this.checkRepeatedValue(handleVal)) {
2065
2082
  return;
2066
2083
  }
2067
- var transition = this.isMaterial && this.tooltip.isVisible ?
2084
+ var transition = (this.isMaterial || this.isMaterial3) && this.tooltip.isVisible ?
2068
2085
  this.transitionOnMaterialTooltip : this.transition;
2069
2086
  this.getHandle().style.transition = transition.handle;
2070
2087
  if (this.type !== 'Default') {
@@ -2116,16 +2133,28 @@ var Slider = /** @class */ (function (_super) {
2116
2133
  else {
2117
2134
  pos = { x: xPostion + this.secondPartRemain, y: yPostion + this.secondPartRemain };
2118
2135
  }
2119
- this.handlePos1 = this.xyToPosition(pos);
2120
- this.handleVal1 = this.positionToValue(this.handlePos1);
2136
+ if (this.min > this.max) {
2137
+ this.handlePos2 = this.xyToPosition(pos);
2138
+ this.handleVal2 = this.positionToValue(this.handlePos2);
2139
+ }
2140
+ else {
2141
+ this.handlePos1 = this.xyToPosition(pos);
2142
+ this.handleVal1 = this.positionToValue(this.handlePos1);
2143
+ }
2121
2144
  if (!this.enableRtl) {
2122
2145
  pos = { x: xPostion + this.secondPartRemain, y: yPostion - this.firstPartRemain };
2123
2146
  }
2124
2147
  else {
2125
2148
  pos = { x: xPostion - this.firstPartRemain, y: yPostion - this.firstPartRemain };
2126
2149
  }
2127
- this.handlePos2 = this.xyToPosition(pos);
2128
- this.handleVal2 = this.positionToValue(this.handlePos2);
2150
+ if (this.min > this.max) {
2151
+ this.handlePos1 = this.xyToPosition(pos);
2152
+ this.handleVal1 = this.positionToValue(this.handlePos1);
2153
+ }
2154
+ else {
2155
+ this.handlePos2 = this.xyToPosition(pos);
2156
+ this.handleVal2 = this.positionToValue(this.handlePos2);
2157
+ }
2129
2158
  if (this.limits.enabled) {
2130
2159
  var value = this.getLimitValueAndPosition(this.handleVal1, this.limits.minStart, this.limits.minEnd);
2131
2160
  this.handleVal1 = value[0];
@@ -2146,11 +2175,11 @@ var Slider = /** @class */ (function (_super) {
2146
2175
  this.handleValueAdjust(this.handleVal2, this.limits.maxEnd, 2);
2147
2176
  }
2148
2177
  }
2149
- if (this.handleVal2 === this.max) {
2150
- this.handleValueAdjust(this.handleVal2, this.max, 2);
2178
+ if (this.handleVal2 === (this.min > this.max ? this.min : this.max)) {
2179
+ this.handleValueAdjust(this.handleVal2, (this.min > this.max ? this.min : this.max), 2);
2151
2180
  }
2152
- if (this.handleVal1 === this.min) {
2153
- this.handleValueAdjust(this.handleVal1, this.min, 1);
2181
+ if (this.handleVal1 === (this.min > this.max ? this.max : this.min)) {
2182
+ this.handleValueAdjust(this.handleVal1, (this.min > this.max ? this.max : this.min), 1);
2154
2183
  }
2155
2184
  }
2156
2185
  this.activeHandle = 1;
@@ -2169,7 +2198,7 @@ var Slider = /** @class */ (function (_super) {
2169
2198
  this.secondHandle.classList.remove(classNames.sliderActiveHandle);
2170
2199
  }
2171
2200
  this.closeTooltip();
2172
- if (this.isMaterial) {
2201
+ if (this.isMaterial || this.isMaterial3) {
2173
2202
  this.getHandle().classList.remove('e-large-thumb-size');
2174
2203
  if (this.isMaterialTooltip) {
2175
2204
  this.tooltipElement.classList.remove(classNames.materialTooltipActive);
@@ -2208,7 +2237,7 @@ var Slider = /** @class */ (function (_super) {
2208
2237
  if (this.activeHandle === 1) {
2209
2238
  this.firstHandle.classList.add(classNames.sliderActiveHandle);
2210
2239
  if (!(this.limits.enabled && this.limits.startHandleFixed)) {
2211
- if (handlepos > this.handlePos2) {
2240
+ if ((this.min < this.max && handlepos > this.handlePos2 || (this.min > this.max && handlepos < this.handlePos2))) {
2212
2241
  handlepos = this.handlePos2;
2213
2242
  handleVal = this.handleVal2;
2214
2243
  }
@@ -2227,7 +2256,7 @@ var Slider = /** @class */ (function (_super) {
2227
2256
  else if (this.activeHandle === 2) {
2228
2257
  this.secondHandle.classList.add(classNames.sliderActiveHandle);
2229
2258
  if (!(this.limits.enabled && this.limits.endHandleFixed)) {
2230
- if (handlepos < this.handlePos1) {
2259
+ if ((this.min < this.max && handlepos < this.handlePos1) || (this.min > this.max && handlepos > this.handlePos1)) {
2231
2260
  handlepos = this.handlePos1;
2232
2261
  handleVal = this.handleVal1;
2233
2262
  }
@@ -2252,7 +2281,7 @@ var Slider = /** @class */ (function (_super) {
2252
2281
  this.rangeBar.style.transition = 'none';
2253
2282
  }
2254
2283
  this.setHandlePosition(evt);
2255
- if (this.isMaterial && !this.tooltip.isVisible &&
2284
+ if ((this.isMaterial || this.isMaterial3) && !this.tooltip.isVisible &&
2256
2285
  !this.getHandle().classList.contains(classNames.sliderTabHandle)) {
2257
2286
  this.materialChange();
2258
2287
  }
@@ -2693,7 +2722,9 @@ var Slider = /** @class */ (function (_super) {
2693
2722
  case 'tooltip':
2694
2723
  if (!isNullOrUndefined(newProp.tooltip) && !isNullOrUndefined(oldProp.tooltip)) {
2695
2724
  this.setTooltip(prop);
2696
- this.wireEvents();
2725
+ if (!this.showButtons) {
2726
+ this.wireEvents();
2727
+ }
2697
2728
  }
2698
2729
  break;
2699
2730
  case 'type':
@@ -2811,7 +2842,7 @@ var Slider = /** @class */ (function (_super) {
2811
2842
  this.ul.style.zIndex = (this.zIndex + -7) + '';
2812
2843
  this.element.style.zIndex = (this.zIndex + 2) + '';
2813
2844
  }
2814
- if (!this.isMaterial && !isNullOrUndefined(this.ticks) && this.ticks.placement === 'Both') {
2845
+ if (!this.isMaterial && !this.isMaterial3 && !isNullOrUndefined(this.ticks) && this.ticks.placement === 'Both') {
2815
2846
  this.element.style.zIndex = (this.zIndex + 2) + '';
2816
2847
  }
2817
2848
  this.firstHandle.style.zIndex = (this.zIndex + 3) + '';
@@ -121,10 +121,8 @@ var TextBox = /** @class */ (function (_super) {
121
121
  }
122
122
  break;
123
123
  case 'showClearButton':
124
- if (this.respectiveElement.tagName !== 'TEXTAREA') {
125
- Input.setClearButton(this.showClearButton, this.respectiveElement, this.textboxWrapper);
126
- this.bindClearEvent();
127
- }
124
+ Input.setClearButton(this.showClearButton, this.respectiveElement, this.textboxWrapper);
125
+ this.bindClearEvent();
128
126
  break;
129
127
  case 'enableRtl':
130
128
  Input.setEnableRtl(this.enableRtl, [this.textboxWrapper.container]);
@@ -510,7 +508,7 @@ var TextBox = /** @class */ (function (_super) {
510
508
  }
511
509
  };
512
510
  TextBox.prototype.bindClearEvent = function () {
513
- if (this.showClearButton && this.respectiveElement.tagName !== 'TEXTAREA') {
511
+ if (this.showClearButton) {
514
512
  if (this.enabled) {
515
513
  EventHandler.add(this.textboxWrapper.clearButton, 'mousedown touchstart', this.resetInputHandler, this);
516
514
  }
@@ -161,8 +161,9 @@ export interface UploaderModel extends ComponentModel{
161
161
  * > For more information, refer to the [template](../../uploader/template/) section from the documentation.
162
162
  *
163
163
  * @default null
164
+ * @aspType string
164
165
  */
165
- template?: string;
166
+ template?: string | Function;
166
167
 
167
168
  /**
168
169
  * Specifies a Boolean value that indicates whether the multiple files can be browsed or
@@ -575,8 +575,9 @@ export declare class Uploader extends Component<HTMLInputElement> implements INo
575
575
  * > For more information, refer to the [template](../../uploader/template/) section from the documentation.
576
576
  *
577
577
  * @default null
578
+ * @aspType string
578
579
  */
579
- template: string;
580
+ template: string | Function;
580
581
  /**
581
582
  * Specifies a Boolean value that indicates whether the multiple files can be browsed or
582
583
  * dropped simultaneously in the uploader component.
@@ -1048,7 +1049,8 @@ export declare class Uploader extends Component<HTMLInputElement> implements INo
1048
1049
  * @param { FileInfo[] } fileData - Specifies the files data for file list creation.
1049
1050
  * @returns {void}
1050
1051
  */
1051
- createFileList(fileData: FileInfo[], isSelectedFile?: boolean): void;
1052
+ createFileList(fileData: FileInfo[]): void;
1053
+ private internalCreateFileList;
1052
1054
  private getSlicedName;
1053
1055
  private setListToFileInfo;
1054
1056
  private truncateName;