@onereach/ui-components 26.8.0 → 26.8.1-beta.5974.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.
- package/dist/esm/{OrAutocomplete-DwXEt9aq.mjs → OrAutocomplete-CBRdP2nq.mjs} +7 -7
- package/dist/esm/{OrAutocomplete-DwXEt9aq.mjs.map → OrAutocomplete-CBRdP2nq.mjs.map} +1 -1
- package/dist/esm/{OrCardCollection-CQlpVaj3.mjs → OrCardCollection-BbZ6LK7u.mjs} +4 -4
- package/dist/esm/{OrCardCollection-CQlpVaj3.mjs.map → OrCardCollection-BbZ6LK7u.mjs.map} +1 -1
- package/dist/esm/{OrCode-BLHj3vA6.mjs → OrCode-lPOM5jUi.mjs} +3 -3
- package/dist/esm/{OrCode-BLHj3vA6.mjs.map → OrCode-lPOM5jUi.mjs.map} +1 -1
- package/dist/esm/{OrConfirm-CeXBV1NK.mjs → OrConfirm-8BhHytgC.mjs} +2 -2
- package/dist/esm/{OrConfirm-CeXBV1NK.mjs.map → OrConfirm-8BhHytgC.mjs.map} +1 -1
- package/dist/esm/{OrContextMenu-BJ4R2qpI.mjs → OrContextMenu-DbobyKfr.mjs} +3 -3
- package/dist/esm/{OrContextMenu-BJ4R2qpI.mjs.map → OrContextMenu-DbobyKfr.mjs.map} +1 -1
- package/dist/esm/{OrDataGrid-Dm8ZScw0.mjs → OrDataGrid-Dn7SH3ao.mjs} +12 -12
- package/dist/esm/{OrDataGrid-Dm8ZScw0.mjs.map → OrDataGrid-Dn7SH3ao.mjs.map} +1 -1
- package/dist/esm/{OrDateFormat-_-6suqsj.mjs → OrDateFormat-BPHCutkX.mjs} +2 -2
- package/dist/esm/{OrDateFormat-_-6suqsj.mjs.map → OrDateFormat-BPHCutkX.mjs.map} +1 -1
- package/dist/esm/{OrDatePicker-B9vB0AaR.mjs → OrDatePicker-HfL0EPki.mjs} +4 -4
- package/dist/esm/{OrDatePicker-B9vB0AaR.mjs.map → OrDatePicker-HfL0EPki.mjs.map} +1 -1
- package/dist/esm/{OrDateRangePicker-BTvKPVUF.mjs → OrDateRangePicker-CmOyj7qw.mjs} +4 -4
- package/dist/esm/{OrDateRangePicker-BTvKPVUF.mjs.map → OrDateRangePicker-CmOyj7qw.mjs.map} +1 -1
- package/dist/esm/{OrDateTimeFormat-DkjdbG7g.mjs → OrDateTimeFormat-YwOyEU_Q.mjs} +2 -2
- package/dist/esm/{OrDateTimeFormat-DkjdbG7g.mjs.map → OrDateTimeFormat-YwOyEU_Q.mjs.map} +1 -1
- package/dist/esm/{OrDateTimePicker-CXGn2f51.mjs → OrDateTimePicker-BmjS7XoQ.mjs} +2 -2
- package/dist/esm/{OrDateTimePicker-CXGn2f51.mjs.map → OrDateTimePicker-BmjS7XoQ.mjs.map} +1 -1
- package/dist/esm/{OrDateTimePicker.vue_vue_type_script_lang-e2w0L4cX.mjs → OrDateTimePicker.vue_vue_type_script_lang-BmmxaCUz.mjs} +5 -5
- package/dist/esm/{OrDateTimePicker.vue_vue_type_script_lang-e2w0L4cX.mjs.map → OrDateTimePicker.vue_vue_type_script_lang-BmmxaCUz.mjs.map} +1 -1
- package/dist/esm/{OrEditorTabs-Ri22rDUK.mjs → OrEditorTabs-Fbkgg0FQ.mjs} +4 -4
- package/dist/esm/{OrEditorTabs-Ri22rDUK.mjs.map → OrEditorTabs-Fbkgg0FQ.mjs.map} +1 -1
- package/dist/esm/{OrFilter-CYD-gDsX.mjs → OrFilter-BtcGMpKJ.mjs} +3 -3
- package/dist/esm/{OrFilter-CYD-gDsX.mjs.map → OrFilter-BtcGMpKJ.mjs.map} +1 -1
- package/dist/esm/{OrFilterPopover-DXO-6y8a.mjs → OrFilterPopover-CwAK7ocY.mjs} +3 -3
- package/dist/esm/{OrFilterPopover-DXO-6y8a.mjs.map → OrFilterPopover-CwAK7ocY.mjs.map} +1 -1
- package/dist/esm/{OrFilterTrigger-BNVaoHrT.mjs → OrFilterTrigger-DOK7F00h.mjs} +2 -2
- package/dist/esm/{OrFilterTrigger-BNVaoHrT.mjs.map → OrFilterTrigger-DOK7F00h.mjs.map} +1 -1
- package/dist/esm/{OrIconButton-Ds8k8FmS.mjs → OrIconButton-cKIMQQFK.mjs} +2 -2
- package/dist/esm/{OrIconButton-Ds8k8FmS.mjs.map → OrIconButton-cKIMQQFK.mjs.map} +1 -1
- package/dist/esm/{OrInlineInput-DqyLMsXq.mjs → OrInlineInput-je6TxRyr.mjs} +2 -2
- package/dist/esm/{OrInlineInput-DqyLMsXq.mjs.map → OrInlineInput-je6TxRyr.mjs.map} +1 -1
- package/dist/esm/{OrInlineTextarea-DVi6ZAsn.mjs → OrInlineTextarea-Bwe19SA7.mjs} +2 -2
- package/dist/esm/{OrInlineTextarea-DVi6ZAsn.mjs.map → OrInlineTextarea-Bwe19SA7.mjs.map} +1 -1
- package/dist/esm/{OrInput-CxGhwo0q.mjs → OrInput-CjEgq_je.mjs} +2 -2
- package/dist/esm/{OrInput-CxGhwo0q.mjs.map → OrInput-CjEgq_je.mjs.map} +1 -1
- package/dist/esm/{OrList-B2rj_Y5Z.mjs → OrList-BT_yB_51.mjs} +2 -2
- package/dist/esm/{OrList-B2rj_Y5Z.mjs.map → OrList-BT_yB_51.mjs.map} +1 -1
- package/dist/esm/{OrMenu-Cag_fBXC.mjs → OrMenu-BHbQffig.mjs} +2 -2
- package/dist/esm/{OrMenu-Cag_fBXC.mjs.map → OrMenu-BHbQffig.mjs.map} +1 -1
- package/dist/esm/{OrMenuItem-VyCCXA7Z.mjs → OrMenuItem-mSImr-QP.mjs} +3 -3
- package/dist/esm/{OrMenuItem-VyCCXA7Z.mjs.map → OrMenuItem-mSImr-QP.mjs.map} +1 -1
- package/dist/esm/{OrModal-DiVA7_Ct.mjs → OrModal-CQNMRUUt.mjs} +2 -2
- package/dist/esm/{OrModal-DiVA7_Ct.mjs.map → OrModal-CQNMRUUt.mjs.map} +1 -1
- package/dist/esm/{OrNotification-BkjmRseb.mjs → OrNotification-CakEH2ks.mjs} +2 -2
- package/dist/esm/{OrNotification-BkjmRseb.mjs.map → OrNotification-CakEH2ks.mjs.map} +1 -1
- package/dist/esm/{OrPagination-BXzDa-Su.mjs → OrPagination-CcEFgzYG.mjs} +3 -3
- package/dist/esm/{OrPagination-BXzDa-Su.mjs.map → OrPagination-CcEFgzYG.mjs.map} +1 -1
- package/dist/esm/{OrPopover-GBPJ4IDN.mjs → OrPopover-D0DVLoD2.mjs} +85 -78
- package/dist/esm/OrPopover-D0DVLoD2.mjs.map +1 -0
- package/dist/esm/{OrRangeSlider-Cxhafo9S.mjs → OrRangeSlider-BJc26Yln.mjs} +3 -3
- package/dist/esm/{OrRangeSlider-Cxhafo9S.mjs.map → OrRangeSlider-BJc26Yln.mjs.map} +1 -1
- package/dist/esm/{OrResizeablePanel-D62tzOxs.mjs → OrResizeablePanel-D1jXCw1B.mjs} +2 -2
- package/dist/esm/{OrResizeablePanel-D62tzOxs.mjs.map → OrResizeablePanel-D1jXCw1B.mjs.map} +1 -1
- package/dist/esm/{OrRichTextEditor-zb1kQ0es.mjs → OrRichTextEditor-ihaDwY3p.mjs} +7 -7
- package/dist/esm/{OrRichTextEditor-zb1kQ0es.mjs.map → OrRichTextEditor-ihaDwY3p.mjs.map} +1 -1
- package/dist/esm/{OrRichTooltip-8ybIdsqK.mjs → OrRichTooltip-DVUiOZ4o.mjs} +2 -2
- package/dist/esm/{OrRichTooltip-8ybIdsqK.mjs.map → OrRichTooltip-DVUiOZ4o.mjs.map} +1 -1
- package/dist/esm/{OrSearch-B_YGTJN8.mjs → OrSearch-BfR7IOXS.mjs} +2 -2
- package/dist/esm/{OrSearch-B_YGTJN8.mjs.map → OrSearch-BfR7IOXS.mjs.map} +1 -1
- package/dist/esm/{OrSelect-BXBDdzDF.mjs → OrSelect-Bon12YFA.mjs} +7 -7
- package/dist/esm/{OrSelect-BXBDdzDF.mjs.map → OrSelect-Bon12YFA.mjs.map} +1 -1
- package/dist/esm/{OrSlider-CD78-muf.mjs → OrSlider-B3MxInSN.mjs} +2 -2
- package/dist/esm/{OrSlider-CD78-muf.mjs.map → OrSlider-B3MxInSN.mjs.map} +1 -1
- package/dist/esm/{OrSlider.vue_vue_type_script_lang-B6ozamjR.mjs → OrSlider.vue_vue_type_script_lang-Cvq1k3Fl.mjs} +2 -2
- package/dist/esm/{OrSlider.vue_vue_type_script_lang-B6ozamjR.mjs.map → OrSlider.vue_vue_type_script_lang-Cvq1k3Fl.mjs.map} +1 -1
- package/dist/esm/{OrSorting-DdcXOjvm.mjs → OrSorting-Cdq_Ombg.mjs} +3 -3
- package/dist/esm/{OrSorting-DdcXOjvm.mjs.map → OrSorting-Cdq_Ombg.mjs.map} +1 -1
- package/dist/esm/{OrSubMenuItem-BmyJYNuS.mjs → OrSubMenuItem-BJTbCLw_.mjs} +4 -4
- package/dist/esm/{OrSubMenuItem-BmyJYNuS.mjs.map → OrSubMenuItem-BJTbCLw_.mjs.map} +1 -1
- package/dist/esm/{OrTabs-Bko0Tbsg.mjs → OrTabs-CIFeibSb.mjs} +3 -3
- package/dist/esm/{OrTabs-Bko0Tbsg.mjs.map → OrTabs-CIFeibSb.mjs.map} +1 -1
- package/dist/esm/{OrTag-CJLBRVMd.mjs → OrTag-BjLFFzTo.mjs} +2 -2
- package/dist/esm/{OrTag-CJLBRVMd.mjs.map → OrTag-BjLFFzTo.mjs.map} +1 -1
- package/dist/esm/{OrTagInput-B2U22gXE.mjs → OrTagInput-B8sejaPB.mjs} +4 -4
- package/dist/esm/{OrTagInput-B2U22gXE.mjs.map → OrTagInput-B8sejaPB.mjs.map} +1 -1
- package/dist/esm/{OrTags-dP8zjvgS.mjs → OrTags-CAwjsaNo.mjs} +3 -3
- package/dist/esm/{OrTags-dP8zjvgS.mjs.map → OrTags-CAwjsaNo.mjs.map} +1 -1
- package/dist/esm/{OrTimeFormat-Dxx8GX2k.mjs → OrTimeFormat-C2uRGeET.mjs} +2 -2
- package/dist/esm/{OrTimeFormat-Dxx8GX2k.mjs.map → OrTimeFormat-C2uRGeET.mjs.map} +1 -1
- package/dist/esm/{OrTimePicker-D-mTb4Ia.mjs → OrTimePicker-DefTwLtK.mjs} +4 -4
- package/dist/esm/{OrTimePicker-D-mTb4Ia.mjs.map → OrTimePicker-DefTwLtK.mjs.map} +1 -1
- package/dist/esm/{OrTimeRangePicker-B5Q-lkU8.mjs → OrTimeRangePicker-C2qapFiJ.mjs} +4 -4
- package/dist/esm/{OrTimeRangePicker-B5Q-lkU8.mjs.map → OrTimeRangePicker-C2qapFiJ.mjs.map} +1 -1
- package/dist/esm/{OrTooltip-BCrAH95l.mjs → OrTooltip-C1irMeH3.mjs} +2 -2
- package/dist/esm/{OrTooltip-BCrAH95l.mjs.map → OrTooltip-C1irMeH3.mjs.map} +1 -1
- package/dist/esm/components/index.mjs +47 -47
- package/dist/esm/components/or-autocomplete-v3/index.mjs +1 -1
- package/dist/esm/components/or-card-collection-v3/index.mjs +1 -1
- package/dist/esm/components/or-code-v3/index.mjs +1 -1
- package/dist/esm/components/or-confirm-v3/index.mjs +1 -1
- package/dist/esm/components/or-context-menu-v3/index.mjs +1 -1
- package/dist/esm/components/or-data-grid-v3/index.mjs +1 -1
- package/dist/esm/components/or-date-format-v3/index.mjs +1 -1
- package/dist/esm/components/or-date-picker-v3/index.mjs +1 -1
- package/dist/esm/components/or-date-range-picker-v3/index.mjs +1 -1
- package/dist/esm/components/or-date-time-format-v3/index.mjs +1 -1
- package/dist/esm/components/or-date-time-picker-v3/index.mjs +2 -2
- package/dist/esm/components/or-editor-tabs-v3/index.mjs +1 -1
- package/dist/esm/components/or-filter-popover-v3/index.mjs +1 -1
- package/dist/esm/components/or-filter-trigger-v3/index.mjs +1 -1
- package/dist/esm/components/or-filter-v3/index.mjs +1 -1
- package/dist/esm/components/or-icon-button-v3/index.mjs +1 -1
- package/dist/esm/components/or-inline-input-v3/index.mjs +1 -1
- package/dist/esm/components/or-inline-textarea-v3/index.mjs +1 -1
- package/dist/esm/components/or-input-v3/index.mjs +1 -1
- package/dist/esm/components/or-list-v3/index.mjs +1 -1
- package/dist/esm/components/or-menu-item-v3/index.mjs +1 -1
- package/dist/esm/components/or-menu-v3/index.mjs +1 -1
- package/dist/esm/components/or-modal-v3/index.mjs +1 -1
- package/dist/esm/components/or-notification-v3/index.mjs +1 -1
- package/dist/esm/components/or-pagination-v3/index.mjs +1 -1
- package/dist/esm/components/or-popover-v3/index.mjs +1 -1
- package/dist/esm/components/or-range-slider-v3/index.mjs +1 -1
- package/dist/esm/components/or-resizeable-panel-v3/index.mjs +1 -1
- package/dist/esm/components/or-rich-text-editor-v3/index.mjs +1 -1
- package/dist/esm/components/or-rich-tooltip-v3/index.mjs +1 -1
- package/dist/esm/components/or-search-v3/index.mjs +1 -1
- package/dist/esm/components/or-select-v3/index.mjs +1 -1
- package/dist/esm/components/or-sidebar-v3/index.mjs +1 -1
- package/dist/esm/components/or-slider-v3/index.mjs +2 -2
- package/dist/esm/components/or-sorting-v3/index.mjs +1 -1
- package/dist/esm/components/or-sub-menu-item-v3/index.mjs +1 -1
- package/dist/esm/components/or-tabs-v3/index.mjs +1 -1
- package/dist/esm/components/or-tag-input-v3/index.mjs +1 -1
- package/dist/esm/components/or-tag-v3/index.mjs +1 -1
- package/dist/esm/components/or-tags-v3/index.mjs +1 -1
- package/dist/esm/components/or-time-format-v3/index.mjs +1 -1
- package/dist/esm/components/or-time-picker-v3/index.mjs +1 -1
- package/dist/esm/components/or-time-range-picker-v3/index.mjs +1 -1
- package/dist/esm/components/or-toast-v3/index.mjs +1 -1
- package/dist/esm/components/or-tooltip-v3/index.mjs +1 -1
- package/dist/esm/index.mjs +47 -47
- package/dist/esm/{props-kE89gx5m.mjs → props-BA4dd9XI.mjs} +2 -2
- package/dist/esm/{props-kE89gx5m.mjs.map → props-BA4dd9XI.mjs.map} +1 -1
- package/dist/esm/{types-B5xGdMJQ.mjs → types-CyCeR1t_.mjs} +2 -2
- package/dist/esm/{types-B5xGdMJQ.mjs.map → types-CyCeR1t_.mjs.map} +1 -1
- package/dist/types/components/or-autocomplete-v3/OrAutocomplete.vue.d.ts +90 -0
- package/dist/types/components/or-date-picker-v3/OrDatePicker.vue.d.ts +10 -0
- package/dist/types/components/or-date-range-picker-v3/OrDateRangePicker.vue.d.ts +10 -0
- package/dist/types/components/or-date-time-picker-v3/OrDateTimePicker.vue.d.ts +20 -0
- package/dist/types/components/or-popover-v3/OrPopover.vue.d.ts +9 -0
- package/dist/types/components/or-rich-text-editor-v3/OrRichTextEditor.vue.d.ts +10 -0
- package/dist/types/components/or-rich-tooltip-v3/OrRichTooltip.vue.d.ts +10 -0
- package/dist/types/components/or-select-v3/OrSelect.vue.d.ts +50 -0
- package/dist/types/components/or-select-v3/partials/or-select-multiple-control/OrSelectMultipleControl.vue.d.ts +20 -0
- package/dist/types/components/or-tag-input-v3/OrTagInput.vue.d.ts +20 -0
- package/dist/types/components/or-tags-v3/OrTags.vue.d.ts +10 -0
- package/dist/types/components/or-time-picker-v3/OrTimePicker.vue.d.ts +10 -0
- package/dist/types/components/or-time-range-picker-v3/OrTimeRangePicker.vue.d.ts +10 -0
- package/package.json +4 -5
- package/dist/esm/OrPopover-GBPJ4IDN.mjs.map +0 -1
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { computePosition as Q, offset as X, shift as Y, flip as Z, hide as P, size as x, autoUpdate as _ } from "@floating-ui/dom";
|
|
2
|
-
import { usePopoverState as
|
|
3
|
-
import { O as
|
|
4
|
-
import { O as
|
|
5
|
-
import { onClickOutside as
|
|
6
|
-
import { computed as r, unref as B, ref as f, shallowRef as
|
|
7
|
-
import { isAncestor as
|
|
8
|
-
import { _ as
|
|
9
|
-
function q(
|
|
10
|
-
const
|
|
11
|
-
return Math.round(l *
|
|
2
|
+
import { usePopoverState as tt, useResponsive as et, useElevation as ot } from "@onereach/ui-components-common/hooks";
|
|
3
|
+
import { O as nt } from "./OrBottomSheet-DQ83BBtJ.mjs";
|
|
4
|
+
import { O as at } from "./OrTeleport.vue3-C9kW_8PS.mjs";
|
|
5
|
+
import { onClickOutside as rt } from "@vueuse/core";
|
|
6
|
+
import { computed as r, unref as B, ref as f, shallowRef as lt, watch as M, getCurrentScope as st, onScopeDispose as it, shallowReadonly as g, defineComponent as ut, toRefs as dt, toRef as ft, resolveComponent as H, openBlock as C, createBlock as N, withCtx as V, withDirectives as z, createElementVNode as mt, createElementBlock as U, mergeProps as W, renderSlot as j, normalizeClass as I, vShow as L, createCommentVNode as F } from "vue";
|
|
7
|
+
import { isAncestor as pt } from "@onereach/ui-components-common/utils";
|
|
8
|
+
import { _ as ct } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
|
|
9
|
+
function q(t, l) {
|
|
10
|
+
const e = J(t);
|
|
11
|
+
return Math.round(l * e) / e;
|
|
12
12
|
}
|
|
13
|
-
function J(
|
|
14
|
-
return typeof window > "u" ? 1 : (
|
|
13
|
+
function J(t) {
|
|
14
|
+
return typeof window > "u" ? 1 : (t.ownerDocument.defaultView || window).devicePixelRatio || 1;
|
|
15
15
|
}
|
|
16
|
-
function G(
|
|
17
|
-
return (
|
|
16
|
+
function G(t) {
|
|
17
|
+
return (t == null ? void 0 : t.$el) ?? t;
|
|
18
18
|
}
|
|
19
|
-
function
|
|
20
|
-
const o =
|
|
19
|
+
function vt(t, l, e = {}) {
|
|
20
|
+
const o = e.whileElementsMounted, p = r(() => B(e.open) ?? !0), S = r(() => B(e.middleware)), u = r(() => B(e.placement) ?? "bottom"), d = r(() => B(e.strategy) ?? "absolute"), b = r(() => B(e.transform) ?? !0), m = r(() => G(t.value)), s = r(() => G(l.value)), w = f(0), O = f(0), c = f(d.value), E = f(u.value), v = lt({}), k = f(!1), R = r(() => {
|
|
21
21
|
const i = {
|
|
22
22
|
position: c.value,
|
|
23
23
|
left: "0",
|
|
@@ -25,19 +25,19 @@ function ve(e, l, t = {}) {
|
|
|
25
25
|
};
|
|
26
26
|
if (!s.value)
|
|
27
27
|
return i;
|
|
28
|
-
const n = q(s.value, w.value),
|
|
28
|
+
const n = q(s.value, w.value), T = q(s.value, O.value);
|
|
29
29
|
return b.value ? {
|
|
30
30
|
...i,
|
|
31
|
-
transform: `translate(${n}px, ${
|
|
31
|
+
transform: `translate(${n}px, ${T}px)`,
|
|
32
32
|
...J(s.value) >= 1.5 && { willChange: "transform" }
|
|
33
33
|
} : {
|
|
34
34
|
position: c.value,
|
|
35
35
|
left: `${n}px`,
|
|
36
|
-
top: `${
|
|
36
|
+
top: `${T}px`
|
|
37
37
|
};
|
|
38
38
|
});
|
|
39
|
-
let
|
|
40
|
-
function
|
|
39
|
+
let y;
|
|
40
|
+
function h() {
|
|
41
41
|
m.value == null || s.value == null || Q(m.value, s.value, {
|
|
42
42
|
middleware: S.value,
|
|
43
43
|
placement: u.value,
|
|
@@ -47,18 +47,18 @@ function ve(e, l, t = {}) {
|
|
|
47
47
|
});
|
|
48
48
|
}
|
|
49
49
|
function $() {
|
|
50
|
-
typeof
|
|
50
|
+
typeof y == "function" && (y(), y = void 0);
|
|
51
51
|
}
|
|
52
52
|
function D() {
|
|
53
53
|
if ($(), o === void 0) {
|
|
54
|
-
|
|
54
|
+
h();
|
|
55
55
|
return;
|
|
56
56
|
}
|
|
57
57
|
if (m.value != null && s.value != null) {
|
|
58
|
-
|
|
58
|
+
y = o(
|
|
59
59
|
m.value,
|
|
60
60
|
s.value,
|
|
61
|
-
|
|
61
|
+
h
|
|
62
62
|
);
|
|
63
63
|
return;
|
|
64
64
|
}
|
|
@@ -66,9 +66,9 @@ function ve(e, l, t = {}) {
|
|
|
66
66
|
function A() {
|
|
67
67
|
p.value || (k.value = !1);
|
|
68
68
|
}
|
|
69
|
-
return M([S, u, d],
|
|
69
|
+
return M([S, u, d], h, {
|
|
70
70
|
flush: "sync"
|
|
71
|
-
}), M([m, s], D, { flush: "sync" }), M(p, A, { flush: "sync" }),
|
|
71
|
+
}), M([m, s], D, { flush: "sync" }), M(p, A, { flush: "sync" }), st() && it($), {
|
|
72
72
|
x: g(w),
|
|
73
73
|
y: g(O),
|
|
74
74
|
strategy: g(c),
|
|
@@ -76,14 +76,14 @@ function ve(e, l, t = {}) {
|
|
|
76
76
|
middlewareData: g(v),
|
|
77
77
|
isPositioned: g(k),
|
|
78
78
|
floatingStyles: R,
|
|
79
|
-
update:
|
|
79
|
+
update: h
|
|
80
80
|
};
|
|
81
81
|
}
|
|
82
|
-
var K = /* @__PURE__ */ ((
|
|
83
|
-
const
|
|
82
|
+
var K = /* @__PURE__ */ ((t) => (t.Auto = "auto", t.Popover = "popover", t.BottomSheet = "bottom-sheet", t))(K || {}), a = /* @__PURE__ */ ((t) => (t.Top = "top", t.TopStart = "top-start", t.TopEnd = "top-end", t.Bottom = "bottom", t.BottomStart = "bottom-start", t.BottomEnd = "bottom-end", t.Left = "left", t.LeftStart = "left-start", t.LeftEnd = "left-end", t.Right = "right", t.RightStart = "right-start", t.RightEnd = "right-end", t))(a || {});
|
|
83
|
+
const yt = [
|
|
84
84
|
// Position
|
|
85
85
|
"absolute"
|
|
86
|
-
],
|
|
86
|
+
], ht = [
|
|
87
87
|
// Shape
|
|
88
88
|
"rounded-md",
|
|
89
89
|
// Spacing
|
|
@@ -97,7 +97,7 @@ const he = [
|
|
|
97
97
|
"dark:theme-background-default-dark",
|
|
98
98
|
"theme-foreground-default",
|
|
99
99
|
"dark:theme-foreground-default-dark"
|
|
100
|
-
],
|
|
100
|
+
], gt = {
|
|
101
101
|
[a.Top]: [
|
|
102
102
|
// Spacing
|
|
103
103
|
"mb-0"
|
|
@@ -155,17 +155,17 @@ const he = [
|
|
|
155
155
|
"mb-0"
|
|
156
156
|
]
|
|
157
157
|
};
|
|
158
|
-
function
|
|
159
|
-
return
|
|
160
|
-
const { classList: o } =
|
|
161
|
-
return !!(!
|
|
158
|
+
function St(t, l) {
|
|
159
|
+
return t.some((e) => {
|
|
160
|
+
const { classList: o } = e;
|
|
161
|
+
return !!(!pt(e, l) && (o != null && o.contains("or-popover-v3") || o != null && o.contains("or-bottom-sheet-v3") || o != null && o.contains("or-confirm-v3")));
|
|
162
162
|
});
|
|
163
163
|
}
|
|
164
|
-
const
|
|
164
|
+
const bt = ut({
|
|
165
165
|
name: "OrPopover",
|
|
166
166
|
components: {
|
|
167
|
-
OrBottomSheet:
|
|
168
|
-
OrTeleport:
|
|
167
|
+
OrBottomSheet: nt,
|
|
168
|
+
OrTeleport: at
|
|
169
169
|
},
|
|
170
170
|
inheritAttrs: !1,
|
|
171
171
|
props: {
|
|
@@ -217,6 +217,10 @@ const be = ue({
|
|
|
217
217
|
keepAlive: {
|
|
218
218
|
type: Boolean,
|
|
219
219
|
default: !0
|
|
220
|
+
},
|
|
221
|
+
mountTo: {
|
|
222
|
+
type: [String, Object],
|
|
223
|
+
default: "body"
|
|
220
224
|
}
|
|
221
225
|
},
|
|
222
226
|
emits: [
|
|
@@ -235,30 +239,30 @@ const be = ue({
|
|
|
235
239
|
"toggle",
|
|
236
240
|
"bottomSheet"
|
|
237
241
|
],
|
|
238
|
-
setup(
|
|
239
|
-
const
|
|
242
|
+
setup(t, l) {
|
|
243
|
+
const e = f(), o = f(), p = f(), S = r(() => {
|
|
240
244
|
var n;
|
|
241
245
|
return (n = p.value) == null ? void 0 : n.root;
|
|
242
|
-
}), { trigger: u, placement: d, offset: b, fullWidth: m, hideOptions: s } =
|
|
246
|
+
}), { trigger: u, placement: d, offset: b, fullWidth: m, hideOptions: s } = dt(t), w = r(() => D.value !== d.value), O = r(() => {
|
|
243
247
|
var n;
|
|
244
248
|
return !!((n = $.value.hide) != null && n.referenceHidden);
|
|
245
249
|
}), c = r(() => [
|
|
246
250
|
"or-popover-v3",
|
|
247
|
-
...
|
|
248
|
-
..."class" in l.attrs ? [] :
|
|
251
|
+
...yt,
|
|
252
|
+
..."class" in l.attrs ? [] : t.customStyles
|
|
249
253
|
]), E = r(() => [
|
|
250
|
-
...
|
|
251
|
-
...
|
|
252
|
-
]), { state: v, open: k, close: R, toggle:
|
|
254
|
+
...ht,
|
|
255
|
+
...gt[D.value]
|
|
256
|
+
]), { state: v, open: k, close: R, toggle: y } = tt(ft(t, "isOpen"), l.emit), { floatingStyles: h, middlewareData: $, placement: D } = vt(u, e, {
|
|
253
257
|
placement: d,
|
|
254
258
|
middleware: [
|
|
255
259
|
X(b.value),
|
|
256
260
|
Y(),
|
|
257
|
-
Z(() => ({ fallbackAxisSideDirection:
|
|
261
|
+
Z(() => ({ fallbackAxisSideDirection: t.fallbackPlacement })),
|
|
258
262
|
P(s.value),
|
|
259
263
|
x({
|
|
260
|
-
apply({ rects: n, elements:
|
|
261
|
-
m.value && Object.assign(
|
|
264
|
+
apply({ rects: n, elements: T }) {
|
|
265
|
+
m.value && Object.assign(T.floating.style, {
|
|
262
266
|
width: `${n.reference.width}px`
|
|
263
267
|
});
|
|
264
268
|
}
|
|
@@ -267,19 +271,19 @@ const be = ue({
|
|
|
267
271
|
whileElementsMounted(...n) {
|
|
268
272
|
return _(...n, { animationFrame: !0 });
|
|
269
273
|
}
|
|
270
|
-
}), { isDesktop: A, isMobile: i } =
|
|
271
|
-
return
|
|
272
|
-
v.value === "open" && !
|
|
274
|
+
}), { isDesktop: A, isMobile: i } = et(o);
|
|
275
|
+
return ot(e, v), rt(e, (n) => {
|
|
276
|
+
v.value === "open" && !St(n.composedPath(), t.trigger) && R();
|
|
273
277
|
}, {
|
|
274
278
|
ignore: [u]
|
|
275
279
|
}), {
|
|
276
|
-
root:
|
|
280
|
+
root: e,
|
|
277
281
|
containerRoot: o,
|
|
278
282
|
bottomSheet: p,
|
|
279
283
|
bottomSheetRoot: S,
|
|
280
284
|
rootStyles: c,
|
|
281
285
|
bodyStyles: E,
|
|
282
|
-
floatingStyles:
|
|
286
|
+
floatingStyles: h,
|
|
283
287
|
state: v,
|
|
284
288
|
isFlipped: w,
|
|
285
289
|
isHidden: O,
|
|
@@ -287,56 +291,59 @@ const be = ue({
|
|
|
287
291
|
isMobile: i,
|
|
288
292
|
open: k,
|
|
289
293
|
close: R,
|
|
290
|
-
toggle:
|
|
294
|
+
toggle: y
|
|
291
295
|
};
|
|
292
296
|
}
|
|
293
|
-
}),
|
|
297
|
+
}), wt = {
|
|
294
298
|
ref: "containerRoot",
|
|
295
299
|
class: /* @__PURE__ */ I(["contents"])
|
|
296
300
|
};
|
|
297
|
-
function
|
|
301
|
+
function Ot(t, l, e, o, p, S) {
|
|
298
302
|
const u = H("OrBottomSheet"), d = H("OrTeleport");
|
|
299
|
-
return
|
|
303
|
+
return t.keepAlive || t.state === "open" ? (C(), N(d, {
|
|
304
|
+
key: 0,
|
|
305
|
+
to: t.mountTo
|
|
306
|
+
}, {
|
|
300
307
|
default: V(() => [
|
|
301
|
-
z(
|
|
302
|
-
|
|
308
|
+
z(mt("div", wt, [
|
|
309
|
+
t.isDesktop && t.variant === "auto" || t.variant === "popover" ? z((C(), U("div", W({ key: 0 }, t.$attrs, {
|
|
303
310
|
ref: "root",
|
|
304
|
-
class:
|
|
305
|
-
style:
|
|
311
|
+
class: t.rootStyles,
|
|
312
|
+
style: t.floatingStyles
|
|
306
313
|
}), [
|
|
307
|
-
|
|
314
|
+
t.disableDefaultStyles ? j(t.$slots, "default", { key: 0 }) : (C(), U("div", {
|
|
308
315
|
key: 1,
|
|
309
|
-
class: I(
|
|
316
|
+
class: I(t.bodyStyles)
|
|
310
317
|
}, [
|
|
311
|
-
j(
|
|
318
|
+
j(t.$slots, "default")
|
|
312
319
|
], 2))
|
|
313
320
|
], 16)), [
|
|
314
|
-
[L, !
|
|
321
|
+
[L, !t.isHidden]
|
|
315
322
|
]) : F("", !0),
|
|
316
|
-
|
|
323
|
+
t.isMobile && t.variant === "auto" || t.variant === "bottom-sheet" ? (C(), N(u, W({
|
|
317
324
|
key: 1,
|
|
318
325
|
ref: "bottomSheet"
|
|
319
|
-
},
|
|
320
|
-
"is-open":
|
|
321
|
-
"onUpdate:state": l[0] || (l[0] = (b) => b === "open" ?
|
|
326
|
+
}, t.bottomSheetProps, {
|
|
327
|
+
"is-open": t.state === "open",
|
|
328
|
+
"onUpdate:state": l[0] || (l[0] = (b) => b === "open" ? t.open() : t.close())
|
|
322
329
|
}), {
|
|
323
330
|
default: V(() => [
|
|
324
|
-
j(
|
|
331
|
+
j(t.$slots, "default")
|
|
325
332
|
]),
|
|
326
333
|
_: 3
|
|
327
334
|
}, 16, ["is-open"])) : F("", !0)
|
|
328
335
|
], 512), [
|
|
329
|
-
[L,
|
|
336
|
+
[L, t.state === "open"]
|
|
330
337
|
])
|
|
331
338
|
]),
|
|
332
339
|
_: 3
|
|
333
|
-
})) : F("", !0);
|
|
340
|
+
}, 8, ["to"])) : F("", !0);
|
|
334
341
|
}
|
|
335
|
-
const
|
|
342
|
+
const At = /* @__PURE__ */ ct(bt, [["render", Ot]]);
|
|
336
343
|
export {
|
|
337
|
-
|
|
344
|
+
At as O,
|
|
338
345
|
K as P,
|
|
339
346
|
a,
|
|
340
|
-
|
|
347
|
+
St as i
|
|
341
348
|
};
|
|
342
|
-
//# sourceMappingURL=OrPopover-
|
|
349
|
+
//# sourceMappingURL=OrPopover-D0DVLoD2.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrPopover-D0DVLoD2.mjs","sources":["../../../components/or-popover-v3/src/hooks/useFloating.ts","../../../components/or-popover-v3/src/props.ts","../../../components/or-popover-v3/src/styles.ts","../../../components/or-popover-v3/src/utils/isPrevented.ts","../../../components/or-popover-v3/src/OrPopover.vue"],"sourcesContent":["import type { FloatingElement, MiddlewareData, ReferenceElement } from '@floating-ui/dom';\nimport { computePosition } from '@floating-ui/dom';\nimport { Ref, computed, getCurrentScope, onScopeDispose, ref, shallowReadonly, shallowRef, unref, watch } from 'vue';\nimport type { ComponentPublicInstance } from 'vue';\n\nimport type {\n UseFloatingOptions,\n UseFloatingReturn,\n MaybeElement,\n} from './types';\n\n// https://github.com/floating-ui/floating-ui/blob/master/packages/vue/src/useFloating.ts\n/**\n * Computes the `x` and `y` coordinates that will place the floating element next to a reference element when it is given a certain CSS positioning strategy.\n * @param reference The reference template ref.\n * @param floating The floating template ref.\n * @param options The floating options.\n * @see https://floating-ui.com/docs/vue\n */\n\n\nfunction roundByDPR(element: Element, value: number) {\n const dpr = getDPR(element);\n return Math.round(value * dpr) / dpr;\n}\nfunction getDPR(element: Element): number {\n if (typeof window === 'undefined') {\n return 1;\n }\n const win = element.ownerDocument.defaultView || window;\n return win.devicePixelRatio || 1;\n}\nfunction unwrapElement<T>(element: MaybeElement<T>) {\n return ((element as Exclude<MaybeElement<T>, T>)?.$el ?? element) as Exclude<\n MaybeElement<T>,\n ComponentPublicInstance\n >;\n}\nexport function useFloating<T extends ReferenceElement = ReferenceElement>(\n reference: Readonly<Ref<MaybeElement<T>>>,\n floating: Readonly<Ref<MaybeElement<FloatingElement>>>,\n options: UseFloatingOptions<T> = {}\n): UseFloatingReturn {\n const whileElementsMountedOption = options.whileElementsMounted;\n const openOption = computed(() => unref(options.open) ?? true);\n const middlewareOption = computed(() => unref(options.middleware));\n const placementOption = computed(() => unref(options.placement) ?? 'bottom');\n const strategyOption = computed(() => unref(options.strategy) ?? 'absolute');\n const transformOption = computed(() => unref(options.transform) ?? true);\n const referenceElement = computed(() => unwrapElement(reference.value));\n const floatingElement = computed(() => unwrapElement(floating.value));\n const x = ref(0);\n const y = ref(0);\n const strategy = ref(strategyOption.value);\n const placement = ref(placementOption.value);\n const middlewareData = shallowRef<MiddlewareData>({});\n const isPositioned = ref(false);\n const floatingStyles = computed(() => {\n const initialStyles = {\n position: strategy.value,\n left: '0',\n top: '0',\n };\n\n if (!floatingElement.value) {\n return initialStyles;\n }\n\n const xVal = roundByDPR(floatingElement.value, x.value);\n const yVal = roundByDPR(floatingElement.value, y.value);\n\n if (transformOption.value) {\n return {\n ...initialStyles,\n transform: `translate(${xVal}px, ${yVal}px)`,\n ...(getDPR(floatingElement.value) >= 1.5 && { willChange: 'transform' }),\n };\n }\n\n return {\n position: strategy.value,\n left: `${xVal}px`,\n top: `${yVal}px`,\n };\n });\n\n let whileElementsMountedCleanup: (() => void) | undefined;\n\n function update() {\n if (referenceElement.value == null || floatingElement.value == null) {\n return;\n }\n\n computePosition(referenceElement.value, floatingElement.value, {\n middleware: middlewareOption.value,\n placement: placementOption.value,\n strategy: strategyOption.value,\n }).then((position) => {\n x.value = position.x;\n y.value = position.y;\n strategy.value = position.strategy;\n placement.value = position.placement;\n middlewareData.value = position.middlewareData;\n isPositioned.value = true;\n });\n }\n\n function cleanup() {\n if (typeof whileElementsMountedCleanup === 'function') {\n whileElementsMountedCleanup();\n whileElementsMountedCleanup = undefined;\n }\n }\n\n function attach() {\n cleanup();\n\n if (whileElementsMountedOption === undefined) {\n update();\n return;\n }\n\n if (referenceElement.value != null && floatingElement.value != null) {\n whileElementsMountedCleanup = whileElementsMountedOption(\n referenceElement.value,\n floatingElement.value,\n update\n );\n return;\n }\n }\n\n function reset() {\n if (!openOption.value) {\n isPositioned.value = false;\n }\n }\n\n watch([middlewareOption, placementOption, strategyOption], update, {\n flush: 'sync',\n });\n watch([referenceElement, floatingElement], attach, { flush: 'sync' });\n watch(openOption, reset, { flush: 'sync' });\n\n if (getCurrentScope()) {\n onScopeDispose(cleanup);\n }\n\n return {\n x: shallowReadonly(x),\n y: shallowReadonly(y),\n strategy: shallowReadonly(strategy),\n placement: shallowReadonly(placement),\n middlewareData: shallowReadonly(middlewareData),\n isPositioned: shallowReadonly(isPositioned),\n floatingStyles,\n update,\n };\n}\n","import { offset } from '@floating-ui/dom';\n\nexport enum PopoverVariant {\n Auto = 'auto',\n Popover = 'popover',\n BottomSheet = 'bottom-sheet',\n}\n\nexport enum PopoverPlacement {\n Top = 'top',\n TopStart = 'top-start',\n TopEnd = 'top-end',\n Bottom = 'bottom',\n BottomStart = 'bottom-start',\n BottomEnd = 'bottom-end',\n Left = 'left',\n LeftStart = 'left-start',\n LeftEnd = 'left-end',\n Right = 'right',\n RightStart = 'right-start',\n RightEnd = 'right-end',\n}\n\nexport type PopoverOffset = NonNullable<Parameters<typeof offset>[0]>;\n","import { PopoverPlacement } from './props';\n\nexport const Popover: string[] = [\n // Position\n 'absolute',\n];\n\nexport const PopoverBody: string[] = [\n // Shape\n 'rounded-md',\n\n // Spacing\n 'mx-sm',\n 'my-sm',\n\n // Elevation\n 'shadow-contextual',\n 'dark:shadow-contextual-dark',\n\n // Theme\n 'theme-background-default',\n 'dark:theme-background-default-dark',\n\n 'theme-foreground-default',\n 'dark:theme-foreground-default-dark',\n];\n\nexport const PopoverBodyPlacements: Record<PopoverPlacement, string[]> = {\n [PopoverPlacement.Top]: [\n // Spacing\n 'mb-0',\n ],\n\n [PopoverPlacement.TopStart]: [\n // Spacing\n 'mb-0',\n 'ml-0',\n ],\n\n [PopoverPlacement.TopEnd]: [\n // Spacing\n 'mb-0',\n 'mr-0',\n ],\n\n [PopoverPlacement.Bottom]: [\n // Spacing\n 'mt-0',\n ],\n\n [PopoverPlacement.BottomStart]: [\n // Spacing\n 'mt-0',\n 'ml-0',\n ],\n\n [PopoverPlacement.BottomEnd]: [\n // Spacing\n 'mt-0',\n 'mr-0',\n ],\n\n [PopoverPlacement.Left]: [\n // Spacing\n 'mr-0',\n ],\n\n [PopoverPlacement.LeftStart]: [\n // Spacing\n 'mr-0',\n 'mt-0',\n ],\n\n [PopoverPlacement.LeftEnd]: [\n // Spacing\n 'mr-0',\n 'mb-0',\n ],\n\n [PopoverPlacement.Right]: [\n // Spacing\n 'ml-0',\n ],\n\n [PopoverPlacement.RightStart]: [\n // Spacing\n 'ml-0',\n 'mt-0',\n ],\n\n [PopoverPlacement.RightEnd]: [\n // Spacing\n 'ml-0',\n 'mb-0',\n ],\n};\n","import { isAncestor } from '@onereach/ui-components-common/utils';\n\nexport function isPrevented(path: Element[], trigger: Element): boolean {\n return path.some((element) => {\n const { classList } = element;\n\n if (!isAncestor(element, trigger)) {\n if (classList?.contains('or-popover-v3')) {\n return true;\n }\n\n if (classList?.contains('or-bottom-sheet-v3')) {\n return true;\n }\n\n if (classList?.contains('or-confirm-v3')) {\n return true;\n }\n }\n\n return false;\n });\n}\n","<template>\n <OrTeleport\n v-if=\"keepAlive || state === 'open'\"\n :to=\"mountTo\"\n >\n <div\n v-show=\"state === 'open'\"\n :ref=\"'containerRoot'\"\n :class=\"['contents']\"\n >\n <template v-if=\"isDesktop && variant === 'auto' || variant === 'popover'\">\n <div\n v-show=\"!isHidden\"\n v-bind=\"$attrs\"\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :style=\"floatingStyles\"\n >\n <template v-if=\"disableDefaultStyles\">\n <slot />\n </template>\n\n <template v-else>\n <div :class=\"bodyStyles\">\n <slot />\n </div>\n </template>\n </div>\n </template>\n\n <template v-if=\"isMobile && variant === 'auto' || variant === 'bottom-sheet'\">\n <OrBottomSheet\n :ref=\"'bottomSheet'\"\n v-bind=\"bottomSheetProps\"\n :is-open=\"state === 'open'\"\n @update:state=\"$event === 'open' ? open() : close()\"\n >\n <slot />\n </OrBottomSheet>\n </template>\n </div>\n </OrTeleport>\n</template>\n\n<script lang=\"ts\">\nimport { FlipOptions, HideOptions, ReferenceElement, autoUpdate, flip, hide, offset as offsetMiddleware, shift, size } from '@floating-ui/dom';\nimport { useElevation, usePopoverState, useResponsive } from '@onereach/ui-components-common/hooks';\nimport { OrBottomSheetV3 as OrBottomSheet } from '@onereach/ui-components.or-bottom-sheet-v3';\nimport { OrTeleportV3 as OrTeleport } from '@onereach/ui-components.or-teleport-v3';\nimport { MaybeElementRef, onClickOutside } from '@vueuse/core';\nimport { PropType, computed, defineComponent, ref, toRef, toRefs } from 'vue';\n\nimport { useFloating } from './hooks/useFloating';\nimport { PopoverOffset, PopoverPlacement, PopoverVariant } from './props';\nimport { Popover, PopoverBody, PopoverBodyPlacements } from './styles';\nimport { isPrevented } from './utils';\n\nexport default defineComponent({\n name: 'OrPopover',\n\n components: {\n OrBottomSheet,\n OrTeleport,\n },\n\n inheritAttrs: false,\n\n props: {\n // @workaround for Vue 2\n customStyles: {\n type: Array as PropType<string[]>,\n default: () => [],\n },\n\n isOpen: {\n type: Boolean,\n default: false,\n },\n\n variant: {\n type: String as PropType<`${PopoverVariant}`>,\n default: () => PopoverVariant.Auto,\n },\n\n bottomSheetProps: {\n type: Object as PropType<InstanceType<typeof OrBottomSheet>['$props']>,\n default: undefined,\n },\n\n trigger: {\n type: Object as PropType<ReferenceElement>,\n default: undefined,\n },\n\n placement: {\n type: String as PropType<`${PopoverPlacement}`>,\n default: () => PopoverPlacement.Bottom,\n },\n\n fallbackPlacement: {\n type: String as PropType<FlipOptions['fallbackAxisSideDirection']>,\n default: 'end',\n },\n\n hideOptions: {\n type: Object as PropType<HideOptions>,\n default: undefined,\n },\n\n offset: {\n type: [Number, Object, Function] as PropType<PopoverOffset>,\n default: 8,\n },\n\n fullWidth: {\n type: Boolean,\n default: false,\n },\n\n disableDefaultStyles: {\n type: Boolean,\n default: false,\n },\n\n keepAlive: {\n type: Boolean,\n default: true,\n },\n\n mountTo: {\n type: [String, Object],\n default: 'body',\n },\n },\n\n emits: [\n 'update:state',\n\n 'open',\n 'close',\n ],\n\n expose: [\n 'root',\n 'containerRoot',\n\n 'state',\n\n 'isFlipped',\n 'isHidden',\n\n 'open',\n 'close',\n 'toggle',\n\n 'bottomSheet',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLElement>();\n const containerRoot = ref<HTMLElement>();\n\n const bottomSheet = ref<InstanceType<typeof OrBottomSheet>>();\n const bottomSheetRoot = computed(() => bottomSheet.value?.root);\n\n const { trigger, placement, offset, fullWidth, hideOptions } = toRefs(props);\n\n const isFlipped = computed(() => computedPlacement.value !== placement.value);\n const isHidden = computed(() => Boolean(middlewareData.value.hide?.referenceHidden));\n\n // Styles\n const rootStyles = computed(() => [\n 'or-popover-v3',\n ...Popover,\n ...'class' in context.attrs ? [] : props.customStyles,\n ]);\n\n const bodyStyles = computed(() => [\n ...PopoverBody,\n ...PopoverBodyPlacements[computedPlacement.value],\n ]);\n\n // State\n const { state, open, close, toggle } = usePopoverState(toRef(props, 'isOpen'), context.emit);\n\n const { floatingStyles, middlewareData, placement: computedPlacement } = useFloating(trigger, root, {\n placement,\n\n middleware: [\n offsetMiddleware(offset.value),\n shift(),\n flip(() => ({ fallbackAxisSideDirection: props.fallbackPlacement })),\n hide(hideOptions.value),\n\n size({\n apply({ rects, elements }) {\n if (fullWidth.value) {\n Object.assign(elements.floating.style, {\n width: `${rects.reference.width}px`,\n });\n }\n },\n }),\n ],\n\n whileElementsMounted(...args) {\n return autoUpdate(...args, { animationFrame: true });\n },\n });\n\n // Helpers\n const { isDesktop, isMobile } = useResponsive(containerRoot);\n\n // #region Elevation\n useElevation(root, state);\n // #endregion\n\n // #region Click Outside\n onClickOutside(root, (event) => {\n if (state.value === 'open' && !isPrevented(event.composedPath() as Element[], props.trigger as Element)) {\n close();\n }\n }, {\n ignore: [trigger as MaybeElementRef],\n });\n // #endregion\n\n return {\n root,\n containerRoot,\n bottomSheet,\n bottomSheetRoot,\n rootStyles,\n bodyStyles,\n floatingStyles,\n state,\n isFlipped,\n isHidden,\n isDesktop,\n isMobile,\n open,\n close,\n toggle,\n };\n },\n});\n</script>\n"],"names":["roundByDPR","element","value","dpr","getDPR","unwrapElement","useFloating","reference","floating","options","whileElementsMountedOption","openOption","computed","unref","middlewareOption","placementOption","strategyOption","transformOption","referenceElement","floatingElement","x","ref","y","strategy","placement","middlewareData","shallowRef","isPositioned","floatingStyles","initialStyles","xVal","yVal","whileElementsMountedCleanup","update","computePosition","position","cleanup","attach","reset","watch","getCurrentScope","onScopeDispose","shallowReadonly","PopoverVariant","PopoverPlacement","Popover","PopoverBody","PopoverBodyPlacements","isPrevented","path","trigger","classList","isAncestor","_sfc_main","defineComponent","OrBottomSheet","OrTeleport","props","context","root","containerRoot","bottomSheet","bottomSheetRoot","_a","offset","fullWidth","hideOptions","toRefs","isFlipped","computedPlacement","isHidden","rootStyles","bodyStyles","state","open","close","toggle","usePopoverState","toRef","offsetMiddleware","shift","flip","hide","size","rects","elements","args","autoUpdate","isDesktop","isMobile","useResponsive","useElevation","onClickOutside","event","_hoisted_1","_resolveComponent","_createBlock","_component_OrTeleport","_withCtx","_withDirectives","_createElementVNode","_ctx","_openBlock","_createElementBlock","_mergeProps","_renderSlot","_normalizeClass","_createCommentVNode","_component_OrBottomSheet","_cache","$event"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useProxyModelValue as ce } from "@onereach/ui-components-common/hooks";
|
|
2
|
-
import { a, S as k } from "./OrSlider.vue_vue_type_script_lang-
|
|
2
|
+
import { a, S as k } from "./OrSlider.vue_vue_type_script_lang-Cvq1k3Fl.mjs";
|
|
3
3
|
import { defineComponent as me, ref as h, computed as i, toRef as ve, watch as P, resolveComponent as he, openBlock as S, createElementBlock as H, normalizeClass as m, createElementVNode as b, normalizeStyle as C, createVNode as J, mergeProps as K, withCtx as $, renderSlot as D, createTextVNode as F, toDisplayString as E, Fragment as Q, renderList as U, createCommentVNode as ge } from "vue";
|
|
4
|
-
import { O as be } from "./OrTooltip-
|
|
4
|
+
import { O as be } from "./OrTooltip-C1irMeH3.mjs";
|
|
5
5
|
import { useElementBounding as ke, useElementHover as w, useDraggable as fe, clamp as g } from "@vueuse/core";
|
|
6
6
|
import { _ as ye } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
|
|
7
7
|
const Ve = [
|
|
@@ -685,4 +685,4 @@ const _e = /* @__PURE__ */ ye(Ne, [["render", Ge]]);
|
|
|
685
685
|
export {
|
|
686
686
|
_e as O
|
|
687
687
|
};
|
|
688
|
-
//# sourceMappingURL=OrRangeSlider-
|
|
688
|
+
//# sourceMappingURL=OrRangeSlider-BJc26Yln.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrRangeSlider-Cxhafo9S.mjs","sources":["../../../components/or-range-slider-v3/src/styles.ts","../../../components/or-range-slider-v3/src/OrRangeSlider.vue"],"sourcesContent":["import { SliderColor, SliderOrientation } from '@onereach/ui-components.or-slider-v3';\n\nexport const RangeSlider: string[] = [\n // Interactivity\n 'interactivity-default',\n];\n\nexport const RangeSliderOrientations: Record<SliderOrientation, string[]> = {\n [SliderOrientation.Horizontal]: [\n // Layout\n 'layout-column',\n\n // Box\n 'w-full',\n ],\n\n [SliderOrientation.HorizontalReversed]: [\n // Layout\n 'layout-column',\n\n // Box\n 'w-full',\n ],\n\n [SliderOrientation.Vertical]: [\n // Layout\n 'layout-row',\n\n // Box\n 'h-full',\n ],\n\n [SliderOrientation.VerticalReversed]: [\n // Layout\n 'layout-row',\n\n // Box\n 'h-full',\n ],\n};\n\nexport const RangeSliderRail: string[] = [\n // Position\n 'relative',\n\n // Interactivity\n 'interactivity-click',\n\n // Shape\n 'rounded-full',\n\n // Theme\n 'theme-background-disabled',\n 'dark:theme-background-disabled-dark',\n];\n\nexport const RangeSliderRailOrientations: Record<SliderOrientation, string[]> = {\n [SliderOrientation.Horizontal]: [\n // Layout\n 'layout-row',\n\n // Box\n 'w-full',\n 'h-xs',\n\n // Spacing\n 'mx-0',\n 'my-md+',\n ],\n\n [SliderOrientation.HorizontalReversed]: [\n // Layout\n 'layout-row-reverse',\n\n // Box\n 'w-full',\n 'h-xs',\n\n // Spacing\n 'mx-0',\n 'my-md+',\n ],\n\n [SliderOrientation.Vertical]: [\n // Layout\n 'layout-column-reverse items-center',\n\n // Box\n 'w-xs',\n 'h-full',\n\n // Spacing\n 'mx-md+',\n 'my-0',\n ],\n\n [SliderOrientation.VerticalReversed]: [\n // Layout\n 'layout-column items-center',\n\n // Box\n 'w-xs',\n 'h-full',\n\n // Spacing\n 'mx-md+',\n 'my-0',\n ],\n};\n\nexport const RangeSliderOffset: string[] = [];\n\nexport const RangeSliderOffsetOrientations: Record<SliderOrientation, string[]> = {\n [SliderOrientation.Horizontal]: [\n // Box\n 'h-full',\n ],\n\n [SliderOrientation.HorizontalReversed]: [\n // Box\n 'h-full',\n ],\n\n [SliderOrientation.Vertical]: [\n // Box\n 'w-full',\n ],\n\n [SliderOrientation.VerticalReversed]: [\n // Box\n 'w-full',\n ],\n};\n\nexport const RangeSliderTrack: string[] = [\n // Shape\n 'rounded-full',\n\n // Box\n 'w-full',\n 'h-full',\n];\n\nexport const RangeSliderTrackColors: Record<SliderColor, string[]> = {\n [SliderColor.Primary]: [\n // Theme\n 'theme-background-primary',\n 'dark:theme-background-primary-dark',\n ],\n\n [SliderColor.Secondary]: [\n // Theme\n 'theme-background-secondary',\n 'dark:theme-background-secondary-dark',\n ],\n};\n\nexport const RangeSliderThumb: string[] = [\n // Layout\n 'shrink-0',\n\n // Position\n 'z-10',\n\n // Shape\n 'rounded-full',\n\n // Box\n 'w-[20px]',\n 'h-[20px]',\n\n // Spacing\n '-mx-[10px]',\n '-my-[10px]',\n\n // Theme\n 'theme-background-base',\n 'dark:theme-background-base-dark',\n];\n\nexport const RangeSliderThumbColors: Record<SliderColor, string[]> = {\n [SliderColor.Primary]: [\n // Theme\n 'theme-border-primary border-4',\n 'dark:theme-border-primary-dark',\n\n // Theme (hover)\n 'hover:theme-background-primary',\n 'dark:hover:theme-background-primary-dark',\n\n // Theme (active)\n 'active:theme-background-primary',\n 'dark:active:theme-background-primary-dark',\n\n 'active:theme-outline-primary active:outline-10',\n 'dark:active:theme-outline-primary-dark',\n ],\n\n [SliderColor.Secondary]: [\n // Theme\n 'theme-border-secondary border-4',\n 'dark:theme-border-secondary-dark',\n\n // Theme (hover)\n 'hover:theme-background-secondary',\n 'dark:hover:theme-background-secondary-dark',\n\n // Theme (active)\n 'active:theme-background-secondary',\n 'dark:active:theme-background-secondary-dark',\n\n 'active:theme-outline-secondary active:outline-10',\n 'dark:active:theme-outline-secondary-dark',\n ],\n};\n\nexport const RangeSliderBreakpointMark: string[] = [\n // Position\n 'absolute',\n\n // Shape\n 'rounded-full',\n\n // Box\n 'w-[2px]',\n 'h-[2px]',\n\n // Spacing\n '-mx-[1px]',\n '-my-[1px]',\n];\n\nexport const RangeSliderBreakpointMarkColors: Record<SliderColor, string[]> = {\n [SliderColor.Primary]: [\n // Theme\n 'theme-background-primary',\n 'dark:theme-background-primary-dark',\n\n // Theme (activated)\n 'activated:theme-background-primary-container',\n 'dark:activated:theme-background-primary-container-dark',\n\n // Theme (disabled)\n 'disabled:!bg-on-disabled',\n 'dark:disabled:!bg-on-disabled-dark',\n ],\n\n [SliderColor.Secondary]: [\n // Theme\n 'theme-background-secondary',\n 'dark:theme-background-secondary-dark',\n\n // Theme (activated)\n 'activated:theme-background-secondary-container',\n 'dark:activated:theme-background-secondary-container-dark',\n\n // Theme (disabled)\n 'disabled:!bg-on-disabled',\n 'dark:disabled:!bg-on-disabled-dark',\n ],\n};\n\nexport const RangeSliderLabel: string[] = [\n // Position\n 'relative',\n];\n\nexport const RangeSliderLabelOrientations: Record<SliderOrientation, string[]> = {\n [SliderOrientation.Horizontal]: [\n // Layout\n 'layout-row',\n\n // Box\n 'w-full',\n ],\n\n [SliderOrientation.HorizontalReversed]: [\n // Layout\n 'layout-row-reverse',\n\n // Box\n 'w-full',\n ],\n\n [SliderOrientation.Vertical]: [\n // Layout\n 'layout-column-reverse items-center',\n\n // Box\n 'h-full',\n ],\n\n [SliderOrientation.VerticalReversed]: [\n // Layout\n 'layout-column items-center',\n\n // Box\n 'h-full',\n ],\n};\n\nexport const RangeSliderLabelMark: string[] = [\n // Position\n 'absolute',\n\n // Interactivity\n 'interactivity-click',\n\n // Typography\n 'typography-caption-regular whitespace-nowrap',\n\n // Theme\n 'theme-foreground-outline',\n 'dark:theme-foreground-outline-dark',\n\n // Theme (hover)\n 'hover:theme-foreground-default',\n 'dark:hover:theme-foreground-default-dark',\n];\n\nexport const RangeSliderLabelMarkOrientations: Record<SliderOrientation, string[]> = {\n [SliderOrientation.Horizontal]: [\n // Position\n '-translate-x-1/2',\n 'translate-y-1/2',\n ],\n\n [SliderOrientation.HorizontalReversed]: [\n // Position\n 'translate-x-1/2',\n 'translate-y-1/2',\n ],\n\n [SliderOrientation.Vertical]: [\n // Position\n 'translate-x-1/2',\n 'translate-y-1/2',\n ],\n\n [SliderOrientation.VerticalReversed]: [\n // Position\n 'translate-x-1/2',\n '-translate-y-1/2',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :disabled=\"disabled\"\n >\n <div\n :ref=\"'rail'\"\n :class=\"railStyles\"\n :disabled=\"disabled\"\n >\n <div\n :ref=\"'offset'\"\n :class=\"offsetStyles\"\n :style=\"offsetInlineStyles\"\n :disabled=\"disabled\"\n />\n\n <OrTooltip\n :is-open=\"(!isDragging && (isHoveringRail || isHoveringThumbFrom)) || (isDragging && selectedControl === 'from')\"\n :placement=\"tooltipPlacement\"\n :offset=\"24\"\n :external-control=\"true\"\n v-bind=\"tooltip\"\n >\n <div\n :ref=\"'thumbFrom'\"\n :class=\"thumbStyles\"\n :disabled=\"disabled\"\n />\n\n <template v-slot:content>\n <slot\n name=\"tooltipContent\"\n :value=\"proxyModelValue[orientation.endsWith('-reversed') ? 1 : 0]\"\n >\n {{ proxyModelValue[orientation.endsWith('-reversed') ? 1 : 0] }}\n </slot>\n </template>\n </OrTooltip>\n\n <div\n :ref=\"'track'\"\n :class=\"trackStyles\"\n :style=\"trackInlineStyles\"\n :disabled=\"disabled\"\n />\n\n <OrTooltip\n :is-open=\"(!isDragging && (isHoveringRail || isHoveringThumbTo)) || (isDragging && selectedControl === 'to')\"\n :placement=\"tooltipPlacement\"\n :offset=\"24\"\n :external-control=\"true\"\n v-bind=\"tooltip\"\n >\n <div\n :ref=\"'thumbTo'\"\n :class=\"thumbStyles\"\n :disabled=\"disabled\"\n />\n\n <template v-slot:content>\n <slot\n name=\"tooltipContent\"\n :value=\"proxyModelValue[orientation.endsWith('-reversed') ? 0 : 1]\"\n >\n {{ proxyModelValue[orientation.endsWith('-reversed') ? 0 : 1] }}\n </slot>\n </template>\n </OrTooltip>\n\n <div\n :ref=\"'filler'\"\n :class=\"['grow', ...offsetStyles]\"\n :disabled=\"disabled\"\n />\n\n <template v-if=\"breakpoints.length > 0\">\n <div\n v-for=\"breakpoint of [minValue, ...breakpoints, maxValue]\"\n :key=\"breakpoint\"\n :class=\"breakpointMarkStyles\"\n :style=\"getBreakpointMarkComputedStyles(breakpoint)\"\n :activated=\"breakpoint >= proxyModelValue[orientation.endsWith('-reversed') ? 1 : 0] && breakpoint <= proxyModelValue[orientation.endsWith('-reversed') ? 0 : 1]\"\n :disabled=\"disabled\"\n @mouseenter=\"highlightedBreakpoint = breakpoint\"\n @mouseleave=\"highlightedBreakpoint = undefined\"\n />\n </template>\n </div>\n\n <div :class=\"labelStyles\">\n <div\n v-for=\"breakpoint of [minValue, ...breakpoints, maxValue]\"\n :key=\"breakpoint\"\n :class=\"labelMarkStyles\"\n :style=\"getBreakpointMarkComputedStyles(breakpoint)\"\n :disabled=\"disabled\"\n :force-state=\"highlightedBreakpoint === breakpoint ? 'hover' : undefined\"\n @mouseenter=\"highlightedBreakpoint = breakpoint\"\n @mouseleave=\"highlightedBreakpoint = undefined\"\n @click=\"onClick(breakpoint)\"\n >\n <slot\n :name=\"`${breakpoint}-label`\"\n :value=\"breakpoint\"\n >\n {{ breakpoint }}\n </slot>\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { useProxyModelValue } from '@onereach/ui-components-common/hooks';\nimport { SliderColor, SliderOrientation } from '@onereach/ui-components.or-slider-v3';\nimport { OrTooltipV3 as OrTooltip } from '@onereach/ui-components.or-tooltip-v3';\nimport { Position, clamp, useDraggable, useElementBounding, useElementHover } from '@vueuse/core';\nimport { PropType, computed, defineComponent, ref, toRef, watch } from 'vue';\n\nimport * as Styles from './styles';\nimport { RangeSliderModelValue } from './types';\n\nexport default defineComponent({\n name: 'OrRangeSlider',\n\n components: {\n OrTooltip,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: undefined as unknown as PropType<RangeSliderModelValue>,\n default: undefined,\n },\n\n minValue: {\n type: Number,\n default: 0,\n },\n\n maxValue: {\n type: Number,\n default: 100,\n },\n\n step: {\n type: Number,\n default: 1,\n },\n\n breakpoints: {\n type: Array as PropType<number[]>,\n default: () => [],\n },\n\n color: {\n type: String as PropType<`${SliderColor}`>,\n default: () => SliderColor.Primary,\n },\n\n orientation: {\n type: String as PropType<`${SliderOrientation}`>,\n default: () => SliderOrientation.Horizontal,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n\n tooltip: {\n type: Object as PropType<Pick<InstanceType<typeof OrTooltip>['$props'], 'placement' | 'offset' | 'debounce'>>,\n default: undefined,\n },\n },\n\n emits: [\n 'update:modelValue',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-range-slider-v3',\n ...Styles.RangeSlider,\n ...Styles.RangeSliderOrientations[props.orientation],\n ]);\n\n const rail = ref<HTMLElement>();\n\n const railStyles = computed(() => [\n 'or-range-slider-rail-v3',\n ...Styles.RangeSliderRail,\n ...Styles.RangeSliderRailOrientations[props.orientation],\n ]);\n\n const offset = ref<HTMLElement>();\n\n const offsetStyles = computed(() => [\n ...Styles.RangeSliderOffset,\n ...Styles.RangeSliderOffsetOrientations[props.orientation],\n ]);\n\n // eslint-disable-next-line vue/return-in-computed-property\n const offsetInlineStyles = computed(() => {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.HorizontalReversed:\n return { width: `${internalModelValueFrom.value * 100}%` };\n\n case SliderOrientation.Vertical:\n case SliderOrientation.VerticalReversed:\n return { height: `${internalModelValueFrom.value * 100}%` };\n }\n });\n\n const track = ref<HTMLElement>();\n\n const trackStyles = computed(() => [\n ...Styles.RangeSliderTrack,\n ...Styles.RangeSliderTrackColors[props.color],\n ]);\n\n // eslint-disable-next-line vue/return-in-computed-property\n const trackInlineStyles = computed(() => {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.HorizontalReversed:\n return { width: `${(internalModelValueTo.value - internalModelValueFrom.value) * 100}%` };\n\n case SliderOrientation.Vertical:\n case SliderOrientation.VerticalReversed:\n return { height: `${(internalModelValueTo.value - internalModelValueFrom.value) * 100}%` };\n }\n });\n\n const filler = ref<HTMLElement>();\n\n const thumbFrom = ref<HTMLElement>();\n const thumbTo = ref<HTMLElement>();\n\n const thumbStyles = computed(() => [\n 'or-range-slider-thumb-v3',\n ...Styles.RangeSliderThumb,\n ...Styles.RangeSliderThumbColors[props.color],\n 'touch-none', // Required for proper work on mobile\n ]);\n\n const breakpointMarkStyles = computed(() => [\n ...Styles.RangeSliderBreakpointMark,\n ...Styles.RangeSliderBreakpointMarkColors[props.color],\n ]);\n\n const labelStyles = computed(() => [\n ...Styles.RangeSliderLabel,\n ...Styles.RangeSliderLabelOrientations[props.orientation],\n ]);\n\n const labelMarkStyles = computed(() => [\n ...Styles.RangeSliderLabelMark,\n ...Styles.RangeSliderLabelMarkOrientations[props.orientation],\n ]);\n\n // State\n const proxyModelValue = useProxyModelValue(toRef(props, 'modelValue'), context.emit, {\n defaultValue: computed<[number, number]>(() => [props.minValue, props.maxValue]),\n });\n\n watch(proxyModelValue, ([a, b]) => {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.Vertical:\n if (a > b) proxyModelValue.value = [b, a];\n break;\n\n case SliderOrientation.HorizontalReversed:\n case SliderOrientation.VerticalReversed:\n if (a < b) proxyModelValue.value = [b, a];\n break;\n }\n });\n\n const proxyModelValueFrom = computed({\n get: () => {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.Vertical:\n return proxyModelValue.value[0];\n\n case SliderOrientation.HorizontalReversed:\n case SliderOrientation.VerticalReversed:\n return proxyModelValue.value[1];\n }\n\n return props.minValue;\n },\n\n set: (value) => {\n const draftProxyModelValue = [value ?? props.minValue, proxyModelValue.value[1]] as [number, number];\n\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.Vertical:\n proxyModelValue.value = draftProxyModelValue;\n break;\n\n case SliderOrientation.HorizontalReversed:\n case SliderOrientation.VerticalReversed:\n proxyModelValue.value = [draftProxyModelValue[1], draftProxyModelValue[0]];\n break;\n }\n },\n });\n\n const proxyModelValueTo = computed({\n get: () => {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.Vertical:\n return proxyModelValue.value[1];\n\n case SliderOrientation.HorizontalReversed:\n case SliderOrientation.VerticalReversed:\n return proxyModelValue.value[0];\n }\n\n return props.maxValue;\n },\n\n set: (value) => {\n const draftProxyModelValue = [proxyModelValue.value[0], value ?? props.maxValue] as [number, number];\n\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.Vertical:\n proxyModelValue.value = draftProxyModelValue;\n break;\n\n case SliderOrientation.HorizontalReversed:\n case SliderOrientation.VerticalReversed:\n proxyModelValue.value = [draftProxyModelValue[1], draftProxyModelValue[0]];\n break;\n }\n },\n });\n\n const internalModelValueFrom = computed({\n get: () => (proxyModelValueFrom.value - props.minValue) / (props.maxValue - props.minValue),\n\n set: (value) => {\n const modelValue = value * (props.maxValue - props.minValue) + props.minValue;\n\n const draftProxyModelValue = [\n internalBreakpoints.value.reduce((a, b) => {\n return Math.abs(a - modelValue) < Math.abs(b - modelValue) ? a : b;\n }),\n\n internalModelValueTo.value * (props.maxValue - props.minValue) + props.minValue,\n ] as [number, number];\n\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.Vertical:\n proxyModelValue.value = draftProxyModelValue;\n break;\n\n case SliderOrientation.HorizontalReversed:\n case SliderOrientation.VerticalReversed:\n proxyModelValue.value = [draftProxyModelValue[1], draftProxyModelValue[0]];\n break;\n }\n },\n });\n\n const internalModelValueTo = computed({\n get: () => (proxyModelValueTo.value - props.minValue) / (props.maxValue - props.minValue),\n\n set: (value) => {\n const modelValue = value * (props.maxValue - props.minValue) + props.minValue;\n\n const draftProxyModelValue = [\n internalModelValueFrom.value * (props.maxValue - props.minValue) + props.minValue,\n\n internalBreakpoints.value.reduce((a, b) => {\n return Math.abs(a - modelValue) < Math.abs(b - modelValue) ? a : b;\n }),\n ] as [number, number];\n\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.Vertical:\n proxyModelValue.value = draftProxyModelValue;\n break;\n\n case SliderOrientation.HorizontalReversed:\n case SliderOrientation.VerticalReversed:\n proxyModelValue.value = [draftProxyModelValue[1], draftProxyModelValue[0]];\n break;\n }\n },\n });\n\n const internalBreakpoints = computed(() => {\n if (!props.step) {\n return [props.minValue, ...props.breakpoints, props.maxValue];\n }\n\n return Array(Math.ceil(Math.abs(props.maxValue - props.minValue) / props.step))\n .fill(undefined)\n .map((value, index) => Math.floor((props.minValue + props.step * index) * 1000) / 1000)\n .concat(...props.breakpoints, props.maxValue)\n .sort((a, b) => a - b);\n });\n\n // eslint-disable-next-line vue/return-in-computed-property\n const tooltipPlacement = computed(() => {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.HorizontalReversed:\n return 'top';\n\n case SliderOrientation.Vertical:\n case SliderOrientation.VerticalReversed:\n return 'right';\n }\n });\n\n const highlightedBreakpoint = ref<number>();\n const selectedControl = ref<'from' | 'to'>();\n\n const railBoundingBox = useElementBounding(rail);\n\n // Handlers\n function onDrag(position: Position, event: MouseEvent | PointerEvent): void {\n if (props.disabled) {\n return;\n }\n\n const totalWidth = railBoundingBox.width.value;\n const totalHeight = railBoundingBox.height.value;\n\n if (selectedControl.value === 'from') {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n internalModelValueFrom.value = clamp(event.clientX - railBoundingBox.left.value, 0, internalModelValueTo.value * totalWidth) / totalWidth;\n break;\n\n case SliderOrientation.HorizontalReversed:\n internalModelValueFrom.value = clamp(railBoundingBox.right.value - event.clientX, 0, internalModelValueTo.value * totalWidth) / totalWidth;\n break;\n\n case SliderOrientation.Vertical:\n internalModelValueFrom.value = clamp(totalHeight - (event.clientY - railBoundingBox.top.value), 0, internalModelValueTo.value * totalHeight) / totalHeight;\n break;\n\n case SliderOrientation.VerticalReversed:\n internalModelValueFrom.value = clamp(totalHeight - (railBoundingBox.bottom.value - event.clientY), 0, internalModelValueTo.value * totalHeight) / totalHeight;\n break;\n }\n } else {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n internalModelValueTo.value = clamp(event.clientX - railBoundingBox.left.value, internalModelValueFrom.value * totalWidth, totalWidth) / totalWidth;\n break;\n\n case SliderOrientation.HorizontalReversed:\n internalModelValueTo.value = clamp(railBoundingBox.right.value - event.clientX, internalModelValueFrom.value * totalWidth, totalWidth) / totalWidth;\n break;\n\n case SliderOrientation.Vertical:\n internalModelValueTo.value = clamp(totalHeight - (event.clientY - railBoundingBox.top.value), internalModelValueFrom.value * totalHeight, totalHeight) / totalHeight;\n break;\n\n case SliderOrientation.VerticalReversed:\n internalModelValueTo.value = clamp(totalHeight - (railBoundingBox.bottom.value - event.clientY), internalModelValueFrom.value * totalHeight, totalHeight) / totalHeight;\n break;\n }\n }\n }\n\n function onClick(breakpoint: number): void {\n if (selectedControl.value === 'from') {\n proxyModelValueFrom.value = breakpoint;\n selectedControl.value = 'to';\n } else {\n proxyModelValueTo.value = breakpoint;\n selectedControl.value = 'from';\n }\n }\n\n // Methods\n function getBreakpointMarkComputedStyles(breakpoint: number): Partial<CSSStyleDeclaration> | undefined {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n return { left: `${getBreakpointOffset(breakpoint) * 100}%` };\n\n case SliderOrientation.HorizontalReversed:\n return { right: `${getBreakpointOffset(breakpoint) * 100}%` };\n\n case SliderOrientation.Vertical:\n return { bottom: `${getBreakpointOffset(breakpoint) * 100}%` };\n\n case SliderOrientation.VerticalReversed:\n return { top: `${getBreakpointOffset(breakpoint) * 100}%` };\n }\n }\n\n // Helpers\n function getBreakpointOffset(breakpoint: number): number {\n return (breakpoint - props.minValue) / (props.maxValue - props.minValue);\n }\n\n // Effects\n const isHoveringOffset = useElementHover(offset);\n const isHoveringTrack = useElementHover(track);\n const isHoveringFiller = useElementHover(filler);\n\n const isHoveringRail = computed(() => {\n return isHoveringOffset.value || isHoveringTrack.value || isHoveringFiller.value;\n });\n\n const isHoveringThumbFrom = useElementHover(thumbFrom);\n const isHoveringThumbTo = useElementHover(thumbTo);\n\n const { isDragging } = useDraggable(rail, {\n onStart: (position, event) => {\n switch (event.target) {\n case thumbFrom.value:\n selectedControl.value = 'from';\n break;\n\n case thumbTo.value:\n selectedControl.value = 'to';\n break;\n\n default:\n selectedControl.value = selectedControl.value === 'from' ? 'to' : 'from';\n }\n\n onDrag(position, event);\n },\n\n onMove: onDrag,\n onEnd: onDrag,\n });\n\n // Constraints\n watch(() => props.minValue, (value) => {\n if (value >= props.maxValue) {\n throw new Error('[OrRangeSlider]: `minValue` must be lesser than `maxValue`.');\n }\n }, { immediate: true });\n\n watch(() => props.maxValue, (value) => {\n if (value <= props.minValue) {\n throw new Error('[OrRangeSlider]: `maxValue` must be greater than `minValue`.');\n }\n }, { immediate: true });\n\n return {\n root,\n rootStyles,\n\n rail,\n railStyles,\n\n offset,\n offsetStyles,\n offsetInlineStyles,\n\n track,\n trackStyles,\n trackInlineStyles,\n\n filler,\n\n thumbFrom,\n thumbTo,\n thumbStyles,\n\n breakpointMarkStyles,\n\n labelStyles,\n labelMarkStyles,\n\n proxyModelValue,\n tooltipPlacement,\n highlightedBreakpoint,\n selectedControl,\n\n onClick,\n\n getBreakpointMarkComputedStyles,\n\n isHoveringOffset,\n isHoveringTrack,\n isHoveringFiller,\n isHoveringRail,\n isHoveringThumbFrom,\n isHoveringThumbTo,\n isDragging,\n };\n },\n});\n</script>\n"],"names":["RangeSlider","RangeSliderOrientations","SliderOrientation","RangeSliderRail","RangeSliderRailOrientations","RangeSliderOffset","RangeSliderOffsetOrientations","RangeSliderTrack","RangeSliderTrackColors","SliderColor","RangeSliderThumb","RangeSliderThumbColors","RangeSliderBreakpointMark","RangeSliderBreakpointMarkColors","RangeSliderLabel","RangeSliderLabelOrientations","RangeSliderLabelMark","RangeSliderLabelMarkOrientations","_sfc_main","defineComponent","OrTooltip","props","context","root","ref","rootStyles","computed","Styles.RangeSlider","Styles.RangeSliderOrientations","rail","railStyles","Styles.RangeSliderRail","Styles.RangeSliderRailOrientations","offset","offsetStyles","Styles.RangeSliderOffset","Styles.RangeSliderOffsetOrientations","offsetInlineStyles","internalModelValueFrom","track","trackStyles","Styles.RangeSliderTrack","Styles.RangeSliderTrackColors","trackInlineStyles","internalModelValueTo","filler","thumbFrom","thumbTo","thumbStyles","Styles.RangeSliderThumb","Styles.RangeSliderThumbColors","breakpointMarkStyles","Styles.RangeSliderBreakpointMark","Styles.RangeSliderBreakpointMarkColors","labelStyles","Styles.RangeSliderLabel","Styles.RangeSliderLabelOrientations","labelMarkStyles","Styles.RangeSliderLabelMark","Styles.RangeSliderLabelMarkOrientations","proxyModelValue","useProxyModelValue","toRef","watch","a","b","proxyModelValueFrom","value","draftProxyModelValue","proxyModelValueTo","modelValue","internalBreakpoints","index","tooltipPlacement","highlightedBreakpoint","selectedControl","railBoundingBox","useElementBounding","onDrag","position","event","totalWidth","totalHeight","clamp","onClick","breakpoint","getBreakpointMarkComputedStyles","getBreakpointOffset","isHoveringOffset","useElementHover","isHoveringTrack","isHoveringFiller","isHoveringRail","isHoveringThumbFrom","isHoveringThumbTo","isDragging","useDraggable","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_normalizeStyle","_hoisted_3","_createVNode","_component_OrTooltip","_mergeProps","_withCtx","_renderSlot","_createElementVNode","_hoisted_5","_hoisted_7","_Fragment","_renderList","$event","_createCommentVNode","_hoisted_2","_cache"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OrRangeSlider-BJc26Yln.mjs","sources":["../../../components/or-range-slider-v3/src/styles.ts","../../../components/or-range-slider-v3/src/OrRangeSlider.vue"],"sourcesContent":["import { SliderColor, SliderOrientation } from '@onereach/ui-components.or-slider-v3';\n\nexport const RangeSlider: string[] = [\n // Interactivity\n 'interactivity-default',\n];\n\nexport const RangeSliderOrientations: Record<SliderOrientation, string[]> = {\n [SliderOrientation.Horizontal]: [\n // Layout\n 'layout-column',\n\n // Box\n 'w-full',\n ],\n\n [SliderOrientation.HorizontalReversed]: [\n // Layout\n 'layout-column',\n\n // Box\n 'w-full',\n ],\n\n [SliderOrientation.Vertical]: [\n // Layout\n 'layout-row',\n\n // Box\n 'h-full',\n ],\n\n [SliderOrientation.VerticalReversed]: [\n // Layout\n 'layout-row',\n\n // Box\n 'h-full',\n ],\n};\n\nexport const RangeSliderRail: string[] = [\n // Position\n 'relative',\n\n // Interactivity\n 'interactivity-click',\n\n // Shape\n 'rounded-full',\n\n // Theme\n 'theme-background-disabled',\n 'dark:theme-background-disabled-dark',\n];\n\nexport const RangeSliderRailOrientations: Record<SliderOrientation, string[]> = {\n [SliderOrientation.Horizontal]: [\n // Layout\n 'layout-row',\n\n // Box\n 'w-full',\n 'h-xs',\n\n // Spacing\n 'mx-0',\n 'my-md+',\n ],\n\n [SliderOrientation.HorizontalReversed]: [\n // Layout\n 'layout-row-reverse',\n\n // Box\n 'w-full',\n 'h-xs',\n\n // Spacing\n 'mx-0',\n 'my-md+',\n ],\n\n [SliderOrientation.Vertical]: [\n // Layout\n 'layout-column-reverse items-center',\n\n // Box\n 'w-xs',\n 'h-full',\n\n // Spacing\n 'mx-md+',\n 'my-0',\n ],\n\n [SliderOrientation.VerticalReversed]: [\n // Layout\n 'layout-column items-center',\n\n // Box\n 'w-xs',\n 'h-full',\n\n // Spacing\n 'mx-md+',\n 'my-0',\n ],\n};\n\nexport const RangeSliderOffset: string[] = [];\n\nexport const RangeSliderOffsetOrientations: Record<SliderOrientation, string[]> = {\n [SliderOrientation.Horizontal]: [\n // Box\n 'h-full',\n ],\n\n [SliderOrientation.HorizontalReversed]: [\n // Box\n 'h-full',\n ],\n\n [SliderOrientation.Vertical]: [\n // Box\n 'w-full',\n ],\n\n [SliderOrientation.VerticalReversed]: [\n // Box\n 'w-full',\n ],\n};\n\nexport const RangeSliderTrack: string[] = [\n // Shape\n 'rounded-full',\n\n // Box\n 'w-full',\n 'h-full',\n];\n\nexport const RangeSliderTrackColors: Record<SliderColor, string[]> = {\n [SliderColor.Primary]: [\n // Theme\n 'theme-background-primary',\n 'dark:theme-background-primary-dark',\n ],\n\n [SliderColor.Secondary]: [\n // Theme\n 'theme-background-secondary',\n 'dark:theme-background-secondary-dark',\n ],\n};\n\nexport const RangeSliderThumb: string[] = [\n // Layout\n 'shrink-0',\n\n // Position\n 'z-10',\n\n // Shape\n 'rounded-full',\n\n // Box\n 'w-[20px]',\n 'h-[20px]',\n\n // Spacing\n '-mx-[10px]',\n '-my-[10px]',\n\n // Theme\n 'theme-background-base',\n 'dark:theme-background-base-dark',\n];\n\nexport const RangeSliderThumbColors: Record<SliderColor, string[]> = {\n [SliderColor.Primary]: [\n // Theme\n 'theme-border-primary border-4',\n 'dark:theme-border-primary-dark',\n\n // Theme (hover)\n 'hover:theme-background-primary',\n 'dark:hover:theme-background-primary-dark',\n\n // Theme (active)\n 'active:theme-background-primary',\n 'dark:active:theme-background-primary-dark',\n\n 'active:theme-outline-primary active:outline-10',\n 'dark:active:theme-outline-primary-dark',\n ],\n\n [SliderColor.Secondary]: [\n // Theme\n 'theme-border-secondary border-4',\n 'dark:theme-border-secondary-dark',\n\n // Theme (hover)\n 'hover:theme-background-secondary',\n 'dark:hover:theme-background-secondary-dark',\n\n // Theme (active)\n 'active:theme-background-secondary',\n 'dark:active:theme-background-secondary-dark',\n\n 'active:theme-outline-secondary active:outline-10',\n 'dark:active:theme-outline-secondary-dark',\n ],\n};\n\nexport const RangeSliderBreakpointMark: string[] = [\n // Position\n 'absolute',\n\n // Shape\n 'rounded-full',\n\n // Box\n 'w-[2px]',\n 'h-[2px]',\n\n // Spacing\n '-mx-[1px]',\n '-my-[1px]',\n];\n\nexport const RangeSliderBreakpointMarkColors: Record<SliderColor, string[]> = {\n [SliderColor.Primary]: [\n // Theme\n 'theme-background-primary',\n 'dark:theme-background-primary-dark',\n\n // Theme (activated)\n 'activated:theme-background-primary-container',\n 'dark:activated:theme-background-primary-container-dark',\n\n // Theme (disabled)\n 'disabled:!bg-on-disabled',\n 'dark:disabled:!bg-on-disabled-dark',\n ],\n\n [SliderColor.Secondary]: [\n // Theme\n 'theme-background-secondary',\n 'dark:theme-background-secondary-dark',\n\n // Theme (activated)\n 'activated:theme-background-secondary-container',\n 'dark:activated:theme-background-secondary-container-dark',\n\n // Theme (disabled)\n 'disabled:!bg-on-disabled',\n 'dark:disabled:!bg-on-disabled-dark',\n ],\n};\n\nexport const RangeSliderLabel: string[] = [\n // Position\n 'relative',\n];\n\nexport const RangeSliderLabelOrientations: Record<SliderOrientation, string[]> = {\n [SliderOrientation.Horizontal]: [\n // Layout\n 'layout-row',\n\n // Box\n 'w-full',\n ],\n\n [SliderOrientation.HorizontalReversed]: [\n // Layout\n 'layout-row-reverse',\n\n // Box\n 'w-full',\n ],\n\n [SliderOrientation.Vertical]: [\n // Layout\n 'layout-column-reverse items-center',\n\n // Box\n 'h-full',\n ],\n\n [SliderOrientation.VerticalReversed]: [\n // Layout\n 'layout-column items-center',\n\n // Box\n 'h-full',\n ],\n};\n\nexport const RangeSliderLabelMark: string[] = [\n // Position\n 'absolute',\n\n // Interactivity\n 'interactivity-click',\n\n // Typography\n 'typography-caption-regular whitespace-nowrap',\n\n // Theme\n 'theme-foreground-outline',\n 'dark:theme-foreground-outline-dark',\n\n // Theme (hover)\n 'hover:theme-foreground-default',\n 'dark:hover:theme-foreground-default-dark',\n];\n\nexport const RangeSliderLabelMarkOrientations: Record<SliderOrientation, string[]> = {\n [SliderOrientation.Horizontal]: [\n // Position\n '-translate-x-1/2',\n 'translate-y-1/2',\n ],\n\n [SliderOrientation.HorizontalReversed]: [\n // Position\n 'translate-x-1/2',\n 'translate-y-1/2',\n ],\n\n [SliderOrientation.Vertical]: [\n // Position\n 'translate-x-1/2',\n 'translate-y-1/2',\n ],\n\n [SliderOrientation.VerticalReversed]: [\n // Position\n 'translate-x-1/2',\n '-translate-y-1/2',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :disabled=\"disabled\"\n >\n <div\n :ref=\"'rail'\"\n :class=\"railStyles\"\n :disabled=\"disabled\"\n >\n <div\n :ref=\"'offset'\"\n :class=\"offsetStyles\"\n :style=\"offsetInlineStyles\"\n :disabled=\"disabled\"\n />\n\n <OrTooltip\n :is-open=\"(!isDragging && (isHoveringRail || isHoveringThumbFrom)) || (isDragging && selectedControl === 'from')\"\n :placement=\"tooltipPlacement\"\n :offset=\"24\"\n :external-control=\"true\"\n v-bind=\"tooltip\"\n >\n <div\n :ref=\"'thumbFrom'\"\n :class=\"thumbStyles\"\n :disabled=\"disabled\"\n />\n\n <template v-slot:content>\n <slot\n name=\"tooltipContent\"\n :value=\"proxyModelValue[orientation.endsWith('-reversed') ? 1 : 0]\"\n >\n {{ proxyModelValue[orientation.endsWith('-reversed') ? 1 : 0] }}\n </slot>\n </template>\n </OrTooltip>\n\n <div\n :ref=\"'track'\"\n :class=\"trackStyles\"\n :style=\"trackInlineStyles\"\n :disabled=\"disabled\"\n />\n\n <OrTooltip\n :is-open=\"(!isDragging && (isHoveringRail || isHoveringThumbTo)) || (isDragging && selectedControl === 'to')\"\n :placement=\"tooltipPlacement\"\n :offset=\"24\"\n :external-control=\"true\"\n v-bind=\"tooltip\"\n >\n <div\n :ref=\"'thumbTo'\"\n :class=\"thumbStyles\"\n :disabled=\"disabled\"\n />\n\n <template v-slot:content>\n <slot\n name=\"tooltipContent\"\n :value=\"proxyModelValue[orientation.endsWith('-reversed') ? 0 : 1]\"\n >\n {{ proxyModelValue[orientation.endsWith('-reversed') ? 0 : 1] }}\n </slot>\n </template>\n </OrTooltip>\n\n <div\n :ref=\"'filler'\"\n :class=\"['grow', ...offsetStyles]\"\n :disabled=\"disabled\"\n />\n\n <template v-if=\"breakpoints.length > 0\">\n <div\n v-for=\"breakpoint of [minValue, ...breakpoints, maxValue]\"\n :key=\"breakpoint\"\n :class=\"breakpointMarkStyles\"\n :style=\"getBreakpointMarkComputedStyles(breakpoint)\"\n :activated=\"breakpoint >= proxyModelValue[orientation.endsWith('-reversed') ? 1 : 0] && breakpoint <= proxyModelValue[orientation.endsWith('-reversed') ? 0 : 1]\"\n :disabled=\"disabled\"\n @mouseenter=\"highlightedBreakpoint = breakpoint\"\n @mouseleave=\"highlightedBreakpoint = undefined\"\n />\n </template>\n </div>\n\n <div :class=\"labelStyles\">\n <div\n v-for=\"breakpoint of [minValue, ...breakpoints, maxValue]\"\n :key=\"breakpoint\"\n :class=\"labelMarkStyles\"\n :style=\"getBreakpointMarkComputedStyles(breakpoint)\"\n :disabled=\"disabled\"\n :force-state=\"highlightedBreakpoint === breakpoint ? 'hover' : undefined\"\n @mouseenter=\"highlightedBreakpoint = breakpoint\"\n @mouseleave=\"highlightedBreakpoint = undefined\"\n @click=\"onClick(breakpoint)\"\n >\n <slot\n :name=\"`${breakpoint}-label`\"\n :value=\"breakpoint\"\n >\n {{ breakpoint }}\n </slot>\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { useProxyModelValue } from '@onereach/ui-components-common/hooks';\nimport { SliderColor, SliderOrientation } from '@onereach/ui-components.or-slider-v3';\nimport { OrTooltipV3 as OrTooltip } from '@onereach/ui-components.or-tooltip-v3';\nimport { Position, clamp, useDraggable, useElementBounding, useElementHover } from '@vueuse/core';\nimport { PropType, computed, defineComponent, ref, toRef, watch } from 'vue';\n\nimport * as Styles from './styles';\nimport { RangeSliderModelValue } from './types';\n\nexport default defineComponent({\n name: 'OrRangeSlider',\n\n components: {\n OrTooltip,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: undefined as unknown as PropType<RangeSliderModelValue>,\n default: undefined,\n },\n\n minValue: {\n type: Number,\n default: 0,\n },\n\n maxValue: {\n type: Number,\n default: 100,\n },\n\n step: {\n type: Number,\n default: 1,\n },\n\n breakpoints: {\n type: Array as PropType<number[]>,\n default: () => [],\n },\n\n color: {\n type: String as PropType<`${SliderColor}`>,\n default: () => SliderColor.Primary,\n },\n\n orientation: {\n type: String as PropType<`${SliderOrientation}`>,\n default: () => SliderOrientation.Horizontal,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n\n tooltip: {\n type: Object as PropType<Pick<InstanceType<typeof OrTooltip>['$props'], 'placement' | 'offset' | 'debounce'>>,\n default: undefined,\n },\n },\n\n emits: [\n 'update:modelValue',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-range-slider-v3',\n ...Styles.RangeSlider,\n ...Styles.RangeSliderOrientations[props.orientation],\n ]);\n\n const rail = ref<HTMLElement>();\n\n const railStyles = computed(() => [\n 'or-range-slider-rail-v3',\n ...Styles.RangeSliderRail,\n ...Styles.RangeSliderRailOrientations[props.orientation],\n ]);\n\n const offset = ref<HTMLElement>();\n\n const offsetStyles = computed(() => [\n ...Styles.RangeSliderOffset,\n ...Styles.RangeSliderOffsetOrientations[props.orientation],\n ]);\n\n // eslint-disable-next-line vue/return-in-computed-property\n const offsetInlineStyles = computed(() => {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.HorizontalReversed:\n return { width: `${internalModelValueFrom.value * 100}%` };\n\n case SliderOrientation.Vertical:\n case SliderOrientation.VerticalReversed:\n return { height: `${internalModelValueFrom.value * 100}%` };\n }\n });\n\n const track = ref<HTMLElement>();\n\n const trackStyles = computed(() => [\n ...Styles.RangeSliderTrack,\n ...Styles.RangeSliderTrackColors[props.color],\n ]);\n\n // eslint-disable-next-line vue/return-in-computed-property\n const trackInlineStyles = computed(() => {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.HorizontalReversed:\n return { width: `${(internalModelValueTo.value - internalModelValueFrom.value) * 100}%` };\n\n case SliderOrientation.Vertical:\n case SliderOrientation.VerticalReversed:\n return { height: `${(internalModelValueTo.value - internalModelValueFrom.value) * 100}%` };\n }\n });\n\n const filler = ref<HTMLElement>();\n\n const thumbFrom = ref<HTMLElement>();\n const thumbTo = ref<HTMLElement>();\n\n const thumbStyles = computed(() => [\n 'or-range-slider-thumb-v3',\n ...Styles.RangeSliderThumb,\n ...Styles.RangeSliderThumbColors[props.color],\n 'touch-none', // Required for proper work on mobile\n ]);\n\n const breakpointMarkStyles = computed(() => [\n ...Styles.RangeSliderBreakpointMark,\n ...Styles.RangeSliderBreakpointMarkColors[props.color],\n ]);\n\n const labelStyles = computed(() => [\n ...Styles.RangeSliderLabel,\n ...Styles.RangeSliderLabelOrientations[props.orientation],\n ]);\n\n const labelMarkStyles = computed(() => [\n ...Styles.RangeSliderLabelMark,\n ...Styles.RangeSliderLabelMarkOrientations[props.orientation],\n ]);\n\n // State\n const proxyModelValue = useProxyModelValue(toRef(props, 'modelValue'), context.emit, {\n defaultValue: computed<[number, number]>(() => [props.minValue, props.maxValue]),\n });\n\n watch(proxyModelValue, ([a, b]) => {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.Vertical:\n if (a > b) proxyModelValue.value = [b, a];\n break;\n\n case SliderOrientation.HorizontalReversed:\n case SliderOrientation.VerticalReversed:\n if (a < b) proxyModelValue.value = [b, a];\n break;\n }\n });\n\n const proxyModelValueFrom = computed({\n get: () => {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.Vertical:\n return proxyModelValue.value[0];\n\n case SliderOrientation.HorizontalReversed:\n case SliderOrientation.VerticalReversed:\n return proxyModelValue.value[1];\n }\n\n return props.minValue;\n },\n\n set: (value) => {\n const draftProxyModelValue = [value ?? props.minValue, proxyModelValue.value[1]] as [number, number];\n\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.Vertical:\n proxyModelValue.value = draftProxyModelValue;\n break;\n\n case SliderOrientation.HorizontalReversed:\n case SliderOrientation.VerticalReversed:\n proxyModelValue.value = [draftProxyModelValue[1], draftProxyModelValue[0]];\n break;\n }\n },\n });\n\n const proxyModelValueTo = computed({\n get: () => {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.Vertical:\n return proxyModelValue.value[1];\n\n case SliderOrientation.HorizontalReversed:\n case SliderOrientation.VerticalReversed:\n return proxyModelValue.value[0];\n }\n\n return props.maxValue;\n },\n\n set: (value) => {\n const draftProxyModelValue = [proxyModelValue.value[0], value ?? props.maxValue] as [number, number];\n\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.Vertical:\n proxyModelValue.value = draftProxyModelValue;\n break;\n\n case SliderOrientation.HorizontalReversed:\n case SliderOrientation.VerticalReversed:\n proxyModelValue.value = [draftProxyModelValue[1], draftProxyModelValue[0]];\n break;\n }\n },\n });\n\n const internalModelValueFrom = computed({\n get: () => (proxyModelValueFrom.value - props.minValue) / (props.maxValue - props.minValue),\n\n set: (value) => {\n const modelValue = value * (props.maxValue - props.minValue) + props.minValue;\n\n const draftProxyModelValue = [\n internalBreakpoints.value.reduce((a, b) => {\n return Math.abs(a - modelValue) < Math.abs(b - modelValue) ? a : b;\n }),\n\n internalModelValueTo.value * (props.maxValue - props.minValue) + props.minValue,\n ] as [number, number];\n\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.Vertical:\n proxyModelValue.value = draftProxyModelValue;\n break;\n\n case SliderOrientation.HorizontalReversed:\n case SliderOrientation.VerticalReversed:\n proxyModelValue.value = [draftProxyModelValue[1], draftProxyModelValue[0]];\n break;\n }\n },\n });\n\n const internalModelValueTo = computed({\n get: () => (proxyModelValueTo.value - props.minValue) / (props.maxValue - props.minValue),\n\n set: (value) => {\n const modelValue = value * (props.maxValue - props.minValue) + props.minValue;\n\n const draftProxyModelValue = [\n internalModelValueFrom.value * (props.maxValue - props.minValue) + props.minValue,\n\n internalBreakpoints.value.reduce((a, b) => {\n return Math.abs(a - modelValue) < Math.abs(b - modelValue) ? a : b;\n }),\n ] as [number, number];\n\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.Vertical:\n proxyModelValue.value = draftProxyModelValue;\n break;\n\n case SliderOrientation.HorizontalReversed:\n case SliderOrientation.VerticalReversed:\n proxyModelValue.value = [draftProxyModelValue[1], draftProxyModelValue[0]];\n break;\n }\n },\n });\n\n const internalBreakpoints = computed(() => {\n if (!props.step) {\n return [props.minValue, ...props.breakpoints, props.maxValue];\n }\n\n return Array(Math.ceil(Math.abs(props.maxValue - props.minValue) / props.step))\n .fill(undefined)\n .map((value, index) => Math.floor((props.minValue + props.step * index) * 1000) / 1000)\n .concat(...props.breakpoints, props.maxValue)\n .sort((a, b) => a - b);\n });\n\n // eslint-disable-next-line vue/return-in-computed-property\n const tooltipPlacement = computed(() => {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.HorizontalReversed:\n return 'top';\n\n case SliderOrientation.Vertical:\n case SliderOrientation.VerticalReversed:\n return 'right';\n }\n });\n\n const highlightedBreakpoint = ref<number>();\n const selectedControl = ref<'from' | 'to'>();\n\n const railBoundingBox = useElementBounding(rail);\n\n // Handlers\n function onDrag(position: Position, event: MouseEvent | PointerEvent): void {\n if (props.disabled) {\n return;\n }\n\n const totalWidth = railBoundingBox.width.value;\n const totalHeight = railBoundingBox.height.value;\n\n if (selectedControl.value === 'from') {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n internalModelValueFrom.value = clamp(event.clientX - railBoundingBox.left.value, 0, internalModelValueTo.value * totalWidth) / totalWidth;\n break;\n\n case SliderOrientation.HorizontalReversed:\n internalModelValueFrom.value = clamp(railBoundingBox.right.value - event.clientX, 0, internalModelValueTo.value * totalWidth) / totalWidth;\n break;\n\n case SliderOrientation.Vertical:\n internalModelValueFrom.value = clamp(totalHeight - (event.clientY - railBoundingBox.top.value), 0, internalModelValueTo.value * totalHeight) / totalHeight;\n break;\n\n case SliderOrientation.VerticalReversed:\n internalModelValueFrom.value = clamp(totalHeight - (railBoundingBox.bottom.value - event.clientY), 0, internalModelValueTo.value * totalHeight) / totalHeight;\n break;\n }\n } else {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n internalModelValueTo.value = clamp(event.clientX - railBoundingBox.left.value, internalModelValueFrom.value * totalWidth, totalWidth) / totalWidth;\n break;\n\n case SliderOrientation.HorizontalReversed:\n internalModelValueTo.value = clamp(railBoundingBox.right.value - event.clientX, internalModelValueFrom.value * totalWidth, totalWidth) / totalWidth;\n break;\n\n case SliderOrientation.Vertical:\n internalModelValueTo.value = clamp(totalHeight - (event.clientY - railBoundingBox.top.value), internalModelValueFrom.value * totalHeight, totalHeight) / totalHeight;\n break;\n\n case SliderOrientation.VerticalReversed:\n internalModelValueTo.value = clamp(totalHeight - (railBoundingBox.bottom.value - event.clientY), internalModelValueFrom.value * totalHeight, totalHeight) / totalHeight;\n break;\n }\n }\n }\n\n function onClick(breakpoint: number): void {\n if (selectedControl.value === 'from') {\n proxyModelValueFrom.value = breakpoint;\n selectedControl.value = 'to';\n } else {\n proxyModelValueTo.value = breakpoint;\n selectedControl.value = 'from';\n }\n }\n\n // Methods\n function getBreakpointMarkComputedStyles(breakpoint: number): Partial<CSSStyleDeclaration> | undefined {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n return { left: `${getBreakpointOffset(breakpoint) * 100}%` };\n\n case SliderOrientation.HorizontalReversed:\n return { right: `${getBreakpointOffset(breakpoint) * 100}%` };\n\n case SliderOrientation.Vertical:\n return { bottom: `${getBreakpointOffset(breakpoint) * 100}%` };\n\n case SliderOrientation.VerticalReversed:\n return { top: `${getBreakpointOffset(breakpoint) * 100}%` };\n }\n }\n\n // Helpers\n function getBreakpointOffset(breakpoint: number): number {\n return (breakpoint - props.minValue) / (props.maxValue - props.minValue);\n }\n\n // Effects\n const isHoveringOffset = useElementHover(offset);\n const isHoveringTrack = useElementHover(track);\n const isHoveringFiller = useElementHover(filler);\n\n const isHoveringRail = computed(() => {\n return isHoveringOffset.value || isHoveringTrack.value || isHoveringFiller.value;\n });\n\n const isHoveringThumbFrom = useElementHover(thumbFrom);\n const isHoveringThumbTo = useElementHover(thumbTo);\n\n const { isDragging } = useDraggable(rail, {\n onStart: (position, event) => {\n switch (event.target) {\n case thumbFrom.value:\n selectedControl.value = 'from';\n break;\n\n case thumbTo.value:\n selectedControl.value = 'to';\n break;\n\n default:\n selectedControl.value = selectedControl.value === 'from' ? 'to' : 'from';\n }\n\n onDrag(position, event);\n },\n\n onMove: onDrag,\n onEnd: onDrag,\n });\n\n // Constraints\n watch(() => props.minValue, (value) => {\n if (value >= props.maxValue) {\n throw new Error('[OrRangeSlider]: `minValue` must be lesser than `maxValue`.');\n }\n }, { immediate: true });\n\n watch(() => props.maxValue, (value) => {\n if (value <= props.minValue) {\n throw new Error('[OrRangeSlider]: `maxValue` must be greater than `minValue`.');\n }\n }, { immediate: true });\n\n return {\n root,\n rootStyles,\n\n rail,\n railStyles,\n\n offset,\n offsetStyles,\n offsetInlineStyles,\n\n track,\n trackStyles,\n trackInlineStyles,\n\n filler,\n\n thumbFrom,\n thumbTo,\n thumbStyles,\n\n breakpointMarkStyles,\n\n labelStyles,\n labelMarkStyles,\n\n proxyModelValue,\n tooltipPlacement,\n highlightedBreakpoint,\n selectedControl,\n\n onClick,\n\n getBreakpointMarkComputedStyles,\n\n isHoveringOffset,\n isHoveringTrack,\n isHoveringFiller,\n isHoveringRail,\n isHoveringThumbFrom,\n isHoveringThumbTo,\n isDragging,\n };\n },\n});\n</script>\n"],"names":["RangeSlider","RangeSliderOrientations","SliderOrientation","RangeSliderRail","RangeSliderRailOrientations","RangeSliderOffset","RangeSliderOffsetOrientations","RangeSliderTrack","RangeSliderTrackColors","SliderColor","RangeSliderThumb","RangeSliderThumbColors","RangeSliderBreakpointMark","RangeSliderBreakpointMarkColors","RangeSliderLabel","RangeSliderLabelOrientations","RangeSliderLabelMark","RangeSliderLabelMarkOrientations","_sfc_main","defineComponent","OrTooltip","props","context","root","ref","rootStyles","computed","Styles.RangeSlider","Styles.RangeSliderOrientations","rail","railStyles","Styles.RangeSliderRail","Styles.RangeSliderRailOrientations","offset","offsetStyles","Styles.RangeSliderOffset","Styles.RangeSliderOffsetOrientations","offsetInlineStyles","internalModelValueFrom","track","trackStyles","Styles.RangeSliderTrack","Styles.RangeSliderTrackColors","trackInlineStyles","internalModelValueTo","filler","thumbFrom","thumbTo","thumbStyles","Styles.RangeSliderThumb","Styles.RangeSliderThumbColors","breakpointMarkStyles","Styles.RangeSliderBreakpointMark","Styles.RangeSliderBreakpointMarkColors","labelStyles","Styles.RangeSliderLabel","Styles.RangeSliderLabelOrientations","labelMarkStyles","Styles.RangeSliderLabelMark","Styles.RangeSliderLabelMarkOrientations","proxyModelValue","useProxyModelValue","toRef","watch","a","b","proxyModelValueFrom","value","draftProxyModelValue","proxyModelValueTo","modelValue","internalBreakpoints","index","tooltipPlacement","highlightedBreakpoint","selectedControl","railBoundingBox","useElementBounding","onDrag","position","event","totalWidth","totalHeight","clamp","onClick","breakpoint","getBreakpointMarkComputedStyles","getBreakpointOffset","isHoveringOffset","useElementHover","isHoveringTrack","isHoveringFiller","isHoveringRail","isHoveringThumbFrom","isHoveringThumbTo","isDragging","useDraggable","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_normalizeStyle","_hoisted_3","_createVNode","_component_OrTooltip","_mergeProps","_withCtx","_renderSlot","_createElementVNode","_hoisted_5","_hoisted_7","_Fragment","_renderList","$event","_createCommentVNode","_hoisted_2","_cache"],"mappings":"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"}
|