{"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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"}