@syncfusion/ej2-inputs 20.3.57 → 20.4.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 (122) hide show
  1. package/.eslintrc.json +16 -1
  2. package/CHANGELOG.md +7 -16
  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 +884 -63
  7. package/dist/es6/ej2-inputs.es2015.js.map +1 -1
  8. package/dist/es6/ej2-inputs.es5.js +908 -63
  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/rating.d.ts +4 -0
  15. package/rating.js +4 -0
  16. package/src/color-picker/color-picker-model.d.ts +4 -4
  17. package/src/color-picker/color-picker.d.ts +4 -4
  18. package/src/color-picker/color-picker.js +4 -2
  19. package/src/common/signature-base.d.ts +0 -1
  20. package/src/common/signature-base.js +3 -8
  21. package/src/index.d.ts +1 -0
  22. package/src/index.js +1 -0
  23. package/src/input/input.d.ts +1 -0
  24. package/src/input/input.js +5 -1
  25. package/src/maskedtextbox/base/mask-base.d.ts +1 -0
  26. package/src/maskedtextbox/base/mask-base.js +20 -13
  27. package/src/maskedtextbox/maskedtextbox/maskedtextbox-model.d.ts +1 -0
  28. package/src/maskedtextbox/maskedtextbox/maskedtextbox.d.ts +1 -0
  29. package/src/maskedtextbox/maskedtextbox/maskedtextbox.js +16 -7
  30. package/src/numerictextbox/numerictextbox.js +21 -9
  31. package/src/rating/index.d.ts +5 -0
  32. package/src/rating/index.js +4 -0
  33. package/src/rating/rating-model.d.ts +185 -0
  34. package/src/rating/rating.d.ts +344 -0
  35. package/src/rating/rating.js +783 -0
  36. package/src/slider/slider.js +4 -2
  37. package/src/textbox/textbox.js +10 -9
  38. package/src/uploader/uploader-model.d.ts +10 -1
  39. package/src/uploader/uploader.d.ts +8 -0
  40. package/src/uploader/uploader.js +41 -12
  41. package/styles/bootstrap-dark.css +264 -0
  42. package/styles/bootstrap-dark.scss +1 -0
  43. package/styles/bootstrap.css +264 -0
  44. package/styles/bootstrap.scss +1 -0
  45. package/styles/bootstrap4.css +267 -2
  46. package/styles/bootstrap4.scss +1 -0
  47. package/styles/bootstrap5-dark.css +265 -0
  48. package/styles/bootstrap5-dark.scss +1 -0
  49. package/styles/bootstrap5.css +265 -0
  50. package/styles/bootstrap5.scss +1 -0
  51. package/styles/color-picker/_theme.scss +2 -2
  52. package/styles/color-picker/bootstrap4.css +2 -2
  53. package/styles/fabric-dark.css +264 -0
  54. package/styles/fabric-dark.scss +1 -0
  55. package/styles/fabric.css +264 -0
  56. package/styles/fabric.scss +1 -0
  57. package/styles/fluent-dark.css +264 -0
  58. package/styles/fluent-dark.scss +1 -0
  59. package/styles/fluent.css +264 -0
  60. package/styles/fluent.scss +1 -0
  61. package/styles/highcontrast-light.css +264 -0
  62. package/styles/highcontrast-light.scss +1 -0
  63. package/styles/highcontrast.css +264 -0
  64. package/styles/highcontrast.scss +1 -0
  65. package/styles/material-dark.css +264 -0
  66. package/styles/material-dark.scss +1 -0
  67. package/styles/material.css +264 -0
  68. package/styles/material.scss +1 -0
  69. package/styles/rating/_all.scss +2 -0
  70. package/styles/rating/_bootstrap-dark-definition.scss +45 -0
  71. package/styles/rating/_bootstrap-definition.scss +45 -0
  72. package/styles/rating/_bootstrap4-definition.scss +45 -0
  73. package/styles/rating/_bootstrap5-dark-definition.scss +1 -0
  74. package/styles/rating/_bootstrap5-definition.scss +45 -0
  75. package/styles/rating/_fabric-dark-definition.scss +45 -0
  76. package/styles/rating/_fabric-definition.scss +45 -0
  77. package/styles/rating/_fluent-dark-definition.scss +1 -0
  78. package/styles/rating/_fluent-definition.scss +45 -0
  79. package/styles/rating/_fusionnew-definition.scss +45 -0
  80. package/styles/rating/_highcontrast-definition.scss +45 -0
  81. package/styles/rating/_highcontrast-light-definition.scss +45 -0
  82. package/styles/rating/_layout.scss +203 -0
  83. package/styles/rating/_material-dark-definition.scss +45 -0
  84. package/styles/rating/_material-definition.scss +45 -0
  85. package/styles/rating/_material3-definition.scss +45 -0
  86. package/styles/rating/_tailwind-dark-definition.scss +1 -0
  87. package/styles/rating/_tailwind-definition.scss +45 -0
  88. package/styles/rating/_theme.scss +158 -0
  89. package/styles/rating/bootstrap-dark.css +263 -0
  90. package/styles/rating/bootstrap-dark.scss +4 -0
  91. package/styles/rating/bootstrap.css +263 -0
  92. package/styles/rating/bootstrap.scss +4 -0
  93. package/styles/rating/bootstrap4.css +264 -0
  94. package/styles/rating/bootstrap4.scss +4 -0
  95. package/styles/rating/bootstrap5-dark.css +264 -0
  96. package/styles/rating/bootstrap5-dark.scss +4 -0
  97. package/styles/rating/bootstrap5.css +264 -0
  98. package/styles/rating/bootstrap5.scss +4 -0
  99. package/styles/rating/fabric-dark.css +263 -0
  100. package/styles/rating/fabric-dark.scss +4 -0
  101. package/styles/rating/fabric.css +263 -0
  102. package/styles/rating/fabric.scss +4 -0
  103. package/styles/rating/fluent-dark.css +263 -0
  104. package/styles/rating/fluent-dark.scss +4 -0
  105. package/styles/rating/fluent.css +263 -0
  106. package/styles/rating/fluent.scss +4 -0
  107. package/styles/rating/highcontrast-light.css +263 -0
  108. package/styles/rating/highcontrast-light.scss +4 -0
  109. package/styles/rating/highcontrast.css +263 -0
  110. package/styles/rating/highcontrast.scss +4 -0
  111. package/styles/rating/material-dark.css +264 -0
  112. package/styles/rating/material-dark.scss +4 -0
  113. package/styles/rating/material.css +264 -0
  114. package/styles/rating/material.scss +4 -0
  115. package/styles/rating/tailwind-dark.css +269 -0
  116. package/styles/rating/tailwind-dark.scss +4 -0
  117. package/styles/rating/tailwind.css +269 -0
  118. package/styles/rating/tailwind.scss +4 -0
  119. package/styles/tailwind-dark.css +270 -0
  120. package/styles/tailwind-dark.scss +1 -0
  121. package/styles/tailwind.css +270 -0
  122. package/styles/tailwind.scss +1 -0
