@progress/kendo-angular-inputs 7.5.1-dev.202110280909 → 7.5.3

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 (41) hide show
  1. package/dist/cdn/js/kendo-angular-inputs.js +2 -2
  2. package/dist/cdn/main.js +1 -1
  3. package/dist/es/package-metadata.js +1 -1
  4. package/dist/es/rangeslider/rangeslider-model.js +4 -7
  5. package/dist/es/rangeslider/rangeslider.component.js +1 -1
  6. package/dist/es/shared/utils.js +23 -0
  7. package/dist/es/slider/slider-model.js +3 -5
  8. package/dist/es/slider/slider.component.js +2 -2
  9. package/dist/es/sliders-common/slider-model.base.js +7 -10
  10. package/dist/es/sliders-common/slider-ticks.component.js +3 -10
  11. package/dist/es/sliders-common/sliders-util.js +2 -3
  12. package/dist/es/textbox/textbox.component.js +3 -1
  13. package/dist/es2015/index.metadata.json +1 -1
  14. package/dist/es2015/package-metadata.js +1 -1
  15. package/dist/es2015/rangeslider/rangeslider-model.js +4 -7
  16. package/dist/es2015/rangeslider/rangeslider.component.js +55 -54
  17. package/dist/es2015/shared/utils.d.ts +16 -0
  18. package/dist/es2015/shared/utils.js +23 -0
  19. package/dist/es2015/slider/slider-model.d.ts +1 -1
  20. package/dist/es2015/slider/slider-model.js +3 -5
  21. package/dist/es2015/slider/slider.component.js +56 -59
  22. package/dist/es2015/sliders-common/slider-model.base.js +7 -10
  23. package/dist/es2015/sliders-common/slider-ticks.component.d.ts +0 -2
  24. package/dist/es2015/sliders-common/slider-ticks.component.js +6 -10
  25. package/dist/es2015/sliders-common/sliders-util.d.ts +2 -2
  26. package/dist/es2015/sliders-common/sliders-util.js +2 -3
  27. package/dist/es2015/textbox/textbox.component.js +3 -1
  28. package/dist/fesm2015/index.js +153 -157
  29. package/dist/fesm5/index.js +42 -48
  30. package/dist/npm/package-metadata.js +1 -1
  31. package/dist/npm/rangeslider/rangeslider-model.js +4 -7
  32. package/dist/npm/rangeslider/rangeslider.component.js +1 -1
  33. package/dist/npm/shared/utils.js +25 -0
  34. package/dist/npm/slider/slider-model.js +3 -5
  35. package/dist/npm/slider/slider.component.js +2 -2
  36. package/dist/npm/sliders-common/slider-model.base.js +6 -9
  37. package/dist/npm/sliders-common/slider-ticks.component.js +2 -9
  38. package/dist/npm/sliders-common/sliders-util.js +2 -3
  39. package/dist/npm/textbox/textbox.component.js +6 -4
  40. package/dist/systemjs/kendo-angular-inputs.js +1 -1
  41. package/package.json +15 -12
