@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';
@@ -118,16 +118,6 @@ var calculateFixedTrackSize = function (_a) {
118
118
  var max = _a.max, min = _a.min, smallStep = _a.smallStep, fixedTickWidth = _a.fixedTickWidth;
119
119
  return ((max - min) / smallStep) * fixedTickWidth;
120
120
  };
121
- /**
122
- * @hidden
123
- */
124
- var calculateTrackSize = function (wrapperWidth, offset, showButtons) {
125
- if (showButtons === void 0) { showButtons = true; }
126
- var BUTTONS_COUNT = 2;
127
- var trackOffset = showButtons ? parseFloat(offset) * BUTTONS_COUNT : 0;
128
- var trackWidth = wrapperWidth - trackOffset;
129
- return Math.floor(trackWidth);
130
- };
131
121
  /**
132
122
  * @hidden
133
123
  */
@@ -155,14 +145,13 @@ var calculateValueFromTick = function (index, _a) {
155
145
  * @hidden
156
146
  */
157
147
  var calculateHandlePosition = function (_a) {
158
- var handleWidth = _a.handleWidth, trackWidth = _a.trackWidth, min = _a.min, max = _a.max, reverse = _a.reverse, value = _a.value;
159
- var halfHandleWidth = Math.floor(handleWidth / 2);
148
+ var trackWidth = _a.trackWidth, min = _a.min, max = _a.max, reverse = _a.reverse, value = _a.value;
160
149
  var step = trackWidth / Math.abs(max - min);
161
150
  var pos = isPresent(value) ? step * (value - min) : min;
162
151
  if (reverse) {
163
152
  pos = trackWidth - pos;
164
153
  }
165
- return Math.floor(pos - halfHandleWidth);
154
+ return Math.floor(pos);
166
155
  };
167
156
  /**
168
157
  * @hidden
@@ -331,8 +320,10 @@ var SliderModelBase = /** @class */ (function () {
331
320
  }
332
321
  SliderModelBase.prototype.resizeTrack = function () {
333
322
  var orientation = this.props.vertical ? 'height' : 'width';
323
+ var altOrientation = this.props.vertical ? 'width' : 'height';
334
324
  var trackWidth = this.trackWidth();
335
- this.track.style[orientation] = trackWidth + "px";
325
+ this.track.parentElement.style[orientation] = trackWidth + "px";
326
+ this.track.parentElement.style[altOrientation] = '';
336
327
  };
337
328
  SliderModelBase.prototype.resizeTicks = function (ticksContainer, ticks) {
338
329
  var _this = this;
@@ -344,22 +335,17 @@ var SliderModelBase = /** @class */ (function () {
344
335
  };
345
336
  SliderModelBase.prototype.resizeWrapper = function () {
346
337
  var dimension = this.props.vertical ? "height" : "width";
347
- var wrapperSize = this.elementSize(this.wrapper);
348
- var trackWidth = calculateTrackSize(wrapperSize, this.elementOffset(this.track));
349
338
  var fixedTrackWidth = calculateFixedTrackSize(this.props);
350
339
  var wrapperParentEl = this.wrapper.parentElement;
351
- if (trackWidth > fixedTrackWidth) {
352
- wrapperParentEl.style[dimension] = wrapperSize - (trackWidth - fixedTrackWidth) + "px";
353
- }
354
- else {
355
- wrapperParentEl.style[dimension] = wrapperSize + (fixedTrackWidth - trackWidth) + "px";
340
+ if (fixedTrackWidth) {
341
+ wrapperParentEl.style[dimension] = "auto";
356
342
  }
357
343
  };
358
344
  SliderModelBase.prototype.trackWidth = function () {
359
345
  if (this.props.fixedTickWidth) {
360
346
  return calculateFixedTrackSize(this.props);
361
347
  }
362
- return calculateTrackSize(this.elementSize(this.wrapper), this.elementOffset(this.track), this.props.buttons);
348
+ return this.elementSize(this.track.parentElement);
363
349
  };
364
350
  SliderModelBase.prototype.getTickSizes = function () {
365
351
  var _a = this.props, min = _a.min, max = _a.max, smallStep = _a.smallStep;
@@ -426,16 +412,14 @@ var SliderModel = /** @class */ (function (_super) {
426
412
  max: max,
427
413
  reverse: reverse,
428
414
  value: value,
429
- trackWidth: trackWidth,
430
- handleWidth: dragHandle.offsetWidth
415
+ trackWidth: trackWidth
431
416
  });
432
417
  this.renderer.setStyle(dragHandle, position, this.handlePosition + "px");
433
418
  };
434
- SliderModel.prototype.positionSelection = function (dragHandle, selection) {
419
+ SliderModel.prototype.positionSelection = function (selection) {
435
420
  var _a = this.props, reverse = _a.reverse, vertical = _a.vertical;
436
421
  var dimension = vertical ? 'height' : 'width';
437
- var handleWidth = Math.floor(dragHandle.offsetWidth / 2);
438
- var size = this.handlePosition + handleWidth;
422
+ var size = this.handlePosition;
439
423
  if (reverse) {
440
424
  size = this.trackWidth() - size;
441
425
  }
@@ -493,7 +477,7 @@ var packageMetadata = {
493
477
  name: '@progress/kendo-angular-inputs',
494
478
  productName: 'Kendo UI for Angular',
495
479
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
496
- publishDate: 1635411998,
480
+ publishDate: 1642518309,
497
481
  version: '',
498
482
  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'
499
483
  };
@@ -1127,7 +1111,7 @@ var SliderComponent = /** @class */ (function (_super) {
1127
1111
  model.resizeTicks(this.ticksContainer.nativeElement, this.ticks.tickElements.map(function (element) { return element.nativeElement; }));
1128
1112
  }
1129
1113
  model.positionHandle(dragHandleEl);
1130
- model.positionSelection(dragHandleEl, selectionEl);
1114
+ model.positionSelection(selectionEl);
1131
1115
  if (!animate) {
1132
1116
  this.hostElement.nativeElement.getBoundingClientRect();
1133
1117
  this.renderer.addClass(this.hostElement.nativeElement, 'k-slider-transitions');
@@ -1302,7 +1286,7 @@ var SliderComponent = /** @class */ (function (_super) {
1302
1286
  { provide: KendoInput, useExisting: forwardRef(function () { return SliderComponent_1; }) }
1303
1287
  ],
1304
1288
  selector: 'kendo-slider',
1305
- template: "\n <ng-container kendoSliderLocalizedMessages\n i18n-increment=\"kendo.slider.increment|The title of the **Increase** button of the Slider.\"\n increment=\"increment\"\n i18n-decrement=\"kendo.slider.decrement|The title of the **Decrease** button of the Slider.\"\n decrement=\"decrement\"\n i18n-dragHandle=\"kendo.slider.dragHandle|The title of the drag handle of the Slider.\"\n dragHandle=\"Drag\"\n >\n <div class=\"k-slider-wrap\" #wrap\n [class.k-slider-buttons]=\"showButtons\"\n [class.k-slider-topleft]=\"tickPlacement === 'before'\"\n [class.k-slider-bottomright]=\"tickPlacement === 'after'\"\n [kendoEventsOutsideAngular]=\"{ click: onWrapClick, keydown: onKeyDown }\"\n >\n <span\n #decreaseButton\n *ngIf=\"showButtons\"\n class=\"k-button k-button-decrease\"\n [title]=\"decrementMessage\"\n role=\"presentation\"\n >\n <span class=\"k-icon\"\n [class.k-i-arrow-w]=\"!vertical\"\n [class.k-i-arrow-s]=\"vertical\"\n >\n </span>\n </span>\n <span\n *ngIf=\"showButtons\"\n #increaseButton\n class=\"k-button k-button-increase\"\n [title]=\"incrementMessage\"\n (click)=\"$event.preventDefault()\"\n [attr.aria-label]=\"currentValue\"\n >\n <span class=\"k-icon\"\n [class.k-i-arrow-e]=\"!vertical\"\n [class.k-i-arrow-n]=\"vertical\"\n >\n </span>\n </span>\n <ul kendoSliderTicks\n #ticks\n *ngIf=\"tickPlacement !== 'none'\"\n [tickTitle]=\"title\"\n [vertical]=\"vertical\"\n [step]=\"smallStep\"\n [largeStep]=\"largeStep\"\n [min]=\"min\"\n [max]=\"max\"\n [labelTemplate]=\"labelTemplate?.templateRef\"\n [attr.aria-hidden]=\"true\"\n >\n </ul>\n <div #track class=\"k-slider-track\">\n <div #sliderSelection class=\"k-slider-selection\">\n </div>\n <a #draghandle\n role=\"slider\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-valuenow]=\"currentValue\"\n [attr.aria-valuetext]=\"currentValue\"\n [attr.aria-disabled]=\"disabled ? true : undefined\"\n [attr.aria-readonly]=\"readonly ? true : undefined\"\n [attr.aria-orientation]=\"vertical ? 'vertical' : 'horizontal'\"\n [style.touch-action]=\"isDisabled ? '' : 'none'\"\n class=\"k-draghandle\"\n [title]=\"dragHandleMessage\"\n [attr.tabindex]=\"disabled ? '-1' : tabIndex\"\n [id]=\"focusableId\"\n kendoDraggable\n (kendoPress)=\"ifEnabled(handleDragPress, $event)\"\n (kendoDrag)=\"ifEnabled(onHandleDrag, $event)\"\n (kendoRelease)=\"ifEnabled(onHandleRelease, $event)\"\n ></a>\n </div>\n <kendo-resize-sensor (resize)=\"sizeComponent(false)\"></kendo-resize-sensor>\n </div>\n "
1289
+ template: "\n <ng-container kendoSliderLocalizedMessages\n i18n-increment=\"kendo.slider.increment|The title of the **Increase** button of the Slider.\"\n increment=\"increment\"\n i18n-decrement=\"kendo.slider.decrement|The title of the **Decrease** button of the Slider.\"\n decrement=\"decrement\"\n i18n-dragHandle=\"kendo.slider.dragHandle|The title of the drag handle of the Slider.\"\n dragHandle=\"Drag\"\n >\n <div class=\"k-slider-wrap\" #wrap\n [class.k-slider-buttons]=\"showButtons\"\n [class.k-slider-topleft]=\"tickPlacement === 'before'\"\n [class.k-slider-bottomright]=\"tickPlacement === 'after'\"\n [kendoEventsOutsideAngular]=\"{ click: onWrapClick, keydown: onKeyDown }\"\n >\n <button *ngIf=\"showButtons\" type=\"button\" #decreaseButton\n 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\"\n [title]=\"decrementMessage\"\n [attr.tabindex]=\"-1\"\n role=\"presentation\">\n <span class=\"k-button-icon k-icon\"\n [class.k-i-arrow-w]=\"!vertical\"\n [class.k-i-arrow-s]=\"vertical\">\n </span>\n </button>\n <div class=\"k-slider-track-wrap\">\n <ul kendoSliderTicks\n #ticks\n *ngIf=\"tickPlacement !== 'none'\"\n [tickTitle]=\"title\"\n [vertical]=\"vertical\"\n [step]=\"smallStep\"\n [largeStep]=\"largeStep\"\n [min]=\"min\"\n [max]=\"max\"\n [labelTemplate]=\"labelTemplate?.templateRef\"\n [attr.aria-hidden]=\"true\"\n >\n </ul>\n <div #track class=\"k-slider-track\">\n <div #sliderSelection class=\"k-slider-selection\">\n </div>\n <a #draghandle\n role=\"slider\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-valuenow]=\"currentValue\"\n [attr.aria-valuetext]=\"currentValue\"\n [attr.aria-disabled]=\"disabled ? true : undefined\"\n [attr.aria-readonly]=\"readonly ? true : undefined\"\n [attr.aria-orientation]=\"vertical ? 'vertical' : 'horizontal'\"\n [style.touch-action]=\"isDisabled ? '' : 'none'\"\n class=\"k-draghandle\"\n [title]=\"dragHandleMessage\"\n [attr.tabindex]=\"disabled ? '-1' : tabIndex\"\n [id]=\"focusableId\"\n kendoDraggable\n (kendoPress)=\"ifEnabled(handleDragPress, $event)\"\n (kendoDrag)=\"ifEnabled(onHandleDrag, $event)\"\n (kendoRelease)=\"ifEnabled(onHandleRelease, $event)\"\n ></a>\n </div>\n </div>\n <button *ngIf=\"showButtons\" type=\"button\" #increaseButton\n 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\"\n [title]=\"incrementMessage\"\n (click)=\"$event.preventDefault()\"\n [attr.tabindex]=\"-1\"\n [attr.aria-label]=\"currentValue\"\n role=\"presentation\">\n <span class=\"k-button-icon k-icon\"\n [class.k-i-arrow-e]=\"!vertical\"\n [class.k-i-arrow-n]=\"vertical\">\n </span>\n </button>\n <kendo-resize-sensor (resize)=\"sizeComponent(false)\"></kendo-resize-sensor>\n </div>\n "
1306
1290
  }),
1307
1291
  __metadata("design:paramtypes", [LocalizationService,
1308
1292
  Injector,
@@ -1337,8 +1321,7 @@ var RangeSliderModel = /** @class */ (function (_super) {
1337
1321
  max: max,
1338
1322
  reverse: reverse,
1339
1323
  value: value,
1340
- trackWidth: trackWidth,
1341
- handleWidth: dragHandle.offsetWidth
1324
+ trackWidth: trackWidth
1342
1325
  });
1343
1326
  this.renderer.setStyle(dragHandle, position, this.startHandlePosition + "px");
1344
1327
  }
@@ -1348,8 +1331,7 @@ var RangeSliderModel = /** @class */ (function (_super) {
1348
1331
  max: max,
1349
1332
  reverse: reverse,
1350
1333
  value: value,
1351
- trackWidth: trackWidth,
1352
- handleWidth: dragHandle.offsetWidth
1334
+ trackWidth: trackWidth
1353
1335
  });
1354
1336
  this.renderer.setStyle(dragHandle, position, this.endHandlePosition + "px");
1355
1337
  }
@@ -1358,12 +1340,11 @@ var RangeSliderModel = /** @class */ (function (_super) {
1358
1340
  var _a = this.props, reverse = _a.reverse, vertical = _a.vertical;
1359
1341
  var dimension = vertical ? 'height' : 'width';
1360
1342
  var position = vertical ? 'bottom' : reverse ? 'right' : 'left';
1361
- var handleWidth = Math.floor(dragHandle.offsetWidth / 2);
1362
1343
  var size = Math.abs(this.endHandlePosition - this.startHandlePosition);
1363
1344
  var currentSelectionPosition = vertical ? dragHandle.style.bottom : dragHandle.style.left;
1364
1345
  this.renderer.setStyle(selection, dimension, size + "px");
1365
- this.renderer.setStyle(selection, position, reverse ? this.trackWidth() - parseFloat(currentSelectionPosition) - handleWidth + 'px'
1366
- : parseFloat(currentSelectionPosition) + handleWidth + 'px');
1346
+ this.renderer.setStyle(selection, position, reverse ? this.trackWidth() - parseFloat(currentSelectionPosition) + 'px'
1347
+ : parseFloat(currentSelectionPosition) + 'px');
1367
1348
  };
1368
1349
  return RangeSliderModel;
1369
1350
  }(SliderModelBase));
@@ -1807,7 +1788,7 @@ var RangeSliderComponent = /** @class */ (function (_super) {
1807
1788
  { provide: KendoInput, useExisting: forwardRef(function () { return RangeSliderComponent_1; }) }
1808
1789
  ],
1809
1790
  selector: 'kendo-rangeslider',
1810
- template: "\n <ng-container kendoSliderLocalizedMessages\n i18n-dragHandleStart=\"kendo.rangeslider.dragHandleStart|The title of the **Start** drag handle of the Slider.\"\n dragHandleStart=\"Drag\"\n i18n-dragHandleEnd=\"kendo.rangeslider.dragHandleEnd|The title of the **End** drag handle of the Slider.\"\n dragHandleEnd=\"Drag\"\n >\n\n <div class=\"k-slider-wrap\" #wrap\n [class.k-slider-topleft]=\"tickPlacement === 'before'\"\n [class.k-slider-bottomright]=\"tickPlacement === 'after'\"\n [kendoEventsOutsideAngular]=\"{ click: onWrapClick, keydown: onKeyDown }\"\n >\n <ul kendoSliderTicks\n #ticks\n *ngIf=\"tickPlacement !== 'none'\"\n [tickTitle]=\"title\"\n [vertical]=\"vertical\"\n [step]=\"smallStep\"\n [largeStep]=\"largeStep\"\n [min]=\"min\"\n [max]=\"max\"\n [labelTemplate]=\"labelTemplate?.templateRef\"\n [attr.aria-hidden]=\"true\"\n >\n </ul>\n <div #track class=\"k-slider-track\">\n <div #sliderSelection class=\"k-slider-selection\">\n </div>\n <a #draghandleStart\n role=\"slider\"\n [id]=\"startHandleId\"\n [attr.tabindex]=\"disabled ? undefined : tabindex\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-valuenow]=\"value ? value[0] : null\"\n [attr.aria-valuetext]=\"valueText\"\n [attr.aria-disabled]=\"disabled ? true : undefined\"\n [attr.aria-readonly]=\"readonly ? true : undefined\"\n [attr.aria-orientation]=\"vertical ? 'vertical' : 'horizontal'\"\n [style.touch-action]=\"isDisabled ? '' : 'none'\"\n class=\"k-draghandle\"\n [title]=\"textFor('dragHandleStart')\"\n kendoDraggable\n (kendoPress)=\"ifEnabled(handleDragPress ,$event)\"\n (kendoDrag)=\"ifEnabled(onHandleDrag ,$event)\"\n (kendoRelease)=\"ifEnabled(onHandleRelease, $event)\"\n ></a>\n <a #draghandleEnd\n role=\"slider\"\n [id]=\"endHandleId\"\n [attr.tabindex]=\"disabled ? undefined : tabindex\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-valuenow]=\"value ? value[1] : null\"\n [attr.aria-valuetext]=\"valueText\"\n [attr.aria-disabled]=\"disabled ? true : undefined\"\n [attr.aria-readonly]=\"readonly ? true : undefined\"\n [attr.aria-orientation]=\"vertical ? 'vertical' : 'horizontal'\"\n [style.touch-action]=\"isDisabled ? '' : 'none'\"\n class=\"k-draghandle\"\n [title]=\"textFor('dragHandleEnd')\"\n kendoDraggable\n (kendoPress)=\"ifEnabled(handleDragPress ,$event)\"\n (kendoDrag)=\"ifEnabled(onHandleDrag ,$event)\"\n (kendoRelease)=\"ifEnabled(onHandleRelease, $event)\"\n ></a>\n </div>\n\n <kendo-resize-sensor (resize)=\"sizeComponent()\"></kendo-resize-sensor>\n </div>\n "
1791
+ template: "\n <ng-container kendoSliderLocalizedMessages\n i18n-dragHandleStart=\"kendo.rangeslider.dragHandleStart|The title of the **Start** drag handle of the Slider.\"\n dragHandleStart=\"Drag\"\n i18n-dragHandleEnd=\"kendo.rangeslider.dragHandleEnd|The title of the **End** drag handle of the Slider.\"\n dragHandleEnd=\"Drag\"\n >\n\n <div class=\"k-slider-wrap\" #wrap\n [class.k-slider-topleft]=\"tickPlacement === 'before'\"\n [class.k-slider-bottomright]=\"tickPlacement === 'after'\"\n [kendoEventsOutsideAngular]=\"{ click: onWrapClick, keydown: onKeyDown }\"\n >\n <div class=\"k-slider-track-wrap\">\n <ul kendoSliderTicks\n #ticks\n *ngIf=\"tickPlacement !== 'none'\"\n [tickTitle]=\"title\"\n [vertical]=\"vertical\"\n [step]=\"smallStep\"\n [largeStep]=\"largeStep\"\n [min]=\"min\"\n [max]=\"max\"\n [labelTemplate]=\"labelTemplate?.templateRef\"\n [attr.aria-hidden]=\"true\"\n >\n </ul>\n <div #track class=\"k-slider-track\">\n <div #sliderSelection class=\"k-slider-selection\">\n </div>\n <a #draghandleStart\n role=\"slider\"\n [id]=\"startHandleId\"\n [attr.tabindex]=\"disabled ? undefined : tabindex\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-valuenow]=\"value ? value[0] : null\"\n [attr.aria-valuetext]=\"valueText\"\n [attr.aria-disabled]=\"disabled ? true : undefined\"\n [attr.aria-readonly]=\"readonly ? true : undefined\"\n [attr.aria-orientation]=\"vertical ? 'vertical' : 'horizontal'\"\n [style.touch-action]=\"isDisabled ? '' : 'none'\"\n class=\"k-draghandle\"\n [title]=\"textFor('dragHandleStart')\"\n kendoDraggable\n (kendoPress)=\"ifEnabled(handleDragPress ,$event)\"\n (kendoDrag)=\"ifEnabled(onHandleDrag ,$event)\"\n (kendoRelease)=\"ifEnabled(onHandleRelease, $event)\"\n ></a>\n <a #draghandleEnd\n role=\"slider\"\n [id]=\"endHandleId\"\n [attr.tabindex]=\"disabled ? undefined : tabindex\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-valuenow]=\"value ? value[1] : null\"\n [attr.aria-valuetext]=\"valueText\"\n [attr.aria-disabled]=\"disabled ? true : undefined\"\n [attr.aria-readonly]=\"readonly ? true : undefined\"\n [attr.aria-orientation]=\"vertical ? 'vertical' : 'horizontal'\"\n [style.touch-action]=\"isDisabled ? '' : 'none'\"\n class=\"k-draghandle\"\n [title]=\"textFor('dragHandleEnd')\"\n kendoDraggable\n (kendoPress)=\"ifEnabled(handleDragPress ,$event)\"\n (kendoDrag)=\"ifEnabled(onHandleDrag ,$event)\"\n (kendoRelease)=\"ifEnabled(onHandleRelease, $event)\"\n ></a>\n </div>\n </div>\n <kendo-resize-sensor (resize)=\"sizeComponent()\"></kendo-resize-sensor>\n </div>\n "
1811
1792
  }),
1812
1793
  __metadata("design:paramtypes", [LocalizationService,
1813
1794
  Injector,
@@ -5096,8 +5077,7 @@ var SliderTick = /** @class */ (function () {
5096
5077
  * @hidden
5097
5078
  */
5098
5079
  var SliderTicksComponent = /** @class */ (function () {
5099
- function SliderTicksComponent(rtl) {
5100
- this.rtl = rtl;
5080
+ function SliderTicksComponent() {
5101
5081
  this.wrapperClasses = 'k-reset k-slider-items';
5102
5082
  this.ticks = [];
5103
5083
  }
@@ -5120,9 +5100,6 @@ var SliderTicksComponent = /** @class */ (function () {
5120
5100
  result[i].classes['k-tick-large'] = true;
5121
5101
  }
5122
5102
  }
5123
- if (this.rtl || this.vertical) {
5124
- result = result.reverse();
5125
- }
5126
5103
  if (result.length > 0) {
5127
5104
  Object.assign(result[0].classes, this.endTickClasses(true));
5128
5105
  Object.assign(result[result.length - 1].classes, this.endTickClasses(false));
@@ -5175,9 +5152,7 @@ var SliderTicksComponent = /** @class */ (function () {
5175
5152
  Component({
5176
5153
  selector: '[kendoSliderTicks]',
5177
5154
  template: "\n <li #tickElement *ngFor=\"let tick of ticks;\"\n [ngClass]=\"tick.classes\"\n title=\"{{ tickTitle(tick.value) }}\"\n role=\"presentation\"\n >\n <ng-container [ngSwitch]=\"tick.large\">\n <span class=\"k-label\" *ngSwitchCase=\"true\">\n <ng-container [ngTemplateOutlet]=\"labelTemplate || defaultLabel\" [ngTemplateOutletContext]=\"tick\">\n </ng-container>\n </span>\n <ng-container *ngSwitchCase=\"false\">&nbsp;</ng-container>\n </ng-container>\n </li>\n\n <ng-template #defaultLabel let-value=\"value\">\n {{ tickTitle(value) }}\n </ng-template>\n "
5178
- }),
5179
- __param(0, Optional()), __param(0, Inject(RTL)),
5180
- __metadata("design:paramtypes", [Boolean])
5155
+ })
5181
5156
  ], SliderTicksComponent);
5182
5157
  return SliderTicksComponent;
5183
5158
  }());
@@ -5736,6 +5711,25 @@ var MaskedTextBoxModule = /** @class */ (function () {
5736
5711
  return MaskedTextBoxModule;
5737
5712
  }());
5738
5713
 
5714
+ /**
5715
+ * @hidden
5716
+ *
5717
+ * Returns true if the used browser is Safari.
5718
+ */
5719
+ var isSafari = function (userAgent) {
5720
+ return detectDesktopBrowser(userAgent).safari ||
5721
+ (detectMobileOS(userAgent) && detectMobileOS(userAgent).browser === 'mobilesafari');
5722
+ };
5723
+ /**
5724
+ * @hidden
5725
+ *
5726
+ * Checks if input is Japanese IME
5727
+ */
5728
+ var isJapanese = function (input) {
5729
+ var japaneseRegex = /[\u3000-\u303F]|[\u3040-\u309F]|[\u30A0-\u30FF]|[\uFF00-\uFFEF]|[\u4E00-\u9FAF]|[\u2605-\u2606]|[\u2190-\u2195]|\u203B/g;
5730
+ return japaneseRegex.test(input);
5731
+ };
5732
+
5739
5733
  /**
5740
5734
  * Specifies the adornments in the suffix container ([see examples]({% slug adornments_textbox %}#toc-suffixadornments)).
5741
5735
  * @example
@@ -5981,7 +5975,7 @@ var TextBoxComponent = /** @class */ (function () {
5981
5975
  * @hidden
5982
5976
  */
5983
5977
  this.handleInput = function (ev) {
5984
- var incomingValue = ev.target.value;
5978
+ var incomingValue = isSafari(navigator.userAgent) && isJapanese(ev.target.value) ? ev.data : ev.target.value;
5985
5979
  _this.updateValue(incomingValue);
5986
5980
  };
5987
5981
  this.ngChange = function (_) { };
@@ -11,7 +11,7 @@ exports.packageMetadata = {
11
11
  name: '@progress/kendo-angular-inputs',
12
12
  productName: 'Kendo UI for Angular',
13
13
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
14
- publishDate: 1635411998,
14
+ publishDate: 1642518309,
15
15
  version: '',
16
16
  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'
17
17
  };
@@ -31,8 +31,7 @@ var RangeSliderModel = /** @class */ (function (_super) {
31
31
  max: max,
32
32
  reverse: reverse,
33
33
  value: value,
34
- trackWidth: trackWidth,
35
- handleWidth: dragHandle.offsetWidth
34
+ trackWidth: trackWidth
36
35
  });
37
36
  this.renderer.setStyle(dragHandle, position, this.startHandlePosition + "px");
38
37
  }
@@ -42,8 +41,7 @@ var RangeSliderModel = /** @class */ (function (_super) {
42
41
  max: max,
43
42
  reverse: reverse,
44
43
  value: value,
45
- trackWidth: trackWidth,
46
- handleWidth: dragHandle.offsetWidth
44
+ trackWidth: trackWidth
47
45
  });
48
46
  this.renderer.setStyle(dragHandle, position, this.endHandlePosition + "px");
49
47
  }
@@ -52,12 +50,11 @@ var RangeSliderModel = /** @class */ (function (_super) {
52
50
  var _a = this.props, reverse = _a.reverse, vertical = _a.vertical;
53
51
  var dimension = vertical ? 'height' : 'width';
54
52
  var position = vertical ? 'bottom' : reverse ? 'right' : 'left';
55
- var handleWidth = Math.floor(dragHandle.offsetWidth / 2);
56
53
  var size = Math.abs(this.endHandlePosition - this.startHandlePosition);
57
54
  var currentSelectionPosition = vertical ? dragHandle.style.bottom : dragHandle.style.left;
58
55
  this.renderer.setStyle(selection, dimension, size + "px");
59
- this.renderer.setStyle(selection, position, reverse ? this.trackWidth() - parseFloat(currentSelectionPosition) - handleWidth + 'px'
60
- : parseFloat(currentSelectionPosition) + handleWidth + 'px');
56
+ this.renderer.setStyle(selection, position, reverse ? this.trackWidth() - parseFloat(currentSelectionPosition) + 'px'
57
+ : parseFloat(currentSelectionPosition) + 'px');
61
58
  };
62
59
  return RangeSliderModel;
63
60
  }(slider_model_base_1.SliderModelBase));
@@ -455,7 +455,7 @@ var RangeSliderComponent = /** @class */ (function (_super) {
455
455
  { provide: kendo_angular_common_1.KendoInput, useExisting: core_1.forwardRef(function () { return RangeSliderComponent_1; }) }
456
456
  ],
457
457
  selector: 'kendo-rangeslider',
458
- template: "\n <ng-container kendoSliderLocalizedMessages\n i18n-dragHandleStart=\"kendo.rangeslider.dragHandleStart|The title of the **Start** drag handle of the Slider.\"\n dragHandleStart=\"Drag\"\n i18n-dragHandleEnd=\"kendo.rangeslider.dragHandleEnd|The title of the **End** drag handle of the Slider.\"\n dragHandleEnd=\"Drag\"\n >\n\n <div class=\"k-slider-wrap\" #wrap\n [class.k-slider-topleft]=\"tickPlacement === 'before'\"\n [class.k-slider-bottomright]=\"tickPlacement === 'after'\"\n [kendoEventsOutsideAngular]=\"{ click: onWrapClick, keydown: onKeyDown }\"\n >\n <ul kendoSliderTicks\n #ticks\n *ngIf=\"tickPlacement !== 'none'\"\n [tickTitle]=\"title\"\n [vertical]=\"vertical\"\n [step]=\"smallStep\"\n [largeStep]=\"largeStep\"\n [min]=\"min\"\n [max]=\"max\"\n [labelTemplate]=\"labelTemplate?.templateRef\"\n [attr.aria-hidden]=\"true\"\n >\n </ul>\n <div #track class=\"k-slider-track\">\n <div #sliderSelection class=\"k-slider-selection\">\n </div>\n <a #draghandleStart\n role=\"slider\"\n [id]=\"startHandleId\"\n [attr.tabindex]=\"disabled ? undefined : tabindex\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-valuenow]=\"value ? value[0] : null\"\n [attr.aria-valuetext]=\"valueText\"\n [attr.aria-disabled]=\"disabled ? true : undefined\"\n [attr.aria-readonly]=\"readonly ? true : undefined\"\n [attr.aria-orientation]=\"vertical ? 'vertical' : 'horizontal'\"\n [style.touch-action]=\"isDisabled ? '' : 'none'\"\n class=\"k-draghandle\"\n [title]=\"textFor('dragHandleStart')\"\n kendoDraggable\n (kendoPress)=\"ifEnabled(handleDragPress ,$event)\"\n (kendoDrag)=\"ifEnabled(onHandleDrag ,$event)\"\n (kendoRelease)=\"ifEnabled(onHandleRelease, $event)\"\n ></a>\n <a #draghandleEnd\n role=\"slider\"\n [id]=\"endHandleId\"\n [attr.tabindex]=\"disabled ? undefined : tabindex\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-valuenow]=\"value ? value[1] : null\"\n [attr.aria-valuetext]=\"valueText\"\n [attr.aria-disabled]=\"disabled ? true : undefined\"\n [attr.aria-readonly]=\"readonly ? true : undefined\"\n [attr.aria-orientation]=\"vertical ? 'vertical' : 'horizontal'\"\n [style.touch-action]=\"isDisabled ? '' : 'none'\"\n class=\"k-draghandle\"\n [title]=\"textFor('dragHandleEnd')\"\n kendoDraggable\n (kendoPress)=\"ifEnabled(handleDragPress ,$event)\"\n (kendoDrag)=\"ifEnabled(onHandleDrag ,$event)\"\n (kendoRelease)=\"ifEnabled(onHandleRelease, $event)\"\n ></a>\n </div>\n\n <kendo-resize-sensor (resize)=\"sizeComponent()\"></kendo-resize-sensor>\n </div>\n "
458
+ template: "\n <ng-container kendoSliderLocalizedMessages\n i18n-dragHandleStart=\"kendo.rangeslider.dragHandleStart|The title of the **Start** drag handle of the Slider.\"\n dragHandleStart=\"Drag\"\n i18n-dragHandleEnd=\"kendo.rangeslider.dragHandleEnd|The title of the **End** drag handle of the Slider.\"\n dragHandleEnd=\"Drag\"\n >\n\n <div class=\"k-slider-wrap\" #wrap\n [class.k-slider-topleft]=\"tickPlacement === 'before'\"\n [class.k-slider-bottomright]=\"tickPlacement === 'after'\"\n [kendoEventsOutsideAngular]=\"{ click: onWrapClick, keydown: onKeyDown }\"\n >\n <div class=\"k-slider-track-wrap\">\n <ul kendoSliderTicks\n #ticks\n *ngIf=\"tickPlacement !== 'none'\"\n [tickTitle]=\"title\"\n [vertical]=\"vertical\"\n [step]=\"smallStep\"\n [largeStep]=\"largeStep\"\n [min]=\"min\"\n [max]=\"max\"\n [labelTemplate]=\"labelTemplate?.templateRef\"\n [attr.aria-hidden]=\"true\"\n >\n </ul>\n <div #track class=\"k-slider-track\">\n <div #sliderSelection class=\"k-slider-selection\">\n </div>\n <a #draghandleStart\n role=\"slider\"\n [id]=\"startHandleId\"\n [attr.tabindex]=\"disabled ? undefined : tabindex\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-valuenow]=\"value ? value[0] : null\"\n [attr.aria-valuetext]=\"valueText\"\n [attr.aria-disabled]=\"disabled ? true : undefined\"\n [attr.aria-readonly]=\"readonly ? true : undefined\"\n [attr.aria-orientation]=\"vertical ? 'vertical' : 'horizontal'\"\n [style.touch-action]=\"isDisabled ? '' : 'none'\"\n class=\"k-draghandle\"\n [title]=\"textFor('dragHandleStart')\"\n kendoDraggable\n (kendoPress)=\"ifEnabled(handleDragPress ,$event)\"\n (kendoDrag)=\"ifEnabled(onHandleDrag ,$event)\"\n (kendoRelease)=\"ifEnabled(onHandleRelease, $event)\"\n ></a>\n <a #draghandleEnd\n role=\"slider\"\n [id]=\"endHandleId\"\n [attr.tabindex]=\"disabled ? undefined : tabindex\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-valuenow]=\"value ? value[1] : null\"\n [attr.aria-valuetext]=\"valueText\"\n [attr.aria-disabled]=\"disabled ? true : undefined\"\n [attr.aria-readonly]=\"readonly ? true : undefined\"\n [attr.aria-orientation]=\"vertical ? 'vertical' : 'horizontal'\"\n [style.touch-action]=\"isDisabled ? '' : 'none'\"\n class=\"k-draghandle\"\n [title]=\"textFor('dragHandleEnd')\"\n kendoDraggable\n (kendoPress)=\"ifEnabled(handleDragPress ,$event)\"\n (kendoDrag)=\"ifEnabled(onHandleDrag ,$event)\"\n (kendoRelease)=\"ifEnabled(onHandleRelease, $event)\"\n ></a>\n </div>\n </div>\n <kendo-resize-sensor (resize)=\"sizeComponent()\"></kendo-resize-sensor>\n </div>\n "
459
459
  }),
460
460
  tslib_1.__metadata("design:paramtypes", [kendo_angular_l10n_1.LocalizationService,
461
461
  core_1.Injector,
@@ -0,0 +1,25 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ "use strict";
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ var kendo_common_1 = require("@progress/kendo-common");
8
+ /**
9
+ * @hidden
10
+ *
11
+ * Returns true if the used browser is Safari.
12
+ */
13
+ exports.isSafari = function (userAgent) {
14
+ return kendo_common_1.detectDesktopBrowser(userAgent).safari ||
15
+ (kendo_common_1.detectMobileOS(userAgent) && kendo_common_1.detectMobileOS(userAgent).browser === 'mobilesafari');
16
+ };
17
+ /**
18
+ * @hidden
19
+ *
20
+ * Checks if input is Japanese IME
21
+ */
22
+ exports.isJapanese = function (input) {
23
+ var japaneseRegex = /[\u3000-\u303F]|[\u3040-\u309F]|[\u30A0-\u30FF]|[\uFF00-\uFFEF]|[\u4E00-\u9FAF]|[\u2605-\u2606]|[\u2190-\u2195]|\u203B/g;
24
+ return japaneseRegex.test(input);
25
+ };
@@ -25,16 +25,14 @@ var SliderModel = /** @class */ (function (_super) {
25
25
  max: max,
26
26
  reverse: reverse,
27
27
  value: value,
28
- trackWidth: trackWidth,
29
- handleWidth: dragHandle.offsetWidth
28
+ trackWidth: trackWidth
30
29
  });
31
30
  this.renderer.setStyle(dragHandle, position, this.handlePosition + "px");
32
31
  };
33
- SliderModel.prototype.positionSelection = function (dragHandle, selection) {
32
+ SliderModel.prototype.positionSelection = function (selection) {
34
33
  var _a = this.props, reverse = _a.reverse, vertical = _a.vertical;
35
34
  var dimension = vertical ? 'height' : 'width';
36
- var handleWidth = Math.floor(dragHandle.offsetWidth / 2);
37
- var size = this.handlePosition + handleWidth;
35
+ var size = this.handlePosition;
38
36
  if (reverse) {
39
37
  size = this.trackWidth() - size;
40
38
  }
@@ -295,7 +295,7 @@ var SliderComponent = /** @class */ (function (_super) {
295
295
  model.resizeTicks(this.ticksContainer.nativeElement, this.ticks.tickElements.map(function (element) { return element.nativeElement; }));
296
296
  }
297
297
  model.positionHandle(dragHandleEl);
298
- model.positionSelection(dragHandleEl, selectionEl);
298
+ model.positionSelection(selectionEl);
299
299
  if (!animate) {
300
300
  this.hostElement.nativeElement.getBoundingClientRect();
301
301
  this.renderer.addClass(this.hostElement.nativeElement, 'k-slider-transitions');
@@ -470,7 +470,7 @@ var SliderComponent = /** @class */ (function (_super) {
470
470
  { provide: kendo_angular_common_1.KendoInput, useExisting: core_1.forwardRef(function () { return SliderComponent_1; }) }
471
471
  ],
472
472
  selector: 'kendo-slider',
473
- template: "\n <ng-container kendoSliderLocalizedMessages\n i18n-increment=\"kendo.slider.increment|The title of the **Increase** button of the Slider.\"\n increment=\"increment\"\n i18n-decrement=\"kendo.slider.decrement|The title of the **Decrease** button of the Slider.\"\n decrement=\"decrement\"\n i18n-dragHandle=\"kendo.slider.dragHandle|The title of the drag handle of the Slider.\"\n dragHandle=\"Drag\"\n >\n <div class=\"k-slider-wrap\" #wrap\n [class.k-slider-buttons]=\"showButtons\"\n [class.k-slider-topleft]=\"tickPlacement === 'before'\"\n [class.k-slider-bottomright]=\"tickPlacement === 'after'\"\n [kendoEventsOutsideAngular]=\"{ click: onWrapClick, keydown: onKeyDown }\"\n >\n <span\n #decreaseButton\n *ngIf=\"showButtons\"\n class=\"k-button k-button-decrease\"\n [title]=\"decrementMessage\"\n role=\"presentation\"\n >\n <span class=\"k-icon\"\n [class.k-i-arrow-w]=\"!vertical\"\n [class.k-i-arrow-s]=\"vertical\"\n >\n </span>\n </span>\n <span\n *ngIf=\"showButtons\"\n #increaseButton\n class=\"k-button k-button-increase\"\n [title]=\"incrementMessage\"\n (click)=\"$event.preventDefault()\"\n [attr.aria-label]=\"currentValue\"\n >\n <span class=\"k-icon\"\n [class.k-i-arrow-e]=\"!vertical\"\n [class.k-i-arrow-n]=\"vertical\"\n >\n </span>\n </span>\n <ul kendoSliderTicks\n #ticks\n *ngIf=\"tickPlacement !== 'none'\"\n [tickTitle]=\"title\"\n [vertical]=\"vertical\"\n [step]=\"smallStep\"\n [largeStep]=\"largeStep\"\n [min]=\"min\"\n [max]=\"max\"\n [labelTemplate]=\"labelTemplate?.templateRef\"\n [attr.aria-hidden]=\"true\"\n >\n </ul>\n <div #track class=\"k-slider-track\">\n <div #sliderSelection class=\"k-slider-selection\">\n </div>\n <a #draghandle\n role=\"slider\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-valuenow]=\"currentValue\"\n [attr.aria-valuetext]=\"currentValue\"\n [attr.aria-disabled]=\"disabled ? true : undefined\"\n [attr.aria-readonly]=\"readonly ? true : undefined\"\n [attr.aria-orientation]=\"vertical ? 'vertical' : 'horizontal'\"\n [style.touch-action]=\"isDisabled ? '' : 'none'\"\n class=\"k-draghandle\"\n [title]=\"dragHandleMessage\"\n [attr.tabindex]=\"disabled ? '-1' : tabIndex\"\n [id]=\"focusableId\"\n kendoDraggable\n (kendoPress)=\"ifEnabled(handleDragPress, $event)\"\n (kendoDrag)=\"ifEnabled(onHandleDrag, $event)\"\n (kendoRelease)=\"ifEnabled(onHandleRelease, $event)\"\n ></a>\n </div>\n <kendo-resize-sensor (resize)=\"sizeComponent(false)\"></kendo-resize-sensor>\n </div>\n "
473
+ template: "\n <ng-container kendoSliderLocalizedMessages\n i18n-increment=\"kendo.slider.increment|The title of the **Increase** button of the Slider.\"\n increment=\"increment\"\n i18n-decrement=\"kendo.slider.decrement|The title of the **Decrease** button of the Slider.\"\n decrement=\"decrement\"\n i18n-dragHandle=\"kendo.slider.dragHandle|The title of the drag handle of the Slider.\"\n dragHandle=\"Drag\"\n >\n <div class=\"k-slider-wrap\" #wrap\n [class.k-slider-buttons]=\"showButtons\"\n [class.k-slider-topleft]=\"tickPlacement === 'before'\"\n [class.k-slider-bottomright]=\"tickPlacement === 'after'\"\n [kendoEventsOutsideAngular]=\"{ click: onWrapClick, keydown: onKeyDown }\"\n >\n <button *ngIf=\"showButtons\" type=\"button\" #decreaseButton\n 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\"\n [title]=\"decrementMessage\"\n [attr.tabindex]=\"-1\"\n role=\"presentation\">\n <span class=\"k-button-icon k-icon\"\n [class.k-i-arrow-w]=\"!vertical\"\n [class.k-i-arrow-s]=\"vertical\">\n </span>\n </button>\n <div class=\"k-slider-track-wrap\">\n <ul kendoSliderTicks\n #ticks\n *ngIf=\"tickPlacement !== 'none'\"\n [tickTitle]=\"title\"\n [vertical]=\"vertical\"\n [step]=\"smallStep\"\n [largeStep]=\"largeStep\"\n [min]=\"min\"\n [max]=\"max\"\n [labelTemplate]=\"labelTemplate?.templateRef\"\n [attr.aria-hidden]=\"true\"\n >\n </ul>\n <div #track class=\"k-slider-track\">\n <div #sliderSelection class=\"k-slider-selection\">\n </div>\n <a #draghandle\n role=\"slider\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-valuenow]=\"currentValue\"\n [attr.aria-valuetext]=\"currentValue\"\n [attr.aria-disabled]=\"disabled ? true : undefined\"\n [attr.aria-readonly]=\"readonly ? true : undefined\"\n [attr.aria-orientation]=\"vertical ? 'vertical' : 'horizontal'\"\n [style.touch-action]=\"isDisabled ? '' : 'none'\"\n class=\"k-draghandle\"\n [title]=\"dragHandleMessage\"\n [attr.tabindex]=\"disabled ? '-1' : tabIndex\"\n [id]=\"focusableId\"\n kendoDraggable\n (kendoPress)=\"ifEnabled(handleDragPress, $event)\"\n (kendoDrag)=\"ifEnabled(onHandleDrag, $event)\"\n (kendoRelease)=\"ifEnabled(onHandleRelease, $event)\"\n ></a>\n </div>\n </div>\n <button *ngIf=\"showButtons\" type=\"button\" #increaseButton\n 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\"\n [title]=\"incrementMessage\"\n (click)=\"$event.preventDefault()\"\n [attr.tabindex]=\"-1\"\n [attr.aria-label]=\"currentValue\"\n role=\"presentation\">\n <span class=\"k-button-icon k-icon\"\n [class.k-i-arrow-e]=\"!vertical\"\n [class.k-i-arrow-n]=\"vertical\">\n </span>\n </button>\n <kendo-resize-sensor (resize)=\"sizeComponent(false)\"></kendo-resize-sensor>\n </div>\n "
474
474
  }),
475
475
  tslib_1.__metadata("design:paramtypes", [kendo_angular_l10n_1.LocalizationService,
476
476
  core_1.Injector,
@@ -22,8 +22,10 @@ var SliderModelBase = /** @class */ (function () {
22
22
  }
23
23
  SliderModelBase.prototype.resizeTrack = function () {
24
24
  var orientation = this.props.vertical ? 'height' : 'width';
25
+ var altOrientation = this.props.vertical ? 'width' : 'height';
25
26
  var trackWidth = this.trackWidth();
26
- this.track.style[orientation] = trackWidth + "px";
27
+ this.track.parentElement.style[orientation] = trackWidth + "px";
28
+ this.track.parentElement.style[altOrientation] = '';
27
29
  };
28
30
  SliderModelBase.prototype.resizeTicks = function (ticksContainer, ticks) {
29
31
  var _this = this;
@@ -35,22 +37,17 @@ var SliderModelBase = /** @class */ (function () {
35
37
  };
36
38
  SliderModelBase.prototype.resizeWrapper = function () {
37
39
  var dimension = this.props.vertical ? "height" : "width";
38
- var wrapperSize = this.elementSize(this.wrapper);
39
- var trackWidth = sliders_util_1.calculateTrackSize(wrapperSize, this.elementOffset(this.track));
40
40
  var fixedTrackWidth = sliders_util_1.calculateFixedTrackSize(this.props);
41
41
  var wrapperParentEl = this.wrapper.parentElement;
42
- if (trackWidth > fixedTrackWidth) {
43
- wrapperParentEl.style[dimension] = wrapperSize - (trackWidth - fixedTrackWidth) + "px";
44
- }
45
- else {
46
- wrapperParentEl.style[dimension] = wrapperSize + (fixedTrackWidth - trackWidth) + "px";
42
+ if (fixedTrackWidth) {
43
+ wrapperParentEl.style[dimension] = "auto";
47
44
  }
48
45
  };
49
46
  SliderModelBase.prototype.trackWidth = function () {
50
47
  if (this.props.fixedTickWidth) {
51
48
  return sliders_util_1.calculateFixedTrackSize(this.props);
52
49
  }
53
- return sliders_util_1.calculateTrackSize(this.elementSize(this.wrapper), this.elementOffset(this.track), this.props.buttons);
50
+ return this.elementSize(this.track.parentElement);
54
51
  };
55
52
  SliderModelBase.prototype.getTickSizes = function () {
56
53
  var _a = this.props, min = _a.min, max = _a.max, smallStep = _a.smallStep;
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  var tslib_1 = require("tslib");
8
8
  /* tslint:disable:component-selector */
9
9
  var core_1 = require("@angular/core");
10
- var kendo_angular_l10n_1 = require("@progress/kendo-angular-l10n");
11
10
  var sliders_util_1 = require("./sliders-util");
12
11
  /**
13
12
  * @hidden
@@ -25,8 +24,7 @@ var SliderTick = /** @class */ (function () {
25
24
  * @hidden
26
25
  */
27
26
  var SliderTicksComponent = /** @class */ (function () {
28
- function SliderTicksComponent(rtl) {
29
- this.rtl = rtl;
27
+ function SliderTicksComponent() {
30
28
  this.wrapperClasses = 'k-reset k-slider-items';
31
29
  this.ticks = [];
32
30
  }
@@ -49,9 +47,6 @@ var SliderTicksComponent = /** @class */ (function () {
49
47
  result[i].classes['k-tick-large'] = true;
50
48
  }
51
49
  }
52
- if (this.rtl || this.vertical) {
53
- result = result.reverse();
54
- }
55
50
  if (result.length > 0) {
56
51
  Object.assign(result[0].classes, this.endTickClasses(true));
57
52
  Object.assign(result[result.length - 1].classes, this.endTickClasses(false));
@@ -104,9 +99,7 @@ var SliderTicksComponent = /** @class */ (function () {
104
99
  core_1.Component({
105
100
  selector: '[kendoSliderTicks]',
106
101
  template: "\n <li #tickElement *ngFor=\"let tick of ticks;\"\n [ngClass]=\"tick.classes\"\n title=\"{{ tickTitle(tick.value) }}\"\n role=\"presentation\"\n >\n <ng-container [ngSwitch]=\"tick.large\">\n <span class=\"k-label\" *ngSwitchCase=\"true\">\n <ng-container [ngTemplateOutlet]=\"labelTemplate || defaultLabel\" [ngTemplateOutletContext]=\"tick\">\n </ng-container>\n </span>\n <ng-container *ngSwitchCase=\"false\">&nbsp;</ng-container>\n </ng-container>\n </li>\n\n <ng-template #defaultLabel let-value=\"value\">\n {{ tickTitle(value) }}\n </ng-template>\n "
107
- }),
108
- tslib_1.__param(0, core_1.Optional()), tslib_1.__param(0, core_1.Inject(kendo_angular_l10n_1.RTL)),
109
- tslib_1.__metadata("design:paramtypes", [Boolean])
102
+ })
110
103
  ], SliderTicksComponent);
111
104
  return SliderTicksComponent;
112
105
  }());
@@ -51,14 +51,13 @@ exports.calculateValueFromTick = function (index, _a) {
51
51
  * @hidden
52
52
  */
53
53
  exports.calculateHandlePosition = function (_a) {
54
- var handleWidth = _a.handleWidth, trackWidth = _a.trackWidth, min = _a.min, max = _a.max, reverse = _a.reverse, value = _a.value;
55
- var halfHandleWidth = Math.floor(handleWidth / 2);
54
+ var trackWidth = _a.trackWidth, min = _a.min, max = _a.max, reverse = _a.reverse, value = _a.value;
56
55
  var step = trackWidth / Math.abs(max - min);
57
56
  var pos = utils_1.isPresent(value) ? step * (value - min) : min;
58
57
  if (reverse) {
59
58
  pos = trackWidth - pos;
60
59
  }
61
- return Math.floor(pos - halfHandleWidth);
60
+ return Math.floor(pos);
62
61
  };
63
62
  /**
64
63
  * @hidden
@@ -5,17 +5,19 @@
5
5
  "use strict";
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  var tslib_1 = require("tslib");
8
+ var utils_1 = require("./../shared/utils");
8
9
  var dom_utils_1 = require("./../common/dom-utils");
9
10
  var forms_1 = require("@angular/forms");
10
11
  var core_1 = require("@angular/core");
11
12
  var kendo_licensing_1 = require("@progress/kendo-licensing");
12
13
  var package_metadata_1 = require("../package-metadata");
13
14
  var dom_utils_2 = require("../common/dom-utils");
14
- var utils_1 = require("../common/utils");
15
+ var utils_2 = require("../common/utils");
15
16
  var kendo_angular_common_1 = require("@progress/kendo-angular-common");
16
17
  var textbox_suffix_directive_1 = require("./textbox-suffix.directive");
17
18
  var textbox_prefix_directive_1 = require("./textbox-prefix.directive");
18
19
  var kendo_angular_l10n_1 = require("@progress/kendo-angular-l10n");
20
+ var utils_3 = require("../shared/utils");
19
21
  var FOCUSED = 'k-state-focused';
20
22
  var TextBoxComponent = /** @class */ (function () {
21
23
  function TextBoxComponent(localizationService, ngZone, changeDetector, renderer, injector, hostElement) {
@@ -188,7 +190,7 @@ var TextBoxComponent = /** @class */ (function () {
188
190
  */
189
191
  this.handleInputBlur = function () {
190
192
  _this.changeDetector.markForCheck();
191
- if (kendo_angular_common_1.hasObservers(_this.inputBlur) || utils_1.requiresZoneOnBlur(_this.control)) {
193
+ if (kendo_angular_common_1.hasObservers(_this.inputBlur) || utils_2.requiresZoneOnBlur(_this.control)) {
192
194
  _this.ngZone.run(function () {
193
195
  _this.ngTouched();
194
196
  _this.inputBlur.emit();
@@ -199,7 +201,7 @@ var TextBoxComponent = /** @class */ (function () {
199
201
  * @hidden
200
202
  */
201
203
  this.handleInput = function (ev) {
202
- var incomingValue = ev.target.value;
204
+ var incomingValue = utils_3.isSafari(navigator.userAgent) && utils_1.isJapanese(ev.target.value) ? ev.data : ev.target.value;
203
205
  _this.updateValue(incomingValue);
204
206
  };
205
207
  this.ngChange = function (_) { };
@@ -483,7 +485,7 @@ var TextBoxComponent = /** @class */ (function () {
483
485
  };
484
486
  TextBoxComponent.prototype.updateValue = function (value) {
485
487
  var _this = this;
486
- if (!utils_1.areSame(this.value, value)) {
488
+ if (!utils_2.areSame(this.value, value)) {
487
489
  this.ngZone.run(function () {
488
490
  _this.value = value;
489
491
  _this.ngChange(value);