@onereach/ui-components 8.24.2-beta.4156.0 → 8.24.2-beta.4157.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.
Files changed (42) hide show
  1. package/dist/bundled/v2/components/OrRangeSliderV3/OrRangeSlider.js +93 -18
  2. package/dist/bundled/v2/components/OrRangeSliderV3/OrRangeSlider.vue.d.ts +4 -0
  3. package/dist/bundled/v2/components/OrRangeSliderV3/styles.js +2 -0
  4. package/dist/bundled/v2/components/OrSliderV3/OrSlider.js +24 -2
  5. package/dist/bundled/v2/components/OrSliderV3/OrSlider.vue.d.ts +2 -0
  6. package/dist/bundled/v2/components/OrSliderV3/styles.js +2 -0
  7. package/dist/bundled/v3/components/OrRangeSliderV3/OrRangeSlider.js +1 -1
  8. package/dist/bundled/v3/components/OrRangeSliderV3/OrRangeSlider.vue.d.ts +2 -0
  9. package/dist/bundled/v3/components/OrRangeSliderV3/index.js +2 -2
  10. package/dist/bundled/v3/components/OrRangeSliderV3/props.js +1 -1
  11. package/dist/bundled/v3/components/OrRangeSliderV3/styles.js +2 -2
  12. package/dist/bundled/v3/components/{OrRangeSliderV3-37003ca8.js → OrRangeSliderV3-abd9022e.js} +87 -24
  13. package/dist/bundled/v3/components/OrSliderV3/OrSlider.js +1 -1
  14. package/dist/bundled/v3/components/OrSliderV3/OrSlider.vue.d.ts +1 -0
  15. package/dist/bundled/v3/components/OrSliderV3/index.js +1 -1
  16. package/dist/bundled/v3/components/OrSliderV3/props.js +1 -1
  17. package/dist/bundled/v3/components/OrSliderV3/styles.js +1 -1
  18. package/dist/bundled/v3/components/{OrSliderV3-8912e4bc.js → OrSliderV3-e1218b6f.js} +17 -7
  19. package/dist/bundled/v3/components/index.js +2 -2
  20. package/dist/bundled/v3/index.js +2 -2
  21. package/dist/esm/v2/{OrRangeSlider-d2340af6.js → OrRangeSlider-b5447101.js} +96 -19
  22. package/dist/esm/v2/{OrSlider-8b597ea6.js → OrSlider-5a82e577.js} +22 -2
  23. package/dist/esm/v2/{OrSlider.vue_rollup-plugin-vue_script-2d2013f9.js → OrSlider.vue_rollup-plugin-vue_script-b5bcb4f7.js} +5 -1
  24. package/dist/esm/v2/components/index.js +3 -3
  25. package/dist/esm/v2/components/or-range-slider-v3/OrRangeSlider.vue.d.ts +4 -0
  26. package/dist/esm/v2/components/or-range-slider-v3/index.js +2 -2
  27. package/dist/esm/v2/components/or-slider-v3/OrSlider.vue.d.ts +2 -0
  28. package/dist/esm/v2/components/or-slider-v3/index.js +2 -2
  29. package/dist/esm/v2/index.js +3 -3
  30. package/dist/esm/v3/{OrRangeSlider-8b2688e5.js → OrRangeSlider-f2d27996.js} +87 -24
  31. package/dist/esm/v3/{OrSlider-bb98a511.js → OrSlider-3ddd12d5.js} +17 -7
  32. package/dist/esm/v3/components/index.js +2 -2
  33. package/dist/esm/v3/components/or-range-slider-v3/OrRangeSlider.vue.d.ts +2 -0
  34. package/dist/esm/v3/components/or-range-slider-v3/index.js +2 -2
  35. package/dist/esm/v3/components/or-slider-v3/OrSlider.vue.d.ts +1 -0
  36. package/dist/esm/v3/components/or-slider-v3/index.js +1 -1
  37. package/dist/esm/v3/index.js +2 -2
  38. package/package.json +1 -1
  39. package/src/components/or-range-slider-v3/OrRangeSlider.vue +96 -26
  40. package/src/components/or-range-slider-v3/styles.ts +3 -0
  41. package/src/components/or-slider-v3/OrSlider.vue +11 -2
  42. package/src/components/or-slider-v3/styles.ts +3 -0