@@ -10,7 +10,7 @@ import { take, filter, concatMap, startWith, takeUntil, skip, debounceTime, thro
10
10
  import { LocalizationService, L10N_PREFIX, RTL, ComponentMessages, MessageService } from '@progress/kendo-angular-l10n';
11
11
  import { Keys, guid, hasObservers, anyChanged, isDocumentAvailable, KendoInput, isChanged, DraggableModule, EventsModule, ResizeSensorModule } from '@progress/kendo-angular-common';
12
12
  import { validatePackage } from '@progress/kendo-licensing';
13
- import { browser, mobileOS } from '@progress/kendo-common';
13
+ import { browser, mobileOS, detectDesktopBrowser, detectMobileOS } from '@progress/kendo-common';
14
14
  import { IntlService } from '@progress/kendo-angular-intl';
15
15
  import { CommonModule } from '@angular/common';
16
16
  import { PopupService, PopupModule } from '@progress/kendo-angular-popup';
@@ -113,15 +113,6 @@ const remainder = (dividend, divisor) => {
113
113
  * @hidden
114
114
  */
115
115
  const calculateFixedTrackSize = ({ max, min, smallStep, fixedTickWidth }) => ((max - min) / smallStep) * fixedTickWidth;
116
- /**
117
- * @hidden
118
- */
119
- const calculateTrackSize = (wrapperWidth, offset, showButtons = true) => {
120
- const BUTTONS_COUNT = 2;
121
- const trackOffset = showButtons ? parseFloat(offset) * BUTTONS_COUNT : 0;
122
- const trackWidth = wrapperWidth - trackOffset;
123
- return Math.floor(trackWidth);
124
- };
125
116
  /**
126
117
  * @hidden
127
118
  */
@@ -144,14 +135,13 @@ const calculateValueFromTick = (index, { max, min, smallStep, reverse, vertical
144
135
  /**
145
136
  * @hidden
146
137
  */
147
- const calculateHandlePosition = ({ handleWidth, trackWidth, min, max, reverse, value }) => {
148
- const halfHandleWidth = Math.floor(handleWidth / 2);
138
+ const calculateHandlePosition = ({ trackWidth, min, max, reverse, value }) => {
149
139
  const step = trackWidth / Math.abs(max - min);
150
140
  let pos = isPresent(value) ? step * (value - min) : min;
151
141
  if (reverse) {
152
142
  pos = trackWidth - pos;
153
143
  }
154
- return Math.floor(pos - halfHandleWidth);
144
+ return Math.floor(pos);
155
145
  };
156
146
  /**
157
147
  * @hidden
@@ -314,8 +304,10 @@ class SliderModelBase {
314
304
  }
315
305
  resizeTrack() {
316
306
  const orientation = this.props.vertical ? 'height' : 'width';
307
+ const altOrientation = this.props.vertical ? 'width' : 'height';
317
308
  const trackWidth = this.trackWidth();
318
- this.track.style[orientation] = `${trackWidth}px`;
309
+ this.track.parentElement.style[orientation] = `${trackWidth}px`;
310
+ this.track.parentElement.style[altOrientation] = '';
319
311
  }
320
312
  resizeTicks(ticksContainer, ticks) {
321
313
  const dimension = this.props.vertical ? "height" : "width";
@@ -326,22 +318,17 @@ class SliderModelBase {
326
318
  }
327
319
  resizeWrapper() {
328
320
  const dimension = this.props.vertical ? "height" : "width";
329
- const wrapperSize = this.elementSize(this.wrapper);
330
- const trackWidth = calculateTrackSize(wrapperSize, this.elementOffset(this.track));
331
321
  const fixedTrackWidth = calculateFixedTrackSize(this.props);
332
322
  const wrapperParentEl = this.wrapper.parentElement;
333
- if (trackWidth > fixedTrackWidth) {
334
- wrapperParentEl.style[dimension] = `${wrapperSize - (trackWidth - fixedTrackWidth)}px`;
335
- }
336
- else {
337
- wrapperParentEl.style[dimension] = `${wrapperSize + (fixedTrackWidth - trackWidth)}px`;
323
+ if (fixedTrackWidth) {
324
+ wrapperParentEl.style[dimension] = "auto";
338
325
  }
339
326
  }
340
327
  trackWidth() {
341
328
  if (this.props.fixedTickWidth) {
342
329
  return calculateFixedTrackSize(this.props);
343
330
  }
344
- return calculateTrackSize(this.elementSize(this.wrapper), this.elementOffset(this.track), this.props.buttons);
331
+ return this.elementSize(this.track.parentElement);
345
332
  }
346
333
  getTickSizes() {
347
334
  const { min, max, smallStep } = this.props;
@@ -403,16 +390,14 @@ class SliderModel extends SliderModelBase {
403
390
  max,
404
391
  reverse,
405
392
  value,
406
- trackWidth,
407
- handleWidth: dragHandle.offsetWidth
393
+ trackWidth
408
394
  });
409
395
  this.renderer.setStyle(dragHandle, position, `${this.handlePosition}px`);
410
396
  }
411
- positionSelection(dragHandle, selection) {
397
+ positionSelection(selection) {
412
398
  const { reverse, vertical } = this.props;
413
399
  const dimension = vertical ? 'height' : 'width';
414
- const handleWidth = Math.floor(dragHandle.offsetWidth / 2);
415
- let size = this.handlePosition + handleWidth;
400
+ let size = this.handlePosition;
416
401
  if (reverse) {
417
402
  size = this.trackWidth() - size;
418
403
  }
@@ -459,7 +444,7 @@ const packageMetadata = {
459
444
  name: '@progress/kendo-angular-inputs',
460
445
  productName: 'Kendo UI for Angular',
461
446
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
462
- publishDate: 1635411998,
447
+ publishDate: 1642518309,
463
448
  version: '',
464
449
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
465
450
  };
@@ -1031,7 +1016,7 @@ let SliderComponent = SliderComponent_1 = class SliderComponent extends SliderBa
1031
1016
  model.resizeTicks(this.ticksContainer.nativeElement, this.ticks.tickElements.map(element => element.nativeElement));
1032
1017
  }
1033
1018
  model.positionHandle(dragHandleEl);
1034
- model.positionSelection(dragHandleEl, selectionEl);
1019
+ model.positionSelection(selectionEl);
1035
1020
  if (!animate) {
1036
1021
  this.hostElement.nativeElement.getBoundingClientRect();
1037
1022
  this.renderer.addClass(this.hostElement.nativeElement, 'k-slider-transitions');
@@ -1209,69 +1194,66 @@ SliderComponent = SliderComponent_1 = __decorate([
1209
1194
  [class.k-slider-bottomright]="tickPlacement === 'after'"
1210
1195
  [kendoEventsOutsideAngular]="{ click: onWrapClick, keydown: onKeyDown }"
1211
1196
  >
1212
- <span
1213
- #decreaseButton
1214
- *ngIf="showButtons"
1215
- class="k-button k-button-decrease"
1197
+ <button *ngIf="showButtons" type="button" #decreaseButton
1198
+ class="k-button-decrease k-button k-button-md k-rounded-full k-button-rectangle k-button-solid k-button-solid-base k-icon-button"
1216
1199
  [title]="decrementMessage"
1217
- role="presentation"
1218
- >
1219
- <span class="k-icon"
1220
- [class.k-i-arrow-w]="!vertical"
1221
- [class.k-i-arrow-s]="vertical"
1200
+ [attr.tabindex]="-1"
1201
+ role="presentation">
1202
+ <span class="k-button-icon k-icon"
1203
+ [class.k-i-arrow-w]="!vertical"
1204
+ [class.k-i-arrow-s]="vertical">
1205
+ </span>
1206
+ </button>
1207
+ <div class="k-slider-track-wrap">
1208
+ <ul kendoSliderTicks
1209
+ #ticks
1210
+ *ngIf="tickPlacement !== 'none'"
1211
+ [tickTitle]="title"
1212
+ [vertical]="vertical"
1213
+ [step]="smallStep"
1214
+ [largeStep]="largeStep"
1215
+ [min]="min"
1216
+ [max]="max"
1217
+ [labelTemplate]="labelTemplate?.templateRef"
1218
+ [attr.aria-hidden]="true"
1222
1219
  >
1223
- </span>
1224
- </span>
1225
- <span
1226
- *ngIf="showButtons"
1227
- #increaseButton
1228
- class="k-button k-button-increase"
1220
+ </ul>
1221
+ <div #track class="k-slider-track">
1222
+ <div #sliderSelection class="k-slider-selection">
1223
+ </div>
1224
+ <a #draghandle
1225
+ role="slider"
1226
+ [attr.aria-valuemin]="min"
1227
+ [attr.aria-valuemax]="max"
1228
+ [attr.aria-valuenow]="currentValue"
1229
+ [attr.aria-valuetext]="currentValue"
1230
+ [attr.aria-disabled]="disabled ? true : undefined"
1231
+ [attr.aria-readonly]="readonly ? true : undefined"
1232
+ [attr.aria-orientation]="vertical ? 'vertical' : 'horizontal'"
1233
+ [style.touch-action]="isDisabled ? '' : 'none'"
1234
+ class="k-draghandle"
1235
+ [title]="dragHandleMessage"
1236
+ [attr.tabindex]="disabled ? '-1' : tabIndex"
1237
+ [id]="focusableId"
1238
+ kendoDraggable
1239
+ (kendoPress)="ifEnabled(handleDragPress, $event)"
1240
+ (kendoDrag)="ifEnabled(onHandleDrag, $event)"
1241
+ (kendoRelease)="ifEnabled(onHandleRelease, $event)"
1242
+ ></a>
1243
+ </div>
1244
+ </div>
1245
+ <button *ngIf="showButtons" type="button" #increaseButton
1246
+ class="k-button-increase k-button k-button-md k-rounded-full k-button-rectangle k-button-solid k-button-solid-base k-icon-button"
1229
1247
  [title]="incrementMessage"
1230
1248
  (click)="$event.preventDefault()"
1249
+ [attr.tabindex]="-1"
1231
1250
  [attr.aria-label]="currentValue"
1232
- >
1233
- <span class="k-icon"
1234
- [class.k-i-arrow-e]="!vertical"
1235
- [class.k-i-arrow-n]="vertical"
1236
- >
1237
- </span>
1238
- </span>
1239
- <ul kendoSliderTicks
1240
- #ticks
1241
- *ngIf="tickPlacement !== 'none'"
1242
- [tickTitle]="title"
1243
- [vertical]="vertical"
1244
- [step]="smallStep"
1245
- [largeStep]="largeStep"
1246
- [min]="min"
1247
- [max]="max"
1248
- [labelTemplate]="labelTemplate?.templateRef"
1249
- [attr.aria-hidden]="true"
1250
- >
1251
- </ul>
1252
- <div #track class="k-slider-track">
1253
- <div #sliderSelection class="k-slider-selection">
1254
- </div>
1255
- <a #draghandle
1256
- role="slider"
1257
- [attr.aria-valuemin]="min"
1258
- [attr.aria-valuemax]="max"
1259
- [attr.aria-valuenow]="currentValue"
1260
- [attr.aria-valuetext]="currentValue"
1261
- [attr.aria-disabled]="disabled ? true : undefined"
1262
- [attr.aria-readonly]="readonly ? true : undefined"
1263
- [attr.aria-orientation]="vertical ? 'vertical' : 'horizontal'"
1264
- [style.touch-action]="isDisabled ? '' : 'none'"
1265
- class="k-draghandle"
1266
- [title]="dragHandleMessage"
1267
- [attr.tabindex]="disabled ? '-1' : tabIndex"
1268
- [id]="focusableId"
1269
- kendoDraggable
1270
- (kendoPress)="ifEnabled(handleDragPress, $event)"
1271
- (kendoDrag)="ifEnabled(onHandleDrag, $event)"
1272
- (kendoRelease)="ifEnabled(onHandleRelease, $event)"
1273
- ></a>
1274
- </div>
1251
+ role="presentation">
1252
+ <span class="k-button-icon k-icon"
1253
+ [class.k-i-arrow-e]="!vertical"
1254
+ [class.k-i-arrow-n]="vertical">
1255
+ </span>
1256
+ </button>
1275
1257
  <kendo-resize-sensor (resize)="sizeComponent(false)"></kendo-resize-sensor>
1276
1258
  </div>
1277
1259
  `
@@ -1303,8 +1285,7 @@ class RangeSliderModel extends SliderModelBase {
1303
1285
  max,
1304
1286
  reverse,
1305
1287
  value,
1306
- trackWidth,
1307
- handleWidth: dragHandle.offsetWidth
1288
+ trackWidth
1308
1289
  });
1309
1290
  this.renderer.setStyle(dragHandle, position, `${this.startHandlePosition}px`);
1310
1291
  }
@@ -1314,8 +1295,7 @@ class RangeSliderModel extends SliderModelBase {
1314
1295
  max,
1315
1296
  reverse,
1316
1297
  value,
1317
- trackWidth,
1318
- handleWidth: dragHandle.offsetWidth
1298
+ trackWidth
1319
1299
  });
1320
1300
  this.renderer.setStyle(dragHandle, position, `${this.endHandlePosition}px`);
1321
1301
  }
@@ -1324,12 +1304,11 @@ class RangeSliderModel extends SliderModelBase {
1324
1304
  const { reverse, vertical } = this.props;
1325
1305
  const dimension = vertical ? 'height' : 'width';
1326
1306
  const position = vertical ? 'bottom' : reverse ? 'right' : 'left';
1327
- const handleWidth = Math.floor(dragHandle.offsetWidth / 2);
1328
1307
  const size = Math.abs(this.endHandlePosition - this.startHandlePosition);
1329
1308
  const currentSelectionPosition = vertical ? dragHandle.style.bottom : dragHandle.style.left;
1330
1309
  this.renderer.setStyle(selection, dimension, `${size}px`);
1331
- this.renderer.setStyle(selection, position, reverse ? this.trackWidth() - parseFloat(currentSelectionPosition) - handleWidth + 'px'
1332
- : parseFloat(currentSelectionPosition) + handleWidth + 'px');
1310
+ this.renderer.setStyle(selection, position, reverse ? this.trackWidth() - parseFloat(currentSelectionPosition) + 'px'
1311
+ : parseFloat(currentSelectionPosition) + 'px');
1333
1312
  }
1334
1313
  }
1335
1314
 
@@ -1762,62 +1741,63 @@ RangeSliderComponent = RangeSliderComponent_1 = __decorate([
1762
1741
  [class.k-slider-bottomright]="tickPlacement === 'after'"
1763
1742
  [kendoEventsOutsideAngular]="{ click: onWrapClick, keydown: onKeyDown }"
1764
1743
  >
1765
- <ul kendoSliderTicks
1766
- #ticks
1767
- *ngIf="tickPlacement !== 'none'"
1768
- [tickTitle]="title"
1769
- [vertical]="vertical"
1770
- [step]="smallStep"
1771
- [largeStep]="largeStep"
1772
- [min]="min"
1773
- [max]="max"
1774
- [labelTemplate]="labelTemplate?.templateRef"
1775
- [attr.aria-hidden]="true"
1776
- >
1777
- </ul>
1778
- <div #track class="k-slider-track">
1779
- <div #sliderSelection class="k-slider-selection">
1744
+ <div class="k-slider-track-wrap">
1745
+ <ul kendoSliderTicks
1746
+ #ticks
1747
+ *ngIf="tickPlacement !== 'none'"
1748
+ [tickTitle]="title"
1749
+ [vertical]="vertical"
1750
+ [step]="smallStep"
1751
+ [largeStep]="largeStep"
1752
+ [min]="min"
1753
+ [max]="max"
1754
+ [labelTemplate]="labelTemplate?.templateRef"
1755
+ [attr.aria-hidden]="true"
1756
+ >
1757
+ </ul>
1758
+ <div #track class="k-slider-track">
1759
+ <div #sliderSelection class="k-slider-selection">
1760
+ </div>
1761
+ <a #draghandleStart
1762
+ role="slider"
1763
+ [id]="startHandleId"
1764
+ [attr.tabindex]="disabled ? undefined : tabindex"
1765
+ [attr.aria-valuemin]="min"
1766
+ [attr.aria-valuemax]="max"
1767
+ [attr.aria-valuenow]="value ? value[0] : null"
1768
+ [attr.aria-valuetext]="valueText"
1769
+ [attr.aria-disabled]="disabled ? true : undefined"
1770
+ [attr.aria-readonly]="readonly ? true : undefined"
1771
+ [attr.aria-orientation]="vertical ? 'vertical' : 'horizontal'"
1772
+ [style.touch-action]="isDisabled ? '' : 'none'"
1773
+ class="k-draghandle"
1774
+ [title]="textFor('dragHandleStart')"
1775
+ kendoDraggable
1776
+ (kendoPress)="ifEnabled(handleDragPress ,$event)"
1777
+ (kendoDrag)="ifEnabled(onHandleDrag ,$event)"
1778
+ (kendoRelease)="ifEnabled(onHandleRelease, $event)"
1779
+ ></a>
1780
+ <a #draghandleEnd
1781
+ role="slider"
1782
+ [id]="endHandleId"
1783
+ [attr.tabindex]="disabled ? undefined : tabindex"
1784
+ [attr.aria-valuemin]="min"
1785
+ [attr.aria-valuemax]="max"
1786
+ [attr.aria-valuenow]="value ? value[1] : null"
1787
+ [attr.aria-valuetext]="valueText"
1788
+ [attr.aria-disabled]="disabled ? true : undefined"
1789
+ [attr.aria-readonly]="readonly ? true : undefined"
1790
+ [attr.aria-orientation]="vertical ? 'vertical' : 'horizontal'"
1791
+ [style.touch-action]="isDisabled ? '' : 'none'"
1792
+ class="k-draghandle"
1793
+ [title]="textFor('dragHandleEnd')"
1794
+ kendoDraggable
1795
+ (kendoPress)="ifEnabled(handleDragPress ,$event)"
1796
+ (kendoDrag)="ifEnabled(onHandleDrag ,$event)"
1797
+ (kendoRelease)="ifEnabled(onHandleRelease, $event)"
1798
+ ></a>
1780
1799
  </div>
1781
- <a #draghandleStart
1782
- role="slider"
1783
- [id]="startHandleId"
1784
- [attr.tabindex]="disabled ? undefined : tabindex"
1785
- [attr.aria-valuemin]="min"
1786
- [attr.aria-valuemax]="max"
1787
- [attr.aria-valuenow]="value ? value[0] : null"
1788
- [attr.aria-valuetext]="valueText"
1789
- [attr.aria-disabled]="disabled ? true : undefined"
1790
- [attr.aria-readonly]="readonly ? true : undefined"
1791
- [attr.aria-orientation]="vertical ? 'vertical' : 'horizontal'"
1792
- [style.touch-action]="isDisabled ? '' : 'none'"
1793
- class="k-draghandle"
1794
- [title]="textFor('dragHandleStart')"
1795
- kendoDraggable
1796
- (kendoPress)="ifEnabled(handleDragPress ,$event)"
1797
- (kendoDrag)="ifEnabled(onHandleDrag ,$event)"
1798
- (kendoRelease)="ifEnabled(onHandleRelease, $event)"
1799
- ></a>
1800
- <a #draghandleEnd
1801
- role="slider"
1802
- [id]="endHandleId"
1803
- [attr.tabindex]="disabled ? undefined : tabindex"
1804
- [attr.aria-valuemin]="min"
1805
- [attr.aria-valuemax]="max"
1806
- [attr.aria-valuenow]="value ? value[1] : null"
1807
- [attr.aria-valuetext]="valueText"
1808
- [attr.aria-disabled]="disabled ? true : undefined"
1809
- [attr.aria-readonly]="readonly ? true : undefined"
1810
- [attr.aria-orientation]="vertical ? 'vertical' : 'horizontal'"
1811
- [style.touch-action]="isDisabled ? '' : 'none'"
1812
- class="k-draghandle"
1813
- [title]="textFor('dragHandleEnd')"
1814
- kendoDraggable
1815
- (kendoPress)="ifEnabled(handleDragPress ,$event)"
1816
- (kendoDrag)="ifEnabled(onHandleDrag ,$event)"
1817
- (kendoRelease)="ifEnabled(onHandleRelease, $event)"
1818
- ></a>
1819
1800
  </div>
1820
-
1821
1801
  <kendo-resize-sensor (resize)="sizeComponent()"></kendo-resize-sensor>
1822
1802
  </div>
1823
1803
  `
@@ -4992,8 +4972,10 @@ class SliderTick {
4992
4972
  * @hidden
4993
4973
  */
4994
4974
  let SliderTicksComponent = class SliderTicksComponent {
4995
- constructor(rtl) {
4996
- this.rtl = rtl;
4975
+ /**
4976
+ * @hidden
4977
+ */
4978
+ constructor() {
4997
4979
  this.wrapperClasses = 'k-reset k-slider-items';
4998
4980
  this.ticks = [];
4999
4981
  }
@@ -5016,9 +4998,6 @@ let SliderTicksComponent = class SliderTicksComponent {
5016
4998
  result[i].classes['k-tick-large'] = true;
5017
4999
  }
5018
5000
  }
5019
- if (this.rtl || this.vertical) {
5020
- result = result.reverse();
5021
- }
5022
5001
  if (result.length > 0) {
5023
5002
  Object.assign(result[0].classes, this.endTickClasses(true));
5024
5003
  Object.assign(result[result.length - 1].classes, this.endTickClasses(false));
@@ -5090,9 +5069,7 @@ SliderTicksComponent = __decorate([
5090
5069
  {{ tickTitle(value) }}
5091
5070
  </ng-template>
5092
5071
  `
5093
- }),
5094
- __param(0, Optional()), __param(0, Inject(RTL)),
5095
- __metadata("design:paramtypes", [Boolean])
5072
+ })
5096
5073
  ], SliderTicksComponent);
5097
5074
 
5098
5075
  /**
@@ -5576,6 +5553,25 @@ MaskedTextBoxModule = __decorate([
5576
5553
  })
5577
5554
  ], MaskedTextBoxModule);
5578
5555
 
5556
+ /**
5557
+ * @hidden
5558
+ *
5559
+ * Returns true if the used browser is Safari.
5560
+ */
5561
+ const isSafari = (userAgent) => {
5562
+ return detectDesktopBrowser(userAgent).safari ||
5563
+ (detectMobileOS(userAgent) && detectMobileOS(userAgent).browser === 'mobilesafari');
5564
+ };
5565
+ /**
5566
+ * @hidden
5567
+ *
5568
+ * Checks if input is Japanese IME
5569
+ */
5570
+ const isJapanese = (input) => {
5571
+ const japaneseRegex = /[\u3000-\u303F]|[\u3040-\u309F]|[\u30A0-\u30FF]|[\uFF00-\uFFEF]|[\u4E00-\u9FAF]|[\u2605-\u2606]|[\u2190-\u2195]|\u203B/g;
5572
+ return japaneseRegex.test(input);
5573
+ };
5574
+
5579
5575
  /**
5580
5576
  * Specifies the adornments in the suffix container ([see examples]({% slug adornments_textbox %}#toc-suffixadornments)).
5581
5577
  * @example
@@ -5819,7 +5815,7 @@ let TextBoxComponent = TextBoxComponent_1 = class TextBoxComponent {
5819
5815
  * @hidden
5820
5816
  */
5821
5817
  this.handleInput = (ev) => {
5822
- let incomingValue = ev.target.value;
5818
+ let incomingValue = isSafari(navigator.userAgent) && isJapanese(ev.target.value) ? ev.data : ev.target.value;
5823
5819
  this.updateValue(incomingValue);
5824
5820
  };
5825
5821
  this.ngChange = (_) => { };