zudoku 0.34.4 → 0.35.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 (124) hide show
  1. package/dist/config/config.d.ts +13 -8
  2. package/dist/config/validators/common.d.ts +977 -111
  3. package/dist/config/validators/common.js +26 -1
  4. package/dist/config/validators/common.js.map +1 -1
  5. package/dist/config/validators/validate.d.ts +357 -42
  6. package/dist/lib/authentication/providers/clerk.d.ts +2 -2
  7. package/dist/lib/authentication/providers/supabase.d.ts +4 -0
  8. package/dist/lib/authentication/providers/supabase.js +112 -0
  9. package/dist/lib/authentication/providers/supabase.js.map +1 -0
  10. package/dist/lib/components/Header.js +3 -3
  11. package/dist/lib/components/Header.js.map +1 -1
  12. package/dist/lib/components/InlineCode.js +1 -1
  13. package/dist/lib/components/InlineCode.js.map +1 -1
  14. package/dist/lib/components/Layout.js +4 -10
  15. package/dist/lib/components/Layout.js.map +1 -1
  16. package/dist/lib/components/Main.d.ts +2 -0
  17. package/dist/lib/components/Main.js +15 -0
  18. package/dist/lib/components/Main.js.map +1 -0
  19. package/dist/lib/components/context/ViewportAnchorContext.d.ts +2 -4
  20. package/dist/lib/components/context/ViewportAnchorContext.js +2 -4
  21. package/dist/lib/components/context/ViewportAnchorContext.js.map +1 -1
  22. package/dist/lib/components/index.d.ts +2 -1
  23. package/dist/lib/components/navigation/Sidebar.d.ts +3 -1
  24. package/dist/lib/components/navigation/Sidebar.js +2 -4
  25. package/dist/lib/components/navigation/Sidebar.js.map +1 -1
  26. package/dist/lib/components/navigation/SidebarWrapper.d.ts +8 -6
  27. package/dist/lib/components/navigation/SidebarWrapper.js +1 -2
  28. package/dist/lib/components/navigation/SidebarWrapper.js.map +1 -1
  29. package/dist/lib/core/RouteGuard.js +2 -1
  30. package/dist/lib/core/RouteGuard.js.map +1 -1
  31. package/dist/lib/oas/graphql/index.js +34 -0
  32. package/dist/lib/oas/graphql/index.js.map +1 -1
  33. package/dist/lib/plugins/markdown/MdxPage.d.ts +1 -1
  34. package/dist/lib/plugins/markdown/MdxPage.js +1 -1
  35. package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
  36. package/dist/lib/plugins/openapi/OperationList.js +2 -1
  37. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  38. package/dist/lib/plugins/openapi/Sidecar.js +9 -4
  39. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  40. package/dist/lib/plugins/openapi/SimpleSelect.js +1 -1
  41. package/dist/lib/plugins/openapi/SimpleSelect.js.map +1 -1
  42. package/dist/lib/plugins/openapi/graphql/gql.d.ts +1 -1
  43. package/dist/lib/plugins/openapi/graphql/gql.js +1 -1
  44. package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -1
  45. package/dist/lib/plugins/openapi/graphql/graphql.d.ts +6 -0
  46. package/dist/lib/plugins/openapi/graphql/graphql.js +2 -0
  47. package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -1
  48. package/dist/lib/plugins/openapi/index.d.ts +1 -1
  49. package/dist/lib/plugins/openapi/index.js +8 -8
  50. package/dist/lib/plugins/openapi/index.js.map +1 -1
  51. package/dist/lib/plugins/openapi/interfaces.d.ts +7 -10
  52. package/dist/lib/ui/Callout.d.ts +2 -1
  53. package/dist/lib/ui/Callout.js +3 -2
  54. package/dist/lib/ui/Callout.js.map +1 -1
  55. package/dist/lib/util/MdxComponents.d.ts +2 -1
  56. package/dist/vite/plugin-api.js +5 -9
  57. package/dist/vite/plugin-api.js.map +1 -1
  58. package/lib/{Callout-B_sEhkYd.js → Callout-B2vsR09t.js} +70 -52
  59. package/lib/{Callout-B_sEhkYd.js.map → Callout-B2vsR09t.js.map} +1 -1
  60. package/lib/Drawer-kDAfOq_2.js +1133 -0
  61. package/lib/Drawer-kDAfOq_2.js.map +1 -0
  62. package/lib/{Markdown-DZXjQjpH.js → Markdown-D1Y3cd9l.js} +4471 -3315
  63. package/lib/Markdown-D1Y3cd9l.js.map +1 -0
  64. package/lib/{MdxPage-52vRwa_7.js → MdxPage-CUL_SQzW.js} +9 -9
  65. package/lib/MdxPage-CUL_SQzW.js.map +1 -0
  66. package/lib/{OasProvider-CDyf845G.js → OasProvider-DEL8ulKm.js} +2 -2
  67. package/lib/{OasProvider-CDyf845G.js.map → OasProvider-DEL8ulKm.js.map} +1 -1
  68. package/lib/{OperationList-DdCWaqeE.js → OperationList-D6goKbzX.js} +179 -179
  69. package/lib/OperationList-D6goKbzX.js.map +1 -0
  70. package/lib/{SlotletProvider-TydSHROc.js → SlotletProvider-iDmNlxD5.js} +2 -2
  71. package/lib/{SlotletProvider-TydSHROc.js.map → SlotletProvider-iDmNlxD5.js.map} +1 -1
  72. package/lib/{createServer-DmusVVsi.js → createServer-BNBGpbLa.js} +1764 -1734
  73. package/lib/{createServer-DmusVVsi.js.map → createServer-BNBGpbLa.js.map} +1 -1
  74. package/lib/{index-BO-sA1cw.js → index-PKytqmuw.js} +348 -346
  75. package/lib/index-PKytqmuw.js.map +1 -0
  76. package/lib/prism-bash.min-HHIMdNJ_.js.map +1 -1
  77. package/lib/prism-csharp.min-bQAo2pmx.js.map +1 -1
  78. package/lib/prism-java.min-BpvsOuIa.js.map +1 -1
  79. package/lib/prism-javascript.min-CEqHqgbm.js.map +1 -1
  80. package/lib/prism-json.min-B1GJqK1k.js.map +1 -1
  81. package/lib/prism-markdown.min-C0Qn0m-5.js.map +1 -1
  82. package/lib/prism-markup-BNGj0Tvm.js.map +1 -1
  83. package/lib/prism-objectivec.min-BXSWqpJJ.js.map +1 -1
  84. package/lib/prism-ruby.min-Dx9KO9ds.js.map +1 -1
  85. package/lib/prism-typescript.min-CD7H2IYQ.js.map +1 -1
  86. package/lib/ui/Callout.js +39 -21
  87. package/lib/ui/Callout.js.map +1 -1
  88. package/lib/ui/Drawer.js +14 -1129
  89. package/lib/ui/Drawer.js.map +1 -1
  90. package/lib/zudoku.auth-clerk.js.map +1 -1
  91. package/lib/zudoku.components.js +675 -621
  92. package/lib/zudoku.components.js.map +1 -1
  93. package/lib/zudoku.plugin-api-catalog.js +1 -1
  94. package/lib/zudoku.plugin-api-keys.js +1 -1
  95. package/lib/zudoku.plugin-custom-pages.js +1 -1
  96. package/lib/zudoku.plugin-markdown.js +1 -1
  97. package/lib/zudoku.plugin-openapi.js +1 -1
  98. package/lib/zudoku.plugin-search-pagefind.js +1 -1
  99. package/package.json +11 -6
  100. package/src/app/main.css +5 -3
  101. package/src/lib/authentication/providers/clerk.tsx +2 -2
  102. package/src/lib/authentication/providers/supabase.tsx +151 -0
  103. package/src/lib/components/Header.tsx +10 -6
  104. package/src/lib/components/InlineCode.tsx +1 -1
  105. package/src/lib/components/Layout.tsx +5 -40
  106. package/src/lib/components/Main.tsx +47 -0
  107. package/src/lib/components/context/ViewportAnchorContext.tsx +3 -9
  108. package/src/lib/components/navigation/Sidebar.tsx +7 -9
  109. package/src/lib/components/navigation/SidebarWrapper.tsx +13 -15
  110. package/src/lib/core/RouteGuard.tsx +2 -1
  111. package/src/lib/oas/graphql/index.ts +35 -0
  112. package/src/lib/plugins/markdown/MdxPage.tsx +2 -2
  113. package/src/lib/plugins/openapi/OperationList.tsx +3 -2
  114. package/src/lib/plugins/openapi/Sidecar.tsx +11 -4
  115. package/src/lib/plugins/openapi/SimpleSelect.tsx +1 -1
  116. package/src/lib/plugins/openapi/graphql/gql.ts +3 -3
  117. package/src/lib/plugins/openapi/graphql/graphql.ts +8 -0
  118. package/src/lib/plugins/openapi/index.tsx +10 -11
  119. package/src/lib/plugins/openapi/interfaces.ts +11 -15
  120. package/src/lib/ui/Callout.tsx +28 -10
  121. package/lib/Markdown-DZXjQjpH.js.map +0 -1
  122. package/lib/MdxPage-52vRwa_7.js.map +0 -1
  123. package/lib/OperationList-DdCWaqeE.js.map +0 -1
  124. package/lib/index-BO-sA1cw.js.map +0 -1
