primevue 4.2.1 → 4.2.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 (141) hide show
  1. package/autocomplete/AutoComplete.vue +3 -2
  2. package/autocomplete/BaseAutoComplete.vue +4 -0
  3. package/autocomplete/index.d.ts +5 -0
  4. package/autocomplete/index.mjs +8 -2
  5. package/autocomplete/index.mjs.map +1 -1
  6. package/button/Button.vue +2 -2
  7. package/button/index.d.ts +1 -1
  8. package/button/index.mjs +7 -7
  9. package/button/index.mjs.map +1 -1
  10. package/buttongroup/style/index.mjs +1 -1
  11. package/buttongroup/style/index.mjs.map +1 -1
  12. package/checkbox/index.d.ts +5 -0
  13. package/colorpicker/ColorPicker.vue +1 -1
  14. package/colorpicker/index.mjs +1 -0
  15. package/colorpicker/index.mjs.map +1 -1
  16. package/confirmpopup/ConfirmPopup.vue +1 -1
  17. package/confirmpopup/index.mjs +1 -1
  18. package/confirmpopup/index.mjs.map +1 -1
  19. package/contextmenu/ContextMenuSub.vue +1 -2
  20. package/contextmenu/index.mjs +1 -2
  21. package/contextmenu/index.mjs.map +1 -1
  22. package/datatable/BodyCell.vue +2 -11
  23. package/datatable/DataTable.vue +3 -24
  24. package/datatable/FooterCell.vue +3 -12
  25. package/datatable/HeaderCell.vue +2 -11
  26. package/datatable/index.mjs +49 -98
  27. package/datatable/index.mjs.map +1 -1
  28. package/datatable/style/index.mjs +1 -1
  29. package/datatable/style/index.mjs.map +1 -1
  30. package/datepicker/DatePicker.vue +6 -1
  31. package/datepicker/index.mjs +5 -1
  32. package/datepicker/index.mjs.map +1 -1
  33. package/datepicker/style/index.mjs +1 -1
  34. package/datepicker/style/index.mjs.map +1 -1
  35. package/dock/DockSub.vue +2 -3
  36. package/dock/index.mjs +1 -2
  37. package/dock/index.mjs.map +1 -1
  38. package/drawer/Drawer.vue +4 -3
  39. package/drawer/index.d.ts +10 -1
  40. package/drawer/index.mjs +5 -2
  41. package/drawer/index.mjs.map +1 -1
  42. package/drawer/style/index.mjs +8 -3
  43. package/drawer/style/index.mjs.map +1 -1
  44. package/dynamicdialog/DynamicDialog.vue +1 -0
  45. package/dynamicdialog/index.mjs +1 -0
  46. package/dynamicdialog/index.mjs.map +1 -1
  47. package/editor/Editor.vue +1 -1
  48. package/editor/index.mjs +1 -1
  49. package/editor/index.mjs.map +1 -1
  50. package/imagecompare/ImageCompare.vue +3 -33
  51. package/imagecompare/index.mjs +3 -35
  52. package/imagecompare/index.mjs.map +1 -1
  53. package/imagecompare/style/index.mjs +1 -1
  54. package/imagecompare/style/index.mjs.map +1 -1
  55. package/inputgroup/style/index.mjs +1 -1
  56. package/inputgroup/style/index.mjs.map +1 -1
  57. package/inputnumber/InputNumber.vue +2 -1
  58. package/inputnumber/index.mjs +2 -1
  59. package/inputnumber/index.mjs.map +1 -1
  60. package/inputotp/InputOtp.vue +2 -1
  61. package/inputotp/index.mjs +2 -1
  62. package/inputotp/index.mjs.map +1 -1
  63. package/inputtext/index.d.ts +6 -6
  64. package/listbox/Listbox.vue +19 -15
  65. package/listbox/index.d.ts +4 -0
  66. package/listbox/index.mjs +21 -18
  67. package/listbox/index.mjs.map +1 -1
  68. package/megamenu/MegaMenuSub.vue +1 -2
  69. package/megamenu/index.d.ts +1 -1
  70. package/megamenu/index.mjs +1 -2
  71. package/megamenu/index.mjs.map +1 -1
  72. package/menu/Menuitem.vue +1 -2
  73. package/menu/index.mjs +1 -2
  74. package/menu/index.mjs.map +1 -1
  75. package/menubar/MenubarSub.vue +1 -2
  76. package/menubar/index.mjs +1 -2
  77. package/menubar/index.mjs.map +1 -1
  78. package/menubar/style/index.mjs +1 -1
  79. package/menubar/style/index.mjs.map +1 -1
  80. package/metergroup/index.d.ts +1 -1
  81. package/package.json +5 -5
  82. package/paginator/style/index.mjs +1 -1
  83. package/paginator/style/index.mjs.map +1 -1
  84. package/panelmenu/PanelMenu.vue +6 -3
  85. package/panelmenu/PanelMenuSub.vue +1 -2
  86. package/panelmenu/index.mjs +6 -4
  87. package/panelmenu/index.mjs.map +1 -1
  88. package/panelmenu/style/index.mjs +1 -1
  89. package/panelmenu/style/index.mjs.map +1 -1
  90. package/password/index.d.ts +1 -1
  91. package/scrollpanel/ScrollPanel.vue +4 -35
  92. package/scrollpanel/index.mjs +27 -57
  93. package/scrollpanel/index.mjs.map +1 -1
  94. package/scrollpanel/style/index.mjs +1 -1
  95. package/scrollpanel/style/index.mjs.map +1 -1
  96. package/select/Select.vue +2 -2
  97. package/select/index.mjs +2 -2
  98. package/select/index.mjs.map +1 -1
  99. package/slider/Slider.vue +15 -39
  100. package/slider/index.mjs +17 -51
  101. package/slider/index.mjs.map +1 -1
  102. package/splitter/Splitter.vue +3 -24
  103. package/splitter/index.mjs +21 -43
  104. package/splitter/index.mjs.map +1 -1
  105. package/step/Step.vue +2 -2
  106. package/step/index.mjs +2 -2
  107. package/step/index.mjs.map +1 -1
  108. package/tablist/TabList.vue +11 -43
  109. package/tablist/index.mjs +11 -42
  110. package/tablist/index.mjs.map +1 -1
  111. package/tabs/index.d.ts +3 -3
  112. package/textarea/Textarea.vue +14 -3
  113. package/textarea/index.d.ts +2 -3
  114. package/textarea/index.mjs +14 -3
  115. package/textarea/index.mjs.map +1 -1
  116. package/tieredmenu/TieredMenuSub.vue +1 -2
  117. package/tieredmenu/index.mjs +1 -2
  118. package/tieredmenu/index.mjs.map +1 -1
  119. package/timeline/style/index.mjs +1 -1
  120. package/timeline/style/index.mjs.map +1 -1
  121. package/togglebutton/ToggleButton.vue +1 -1
  122. package/togglebutton/index.mjs +1 -1
  123. package/togglebutton/index.mjs.map +1 -1
  124. package/tree/Tree.vue +1 -1
  125. package/tree/index.mjs +29 -23
  126. package/tree/index.mjs.map +1 -1
  127. package/tree/style/index.mjs +1 -1
  128. package/tree/style/index.mjs.map +1 -1
  129. package/treeselect/TreeSelect.vue +4 -3
  130. package/treeselect/index.mjs +9 -8
  131. package/treeselect/index.mjs.map +1 -1
  132. package/treetable/BodyCell.vue +2 -11
  133. package/treetable/FooterCell.vue +3 -12
  134. package/treetable/HeaderCell.vue +3 -12
  135. package/treetable/TreeTable.vue +3 -26
  136. package/treetable/index.mjs +24 -75
  137. package/treetable/index.mjs.map +1 -1
  138. package/treetable/style/index.mjs +1 -1
  139. package/treetable/style/index.mjs.map +1 -1
  140. package/umd/primevue.min.js +1 -1
  141. package/web-types.json +1 -1
package/slider/Slider.vue CHANGED
@@ -65,7 +65,7 @@
65
65
  </template>
66
66
 
67
67
  <script>
68
- import { getAttribute, getWindowScrollLeft, getWindowScrollTop } from '@primeuix/utils/dom';
68
+ import { getAttribute, getWindowScrollLeft, getWindowScrollTop, isRTL } from '@primeuix/utils/dom';
69
69
  import BaseSlider from './BaseSlider.vue';
70
70
 
