primevue 4.2.2 → 4.2.4
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.
- package/autocomplete/AutoComplete.vue +1 -1
- package/autocomplete/index.mjs +2 -1
- package/autocomplete/index.mjs.map +1 -1
- package/chip/Chip.vue +1 -1
- package/chip/index.mjs +0 -1
- package/chip/index.mjs.map +1 -1
- package/colorpicker/ColorPicker.vue +1 -1
- package/colorpicker/index.mjs +1 -0
- package/colorpicker/index.mjs.map +1 -1
- package/datatable/BodyCell.vue +2 -11
- package/datatable/DataTable.vue +3 -24
- package/datatable/FooterCell.vue +3 -12
- package/datatable/HeaderCell.vue +2 -11
- package/datatable/index.mjs +49 -98
- package/datatable/index.mjs.map +1 -1
- package/datatable/style/index.mjs +1 -1
- package/datatable/style/index.mjs.map +1 -1
- package/datepicker/DatePicker.vue +1 -1
- package/datepicker/index.mjs +1 -1
- package/datepicker/index.mjs.map +1 -1
- package/datepicker/style/index.mjs +1 -1
- package/datepicker/style/index.mjs.map +1 -1
- package/drawer/style/index.mjs +1 -1
- package/drawer/style/index.mjs.map +1 -1
- package/imagecompare/ImageCompare.vue +3 -33
- package/imagecompare/index.mjs +3 -35
- package/imagecompare/index.mjs.map +1 -1
- package/imagecompare/style/index.mjs +1 -1
- package/imagecompare/style/index.mjs.map +1 -1
- package/inputnumber/InputNumber.vue +11 -2
- package/inputnumber/index.mjs +9 -2
- package/inputnumber/index.mjs.map +1 -1
- package/inputtext/index.d.ts +1 -1
- package/knob/index.d.ts +1 -1
- package/package.json +5 -5
- package/panelmenu/PanelMenu.vue +6 -3
- package/panelmenu/index.mjs +5 -2
- package/panelmenu/index.mjs.map +1 -1
- package/password/index.d.ts +1 -1
- package/scrollpanel/ScrollPanel.vue +4 -35
- package/scrollpanel/index.mjs +27 -57
- package/scrollpanel/index.mjs.map +1 -1
- package/scrollpanel/style/index.mjs +1 -1
- package/scrollpanel/style/index.mjs.map +1 -1
- package/select/Select.vue +1 -1
- package/select/index.mjs +1 -1
- package/select/index.mjs.map +1 -1
- package/slider/Slider.vue +7 -33
- package/slider/index.mjs +11 -47
- package/slider/index.mjs.map +1 -1
- package/splitter/Splitter.vue +3 -24
- package/splitter/index.mjs +21 -43
- package/splitter/index.mjs.map +1 -1
- package/step/Step.vue +2 -2
- package/step/index.mjs +2 -2
- package/step/index.mjs.map +1 -1
- package/tablist/TabList.vue +11 -43
- package/tablist/index.mjs +11 -42
- package/tablist/index.mjs.map +1 -1
- package/tabs/index.d.ts +3 -3
- package/textarea/index.d.ts +2 -3
- package/togglebutton/ToggleButton.vue +1 -1
- package/togglebutton/index.mjs +1 -1
- package/togglebutton/index.mjs.map +1 -1
- package/toggleswitch/style/index.mjs +1 -1
- package/toggleswitch/style/index.mjs.map +1 -1
- package/tree/Tree.vue +1 -1
- package/tree/index.mjs +29 -23
- package/tree/index.mjs.map +1 -1
- package/tree/style/index.mjs +1 -1
- package/tree/style/index.mjs.map +1 -1
- package/treetable/BodyCell.vue +3 -11
- package/treetable/FooterCell.vue +3 -12
- package/treetable/HeaderCell.vue +3 -12
- package/treetable/TreeTable.vue +3 -26
- package/treetable/index.mjs +26 -76
- package/treetable/index.mjs.map +1 -1
- package/treetable/style/index.mjs +1 -1
- package/treetable/style/index.mjs.map +1 -1
- package/umd/primevue.min.js +1 -1
- package/virtualscroller/VirtualScroller.vue +1 -1
- package/virtualscroller/index.mjs +1 -1
- package/virtualscroller/index.mjs.map +1 -1
- 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
|
-
|
|
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;
|
|
@@ -308,7 +295,7 @@ export default {
|
|
|
308
295
|
const rangeSliderPosition = this.rangeEndPosition > this.rangeStartPosition ? this.rangeStartPosition : this.rangeEndPosition;
|
|
309
296
|
|
|
310
297
|
if (this.horizontal) {
|
|
311
|
-
return
|
|
298
|
+
return { 'inset-inline-start': rangeSliderPosition + '%', width: rangeSliderWidth + '%' };
|
|
312
299
|
} else {
|
|
313
300
|
return { bottom: rangeSliderPosition + '%', height: rangeSliderWidth + '%' };
|
|
314
301
|
}
|
|
@@ -322,37 +309,24 @@ export default {
|
|
|
322
309
|
},
|
|
323
310
|
handleStyle() {
|
|
324
311
|
if (this.horizontal) {
|
|
325
|
-
return
|
|
312
|
+
return { 'inset-inline-start': this.handlePosition + '%' };
|
|
326
313
|
} else {
|
|
327
314
|
return { bottom: this.handlePosition + '%' };
|
|
328
315
|
}
|
|
329
316
|
},
|
|
330
317
|
rangeStartHandleStyle() {
|
|
331
318
|
if (this.horizontal) {
|
|
332
|
-
return
|
|
319
|
+
return { 'inset-inline-start': this.rangeStartPosition + '%' };
|
|
333
320
|
} else {
|
|
334
321
|
return { bottom: this.rangeStartPosition + '%' };
|
|
335
322
|
}
|
|
336
323
|
},
|
|
337
324
|
rangeEndHandleStyle() {
|
|
338
325
|
if (this.horizontal) {
|
|
339
|
-
return
|
|
326
|
+
return { 'inset-inline-start': this.rangeEndPosition + '%' };
|
|
340
327
|
} else {
|
|
341
328
|
return { bottom: this.rangeEndPosition + '%' };
|
|
342
329
|
}
|
|
343
|
-
},
|
|
344
|
-
updateDirection() {
|
|
345
|
-
this.isRTL = !!this.$el.closest('[dir="rtl"]');
|
|
346
|
-
},
|
|
347
|
-
observeDirectionChanges() {
|
|
348
|
-
const targetNode = document.documentElement;
|
|
349
|
-
const config = { attributes: true, attributeFilter: ['dir'] };
|
|
350
|
-
|
|
351
|
-
this.mutationObserver = new MutationObserver(() => {
|
|
352
|
-
this.updateDirection();
|
|
353
|
-
});
|
|
354
|
-
|
|
355
|
-
this.mutationObserver.observe(targetNode, config);
|
|
356
330
|
}
|
|
357
331
|
},
|
|
358
332
|
computed: {
|
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
|
-
|
|
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;
|
|
@@ -258,11 +246,8 @@ var script = {
|
|
|
258
246
|
var rangeSliderWidth = this.rangeEndPosition > this.rangeStartPosition ? this.rangeEndPosition - this.rangeStartPosition : this.rangeStartPosition - this.rangeEndPosition;
|
|
259
247
|
var rangeSliderPosition = this.rangeEndPosition > this.rangeStartPosition ? this.rangeStartPosition : this.rangeEndPosition;
|
|
260
248
|
if (this.horizontal) {
|
|
261
|
-
return
|
|
262
|
-
|
|
263
|
-
width: rangeSliderWidth + '%'
|
|
264
|
-
} : {
|
|
265
|
-
left: rangeSliderPosition + '%',
|
|
249
|
+
return {
|
|
250
|
+
'inset-inline-start': rangeSliderPosition + '%',
|
|
266
251
|
width: rangeSliderWidth + '%'
|
|
267
252
|
};
|
|
268
253
|
} else {
|
|
@@ -285,10 +270,8 @@ var script = {
|
|
|
285
270
|
},
|
|
286
271
|
handleStyle: function handleStyle() {
|
|
287
272
|
if (this.horizontal) {
|
|
288
|
-
return
|
|
289
|
-
|
|
290
|
-
} : {
|
|
291
|
-
left: this.handlePosition + '%'
|
|
273
|
+
return {
|
|
274
|
+
'inset-inline-start': this.handlePosition + '%'
|
|
292
275
|
};
|
|
293
276
|
} else {
|
|
294
277
|
return {
|
|
@@ -298,10 +281,8 @@ var script = {
|
|
|
298
281
|
},
|
|
299
282
|
rangeStartHandleStyle: function rangeStartHandleStyle() {
|
|
300
283
|
if (this.horizontal) {
|
|
301
|
-
return
|
|
302
|
-
|
|
303
|
-
} : {
|
|
304
|
-
left: this.rangeStartPosition + '%'
|
|
284
|
+
return {
|
|
285
|
+
'inset-inline-start': this.rangeStartPosition + '%'
|
|
305
286
|
};
|
|
306
287
|
} else {
|
|
307
288
|
return {
|
|
@@ -311,31 +292,14 @@ var script = {
|
|
|
311
292
|
},
|
|
312
293
|
rangeEndHandleStyle: function rangeEndHandleStyle() {
|
|
313
294
|
if (this.horizontal) {
|
|
314
|
-
return
|
|
315
|
-
|
|
316
|
-
} : {
|
|
317
|
-
left: this.rangeEndPosition + '%'
|
|
295
|
+
return {
|
|
296
|
+
'inset-inline-start': this.rangeEndPosition + '%'
|
|
318
297
|
};
|
|
319
298
|
} else {
|
|
320
299
|
return {
|
|
321
300
|
bottom: this.rangeEndPosition + '%'
|
|
322
301
|
};
|
|
323
302
|
}
|
|
324
|
-
},
|
|
325
|
-
updateDirection: function updateDirection() {
|
|
326
|
-
this.isRTL = !!this.$el.closest('[dir="rtl"]');
|
|
327
|
-
},
|
|
328
|
-
observeDirectionChanges: function observeDirectionChanges() {
|
|
329
|
-
var _this = this;
|
|
330
|
-
var targetNode = document.documentElement;
|
|
331
|
-
var config = {
|
|
332
|
-
attributes: true,
|
|
333
|
-
attributeFilter: ['dir']
|
|
334
|
-
};
|
|
335
|
-
this.mutationObserver = new MutationObserver(function () {
|
|
336
|
-
_this.updateDirection();
|
|
337
|
-
});
|
|
338
|
-
this.mutationObserver.observe(targetNode, config);
|
|
339
303
|
}
|
|
340
304
|
},
|
|
341
305
|
computed: {
|
package/slider/index.mjs.map
CHANGED
|
@@ -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=d9ddfcfe&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 },\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 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] !== 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 } 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 },\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 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] !== 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","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","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","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","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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"}
|
|
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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"}
|
package/splitter/Splitter.vue
CHANGED
|
@@ -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
|
|
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;
|