@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.
Files changed (156) hide show
  1. package/dist/esm/{OrAutocomplete-DwXEt9aq.mjs → OrAutocomplete-CBRdP2nq.mjs} +7 -7
  2. package/dist/esm/{OrAutocomplete-DwXEt9aq.mjs.map → OrAutocomplete-CBRdP2nq.mjs.map} +1 -1
  3. package/dist/esm/{OrCardCollection-CQlpVaj3.mjs → OrCardCollection-BbZ6LK7u.mjs} +4 -4
  4. package/dist/esm/{OrCardCollection-CQlpVaj3.mjs.map → OrCardCollection-BbZ6LK7u.mjs.map} +1 -1
  5. package/dist/esm/{OrCode-BLHj3vA6.mjs → OrCode-lPOM5jUi.mjs} +3 -3
  6. package/dist/esm/{OrCode-BLHj3vA6.mjs.map → OrCode-lPOM5jUi.mjs.map} +1 -1
  7. package/dist/esm/{OrConfirm-CeXBV1NK.mjs → OrConfirm-8BhHytgC.mjs} +2 -2
  8. package/dist/esm/{OrConfirm-CeXBV1NK.mjs.map → OrConfirm-8BhHytgC.mjs.map} +1 -1
  9. package/dist/esm/{OrContextMenu-BJ4R2qpI.mjs → OrContextMenu-DbobyKfr.mjs} +3 -3
  10. package/dist/esm/{OrContextMenu-BJ4R2qpI.mjs.map → OrContextMenu-DbobyKfr.mjs.map} +1 -1
  11. package/dist/esm/{OrDataGrid-Dm8ZScw0.mjs → OrDataGrid-Dn7SH3ao.mjs} +12 -12
  12. package/dist/esm/{OrDataGrid-Dm8ZScw0.mjs.map → OrDataGrid-Dn7SH3ao.mjs.map} +1 -1
  13. package/dist/esm/{OrDateFormat-_-6suqsj.mjs → OrDateFormat-BPHCutkX.mjs} +2 -2
  14. package/dist/esm/{OrDateFormat-_-6suqsj.mjs.map → OrDateFormat-BPHCutkX.mjs.map} +1 -1
  15. package/dist/esm/{OrDatePicker-B9vB0AaR.mjs → OrDatePicker-HfL0EPki.mjs} +4 -4
  16. package/dist/esm/{OrDatePicker-B9vB0AaR.mjs.map → OrDatePicker-HfL0EPki.mjs.map} +1 -1
  17. package/dist/esm/{OrDateRangePicker-BTvKPVUF.mjs → OrDateRangePicker-CmOyj7qw.mjs} +4 -4
  18. package/dist/esm/{OrDateRangePicker-BTvKPVUF.mjs.map → OrDateRangePicker-CmOyj7qw.mjs.map} +1 -1
  19. package/dist/esm/{OrDateTimeFormat-DkjdbG7g.mjs → OrDateTimeFormat-YwOyEU_Q.mjs} +2 -2
  20. package/dist/esm/{OrDateTimeFormat-DkjdbG7g.mjs.map → OrDateTimeFormat-YwOyEU_Q.mjs.map} +1 -1
  21. package/dist/esm/{OrDateTimePicker-CXGn2f51.mjs → OrDateTimePicker-BmjS7XoQ.mjs} +2 -2
  22. package/dist/esm/{OrDateTimePicker-CXGn2f51.mjs.map → OrDateTimePicker-BmjS7XoQ.mjs.map} +1 -1
  23. package/dist/esm/{OrDateTimePicker.vue_vue_type_script_lang-e2w0L4cX.mjs → OrDateTimePicker.vue_vue_type_script_lang-BmmxaCUz.mjs} +5 -5
  24. package/dist/esm/{OrDateTimePicker.vue_vue_type_script_lang-e2w0L4cX.mjs.map → OrDateTimePicker.vue_vue_type_script_lang-BmmxaCUz.mjs.map} +1 -1
  25. package/dist/esm/{OrEditorTabs-Ri22rDUK.mjs → OrEditorTabs-Fbkgg0FQ.mjs} +4 -4
  26. package/dist/esm/{OrEditorTabs-Ri22rDUK.mjs.map → OrEditorTabs-Fbkgg0FQ.mjs.map} +1 -1
  27. package/dist/esm/{OrFilter-CYD-gDsX.mjs → OrFilter-BtcGMpKJ.mjs} +3 -3
  28. package/dist/esm/{OrFilter-CYD-gDsX.mjs.map → OrFilter-BtcGMpKJ.mjs.map} +1 -1
  29. package/dist/esm/{OrFilterPopover-DXO-6y8a.mjs → OrFilterPopover-CwAK7ocY.mjs} +3 -3
  30. package/dist/esm/{OrFilterPopover-DXO-6y8a.mjs.map → OrFilterPopover-CwAK7ocY.mjs.map} +1 -1
  31. package/dist/esm/{OrFilterTrigger-BNVaoHrT.mjs → OrFilterTrigger-DOK7F00h.mjs} +2 -2
  32. package/dist/esm/{OrFilterTrigger-BNVaoHrT.mjs.map → OrFilterTrigger-DOK7F00h.mjs.map} +1 -1
  33. package/dist/esm/{OrIconButton-Ds8k8FmS.mjs → OrIconButton-cKIMQQFK.mjs} +2 -2
  34. package/dist/esm/{OrIconButton-Ds8k8FmS.mjs.map → OrIconButton-cKIMQQFK.mjs.map} +1 -1
  35. package/dist/esm/{OrInlineInput-DqyLMsXq.mjs → OrInlineInput-je6TxRyr.mjs} +2 -2
  36. package/dist/esm/{OrInlineInput-DqyLMsXq.mjs.map → OrInlineInput-je6TxRyr.mjs.map} +1 -1
  37. package/dist/esm/{OrInlineTextarea-DVi6ZAsn.mjs → OrInlineTextarea-Bwe19SA7.mjs} +2 -2
  38. package/dist/esm/{OrInlineTextarea-DVi6ZAsn.mjs.map → OrInlineTextarea-Bwe19SA7.mjs.map} +1 -1
  39. package/dist/esm/{OrInput-CxGhwo0q.mjs → OrInput-CjEgq_je.mjs} +2 -2
  40. package/dist/esm/{OrInput-CxGhwo0q.mjs.map → OrInput-CjEgq_je.mjs.map} +1 -1
  41. package/dist/esm/{OrList-B2rj_Y5Z.mjs → OrList-BT_yB_51.mjs} +2 -2
  42. package/dist/esm/{OrList-B2rj_Y5Z.mjs.map → OrList-BT_yB_51.mjs.map} +1 -1
  43. package/dist/esm/{OrMenu-Cag_fBXC.mjs → OrMenu-BHbQffig.mjs} +2 -2
  44. package/dist/esm/{OrMenu-Cag_fBXC.mjs.map → OrMenu-BHbQffig.mjs.map} +1 -1
  45. package/dist/esm/{OrMenuItem-VyCCXA7Z.mjs → OrMenuItem-mSImr-QP.mjs} +3 -3
  46. package/dist/esm/{OrMenuItem-VyCCXA7Z.mjs.map → OrMenuItem-mSImr-QP.mjs.map} +1 -1
  47. package/dist/esm/{OrModal-DiVA7_Ct.mjs → OrModal-CQNMRUUt.mjs} +2 -2
  48. package/dist/esm/{OrModal-DiVA7_Ct.mjs.map → OrModal-CQNMRUUt.mjs.map} +1 -1
  49. package/dist/esm/{OrNotification-BkjmRseb.mjs → OrNotification-CakEH2ks.mjs} +2 -2
  50. package/dist/esm/{OrNotification-BkjmRseb.mjs.map → OrNotification-CakEH2ks.mjs.map} +1 -1
  51. package/dist/esm/{OrPagination-BXzDa-Su.mjs → OrPagination-CcEFgzYG.mjs} +3 -3
  52. package/dist/esm/{OrPagination-BXzDa-Su.mjs.map → OrPagination-CcEFgzYG.mjs.map} +1 -1
  53. package/dist/esm/{OrPopover-GBPJ4IDN.mjs → OrPopover-D0DVLoD2.mjs} +85 -78
  54. package/dist/esm/OrPopover-D0DVLoD2.mjs.map +1 -0
  55. package/dist/esm/{OrRangeSlider-Cxhafo9S.mjs → OrRangeSlider-BJc26Yln.mjs} +3 -3
  56. package/dist/esm/{OrRangeSlider-Cxhafo9S.mjs.map → OrRangeSlider-BJc26Yln.mjs.map} +1 -1
  57. package/dist/esm/{OrResizeablePanel-D62tzOxs.mjs → OrResizeablePanel-D1jXCw1B.mjs} +2 -2
  58. package/dist/esm/{OrResizeablePanel-D62tzOxs.mjs.map → OrResizeablePanel-D1jXCw1B.mjs.map} +1 -1
  59. package/dist/esm/{OrRichTextEditor-zb1kQ0es.mjs → OrRichTextEditor-ihaDwY3p.mjs} +7 -7
  60. package/dist/esm/{OrRichTextEditor-zb1kQ0es.mjs.map → OrRichTextEditor-ihaDwY3p.mjs.map} +1 -1
  61. package/dist/esm/{OrRichTooltip-8ybIdsqK.mjs → OrRichTooltip-DVUiOZ4o.mjs} +2 -2
  62. package/dist/esm/{OrRichTooltip-8ybIdsqK.mjs.map → OrRichTooltip-DVUiOZ4o.mjs.map} +1 -1
  63. package/dist/esm/{OrSearch-B_YGTJN8.mjs → OrSearch-BfR7IOXS.mjs} +2 -2
  64. package/dist/esm/{OrSearch-B_YGTJN8.mjs.map → OrSearch-BfR7IOXS.mjs.map} +1 -1
  65. package/dist/esm/{OrSelect-BXBDdzDF.mjs → OrSelect-Bon12YFA.mjs} +7 -7
  66. package/dist/esm/{OrSelect-BXBDdzDF.mjs.map → OrSelect-Bon12YFA.mjs.map} +1 -1
  67. package/dist/esm/{OrSlider-CD78-muf.mjs → OrSlider-B3MxInSN.mjs} +2 -2
  68. package/dist/esm/{OrSlider-CD78-muf.mjs.map → OrSlider-B3MxInSN.mjs.map} +1 -1
  69. package/dist/esm/{OrSlider.vue_vue_type_script_lang-B6ozamjR.mjs → OrSlider.vue_vue_type_script_lang-Cvq1k3Fl.mjs} +2 -2
  70. package/dist/esm/{OrSlider.vue_vue_type_script_lang-B6ozamjR.mjs.map → OrSlider.vue_vue_type_script_lang-Cvq1k3Fl.mjs.map} +1 -1
  71. package/dist/esm/{OrSorting-DdcXOjvm.mjs → OrSorting-Cdq_Ombg.mjs} +3 -3
  72. package/dist/esm/{OrSorting-DdcXOjvm.mjs.map → OrSorting-Cdq_Ombg.mjs.map} +1 -1
  73. package/dist/esm/{OrSubMenuItem-BmyJYNuS.mjs → OrSubMenuItem-BJTbCLw_.mjs} +4 -4
  74. package/dist/esm/{OrSubMenuItem-BmyJYNuS.mjs.map → OrSubMenuItem-BJTbCLw_.mjs.map} +1 -1
  75. package/dist/esm/{OrTabs-Bko0Tbsg.mjs → OrTabs-CIFeibSb.mjs} +3 -3
  76. package/dist/esm/{OrTabs-Bko0Tbsg.mjs.map → OrTabs-CIFeibSb.mjs.map} +1 -1
  77. package/dist/esm/{OrTag-CJLBRVMd.mjs → OrTag-BjLFFzTo.mjs} +2 -2
  78. package/dist/esm/{OrTag-CJLBRVMd.mjs.map → OrTag-BjLFFzTo.mjs.map} +1 -1
  79. package/dist/esm/{OrTagInput-B2U22gXE.mjs → OrTagInput-B8sejaPB.mjs} +4 -4
  80. package/dist/esm/{OrTagInput-B2U22gXE.mjs.map → OrTagInput-B8sejaPB.mjs.map} +1 -1
  81. package/dist/esm/{OrTags-dP8zjvgS.mjs → OrTags-CAwjsaNo.mjs} +3 -3
  82. package/dist/esm/{OrTags-dP8zjvgS.mjs.map → OrTags-CAwjsaNo.mjs.map} +1 -1
  83. package/dist/esm/{OrTimeFormat-Dxx8GX2k.mjs → OrTimeFormat-C2uRGeET.mjs} +2 -2
  84. package/dist/esm/{OrTimeFormat-Dxx8GX2k.mjs.map → OrTimeFormat-C2uRGeET.mjs.map} +1 -1
  85. package/dist/esm/{OrTimePicker-D-mTb4Ia.mjs → OrTimePicker-DefTwLtK.mjs} +4 -4
  86. package/dist/esm/{OrTimePicker-D-mTb4Ia.mjs.map → OrTimePicker-DefTwLtK.mjs.map} +1 -1
  87. package/dist/esm/{OrTimeRangePicker-B5Q-lkU8.mjs → OrTimeRangePicker-C2qapFiJ.mjs} +4 -4
  88. package/dist/esm/{OrTimeRangePicker-B5Q-lkU8.mjs.map → OrTimeRangePicker-C2qapFiJ.mjs.map} +1 -1
  89. package/dist/esm/{OrTooltip-BCrAH95l.mjs → OrTooltip-C1irMeH3.mjs} +2 -2
  90. package/dist/esm/{OrTooltip-BCrAH95l.mjs.map → OrTooltip-C1irMeH3.mjs.map} +1 -1
  91. package/dist/esm/components/index.mjs +47 -47
  92. package/dist/esm/components/or-autocomplete-v3/index.mjs +1 -1
  93. package/dist/esm/components/or-card-collection-v3/index.mjs +1 -1
  94. package/dist/esm/components/or-code-v3/index.mjs +1 -1
  95. package/dist/esm/components/or-confirm-v3/index.mjs +1 -1
  96. package/dist/esm/components/or-context-menu-v3/index.mjs +1 -1
  97. package/dist/esm/components/or-data-grid-v3/index.mjs +1 -1
  98. package/dist/esm/components/or-date-format-v3/index.mjs +1 -1
  99. package/dist/esm/components/or-date-picker-v3/index.mjs +1 -1
  100. package/dist/esm/components/or-date-range-picker-v3/index.mjs +1 -1
  101. package/dist/esm/components/or-date-time-format-v3/index.mjs +1 -1
  102. package/dist/esm/components/or-date-time-picker-v3/index.mjs +2 -2
  103. package/dist/esm/components/or-editor-tabs-v3/index.mjs +1 -1
  104. package/dist/esm/components/or-filter-popover-v3/index.mjs +1 -1
  105. package/dist/esm/components/or-filter-trigger-v3/index.mjs +1 -1
  106. package/dist/esm/components/or-filter-v3/index.mjs +1 -1
  107. package/dist/esm/components/or-icon-button-v3/index.mjs +1 -1
  108. package/dist/esm/components/or-inline-input-v3/index.mjs +1 -1
  109. package/dist/esm/components/or-inline-textarea-v3/index.mjs +1 -1
  110. package/dist/esm/components/or-input-v3/index.mjs +1 -1
  111. package/dist/esm/components/or-list-v3/index.mjs +1 -1
  112. package/dist/esm/components/or-menu-item-v3/index.mjs +1 -1
  113. package/dist/esm/components/or-menu-v3/index.mjs +1 -1
  114. package/dist/esm/components/or-modal-v3/index.mjs +1 -1
  115. package/dist/esm/components/or-notification-v3/index.mjs +1 -1
  116. package/dist/esm/components/or-pagination-v3/index.mjs +1 -1
  117. package/dist/esm/components/or-popover-v3/index.mjs +1 -1
  118. package/dist/esm/components/or-range-slider-v3/index.mjs +1 -1
  119. package/dist/esm/components/or-resizeable-panel-v3/index.mjs +1 -1
  120. package/dist/esm/components/or-rich-text-editor-v3/index.mjs +1 -1
  121. package/dist/esm/components/or-rich-tooltip-v3/index.mjs +1 -1
  122. package/dist/esm/components/or-search-v3/index.mjs +1 -1
  123. package/dist/esm/components/or-select-v3/index.mjs +1 -1
  124. package/dist/esm/components/or-sidebar-v3/index.mjs +1 -1
  125. package/dist/esm/components/or-slider-v3/index.mjs +2 -2
  126. package/dist/esm/components/or-sorting-v3/index.mjs +1 -1
  127. package/dist/esm/components/or-sub-menu-item-v3/index.mjs +1 -1
  128. package/dist/esm/components/or-tabs-v3/index.mjs +1 -1
  129. package/dist/esm/components/or-tag-input-v3/index.mjs +1 -1
  130. package/dist/esm/components/or-tag-v3/index.mjs +1 -1
  131. package/dist/esm/components/or-tags-v3/index.mjs +1 -1
  132. package/dist/esm/components/or-time-format-v3/index.mjs +1 -1
  133. package/dist/esm/components/or-time-picker-v3/index.mjs +1 -1
  134. package/dist/esm/components/or-time-range-picker-v3/index.mjs +1 -1
  135. package/dist/esm/components/or-toast-v3/index.mjs +1 -1
  136. package/dist/esm/components/or-tooltip-v3/index.mjs +1 -1
  137. package/dist/esm/index.mjs +47 -47
  138. package/dist/esm/{props-kE89gx5m.mjs → props-BA4dd9XI.mjs} +2 -2
  139. package/dist/esm/{props-kE89gx5m.mjs.map → props-BA4dd9XI.mjs.map} +1 -1
  140. package/dist/esm/{types-B5xGdMJQ.mjs → types-CyCeR1t_.mjs} +2 -2
  141. package/dist/esm/{types-B5xGdMJQ.mjs.map → types-CyCeR1t_.mjs.map} +1 -1
  142. package/dist/types/components/or-autocomplete-v3/OrAutocomplete.vue.d.ts +90 -0
  143. package/dist/types/components/or-date-picker-v3/OrDatePicker.vue.d.ts +10 -0
  144. package/dist/types/components/or-date-range-picker-v3/OrDateRangePicker.vue.d.ts +10 -0
  145. package/dist/types/components/or-date-time-picker-v3/OrDateTimePicker.vue.d.ts +20 -0
  146. package/dist/types/components/or-popover-v3/OrPopover.vue.d.ts +9 -0
  147. package/dist/types/components/or-rich-text-editor-v3/OrRichTextEditor.vue.d.ts +10 -0
  148. package/dist/types/components/or-rich-tooltip-v3/OrRichTooltip.vue.d.ts +10 -0
  149. package/dist/types/components/or-select-v3/OrSelect.vue.d.ts +50 -0
  150. package/dist/types/components/or-select-v3/partials/or-select-multiple-control/OrSelectMultipleControl.vue.d.ts +20 -0
  151. package/dist/types/components/or-tag-input-v3/OrTagInput.vue.d.ts +20 -0
  152. package/dist/types/components/or-tags-v3/OrTags.vue.d.ts +10 -0
  153. package/dist/types/components/or-time-picker-v3/OrTimePicker.vue.d.ts +10 -0
  154. package/dist/types/components/or-time-range-picker-v3/OrTimeRangePicker.vue.d.ts +10 -0
  155. package/package.json +4 -5
  156. 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 ee, useResponsive as te, useElevation as oe } from "@onereach/ui-components-common/hooks";
