@onereach/ui-components 8.2.1-beta.3645.0 → 8.3.0

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.
@@ -88,40 +88,40 @@ var script = defineComponent({
88
88
  }
89
89
  });
90
90
  const railBoundingBox = useElementBounding(rail);
91
+ const selectedControl = ref();
91
92
  // Handlers
92
- function onDragFrom(position, event) {
93
+ function onDrag(position, event) {
93
94
  if (props.disabled) {
94
95
  return;
95
96
  }
96
97
  const totalWidth = railBoundingBox.width.value;
97
98
  const totalHeight = railBoundingBox.height.value;
98
- internalModelValueFrom.value = props.orientation === SliderOrientation.Horizontal ? clamp(event.clientX - railBoundingBox.left.value, 0, internalModelValueTo.value * totalWidth) / totalWidth : clamp(totalHeight - (event.clientY - railBoundingBox.top.value), 0, internalModelValueTo.value * totalHeight) / totalHeight;
99
- }
100
- function onDragTo(position, event) {
101
- if (props.disabled) {
102
- return;
99
+ if (selectedControl.value === 'from') {
100
+ internalModelValueFrom.value = props.orientation === SliderOrientation.Horizontal ? clamp(event.clientX - railBoundingBox.left.value, 0, internalModelValueTo.value * totalWidth) / totalWidth : clamp(totalHeight - (event.clientY - railBoundingBox.top.value), 0, internalModelValueTo.value * totalHeight) / totalHeight;
101
+ } else {
102
+ internalModelValueTo.value = props.orientation === SliderOrientation.Horizontal ? clamp(event.clientX - railBoundingBox.left.value, internalModelValueFrom.value * totalWidth, totalWidth) / totalWidth : clamp(totalHeight - (event.clientY - railBoundingBox.top.value), internalModelValueFrom.value * totalHeight, totalHeight) / totalHeight;
103
103
  }
104
- const totalWidth = railBoundingBox.width.value;
105
- const totalHeight = railBoundingBox.height.value;
106
- internalModelValueTo.value = props.orientation === SliderOrientation.Horizontal ? clamp(event.clientX - railBoundingBox.left.value, internalModelValueFrom.value * totalWidth, totalWidth) / totalWidth : clamp(totalHeight - (event.clientY - railBoundingBox.top.value), internalModelValueFrom.value * totalHeight, totalHeight) / totalHeight;
107
104
  }
108
105
  // Effects
109
106
  const isHovering = useElementHover(rail);
110
107
  const {
111
- isDragging: isDraggingFrom
108
+ isDragging
112
109
  } = useDraggable(rail, {
113
- handle: thumbFrom,
114
- onStart: onDragFrom,
115
- onMove: onDragFrom,
116
- onEnd: onDragFrom
117
- });
118
- const {
119
- isDragging: isDraggingTo
120
- } = useDraggable(rail, {
121
- handle: thumbTo,
122
- onStart: onDragTo,
123
- onMove: onDragTo,
124
- onEnd: onDragTo
110
+ onStart: (position, event) => {
111
+ switch (event.target) {
112
+ case thumbFrom.value:
113
+ selectedControl.value = 'from';
114
+ break;
115
+ case thumbTo.value:
116
+ selectedControl.value = 'to';
117
+ break;
118
+ default:
119
+ selectedControl.value = selectedControl.value === 'from' ? 'to' : 'from';
120
+ }
121
+ onDrag(position, event);
122
+ },
123
+ onMove: onDrag,
124
+ onEnd: onDrag
125
125
  });
126
126
  return {
127
127
  root,
@@ -140,9 +140,9 @@ var script = defineComponent({
140
140
  proxyModelValue,
141
141
  internalModelValueFrom,
142
142
  internalModelValueTo,
143
+ selectedControl,
143
144
  isHovering,
144
- isDraggingFrom,
145
- isDraggingTo
145
+ isDragging
146
146
  };
147
147
  }
148
148
  });
@@ -176,7 +176,7 @@ var __vue_render__ = function () {
176
176
  }), _vm._v(" "), _c('OrTooltip', {
177
177
  class: ['relative', 'z-10'],
178
178
  attrs: {
179
- "is-open": _vm.isHovering || _vm.isDraggingFrom,
179
+ "is-open": _vm.isHovering || _vm.isDragging,
180
180
  "content": String(_vm.proxyModelValue[0]),
181
181
  "placement": _vm.orientation === 'horizontal' ? 'top' : 'right',
182
182
  "offset": 8,
@@ -197,7 +197,7 @@ var __vue_render__ = function () {
197
197
  }), _vm._v(" "), _c('OrTooltip', {
198
198
  class: ['relative', 'z-10'],
199
199
  attrs: {
200
- "is-open": _vm.isHovering || _vm.isDraggingTo,
200
+ "is-open": _vm.isHovering || _vm.isDragging,
201
201
  "content": String(_vm.proxyModelValue[1]),
202
202
  "placement": _vm.orientation === 'horizontal' ? 'top' : 'right',
203
203
  "offset": 8,
@@ -21,9 +21,9 @@ declare const _default: import("vue").ComponentOptions<import("vue").default, im
21
21
  proxyModelValue: import("../../hooks").UseProxyModelValueReturn<[number, number]>;
22
22
  internalModelValueFrom: import("@vue/composition-api").WritableComputedRef<number>;
23
23
  internalModelValueTo: import("@vue/composition-api").WritableComputedRef<number>;
24
+ selectedControl: import("@vue/composition-api").Ref<"from" | "to" | undefined>;
24
25
  isHovering: import("@vue/composition-api").Ref<boolean>;
25
- isDraggingFrom: import("@vue/composition-api").ComputedRef<boolean>;
26
- isDraggingTo: import("@vue/composition-api").ComputedRef<boolean>;
26
+ isDragging: import("@vue/composition-api").ComputedRef<boolean>;
27
27
  }> & import("@vue/composition-api").Data, {}, {}, {
28
28
  modelValue: {
29
29
  type: PropType<[number, number]>;
@@ -113,9 +113,9 @@ declare const _default: import("vue").ComponentOptions<import("vue").default, im
113
113
  proxyModelValue: import("../../hooks").UseProxyModelValueReturn<[number, number]>;
114
114
  internalModelValueFrom: import("@vue/composition-api").WritableComputedRef<number>;
115
115
  internalModelValueTo: import("@vue/composition-api").WritableComputedRef<number>;
116
+ selectedControl: import("@vue/composition-api").Ref<"from" | "to" | undefined>;
116
117
  isHovering: import("@vue/composition-api").Ref<boolean>;
117
- isDraggingFrom: import("@vue/composition-api").ComputedRef<boolean>;
118
- isDraggingTo: import("@vue/composition-api").ComputedRef<boolean>;
118
+ isDragging: import("@vue/composition-api").ComputedRef<boolean>;
119
119
  }>, import("@vue/composition-api").Data, {}, {}, {}, {}, string[], {
120
120
  modelValue: [number, number];
121
121
  minValue: number;
@@ -88,40 +88,40 @@ var script = defineComponent({
88
88
  }
89
89
  });
90
90
  const railBoundingBox = useElementBounding(rail);
91
+ const selectedControl = ref();
91
92
  // Handlers
92
- function onDragFrom(position, event) {
93
+ function onDrag(position, event) {
93
94
  if (props.disabled) {
94
95
  return;
95
96
  }
96
97
  const totalWidth = railBoundingBox.width.value;
97
98
  const totalHeight = railBoundingBox.height.value;
98
- internalModelValueFrom.value = props.orientation === SliderOrientation.Horizontal ? clamp(event.clientX - railBoundingBox.left.value, 0, internalModelValueTo.value * totalWidth) / totalWidth : clamp(totalHeight - (event.clientY - railBoundingBox.top.value), 0, internalModelValueTo.value * totalHeight) / totalHeight;
99
- }
100
- function onDragTo(position, event) {
101
- if (props.disabled) {
102
- return;
99
+ if (selectedControl.value === 'from') {
100
+ internalModelValueFrom.value = props.orientation === SliderOrientation.Horizontal ? clamp(event.clientX - railBoundingBox.left.value, 0, internalModelValueTo.value * totalWidth) / totalWidth : clamp(totalHeight - (event.clientY - railBoundingBox.top.value), 0, internalModelValueTo.value * totalHeight) / totalHeight;
101
+ } else {
102
+ internalModelValueTo.value = props.orientation === SliderOrientation.Horizontal ? clamp(event.clientX - railBoundingBox.left.value, internalModelValueFrom.value * totalWidth, totalWidth) / totalWidth : clamp(totalHeight - (event.clientY - railBoundingBox.top.value), internalModelValueFrom.value * totalHeight, totalHeight) / totalHeight;
103
103
  }
104
- const totalWidth = railBoundingBox.width.value;
105
- const totalHeight = railBoundingBox.height.value;
106
- internalModelValueTo.value = props.orientation === SliderOrientation.Horizontal ? clamp(event.clientX - railBoundingBox.left.value, internalModelValueFrom.value * totalWidth, totalWidth) / totalWidth : clamp(totalHeight - (event.clientY - railBoundingBox.top.value), internalModelValueFrom.value * totalHeight, totalHeight) / totalHeight;
107
104
  }
108
105
  // Effects
109
106
  const isHovering = useElementHover(rail);
110
107
  const {
111
- isDragging: isDraggingFrom
108
+ isDragging
112
109
  } = useDraggable(rail, {
113
- handle: thumbFrom,
114
- onStart: onDragFrom,
115
- onMove: onDragFrom,
116
- onEnd: onDragFrom
117
- });
118
- const {
119
- isDragging: isDraggingTo
120
- } = useDraggable(rail, {
121
- handle: thumbTo,
122
- onStart: onDragTo,
123
- onMove: onDragTo,
124
- onEnd: onDragTo
110
+ onStart: (position, event) => {
111
+ switch (event.target) {
112
+ case thumbFrom.value:
113
+ selectedControl.value = 'from';
114
+ break;
115
+ case thumbTo.value:
116
+ selectedControl.value = 'to';
117
+ break;
118
+ default:
119
+ selectedControl.value = selectedControl.value === 'from' ? 'to' : 'from';
120
+ }
121
+ onDrag(position, event);
122
+ },
123
+ onMove: onDrag,
124
+ onEnd: onDrag
125
125
  });
126
126
  return {
127
127
  root,
@@ -140,9 +140,9 @@ var script = defineComponent({
140
140
  proxyModelValue,
141
141
  internalModelValueFrom,
142
142
  internalModelValueTo,
143
+ selectedControl,
143
144
  isHovering,
144
- isDraggingFrom,
145
- isDraggingTo
145
+ isDragging
146
146
  };
147
147
  }
148
148
  });
@@ -1,5 +1,5 @@
1
- import { s as script } from '../../OrRangeSlider.vue_vue_type_script_lang-1cf46751.js';
2
- export { s as default } from '../../OrRangeSlider.vue_vue_type_script_lang-1cf46751.js';
1
+ import { s as script } from '../../OrRangeSlider.vue_vue_type_script_lang-3ca2a3e9.js';
2
+ export { s as default } from '../../OrRangeSlider.vue_vue_type_script_lang-3ca2a3e9.js';
3
3
  import { resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, normalizeStyle, createVNode, withCtx, toDisplayString } from 'vue';
4
4
 
5
5
  const _hoisted_1 = ["disabled"];
@@ -28,7 +28,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
28
28
  disabled: _ctx.disabled
29
29
  }, null, 14 /* CLASS, STYLE, PROPS */, _hoisted_3), createVNode(_component_OrTooltip, {
30
30
  class: normalizeClass(['relative', 'z-10']),
31
- "is-open": _ctx.isHovering || _ctx.isDraggingFrom,
31
+ "is-open": _ctx.isHovering || _ctx.isDragging,
32
32
  content: String(_ctx.proxyModelValue[0]),
33
33
  placement: _ctx.orientation === 'horizontal' ? 'top' : 'right',
34
34
  offset: 8,
@@ -46,7 +46,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
46
46
  disabled: _ctx.disabled
47
47
  }, null, 14 /* CLASS, STYLE, PROPS */, _hoisted_5), createVNode(_component_OrTooltip, {
48
48
  class: normalizeClass(['relative', 'z-10']),
49
- "is-open": _ctx.isHovering || _ctx.isDraggingTo,
49
+ "is-open": _ctx.isHovering || _ctx.isDragging,
50
50
  content: String(_ctx.proxyModelValue[1]),
51
51
  placement: _ctx.orientation === 'horizontal' ? 'top' : 'right',
52
52
  offset: 8,
@@ -50,9 +50,9 @@ declare const _default: import("vue-demi").DefineComponent<{
50
50
  proxyModelValue: import("../../hooks").UseProxyModelValueReturn<[number, number]>;
51
51
  internalModelValueFrom: import("vue-demi").WritableComputedRef<number>;
52
52
  internalModelValueTo: import("vue-demi").WritableComputedRef<number>;
53
+ selectedControl: import("vue-demi").Ref<"from" | "to" | undefined>;
53
54
  isHovering: import("vue-demi").Ref<boolean>;
54
- isDraggingFrom: import("vue-demi").ComputedRef<boolean>;
55
- isDraggingTo: import("vue-demi").ComputedRef<boolean>;
55
+ isDragging: import("vue-demi").ComputedRef<boolean>;
56
56
  }, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue-demi").VNodeProps & import("vue-demi").AllowedComponentProps & import("vue-demi").ComponentCustomProps, Readonly<import("vue-demi").ExtractPropTypes<{
57
57
  modelValue: {
58
58
  type: PropType<[number, number]>;
@@ -1,2 +1,2 @@
1
- export { s as OrRangeSliderV3 } from '../../OrRangeSlider.vue_vue_type_script_lang-1cf46751.js';
1
+ export { s as OrRangeSliderV3 } from '../../OrRangeSlider.vue_vue_type_script_lang-3ca2a3e9.js';
2
2
  export { SliderColor as RangeSliderColor, SliderOrientation as RangeSliderOrientation } from '../OrSliderV3/props.js';
@@ -130,7 +130,7 @@ export { s as OrRadio } from '../OrRadio.vue_vue_type_script_lang-a4f043e9.js';
130
130
  export { s as OrRadioGroup } from '../OrRadioGroup.vue_vue_type_script_lang-75b6c81b.js';
131
131
  export { s as OrRadioGroupV3 } from '../OrRadioGroup.vue_vue_type_script_lang-8fad9a5f.js';
132
132
  export { s as OrRadioV3 } from '../OrRadio.vue_vue_type_script_lang-750ce51f.js';
133
- export { s as OrRangeSliderV3 } from '../OrRangeSlider.vue_vue_type_script_lang-1cf46751.js';
133
+ export { s as OrRangeSliderV3 } from '../OrRangeSlider.vue_vue_type_script_lang-3ca2a3e9.js';
134
134
  export { SliderColor as RangeSliderColor, SliderOrientation as RangeSliderOrientation, SliderColor, SliderOrientation } from './OrSliderV3/props.js';
135
135
  export { s as OrResizeablePanelV3 } from '../OrResizeablePanel.vue_vue_type_script_lang-9bbd20fa.js';
136
136
  export { ResizeablePanelPadding, ResizeablePanelPlacement, ResizeablePanelPadding as SidebarPadding } from './OrResizeablePanelV3/props.js';
@@ -80,7 +80,7 @@ export { s as OrRadioGroup } from './OrRadioGroup.vue_vue_type_script_lang-75b6c
80
80
  import './components/OrRadioGroupV3/OrRadioGroup.js';
81
81
  export { s as OrRadioGroupV3 } from './OrRadioGroup.vue_vue_type_script_lang-8fad9a5f.js';
82
82
  import './components/OrRangeSliderV3/OrRangeSlider.js';
83
- export { s as OrRangeSliderV3 } from './OrRangeSlider.vue_vue_type_script_lang-1cf46751.js';
83
+ export { s as OrRangeSliderV3 } from './OrRangeSlider.vue_vue_type_script_lang-3ca2a3e9.js';
84
84
  import './components/OrRichTextEditorV3/OrRichTextEditor.js';
85
85
  export { s as OrRichTextEditorV3 } from './OrRichTextEditor.vue_vue_type_script_lang-bf036571.js';
86
86
  import './components/OrSegmentedControlV3/OrSegmentedControl.js';
@@ -184,40 +184,40 @@ var script = defineComponent({
184
184
  }
185
185
  });
186
186
  const railBoundingBox = useElementBounding(rail);
187
+ const selectedControl = ref();
187
188
  // Handlers
188
- function onDragFrom(position, event) {
189
+ function onDrag(position, event) {
189
190
  if (props.disabled) {
190
191
  return;
191
192
  }
192
193
  const totalWidth = railBoundingBox.width.value;
193
194
  const totalHeight = railBoundingBox.height.value;
194
- internalModelValueFrom.value = props.orientation === SliderOrientation.Horizontal ? clamp(event.clientX - railBoundingBox.left.value, 0, internalModelValueTo.value * totalWidth) / totalWidth : clamp(totalHeight - (event.clientY - railBoundingBox.top.value), 0, internalModelValueTo.value * totalHeight) / totalHeight;
195
- }
196
- function onDragTo(position, event) {
197
- if (props.disabled) {
198
- return;
195
+ if (selectedControl.value === 'from') {
196
+ internalModelValueFrom.value = props.orientation === SliderOrientation.Horizontal ? clamp(event.clientX - railBoundingBox.left.value, 0, internalModelValueTo.value * totalWidth) / totalWidth : clamp(totalHeight - (event.clientY - railBoundingBox.top.value), 0, internalModelValueTo.value * totalHeight) / totalHeight;
197
+ } else {
198
+ internalModelValueTo.value = props.orientation === SliderOrientation.Horizontal ? clamp(event.clientX - railBoundingBox.left.value, internalModelValueFrom.value * totalWidth, totalWidth) / totalWidth : clamp(totalHeight - (event.clientY - railBoundingBox.top.value), internalModelValueFrom.value * totalHeight, totalHeight) / totalHeight;
199
199
  }
200
- const totalWidth = railBoundingBox.width.value;
201
- const totalHeight = railBoundingBox.height.value;
202
- internalModelValueTo.value = props.orientation === SliderOrientation.Horizontal ? clamp(event.clientX - railBoundingBox.left.value, internalModelValueFrom.value * totalWidth, totalWidth) / totalWidth : clamp(totalHeight - (event.clientY - railBoundingBox.top.value), internalModelValueFrom.value * totalHeight, totalHeight) / totalHeight;
203
200
  }
204
201
  // Effects
205
202
  const isHovering = useElementHover(rail);
206
203
  const {
207
- isDragging: isDraggingFrom
204
+ isDragging
208
205
  } = useDraggable(rail, {
209
- handle: thumbFrom,
210
- onStart: onDragFrom,
211
- onMove: onDragFrom,
212
- onEnd: onDragFrom
213
- });
214
- const {
215
- isDragging: isDraggingTo
216
- } = useDraggable(rail, {
217
- handle: thumbTo,
218
- onStart: onDragTo,
219
- onMove: onDragTo,
220
- onEnd: onDragTo
206
+ onStart: (position, event) => {
207
+ switch (event.target) {
208
+ case thumbFrom.value:
209
+ selectedControl.value = 'from';
210
+ break;
211
+ case thumbTo.value:
212
+ selectedControl.value = 'to';
213
+ break;
214
+ default:
215
+ selectedControl.value = selectedControl.value === 'from' ? 'to' : 'from';
216
+ }
217
+ onDrag(position, event);
218
+ },
219
+ onMove: onDrag,
220
+ onEnd: onDrag
221
221
  });
222
222
  return {
223
223
  root,
@@ -236,9 +236,9 @@ var script = defineComponent({
236
236
  proxyModelValue,
237
237
  internalModelValueFrom,
238
238
  internalModelValueTo,
239
+ selectedControl,
239
240
  isHovering,
240
- isDraggingFrom,
241
- isDraggingTo
241
+ isDragging
242
242
  };
243
243
  }
244
244
  });
@@ -272,7 +272,7 @@ var __vue_render__ = function () {
272
272
  }), _vm._v(" "), _c('OrTooltip', {
273
273
  class: ['relative', 'z-10'],
274
274
  attrs: {
275
- "is-open": _vm.isHovering || _vm.isDraggingFrom,
275
+ "is-open": _vm.isHovering || _vm.isDragging,
276
276
  "content": String(_vm.proxyModelValue[0]),
277
277
  "placement": _vm.orientation === 'horizontal' ? 'top' : 'right',
278
278
  "offset": 8,
@@ -293,7 +293,7 @@ var __vue_render__ = function () {
293
293
  }), _vm._v(" "), _c('OrTooltip', {
294
294
  class: ['relative', 'z-10'],
295
295
  attrs: {
296
- "is-open": _vm.isHovering || _vm.isDraggingTo,
296
+ "is-open": _vm.isHovering || _vm.isDragging,
297
297
  "content": String(_vm.proxyModelValue[1]),
298
298
  "placement": _vm.orientation === 'horizontal' ? 'top' : 'right',
299
299
  "offset": 8,
@@ -90,7 +90,7 @@ export { _ as OrRadio } from '../OrRadio-811ad5a4.js';
90
90
  export { _ as OrRadioGroup } from '../OrRadioGroup-11424644.js';
91
91
  export { _ as OrRadioGroupV3 } from '../OrRadioGroup-c0ad9bf3.js';
92
92
  export { _ as OrRadioV3 } from '../OrRadio-81a1263e.js';
93
- export { _ as OrRangeSliderV3 } from '../OrRangeSlider-37a8921e.js';
93
+ export { _ as OrRangeSliderV3 } from '../OrRangeSlider-5b939e85.js';
94
94
  export { _ as OrSliderV3 } from '../OrSlider-f33d3b38.js';
95
95
  export { S as RangeSliderColor, a as RangeSliderOrientation, S as SliderColor, a as SliderOrientation } from '../OrSlider.vue_rollup-plugin-vue_script-cb6c48c1.js';
96
96
  export { _ as OrResizeablePanelV3, R as ResizeablePanelPadding, a as ResizeablePanelPlacement, R as SidebarPadding } from '../OrResizeablePanel-0888f196.js';
@@ -21,9 +21,9 @@ declare const _default: import("vue").ComponentOptions<import("vue").default, im
21
21
  proxyModelValue: import("../../hooks").UseProxyModelValueReturn<[number, number]>;
22
22
  internalModelValueFrom: import("@vue/composition-api").WritableComputedRef<number>;
23
23
  internalModelValueTo: import("@vue/composition-api").WritableComputedRef<number>;
24
+ selectedControl: import("@vue/composition-api").Ref<"from" | "to" | undefined>;
24
25
  isHovering: import("@vue/composition-api").Ref<boolean>;
25
- isDraggingFrom: import("@vue/composition-api").ComputedRef<boolean>;
26
- isDraggingTo: import("@vue/composition-api").ComputedRef<boolean>;
26
+ isDragging: import("@vue/composition-api").ComputedRef<boolean>;
27
27
  }> & import("@vue/composition-api").Data, {}, {}, {
28
28
  modelValue: {
29
29
  type: PropType<[number, number]>;
@@ -113,9 +113,9 @@ declare const _default: import("vue").ComponentOptions<import("vue").default, im
113
113
  proxyModelValue: import("../../hooks").UseProxyModelValueReturn<[number, number]>;
114
114
  internalModelValueFrom: import("@vue/composition-api").WritableComputedRef<number>;
115
115
  internalModelValueTo: import("@vue/composition-api").WritableComputedRef<number>;
116
+ selectedControl: import("@vue/composition-api").Ref<"from" | "to" | undefined>;
116
117
  isHovering: import("@vue/composition-api").Ref<boolean>;
117
- isDraggingFrom: import("@vue/composition-api").ComputedRef<boolean>;
118
- isDraggingTo: import("@vue/composition-api").ComputedRef<boolean>;
118
+ isDragging: import("@vue/composition-api").ComputedRef<boolean>;
119
119
  }>, import("@vue/composition-api").Data, {}, {}, {}, {}, string[], {
120
120
  modelValue: [number, number];
121
121
  minValue: number;
@@ -1,4 +1,4 @@
1
- export { _ as OrRangeSliderV3 } from '../../OrRangeSlider-37a8921e.js';
1
+ export { _ as OrRangeSliderV3 } from '../../OrRangeSlider-5b939e85.js';
2
2
  export { S as RangeSliderColor, a as RangeSliderOrientation } from '../../OrSlider.vue_rollup-plugin-vue_script-cb6c48c1.js';
3
3
  import '@vueuse/core';
4
4
  import 'vue-demi';
@@ -90,7 +90,7 @@ export { _ as OrRadio } from './OrRadio-811ad5a4.js';
90
90
  export { _ as OrRadioGroup } from './OrRadioGroup-11424644.js';
91
91
  export { _ as OrRadioGroupV3 } from './OrRadioGroup-c0ad9bf3.js';
92
92
  export { _ as OrRadioV3 } from './OrRadio-81a1263e.js';
93
- export { _ as OrRangeSliderV3 } from './OrRangeSlider-37a8921e.js';
93
+ export { _ as OrRangeSliderV3 } from './OrRangeSlider-5b939e85.js';
94
94
  export { _ as OrSliderV3 } from './OrSlider-f33d3b38.js';
95
95
  export { S as RangeSliderColor, a as RangeSliderOrientation, S as SliderColor, a as SliderOrientation } from './OrSlider.vue_rollup-plugin-vue_script-cb6c48c1.js';
96
96
  export { _ as OrResizeablePanelV3, R as ResizeablePanelPadding, a as ResizeablePanelPlacement, R as SidebarPadding } from './OrResizeablePanel-0888f196.js';
@@ -184,40 +184,40 @@ var script = defineComponent({
184
184
  }
185
185
  });
186
186
  const railBoundingBox = useElementBounding(rail);
187
+ const selectedControl = ref();
187
188
  // Handlers
188
- function onDragFrom(position, event) {
189
+ function onDrag(position, event) {
189
190
  if (props.disabled) {
190
191
  return;
191
192
  }
192
193
  const totalWidth = railBoundingBox.width.value;
193
194
  const totalHeight = railBoundingBox.height.value;
194
- internalModelValueFrom.value = props.orientation === SliderOrientation.Horizontal ? clamp(event.clientX - railBoundingBox.left.value, 0, internalModelValueTo.value * totalWidth) / totalWidth : clamp(totalHeight - (event.clientY - railBoundingBox.top.value), 0, internalModelValueTo.value * totalHeight) / totalHeight;
195
- }
196
- function onDragTo(position, event) {
197
- if (props.disabled) {
198
- return;
195
+ if (selectedControl.value === 'from') {
196
+ internalModelValueFrom.value = props.orientation === SliderOrientation.Horizontal ? clamp(event.clientX - railBoundingBox.left.value, 0, internalModelValueTo.value * totalWidth) / totalWidth : clamp(totalHeight - (event.clientY - railBoundingBox.top.value), 0, internalModelValueTo.value * totalHeight) / totalHeight;
197
+ } else {
198
+ internalModelValueTo.value = props.orientation === SliderOrientation.Horizontal ? clamp(event.clientX - railBoundingBox.left.value, internalModelValueFrom.value * totalWidth, totalWidth) / totalWidth : clamp(totalHeight - (event.clientY - railBoundingBox.top.value), internalModelValueFrom.value * totalHeight, totalHeight) / totalHeight;
199
199
  }
200
- const totalWidth = railBoundingBox.width.value;
201
- const totalHeight = railBoundingBox.height.value;
202
- internalModelValueTo.value = props.orientation === SliderOrientation.Horizontal ? clamp(event.clientX - railBoundingBox.left.value, internalModelValueFrom.value * totalWidth, totalWidth) / totalWidth : clamp(totalHeight - (event.clientY - railBoundingBox.top.value), internalModelValueFrom.value * totalHeight, totalHeight) / totalHeight;
203
200
  }
204
201
  // Effects
205
202
  const isHovering = useElementHover(rail);
206
203
  const {
207
- isDragging: isDraggingFrom
204
+ isDragging
208
205
  } = useDraggable(rail, {
209
- handle: thumbFrom,
210
- onStart: onDragFrom,
211
- onMove: onDragFrom,
212
- onEnd: onDragFrom
213
- });
214
- const {
215
- isDragging: isDraggingTo
216
- } = useDraggable(rail, {
217
- handle: thumbTo,
218
- onStart: onDragTo,
219
- onMove: onDragTo,
220
- onEnd: onDragTo
206
+ onStart: (position, event) => {
207
+ switch (event.target) {
208
+ case thumbFrom.value:
209
+ selectedControl.value = 'from';
210
+ break;
211
+ case thumbTo.value:
212
+ selectedControl.value = 'to';
213
+ break;
214
+ default:
215
+ selectedControl.value = selectedControl.value === 'from' ? 'to' : 'from';
216
+ }
217
+ onDrag(position, event);
218
+ },
219
+ onMove: onDrag,
220
+ onEnd: onDrag
221
221
  });
222
222
  return {
223
223
  root,
@@ -236,9 +236,9 @@ var script = defineComponent({
236
236
  proxyModelValue,
237
237
  internalModelValueFrom,
238
238
  internalModelValueTo,
239
+ selectedControl,
239
240
  isHovering,
240
- isDraggingFrom,
241
- isDraggingTo
241
+ isDragging
242
242
  };
243
243
  }
244
244
  });
@@ -269,7 +269,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
269
269
  disabled: _ctx.disabled
270
270
  }, null, 14 /* CLASS, STYLE, PROPS */, _hoisted_3), createVNode(_component_OrTooltip, {
271
271
  class: normalizeClass(['relative', 'z-10']),
272
- "is-open": _ctx.isHovering || _ctx.isDraggingFrom,
272
+ "is-open": _ctx.isHovering || _ctx.isDragging,
273
273
  content: String(_ctx.proxyModelValue[0]),
274
274
  placement: _ctx.orientation === 'horizontal' ? 'top' : 'right',
275
275
  offset: 8,
@@ -287,7 +287,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
287
287
  disabled: _ctx.disabled
288
288
  }, null, 14 /* CLASS, STYLE, PROPS */, _hoisted_5), createVNode(_component_OrTooltip, {
289
289
  class: normalizeClass(['relative', 'z-10']),
290
- "is-open": _ctx.isHovering || _ctx.isDraggingTo,
290
+ "is-open": _ctx.isHovering || _ctx.isDragging,
291
291
  content: String(_ctx.proxyModelValue[1]),
292
292
  placement: _ctx.orientation === 'horizontal' ? 'top' : 'right',
293
293
  offset: 8,
@@ -88,7 +88,7 @@ export { s as OrRadio } from '../OrRadio-40bf2c87.js';
88
88
  export { s as OrRadioGroup } from '../OrRadioGroup-00785e41.js';
89
89
  export { s as OrRadioGroupV3 } from '../OrRadioGroup-b4b6d364.js';
90
90
  export { s as OrRadioV3 } from '../OrRadio-50b0ead5.js';
91
- export { s as OrRangeSliderV3 } from '../OrRangeSlider-bac56cd9.js';
91
+ export { s as OrRangeSliderV3 } from '../OrRangeSlider-07ddbed1.js';
92
92
  export { s as OrSliderV3, S as RangeSliderColor, a as RangeSliderOrientation, S as SliderColor, a as SliderOrientation } from '../OrSlider-f932d1c4.js';
93
93
  export { s as OrResizeablePanelV3, R as ResizeablePanelPadding, a as ResizeablePanelPlacement, R as SidebarPadding } from '../OrResizeablePanel-5dfd3f6d.js';
94
94
  export { F as Formats, s as OrRichTextEditorV3 } from '../OrRichTextEditor-24040de1.js';
@@ -50,9 +50,9 @@ declare const _default: import("vue-demi").DefineComponent<{
50
50
  proxyModelValue: import("../../hooks").UseProxyModelValueReturn<[number, number]>;
51
51
  internalModelValueFrom: import("vue-demi").WritableComputedRef<number>;
52
52
  internalModelValueTo: import("vue-demi").WritableComputedRef<number>;
53
+ selectedControl: import("vue-demi").Ref<"from" | "to" | undefined>;
53
54
  isHovering: import("vue-demi").Ref<boolean>;
54
- isDraggingFrom: import("vue-demi").ComputedRef<boolean>;
55
- isDraggingTo: import("vue-demi").ComputedRef<boolean>;
55
+ isDragging: import("vue-demi").ComputedRef<boolean>;
56
56
  }, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue-demi").VNodeProps & import("vue-demi").AllowedComponentProps & import("vue-demi").ComponentCustomProps, Readonly<import("vue-demi").ExtractPropTypes<{
57
57
  modelValue: {
58
58
  type: PropType<[number, number]>;
@@ -1,4 +1,4 @@
1
- export { s as OrRangeSliderV3 } from '../../OrRangeSlider-bac56cd9.js';
1
+ export { s as OrRangeSliderV3 } from '../../OrRangeSlider-07ddbed1.js';
2
2
  export { S as RangeSliderColor, a as RangeSliderOrientation } from '../../OrSlider-f932d1c4.js';
3
3
  import '@vueuse/core';
4
4
  import 'vue-demi';
@@ -88,7 +88,7 @@ export { s as OrRadio } from './OrRadio-40bf2c87.js';
88
88
  export { s as OrRadioGroup } from './OrRadioGroup-00785e41.js';
89
89
  export { s as OrRadioGroupV3 } from './OrRadioGroup-b4b6d364.js';
90
90
  export { s as OrRadioV3 } from './OrRadio-50b0ead5.js';
91
- export { s as OrRangeSliderV3 } from './OrRangeSlider-bac56cd9.js';
91
+ export { s as OrRangeSliderV3 } from './OrRangeSlider-07ddbed1.js';
92
92
  export { s as OrSliderV3, S as RangeSliderColor, a as RangeSliderOrientation, S as SliderColor, a as SliderOrientation } from './OrSlider-f932d1c4.js';
93
93
  export { s as OrResizeablePanelV3, R as ResizeablePanelPadding, a as ResizeablePanelPlacement, R as SidebarPadding } from './OrResizeablePanel-5dfd3f6d.js';
94
94
  export { F as Formats, s as OrRichTextEditorV3 } from './OrRichTextEditor-24040de1.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onereach/ui-components",
3
- "version": "8.2.1-beta.3645.0",
3
+ "version": "8.3.0",
4
4
  "npmUnpacked": "4.15.2",
5
5
  "description": "Vue components library for v2/3",
6
6
  "sideEffects": false,
@@ -175,5 +175,6 @@
175
175
  "default": "./dist/bundled/v3/components/*/index.js"
176
176
  },
177
177
  "./package.json": "./package.json"
178
- }
178
+ },
179
+ "gitHead": "6c038407431f826d6e14fea7f14fe6c1ea94ce90"
179
180
  }
@@ -17,7 +17,7 @@
17
17
 
18
18
  <OrTooltip
19
19
  :class="['relative', 'z-10']"
20
- :is-open="isHovering || isDraggingFrom"
20
+ :is-open="isHovering || isDragging"
21
21
  :content="String(proxyModelValue[0])"
22
22
  :placement="orientation === 'horizontal' ? 'top' : 'right'"
23
23
  :offset="8"
@@ -38,7 +38,7 @@
38
38
 
39
39
  <OrTooltip
40
40
  :class="['relative', 'z-10']"
41
- :is-open="isHovering || isDraggingTo"
41
+ :is-open="isHovering || isDragging"
42
42
  :content="String(proxyModelValue[1])"
43
43
  :placement="orientation === 'horizontal' ? 'top' : 'right'"
44
44
  :offset="8"
@@ -213,8 +213,10 @@ export default defineComponent({
213
213
 
214
214
  const railBoundingBox = useElementBounding(rail);
215
215
 
216
+ const selectedControl = ref<'from' | 'to'>();
217
+
216
218
  // Handlers
217
- function onDragFrom(position: Position, event: MouseEvent | PointerEvent): void {
219
+ function onDrag(position: Position, event: MouseEvent | PointerEvent): void {
218
220
  if (props.disabled) {
219
221
  return;
220
222
  }
@@ -222,41 +224,40 @@ export default defineComponent({
222
224
  const totalWidth = railBoundingBox.width.value;
223
225
  const totalHeight = railBoundingBox.height.value;
224
226
 
225
- internalModelValueFrom.value = props.orientation === RangeSliderOrientation.Horizontal
226
- ? clamp(event.clientX - railBoundingBox.left.value, 0, internalModelValueTo.value * totalWidth) / totalWidth
227
- : clamp(totalHeight - (event.clientY - railBoundingBox.top.value), 0, internalModelValueTo.value * totalHeight) / totalHeight;
228
- }
229
-
230
- function onDragTo(position: Position, event: MouseEvent | PointerEvent): void {
231
- if (props.disabled) {
232
- return;
227
+ if (selectedControl.value === 'from') {
228
+ internalModelValueFrom.value = props.orientation === RangeSliderOrientation.Horizontal
229
+ ? clamp(event.clientX - railBoundingBox.left.value, 0, internalModelValueTo.value * totalWidth) / totalWidth
230
+ : clamp(totalHeight - (event.clientY - railBoundingBox.top.value), 0, internalModelValueTo.value * totalHeight) / totalHeight;
231
+ } else {
232
+ internalModelValueTo.value = props.orientation === RangeSliderOrientation.Horizontal
233
+ ? clamp(event.clientX - railBoundingBox.left.value, internalModelValueFrom.value * totalWidth, totalWidth) / totalWidth
234
+ : clamp(totalHeight - (event.clientY - railBoundingBox.top.value), internalModelValueFrom.value * totalHeight, totalHeight) / totalHeight;
233
235
  }
234
-
235
- const totalWidth = railBoundingBox.width.value;
236
- const totalHeight = railBoundingBox.height.value;
237
-
238
- internalModelValueTo.value = props.orientation === RangeSliderOrientation.Horizontal
239
- ? clamp(event.clientX - railBoundingBox.left.value, internalModelValueFrom.value * totalWidth, totalWidth) / totalWidth
240
- : clamp(totalHeight - (event.clientY - railBoundingBox.top.value), internalModelValueFrom.value * totalHeight, totalHeight) / totalHeight;
241
236
  }
242
237
 
243
238
  // Effects
244
239
  const isHovering = useElementHover(rail);
245
240
 
246
- const { isDragging: isDraggingFrom } = useDraggable(rail, {
247
- handle: thumbFrom,
241
+ const { isDragging } = useDraggable(rail, {
242
+ onStart: (position, event) => {
243
+ switch (event.target) {
244
+ case thumbFrom.value:
245
+ selectedControl.value = 'from';
246
+ break;
248
247
 
249
- onStart: onDragFrom,
250
- onMove: onDragFrom,
251
- onEnd: onDragFrom,
252
- });
248
+ case thumbTo.value:
249
+ selectedControl.value = 'to';
250
+ break;
251
+
252
+ default:
253
+ selectedControl.value = selectedControl.value === 'from' ? 'to' : 'from';
254
+ }
253
255
 
254
- const { isDragging: isDraggingTo } = useDraggable(rail, {
255
- handle: thumbTo,
256
+ onDrag(position, event);
257
+ },
256
258
 
257
- onStart: onDragTo,
258
- onMove: onDragTo,
259
- onEnd: onDragTo,
259
+ onMove: onDrag,
260
+ onEnd: onDrag,
260
261
  });
261
262
 
262
263
  return {
@@ -277,10 +278,10 @@ export default defineComponent({
277
278
  proxyModelValue,
278
279
  internalModelValueFrom,
279
280
  internalModelValueTo,
281
+ selectedControl,
280
282
 
281
283
  isHovering,
282
- isDraggingFrom,
283
- isDraggingTo,
284
+ isDragging,
284
285
  };
285
286
  },
286
287
  });