71
71
  export default {
@@ -81,22 +81,8 @@ export default {
81
81
  barHeight: null,
82
82
  dragListener: null,
83
83
  dragEndListener: null,
84
- mutationObserver: null,
85
- data() {
86
- return {
87
- isRTL: false
88
- };
89
- },
90
84
  beforeUnmount() {
91
85
  this.unbindDragListeners();
92
-
93
- if (this.mutationObserver) {
94
- this.mutationObserver.disconnect();
95
- }
96
- },
97
- mounted() {
98
- this.updateDirection();
99
- this.observeDirectionChanges();
100
86
  },
101
87
  methods: {
102
88
  updateDomData() {
@@ -113,7 +99,8 @@ export default {
113
99
  let pageY = event.touches ? event.touches[0].pageY : event.pageY;
114
100
 
115
101
  if (this.orientation === 'horizontal') {
116
- if (this.isRTL) {
102
+ // @todo: Check this
103
+ if (isRTL(this.$el)) {
117
104
  handleValue = ((this.initX + this.barWidth - pageX) * 100) / this.barWidth;
118
105
  } else {
119
106
  handleValue = ((pageX - this.initX) * 100) / this.barWidth;
@@ -180,12 +167,10 @@ export default {
180
167
  }
181
168
 
182
169
  event.currentTarget.focus();
183
- event.preventDefault();
184
170
  },
185
171
  onDrag(event) {
186
172
  if (this.dragging) {
187
173
  this.setValue(event);
188
- event.preventDefault();
189
174
  }
190
175
  },
191
176
  onDragEnd(event) {
@@ -310,7 +295,7 @@ export default {
310
295
  const rangeSliderPosition = this.rangeEndPosition > this.rangeStartPosition ? this.rangeStartPosition : this.rangeEndPosition;
311
296
 
312
297
  if (this.horizontal) {
313
- return this.isRTL ? { right: rangeSliderPosition + '%', width: rangeSliderWidth + '%' } : { left: rangeSliderPosition + '%', width: rangeSliderWidth + '%' };
298
+ return { 'inset-inline-start': rangeSliderPosition + '%', width: rangeSliderWidth + '%' };
314
299
  } else {
315
300
  return { bottom: rangeSliderPosition + '%', height: rangeSliderWidth + '%' };
316
301
  }
@@ -324,37 +309,24 @@ export default {
324
309
  },
325
310
  handleStyle() {
326
311
  if (this.horizontal) {
327
- return this.isRTL ? { right: this.handlePosition + '%' } : { left: this.handlePosition + '%' };
312
+ return { 'inset-inline-start': this.handlePosition + '%' };
328
313
  } else {
329
314
  return { bottom: this.handlePosition + '%' };
330
315
  }
331
316
  },
332
317
  rangeStartHandleStyle() {
333
318
  if (this.horizontal) {
334
- return this.isRTL ? { right: this.rangeStartPosition + '%' } : { left: this.rangeStartPosition + '%' };
319
+ return { 'inset-inline-start': this.rangeStartPosition + '%' };
335
320
  } else {
336
321
  return { bottom: this.rangeStartPosition + '%' };
337
322
  }
338
323
  },
339
324
  rangeEndHandleStyle() {
340
325
  if (this.horizontal) {
341
- return this.isRTL ? { right: this.rangeEndPosition + '%' } : { left: this.rangeEndPosition + '%' };
326
+ return { 'inset-inline-start': this.rangeEndPosition + '%' };
342
327
  } else {
343
328
  return { bottom: this.rangeEndPosition + '%' };
344
329
  }
345
- },
346
- updateDirection() {
347
- this.isRTL = !!this.$el.closest('[dir="rtl"]');
348
- },
349
- observeDirectionChanges() {
350
- const targetNode = document.documentElement;
351
- const config = { attributes: true, attributeFilter: ['dir'] };
352
-
353
- this.mutationObserver = new MutationObserver(() => {
354
- this.updateDirection();
355
- });
356
-
357
- this.mutationObserver.observe(targetNode, config);
358
330
  }
359
331
  },
360
332
  computed: {
@@ -377,12 +349,16 @@ export default {
377
349
  else return ((this.value - this.min) * 100) / (this.max - this.min);
378
350
  },
379
351
  rangeStartPosition() {
380
- if (this.value && this.value[0]) return ((this.value[0] < this.min ? 0 : this.value[0] - this.min) * 100) / (this.max - this.min);
381
- else return 0;
352
+ if (this.value && this.value[0] !== undefined) {
353
+ if (this.value[0] < this.min) return 0;
354
+ else return ((this.value[0] - this.min) * 100) / (this.max - this.min);
355
+ } else return 0;
382
356
  },
383
357
  rangeEndPosition() {
384
- if (this.value && this.value.length === 2) return ((this.value[1] > this.max ? 100 : this.value[1] - this.min) * 100) / (this.max - this.min);
385
- else return 100;
358
+ if (this.value && this.value.length === 2 && this.value[1] !== undefined) {
359
+ if (this.value[1] > this.max) return 100;
360
+ else return ((this.value[1] - this.min) * 100) / (this.max - this.min);
361
+ } else return 100;
386
362
  }
387
363
  }
388
364
  };
package/slider/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { getWindowScrollLeft, getWindowScrollTop, getAttribute } from '@primeuix/utils/dom';
1
+ import { getWindowScrollLeft, getWindowScrollTop, isRTL, getAttribute } from '@primeuix/utils/dom';
2
2
  import BaseEditableHolder from '@primevue/core/baseeditableholder';
3
3
  import SliderStyle from 'primevue/slider/style';
4
4
  import { openBlock, createElementBlock, mergeProps, createElementVNode, createCommentVNode } from 'vue';
@@ -68,21 +68,8 @@ var script = {
68
68
  barHeight: null,
69
69
  dragListener: null,
70
70
  dragEndListener: null,
71
- mutationObserver: null,
72
- data: function data() {
73
- return {
74
- isRTL: false
75
- };
76
- },
77
71
  beforeUnmount: function beforeUnmount() {
78
72
  this.unbindDragListeners();
79
- if (this.mutationObserver) {
80
- this.mutationObserver.disconnect();
81
- }
82
- },
83
- mounted: function mounted() {
84
- this.updateDirection();
85
- this.observeDirectionChanges();
86
73
  },
87
74
  methods: {
88
75
  updateDomData: function updateDomData() {
@@ -97,7 +84,8 @@ var script = {
97
84
  var pageX = event.touches ? event.touches[0].pageX : event.pageX;
98
85
  var pageY = event.touches ? event.touches[0].pageY : event.pageY;
99
86
  if (this.orientation === 'horizontal') {
100
- if (this.isRTL) {
87
+ // @todo: Check this
88
+ if (isRTL(this.$el)) {
101
89
  handleValue = (this.initX + this.barWidth - pageX) * 100 / this.barWidth;
102
90
  } else {
103
91
  handleValue = (pageX - this.initX) * 100 / this.barWidth;
@@ -147,12 +135,10 @@ var script = {
147
135
  this.handleIndex = index;
148
136
  }
149
137
  event.currentTarget.focus();
150
- event.preventDefault();
151
138
  },
152
139
  onDrag: function onDrag(event) {
153
140
  if (this.dragging) {
154
141
  this.setValue(event);
155
- event.preventDefault();
156
142
  }
157
143
  },
158
144
  onDragEnd: function onDragEnd(event) {
@@ -260,11 +246,8 @@ var script = {
260
246
  var rangeSliderWidth = this.rangeEndPosition > this.rangeStartPosition ? this.rangeEndPosition - this.rangeStartPosition : this.rangeStartPosition - this.rangeEndPosition;
261
247
  var rangeSliderPosition = this.rangeEndPosition > this.rangeStartPosition ? this.rangeStartPosition : this.rangeEndPosition;
262
248
  if (this.horizontal) {
263
- return this.isRTL ? {
264
- right: rangeSliderPosition + '%',
265
- width: rangeSliderWidth + '%'
266
- } : {
267
- left: rangeSliderPosition + '%',
249
+ return {
250
+ 'inset-inline-start': rangeSliderPosition + '%',
268
251
  width: rangeSliderWidth + '%'
269
252
  };
270
253
  } else {
@@ -287,10 +270,8 @@ var script = {
287
270
  },
288
271
  handleStyle: function handleStyle() {
289
272
  if (this.horizontal) {
290
- return this.isRTL ? {
291
- right: this.handlePosition + '%'
292
- } : {
293
- left: this.handlePosition + '%'
273
+ return {
274
+ 'inset-inline-start': this.handlePosition + '%'
294
275
  };
295
276
  } else {
296
277
  return {
@@ -300,10 +281,8 @@ var script = {
300
281
  },
301
282
  rangeStartHandleStyle: function rangeStartHandleStyle() {
302
283
  if (this.horizontal) {
303
- return this.isRTL ? {
304
- right: this.rangeStartPosition + '%'
305
- } : {
306
- left: this.rangeStartPosition + '%'
284
+ return {
285
+ 'inset-inline-start': this.rangeStartPosition + '%'
307
286
  };
308
287
  } else {
309
288
  return {
@@ -313,31 +292,14 @@ var script = {
313
292
  },
314
293
  rangeEndHandleStyle: function rangeEndHandleStyle() {
315
294
  if (this.horizontal) {
316
- return this.isRTL ? {
317
- right: this.rangeEndPosition + '%'
318
- } : {
319
- left: this.rangeEndPosition + '%'
295
+ return {
296
+ 'inset-inline-start': this.rangeEndPosition + '%'
320
297
  };
321
298
  } else {
322
299
  return {
323
300
  bottom: this.rangeEndPosition + '%'
324
301
  };
325
302
  }
326
- },
327
- updateDirection: function updateDirection() {
328
- this.isRTL = !!this.$el.closest('[dir="rtl"]');
329
- },
330
- observeDirectionChanges: function observeDirectionChanges() {
331
- var _this = this;
332
- var targetNode = document.documentElement;
333
- var config = {
334
- attributes: true,
335
- attributeFilter: ['dir']
336
- };
337
- this.mutationObserver = new MutationObserver(function () {
338
- _this.updateDirection();
339
- });
340
- this.mutationObserver.observe(targetNode, config);
341
303
  }
342
304
  },
343
305
  computed: {
@@ -359,10 +321,14 @@ var script = {
359
321
  if (this.value < this.min) return 0;else if (this.value > this.max) return 100;else return (this.value - this.min) * 100 / (this.max - this.min);
360
322
  },
361
323
  rangeStartPosition: function rangeStartPosition() {
362
- if (this.value && this.value[0]) return (this.value[0] < this.min ? 0 : this.value[0] - this.min) * 100 / (this.max - this.min);else return 0;
324
+ if (this.value && this.value[0] !== undefined) {
325
+ if (this.value[0] < this.min) return 0;else return (this.value[0] - this.min) * 100 / (this.max - this.min);
326
+ } else return 0;
363
327
  },
364
328
  rangeEndPosition: function rangeEndPosition() {
365
- if (this.value && this.value.length === 2) return (this.value[1] > this.max ? 100 : this.value[1] - this.min) * 100 / (this.max - this.min);else return 100;
329
+ if (this.value && this.value.length === 2 && this.value[1] !== undefined) {
330
+ if (this.value[1] > this.max) return 100;else return (this.value[1] - this.min) * 100 / (this.max - this.min);
331
+ } else return 100;
366
332
  }
367
333
  }
368
334
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/slider/BaseSlider.vue","../../src/slider/Slider.vue","../../src/slider/Slider.vue?vue&type=template&id=6bc62b2b&lang.js"],"sourcesContent":["<script>\nimport BaseEditableHolder from '@primevue/core/baseeditableholder';\nimport SliderStyle from 'primevue/slider/style';\n\nexport default {\n name: 'BaseSlider',\n extends: BaseEditableHolder,\n props: {\n min: {\n type: Number,\n default: 0\n },\n max: {\n type: Number,\n default: 100\n },\n orientation: {\n type: String,\n default: 'horizontal'\n },\n step: {\n type: Number,\n default: null\n },\n range: {\n type: Boolean,\n default: false\n },\n tabindex: {\n type: Number,\n default: 0\n },\n ariaLabelledby: {\n type: String,\n default: null\n },\n ariaLabel: {\n type: String,\n default: null\n }\n },\n style: SliderStyle,\n provide() {\n return {\n $pcSlider: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" @click=\"onBarClick\" v-bind=\"ptmi('root')\" :data-p-sliding=\"false\">\n <span :class=\"cx('range')\" :style=\"[sx('range'), rangeStyle()]\" v-bind=\"ptm('range')\"></span>\n <span\n v-if=\"!range\"\n :class=\"cx('handle')\"\n :style=\"[sx('handle'), handleStyle()]\"\n @touchstart.passive=\"onDragStart($event)\"\n @touchmove.passive=\"onDrag($event)\"\n @touchend=\"onDragEnd($event)\"\n @mousedown=\"onMouseDown($event)\"\n @keydown=\"onKeyDown($event)\"\n @blur=\"onBlur($event)\"\n :tabindex=\"tabindex\"\n role=\"slider\"\n :aria-valuemin=\"min\"\n :aria-valuenow=\"d_value\"\n :aria-valuemax=\"max\"\n :aria-labelledby=\"ariaLabelledby\"\n :aria-label=\"ariaLabel\"\n :aria-orientation=\"orientation\"\n v-bind=\"ptm('handle')\"\n ></span>\n <span\n v-if=\"range\"\n :class=\"cx('handle')\"\n :style=\"[sx('handle'), rangeStartHandleStyle()]\"\n @touchstart.passive=\"onDragStart($event, 0)\"\n @touchmove.passive=\"onDrag($event)\"\n @touchend=\"onDragEnd($event)\"\n @mousedown=\"onMouseDown($event, 0)\"\n @keydown=\"onKeyDown($event, 0)\"\n @blur=\"onBlur($event, 0)\"\n :tabindex=\"tabindex\"\n role=\"slider\"\n :aria-valuemin=\"min\"\n :aria-valuenow=\"d_value ? d_value[0] : null\"\n :aria-valuemax=\"max\"\n :aria-labelledby=\"ariaLabelledby\"\n :aria-label=\"ariaLabel\"\n :aria-orientation=\"orientation\"\n v-bind=\"ptm('startHandler')\"\n ></span>\n <span\n v-if=\"range\"\n :class=\"cx('handle')\"\n :style=\"[sx('handle'), rangeEndHandleStyle()]\"\n @touchstart.passive=\"onDragStart($event, 1)\"\n @touchmove.passive=\"onDrag($event)\"\n @touchend=\"onDragEnd($event)\"\n @mousedown=\"onMouseDown($event, 1)\"\n @keydown=\"onKeyDown($event, 1)\"\n @blur=\"onBlur($event, 1)\"\n :tabindex=\"tabindex\"\n role=\"slider\"\n :aria-valuemin=\"min\"\n :aria-valuenow=\"d_value ? d_value[1] : null\"\n :aria-valuemax=\"max\"\n :aria-labelledby=\"ariaLabelledby\"\n :aria-label=\"ariaLabel\"\n :aria-orientation=\"orientation\"\n v-bind=\"ptm('endHandler')\"\n ></span>\n </div>\n</template>\n\n<script>\nimport { getAttribute, getWindowScrollLeft, getWindowScrollTop } from '@primeuix/utils/dom';\nimport BaseSlider from './BaseSlider.vue';\n\nexport default {\n name: 'Slider',\n extends: BaseSlider,\n inheritAttrs: false,\n emits: ['change', 'slideend'],\n dragging: false,\n handleIndex: null,\n initX: null,\n initY: null,\n barWidth: null,\n barHeight: null,\n dragListener: null,\n dragEndListener: null,\n mutationObserver: null,\n data() {\n return {\n isRTL: false\n };\n },\n beforeUnmount() {\n this.unbindDragListeners();\n\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n },\n mounted() {\n this.updateDirection();\n this.observeDirectionChanges();\n },\n methods: {\n updateDomData() {\n let rect = this.$el.getBoundingClientRect();\n\n this.initX = rect.left + getWindowScrollLeft();\n this.initY = rect.top + getWindowScrollTop();\n this.barWidth = this.$el.offsetWidth;\n this.barHeight = this.$el.offsetHeight;\n },\n setValue(event) {\n let handleValue;\n let pageX = event.touches ? event.touches[0].pageX : event.pageX;\n let pageY = event.touches ? event.touches[0].pageY : event.pageY;\n\n if (this.orientation === 'horizontal') {\n if (this.isRTL) {\n handleValue = ((this.initX + this.barWidth - pageX) * 100) / this.barWidth;\n } else {\n handleValue = ((pageX - this.initX) * 100) / this.barWidth;\n }\n } else {\n handleValue = ((this.initY + this.barHeight - pageY) * 100) / this.barHeight;\n }\n\n let newValue = (this.max - this.min) * (handleValue / 100) + this.min;\n\n if (this.step) {\n const oldValue = this.range ? this.value[this.handleIndex] : this.value;\n const diff = newValue - oldValue;\n\n if (diff < 0) newValue = oldValue + Math.ceil(newValue / this.step - oldValue / this.step) * this.step;\n else if (diff > 0) newValue = oldValue + Math.floor(newValue / this.step - oldValue / this.step) * this.step;\n } else {\n newValue = Math.floor(newValue);\n }\n\n this.updateModel(event, newValue);\n },\n updateModel(event, value) {\n let newValue = parseFloat(value.toFixed(10));\n let modelValue;\n\n if (this.range) {\n modelValue = this.value ? [...this.value] : [];\n\n if (this.handleIndex == 0) {\n if (newValue < this.min) newValue = this.min;\n else if (newValue >= this.max) newValue = this.max;\n\n modelValue[0] = newValue;\n } else {\n if (newValue > this.max) newValue = this.max;\n else if (newValue <= this.min) newValue = this.min;\n\n modelValue[1] = newValue;\n }\n } else {\n if (newValue < this.min) newValue = this.min;\n else if (newValue > this.max) newValue = this.max;\n\n modelValue = newValue;\n }\n\n this.writeValue(modelValue, event);\n this.$emit('change', modelValue);\n },\n onDragStart(event, index) {\n if (this.disabled) {\n return;\n }\n\n this.$el.setAttribute('data-p-sliding', true);\n this.dragging = true;\n this.updateDomData();\n\n if (this.range && this.value[0] === this.max) {\n this.handleIndex = 0;\n } else {\n this.handleIndex = index;\n }\n\n event.currentTarget.focus();\n event.preventDefault();\n },\n onDrag(event) {\n if (this.dragging) {\n this.setValue(event);\n event.preventDefault();\n }\n },\n onDragEnd(event) {\n if (this.dragging) {\n this.dragging = false;\n this.$el.setAttribute('data-p-sliding', false);\n this.$emit('slideend', { originalEvent: event, value: this.value });\n }\n },\n onBarClick(event) {\n if (this.disabled) {\n return;\n }\n\n if (getAttribute(event.target, 'data-pc-section') !== 'handle') {\n this.updateDomData();\n this.setValue(event);\n }\n },\n onMouseDown(event, index) {\n this.bindDragListeners();\n this.onDragStart(event, index);\n },\n onKeyDown(event, index) {\n this.handleIndex = index;\n\n switch (event.code) {\n case 'ArrowDown':\n case 'ArrowLeft':\n this.decrementValue(event, index);\n event.preventDefault();\n break;\n\n case 'ArrowUp':\n case 'ArrowRight':\n this.incrementValue(event, index);\n event.preventDefault();\n break;\n\n case 'PageDown':\n this.decrementValue(event, index, true);\n event.preventDefault();\n break;\n\n case 'PageUp':\n this.incrementValue(event, index, true);\n event.preventDefault();\n break;\n\n case 'Home':\n this.updateModel(event, this.min);\n event.preventDefault();\n break;\n\n case 'End':\n this.updateModel(event, this.max);\n event.preventDefault();\n break;\n\n default:\n break;\n }\n },\n onBlur(event, index) {\n this.formField.onBlur?.(event);\n },\n decrementValue(event, index, pageKey = false) {\n let newValue;\n\n if (this.range) {\n if (this.step) newValue = this.value[index] - this.step;\n else newValue = this.value[index] - 1;\n } else {\n if (this.step) newValue = this.value - this.step;\n else if (!this.step && pageKey) newValue = this.value - 10;\n else newValue = this.value - 1;\n }\n\n this.updateModel(event, newValue);\n event.preventDefault();\n },\n incrementValue(event, index, pageKey = false) {\n let newValue;\n\n if (this.range) {\n if (this.step) newValue = this.value[index] + this.step;\n else newValue = this.value[index] + 1;\n } else {\n if (this.step) newValue = this.value + this.step;\n else if (!this.step && pageKey) newValue = this.value + 10;\n else newValue = this.value + 1;\n }\n\n this.updateModel(event, newValue);\n event.preventDefault();\n },\n bindDragListeners() {\n if (!this.dragListener) {\n this.dragListener = this.onDrag.bind(this);\n document.addEventListener('mousemove', this.dragListener);\n }\n\n if (!this.dragEndListener) {\n this.dragEndListener = this.onDragEnd.bind(this);\n document.addEventListener('mouseup', this.dragEndListener);\n }\n },\n unbindDragListeners() {\n if (this.dragListener) {\n document.removeEventListener('mousemove', this.dragListener);\n this.dragListener = null;\n }\n\n if (this.dragEndListener) {\n document.removeEventListener('mouseup', this.dragEndListener);\n this.dragEndListener = null;\n }\n },\n rangeStyle() {\n if (this.range) {\n const rangeSliderWidth = this.rangeEndPosition > this.rangeStartPosition ? this.rangeEndPosition - this.rangeStartPosition : this.rangeStartPosition - this.rangeEndPosition;\n const rangeSliderPosition = this.rangeEndPosition > this.rangeStartPosition ? this.rangeStartPosition : this.rangeEndPosition;\n\n if (this.horizontal) {\n return this.isRTL ? { right: rangeSliderPosition + '%', width: rangeSliderWidth + '%' } : { left: rangeSliderPosition + '%', width: rangeSliderWidth + '%' };\n } else {\n return { bottom: rangeSliderPosition + '%', height: rangeSliderWidth + '%' };\n }\n } else {\n if (this.horizontal) {\n return { width: this.handlePosition + '%' };\n } else {\n return { height: this.handlePosition + '%' };\n }\n }\n },\n handleStyle() {\n if (this.horizontal) {\n return this.isRTL ? { right: this.handlePosition + '%' } : { left: this.handlePosition + '%' };\n } else {\n return { bottom: this.handlePosition + '%' };\n }\n },\n rangeStartHandleStyle() {\n if (this.horizontal) {\n return this.isRTL ? { right: this.rangeStartPosition + '%' } : { left: this.rangeStartPosition + '%' };\n } else {\n return { bottom: this.rangeStartPosition + '%' };\n }\n },\n rangeEndHandleStyle() {\n if (this.horizontal) {\n return this.isRTL ? { right: this.rangeEndPosition + '%' } : { left: this.rangeEndPosition + '%' };\n } else {\n return { bottom: this.rangeEndPosition + '%' };\n }\n },\n updateDirection() {\n this.isRTL = !!this.$el.closest('[dir=\"rtl\"]');\n },\n observeDirectionChanges() {\n const targetNode = document.documentElement;\n const config = { attributes: true, attributeFilter: ['dir'] };\n\n this.mutationObserver = new MutationObserver(() => {\n this.updateDirection();\n });\n\n this.mutationObserver.observe(targetNode, config);\n }\n },\n computed: {\n value() {\n if (this.range) {\n return [this.d_value?.[0] ?? this.min, this.d_value?.[1] ?? this.max];\n }\n\n return this.d_value ?? this.min;\n },\n horizontal() {\n return this.orientation === 'horizontal';\n },\n vertical() {\n return this.orientation === 'vertical';\n },\n handlePosition() {\n if (this.value < this.min) return 0;\n else if (this.value > this.max) return 100;\n else return ((this.value - this.min) * 100) / (this.max - this.min);\n },\n rangeStartPosition() {\n if (this.value && this.value[0]) return ((this.value[0] < this.min ? 0 : this.value[0] - this.min) * 100) / (this.max - this.min);\n else return 0;\n },\n rangeEndPosition() {\n if (this.value && this.value.length === 2) return ((this.value[1] > this.max ? 100 : this.value[1] - this.min) * 100) / (this.max - this.min);\n else return 100;\n }\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" @click=\"onBarClick\" v-bind=\"ptmi('root')\" :data-p-sliding=\"false\">\n <span :class=\"cx('range')\" :style=\"[sx('range'), rangeStyle()]\" v-bind=\"ptm('range')\"></span>\n <span\n v-if=\"!range\"\n :class=\"cx('handle')\"\n :style=\"[sx('handle'), handleStyle()]\"\n @touchstart.passive=\"onDragStart($event)\"\n @touchmove.passive=\"onDrag($event)\"\n @touchend=\"onDragEnd($event)\"\n @mousedown=\"onMouseDown($event)\"\n @keydown=\"onKeyDown($event)\"\n @blur=\"onBlur($event)\"\n :tabindex=\"tabindex\"\n role=\"slider\"\n :aria-valuemin=\"min\"\n :aria-valuenow=\"d_value\"\n :aria-valuemax=\"max\"\n :aria-labelledby=\"ariaLabelledby\"\n :aria-label=\"ariaLabel\"\n :aria-orientation=\"orientation\"\n v-bind=\"ptm('handle')\"\n ></span>\n <span\n v-if=\"range\"\n :class=\"cx('handle')\"\n :style=\"[sx('handle'), rangeStartHandleStyle()]\"\n @touchstart.passive=\"onDragStart($event, 0)\"\n @touchmove.passive=\"onDrag($event)\"\n @touchend=\"onDragEnd($event)\"\n @mousedown=\"onMouseDown($event, 0)\"\n @keydown=\"onKeyDown($event, 0)\"\n @blur=\"onBlur($event, 0)\"\n :tabindex=\"tabindex\"\n role=\"slider\"\n :aria-valuemin=\"min\"\n :aria-valuenow=\"d_value ? d_value[0] : null\"\n :aria-valuemax=\"max\"\n :aria-labelledby=\"ariaLabelledby\"\n :aria-label=\"ariaLabel\"\n :aria-orientation=\"orientation\"\n v-bind=\"ptm('startHandler')\"\n ></span>\n <span\n v-if=\"range\"\n :class=\"cx('handle')\"\n :style=\"[sx('handle'), rangeEndHandleStyle()]\"\n @touchstart.passive=\"onDragStart($event, 1)\"\n @touchmove.passive=\"onDrag($event)\"\n @touchend=\"onDragEnd($event)\"\n @mousedown=\"onMouseDown($event, 1)\"\n @keydown=\"onKeyDown($event, 1)\"\n @blur=\"onBlur($event, 1)\"\n :tabindex=\"tabindex\"\n role=\"slider\"\n :aria-valuemin=\"min\"\n :aria-valuenow=\"d_value ? d_value[1] : null\"\n :aria-valuemax=\"max\"\n :aria-labelledby=\"ariaLabelledby\"\n :aria-label=\"ariaLabel\"\n :aria-orientation=\"orientation\"\n v-bind=\"ptm('endHandler')\"\n ></span>\n </div>\n</template>\n\n<script>\nimport { getAttribute, getWindowScrollLeft, getWindowScrollTop } from '@primeuix/utils/dom';\nimport BaseSlider from './BaseSlider.vue';\n\nexport default {\n name: 'Slider',\n extends: BaseSlider,\n inheritAttrs: false,\n emits: ['change', 'slideend'],\n dragging: false,\n handleIndex: null,\n initX: null,\n initY: null,\n barWidth: null,\n barHeight: null,\n dragListener: null,\n dragEndListener: null,\n mutationObserver: null,\n data() {\n return {\n isRTL: false\n };\n },\n beforeUnmount() {\n this.unbindDragListeners();\n\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n },\n mounted() {\n this.updateDirection();\n this.observeDirectionChanges();\n },\n methods: {\n updateDomData() {\n let rect = this.$el.getBoundingClientRect();\n\n this.initX = rect.left + getWindowScrollLeft();\n this.initY = rect.top + getWindowScrollTop();\n this.barWidth = this.$el.offsetWidth;\n this.barHeight = this.$el.offsetHeight;\n },\n setValue(event) {\n let handleValue;\n let pageX = event.touches ? event.touches[0].pageX : event.pageX;\n let pageY = event.touches ? event.touches[0].pageY : event.pageY;\n\n if (this.orientation === 'horizontal') {\n if (this.isRTL) {\n handleValue = ((this.initX + this.barWidth - pageX) * 100) / this.barWidth;\n } else {\n handleValue = ((pageX - this.initX) * 100) / this.barWidth;\n }\n } else {\n handleValue = ((this.initY + this.barHeight - pageY) * 100) / this.barHeight;\n }\n\n let newValue = (this.max - this.min) * (handleValue / 100) + this.min;\n\n if (this.step) {\n const oldValue = this.range ? this.value[this.handleIndex] : this.value;\n const diff = newValue - oldValue;\n\n if (diff < 0) newValue = oldValue + Math.ceil(newValue / this.step - oldValue / this.step) * this.step;\n else if (diff > 0) newValue = oldValue + Math.floor(newValue / this.step - oldValue / this.step) * this.step;\n } else {\n newValue = Math.floor(newValue);\n }\n\n this.updateModel(event, newValue);\n },\n updateModel(event, value) {\n let newValue = parseFloat(value.toFixed(10));\n let modelValue;\n\n if (this.range) {\n modelValue = this.value ? [...this.value] : [];\n\n if (this.handleIndex == 0) {\n if (newValue < this.min) newValue = this.min;\n else if (newValue >= this.max) newValue = this.max;\n\n modelValue[0] = newValue;\n } else {\n if (newValue > this.max) newValue = this.max;\n else if (newValue <= this.min) newValue = this.min;\n\n modelValue[1] = newValue;\n }\n } else {\n if (newValue < this.min) newValue = this.min;\n else if (newValue > this.max) newValue = this.max;\n\n modelValue = newValue;\n }\n\n this.writeValue(modelValue, event);\n this.$emit('change', modelValue);\n },\n onDragStart(event, index) {\n if (this.disabled) {\n return;\n }\n\n this.$el.setAttribute('data-p-sliding', true);\n this.dragging = true;\n this.updateDomData();\n\n if (this.range && this.value[0] === this.max) {\n this.handleIndex = 0;\n } else {\n this.handleIndex = index;\n }\n\n event.currentTarget.focus();\n event.preventDefault();\n },\n onDrag(event) {\n if (this.dragging) {\n this.setValue(event);\n event.preventDefault();\n }\n },\n onDragEnd(event) {\n if (this.dragging) {\n this.dragging = false;\n this.$el.setAttribute('data-p-sliding', false);\n this.$emit('slideend', { originalEvent: event, value: this.value });\n }\n },\n onBarClick(event) {\n if (this.disabled) {\n return;\n }\n\n if (getAttribute(event.target, 'data-pc-section') !== 'handle') {\n this.updateDomData();\n this.setValue(event);\n }\n },\n onMouseDown(event, index) {\n this.bindDragListeners();\n this.onDragStart(event, index);\n },\n onKeyDown(event, index) {\n this.handleIndex = index;\n\n switch (event.code) {\n case 'ArrowDown':\n case 'ArrowLeft':\n this.decrementValue(event, index);\n event.preventDefault();\n break;\n\n case 'ArrowUp':\n case 'ArrowRight':\n this.incrementValue(event, index);\n event.preventDefault();\n break;\n\n case 'PageDown':\n this.decrementValue(event, index, true);\n event.preventDefault();\n break;\n\n case 'PageUp':\n this.incrementValue(event, index, true);\n event.preventDefault();\n break;\n\n case 'Home':\n this.updateModel(event, this.min);\n event.preventDefault();\n break;\n\n case 'End':\n this.updateModel(event, this.max);\n event.preventDefault();\n break;\n\n default:\n break;\n }\n },\n onBlur(event, index) {\n this.formField.onBlur?.(event);\n },\n decrementValue(event, index, pageKey = false) {\n let newValue;\n\n if (this.range) {\n if (this.step) newValue = this.value[index] - this.step;\n else newValue = this.value[index] - 1;\n } else {\n if (this.step) newValue = this.value - this.step;\n else if (!this.step && pageKey) newValue = this.value - 10;\n else newValue = this.value - 1;\n }\n\n this.updateModel(event, newValue);\n event.preventDefault();\n },\n incrementValue(event, index, pageKey = false) {\n let newValue;\n\n if (this.range) {\n if (this.step) newValue = this.value[index] + this.step;\n else newValue = this.value[index] + 1;\n } else {\n if (this.step) newValue = this.value + this.step;\n else if (!this.step && pageKey) newValue = this.value + 10;\n else newValue = this.value + 1;\n }\n\n this.updateModel(event, newValue);\n event.preventDefault();\n },\n bindDragListeners() {\n if (!this.dragListener) {\n this.dragListener = this.onDrag.bind(this);\n document.addEventListener('mousemove', this.dragListener);\n }\n\n if (!this.dragEndListener) {\n this.dragEndListener = this.onDragEnd.bind(this);\n document.addEventListener('mouseup', this.dragEndListener);\n }\n },\n unbindDragListeners() {\n if (this.dragListener) {\n document.removeEventListener('mousemove', this.dragListener);\n this.dragListener = null;\n }\n\n if (this.dragEndListener) {\n document.removeEventListener('mouseup', this.dragEndListener);\n this.dragEndListener = null;\n }\n },\n rangeStyle() {\n if (this.range) {\n const rangeSliderWidth = this.rangeEndPosition > this.rangeStartPosition ? this.rangeEndPosition - this.rangeStartPosition : this.rangeStartPosition - this.rangeEndPosition;\n const rangeSliderPosition = this.rangeEndPosition > this.rangeStartPosition ? this.rangeStartPosition : this.rangeEndPosition;\n\n if (this.horizontal) {\n return this.isRTL ? { right: rangeSliderPosition + '%', width: rangeSliderWidth + '%' } : { left: rangeSliderPosition + '%', width: rangeSliderWidth + '%' };\n } else {\n return { bottom: rangeSliderPosition + '%', height: rangeSliderWidth + '%' };\n }\n } else {\n if (this.horizontal) {\n return { width: this.handlePosition + '%' };\n } else {\n return { height: this.handlePosition + '%' };\n }\n }\n },\n handleStyle() {\n if (this.horizontal) {\n return this.isRTL ? { right: this.handlePosition + '%' } : { left: this.handlePosition + '%' };\n } else {\n return { bottom: this.handlePosition + '%' };\n }\n },\n rangeStartHandleStyle() {\n if (this.horizontal) {\n return this.isRTL ? { right: this.rangeStartPosition + '%' } : { left: this.rangeStartPosition + '%' };\n } else {\n return { bottom: this.rangeStartPosition + '%' };\n }\n },\n rangeEndHandleStyle() {\n if (this.horizontal) {\n return this.isRTL ? { right: this.rangeEndPosition + '%' } : { left: this.rangeEndPosition + '%' };\n } else {\n return { bottom: this.rangeEndPosition + '%' };\n }\n },\n updateDirection() {\n this.isRTL = !!this.$el.closest('[dir=\"rtl\"]');\n },\n observeDirectionChanges() {\n const targetNode = document.documentElement;\n const config = { attributes: true, attributeFilter: ['dir'] };\n\n this.mutationObserver = new MutationObserver(() => {\n this.updateDirection();\n });\n\n this.mutationObserver.observe(targetNode, config);\n }\n },\n computed: {\n value() {\n if (this.range) {\n return [this.d_value?.[0] ?? this.min, this.d_value?.[1] ?? this.max];\n }\n\n return this.d_value ?? this.min;\n },\n horizontal() {\n return this.orientation === 'horizontal';\n },\n vertical() {\n return this.orientation === 'vertical';\n },\n handlePosition() {\n if (this.value < this.min) return 0;\n else if (this.value > this.max) return 100;\n else return ((this.value - this.min) * 100) / (this.max - this.min);\n },\n rangeStartPosition() {\n if (this.value && this.value[0]) return ((this.value[0] < this.min ? 0 : this.value[0] - this.min) * 100) / (this.max - this.min);\n else return 0;\n },\n rangeEndPosition() {\n if (this.value && this.value.length === 2) return ((this.value[1] > this.max ? 100 : this.value[1] - this.min) * 100) / (this.max - this.min);\n else return 100;\n }\n }\n};\n</script>\n"],"names":["name","BaseEditableHolder","props","min","type","Number","max","orientation","String","step","range","Boolean","tabindex","ariaLabelledby","ariaLabel","style","SliderStyle","provide","$pcSlider","$parentInstance","BaseSlider","inheritAttrs","emits","dragging","handleIndex","initX","initY","barWidth","barHeight","dragListener","dragEndListener","mutationObserver","data","isRTL","beforeUnmount","unbindDragListeners","disconnect","mounted","updateDirection","observeDirectionChanges","methods","updateDomData","rect","$el","getBoundingClientRect","left","getWindowScrollLeft","top","getWindowScrollTop","offsetWidth","offsetHeight","setValue","event","handleValue","pageX","touches","pageY","newValue","oldValue","value","diff","Math","ceil","floor","updateModel","parseFloat","toFixed","modelValue","_toConsumableArray","writeValue","$emit","onDragStart","index","disabled","setAttribute","currentTarget","focus","preventDefault","onDrag","onDragEnd","originalEvent","onBarClick","getAttribute","target","onMouseDown","bindDragListeners","onKeyDown","code","decrementValue","incrementValue","onBlur","_this$formField$onBlu","_this$formField","formField","call","pageKey","bind","document","addEventListener","removeEventListener","rangeStyle","rangeSliderWidth","rangeEndPosition","rangeStartPosition","rangeSliderPosition","horizontal","right","width","bottom","height","handlePosition","handleStyle","rangeStartHandleStyle","rangeEndHandleStyle","closest","_this","targetNode","documentElement","config","attributes","attributeFilter","MutationObserver","observe","computed","_this$d_value3","_this$d_value$","_this$d_value","_this$d_value$2","_this$d_value2","d_value","vertical","length","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","onClick","$options","apply","arguments","ptmi","_createElementVNode","sx","ptm","onTouchstartPassive","_cache","$event","onTouchmovePassive","onTouchend","onMousedown","onKeydown","role","_hoisted_1","_hoisted_2","_hoisted_3"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/slider/BaseSlider.vue","../../src/slider/Slider.vue","../../src/slider/Slider.vue?vue&type=template&id=183cc971&lang.js"],"sourcesContent":["<script>\nimport BaseEditableHolder from '@primevue/core/baseeditableholder';\nimport SliderStyle from 'primevue/slider/style';\n\nexport default {\n name: 'BaseSlider',\n extends: BaseEditableHolder,\n props: {\n min: {\n type: Number,\n default: 0\n },\n max: {\n type: Number,\n default: 100\n },\n orientation: {\n type: String,\n default: 'horizontal'\n },\n step: {\n type: Number,\n default: null\n },\n range: {\n type: Boolean,\n default: false\n },\n tabindex: {\n type: Number,\n default: 0\n },\n ariaLabelledby: {\n type: String,\n default: null\n },\n ariaLabel: {\n type: String,\n default: null\n }\n },\n style: SliderStyle,\n provide() {\n return {\n $pcSlider: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" @click=\"onBarClick\" v-bind=\"ptmi('root')\" :data-p-sliding=\"false\">\n <span :class=\"cx('range')\" :style=\"[sx('range'), rangeStyle()]\" v-bind=\"ptm('range')\"></span>\n <span\n v-if=\"!range\"\n :class=\"cx('handle')\"\n :style=\"[sx('handle'), handleStyle()]\"\n @touchstart.passive=\"onDragStart($event)\"\n @touchmove.passive=\"onDrag($event)\"\n @touchend=\"onDragEnd($event)\"\n @mousedown=\"onMouseDown($event)\"\n @keydown=\"onKeyDown($event)\"\n @blur=\"onBlur($event)\"\n :tabindex=\"tabindex\"\n role=\"slider\"\n :aria-valuemin=\"min\"\n :aria-valuenow=\"d_value\"\n :aria-valuemax=\"max\"\n :aria-labelledby=\"ariaLabelledby\"\n :aria-label=\"ariaLabel\"\n :aria-orientation=\"orientation\"\n v-bind=\"ptm('handle')\"\n ></span>\n <span\n v-if=\"range\"\n :class=\"cx('handle')\"\n :style=\"[sx('handle'), rangeStartHandleStyle()]\"\n @touchstart.passive=\"onDragStart($event, 0)\"\n @touchmove.passive=\"onDrag($event)\"\n @touchend=\"onDragEnd($event)\"\n @mousedown=\"onMouseDown($event, 0)\"\n @keydown=\"onKeyDown($event, 0)\"\n @blur=\"onBlur($event, 0)\"\n :tabindex=\"tabindex\"\n role=\"slider\"\n :aria-valuemin=\"min\"\n :aria-valuenow=\"d_value ? d_value[0] : null\"\n :aria-valuemax=\"max\"\n :aria-labelledby=\"ariaLabelledby\"\n :aria-label=\"ariaLabel\"\n :aria-orientation=\"orientation\"\n v-bind=\"ptm('startHandler')\"\n ></span>\n <span\n v-if=\"range\"\n :class=\"cx('handle')\"\n :style=\"[sx('handle'), rangeEndHandleStyle()]\"\n @touchstart.passive=\"onDragStart($event, 1)\"\n @touchmove.passive=\"onDrag($event)\"\n @touchend=\"onDragEnd($event)\"\n @mousedown=\"onMouseDown($event, 1)\"\n @keydown=\"onKeyDown($event, 1)\"\n @blur=\"onBlur($event, 1)\"\n :tabindex=\"tabindex\"\n role=\"slider\"\n :aria-valuemin=\"min\"\n :aria-valuenow=\"d_value ? d_value[1] : null\"\n :aria-valuemax=\"max\"\n :aria-labelledby=\"ariaLabelledby\"\n :aria-label=\"ariaLabel\"\n :aria-orientation=\"orientation\"\n v-bind=\"ptm('endHandler')\"\n ></span>\n </div>\n</template>\n\n<script>\nimport { getAttribute, getWindowScrollLeft, getWindowScrollTop, isRTL } from '@primeuix/utils/dom';\nimport BaseSlider from './BaseSlider.vue';\n\nexport default {\n name: 'Slider',\n extends: BaseSlider,\n inheritAttrs: false,\n emits: ['change', 'slideend'],\n dragging: false,\n handleIndex: null,\n initX: null,\n initY: null,\n barWidth: null,\n barHeight: null,\n dragListener: null,\n dragEndListener: null,\n beforeUnmount() {\n this.unbindDragListeners();\n },\n methods: {\n updateDomData() {\n let rect = this.$el.getBoundingClientRect();\n\n this.initX = rect.left + getWindowScrollLeft();\n this.initY = rect.top + getWindowScrollTop();\n this.barWidth = this.$el.offsetWidth;\n this.barHeight = this.$el.offsetHeight;\n },\n setValue(event) {\n let handleValue;\n let pageX = event.touches ? event.touches[0].pageX : event.pageX;\n let pageY = event.touches ? event.touches[0].pageY : event.pageY;\n\n if (this.orientation === 'horizontal') {\n // @todo: Check this\n if (isRTL(this.$el)) {\n handleValue = ((this.initX + this.barWidth - pageX) * 100) / this.barWidth;\n } else {\n handleValue = ((pageX - this.initX) * 100) / this.barWidth;\n }\n } else {\n handleValue = ((this.initY + this.barHeight - pageY) * 100) / this.barHeight;\n }\n\n let newValue = (this.max - this.min) * (handleValue / 100) + this.min;\n\n if (this.step) {\n const oldValue = this.range ? this.value[this.handleIndex] : this.value;\n const diff = newValue - oldValue;\n\n if (diff < 0) newValue = oldValue + Math.ceil(newValue / this.step - oldValue / this.step) * this.step;\n else if (diff > 0) newValue = oldValue + Math.floor(newValue / this.step - oldValue / this.step) * this.step;\n } else {\n newValue = Math.floor(newValue);\n }\n\n this.updateModel(event, newValue);\n },\n updateModel(event, value) {\n let newValue = parseFloat(value.toFixed(10));\n let modelValue;\n\n if (this.range) {\n modelValue = this.value ? [...this.value] : [];\n\n if (this.handleIndex == 0) {\n if (newValue < this.min) newValue = this.min;\n else if (newValue >= this.max) newValue = this.max;\n\n modelValue[0] = newValue;\n } else {\n if (newValue > this.max) newValue = this.max;\n else if (newValue <= this.min) newValue = this.min;\n\n modelValue[1] = newValue;\n }\n } else {\n if (newValue < this.min) newValue = this.min;\n else if (newValue > this.max) newValue = this.max;\n\n modelValue = newValue;\n }\n\n this.writeValue(modelValue, event);\n this.$emit('change', modelValue);\n },\n onDragStart(event, index) {\n if (this.disabled) {\n return;\n }\n\n this.$el.setAttribute('data-p-sliding', true);\n this.dragging = true;\n this.updateDomData();\n\n if (this.range && this.value[0] === this.max) {\n this.handleIndex = 0;\n } else {\n this.handleIndex = index;\n }\n\n event.currentTarget.focus();\n },\n onDrag(event) {\n if (this.dragging) {\n this.setValue(event);\n }\n },\n onDragEnd(event) {\n if (this.dragging) {\n this.dragging = false;\n this.$el.setAttribute('data-p-sliding', false);\n this.$emit('slideend', { originalEvent: event, value: this.value });\n }\n },\n onBarClick(event) {\n if (this.disabled) {\n return;\n }\n\n if (getAttribute(event.target, 'data-pc-section') !== 'handle') {\n this.updateDomData();\n this.setValue(event);\n }\n },\n onMouseDown(event, index) {\n this.bindDragListeners();\n this.onDragStart(event, index);\n },\n onKeyDown(event, index) {\n this.handleIndex = index;\n\n switch (event.code) {\n case 'ArrowDown':\n case 'ArrowLeft':\n this.decrementValue(event, index);\n event.preventDefault();\n break;\n\n case 'ArrowUp':\n case 'ArrowRight':\n this.incrementValue(event, index);\n event.preventDefault();\n break;\n\n case 'PageDown':\n this.decrementValue(event, index, true);\n event.preventDefault();\n break;\n\n case 'PageUp':\n this.incrementValue(event, index, true);\n event.preventDefault();\n break;\n\n case 'Home':\n this.updateModel(event, this.min);\n event.preventDefault();\n break;\n\n case 'End':\n this.updateModel(event, this.max);\n event.preventDefault();\n break;\n\n default:\n break;\n }\n },\n onBlur(event, index) {\n this.formField.onBlur?.(event);\n },\n decrementValue(event, index, pageKey = false) {\n let newValue;\n\n if (this.range) {\n if (this.step) newValue = this.value[index] - this.step;\n else newValue = this.value[index] - 1;\n } else {\n if (this.step) newValue = this.value - this.step;\n else if (!this.step && pageKey) newValue = this.value - 10;\n else newValue = this.value - 1;\n }\n\n this.updateModel(event, newValue);\n event.preventDefault();\n },\n incrementValue(event, index, pageKey = false) {\n let newValue;\n\n if (this.range) {\n if (this.step) newValue = this.value[index] + this.step;\n else newValue = this.value[index] + 1;\n } else {\n if (this.step) newValue = this.value + this.step;\n else if (!this.step && pageKey) newValue = this.value + 10;\n else newValue = this.value + 1;\n }\n\n this.updateModel(event, newValue);\n event.preventDefault();\n },\n bindDragListeners() {\n if (!this.dragListener) {\n this.dragListener = this.onDrag.bind(this);\n document.addEventListener('mousemove', this.dragListener);\n }\n\n if (!this.dragEndListener) {\n this.dragEndListener = this.onDragEnd.bind(this);\n document.addEventListener('mouseup', this.dragEndListener);\n }\n },\n unbindDragListeners() {\n if (this.dragListener) {\n document.removeEventListener('mousemove', this.dragListener);\n this.dragListener = null;\n }\n\n if (this.dragEndListener) {\n document.removeEventListener('mouseup', this.dragEndListener);\n this.dragEndListener = null;\n }\n },\n rangeStyle() {\n if (this.range) {\n const rangeSliderWidth = this.rangeEndPosition > this.rangeStartPosition ? this.rangeEndPosition - this.rangeStartPosition : this.rangeStartPosition - this.rangeEndPosition;\n const rangeSliderPosition = this.rangeEndPosition > this.rangeStartPosition ? this.rangeStartPosition : this.rangeEndPosition;\n\n if (this.horizontal) {\n return { 'inset-inline-start': rangeSliderPosition + '%', width: rangeSliderWidth + '%' };\n } else {\n return { bottom: rangeSliderPosition + '%', height: rangeSliderWidth + '%' };\n }\n } else {\n if (this.horizontal) {\n return { width: this.handlePosition + '%' };\n } else {\n return { height: this.handlePosition + '%' };\n }\n }\n },\n handleStyle() {\n if (this.horizontal) {\n return { 'inset-inline-start': this.handlePosition + '%' };\n } else {\n return { bottom: this.handlePosition + '%' };\n }\n },\n rangeStartHandleStyle() {\n if (this.horizontal) {\n return { 'inset-inline-start': this.rangeStartPosition + '%' };\n } else {\n return { bottom: this.rangeStartPosition + '%' };\n }\n },\n rangeEndHandleStyle() {\n if (this.horizontal) {\n return { 'inset-inline-start': this.rangeEndPosition + '%' };\n } else {\n return { bottom: this.rangeEndPosition + '%' };\n }\n }\n },\n computed: {\n value() {\n if (this.range) {\n return [this.d_value?.[0] ?? this.min, this.d_value?.[1] ?? this.max];\n }\n\n return this.d_value ?? this.min;\n },\n horizontal() {\n return this.orientation === 'horizontal';\n },\n vertical() {\n return this.orientation === 'vertical';\n },\n handlePosition() {\n if (this.value < this.min) return 0;\n else if (this.value > this.max) return 100;\n else return ((this.value - this.min) * 100) / (this.max - this.min);\n },\n rangeStartPosition() {\n if (this.value && this.value[0] !== undefined) {\n if (this.value[0] < this.min) return 0;\n else return ((this.value[0] - this.min) * 100) / (this.max - this.min);\n } else return 0;\n },\n rangeEndPosition() {\n if (this.value && this.value.length === 2 && this.value[1] !== undefined) {\n if (this.value[1] > this.max) return 100;\n else return ((this.value[1] - this.min) * 100) / (this.max - this.min);\n } else return 100;\n }\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" @click=\"onBarClick\" v-bind=\"ptmi('root')\" :data-p-sliding=\"false\">\n <span :class=\"cx('range')\" :style=\"[sx('range'), rangeStyle()]\" v-bind=\"ptm('range')\"></span>\n <span\n v-if=\"!range\"\n :class=\"cx('handle')\"\n :style=\"[sx('handle'), handleStyle()]\"\n @touchstart.passive=\"onDragStart($event)\"\n @touchmove.passive=\"onDrag($event)\"\n @touchend=\"onDragEnd($event)\"\n @mousedown=\"onMouseDown($event)\"\n @keydown=\"onKeyDown($event)\"\n @blur=\"onBlur($event)\"\n :tabindex=\"tabindex\"\n role=\"slider\"\n :aria-valuemin=\"min\"\n :aria-valuenow=\"d_value\"\n :aria-valuemax=\"max\"\n :aria-labelledby=\"ariaLabelledby\"\n :aria-label=\"ariaLabel\"\n :aria-orientation=\"orientation\"\n v-bind=\"ptm('handle')\"\n ></span>\n <span\n v-if=\"range\"\n :class=\"cx('handle')\"\n :style=\"[sx('handle'), rangeStartHandleStyle()]\"\n @touchstart.passive=\"onDragStart($event, 0)\"\n @touchmove.passive=\"onDrag($event)\"\n @touchend=\"onDragEnd($event)\"\n @mousedown=\"onMouseDown($event, 0)\"\n @keydown=\"onKeyDown($event, 0)\"\n @blur=\"onBlur($event, 0)\"\n :tabindex=\"tabindex\"\n role=\"slider\"\n :aria-valuemin=\"min\"\n :aria-valuenow=\"d_value ? d_value[0] : null\"\n :aria-valuemax=\"max\"\n :aria-labelledby=\"ariaLabelledby\"\n :aria-label=\"ariaLabel\"\n :aria-orientation=\"orientation\"\n v-bind=\"ptm('startHandler')\"\n ></span>\n <span\n v-if=\"range\"\n :class=\"cx('handle')\"\n :style=\"[sx('handle'), rangeEndHandleStyle()]\"\n @touchstart.passive=\"onDragStart($event, 1)\"\n @touchmove.passive=\"onDrag($event)\"\n @touchend=\"onDragEnd($event)\"\n @mousedown=\"onMouseDown($event, 1)\"\n @keydown=\"onKeyDown($event, 1)\"\n @blur=\"onBlur($event, 1)\"\n :tabindex=\"tabindex\"\n role=\"slider\"\n :aria-valuemin=\"min\"\n :aria-valuenow=\"d_value ? d_value[1] : null\"\n :aria-valuemax=\"max\"\n :aria-labelledby=\"ariaLabelledby\"\n :aria-label=\"ariaLabel\"\n :aria-orientation=\"orientation\"\n v-bind=\"ptm('endHandler')\"\n ></span>\n </div>\n</template>\n\n<script>\nimport { getAttribute, getWindowScrollLeft, getWindowScrollTop, isRTL } from '@primeuix/utils/dom';\nimport BaseSlider from './BaseSlider.vue';\n\nexport default {\n name: 'Slider',\n extends: BaseSlider,\n inheritAttrs: false,\n emits: ['change', 'slideend'],\n dragging: false,\n handleIndex: null,\n initX: null,\n initY: null,\n barWidth: null,\n barHeight: null,\n dragListener: null,\n dragEndListener: null,\n beforeUnmount() {\n this.unbindDragListeners();\n },\n methods: {\n updateDomData() {\n let rect = this.$el.getBoundingClientRect();\n\n this.initX = rect.left + getWindowScrollLeft();\n this.initY = rect.top + getWindowScrollTop();\n this.barWidth = this.$el.offsetWidth;\n this.barHeight = this.$el.offsetHeight;\n },\n setValue(event) {\n let handleValue;\n let pageX = event.touches ? event.touches[0].pageX : event.pageX;\n let pageY = event.touches ? event.touches[0].pageY : event.pageY;\n\n if (this.orientation === 'horizontal') {\n // @todo: Check this\n if (isRTL(this.$el)) {\n handleValue = ((this.initX + this.barWidth - pageX) * 100) / this.barWidth;\n } else {\n handleValue = ((pageX - this.initX) * 100) / this.barWidth;\n }\n } else {\n handleValue = ((this.initY + this.barHeight - pageY) * 100) / this.barHeight;\n }\n\n let newValue = (this.max - this.min) * (handleValue / 100) + this.min;\n\n if (this.step) {\n const oldValue = this.range ? this.value[this.handleIndex] : this.value;\n const diff = newValue - oldValue;\n\n if (diff < 0) newValue = oldValue + Math.ceil(newValue / this.step - oldValue / this.step) * this.step;\n else if (diff > 0) newValue = oldValue + Math.floor(newValue / this.step - oldValue / this.step) * this.step;\n } else {\n newValue = Math.floor(newValue);\n }\n\n this.updateModel(event, newValue);\n },\n updateModel(event, value) {\n let newValue = parseFloat(value.toFixed(10));\n let modelValue;\n\n if (this.range) {\n modelValue = this.value ? [...this.value] : [];\n\n if (this.handleIndex == 0) {\n if (newValue < this.min) newValue = this.min;\n else if (newValue >= this.max) newValue = this.max;\n\n modelValue[0] = newValue;\n } else {\n if (newValue > this.max) newValue = this.max;\n else if (newValue <= this.min) newValue = this.min;\n\n modelValue[1] = newValue;\n }\n } else {\n if (newValue < this.min) newValue = this.min;\n else if (newValue > this.max) newValue = this.max;\n\n modelValue = newValue;\n }\n\n this.writeValue(modelValue, event);\n this.$emit('change', modelValue);\n },\n onDragStart(event, index) {\n if (this.disabled) {\n return;\n }\n\n this.$el.setAttribute('data-p-sliding', true);\n this.dragging = true;\n this.updateDomData();\n\n if (this.range && this.value[0] === this.max) {\n this.handleIndex = 0;\n } else {\n this.handleIndex = index;\n }\n\n event.currentTarget.focus();\n },\n onDrag(event) {\n if (this.dragging) {\n this.setValue(event);\n }\n },\n onDragEnd(event) {\n if (this.dragging) {\n this.dragging = false;\n this.$el.setAttribute('data-p-sliding', false);\n this.$emit('slideend', { originalEvent: event, value: this.value });\n }\n },\n onBarClick(event) {\n if (this.disabled) {\n return;\n }\n\n if (getAttribute(event.target, 'data-pc-section') !== 'handle') {\n this.updateDomData();\n this.setValue(event);\n }\n },\n onMouseDown(event, index) {\n this.bindDragListeners();\n this.onDragStart(event, index);\n },\n onKeyDown(event, index) {\n this.handleIndex = index;\n\n switch (event.code) {\n case 'ArrowDown':\n case 'ArrowLeft':\n this.decrementValue(event, index);\n event.preventDefault();\n break;\n\n case 'ArrowUp':\n case 'ArrowRight':\n this.incrementValue(event, index);\n event.preventDefault();\n break;\n\n case 'PageDown':\n this.decrementValue(event, index, true);\n event.preventDefault();\n break;\n\n case 'PageUp':\n this.incrementValue(event, index, true);\n event.preventDefault();\n break;\n\n case 'Home':\n this.updateModel(event, this.min);\n event.preventDefault();\n break;\n\n case 'End':\n this.updateModel(event, this.max);\n event.preventDefault();\n break;\n\n default:\n break;\n }\n },\n onBlur(event, index) {\n this.formField.onBlur?.(event);\n },\n decrementValue(event, index, pageKey = false) {\n let newValue;\n\n if (this.range) {\n if (this.step) newValue = this.value[index] - this.step;\n else newValue = this.value[index] - 1;\n } else {\n if (this.step) newValue = this.value - this.step;\n else if (!this.step && pageKey) newValue = this.value - 10;\n else newValue = this.value - 1;\n }\n\n this.updateModel(event, newValue);\n event.preventDefault();\n },\n incrementValue(event, index, pageKey = false) {\n let newValue;\n\n if (this.range) {\n if (this.step) newValue = this.value[index] + this.step;\n else newValue = this.value[index] + 1;\n } else {\n if (this.step) newValue = this.value + this.step;\n else if (!this.step && pageKey) newValue = this.value + 10;\n else newValue = this.value + 1;\n }\n\n this.updateModel(event, newValue);\n event.preventDefault();\n },\n bindDragListeners() {\n if (!this.dragListener) {\n this.dragListener = this.onDrag.bind(this);\n document.addEventListener('mousemove', this.dragListener);\n }\n\n if (!this.dragEndListener) {\n this.dragEndListener = this.onDragEnd.bind(this);\n document.addEventListener('mouseup', this.dragEndListener);\n }\n },\n unbindDragListeners() {\n if (this.dragListener) {\n document.removeEventListener('mousemove', this.dragListener);\n this.dragListener = null;\n }\n\n if (this.dragEndListener) {\n document.removeEventListener('mouseup', this.dragEndListener);\n this.dragEndListener = null;\n }\n },\n rangeStyle() {\n if (this.range) {\n const rangeSliderWidth = this.rangeEndPosition > this.rangeStartPosition ? this.rangeEndPosition - this.rangeStartPosition : this.rangeStartPosition - this.rangeEndPosition;\n const rangeSliderPosition = this.rangeEndPosition > this.rangeStartPosition ? this.rangeStartPosition : this.rangeEndPosition;\n\n if (this.horizontal) {\n return { 'inset-inline-start': rangeSliderPosition + '%', width: rangeSliderWidth + '%' };\n } else {\n return { bottom: rangeSliderPosition + '%', height: rangeSliderWidth + '%' };\n }\n } else {\n if (this.horizontal) {\n return { width: this.handlePosition + '%' };\n } else {\n return { height: this.handlePosition + '%' };\n }\n }\n },\n handleStyle() {\n if (this.horizontal) {\n return { 'inset-inline-start': this.handlePosition + '%' };\n } else {\n return { bottom: this.handlePosition + '%' };\n }\n },\n rangeStartHandleStyle() {\n if (this.horizontal) {\n return { 'inset-inline-start': this.rangeStartPosition + '%' };\n } else {\n return { bottom: this.rangeStartPosition + '%' };\n }\n },\n rangeEndHandleStyle() {\n if (this.horizontal) {\n return { 'inset-inline-start': this.rangeEndPosition + '%' };\n } else {\n return { bottom: this.rangeEndPosition + '%' };\n }\n }\n },\n computed: {\n value() {\n if (this.range) {\n return [this.d_value?.[0] ?? this.min, this.d_value?.[1] ?? this.max];\n }\n\n return this.d_value ?? this.min;\n },\n horizontal() {\n return this.orientation === 'horizontal';\n },\n vertical() {\n return this.orientation === 'vertical';\n },\n handlePosition() {\n if (this.value < this.min) return 0;\n else if (this.value > this.max) return 100;\n else return ((this.value - this.min) * 100) / (this.max - this.min);\n },\n rangeStartPosition() {\n if (this.value && this.value[0] !== undefined) {\n if (this.value[0] < this.min) return 0;\n else return ((this.value[0] - this.min) * 100) / (this.max - this.min);\n } else return 0;\n },\n rangeEndPosition() {\n if (this.value && this.value.length === 2 && this.value[1] !== undefined) {\n if (this.value[1] > this.max) return 100;\n else return ((this.value[1] - this.min) * 100) / (this.max - this.min);\n } else return 100;\n }\n }\n};\n</script>\n"],"names":["name","BaseEditableHolder","props","min","type","Number","max","orientation","String","step","range","Boolean","tabindex","ariaLabelledby","ariaLabel","style","SliderStyle","provide","$pcSlider","$parentInstance","BaseSlider","inheritAttrs","emits","dragging","handleIndex","initX","initY","barWidth","barHeight","dragListener","dragEndListener","beforeUnmount","unbindDragListeners","methods","updateDomData","rect","$el","getBoundingClientRect","left","getWindowScrollLeft","top","getWindowScrollTop","offsetWidth","offsetHeight","setValue","event","handleValue","pageX","touches","pageY","isRTL","newValue","oldValue","value","diff","Math","ceil","floor","updateModel","parseFloat","toFixed","modelValue","_toConsumableArray","writeValue","$emit","onDragStart","index","disabled","setAttribute","currentTarget","focus","onDrag","onDragEnd","originalEvent","onBarClick","getAttribute","target","onMouseDown","bindDragListeners","onKeyDown","code","decrementValue","preventDefault","incrementValue","onBlur","_this$formField$onBlu","_this$formField","formField","call","pageKey","bind","document","addEventListener","removeEventListener","rangeStyle","rangeSliderWidth","rangeEndPosition","rangeStartPosition","rangeSliderPosition","horizontal","width","bottom","height","handlePosition","handleStyle","rangeStartHandleStyle","rangeEndHandleStyle","computed","_this$d_value3","_this$d_value$","_this$d_value","_this$d_value$2","_this$d_value2","d_value","vertical","undefined","length","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","onClick","$options","apply","arguments","ptmi","_createElementVNode","sx","ptm","onTouchstartPassive","_cache","$event","onTouchmovePassive","onTouchend","onMousedown","onKeydown","role","_hoisted_1","_hoisted_2","_hoisted_3"],"mappings":"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"}
@@ -22,7 +22,7 @@
22
22
  </template>
23
23
 
24
24
  <script>
25
- import { getHeight, getOuterHeight, getOuterWidth, getWidth } from '@primeuix/utils/dom';
25
+ import { getHeight, getOuterHeight, getOuterWidth, getWidth, isRTL } from '@primeuix/utils/dom';
26
26
  import { isArray } from '@primeuix/utils/object';
27
27
  import { getVNodeProp } from '@primevue/core/utils';
28
28
  import BaseSplitter from './BaseSplitter.vue';
@@ -47,40 +47,19 @@ export default {
47
47
  panelSizes: null,
48
48
  prevPanelIndex: null,
49
49
  timer: null,
50
- mutationObserver: null,
51
50
  data() {
52
51
  return {
53
- prevSize: null,
54
- isRTL: false
52
+ prevSize: null
55
53
  };
56
54
  },
57
55
  mounted() {
58
56
  this.initializePanels();
59
- this.updateDirection();
60
- this.observeDirectionChanges();
61
57
  },
62
58
  beforeUnmount() {
63
59
  this.clear();
64
60
  this.unbindMouseListeners();
65
-
66
- if (this.mutationObserver) {
67
- this.mutationObserver.disconnect();
68
- }
69
61
  },
70
62
  methods: {
71
- updateDirection() {
72
- this.isRTL = !!this.$el.closest('[dir="rtl"]');
73
- },
74
- observeDirectionChanges() {
75
- const targetNode = document.documentElement;
76
- const config = { attributes: true, attributeFilter: ['dir'] };
77
-
78
- this.mutationObserver = new MutationObserver(() => {
79
- this.updateDirection();
80
- });
81
-
82
- this.mutationObserver.observe(targetNode, config);
83
- },
84
63
  isSplitterPanel(child) {
85
64
  return child.type.name === 'SplitterPanel';
86
65
  },
@@ -147,7 +126,7 @@ export default {
147
126
  }
148
127
  } else {
149
128
  if (this.horizontal) {
150
- if (this.isRTL) {
129
+ if (isRTL(this.$el)) {
151
130
  newPos = ((this.startPos - event.pageX) * 100) / this.size;
152
131
  } else {
153
132
  newPos = ((event.pageX - this.startPos) * 100) / this.size;