3
- import { O as ne } from "./OrBottomSheet-DQ83BBtJ.mjs";
4
- import { O as ae } from "./OrTeleport.vue3-C9kW_8PS.mjs";
5
- import { onClickOutside as re } from "@vueuse/core";
6
- import { computed as r, unref as B, ref as f, shallowRef as le, watch as M, getCurrentScope as se, onScopeDispose as ie, shallowReadonly as g, defineComponent as ue, toRefs as de, toRef as fe, resolveComponent as H, openBlock as T, createBlock as N, withCtx as V, withDirectives as z, createElementVNode as me, createElementBlock as U, mergeProps as W, renderSlot as j, normalizeClass as I, vShow as L, createCommentVNode as F } from "vue";
7
- import { isAncestor as pe } from "@onereach/ui-components-common/utils";
8
- import { _ as ce } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
9
- function q(e, l) {
10
- const t = J(e);
11
- return Math.round(l * t) / t;
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(e) {
14
- return typeof window > "u" ? 1 : (e.ownerDocument.defaultView || window).devicePixelRatio || 1;
13
+ function J(t) {
14
+ return typeof window > "u" ? 1 : (t.ownerDocument.defaultView || window).devicePixelRatio || 1;
15
15
  }
16
- function G(e) {
17
- return (e == null ? void 0 : e.$el) ?? e;
16
+ function G(t) {
17
+ return (t == null ? void 0 : t.$el) ?? t;
18
18
  }
19
- function ve(e, l, t = {}) {
20
- const o = t.whileElementsMounted, p = r(() => B(t.open) ?? !0), S = r(() => B(t.middleware)), u = r(() => B(t.placement) ?? "bottom"), d = r(() => B(t.strategy) ?? "absolute"), b = r(() => B(t.transform) ?? !0), m = r(() => G(e.value)), s = r(() => G(l.value)), w = f(0), O = f(0), c = f(d.value), E = f(u.value), v = le({}), k = f(!1), R = r(() => {
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), C = q(s.value, O.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, ${C}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: `${C}px`
36
+ top: `${T}px`
37
37
  };
38
38
  });
39
- let h;
40
- function y() {
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 h == "function" && (h(), h = void 0);
50
+ typeof y == "function" && (y(), y = void 0);
51
51
  }
52
52
  function D() {
53
53
  if ($(), o === void 0) {
54
- y();
54
+ h();
55
55
  return;
56
56
  }
57
57
  if (m.value != null && s.value != null) {
58
- h = o(
58
+ y = o(
59
59
  m.value,
60
60
  s.value,
61
- y
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], y, {
69
+ return M([S, u, d], h, {
70
70
  flush: "sync"
71
- }), M([m, s], D, { flush: "sync" }), M(p, A, { flush: "sync" }), se() && ie($), {
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: y
79
+ update: h
80
80
  };
81
81
  }
82
- var K = /* @__PURE__ */ ((e) => (e.Auto = "auto", e.Popover = "popover", e.BottomSheet = "bottom-sheet", e))(K || {}), a = /* @__PURE__ */ ((e) => (e.Top = "top", e.TopStart = "top-start", e.TopEnd = "top-end", e.Bottom = "bottom", e.BottomStart = "bottom-start", e.BottomEnd = "bottom-end", e.Left = "left", e.LeftStart = "left-start", e.LeftEnd = "left-end", e.Right = "right", e.RightStart = "right-start", e.RightEnd = "right-end", e))(a || {});
83
- const he = [
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
- ], ye = [
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
- ], ge = {
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 Se(e, l) {
159
- return e.some((t) => {
160
- const { classList: o } = t;
161
- return !!(!pe(t, l) && (o != null && o.contains("or-popover-v3") || o != null && o.contains("or-bottom-sheet-v3") || o != null && o.contains("or-confirm-v3")));
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 be = ue({
164
+ const bt = ut({
165
165
  name: "OrPopover",
166
166
  components: {
167
- OrBottomSheet: ne,
168
- OrTeleport: ae
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(e, l) {
239
- const t = f(), o = f(), p = f(), S = r(() => {
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 } = de(e), w = r(() => D.value !== d.value), O = r(() => {
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
- ...he,
248
- ..."class" in l.attrs ? [] : e.customStyles
251
+ ...yt,
252
+ ..."class" in l.attrs ? [] : t.customStyles
249
253
  ]), E = r(() => [
250
- ...ye,
251
- ...ge[D.value]
252
- ]), { state: v, open: k, close: R, toggle: h } = ee(fe(e, "isOpen"), l.emit), { floatingStyles: y, middlewareData: $, placement: D } = ve(u, t, {
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: e.fallbackPlacement })),
261
+ Z(() => ({ fallbackAxisSideDirection: t.fallbackPlacement })),
258
262
  P(s.value),
259
263
  x({
260
- apply({ rects: n, elements: C }) {
261
- m.value && Object.assign(C.floating.style, {
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 } = te(o);
271
- return oe(t, v), re(t, (n) => {
272
- v.value === "open" && !Se(n.composedPath(), e.trigger) && R();
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: t,
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: y,
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: h
294
+ toggle: y
291
295
  };
292
296
  }
293
- }), we = {
297
+ }), wt = {
294
298
  ref: "containerRoot",
295
299
  class: /* @__PURE__ */ I(["contents"])
296
300
  };
297
- function Oe(e, l, t, o, p, S) {
301
+ function Ot(t, l, e, o, p, S) {
298
302
  const u = H("OrBottomSheet"), d = H("OrTeleport");
299
- return e.keepAlive || e.state === "open" ? (T(), N(d, { key: 0 }, {
303
+ return t.keepAlive || t.state === "open" ? (C(), N(d, {
304
+ key: 0,
305
+ to: t.mountTo
306
+ }, {
300
307
  default: V(() => [
301
- z(me("div", we, [
302
- e.isDesktop && e.variant === "auto" || e.variant === "popover" ? z((T(), U("div", W({ key: 0 }, e.$attrs, {
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: e.rootStyles,
305
- style: e.floatingStyles
311
+ class: t.rootStyles,
312
+ style: t.floatingStyles
306
313
  }), [
307
- e.disableDefaultStyles ? j(e.$slots, "default", { key: 0 }) : (T(), U("div", {
314
+ t.disableDefaultStyles ? j(t.$slots, "default", { key: 0 }) : (C(), U("div", {
308
315
  key: 1,
309
- class: I(e.bodyStyles)
316
+ class: I(t.bodyStyles)
310
317
  }, [
311
- j(e.$slots, "default")
318
+ j(t.$slots, "default")
312
319
  ], 2))
313
320
  ], 16)), [
314
- [L, !e.isHidden]
321
+ [L, !t.isHidden]
315
322
  ]) : F("", !0),
316
- e.isMobile && e.variant === "auto" || e.variant === "bottom-sheet" ? (T(), N(u, W({
323
+ t.isMobile && t.variant === "auto" || t.variant === "bottom-sheet" ? (C(), N(u, W({
317
324
  key: 1,
318
325
  ref: "bottomSheet"
319
- }, e.bottomSheetProps, {
320
- "is-open": e.state === "open",
321
- "onUpdate:state": l[0] || (l[0] = (b) => b === "open" ? e.open() : e.close())
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(e.$slots, "default")
331
+ j(t.$slots, "default")
325
332
  ]),
326
333
  _: 3
327
334
  }, 16, ["is-open"])) : F("", !0)
328
335
  ], 512), [
329
- [L, e.state === "open"]
336
+ [L, t.state === "open"]
330
337
  ])
331
338
  ]),
332
339
  _: 3
333
- })) : F("", !0);
340
+ }, 8, ["to"])) : F("", !0);
334
341
  }
335
- const Ae = /* @__PURE__ */ ce(be, [["render", Oe]]);
342
+ const At = /* @__PURE__ */ ct(bt, [["render", Ot]]);
336
343
  export {
337
- Ae as O,
344
+ At as O,
338
345
  K as P,
339
346
  a,
340
- Se as i
347
+ St as i
341
348
  };
342
- //# sourceMappingURL=OrPopover-GBPJ4IDN.mjs.map
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-B6ozamjR.mjs";
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-BCrAH95l.mjs";
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-Cxhafo9S.mjs.map
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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"}