@@ -523,7 +523,7 @@ var Slider = /** @class */ (function (_super) {
523
523
  Slider.prototype.createSecondHandle = function () {
524
524
  this.secondHandle = this.createElement('div', {
525
525
  attrs: {
526
- class: classNames.sliderHandle, 'role': 'slider', tabIndex: '0'
526
+ class: classNames.sliderHandle, 'role': 'slider', tabIndex: '0', 'aria-label': 'slider'
527
527
  }
528
528
  });
529
529
  this.secondHandle.classList.add(classNames.sliderSecondHandle);
@@ -532,7 +532,7 @@ var Slider = /** @class */ (function (_super) {
532
532
  Slider.prototype.createFirstHandle = function () {
533
533
  this.firstHandle = this.createElement('div', {
534
534
  attrs: {
535
- class: classNames.sliderHandle, 'role': 'slider', tabIndex: '0'
535
+ class: classNames.sliderHandle, 'role': 'slider', tabIndex: '0', 'aria-label': 'slider'
536
536
  }
537
537
  });
538
538
  this.firstHandle.classList.add(classNames.sliderFirstHandle);
@@ -962,6 +962,7 @@ var Slider = /** @class */ (function (_super) {
962
962
  this.sliderContainer.classList.add(classNames.materialSlider);
963
963
  this.tooltipValue();
964
964
  this.tooltipObj.animation.close.effect = 'None';
965
+ // eslint-disable-next-line security/detect-non-literal-fs-filename -- Safe as no value holds user input
965
966
  this.tooltipObj.open(this.firstHandle);
966
967
  }
967
968
  };
@@ -2295,6 +2296,7 @@ var Slider = /** @class */ (function (_super) {
2295
2296
  Slider.prototype.openTooltip = function (target) {
2296
2297
  if (this.tooltip.isVisible && this.tooltipObj && !this.isMaterialTooltip) {
2297
2298
  this.tooltipValue();
2299
+ // eslint-disable-next-line security/detect-non-literal-fs-filename -- Safe as no value holds user input
2298
2300
  this.tooltipObj.open(target);
2299
2301
  this.tooltipTarget = target;
2300
2302
  }
@@ -347,19 +347,19 @@ var TextBox = /** @class */ (function (_super) {
347
347
  var key = _a[_i];
348
348
  if (containerAttr.indexOf(key) > -1) {
349
349
  if (key === 'class') {
350
- var updatedClassValues = this.getInputValidClassList(this.htmlAttributes[key]);
350
+ var updatedClassValues = this.getInputValidClassList(this.htmlAttributes["" + key]);
351
351
  if (updatedClassValues !== '') {
352
352
  addClass([this.textboxWrapper.container], updatedClassValues.split(' '));
353
353
  }
354
354
  }
355
355
  else if (key === 'style') {
356
356
  var setStyle = this.textboxWrapper.container.getAttribute(key);
357
- setStyle = !isNullOrUndefined(setStyle) ? (setStyle + this.htmlAttributes[key]) :
358
- this.htmlAttributes[key];
357
+ setStyle = !isNullOrUndefined(setStyle) ? (setStyle + this.htmlAttributes["" + key]) :
358
+ this.htmlAttributes["" + key];
359
359
  this.textboxWrapper.container.setAttribute(key, setStyle);
360
360
  }
361
361
  else {
362
- this.textboxWrapper.container.setAttribute(key, this.htmlAttributes[key]);
362
+ this.textboxWrapper.container.setAttribute(key, this.htmlAttributes["" + key]);
363
363
  }
364
364
  }
365
365
  }
@@ -370,7 +370,7 @@ var TextBox = /** @class */ (function (_super) {
370
370
  for (var _i = 0, _a = Object.keys(this.htmlAttributes); _i < _a.length; _i++) {
371
371
  var key = _a[_i];
372
372
  if (containerAttr.indexOf(key) < 0) {
373
- this.element.setAttribute(key, this.htmlAttributes[key]);
373
+ this.element.setAttribute(key, this.htmlAttributes["" + key]);
374
374
  }
375
375
  }
376
376
  }
@@ -576,6 +576,7 @@ var TextBox = /** @class */ (function (_super) {
576
576
  detach(this.textboxWrapper.container);
577
577
  }
578
578
  this.textboxWrapper = null;
579
+ Input.destroy();
579
580
  _super.prototype.destroy.call(this);
580
581
  };
581
582
  /**
@@ -617,17 +618,17 @@ var TextBox = /** @class */ (function (_super) {
617
618
  Input.setReadonly(this.readonly, this.respectiveElement);
618
619
  }
619
620
  else if (key === 'class') {
620
- this.respectiveElement.classList.add(attributes[key]);
621
+ this.respectiveElement.classList.add(attributes["" + key]);
621
622
  }
622
623
  else if (key === 'placeholder') {
623
- this.setProperties({ placeholder: attributes[key] }, true);
624
+ this.setProperties({ placeholder: attributes["" + key] }, true);
624
625
  Input.setPlaceholder(this.placeholder, this.respectiveElement);
625
626
  }
626
627
  else if (key === 'rows' && this.respectiveElement.tagName === 'TEXTAREA') {
627
- this.respectiveElement.setAttribute(key, attributes[key]);
628
+ this.respectiveElement.setAttribute(key, attributes["" + key]);
628
629
  }
629
630
  else {
630
- this.respectiveElement.setAttribute(key, attributes[key]);
631
+ this.respectiveElement.setAttribute(key, attributes["" + key]);
631
632
  }
632
633
  }
633
634
  };
@@ -1,4 +1,4 @@
1
- import { Component, Property, Event, EmitType, EventHandler, L10n, compile, isNullOrUndefined} from '@syncfusion/ej2-base';import { NotifyPropertyChanges, INotifyPropertyChanged, detach, append, Animation } from '@syncfusion/ej2-base';import { addClass, removeClass, KeyboardEvents, KeyboardEventArgs, setValue, getValue, ChildProperty } from '@syncfusion/ej2-base';import { Collection, Complex, Browser, Ajax, BeforeSendEventArgs, getUniqueID, closest, remove } from '@syncfusion/ej2-base';import { createSpinner, showSpinner, hideSpinner } from '@syncfusion/ej2-popups';import { select, selectAll } from '@syncfusion/ej2-base';
1
+ import { Component, Property, Event, EmitType, EventHandler, L10n, compile, isNullOrUndefined, SanitizeHtmlHelper} from '@syncfusion/ej2-base';import { NotifyPropertyChanges, INotifyPropertyChanged, detach, append, Animation } from '@syncfusion/ej2-base';import { addClass, removeClass, KeyboardEvents, KeyboardEventArgs, setValue, getValue, ChildProperty } from '@syncfusion/ej2-base';import { Collection, Complex, Browser, Ajax, BeforeSendEventArgs, getUniqueID, closest, remove } from '@syncfusion/ej2-base';import { createSpinner, showSpinner, hideSpinner } from '@syncfusion/ej2-popups';import { select, selectAll } from '@syncfusion/ej2-base';
2
2
  import {DropEffect,ActionCompleteEventArgs,RenderingEventArgs,BeforeUploadEventArgs,FileListRenderingEventArgs,SelectedEventArgs,UploadingEventArgs,RemovingEventArgs,BeforeRemoveEventArgs,ClearingEventArgs,CancelEventArgs,PauseResumeEventArgs} from "./uploader";
3
3
  import {ComponentModel} from '@syncfusion/ej2-base';
4
4
 
@@ -132,6 +132,7 @@ export interface UploaderModel extends ComponentModel{
132
132
  /**
133
133
  * You can add the additional html attributes such as disabled, value etc., to the element.
134
134
  * If you configured both property and equivalent html attribute then the component considers the property value.
135
+ *
135
136
  * {% codeBlock src='uploader/htmlAttributes/index.md' %}{% endcodeBlock %}
136
137
  *
137
138
  * @default {}
@@ -180,6 +181,14 @@ export interface UploaderModel extends ComponentModel{
180
181
  */
181
182
  autoUpload?: boolean;
182
183
 
184
+ /**
185
+ * Specifies Boolean value that indicates whether to prevent the cross site scripting code in filename or not.
186
+ * The uploader component removes the cross-site scripting code or functions from the filename and shows the validation error message to the user when enableHtmlSanitizer is true.
187
+ *
188
+ * @default true
189
+ */
190
+ enableHtmlSanitizer?: boolean;
191
+
183
192
  /**
184
193
  * You can customize the default text of “browse, clear, and upload” buttons with plain text or HTML elements.
185
194
  * The buttons’ text can be customized from localization also. If you configured both locale and buttons property,
@@ -547,6 +547,7 @@ export declare class Uploader extends Component<HTMLInputElement> implements INo
547
547
  /**
548
548
  * You can add the additional html attributes such as disabled, value etc., to the element.
549
549
  * If you configured both property and equivalent html attribute then the component considers the property value.
550
+ *
550
551
  * {% codeBlock src='uploader/htmlAttributes/index.md' %}{% endcodeBlock %}
551
552
  *
552
553
  * @default {}
@@ -591,6 +592,13 @@ export declare class Uploader extends Component<HTMLInputElement> implements INo
591
592
  * @default true
592
593
  */
593
594
  autoUpload: boolean;
595
+ /**
596
+ * Specifies Boolean value that indicates whether to prevent the cross site scripting code in filename or not.
597
+ * The uploader component removes the cross-site scripting code or functions from the filename and shows the validation error message to the user when enableHtmlSanitizer is true.
598
+ *
599
+ * @default true
600
+ */
601
+ enableHtmlSanitizer: boolean;
594
602
  /**
595
603
  * You can customize the default text of “browse, clear, and upload” buttons with plain text or HTML elements.
596
604
  * The buttons’ text can be customized from localization also. If you configured both locale and buttons property,
@@ -18,7 +18,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
18
18
  return c > 3 && r && Object.defineProperty(target, key, r), r;
19
19
  };
20
20
  /* eslint-disable @typescript-eslint/no-explicit-any */
21
- import { Component, Property, Event, EventHandler, L10n, compile, isNullOrUndefined } from '@syncfusion/ej2-base';
21
+ import { Component, Property, Event, EventHandler, L10n, compile, isNullOrUndefined, SanitizeHtmlHelper } from '@syncfusion/ej2-base';
22
22
  import { NotifyPropertyChanges, detach, append, Animation } from '@syncfusion/ej2-base';
23
23
  import { addClass, removeClass, KeyboardEvents, setValue, getValue, ChildProperty } from '@syncfusion/ej2-base';
24
24
  import { Collection, Complex, Browser, Ajax, getUniqueID, closest, remove } from '@syncfusion/ej2-base';
@@ -265,7 +265,7 @@ var Uploader = /** @class */ (function (_super) {
265
265
  var keyValue;
266
266
  for (var _i = 0, _a = Object.keys(this.preLocaleObj); _i < _a.length; _i++) {
267
267
  var key = _a[_i];
268
- if (this.preLocaleObj[key] === val) {
268
+ if (this.preLocaleObj["" + key] === val) {
269
269
  keyValue = key;
270
270
  }
271
271
  }
@@ -316,7 +316,7 @@ var Uploader = /** @class */ (function (_super) {
316
316
  }
317
317
  };
318
318
  Uploader.prototype.preRender = function () {
319
- this.localeText = { Browse: 'Browse...', Clear: 'Clear', Upload: 'Upload',
319
+ this.localeText = { Browse: 'Browse...', Clear: 'Clear', Upload: 'Upload', invalidFileName: 'File Name is not allowed',
320
320
  dropFilesHint: 'Or drop files here', invalidMaxFileSize: 'File size is too large',
321
321
  invalidMinFileSize: 'File size is too small', invalidFileType: 'File type is not allowed',
322
322
  uploadFailedMessage: 'File failed to upload', uploadSuccessMessage: 'File uploaded successfully',
@@ -643,7 +643,7 @@ var Uploader = /** @class */ (function (_super) {
643
643
  for (var _i = 0, _a = Object.keys(this.htmlAttributes); _i < _a.length; _i++) {
644
644
  var pro = _a[_i];
645
645
  if (wrapperAttr.indexOf(pro) < 0) {
646
- this.element.setAttribute(pro, this.htmlAttributes[pro]);
646
+ this.element.setAttribute(pro, this.htmlAttributes["" + pro]);
647
647
  }
648
648
  }
649
649
  }
@@ -654,19 +654,19 @@ var Uploader = /** @class */ (function (_super) {
654
654
  var pro = _a[_i];
655
655
  if (wrapperAttr.indexOf(pro) > -1) {
656
656
  if (pro === 'class') {
657
- var updatedClassValues = (this.htmlAttributes[pro].replace(/\s+/g, ' ')).trim();
657
+ var updatedClassValues = (this.htmlAttributes["" + pro].replace(/\s+/g, ' ')).trim();
658
658
  if (updatedClassValues !== '') {
659
659
  addClass([this.uploadWrapper], updatedClassValues.split(' '));
660
660
  }
661
661
  }
662
662
  else if (pro === 'style') {
663
663
  var uploadStyle = this.uploadWrapper.getAttribute(pro);
664
- uploadStyle = !isNullOrUndefined(uploadStyle) ? (uploadStyle + this.htmlAttributes[pro]) :
665
- this.htmlAttributes[pro];
664
+ uploadStyle = !isNullOrUndefined(uploadStyle) ? (uploadStyle + this.htmlAttributes["" + pro]) :
665
+ this.htmlAttributes["" + pro];
666
666
  this.uploadWrapper.setAttribute(pro, uploadStyle);
667
667
  }
668
668
  else {
669
- this.uploadWrapper.setAttribute(pro, this.htmlAttributes[pro]);
669
+ this.uploadWrapper.setAttribute(pro, this.htmlAttributes["" + pro]);
670
670
  }
671
671
  }
672
672
  }
@@ -701,7 +701,9 @@ var Uploader = /** @class */ (function (_super) {
701
701
  Uploader.prototype.sequenceUpload = function (fileData) {
702
702
  if (this.filesData.length - fileData.length === 0 ||
703
703
  this.filesData[(this.filesData.length - fileData.length - 1)].statusCode !== '1') {
704
- ++this.count;
704
+ if (this.multiple || this.count < 0) {
705
+ ++this.count;
706
+ }
705
707
  var isFileListCreated = this.showFileList ? false : true;
706
708
  if (typeof this.filesData[this.count] === 'object') {
707
709
  this.isFirstFileOnSelection = false;
@@ -1049,7 +1051,7 @@ var Uploader = /** @class */ (function (_super) {
1049
1051
  var data = customData[i];
1050
1052
  // eslint-disable-next-line @typescript-eslint/tslint/config
1051
1053
  var value = Object.keys(data).map(function (e) {
1052
- return data[e];
1054
+ return data["" + e];
1053
1055
  });
1054
1056
  formData.append(Object.keys(data)[0], value);
1055
1057
  };
@@ -1065,7 +1067,7 @@ var Uploader = /** @class */ (function (_super) {
1065
1067
  var data = currentRequest[i];
1066
1068
  // eslint-disable-next-line @typescript-eslint/tslint/config
1067
1069
  var value = Object.keys(data).map(function (e) {
1068
- return data[e];
1070
+ return data["" + e];
1069
1071
  });
1070
1072
  request.setRequestHeader(Object.keys(data)[0], value);
1071
1073
  };
@@ -1276,6 +1278,20 @@ var Uploader = /** @class */ (function (_super) {
1276
1278
  if (this.allowedExtensions.indexOf('*') > -1) {
1277
1279
  this.allTypes = true;
1278
1280
  }
1281
+ if (this.enableHtmlSanitizer) {
1282
+ for (var i = 0; i < fileData.length; i++) {
1283
+ var sanitizeFile = SanitizeHtmlHelper.beforeSanitize();
1284
+ var sanitizeFileName = SanitizeHtmlHelper.serializeValue(sanitizeFile, fileData[i].name);
1285
+ if (sanitizeFileName != fileData[i].name) {
1286
+ var encodedFileName = targetFiles[i].name.replace(/[\u00A0-\u9999<>\&]/g, function (i) {
1287
+ return '&#' + i.charCodeAt(0) + ';';
1288
+ });
1289
+ fileData[i].name = encodedFileName;
1290
+ fileData[i].status = this.localizedTexts('invalidFileName');
1291
+ fileData[i].statusCode = '0';
1292
+ }
1293
+ }
1294
+ }
1279
1295
  if (!this.allTypes) {
1280
1296
  fileData = this.checkExtension(fileData);
1281
1297
  }
@@ -2052,7 +2068,9 @@ var Uploader = /** @class */ (function (_super) {
2052
2068
  this.pauseButton = null;
2053
2069
  }
2054
2070
  /* istanbul ignore next */
2055
- liElement.classList.add(RESTRICT_RETRY);
2071
+ if (!isNullOrUndefined(liElement)) {
2072
+ liElement.classList.add(RESTRICT_RETRY);
2073
+ }
2056
2074
  this.upload([file]);
2057
2075
  };
2058
2076
  /* istanbul ignore next */
@@ -2879,6 +2897,14 @@ var Uploader = /** @class */ (function (_super) {
2879
2897
  detach(this.uploadWrapper);
2880
2898
  }
2881
2899
  this.uploadWrapper = null;
2900
+ this.uploadWrapper = null;
2901
+ this.browseButton = null;
2902
+ this.dropAreaWrapper = null;
2903
+ this.dropZoneElement = null;
2904
+ this.dropArea = null;
2905
+ this.keyboardModule = null;
2906
+ this.clearButton = null;
2907
+ this.uploadButton = null;
2882
2908
  _super.prototype.destroy.call(this);
2883
2909
  };
2884
2910
  /**
@@ -3378,6 +3404,9 @@ var Uploader = /** @class */ (function (_super) {
3378
3404
  __decorate([
3379
3405
  Property(true)
3380
3406
  ], Uploader.prototype, "autoUpload", void 0);
3407
+ __decorate([
3408
+ Property(true)
3409
+ ], Uploader.prototype, "enableHtmlSanitizer", void 0);
3381
3410
  __decorate([
3382
3411
  Complex({}, ButtonsProps)
3383
3412
  ], Uploader.prototype, "buttons", void 0);
@@ -6766,4 +6766,268 @@ body.e-colorpicker-overflow {
6766
6766
  .e-popup.e-tooltip-wrap.e-color-picker-tooltip {
6767
6767
  background-color: #fff;
6768
6768
  border-color: #fff;
6769
+ }
6770
+
6771
+ .e-rating-container {
6772
+ display: -ms-inline-flexbox;
6773
+ display: inline-flex;
6774
+ -ms-flex-wrap: wrap;
6775
+ flex-wrap: wrap;
6776
+ -ms-flex-pack: center;
6777
+ justify-content: center;
6778
+ -ms-flex-align: center;
6779
+ align-items: center;
6780
+ min-width: max-content;
6781
+ }
6782
+ .e-rating-container .e-rating {
6783
+ display: none;
6784
+ }
6785
+ .e-rating-container .e-rating-item-list {
6786
+ display: -ms-inline-flexbox;
6787
+ display: inline-flex;
6788
+ padding: 0;
6789
+ margin: 4px;
6790
+ }
6791
+ .e-rating-container .e-rating-item-list:focus-visible:not(:hover) .e-rating-focus {
6792
+ outline: 1px solid;
6793
+ }
6794
+ .e-rating-container .e-rating-item-list:focus-visible {
6795
+ outline: none;
6796
+ }
6797
+ .e-rating-container.e-rating-readonly {
6798
+ cursor: default;
6799
+ pointer-events: none;
6800
+ }
6801
+ .e-rating-container .e-rating-item-container {
6802
+ cursor: pointer;
6803
+ font-size: 20px;
6804
+ padding: 4px;
6805
+ line-height: 9px;
6806
+ display: block;
6807
+ position: relative;
6808
+ }
6809
+ .e-rating-container .e-rating-item-container .e-rating-item {
6810
+ display: block;
6811
+ }
6812
+ .e-rating-container.e-rating-animation:not(.e-disabled) .e-rating-item-container:hover .e-rating-item {
6813
+ transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
6814
+ transform: scale(1.4);
6815
+ }
6816
+ .e-rating-container.e-disabled {
6817
+ cursor: default;
6818
+ pointer-events: none;
6819
+ }
6820
+ .e-rating-container.e-rating-hidden {
6821
+ display: none;
6822
+ }
6823
+ .e-rating-container .e-reset {
6824
+ cursor: pointer;
6825
+ margin: auto 2px 6px;
6826
+ font-size: 16px;
6827
+ padding: 2px;
6828
+ }
6829
+ .e-rating-container .e-reset.e-disabled {
6830
+ cursor: default;
6831
+ }
6832
+ .e-rating-container .e-rating-label {
6833
+ font-size: 12px;
6834
+ line-height: 18px;
6835
+ }
6836
+ .e-rating-container .e-rating-label.e-label-right, .e-rating-container .e-rating-label.e-label-left {
6837
+ min-width: 50px;
6838
+ }
6839
+ .e-rating-container .e-rating-label.e-label-bottom, .e-rating-container .e-rating-label.e-label-top {
6840
+ -ms-flex-preferred-size: 100%;
6841
+ flex-basis: 100%;
6842
+ width: 0;
6843
+ text-align: center;
6844
+ }
6845
+ .e-rating-container .e-rating-label.e-label-right {
6846
+ text-align: left;
6847
+ margin: auto 4px;
6848
+ }
6849
+ .e-rating-container .e-rating-label.e-label-left {
6850
+ text-align: right;
6851
+ margin: auto 4px;
6852
+ }
6853
+ .e-rating-container .e-rating-label.e-label-top {
6854
+ margin: 8px 0;
6855
+ }
6856
+ .e-rating-container .e-rating-label.e-label-bottom {
6857
+ margin: 8px 0;
6858
+ }
6859
+ .e-rating-container.e-rtl .e-rating-label.e-label-right {
6860
+ text-align: right;
6861
+ }
6862
+ .e-rating-container.e-rtl .e-rating-label.e-label-left {
6863
+ text-align: left;
6864
+ }
6865
+ .e-rating-container .e-tooltip-wrap.e-rating-tooltip {
6866
+ display: none;
6867
+ -ms-flex-pack: center;
6868
+ justify-content: center;
6869
+ left: 50%;
6870
+ top: -8px;
6871
+ transform: translate(-50%, -100%);
6872
+ }
6873
+ .e-rating-container .e-tooltip-wrap.e-rating-tooltip.e-show-tooltip {
6874
+ display: -ms-inline-flexbox;
6875
+ display: inline-flex;
6876
+ }
6877
+ .e-rating-container .e-tooltip-wrap.e-rating-tooltip .e-tip-content {
6878
+ width: max-content;
6879
+ }
6880
+ .e-rating-container .e-tooltip-wrap.e-rating-tooltip .e-arrow-tip.e-tip-bottom {
6881
+ left: 50%;
6882
+ top: 100%;
6883
+ transform: translate(-50%, 0);
6884
+ }
6885
+ .e-rating-container .e-tooltip-wrap.e-rating-tooltip .e-arrow-tip-inner.e-tip-bottom {
6886
+ top: -6px;
6887
+ }
6888
+
6889
+ .e-rating-tooltip .e-tip-content {
6890
+ text-align: center;
6891
+ }
6892
+
6893
+ .e-small.e-rating-container .e-rating-item-container,
6894
+ .e-small .e-rating-container .e-rating-item-container {
6895
+ font-size: 16px;
6896
+ line-height: 4px;
6897
+ }
6898
+ .e-small.e-rating-container .e-rating-label,
6899
+ .e-small .e-rating-container .e-rating-label {
6900
+ font-size: 10px;
6901
+ line-height: 16px;
6902
+ }
6903
+ .e-small.e-rating-container .e-reset,
6904
+ .e-small .e-rating-container .e-reset {
6905
+ font-size: 12px;
6906
+ }
6907
+
6908
+ .e-bigger.e-rating-container .e-rating-item-container,
6909
+ .e-bigger .e-rating-container .e-rating-item-container {
6910
+ font-size: 32px;
6911
+ line-height: 16px;
6912
+ }
6913
+ .e-bigger.e-rating-container .e-rating-label,
6914
+ .e-bigger .e-rating-container .e-rating-label {
6915
+ font-size: 14px;
6916
+ line-height: 22px;
6917
+ }
6918
+ .e-bigger.e-rating-container .e-reset,
6919
+ .e-bigger .e-rating-container .e-reset {
6920
+ font-size: 28px;
6921
+ }
6922
+
6923
+ .e-bigger.e-small.e-rating-container .e-rating-item-container,
6924
+ .e-bigger.e-small .e-rating-container .e-rating-item-container,
6925
+ .e-bigger .e-small.e-rating-container .e-rating-item-container,
6926
+ .e-small .e-bigger.e-rating-container .e-rating-item-container {
6927
+ font-size: 26px;
6928
+ line-height: 9px;
6929
+ }
6930
+ .e-bigger.e-small.e-rating-container .e-rating-label,
6931
+ .e-bigger.e-small .e-rating-container .e-rating-label,
6932
+ .e-bigger .e-small.e-rating-container .e-rating-label,
6933
+ .e-small .e-bigger.e-rating-container .e-rating-label {
6934
+ font-size: 12px;
6935
+ line-height: 18px;
6936
+ }
6937
+ .e-bigger.e-small.e-rating-container .e-reset,
6938
+ .e-bigger.e-small .e-rating-container .e-reset,
6939
+ .e-bigger .e-small.e-rating-container .e-reset,
6940
+ .e-small .e-bigger.e-rating-container .e-reset {
6941
+ font-size: 22px;
6942
+ }
6943
+
6944
+ .e-rating-container .e-rating-item-list:focus .e-rating-focus {
6945
+ outline-color: #676767;
6946
+ border-radius: 2px;
6947
+ }
6948
+ .e-rating-container .e-reset {
6949
+ color: #acacac;
6950
+ }
6951
+ .e-rating-container .e-reset:hover {
6952
+ color: #676767;
6953
+ }
6954
+ .e-rating-container .e-reset.e-disabled {
6955
+ color: #505050;
6956
+ }
6957
+ .e-rating-container .e-rating-item-container .e-rating-icon {
6958
+ -webkit-text-fill-color: transparent;
6959
+ -webkit-text-stroke: 1px #676767;
6960
+ }
6961
+ .e-rating-container .e-rating-item-container.e-rating-selected .e-rating-icon, .e-rating-container .e-rating-item-container.e-rating-intermediate .e-rating-icon {
6962
+ background: linear-gradient(to right, #acacac var(--rating-value), transparent var(--rating-value));
6963
+ background-clip: text;
6964
+ /* stylelint-disable property-no-vendor-prefix */
6965
+ -webkit-background-clip: text;
6966
+ /* stylelint-enable property-no-vendor-prefix */
6967
+ -webkit-text-stroke: 1px #acacac;
6968
+ }
6969
+ .e-rating-container .e-rating-item-container.e-selected-value .e-rating-icon {
6970
+ -webkit-text-stroke: 1px #57a5ff;
6971
+ }
6972
+ .e-rating-container .e-rating-item-list:hover .e-rating-item-container.e-rating-selected .e-rating-icon, .e-rating-container .e-rating-item-list:hover .e-rating-item-container.e-rating-intermediate .e-rating-icon {
6973
+ background: linear-gradient(to right, #57a5ff var(--rating-value), transparent var(--rating-value));
6974
+ background-clip: text;
6975
+ /* stylelint-disable property-no-vendor-prefix */
6976
+ -webkit-background-clip: text;
6977
+ /* stylelint-enable property-no-vendor-prefix */
6978
+ -webkit-text-stroke: 1px #57a5ff;
6979
+ }
6980
+ .e-rating-container .e-rating-item-list .e-rating-item-container.e-rating-selected:active .e-rating-icon, .e-rating-container .e-rating-item-list .e-rating-item-container.e-rating-intermediate:active .e-rating-icon {
6981
+ background: linear-gradient(to right, #57a5ff var(--rating-value), transparent var(--rating-value));
6982
+ background-clip: text;
6983
+ /* stylelint-disable property-no-vendor-prefix */
6984
+ -webkit-background-clip: text;
6985
+ /* stylelint-enable property-no-vendor-prefix */
6986
+ -webkit-text-stroke: 1px #57a5ff;
6987
+ }
6988
+ .e-rating-container.e-rtl .e-rating-item-container.e-rating-selected .e-rating-icon, .e-rating-container.e-rtl .e-rating-item-container.e-rating-intermediate .e-rating-icon {
6989
+ background: linear-gradient(to left, #acacac var(--rating-value), transparent var(--rating-value));
6990
+ background-clip: text;
6991
+ /* stylelint-disable property-no-vendor-prefix */
6992
+ -webkit-background-clip: text;
6993
+ /* stylelint-enable property-no-vendor-prefix */
6994
+ }
6995
+ .e-rating-container.e-rtl .e-rating-item-list:hover .e-rating-item-container.e-rating-selected .e-rating-icon, .e-rating-container.e-rtl .e-rating-item-list:hover .e-rating-item-container.e-rating-intermediate .e-rating-icon {
6996
+ background: linear-gradient(to left, #57a5ff var(--rating-value), transparent var(--rating-value));
6997
+ background-clip: text;
6998
+ /* stylelint-disable property-no-vendor-prefix */
6999
+ -webkit-background-clip: text;
7000
+ /* stylelint-enable property-no-vendor-prefix */
7001
+ }
7002
+ .e-rating-container.e-rtl .e-rating-item-list .e-rating-item-container.e-rating-selected:active .e-rating-icon, .e-rating-container.e-rtl .e-rating-item-list .e-rating-item-container.e-rating-intermediate:active .e-rating-icon {
7003
+ background: linear-gradient(to left, #57a5ff var(--rating-value), transparent var(--rating-value));
7004
+ background-clip: text;
7005
+ /* stylelint-disable property-no-vendor-prefix */
7006
+ -webkit-background-clip: text;
7007
+ /* stylelint-enable property-no-vendor-prefix */
7008
+ }
7009
+ .e-rating-container.e-disabled .e-rating-item-container .e-rating-icon {
7010
+ -webkit-text-stroke: 1px #505050;
7011
+ }
7012
+ .e-rating-container.e-disabled .e-rating-item-container.e-rating-selected .e-rating-icon, .e-rating-container.e-disabled .e-rating-item-container.e-rating-intermediate .e-rating-icon {
7013
+ background: linear-gradient(to right, #505050 var(--rating-value), transparent var(--rating-value));
7014
+ background-clip: text;
7015
+ /* stylelint-disable property-no-vendor-prefix */
7016
+ -webkit-background-clip: text;
7017
+ /* stylelint-enable property-no-vendor-prefix */
7018
+ -webkit-text-stroke: 1px #505050;
7019
+ }
7020
+ .e-rating-container.e-disabled.e-rtl .e-rating-item-container .e-rating-icon {
7021
+ background: linear-gradient(to left, #505050 var(--rating-value), transparent var(--rating-value));
7022
+ background-clip: text;
7023
+ /* stylelint-disable property-no-vendor-prefix */
7024
+ -webkit-background-clip: text;
7025
+ /* stylelint-enable property-no-vendor-prefix */
7026
+ }
7027
+ .e-rating-container.e-disabled.e-rtl.e-rating-selected .e-rating-icon, .e-rating-container.e-disabled.e-rtl.e-rating-intermediate .e-rating-icon {
7028
+ background: linear-gradient(to left, #505050 var(--rating-value), transparent var(--rating-value));
7029
+ background-clip: text;
7030
+ /* stylelint-disable property-no-vendor-prefix */
7031
+ -webkit-background-clip: text;
7032
+ /* stylelint-enable property-no-vendor-prefix */
6769
7033
  }
@@ -6,3 +6,4 @@
6
6
  @import 'textbox/bootstrap-dark.scss';
7
7
  @import 'uploader/bootstrap-dark.scss';
8
8
  @import 'color-picker/bootstrap-dark.scss';
9
+ @import 'rating/bootstrap-dark.scss';