package/lib/ui/Drawer.js CHANGED
@@ -1,1132 +1,17 @@
1
- import { j as X } from "../jsx-runtime-CYK1ROHF.js";
2
- import * as mt from "react";
3
- import r, { useMemo as ye, useLayoutEffect as be, useEffect as Se } from "react";
4
- import * as Z from "@radix-ui/react-dialog";
5
- import { c as ot } from "../cn-qaFjX9_3.js";
6
- function Te(t) {
7
- if (typeof document > "u") return;
8
- let n = document.head || document.getElementsByTagName("head")[0], e = document.createElement("style");
9
- e.type = "text/css", n.appendChild(e), e.styleSheet ? e.styleSheet.cssText = t : e.appendChild(document.createTextNode(t));
10
- }
11
- const qt = r.createContext({
12
- drawerRef: {
13
- current: null
14
- },
15
- overlayRef: {
16
- current: null
17
- },
18
- onPress: () => {
19
- },
20
- onRelease: () => {
21
- },
22
- onDrag: () => {
23
- },
24
- onNestedDrag: () => {
25
- },
26
- onNestedOpenChange: () => {
27
- },
28
- onNestedRelease: () => {
29
- },
30
- openProp: void 0,
31
- dismissible: !1,
32
- isOpen: !1,
33
- isDragging: !1,
34
- keyboardIsOpen: {
35
- current: !1
36
- },
37
- snapPointsOffset: null,
38
- snapPoints: null,
39
- handleOnly: !1,
40
- modal: !1,
41
- shouldFade: !1,
42
- activeSnapPoint: null,
43
- onOpenChange: () => {
44
- },
45
- setActiveSnapPoint: () => {
46
- },
47
- closeDrawer: () => {
48
- },
49
- direction: "bottom",
50
- shouldAnimate: {
51
- current: !0
52
- },
53
- shouldScaleBackground: !1,
54
- setBackgroundColorOnScale: !0,
55
- noBodyStyles: !1,
56
- container: null,
57
- autoFocus: !1
58
- }), pt = () => {
59
- const t = r.useContext(qt);
60
- if (!t)
61
- throw new Error("useDrawerContext must be used within a Drawer.Root");
62
- return t;
63
- };
64
- Te(`[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32, .72, 0, 1);animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--initial-transform,100%),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--initial-transform,100%),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-animate=false]{animation:none!important}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:0;transition:opacity .5s cubic-bezier(.32, .72, 0, 1)}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:1}[data-vaul-drawer]:not([data-vaul-custom-container=true])::after{content:'';position:absolute;background:inherit;background-color:inherit}[data-vaul-drawer][data-vaul-drawer-direction=top]::after{top:initial;bottom:100%;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=bottom]::after{top:100%;bottom:initial;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=left]::after{left:initial;right:100%;top:0;bottom:0;width:200%}[data-vaul-drawer][data-vaul-drawer-direction=right]::after{left:100%;right:initial;top:0;bottom:0;width:200%}[data-vaul-overlay][data-vaul-snap-points=true]:not([data-vaul-snap-points-overlay=true]):not(
65
- [data-state=closed]
66
- ){opacity:0}[data-vaul-overlay][data-vaul-snap-points-overlay=true]{opacity:1}[data-vaul-handle]{display:block;position:relative;opacity:.7;background:#e2e2e4;margin-left:auto;margin-right:auto;height:5px;width:32px;border-radius:1rem;touch-action:pan-y}[data-vaul-handle]:active,[data-vaul-handle]:hover{opacity:1}[data-vaul-handle-hitarea]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,2.75rem);height:max(100%,2.75rem);touch-action:inherit}@media (hover:hover) and (pointer:fine){[data-vaul-drawer]{user-select:none}}@media (pointer:fine){[data-vaul-handle-hitarea]:{width:100%;height:100%}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes slideFromBottom{from{transform:translate3d(0,var(--initial-transform,100%),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToBottom{to{transform:translate3d(0,var(--initial-transform,100%),0)}}@keyframes slideFromTop{from{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToTop{to{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}}@keyframes slideFromLeft{from{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToLeft{to{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}}@keyframes slideFromRight{from{transform:translate3d(var(--initial-transform,100%),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToRight{to{transform:translate3d(var(--initial-transform,100%),0,0)}}`);
67
- function De() {
68
- const t = navigator.userAgent;
69
- return typeof window < "u" && (/Firefox/.test(t) && /Mobile/.test(t) || // Android Firefox
70
- /FxiOS/.test(t));
71
- }
72
- function Re() {
73
- return Nt(/^Mac/);
74
- }
75
- function Ee() {
76
- return Nt(/^iPhone/);
77
- }
78
- function Wt() {
79
- return /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
80
- }
81
- function xe() {
82
- return Nt(/^iPad/) || // iPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support.
83
- Re() && navigator.maxTouchPoints > 1;
84
- }
85
- function Xt() {
86
- return Ee() || xe();
87
- }
88
- function Nt(t) {
89
- return typeof window < "u" && window.navigator != null ? t.test(window.navigator.platform) : void 0;
90
- }
91
- const Oe = 24, Ce = typeof window < "u" ? be : Se;
92
- function zt(...t) {
93
- return (...n) => {
94
- for (let e of t)
95
- typeof e == "function" && e(...n);
96
- };
97
- }
98
- const xt = typeof document < "u" && window.visualViewport;
99
- function Vt(t) {
100
- let n = window.getComputedStyle(t);
101
- return /(auto|scroll)/.test(n.overflow + n.overflowX + n.overflowY);
102
- }
103
- function Kt(t) {
104
- for (Vt(t) && (t = t.parentElement); t && !Vt(t); )
105
- t = t.parentElement;
106
- return t || document.scrollingElement || document.documentElement;
107
- }
108
- const $e = /* @__PURE__ */ new Set([
109
- "checkbox",
110
- "radio",
111
- "range",
112
- "color",
113
- "file",
114
- "image",
115
- "button",
116
- "submit",
117
- "reset"
118
- ]);
119
- let vt = 0, Ot;
120
- function Ae(t = {}) {
121
- let { isDisabled: n } = t;
122
- Ce(() => {
123
- if (!n)
124
- return vt++, vt === 1 && Xt() && (Ot = Me()), () => {
125
- vt--, vt === 0 && (Ot == null || Ot());
126
- };
127
- }, [
128
- n
129
- ]);
130
- }
131
- function Me() {
132
- let t, n = 0, e = (f) => {
133
- t = Kt(f.target), !(t === document.documentElement && t === document.body) && (n = f.changedTouches[0].pageY);
134
- }, a = (f) => {
135
- if (!t || t === document.documentElement || t === document.body) {
136
- f.preventDefault();
137
- return;
138
- }
139
- let m = f.changedTouches[0].pageY, B = t.scrollTop, k = t.scrollHeight - t.clientHeight;
140
- k !== 0 && ((B <= 0 && m > n || B >= k && m < n) && f.preventDefault(), n = m);
141
- }, i = (f) => {
142
- let m = f.target;
143
- At(m) && m !== document.activeElement && (f.preventDefault(), m.style.transform = "translateY(-2000px)", m.focus(), requestAnimationFrame(() => {
144
- m.style.transform = "";
145
- }));
146
- }, o = (f) => {
147
- let m = f.target;
148
- At(m) && (m.style.transform = "translateY(-2000px)", requestAnimationFrame(() => {
149
- m.style.transform = "", xt && (xt.height < window.innerHeight ? requestAnimationFrame(() => {
150
- Yt(m);
151
- }) : xt.addEventListener("resize", () => Yt(m), {
152
- once: !0
153
- }));
154
- }));
155
- }, v = () => {
156
- window.scrollTo(0, 0);
157
- }, w = window.pageXOffset, T = window.pageYOffset, R = zt(Ne(document.documentElement, "paddingRight", `${window.innerWidth - document.documentElement.clientWidth}px`));
158
- window.scrollTo(0, 0);
159
- let h = zt(dt(document, "touchstart", e, {
160
- passive: !1,
161
- capture: !0
162
- }), dt(document, "touchmove", a, {
163
- passive: !1,
164
- capture: !0
165
- }), dt(document, "touchend", i, {
166
- passive: !1,
167
- capture: !0
168
- }), dt(document, "focus", o, !0), dt(window, "scroll", v));
169
- return () => {
170
- R(), h(), window.scrollTo(w, T);
171
- };
172
- }
173
- function Ne(t, n, e) {
174
- let a = t.style[n];
175
- return t.style[n] = e, () => {
176
- t.style[n] = a;
177
- };
178
- }
179
- function dt(t, n, e, a) {
180
- return t.addEventListener(n, e, a), () => {
181
- t.removeEventListener(n, e, a);
182
- };
183
- }
184
- function Yt(t) {
185
- let n = document.scrollingElement || document.documentElement;
186
- for (; t && t !== n; ) {
187
- let e = Kt(t);
188
- if (e !== document.documentElement && e !== document.body && e !== t) {
189
- let a = e.getBoundingClientRect().top, i = t.getBoundingClientRect().top, o = t.getBoundingClientRect().bottom;
190
- const v = e.getBoundingClientRect().bottom + Oe;
191
- o > v && (e.scrollTop += i - a);
192
- }
193
- t = e.parentElement;
194
- }
195
- }
196
- function At(t) {
197
- return t instanceof HTMLInputElement && !$e.has(t.type) || t instanceof HTMLTextAreaElement || t instanceof HTMLElement && t.isContentEditable;
198
- }
199
- function Pe(t, n) {
200
- typeof t == "function" ? t(n) : t != null && (t.current = n);
201
- }
202
- function Ie(...t) {
203
- return (n) => t.forEach((e) => Pe(e, n));
204
- }
205
- function Gt(...t) {
206
- return mt.useCallback(Ie(...t), t);
207
- }
208
- const Jt = /* @__PURE__ */ new WeakMap();
209
- function $(t, n, e = !1) {
210
- if (!t || !(t instanceof HTMLElement)) return;
211
- let a = {};
212
- Object.entries(n).forEach(([i, o]) => {
213
- if (i.startsWith("--")) {
214
- t.style.setProperty(i, o);
215
- return;
216
- }
217
- a[i] = t.style[i], t.style[i] = o;
218
- }), !e && Jt.set(t, a);
219
- }
220
- function _e(t, n) {
221
- if (!t || !(t instanceof HTMLElement)) return;
222
- let e = Jt.get(t);
223
- e && (t.style[n] = e[n]);
224
- }
225
- const C = (t) => {
226
- switch (t) {
227
- case "top":
228
- case "bottom":
229
- return !0;
230
- case "left":
231
- case "right":
232
- return !1;
233
- default:
234
- return t;
235
- }
236
- };
237
- function yt(t, n) {
238
- if (!t)
239
- return null;
240
- const e = window.getComputedStyle(t), a = (
241
- // @ts-ignore
242
- e.transform || e.webkitTransform || e.mozTransform
243
- );
244
- let i = a.match(/^matrix3d\((.+)\)$/);
245
- return i ? parseFloat(i[1].split(", ")[C(n) ? 13 : 12]) : (i = a.match(/^matrix\((.+)\)$/), i ? parseFloat(i[1].split(", ")[C(n) ? 5 : 4]) : null);
246
- }
247
- function He(t) {
248
- return 8 * (Math.log(t + 1) - 2);
249
- }
250
- function Ct(t, n) {
251
- if (!t) return () => {
252
- };
253
- const e = t.style.cssText;
254
- return Object.assign(t.style, n), () => {
255
- t.style.cssText = e;
256
- };
257
- }
258
- function ke(...t) {
259
- return (...n) => {
260
- for (const e of t)
261
- typeof e == "function" && e(...n);
262
- };
263
- }
264
- const x = {
265
- DURATION: 0.5,
266
- EASE: [
267
- 0.32,
268
- 0.72,
269
- 0,
270
- 1
271
- ]
272
- }, Qt = 0.4, Le = 0.25, Be = 100, Zt = 8, bt = 16, Mt = 26, $t = "vaul-dragging";
273
- function te(t) {
274
- const n = r.useRef(t);
275
- return r.useEffect(() => {
276
- n.current = t;
277
- }), r.useMemo(() => (...e) => n.current == null ? void 0 : n.current.call(n, ...e), []);
278
- }
279
- function Fe({ defaultProp: t, onChange: n }) {
280
- const e = r.useState(t), [a] = e, i = r.useRef(a), o = te(n);
281
- return r.useEffect(() => {
282
- i.current !== a && (o(a), i.current = a);
283
- }, [
284
- a,
285
- i,
286
- o
287
- ]), e;
288
- }
289
- function ee({ prop: t, defaultProp: n, onChange: e = () => {
290
- } }) {
291
- const [a, i] = Fe({
292
- defaultProp: n,
293
- onChange: e
294
- }), o = t !== void 0, v = o ? t : a, w = te(e), T = r.useCallback((R) => {
295
- if (o) {
296
- const f = typeof R == "function" ? R(t) : R;
297
- f !== t && w(f);
298
- } else
299
- i(R);
300
- }, [
301
- o,
302
- t,
303
- i,
304
- w
305
- ]);
306
- return [
307
- v,
308
- T
309
- ];
310
- }
311
- function Ue({ activeSnapPointProp: t, setActiveSnapPointProp: n, snapPoints: e, drawerRef: a, overlayRef: i, fadeFromIndex: o, onSnapPointChange: v, direction: w = "bottom", container: T, snapToSequentialPoint: R }) {
312
- const [h, f] = ee({
313
- prop: t,
314
- defaultProp: e == null ? void 0 : e[0],
315
- onChange: n
316
- }), [m, B] = r.useState(typeof window < "u" ? {
317
- innerWidth: window.innerWidth,
318
- innerHeight: window.innerHeight
319
- } : void 0);
320
- r.useEffect(() => {
321
- function u() {
322
- B({
323
- innerWidth: window.innerWidth,
324
- innerHeight: window.innerHeight
325
- });
326
- }
327
- return window.addEventListener("resize", u), () => window.removeEventListener("resize", u);
328
- }, []);
329
- const k = r.useMemo(() => h === (e == null ? void 0 : e[e.length - 1]) || null, [
330
- e,
331
- h
332
- ]), E = r.useMemo(() => {
333
- var u;
334
- return (u = e == null ? void 0 : e.findIndex((b) => b === h)) != null ? u : null;
335
- }, [
336
- e,
337
- h
338
- ]), F = e && e.length > 0 && (o || o === 0) && !Number.isNaN(o) && e[o] === h || !e, p = r.useMemo(() => {
339
- const u = T ? {
340
- width: T.getBoundingClientRect().width,
341
- height: T.getBoundingClientRect().height
342
- } : typeof window < "u" ? {
343
- width: window.innerWidth,
344
- height: window.innerHeight
345
- } : {
346
- width: 0,
347
- height: 0
348
- };
349
- var b;
350
- return (b = e == null ? void 0 : e.map((y) => {
351
- const I = typeof y == "string";
352
- let N = 0;
353
- if (I && (N = parseInt(y, 10)), C(w)) {
354
- const l = I ? N : m ? y * u.height : 0;
355
- return m ? w === "bottom" ? u.height - l : -u.height + l : l;
356
- }
357
- const j = I ? N : m ? y * u.width : 0;
358
- return m ? w === "right" ? u.width - j : -u.width + j : j;
359
- })) != null ? b : [];
360
- }, [
361
- e,
362
- m,
363
- T
364
- ]), M = r.useMemo(() => E !== null ? p == null ? void 0 : p[E] : null, [
365
- p,
366
- E
367
- ]), A = r.useCallback((u) => {
368
- var b;
369
- const y = (b = p == null ? void 0 : p.findIndex((I) => I === u)) != null ? b : null;
370
- v(y), $(a.current, {
371
- transition: `transform ${x.DURATION}s cubic-bezier(${x.EASE.join(",")})`,
372
- transform: C(w) ? `translate3d(0, ${u}px, 0)` : `translate3d(${u}px, 0, 0)`
373
- }), p && y !== p.length - 1 && o !== void 0 && y !== o && y < o ? $(i.current, {
374
- transition: `opacity ${x.DURATION}s cubic-bezier(${x.EASE.join(",")})`,
375
- opacity: "0"
376
- }) : $(i.current, {
377
- transition: `opacity ${x.DURATION}s cubic-bezier(${x.EASE.join(",")})`,
378
- opacity: "1"
379
- }), f(e == null ? void 0 : e[Math.max(y, 0)]);
380
- }, [
381
- a.current,
382
- e,
383
- p,
384
- o,
385
- i,
386
- f
387
- ]);
388
- r.useEffect(() => {
389
- if (h || t) {
390
- var u;
391
- const b = (u = e == null ? void 0 : e.findIndex((y) => y === t || y === h)) != null ? u : -1;
392
- p && b !== -1 && typeof p[b] == "number" && A(p[b]);
393
- }
394
- }, [
395
- h,
396
- t,
397
- e,
398
- p,
399
- A
400
- ]);
401
- function c({ draggedDistance: u, closeDrawer: b, velocity: y, dismissible: I }) {
402
- if (o === void 0) return;
403
- const N = w === "bottom" || w === "right" ? (M ?? 0) - u : (M ?? 0) + u, j = E === o - 1, l = E === 0, U = u > 0;
404
- if (j && $(i.current, {
405
- transition: `opacity ${x.DURATION}s cubic-bezier(${x.EASE.join(",")})`
406
- }), !R && y > 2 && !U) {
407
- I ? b() : A(p[0]);
408
- return;
409
- }
410
- if (!R && y > 2 && U && p && e) {
411
- A(p[e.length - 1]);
412
- return;
413
- }
414
- const _ = p == null ? void 0 : p.reduce((P, K) => typeof P != "number" || typeof K != "number" ? P : Math.abs(K - N) < Math.abs(P - N) ? K : P), W = C(w) ? window.innerHeight : window.innerWidth;
415
- if (y > Qt && Math.abs(u) < W * 0.4) {
416
- const P = U ? 1 : -1;
417
- if (P > 0 && k && e) {
418
- A(p[e.length - 1]);
419
- return;
420
- }
421
- if (l && P < 0 && I && b(), E === null) return;
422
- A(p[E + P]);
423
- return;
424
- }
425
- A(_);
426
- }
427
- function Y({ draggedDistance: u }) {
428
- if (M === null) return;
429
- const b = w === "bottom" || w === "right" ? M - u : M + u;
430
- (w === "bottom" || w === "right") && b < p[p.length - 1] || (w === "top" || w === "left") && b > p[p.length - 1] || $(a.current, {
431
- transform: C(w) ? `translate3d(0, ${b}px, 0)` : `translate3d(${b}px, 0, 0)`
432
- });
433
- }
434
- function tt(u, b) {
435
- if (!e || typeof E != "number" || !p || o === void 0) return null;
436
- const y = E === o - 1;
437
- if (E >= o && b)
438
- return 0;
439
- if (y && !b) return 1;
440
- if (!F && !y) return null;
441
- const N = y ? E + 1 : E - 1, j = y ? p[N] - p[N - 1] : p[N + 1] - p[N], l = u / Math.abs(j);
442
- return y ? 1 - l : l;
443
- }
444
- return {
445
- isLastSnapPoint: k,
446
- activeSnapPoint: h,
447
- shouldFade: F,
448
- getPercentageDragged: tt,
449
- setActiveSnapPoint: f,
450
- activeSnapPointIndex: E,
451
- onRelease: c,
452
- onDrag: Y,
453
- snapPointsOffset: p
454
- };
455
- }
456
- const je = () => () => {
457
- };
458
- function We() {
459
- const { direction: t, isOpen: n, shouldScaleBackground: e, setBackgroundColorOnScale: a, noBodyStyles: i } = pt(), o = r.useRef(null), v = ye(() => document.body.style.backgroundColor, []);
460
- function w() {
461
- return (window.innerWidth - Mt) / window.innerWidth;
462
- }
463
- r.useEffect(() => {
464
- if (n && e) {
465
- o.current && clearTimeout(o.current);
466
- const T = document.querySelector("[data-vaul-drawer-wrapper]") || document.querySelector("[vaul-drawer-wrapper]");
467
- if (!T) return;
468
- ke(a && !i ? Ct(document.body, {
469
- background: "black"
470
- }) : je, Ct(T, {
471
- transformOrigin: C(t) ? "top" : "left",
472
- transitionProperty: "transform, border-radius",
473
- transitionDuration: `${x.DURATION}s`,
474
- transitionTimingFunction: `cubic-bezier(${x.EASE.join(",")})`
475
- }));
476
- const R = Ct(T, {
477
- borderRadius: `${Zt}px`,
478
- overflow: "hidden",
479
- ...C(t) ? {
480
- transform: `scale(${w()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`
481
- } : {
482
- transform: `scale(${w()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`
483
- }
484
- });
485
- return () => {
486
- R(), o.current = window.setTimeout(() => {
487
- v ? document.body.style.background = v : document.body.style.removeProperty("background");
488
- }, x.DURATION * 1e3);
489
- };
490
- }
491
- }, [
492
- n,
493
- e,
494
- v
495
- ]);
496
- }
497
- let ft = null;
498
- function ze({ isOpen: t, modal: n, nested: e, hasBeenOpened: a, preventScrollRestoration: i, noBodyStyles: o }) {
499
- const [v, w] = r.useState(() => typeof window < "u" ? window.location.href : ""), T = r.useRef(0), R = r.useCallback(() => {
500
- if (Wt() && ft === null && t && !o) {
501
- ft = {
502
- position: document.body.style.position,
503
- top: document.body.style.top,
504
- left: document.body.style.left,
505
- height: document.body.style.height,
506
- right: "unset"
507
- };
508
- const { scrollX: f, innerHeight: m } = window;
509
- document.body.style.setProperty("position", "fixed", "important"), Object.assign(document.body.style, {
510
- top: `${-T.current}px`,
511
- left: `${-f}px`,
512
- right: "0px",
513
- height: "auto"
514
- }), window.setTimeout(() => window.requestAnimationFrame(() => {
515
- const B = m - window.innerHeight;
516
- B && T.current >= m && (document.body.style.top = `${-(T.current + B)}px`);
517
- }), 300);
518
- }
519
- }, [
520
- t
521
- ]), h = r.useCallback(() => {
522
- if (Wt() && ft !== null && !o) {
523
- const f = -parseInt(document.body.style.top, 10), m = -parseInt(document.body.style.left, 10);
524
- Object.assign(document.body.style, ft), window.requestAnimationFrame(() => {
525
- if (i && v !== window.location.href) {
526
- w(window.location.href);
527
- return;
528
- }
529
- window.scrollTo(m, f);
530
- }), ft = null;
531
- }
532
- }, [
533
- v
534
- ]);
535
- return r.useEffect(() => {
536
- function f() {
537
- T.current = window.scrollY;
538
- }
539
- return f(), window.addEventListener("scroll", f), () => {
540
- window.removeEventListener("scroll", f);
541
- };
542
- }, []), r.useEffect(() => {
543
- if (n)
544
- return () => {
545
- typeof document > "u" || document.querySelector("[data-vaul-drawer]") || h();
546
- };
547
- }, [
548
- n,
549
- h
550
- ]), r.useEffect(() => {
551
- e || !a || (t ? (!window.matchMedia("(display-mode: standalone)").matches && R(), n || window.setTimeout(() => {
552
- h();
553
- }, 500)) : h());
554
- }, [
555
- t,
556
- a,
557
- v,
558
- n,
559
- e,
560
- R,
561
- h
562
- ]), {
563
- restorePositionSetting: h
564
- };
565
- }
566
- function Ve({ open: t, onOpenChange: n, children: e, onDrag: a, onRelease: i, snapPoints: o, shouldScaleBackground: v = !1, setBackgroundColorOnScale: w = !0, closeThreshold: T = Le, scrollLockTimeout: R = Be, dismissible: h = !0, handleOnly: f = !1, fadeFromIndex: m = o && o.length - 1, activeSnapPoint: B, setActiveSnapPoint: k, fixed: E, modal: F = !0, onClose: p, nested: M, noBodyStyles: A = !1, direction: c = "bottom", defaultOpen: Y = !1, disablePreventScroll: tt = !0, snapToSequentialPoint: u = !1, preventScrollRestoration: b = !1, repositionInputs: y = !0, onAnimationEnd: I, container: N, autoFocus: j = !1 }) {
567
- var l, U;
568
- const [_ = !1, W] = ee({
569
- defaultProp: Y,
570
- prop: t,
571
- onChange: (s) => {
572
- n == null || n(s), !s && !M && de(), setTimeout(() => {
573
- I == null || I(s);
574
- }, x.DURATION * 1e3), s && !F && typeof window < "u" && window.requestAnimationFrame(() => {
575
- document.body.style.pointerEvents = "auto";
576
- }), s || (document.body.style.pointerEvents = "auto");
577
- }
578
- }), [P, K] = r.useState(!1), [G, it] = r.useState(!1), [oe, Pt] = r.useState(!1), nt = r.useRef(null), wt = r.useRef(null), St = r.useRef(null), Tt = r.useRef(null), st = r.useRef(null), lt = r.useRef(!1), Dt = r.useRef(null), Rt = r.useRef(0), rt = r.useRef(!1), It = r.useRef(!Y), _t = r.useRef(0), d = r.useRef(null), Ht = r.useRef(((l = d.current) == null ? void 0 : l.getBoundingClientRect().height) || 0), kt = r.useRef(((U = d.current) == null ? void 0 : U.getBoundingClientRect().width) || 0), Et = r.useRef(0), ie = r.useCallback((s) => {
579
- o && s === ut.length - 1 && (wt.current = /* @__PURE__ */ new Date());
580
- }, []), { activeSnapPoint: se, activeSnapPointIndex: at, setActiveSnapPoint: Lt, onRelease: le, snapPointsOffset: ut, onDrag: ue, shouldFade: Bt, getPercentageDragged: ce } = Ue({
581
- snapPoints: o,
582
- activeSnapPointProp: B,
583
- setActiveSnapPointProp: k,
584
- drawerRef: d,
585
- fadeFromIndex: m,
586
- overlayRef: nt,
587
- onSnapPointChange: ie,
588
- direction: c,
589
- container: N,
590
- snapToSequentialPoint: u
591
- });
592
- Ae({
593
- isDisabled: !_ || G || !F || oe || !P || !y || !tt
594
- });
595
- const { restorePositionSetting: de } = ze({
596
- isOpen: _,
597
- modal: F,
598
- nested: M ?? !1,
599
- hasBeenOpened: P,
600
- preventScrollRestoration: b,
601
- noBodyStyles: A
602
- });
603
- function ht() {
604
- return (window.innerWidth - Mt) / window.innerWidth;
605
- }
606
- function fe(s) {
607
- var S, D;
608
- !h && !o || d.current && !d.current.contains(s.target) || (Ht.current = ((S = d.current) == null ? void 0 : S.getBoundingClientRect().height) || 0, kt.current = ((D = d.current) == null ? void 0 : D.getBoundingClientRect().width) || 0, it(!0), St.current = /* @__PURE__ */ new Date(), Xt() && window.addEventListener("touchend", () => lt.current = !1, {
609
- once: !0
610
- }), s.target.setPointerCapture(s.pointerId), Rt.current = C(c) ? s.pageY : s.pageX);
611
- }
612
- function Ft(s, S) {
613
- var D;
614
- let g = s;
615
- const O = (D = window.getSelection()) == null ? void 0 : D.toString(), L = d.current ? yt(d.current, c) : null, H = /* @__PURE__ */ new Date();
616
- if (g.tagName === "SELECT" || g.hasAttribute("data-vaul-no-drag") || g.closest("[data-vaul-no-drag]"))
617
- return !1;
618
- if (c === "right" || c === "left")
619
- return !0;
620
- if (wt.current && H.getTime() - wt.current.getTime() < 500)
621
- return !1;
622
- if (L !== null && (c === "bottom" ? L > 0 : L < 0))
623
- return !0;
624
- if (O && O.length > 0)
625
- return !1;
626
- if (st.current && H.getTime() - st.current.getTime() < R && L === 0 || S)
627
- return st.current = H, !1;
628
- for (; g; ) {
629
- if (g.scrollHeight > g.clientHeight) {
630
- if (g.scrollTop !== 0)
631
- return st.current = /* @__PURE__ */ new Date(), !1;
632
- if (g.getAttribute("role") === "dialog")
633
- return !0;
634
- }
635
- g = g.parentNode;
636
- }
637
- return !0;
638
- }
639
- function me(s) {
640
- if (d.current && G) {
641
- const S = c === "bottom" || c === "right" ? 1 : -1, D = (Rt.current - (C(c) ? s.pageY : s.pageX)) * S, g = D > 0, O = o && !h && !g;
642
- if (O && at === 0) return;
643
- const L = Math.abs(D), H = document.querySelector("[data-vaul-drawer-wrapper]"), J = c === "bottom" || c === "top" ? Ht.current : kt.current;
644
- let z = L / J;
645
- const et = ce(L, g);
646
- if (et !== null && (z = et), O && z >= 1 || !lt.current && !Ft(s.target, g)) return;
647
- if (d.current.classList.add($t), lt.current = !0, $(d.current, {
648
- transition: "none"
649
- }), $(nt.current, {
650
- transition: "none"
651
- }), o && ue({
652
- draggedDistance: D
653
- }), g && !o) {
654
- const q = He(D), gt = Math.min(q * -1, 0) * S;
655
- $(d.current, {
656
- transform: C(c) ? `translate3d(0, ${gt}px, 0)` : `translate3d(${gt}px, 0, 0)`
657
- });
658
- return;
659
- }
660
- const Q = 1 - z;
661
- if ((Bt || m && at === m - 1) && (a == null || a(s, z), $(nt.current, {
662
- opacity: `${Q}`,
663
- transition: "none"
664
- }, !0)), H && nt.current && v) {
665
- const q = Math.min(ht() + z * (1 - ht()), 1), gt = 8 - z * 8, jt = Math.max(0, 14 - z * 14);
666
- $(H, {
667
- borderRadius: `${gt}px`,
668
- transform: C(c) ? `scale(${q}) translate3d(0, ${jt}px, 0)` : `scale(${q}) translate3d(${jt}px, 0, 0)`,
669
- transition: "none"
670
- }, !0);
671
- }
672
- if (!o) {
673
- const q = L * S;
674
- $(d.current, {
675
- transform: C(c) ? `translate3d(0, ${q}px, 0)` : `translate3d(${q}px, 0, 0)`
676
- });
677
- }
678
- }
679
- }
680
- r.useEffect(() => {
681
- window.requestAnimationFrame(() => {
682
- It.current = !0;
683
- });
684
- }, []), r.useEffect(() => {
685
- var s;
686
- function S() {
687
- if (!d.current || !y) return;
688
- const D = document.activeElement;
689
- if (At(D) || rt.current) {
690
- var g;
691
- const O = ((g = window.visualViewport) == null ? void 0 : g.height) || 0, L = window.innerHeight;
692
- let H = L - O;
693
- const J = d.current.getBoundingClientRect().height || 0, z = J > L * 0.8;
694
- Et.current || (Et.current = J);
695
- const et = d.current.getBoundingClientRect().top;
696
- if (Math.abs(_t.current - H) > 60 && (rt.current = !rt.current), o && o.length > 0 && ut && at) {
697
- const Q = ut[at] || 0;
698
- H += Q;
699
- }
700
- if (_t.current = H, J > O || rt.current) {
701
- const Q = d.current.getBoundingClientRect().height;
702
- let q = Q;
703
- Q > O && (q = O - (z ? et : Mt)), E ? d.current.style.height = `${Q - Math.max(H, 0)}px` : d.current.style.height = `${Math.max(q, O - et)}px`;
704
- } else De() || (d.current.style.height = `${Et.current}px`);
705
- o && o.length > 0 && !rt.current ? d.current.style.bottom = "0px" : d.current.style.bottom = `${Math.max(H, 0)}px`;
706
- }
707
- }
708
- return (s = window.visualViewport) == null || s.addEventListener("resize", S), () => {
709
- var D;
710
- return (D = window.visualViewport) == null ? void 0 : D.removeEventListener("resize", S);
711
- };
712
- }, [
713
- at,
714
- o,
715
- ut
716
- ]);
717
- function ct(s) {
718
- pe(), p == null || p(), s || W(!1), setTimeout(() => {
719
- o && Lt(o[0]);
720
- }, x.DURATION * 1e3);
721
- }
722
- function Ut() {
723
- if (!d.current) return;
724
- const s = document.querySelector("[data-vaul-drawer-wrapper]"), S = yt(d.current, c);
725
- $(d.current, {
726
- transform: "translate3d(0, 0, 0)",
727
- transition: `transform ${x.DURATION}s cubic-bezier(${x.EASE.join(",")})`
728
- }), $(nt.current, {
729
- transition: `opacity ${x.DURATION}s cubic-bezier(${x.EASE.join(",")})`,
730
- opacity: "1"
731
- }), v && S && S > 0 && _ && $(s, {
732
- borderRadius: `${Zt}px`,
733
- overflow: "hidden",
734
- ...C(c) ? {
735
- transform: `scale(${ht()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,
736
- transformOrigin: "top"
737
- } : {
738
- transform: `scale(${ht()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,
739
- transformOrigin: "left"
740
- },
741
- transitionProperty: "transform, border-radius",
742
- transitionDuration: `${x.DURATION}s`,
743
- transitionTimingFunction: `cubic-bezier(${x.EASE.join(",")})`
744
- }, !0);
745
- }
746
- function pe() {
747
- !G || !d.current || (d.current.classList.remove($t), lt.current = !1, it(!1), Tt.current = /* @__PURE__ */ new Date());
748
- }
749
- function we(s) {
750
- if (!G || !d.current) return;
751
- d.current.classList.remove($t), lt.current = !1, it(!1), Tt.current = /* @__PURE__ */ new Date();
752
- const S = yt(d.current, c);
753
- if (!s || !Ft(s.target, !1) || !S || Number.isNaN(S) || St.current === null) return;
754
- const D = Tt.current.getTime() - St.current.getTime(), g = Rt.current - (C(c) ? s.pageY : s.pageX), O = Math.abs(g) / D;
755
- if (O > 0.05 && (Pt(!0), setTimeout(() => {
756
- Pt(!1);
757
- }, 200)), o) {
758
- le({
759
- draggedDistance: g * (c === "bottom" || c === "right" ? 1 : -1),
760
- closeDrawer: ct,
761
- velocity: O,
762
- dismissible: h
763
- }), i == null || i(s, !0);
764
- return;
765
- }
766
- if (c === "bottom" || c === "right" ? g > 0 : g < 0) {
767
- Ut(), i == null || i(s, !0);
768
- return;
769
- }
770
- if (O > Qt) {
771
- ct(), i == null || i(s, !1);
772
- return;
773
- }
774
- var L;
775
- const H = Math.min((L = d.current.getBoundingClientRect().height) != null ? L : 0, window.innerHeight);
776
- var J;
777
- const z = Math.min((J = d.current.getBoundingClientRect().width) != null ? J : 0, window.innerWidth), et = c === "left" || c === "right";
778
- if (Math.abs(S) >= (et ? z : H) * T) {
779
- ct(), i == null || i(s, !1);
780
- return;
781
- }
782
- i == null || i(s, !0), Ut();
783
- }
784
- r.useEffect(() => (_ && ($(document.documentElement, {
785
- scrollBehavior: "auto"
786
- }), wt.current = /* @__PURE__ */ new Date()), () => {
787
- _e(document.documentElement, "scrollBehavior");
788
- }), [
789
- _
790
- ]);
791
- function he(s) {
792
- const S = s ? (window.innerWidth - bt) / window.innerWidth : 1, D = s ? -16 : 0;
793
- Dt.current && window.clearTimeout(Dt.current), $(d.current, {
794
- transition: `transform ${x.DURATION}s cubic-bezier(${x.EASE.join(",")})`,
795
- transform: C(c) ? `scale(${S}) translate3d(0, ${D}px, 0)` : `scale(${S}) translate3d(${D}px, 0, 0)`
796
- }), !s && d.current && (Dt.current = setTimeout(() => {
797
- const g = yt(d.current, c);
798
- $(d.current, {
799
- transition: "none",
800
- transform: C(c) ? `translate3d(0, ${g}px, 0)` : `translate3d(${g}px, 0, 0)`
801
- });
802
- }, 500));
803
- }
804
- function ge(s, S) {
805
- if (S < 0) return;
806
- const D = (window.innerWidth - bt) / window.innerWidth, g = D + S * (1 - D), O = -16 + S * bt;
807
- $(d.current, {
808
- transform: C(c) ? `scale(${g}) translate3d(0, ${O}px, 0)` : `scale(${g}) translate3d(${O}px, 0, 0)`,
809
- transition: "none"
810
- });
811
- }
812
- function ve(s, S) {
813
- const D = C(c) ? window.innerHeight : window.innerWidth, g = S ? (D - bt) / D : 1, O = S ? -16 : 0;
814
- S && $(d.current, {
815
- transition: `transform ${x.DURATION}s cubic-bezier(${x.EASE.join(",")})`,
816
- transform: C(c) ? `scale(${g}) translate3d(0, ${O}px, 0)` : `scale(${g}) translate3d(${O}px, 0, 0)`
817
- });
818
- }
819
- return r.useEffect(() => {
820
- F || window.requestAnimationFrame(() => {
821
- document.body.style.pointerEvents = "auto";
822
- });
823
- }, [
824
- F
825
- ]), /* @__PURE__ */ r.createElement(Z.Root, {
826
- defaultOpen: Y,
827
- onOpenChange: (s) => {
828
- !h && !s || (s ? K(!0) : ct(!0), W(s));
829
- },
830
- open: _
831
- }, /* @__PURE__ */ r.createElement(qt.Provider, {
832
- value: {
833
- activeSnapPoint: se,
834
- snapPoints: o,
835
- setActiveSnapPoint: Lt,
836
- drawerRef: d,
837
- overlayRef: nt,
838
- onOpenChange: n,
839
- onPress: fe,
840
- onRelease: we,
841
- onDrag: me,
842
- dismissible: h,
843
- shouldAnimate: It,
844
- handleOnly: f,
845
- isOpen: _,
846
- isDragging: G,
847
- shouldFade: Bt,
848
- closeDrawer: ct,
849
- onNestedDrag: ge,
850
- onNestedOpenChange: he,
851
- onNestedRelease: ve,
852
- keyboardIsOpen: rt,
853
- modal: F,
854
- snapPointsOffset: ut,
855
- activeSnapPointIndex: at,
856
- direction: c,
857
- shouldScaleBackground: v,
858
- setBackgroundColorOnScale: w,
859
- noBodyStyles: A,
860
- container: N,
861
- autoFocus: j
862
- }
863
- }, e));
864
- }
865
- const ne = /* @__PURE__ */ r.forwardRef(function({ ...t }, n) {
866
- const { overlayRef: e, snapPoints: a, onRelease: i, shouldFade: o, isOpen: v, modal: w, shouldAnimate: T } = pt(), R = Gt(n, e), h = a && a.length > 0;
867
- if (!w)
868
- return null;
869
- const f = r.useCallback((m) => i(m), [
870
- i
871
- ]);
872
- return /* @__PURE__ */ r.createElement(Z.Overlay, {
873
- onMouseUp: f,
874
- ref: R,
875
- "data-vaul-overlay": "",
876
- "data-vaul-snap-points": v && h ? "true" : "false",
877
- "data-vaul-snap-points-overlay": v && o ? "true" : "false",
878
- "data-vaul-animate": T != null && T.current ? "true" : "false",
879
- ...t
880
- });
881
- });
882
- ne.displayName = "Drawer.Overlay";
883
- const re = /* @__PURE__ */ r.forwardRef(function({ onPointerDownOutside: t, style: n, onOpenAutoFocus: e, ...a }, i) {
884
- const { drawerRef: o, onPress: v, onRelease: w, onDrag: T, keyboardIsOpen: R, snapPointsOffset: h, activeSnapPointIndex: f, modal: m, isOpen: B, direction: k, snapPoints: E, container: F, handleOnly: p, shouldAnimate: M, autoFocus: A } = pt(), [c, Y] = r.useState(!1), tt = Gt(i, o), u = r.useRef(null), b = r.useRef(null), y = r.useRef(!1), I = E && E.length > 0;
885
- We();
886
- const N = (l, U, _ = 0) => {
887
- if (y.current) return !0;
888
- const W = Math.abs(l.y), P = Math.abs(l.x), K = P > W, G = [
889
- "bottom",
890
- "right"
891
- ].includes(U) ? 1 : -1;
892
- if (U === "left" || U === "right") {
893
- if (!(l.x * G < 0) && P >= 0 && P <= _)
894
- return K;
895
- } else if (!(l.y * G < 0) && W >= 0 && W <= _)
896
- return !K;
897
- return y.current = !0, !0;
898
- };
899
- r.useEffect(() => {
900
- I && window.requestAnimationFrame(() => {
901
- Y(!0);
902
- });
903
- }, []);
904
- function j(l) {
905
- u.current = null, y.current = !1, w(l);
906
- }
907
- return /* @__PURE__ */ r.createElement(Z.Content, {
908
- "data-vaul-drawer-direction": k,
909
- "data-vaul-drawer": "",
910
- "data-vaul-delayed-snap-points": c ? "true" : "false",
911
- "data-vaul-snap-points": B && I ? "true" : "false",
912
- "data-vaul-custom-container": F ? "true" : "false",
913
- "data-vaul-animate": M != null && M.current ? "true" : "false",
914
- ...a,
915
- ref: tt,
916
- style: h && h.length > 0 ? {
917
- "--snap-point-height": `${h[f ?? 0]}px`,
918
- ...n
919
- } : n,
920
- onPointerDown: (l) => {
921
- p || (a.onPointerDown == null || a.onPointerDown.call(a, l), u.current = {
922
- x: l.pageX,
923
- y: l.pageY
924
- }, v(l));
925
- },
926
- onOpenAutoFocus: (l) => {
927
- e == null || e(l), A || l.preventDefault();
928
- },
929
- onPointerDownOutside: (l) => {
930
- if (t == null || t(l), !m || l.defaultPrevented) {
931
- l.preventDefault();
932
- return;
933
- }
934
- R.current && (R.current = !1);
935
- },
936
- onFocusOutside: (l) => {
937
- if (!m) {
938
- l.preventDefault();
939
- return;
940
- }
941
- },
942
- onPointerMove: (l) => {
943
- if (b.current = l, p || (a.onPointerMove == null || a.onPointerMove.call(a, l), !u.current)) return;
944
- const U = l.pageY - u.current.y, _ = l.pageX - u.current.x, W = l.pointerType === "touch" ? 10 : 2;
945
- N({
946
- x: _,
947
- y: U
948
- }, k, W) ? T(l) : (Math.abs(_) > W || Math.abs(U) > W) && (u.current = null);
949
- },
950
- onPointerUp: (l) => {
951
- a.onPointerUp == null || a.onPointerUp.call(a, l), u.current = null, y.current = !1, w(l);
952
- },
953
- onPointerOut: (l) => {
954
- a.onPointerOut == null || a.onPointerOut.call(a, l), j(b.current);
955
- },
956
- onContextMenu: (l) => {
957
- a.onContextMenu == null || a.onContextMenu.call(a, l), b.current && j(b.current);
958
- }
959
- });
960
- });
961
- re.displayName = "Drawer.Content";
962
- const Ye = 250, qe = 120, Xe = /* @__PURE__ */ r.forwardRef(function({ preventCycle: t = !1, children: n, ...e }, a) {
963
- const { closeDrawer: i, isDragging: o, snapPoints: v, activeSnapPoint: w, setActiveSnapPoint: T, dismissible: R, handleOnly: h, isOpen: f, onPress: m, onDrag: B } = pt(), k = r.useRef(null), E = r.useRef(!1);
964
- function F() {
965
- if (E.current) {
966
- A();
967
- return;
968
- }
969
- window.setTimeout(() => {
970
- p();
971
- }, qe);
972
- }
973
- function p() {
974
- if (o || t || E.current) {
975
- A();
976
- return;
977
- }
978
- if (A(), !v || v.length === 0) {
979
- R || i();
980
- return;
981
- }
982
- if (w === v[v.length - 1] && R) {
983
- i();
984
- return;
985
- }
986
- const Y = v.findIndex((u) => u === w);
987
- if (Y === -1) return;
988
- const tt = v[Y + 1];
989
- T(tt);
990
- }
991
- function M() {
992
- k.current = window.setTimeout(() => {
993
- E.current = !0;
994
- }, Ye);
995
- }
996
- function A() {
997
- k.current && window.clearTimeout(k.current), E.current = !1;
998
- }
999
- return /* @__PURE__ */ r.createElement("div", {
1000
- onClick: F,
1001
- onPointerCancel: A,
1002
- onPointerDown: (c) => {
1003
- h && m(c), M();
1004
- },
1005
- onPointerMove: (c) => {
1006
- h && B(c);
1007
- },
1008
- // onPointerUp is already handled by the content component
1009
- ref: a,
1010
- "data-vaul-drawer-visible": f ? "true" : "false",
1011
- "data-vaul-handle": "",
1012
- "aria-hidden": "true",
1013
- ...e
1014
- }, /* @__PURE__ */ r.createElement("span", {
1015
- "data-vaul-handle-hitarea": "",
1016
- "aria-hidden": "true"
1017
- }, n));
1018
- });
1019
- Xe.displayName = "Drawer.Handle";
1020
- function Ke(t) {
1021
- const n = pt(), { container: e = n.container, ...a } = t;
1022
- return /* @__PURE__ */ r.createElement(Z.Portal, {
1023
- container: e,
1024
- ...a
1025
- });
1026
- }
1027
- const V = {
1028
- Root: Ve,
1029
- Content: re,
1030
- Overlay: ne,
1031
- Trigger: Z.Trigger,
1032
- Portal: Ke,
1033
- Close: Z.Close,
1034
- Title: Z.Title,
1035
- Description: Z.Description
1036
- }, Ge = ({
1037
- shouldScaleBackground: t = !0,
1038
- ...n
1039
- }) => /* @__PURE__ */ X.jsx(
1040
- V.Root,
1041
- {
1042
- shouldScaleBackground: t,
1043
- ...n
1044
- }
1045
- );
1046
- Ge.displayName = "Drawer";
1047
- const sn = V.Trigger, Je = V.Portal, ln = V.Close, ae = mt.forwardRef(({ className: t, ...n }, e) => /* @__PURE__ */ X.jsx(
1048
- V.Overlay,
1049
- {
1050
- ref: e,
1051
- className: ot("fixed inset-0 z-50 bg-black/80", t),
1052
- ...n
1053
- }
1054
- ));
1055
- ae.displayName = V.Overlay.displayName;
1056
- const Qe = mt.forwardRef(
1057
- ({ className: t, children: n, hideBar: e = !0, ...a }, i) => /* @__PURE__ */ X.jsxs(Je, { children: [
1058
- /* @__PURE__ */ X.jsx(ae, {}),
1059
- /* @__PURE__ */ X.jsxs(
1060
- V.Content,
1061
- {
1062
- ref: i,
1063
- className: ot(
1064
- "fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background",
1065
- t
1066
- ),
1067
- ...a,
1068
- children: [
1069
- !e && /* @__PURE__ */ X.jsx("div", { className: "mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted" }),
1070
- n
1071
- ]
1072
- }
1073
- )
1074
- ] })
1075
- );
1076
- Qe.displayName = "DrawerContent";
1077
- const Ze = ({
1078
- className: t,
1079
- ...n
1080
- }) => /* @__PURE__ */ X.jsx(
1081
- "div",
1082
- {
1083
- className: ot("grid gap-1.5 p-4 text-center sm:text-left", t),
1084
- ...n
1085
- }
1086
- );
1087
- Ze.displayName = "DrawerHeader";
1088
- const tn = ({
1089
- className: t,
1090
- ...n
1091
- }) => /* @__PURE__ */ X.jsx(
1092
- "div",
1093
- {
1094
- className: ot("mt-auto flex flex-col gap-2 p-4", t),
1095
- ...n
1096
- }
1097
- );
1098
- tn.displayName = "DrawerFooter";
1099
- const en = mt.forwardRef(({ className: t, ...n }, e) => /* @__PURE__ */ X.jsx(
1100
- V.Title,
1101
- {
1102
- ref: e,
1103
- className: ot(
1104
- "text-lg font-semibold leading-none tracking-tight",
1105
- t
1106
- ),
1107
- ...n
1108
- }
1109
- ));
1110
- en.displayName = V.Title.displayName;
1111
- const nn = mt.forwardRef(({ className: t, ...n }, e) => /* @__PURE__ */ X.jsx(
1112
- V.Description,
1113
- {
1114
- ref: e,
1115
- className: ot("text-sm text-muted-foreground", t),
1116
- ...n
1117
- }
1118
- ));
1119
- nn.displayName = V.Description.displayName;
1
+ import "../jsx-runtime-CYK1ROHF.js";
2
+ import "react";
3
+ import { D as o, e as t, b as w, f as i, g as p, h as l, i as m, j as g, c as n, a as c } from "../Drawer-kDAfOq_2.js";
4
+ import "../cn-qaFjX9_3.js";
1120
5
  export {
1121
- Ge as Drawer,
1122
- ln as DrawerClose,
1123
- Qe as DrawerContent,
1124
- nn as DrawerDescription,
1125
- tn as DrawerFooter,
1126
- Ze as DrawerHeader,
1127
- ae as DrawerOverlay,
1128
- Je as DrawerPortal,
1129
- en as DrawerTitle,
1130
- sn as DrawerTrigger
6
+ o as Drawer,
7
+ t as DrawerClose,
8
+ w as DrawerContent,
9
+ i as DrawerDescription,
10
+ p as DrawerFooter,
11
+ l as DrawerHeader,
12
+ m as DrawerOverlay,
13
+ g as DrawerPortal,
14
+ n as DrawerTitle,
15
+ c as DrawerTrigger
1131
16
  };
1132
17
  //# sourceMappingURL=Drawer.js.map