@@ -105,26 +105,59 @@ var script = defineComponent({
105
105
  const proxyModelValue = useProxyModelValue(toRef(props, 'modelValue'), context.emit, {
106
106
  defaultValue: computed(() => [props.minValue, props.maxValue])
107
107
  });
108
- const internalModelValueFrom = computed({
108
+ watch(proxyModelValue, _ref => {
109
+ let [a, b] = _ref;
110
+ switch (props.orientation) {
111
+ case SliderOrientation.Horizontal:
112
+ case SliderOrientation.Vertical:
113
+ if (a > b) proxyModelValue.value = [b, a];
114
+ break;
115
+ case SliderOrientation.HorizontalReversed:
116
+ case SliderOrientation.VerticalReversed:
117
+ if (a < b) proxyModelValue.value = [b, a];
118
+ break;
119
+ }
120
+ });
121
+ const proxyModelValueFrom = computed({
109
122
  get: () => {
110
- let modelValue = 0;
111
123
  switch (props.orientation) {
112
124
  case SliderOrientation.Horizontal:
113
125
  case SliderOrientation.Vertical:
114
- modelValue = proxyModelValue.value[0];
126
+ return proxyModelValue.value[0];
127
+ case SliderOrientation.HorizontalReversed:
128
+ case SliderOrientation.VerticalReversed:
129
+ return proxyModelValue.value[1];
130
+ }
131
+ return props.minValue;
132
+ },
133
+ set: value => {
134
+ const draftProxyModelValue = [value !== null && value !== void 0 ? value : props.minValue, proxyModelValue.value[1]];
135
+ switch (props.orientation) {
136
+ case SliderOrientation.Horizontal:
137
+ case SliderOrientation.Vertical:
138
+ proxyModelValue.value = draftProxyModelValue;
115
139
  break;
116
140
  case SliderOrientation.HorizontalReversed:
117
141
  case SliderOrientation.VerticalReversed:
118
- modelValue = proxyModelValue.value[1];
142
+ proxyModelValue.value = [draftProxyModelValue[1], draftProxyModelValue[0]];
119
143
  break;
120
144
  }
121
- return (modelValue - props.minValue) / (props.maxValue - props.minValue);
145
+ }
146
+ });
147
+ const proxyModelValueTo = computed({
148
+ get: () => {
149
+ switch (props.orientation) {
150
+ case SliderOrientation.Horizontal:
151
+ case SliderOrientation.Vertical:
152
+ return proxyModelValue.value[1];
153
+ case SliderOrientation.HorizontalReversed:
154
+ case SliderOrientation.VerticalReversed:
155
+ return proxyModelValue.value[0];
156
+ }
157
+ return props.maxValue;
122
158
  },
123
159
  set: value => {
124
- const modelValue = value * (props.maxValue - props.minValue) + props.minValue;
125
- const draftProxyModelValue = [internalBreakpoints.value.reduce((a, b) => {
126
- return Math.abs(a - modelValue) < Math.abs(b - modelValue) ? a : b;
127
- }), internalModelValueTo.value * (props.maxValue - props.minValue) + props.minValue];
160
+ const draftProxyModelValue = [proxyModelValue.value[0], value !== null && value !== void 0 ? value : props.maxValue];
128
161
  switch (props.orientation) {
129
162
  case SliderOrientation.Horizontal:
130
163
  case SliderOrientation.Vertical:
@@ -132,25 +165,35 @@ var script = defineComponent({
132
165
  break;
133
166
  case SliderOrientation.HorizontalReversed:
134
167
  case SliderOrientation.VerticalReversed:
135
- proxyModelValue.value = draftProxyModelValue.reverse();
168
+ proxyModelValue.value = [draftProxyModelValue[1], draftProxyModelValue[0]];
136
169
  break;
137
170
  }
138
171
  }
139
172
  });
140
- const internalModelValueTo = computed({
173
+ const internalModelValueFrom = computed({
141
174
  get: () => {
142
- let modelValue = 0;
175
+ return (proxyModelValueFrom.value - props.minValue) / (props.maxValue - props.minValue);
176
+ },
177
+ set: value => {
178
+ const modelValue = value * (props.maxValue - props.minValue) + props.minValue;
179
+ const draftProxyModelValue = [internalBreakpoints.value.reduce((a, b) => {
180
+ return Math.abs(a - modelValue) < Math.abs(b - modelValue) ? a : b;
181
+ }), internalModelValueTo.value * (props.maxValue - props.minValue) + props.minValue];
143
182
  switch (props.orientation) {
144
183
  case SliderOrientation.Horizontal:
145
184
  case SliderOrientation.Vertical:
146
- modelValue = proxyModelValue.value[1];
185
+ proxyModelValue.value = draftProxyModelValue;
147
186
  break;
148
187
  case SliderOrientation.HorizontalReversed:
149
188
  case SliderOrientation.VerticalReversed:
150
- modelValue = proxyModelValue.value[0];
189
+ proxyModelValue.value = [draftProxyModelValue[1], draftProxyModelValue[0]];
151
190
  break;
152
191
  }
153
- return (modelValue - props.minValue) / (props.maxValue - props.minValue);
192
+ }
193
+ });
194
+ const internalModelValueTo = computed({
195
+ get: () => {
196
+ return (proxyModelValueTo.value - props.minValue) / (props.maxValue - props.minValue);
154
197
  },
155
198
  set: value => {
156
199
  const modelValue = value * (props.maxValue - props.minValue) + props.minValue;
@@ -164,7 +207,7 @@ var script = defineComponent({
164
207
  break;
165
208
  case SliderOrientation.HorizontalReversed:
166
209
  case SliderOrientation.VerticalReversed:
167
- proxyModelValue.value = draftProxyModelValue.reverse();
210
+ proxyModelValue.value = [draftProxyModelValue[1], draftProxyModelValue[0]];
168
211
  break;
169
212
  }
170
213
  }
@@ -175,7 +218,6 @@ var script = defineComponent({
175
218
  }
176
219
  return Array(Math.ceil(Math.abs(props.maxValue - props.minValue) / props.step)).fill(null).map((value, index) => Math.floor((props.minValue + props.step * index) * 1000) / 1000).concat(...props.breakpoints, props.maxValue).sort((a, b) => a - b);
177
220
  });
178
- const railBoundingBox = useElementBounding(rail);
179
221
  const tooltipPlacement = computed(() => {
180
222
  switch (props.orientation) {
181
223
  case SliderOrientation.Horizontal:
@@ -186,7 +228,9 @@ var script = defineComponent({
186
228
  return 'right';
187
229
  }
188
230
  });
231
+ const highlightedBreakpoint = ref();
189
232
  const selectedControl = ref();
233
+ const railBoundingBox = useElementBounding(rail);
190
234
  // Handlers
191
235
  function onDrag(position, event) {
192
236
  if (props.disabled) {
@@ -226,6 +270,15 @@ var script = defineComponent({
226
270
  }
227
271
  }
228
272
  }
273
+ function onClick(breakpoint) {
274
+ if (selectedControl.value === 'from') {
275
+ proxyModelValueFrom.value = breakpoint;
276
+ selectedControl.value = 'to';
277
+ } else {
278
+ proxyModelValueTo.value = breakpoint;
279
+ selectedControl.value = 'from';
280
+ }
281
+ }
229
282
  // Methods
230
283
  function getBreakpointMarkComputedStyles(breakpoint) {
231
284
  switch (props.orientation) {
@@ -314,7 +367,9 @@ var script = defineComponent({
314
367
  labelMarkStyles,
315
368
  proxyModelValue,
316
369
  tooltipPlacement,
370
+ highlightedBreakpoint,
317
371
  selectedControl,
372
+ onClick,
318
373
  getBreakpointMarkComputedStyles,
319
374
  isHoveringOffset,
320
375
  isHoveringTrack,
@@ -425,6 +480,14 @@ var __vue_render__ = function () {
425
480
  attrs: {
426
481
  "activated": breakpoint >= _vm.proxyModelValue[_vm.orientation.endsWith('-reversed') ? 1 : 0] && breakpoint <= _vm.proxyModelValue[_vm.orientation.endsWith('-reversed') ? 0 : 1],
427
482
  "disabled": _vm.disabled
483
+ },
484
+ on: {
485
+ "mouseenter": function ($event) {
486
+ _vm.highlightedBreakpoint = breakpoint;
487
+ },
488
+ "mouseleave": function ($event) {
489
+ _vm.highlightedBreakpoint = undefined;
490
+ }
428
491
  }
429
492
  });
430
493
  }) : _vm._e()], 2), _vm._v(" "), _c('div', {
@@ -435,7 +498,19 @@ var __vue_render__ = function () {
435
498
  class: _vm.labelMarkStyles,
436
499
  style: _vm.getBreakpointMarkComputedStyles(breakpoint),
437
500
  attrs: {
438
- "disabled": _vm.disabled
501
+ "disabled": _vm.disabled,
502
+ "force-state": _vm.highlightedBreakpoint === breakpoint ? 'hover' : null
503
+ },
504
+ on: {
505
+ "mouseenter": function ($event) {
506
+ _vm.highlightedBreakpoint = breakpoint;
507
+ },
508
+ "mouseleave": function ($event) {
509
+ _vm.highlightedBreakpoint = undefined;
510
+ },
511
+ "click": function ($event) {
512
+ return _vm.onClick(breakpoint);
513
+ }
439
514
  }
440
515
  }, [_vm._t(breakpoint + "-label", function () {
441
516
  return [_vm._v("\n " + _vm._s(breakpoint) + "\n ")];
@@ -32,7 +32,9 @@ declare const _default: import("vue").ComponentOptions<import("vue").default, im
32
32
  labelMarkStyles: import("@vue/composition-api").ComputedRef<string[]>;
33
33
  proxyModelValue: import("../../hooks").UseProxyModelValueReturn<[number, number]>;
34
34
  tooltipPlacement: import("@vue/composition-api").ComputedRef<"top" | "right" | undefined>;
35
+ highlightedBreakpoint: import("@vue/composition-api").Ref<number | undefined>;
35
36
  selectedControl: import("@vue/composition-api").Ref<"from" | "to" | undefined>;
37
+ onClick: (breakpoint: number) => void;
36
38
  getBreakpointMarkComputedStyles: (breakpoint: number) => Partial<CSSStyleDeclaration> | undefined;
37
39
  isHoveringOffset: import("@vue/composition-api").Ref<boolean>;
38
40
  isHoveringTrack: import("@vue/composition-api").Ref<boolean>;
@@ -165,7 +167,9 @@ declare const _default: import("vue").ComponentOptions<import("vue").default, im
165
167
  labelMarkStyles: import("@vue/composition-api").ComputedRef<string[]>;
166
168
  proxyModelValue: import("../../hooks").UseProxyModelValueReturn<[number, number]>;
167
169
  tooltipPlacement: import("@vue/composition-api").ComputedRef<"top" | "right" | undefined>;
170
+ highlightedBreakpoint: import("@vue/composition-api").Ref<number | undefined>;
168
171
  selectedControl: import("@vue/composition-api").Ref<"from" | "to" | undefined>;
172
+ onClick: (breakpoint: number) => void;
169
173
  getBreakpointMarkComputedStyles: (breakpoint: number) => Partial<CSSStyleDeclaration> | undefined;
170
174
  isHoveringOffset: import("@vue/composition-api").Ref<boolean>;
171
175
  isHoveringTrack: import("@vue/composition-api").Ref<boolean>;
@@ -172,6 +172,8 @@ const RangeSliderLabelOrientations = {
172
172
  const RangeSliderLabelMark = [
173
173
  // Position
174
174
  'absolute',
175
+ // Interactivity
176
+ 'interactivity-click',
175
177
  // Typography
176
178
  'typography-caption-regular whitespace-nowrap',
177
179
  // Theme
@@ -103,7 +103,6 @@ var script = defineComponent({
103
103
  }
104
104
  return Array(Math.ceil(Math.abs(props.maxValue - props.minValue) / props.step)).fill(null).map((value, index) => Math.floor((props.minValue + props.step * index) * 1000) / 1000).concat(...props.breakpoints, props.maxValue).sort((a, b) => a - b);
105
105
  });
106
- const railBoundingBox = useElementBounding(rail);
107
106
  const tooltipPlacement = computed(() => {
108
107
  switch (props.orientation) {
109
108
  case SliderOrientation.Horizontal:
@@ -114,6 +113,8 @@ var script = defineComponent({
114
113
  return 'right';
115
114
  }
116
115
  });
116
+ const highlightedBreakpoint = ref();
117
+ const railBoundingBox = useElementBounding(rail);
117
118
  // Handlers
118
119
  function onDrag(position, event) {
119
120
  if (props.disabled) {
@@ -199,6 +200,7 @@ var script = defineComponent({
199
200
  labelMarkStyles,
200
201
  proxyModelValue,
201
202
  tooltipPlacement,
203
+ highlightedBreakpoint,
202
204
  getBreakpointMarkComputedStyles,
203
205
  isHovering,
204
206
  isDragging
@@ -265,6 +267,14 @@ var __vue_render__ = function () {
265
267
  attrs: {
266
268
  "activated": breakpoint <= _vm.proxyModelValue,
267
269
  "disabled": _vm.disabled
270
+ },
271
+ on: {
272
+ "mouseenter": function ($event) {
273
+ _vm.highlightedBreakpoint = breakpoint;
274
+ },
275
+ "mouseleave": function ($event) {
276
+ _vm.highlightedBreakpoint = undefined;
277
+ }
268
278
  }
269
279
  });
270
280
  }) : _vm._e()], 2), _vm._v(" "), _c('div', {
@@ -275,7 +285,19 @@ var __vue_render__ = function () {
275
285
  class: _vm.labelMarkStyles,
276
286
  style: _vm.getBreakpointMarkComputedStyles(breakpoint),
277
287
  attrs: {
278
- "disabled": _vm.disabled
288
+ "disabled": _vm.disabled,
289
+ "force-state": _vm.highlightedBreakpoint === breakpoint ? 'hover' : null
290
+ },
291
+ on: {
292
+ "mouseenter": function ($event) {
293
+ _vm.highlightedBreakpoint = breakpoint;
294
+ },
295
+ "mouseleave": function ($event) {
296
+ _vm.highlightedBreakpoint = undefined;
297
+ },
298
+ "click": function ($event) {
299
+ _vm.proxyModelValue = breakpoint;
300
+ }
279
301
  }
280
302
  }, [_vm._t(breakpoint + "-label", function () {
281
303
  return [_vm._v("\n " + _vm._s(breakpoint) + "\n ")];
@@ -20,6 +20,7 @@ declare const _default: import("vue").ComponentOptions<import("vue").default, im
20
20
  labelMarkStyles: import("@vue/composition-api").ComputedRef<string[]>;
21
21
  proxyModelValue: import("../../hooks").UseProxyModelValueReturn<number>;
22
22
  tooltipPlacement: import("@vue/composition-api").ComputedRef<"top" | "right" | undefined>;
23
+ highlightedBreakpoint: import("@vue/composition-api").Ref<number | undefined>;
23
24
  getBreakpointMarkComputedStyles: (breakpoint: number) => Partial<CSSStyleDeclaration> | undefined;
24
25
  isHovering: import("@vue/composition-api").Ref<boolean>;
25
26
  isDragging: import("@vue/composition-api").ComputedRef<boolean>;
@@ -135,6 +136,7 @@ declare const _default: import("vue").ComponentOptions<import("vue").default, im
135
136
  labelMarkStyles: import("@vue/composition-api").ComputedRef<string[]>;
136
137
  proxyModelValue: import("../../hooks").UseProxyModelValueReturn<number>;
137
138
  tooltipPlacement: import("@vue/composition-api").ComputedRef<"top" | "right" | undefined>;
139
+ highlightedBreakpoint: import("@vue/composition-api").Ref<number | undefined>;
138
140
  getBreakpointMarkComputedStyles: (breakpoint: number) => Partial<CSSStyleDeclaration> | undefined;
139
141
  isHovering: import("@vue/composition-api").Ref<boolean>;
140
142
  isDragging: import("@vue/composition-api").ComputedRef<boolean>;
@@ -157,6 +157,8 @@ const SliderLabelOrientations = {
157
157
  const SliderLabelMark = [
158
158
  // Position
159
159
  'absolute',
160
+ // Interactivity
161
+ 'interactivity-click',
160
162
  // Typography
161
163
  'typography-caption-regular whitespace-nowrap',
162
164
  // Theme
@@ -1 +1 @@
1
- export { s as default } from '../OrRangeSliderV3-37003ca8.js';
1
+ export { s as default } from '../OrRangeSliderV3-abd9022e.js';
@@ -69,7 +69,9 @@ declare const _default: import("vue-demi").DefineComponent<{
69
69
  labelMarkStyles: import("vue-demi").ComputedRef<string[]>;
70
70
  proxyModelValue: import("../../hooks").UseProxyModelValueReturn<[number, number]>;
71
71
  tooltipPlacement: import("vue-demi").ComputedRef<"top" | "right" | undefined>;
72
+ highlightedBreakpoint: import("vue-demi").Ref<number | undefined>;
72
73
  selectedControl: import("vue-demi").Ref<"from" | "to" | undefined>;
74
+ onClick: (breakpoint: number) => void;
73
75
  getBreakpointMarkComputedStyles: (breakpoint: number) => Partial<CSSStyleDeclaration> | undefined;
74
76
  isHoveringOffset: import("vue-demi").Ref<boolean>;
75
77
  isHoveringTrack: import("vue-demi").Ref<boolean>;
@@ -1,2 +1,2 @@
1
- export { s as OrRangeSliderV3 } from '../OrRangeSliderV3-37003ca8.js';
2
- export { S as RangeSliderColor, a as RangeSliderOrientation } from '../OrSliderV3-8912e4bc.js';
1
+ export { s as OrRangeSliderV3 } from '../OrRangeSliderV3-abd9022e.js';
2
+ export { S as RangeSliderColor, a as RangeSliderOrientation } from '../OrSliderV3-e1218b6f.js';
@@ -1 +1 @@
1
- export { S as RangeSliderColor, a as RangeSliderOrientation } from '../OrSliderV3-8912e4bc.js';
1
+ export { S as RangeSliderColor, a as RangeSliderOrientation } from '../OrSliderV3-e1218b6f.js';
@@ -1,2 +1,2 @@
1
- import '../OrSliderV3-8912e4bc.js';
2
- export { R as RangeSlider, j as RangeSliderBreakpointMark, k as RangeSliderBreakpointMarkColors, l as RangeSliderLabel, n as RangeSliderLabelMark, o as RangeSliderLabelMarkOrientations, m as RangeSliderLabelOrientations, d as RangeSliderOffset, e as RangeSliderOffsetOrientations, a as RangeSliderOrientations, b as RangeSliderRail, c as RangeSliderRailOrientations, h as RangeSliderThumb, i as RangeSliderThumbColors, f as RangeSliderTrack, g as RangeSliderTrackColors } from '../OrRangeSliderV3-37003ca8.js';
1
+ import '../OrSliderV3-e1218b6f.js';
2
+ export { R as RangeSlider, j as RangeSliderBreakpointMark, k as RangeSliderBreakpointMarkColors, l as RangeSliderLabel, n as RangeSliderLabelMark, o as RangeSliderLabelMarkOrientations, m as RangeSliderLabelOrientations, d as RangeSliderOffset, e as RangeSliderOffsetOrientations, a as RangeSliderOrientations, b as RangeSliderRail, c as RangeSliderRailOrientations, h as RangeSliderThumb, i as RangeSliderThumbColors, f as RangeSliderTrack, g as RangeSliderTrackColors } from '../OrRangeSliderV3-abd9022e.js';
@@ -1,4 +1,4 @@
1
- import { a as SliderOrientation, S as SliderColor } from './OrSliderV3-8912e4bc.js';
1
+ import { a as SliderOrientation, S as SliderColor } from './OrSliderV3-e1218b6f.js';
2
2
  import { resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, normalizeStyle, createVNode, mergeProps, withCtx, renderSlot, createTextVNode, toDisplayString, Fragment, renderList, createCommentVNode } from 'vue';
3
3
  import { h as useElementBounding, a as useElementHover, i as useDraggable, j as clamp } from './OrBottomSheetV3-d2f7ec3a.js';
4
4
  import { defineComponent, ref, computed, toRef, watch } from 'vue-demi';
@@ -177,6 +177,8 @@ const RangeSliderLabelOrientations = {
177
177
  const RangeSliderLabelMark = [
178
178
  // Position
179
179
  'absolute',
180
+ // Interactivity
181
+ 'interactivity-click',
180
182
  // Typography
181
183
  'typography-caption-regular whitespace-nowrap',
182
184
  // Theme
@@ -296,26 +298,59 @@ var script = defineComponent({
296
298
  const proxyModelValue = useProxyModelValue(toRef(props, 'modelValue'), context.emit, {
297
299
  defaultValue: computed(() => [props.minValue, props.maxValue])
298
300
  });
299
- const internalModelValueFrom = computed({
301
+ watch(proxyModelValue, _ref => {
302
+ let [a, b] = _ref;
303
+ switch (props.orientation) {
304
+ case SliderOrientation.Horizontal:
305
+ case SliderOrientation.Vertical:
306
+ if (a > b) proxyModelValue.value = [b, a];
307
+ break;
308
+ case SliderOrientation.HorizontalReversed:
309
+ case SliderOrientation.VerticalReversed:
310
+ if (a < b) proxyModelValue.value = [b, a];
311
+ break;
312
+ }
313
+ });
314
+ const proxyModelValueFrom = computed({
300
315
  get: () => {
301
- let modelValue = 0;
302
316
  switch (props.orientation) {
303
317
  case SliderOrientation.Horizontal:
304
318
  case SliderOrientation.Vertical:
305
- modelValue = proxyModelValue.value[0];
319
+ return proxyModelValue.value[0];
320
+ case SliderOrientation.HorizontalReversed:
321
+ case SliderOrientation.VerticalReversed:
322
+ return proxyModelValue.value[1];
323
+ }
324
+ return props.minValue;
325
+ },
326
+ set: value => {
327
+ const draftProxyModelValue = [value !== null && value !== void 0 ? value : props.minValue, proxyModelValue.value[1]];
328
+ switch (props.orientation) {
329
+ case SliderOrientation.Horizontal:
330
+ case SliderOrientation.Vertical:
331
+ proxyModelValue.value = draftProxyModelValue;
306
332
  break;
307
333
  case SliderOrientation.HorizontalReversed:
308
334
  case SliderOrientation.VerticalReversed:
309
- modelValue = proxyModelValue.value[1];
335
+ proxyModelValue.value = [draftProxyModelValue[1], draftProxyModelValue[0]];
310
336
  break;
311
337
  }
312
- return (modelValue - props.minValue) / (props.maxValue - props.minValue);
338
+ }
339
+ });
340
+ const proxyModelValueTo = computed({
341
+ get: () => {
342
+ switch (props.orientation) {
343
+ case SliderOrientation.Horizontal:
344
+ case SliderOrientation.Vertical:
345
+ return proxyModelValue.value[1];
346
+ case SliderOrientation.HorizontalReversed:
347
+ case SliderOrientation.VerticalReversed:
348
+ return proxyModelValue.value[0];
349
+ }
350
+ return props.maxValue;
313
351
  },
314
352
  set: value => {
315
- const modelValue = value * (props.maxValue - props.minValue) + props.minValue;
316
- const draftProxyModelValue = [internalBreakpoints.value.reduce((a, b) => {
317
- return Math.abs(a - modelValue) < Math.abs(b - modelValue) ? a : b;
318
- }), internalModelValueTo.value * (props.maxValue - props.minValue) + props.minValue];
353
+ const draftProxyModelValue = [proxyModelValue.value[0], value !== null && value !== void 0 ? value : props.maxValue];
319
354
  switch (props.orientation) {
320
355
  case SliderOrientation.Horizontal:
321
356
  case SliderOrientation.Vertical:
@@ -323,25 +358,35 @@ var script = defineComponent({
323
358
  break;
324
359
  case SliderOrientation.HorizontalReversed:
325
360
  case SliderOrientation.VerticalReversed:
326
- proxyModelValue.value = draftProxyModelValue.reverse();
361
+ proxyModelValue.value = [draftProxyModelValue[1], draftProxyModelValue[0]];
327
362
  break;
328
363
  }
329
364
  }
330
365
  });
331
- const internalModelValueTo = computed({
366
+ const internalModelValueFrom = computed({
332
367
  get: () => {
333
- let modelValue = 0;
368
+ return (proxyModelValueFrom.value - props.minValue) / (props.maxValue - props.minValue);
369
+ },
370
+ set: value => {
371
+ const modelValue = value * (props.maxValue - props.minValue) + props.minValue;
372
+ const draftProxyModelValue = [internalBreakpoints.value.reduce((a, b) => {
373
+ return Math.abs(a - modelValue) < Math.abs(b - modelValue) ? a : b;
374
+ }), internalModelValueTo.value * (props.maxValue - props.minValue) + props.minValue];
334
375
  switch (props.orientation) {
335
376
  case SliderOrientation.Horizontal:
336
377
  case SliderOrientation.Vertical:
337
- modelValue = proxyModelValue.value[1];
378
+ proxyModelValue.value = draftProxyModelValue;
338
379
  break;
339
380
  case SliderOrientation.HorizontalReversed:
340
381
  case SliderOrientation.VerticalReversed:
341
- modelValue = proxyModelValue.value[0];
382
+ proxyModelValue.value = [draftProxyModelValue[1], draftProxyModelValue[0]];
342
383
  break;
343
384
  }
344
- return (modelValue - props.minValue) / (props.maxValue - props.minValue);
385
+ }
386
+ });
387
+ const internalModelValueTo = computed({
388
+ get: () => {
389
+ return (proxyModelValueTo.value - props.minValue) / (props.maxValue - props.minValue);
345
390
  },
346
391
  set: value => {
347
392
  const modelValue = value * (props.maxValue - props.minValue) + props.minValue;
@@ -355,7 +400,7 @@ var script = defineComponent({
355
400
  break;
356
401
  case SliderOrientation.HorizontalReversed:
357
402
  case SliderOrientation.VerticalReversed:
358
- proxyModelValue.value = draftProxyModelValue.reverse();
403
+ proxyModelValue.value = [draftProxyModelValue[1], draftProxyModelValue[0]];
359
404
  break;
360
405
  }
361
406
  }
@@ -366,7 +411,6 @@ var script = defineComponent({
366
411
  }
367
412
  return Array(Math.ceil(Math.abs(props.maxValue - props.minValue) / props.step)).fill(null).map((value, index) => Math.floor((props.minValue + props.step * index) * 1000) / 1000).concat(...props.breakpoints, props.maxValue).sort((a, b) => a - b);
368
413
  });
369
- const railBoundingBox = useElementBounding(rail);
370
414
  const tooltipPlacement = computed(() => {
371
415
  switch (props.orientation) {
372
416
  case SliderOrientation.Horizontal:
@@ -377,7 +421,9 @@ var script = defineComponent({
377
421
  return 'right';
378
422
  }
379
423
  });
424
+ const highlightedBreakpoint = ref();
380
425
  const selectedControl = ref();
426
+ const railBoundingBox = useElementBounding(rail);
381
427
  // Handlers
382
428
  function onDrag(position, event) {
383
429
  if (props.disabled) {
@@ -417,6 +463,15 @@ var script = defineComponent({
417
463
  }
418
464
  }
419
465
  }
466
+ function onClick(breakpoint) {
467
+ if (selectedControl.value === 'from') {
468
+ proxyModelValueFrom.value = breakpoint;
469
+ selectedControl.value = 'to';
470
+ } else {
471
+ proxyModelValueTo.value = breakpoint;
472
+ selectedControl.value = 'from';
473
+ }
474
+ }
420
475
  // Methods
421
476
  function getBreakpointMarkComputedStyles(breakpoint) {
422
477
  switch (props.orientation) {
@@ -505,7 +560,9 @@ var script = defineComponent({
505
560
  labelMarkStyles,
506
561
  proxyModelValue,
507
562
  tooltipPlacement,
563
+ highlightedBreakpoint,
508
564
  selectedControl,
565
+ onClick,
509
566
  getBreakpointMarkComputedStyles,
510
567
  isHoveringOffset,
511
568
  isHoveringTrack,
@@ -525,8 +582,8 @@ const _hoisted_4 = ["disabled"];
525
582
  const _hoisted_5 = ["disabled"];
526
583
  const _hoisted_6 = ["disabled"];
527
584
  const _hoisted_7 = ["disabled"];
528
- const _hoisted_8 = ["activated", "disabled"];
529
- const _hoisted_9 = ["disabled"];
585
+ const _hoisted_8 = ["activated", "disabled", "onMouseenter"];
586
+ const _hoisted_9 = ["disabled", "force-state", "onMouseenter", "onClick"];
530
587
  function render(_ctx, _cache, $props, $setup, $data, $options) {
531
588
  const _component_OrTooltip = resolveComponent("OrTooltip");
532
589
  return openBlock(), createElementBlock("div", {
@@ -593,8 +650,10 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
593
650
  class: normalizeClass(_ctx.breakpointMarkStyles),
594
651
  style: normalizeStyle(_ctx.getBreakpointMarkComputedStyles(breakpoint)),
595
652
  activated: breakpoint >= _ctx.proxyModelValue[_ctx.orientation.endsWith('-reversed') ? 1 : 0] && breakpoint <= _ctx.proxyModelValue[_ctx.orientation.endsWith('-reversed') ? 0 : 1],
596
- disabled: _ctx.disabled
597
- }, null, 14 /* CLASS, STYLE, PROPS */, _hoisted_8);
653
+ disabled: _ctx.disabled,
654
+ onMouseenter: $event => _ctx.highlightedBreakpoint = breakpoint,
655
+ onMouseleave: _cache[0] || (_cache[0] = $event => _ctx.highlightedBreakpoint = undefined)
656
+ }, null, 46 /* CLASS, STYLE, PROPS, HYDRATE_EVENTS */, _hoisted_8);
598
657
  }), 128 /* KEYED_FRAGMENT */)) : createCommentVNode("v-if", true)], 10 /* CLASS, PROPS */, _hoisted_2), createElementVNode("div", {
599
658
  class: normalizeClass(_ctx.labelStyles)
600
659
  }, [(openBlock(true), createElementBlock(Fragment, null, renderList([_ctx.minValue, ..._ctx.breakpoints, _ctx.maxValue], breakpoint => {
@@ -602,10 +661,14 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
602
661
  key: breakpoint,
603
662
  class: normalizeClass(_ctx.labelMarkStyles),
604
663
  style: normalizeStyle(_ctx.getBreakpointMarkComputedStyles(breakpoint)),
605
- disabled: _ctx.disabled
664
+ disabled: _ctx.disabled,
665
+ "force-state": _ctx.highlightedBreakpoint === breakpoint ? 'hover' : null,
666
+ onMouseenter: $event => _ctx.highlightedBreakpoint = breakpoint,
667
+ onMouseleave: _cache[1] || (_cache[1] = $event => _ctx.highlightedBreakpoint = undefined),
668
+ onClick: $event => _ctx.onClick(breakpoint)
606
669
  }, [renderSlot(_ctx.$slots, `${breakpoint}-label`, {
607
670
  value: breakpoint
608
- }, () => [createTextVNode(toDisplayString(breakpoint), 1 /* TEXT */)])], 14 /* CLASS, STYLE, PROPS */, _hoisted_9);
671
+ }, () => [createTextVNode(toDisplayString(breakpoint), 1 /* TEXT */)])], 46 /* CLASS, STYLE, PROPS, HYDRATE_EVENTS */, _hoisted_9);
609
672
  }), 128 /* KEYED_FRAGMENT */))], 2 /* CLASS */)], 10 /* CLASS, PROPS */, _hoisted_1);
610
673
  }
611
674
 
@@ -1 +1 @@
1
- export { s as default } from '../OrSliderV3-8912e4bc.js';
1
+ export { s as default } from '../OrSliderV3-e1218b6f.js';
@@ -57,6 +57,7 @@ declare const _default: import("vue-demi").DefineComponent<{
57
57
  labelMarkStyles: import("vue-demi").ComputedRef<string[]>;
58
58
  proxyModelValue: import("../../hooks").UseProxyModelValueReturn<number>;
59
59
  tooltipPlacement: import("vue-demi").ComputedRef<"top" | "right" | undefined>;
60
+ highlightedBreakpoint: import("vue-demi").Ref<number | undefined>;
60
61
  getBreakpointMarkComputedStyles: (breakpoint: number) => Partial<CSSStyleDeclaration> | undefined;
61
62
  isHovering: import("vue-demi").Ref<boolean>;
62
63
  isDragging: import("vue-demi").ComputedRef<boolean>;
@@ -1 +1 @@
1
- export { s as OrSliderV3, S as SliderColor, a as SliderOrientation } from '../OrSliderV3-8912e4bc.js';
1
+ export { s as OrSliderV3, S as SliderColor, a as SliderOrientation } from '../OrSliderV3-e1218b6f.js';
@@ -1 +1 @@
1
- export { S as SliderColor, a as SliderOrientation } from '../OrSliderV3-8912e4bc.js';
1
+ export { S as SliderColor, a as SliderOrientation } from '../OrSliderV3-e1218b6f.js';
@@ -1 +1 @@
1
- export { b as Slider, j as SliderBreakpointMark, k as SliderBreakpointMarkColors, l as SliderLabel, n as SliderLabelMark, o as SliderLabelMarkOrientations, m as SliderLabelOrientations, c as SliderOrientations, d as SliderRail, e as SliderRailOrientations, h as SliderThumb, i as SliderThumbColors, f as SliderTrack, g as SliderTrackColors } from '../OrSliderV3-8912e4bc.js';
1
+ export { b as Slider, j as SliderBreakpointMark, k as SliderBreakpointMarkColors, l as SliderLabel, n as SliderLabelMark, o as SliderLabelMarkOrientations, m as SliderLabelOrientations, c as SliderOrientations, d as SliderRail, e as SliderRailOrientations, h as SliderThumb, i as SliderThumbColors, f as SliderTrack, g as SliderTrackColors } from '../OrSliderV3-e1218b6f.js';