@g4rcez/components 3.0.1 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/MotionConfigContext-C7MqlSdv.js +2713 -0
- package/dist/MotionConfigContext-C7MqlSdv.js.map +1 -0
- package/dist/autocomplete-Boida9R7.js +375 -0
- package/dist/autocomplete-Boida9R7.js.map +1 -0
- package/dist/calendar-BswV66Nx.js +1719 -0
- package/dist/calendar-BswV66Nx.js.map +1 -0
- package/dist/chevron-down-BBFYYzZq.js +6 -0
- package/dist/chevron-down-BBFYYzZq.js.map +1 -0
- package/dist/chevron-right-DvXGOiS_.js +6 -0
- package/dist/chevron-right-DvXGOiS_.js.map +1 -0
- package/dist/circle-check-big-3M5lhTxx.js +9 -0
- package/dist/circle-check-big-3M5lhTxx.js.map +1 -0
- package/dist/components/core/button.js +76 -0
- package/dist/components/core/button.js.map +1 -0
- package/dist/components/core/tag.js +67 -0
- package/dist/components/core/tag.js.map +1 -0
- package/dist/components/display/alert.js +94 -0
- package/dist/components/display/alert.js.map +1 -0
- package/dist/components/display/calendar.js +15 -0
- package/dist/components/display/calendar.js.map +1 -0
- package/dist/components/display/card.js +84 -0
- package/dist/components/display/card.js.map +1 -0
- package/dist/components/display/list.js +93 -0
- package/dist/components/display/list.js.map +1 -0
- package/dist/components/display/notifications.js +15 -0
- package/dist/components/display/notifications.js.map +1 -0
- package/dist/components/display/stats.js +16 -0
- package/dist/components/display/stats.js.map +1 -0
- package/dist/components/display/tabs.js +12 -0
- package/dist/components/display/tabs.js.map +1 -0
- package/dist/components/display/timeline.js +29 -0
- package/dist/components/display/timeline.js.map +1 -0
- package/dist/components/floating/dropdown.js +58 -0
- package/dist/components/floating/dropdown.js.map +1 -0
- package/dist/components/floating/expand.js +41 -0
- package/dist/components/floating/expand.js.map +1 -0
- package/dist/components/floating/menu.js +177 -0
- package/dist/components/floating/menu.js.map +1 -0
- package/dist/components/floating/modal.js +297 -0
- package/dist/components/floating/modal.js.map +1 -0
- package/dist/components/floating/tooltip.js +73 -0
- package/dist/components/floating/tooltip.js.map +1 -0
- package/dist/components/form/autocomplete.js +16 -0
- package/dist/components/form/autocomplete.js.map +1 -0
- package/dist/components/form/checkbox.js +44 -0
- package/dist/components/form/checkbox.js.map +1 -0
- package/dist/components/form/date-picker.js +12 -0
- package/dist/components/form/date-picker.js.map +1 -0
- package/dist/components/form/file-upload.js +11 -0
- package/dist/components/form/file-upload.js.map +1 -0
- package/dist/components/form/form.js +8 -0
- package/dist/components/form/form.js.map +1 -0
- package/dist/components/form/input.js +5 -0
- package/dist/components/form/input.js.map +1 -0
- package/dist/components/form/radiobox.js +30 -0
- package/dist/components/form/radiobox.js.map +1 -0
- package/dist/components/form/select.js +106 -0
- package/dist/components/form/select.js.map +1 -0
- package/dist/components/form/switch.js +65 -0
- package/dist/components/form/switch.js.map +1 -0
- package/dist/components/form/task-list.js +68 -0
- package/dist/components/form/task-list.js.map +1 -0
- package/dist/components/form/transfer-list.js +55 -0
- package/dist/components/form/transfer-list.js.map +1 -0
- package/dist/components/table/table.js +10 -0
- package/dist/components/table/table.js.map +1 -0
- package/dist/constants-r-AHn273.js +6 -0
- package/dist/constants-r-AHn273.js.map +1 -0
- package/dist/context-BFXNJVn2.js +161 -0
- package/dist/context-BFXNJVn2.js.map +1 -0
- package/dist/createLucideIcon-CP-mMPfa.js +76 -0
- package/dist/createLucideIcon-CP-mMPfa.js.map +1 -0
- package/dist/date-picker-BxPTdZPy.js +1598 -0
- package/dist/date-picker-BxPTdZPy.js.map +1 -0
- package/dist/dom-Dl8XH0CK.js +2833 -0
- package/dist/dom-Dl8XH0CK.js.map +1 -0
- package/dist/file-CBCP85VI.js +15 -0
- package/dist/file-CBCP85VI.js.map +1 -0
- package/dist/file-upload-BB6BdGcE.js +3118 -0
- package/dist/file-upload-BB6BdGcE.js.map +1 -0
- package/dist/floating-ui.react-DycKASR0.js +3706 -0
- package/dist/floating-ui.react-DycKASR0.js.map +1 -0
- package/dist/fns-D2eyJKd5.js +33 -0
- package/dist/fns-D2eyJKd5.js.map +1 -0
- package/dist/index-0YMC-_Lt.js +20 -0
- package/dist/index-0YMC-_Lt.js.map +1 -0
- package/dist/index-BJ1ayTam.js +126 -0
- package/dist/index-BJ1ayTam.js.map +1 -0
- package/dist/index-BtlhELJ3.js +3416 -0
- package/dist/index-BtlhELJ3.js.map +1 -0
- package/dist/index-ChfR6F8d.js +1590 -0
- package/dist/index-ChfR6F8d.js.map +1 -0
- package/dist/index-DE4shK8D.js +215 -0
- package/dist/index-DE4shK8D.js.map +1 -0
- package/dist/index-DJSMaZR4.js +35 -0
- package/dist/index-DJSMaZR4.js.map +1 -0
- package/dist/index-t1qLJTt5.js +351 -0
- package/dist/index-t1qLJTt5.js.map +1 -0
- package/dist/index.esm-BaIwleSE.js +343 -0
- package/dist/index.esm-BaIwleSE.js.map +1 -0
- package/dist/index.js +8049 -27
- package/dist/index.js.map +1 -1
- package/dist/info-N5jWZg2A.js +10 -0
- package/dist/info-N5jWZg2A.js.map +1 -0
- package/dist/input-CoJoHIhd.js +441 -0
- package/dist/input-CoJoHIhd.js.map +1 -0
- package/dist/input-field-DTeIrwpK.js +146 -0
- package/dist/input-field-DTeIrwpK.js.map +1 -0
- package/dist/notifications-NPuFDsBp.js +2550 -0
- package/dist/notifications-NPuFDsBp.js.map +1 -0
- package/dist/polymorph-B5n9fs_K.js +10 -0
- package/dist/polymorph-B5n9fs_K.js.map +1 -0
- package/dist/proxy-BZcQiBrp.js +2495 -0
- package/dist/proxy-BZcQiBrp.js.map +1 -0
- package/dist/skeleton-D75GFBV6.js +10 -0
- package/dist/skeleton-D75GFBV6.js.map +1 -0
- package/dist/slot-CQW8ZzBb.js +79 -0
- package/dist/slot-CQW8ZzBb.js.map +1 -0
- package/dist/styles/common.js +29 -0
- package/dist/styles/dark.js +214 -0
- package/dist/styles/design-tokens.js +98 -0
- package/dist/styles/light.js +214 -0
- package/dist/styles/theme.js +4 -0
- package/dist/styles/theme.types.js +1 -0
- package/dist/tabs-ccIA7vMo.js +106 -0
- package/dist/tabs-ccIA7vMo.js.map +1 -0
- package/dist/triangle-alert-CHMhQ6yd.js +16 -0
- package/dist/triangle-alert-CHMhQ6yd.js.map +1 -0
- package/dist/use-motion-value-eGwNuWuw.js +14 -0
- package/dist/use-motion-value-eGwNuWuw.js.map +1 -0
- package/dist/use-stable-ref-CYh-YkID.js +11 -0
- package/dist/use-stable-ref-CYh-YkID.js.map +1 -0
- package/dist/use-translations-BwLKTrZv.js +10 -0
- package/dist/use-translations-BwLKTrZv.js.map +1 -0
- package/dist/x-B9bYxG31.js +9 -0
- package/dist/x-B9bYxG31.js.map +1 -0
- package/package.json +3 -4
- package/dist/index.mjs +0 -37108
- package/dist/index.mjs.map +0 -1
- package/dist/index.umd.js +0 -28
- package/dist/index.umd.js.map +0 -1
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
import { jsxs as F, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { u as Re, n as Pe, d as ke, i as Le, c as Te, F as De, k as Ee, l as Ne } from "../../floating-ui.react-DycKASR0.js";
|
|
3
|
+
import { c as Fe } from "../../index-DJSMaZR4.js";
|
|
4
|
+
import { S as He } from "../../slot-CQW8ZzBb.js";
|
|
5
|
+
import $, { useState as E, useLayoutEffect as Oe, useContext as Se, forwardRef as ze, useRef as L, useId as J, useEffect as _, useImperativeHandle as Ie, Fragment as Ye, useCallback as je } from "react";
|
|
6
|
+
import { i as Be } from "../../fns-D2eyJKd5.js";
|
|
7
|
+
import { c as N, m as Ae } from "../../dom-Dl8XH0CK.js";
|
|
8
|
+
import { C as Ge } from "../../context-BFXNJVn2.js";
|
|
9
|
+
import { Button as U } from "../core/button.js";
|
|
10
|
+
import { m as R, A as W } from "../../proxy-BZcQiBrp.js";
|
|
11
|
+
import { a as Z } from "../../index-t1qLJTt5.js";
|
|
12
|
+
import { X as Ke } from "../../x-B9bYxG31.js";
|
|
13
|
+
import { u as T } from "../../use-motion-value-eGwNuWuw.js";
|
|
14
|
+
import { M as Qe } from "../../index-0YMC-_Lt.js";
|
|
15
|
+
const Ve = (e, r) => Be() ? r : window.matchMedia(e).matches, Xe = (e, r = !0) => {
|
|
16
|
+
const [a, o] = E(r);
|
|
17
|
+
return Oe(() => {
|
|
18
|
+
const n = window.matchMedia(e), i = () => o(Ve(e, r));
|
|
19
|
+
return i(), n.addListener ? (n.addListener(i), () => n.removeListener ? n.removeListener(i) : void 0) : (n.addEventListener("change", i), () => n.removeEventListener("change", i));
|
|
20
|
+
}, [e]), a;
|
|
21
|
+
}, Je = () => Se(Ge).floatingRef ?? void 0, q = $.createContext(async () => !1), ht = () => $.useContext(q), s = "500ms", Ue = {
|
|
22
|
+
exit: { x: ["0%", "-30%"], opacity: 0, animationDuration: s },
|
|
23
|
+
enter: { x: ["-30%", "0%"], opacity: 1, animationDuration: s },
|
|
24
|
+
initial: { x: ["-30%", "0%"], opacity: 0.8, animationDuration: s }
|
|
25
|
+
}, We = {
|
|
26
|
+
enter: { x: "0%", opacity: 1, animationDuration: s },
|
|
27
|
+
exit: { x: ["0%", "30%"], opacity: 0, animationDuration: s },
|
|
28
|
+
initial: { x: ["30%", "0%"], opacity: 0.8, animationDuration: s }
|
|
29
|
+
}, B = {
|
|
30
|
+
drawer: (e) => e === "left" ? Ue : We,
|
|
31
|
+
sheet: {
|
|
32
|
+
enter: { opacity: 1, y: "0%", animationDuration: s, transformOrigin: "bottom" },
|
|
33
|
+
exit: { opacity: 0.4, y: "10%", animationDuration: s, transformOrigin: "bottom" },
|
|
34
|
+
initial: { opacity: 0.7, y: "10%", animationDuration: s, transformOrigin: "bottom" }
|
|
35
|
+
},
|
|
36
|
+
dialog: {
|
|
37
|
+
exit: { opacity: 0, scale: 0.95, animationDuration: s },
|
|
38
|
+
enter: { opacity: 1, scale: [1.05, 1], animationDuration: s },
|
|
39
|
+
initial: { opacity: 0.5, scale: 0.95, animationDuration: s, transition: { duration: 0.5, ease: "easeInOut" } }
|
|
40
|
+
}
|
|
41
|
+
}, Ze = Fe(
|
|
42
|
+
"z-floating border border-floating-border ring-0 outline-0 appearance-none flex flex-col gap-4 flex-nowrap min-w-xs bg-floating-background",
|
|
43
|
+
{
|
|
44
|
+
variants: {
|
|
45
|
+
type: {
|
|
46
|
+
drawer: "max-h-screen max-w-[90%] absolute w-fit h-screen min-h-0",
|
|
47
|
+
dialog: "max-h-[calc(100lvh-10%)] relative container h-min rounded-lg py-4",
|
|
48
|
+
sheet: "w-screen absolute bottom-0 max-h-[calc(100vh-15%)] max-h-[calc(100svh-5%)] h-screen pt-6 pb-4 rounded-t-lg"
|
|
49
|
+
},
|
|
50
|
+
position: {
|
|
51
|
+
none: "",
|
|
52
|
+
right: "py-4 absolute right-0 top-0 rounded-l-lg",
|
|
53
|
+
left: "py-4 absolute left-0 top-0 rounded-r-lg"
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
defaultVariants: { position: "right", type: "dialog" }
|
|
57
|
+
}
|
|
58
|
+
), ee = { top: 0, left: 0, right: 0, bottom: 0 }, te = (e) => e * 0.6, $e = (e) => {
|
|
59
|
+
const r = (a, o) => {
|
|
60
|
+
if (e.parent.current) {
|
|
61
|
+
if (a.stopPropagation(), a.stopImmediatePropagation(), e.sheet) {
|
|
62
|
+
const w = e.parent.current.getBoundingClientRect(), d = e.value.get() || w.height, v = Math.abs(d - o.delta.y), H = window.outerHeight, C = te(H);
|
|
63
|
+
return v >= C ? e.value.set(v) : (document.activeElement instanceof HTMLElement && document.activeElement?.blur(), e.onChange(!1), setTimeout(() => e.value.set(void 0), 350));
|
|
64
|
+
}
|
|
65
|
+
const n = e.parent.current, i = e.value.get() || n.getBoundingClientRect().width, l = e.position === "right" ? -o.delta.x : o.delta.x, p = Math.abs(i + l);
|
|
66
|
+
return e.value.set(p);
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
return /* @__PURE__ */ t(
|
|
70
|
+
R.button,
|
|
71
|
+
{
|
|
72
|
+
draggable: !0,
|
|
73
|
+
dragListener: !0,
|
|
74
|
+
dragMomentum: !0,
|
|
75
|
+
type: "button",
|
|
76
|
+
animate: !1,
|
|
77
|
+
dragElastic: 0,
|
|
78
|
+
dragPropagation: !0,
|
|
79
|
+
initial: !1,
|
|
80
|
+
onDrag: r,
|
|
81
|
+
dragSnapToOrigin: !0,
|
|
82
|
+
dragDirectionLock: !0,
|
|
83
|
+
drag: e.sheet ? "y" : "x",
|
|
84
|
+
dragConstraints: ee,
|
|
85
|
+
whileDrag: { cursor: "grabbing" },
|
|
86
|
+
className: N(
|
|
87
|
+
"absolute isolate z-calendar rounded-lg",
|
|
88
|
+
e.sheet ? "cursor-row-resize" : "cursor-col-resize bg-floating-border",
|
|
89
|
+
e.sheet ? "top-1 flex h-3 w-full justify-center py-2" : e.position === "left" ? "right-5 top-1/2 h-10 w-2" : "left-2 top-1/2 h-10 w-2"
|
|
90
|
+
),
|
|
91
|
+
children: e.sheet ? /* @__PURE__ */ t("div", { className: "h-2 w-1/4 rounded-lg bg-floating-border" }) : null
|
|
92
|
+
}
|
|
93
|
+
);
|
|
94
|
+
}, D = { drawer: "right", sheet: "none", dialog: "none" }, _e = (e, r, a, o) => {
|
|
95
|
+
const n = a || "dialog";
|
|
96
|
+
return e ? a === "drawer" ? o ?? D.drawer : D[n] : r ? D[n] : D.sheet;
|
|
97
|
+
}, qe = [], oe = ze(
|
|
98
|
+
({
|
|
99
|
+
open: e,
|
|
100
|
+
title: r,
|
|
101
|
+
footer: a,
|
|
102
|
+
asChild: o,
|
|
103
|
+
trigger: n,
|
|
104
|
+
children: i,
|
|
105
|
+
onChange: l,
|
|
106
|
+
ariaTitle: p,
|
|
107
|
+
className: P,
|
|
108
|
+
bodyClassName: w,
|
|
109
|
+
resizer: d = !0,
|
|
110
|
+
animated: v = !0,
|
|
111
|
+
closable: H = !0,
|
|
112
|
+
forceType: C = !1,
|
|
113
|
+
layoutId: A = void 0,
|
|
114
|
+
overlayClassName: re = "",
|
|
115
|
+
type: M = "dialog",
|
|
116
|
+
position: ae,
|
|
117
|
+
overlayClickClose: ie = !1,
|
|
118
|
+
closeOnFocusOut: se = !1,
|
|
119
|
+
interactions: ce = qe,
|
|
120
|
+
...le
|
|
121
|
+
}, de) => {
|
|
122
|
+
const ue = Je(), G = L(null), O = L(null), K = J(), ge = J(), S = Xe("(min-width: 64rem)"), z = _e(S, C, M, ae), I = S || C ? B[M] : B.sheet, fe = typeof I == "function" ? I(z) : I, g = S || C ? M : "sheet", me = g !== "dialog", c = Re({ open: e, onOpenChange: l, strategy: "fixed" }), he = Pe(c.context, {}), pe = ke(c.context, { role: "dialog" }), ve = Le(c.context, {
|
|
123
|
+
bubbles: !0,
|
|
124
|
+
escapeKey: !0,
|
|
125
|
+
outsidePress: (h) => {
|
|
126
|
+
const u = h.target;
|
|
127
|
+
return ie && !!u?.isConnected;
|
|
128
|
+
}
|
|
129
|
+
}), Q = Te([he, ve, pe].concat(ce)), xe = n, f = T(void 0), m = T(void 0), x = L(!1), V = L(0);
|
|
130
|
+
_(() => {
|
|
131
|
+
f.set(void 0), m.set(void 0);
|
|
132
|
+
}, [g, f, m]);
|
|
133
|
+
const be = () => l(!1);
|
|
134
|
+
Ie(de, () => ({ context: c.context, floating: O.current }), [
|
|
135
|
+
c.context,
|
|
136
|
+
O
|
|
137
|
+
]);
|
|
138
|
+
const ye = g === "sheet" ? {
|
|
139
|
+
drag: "y",
|
|
140
|
+
animate: !1,
|
|
141
|
+
dragElastic: 0,
|
|
142
|
+
initial: !1,
|
|
143
|
+
dragConstraints: ee,
|
|
144
|
+
draggable: !0,
|
|
145
|
+
dragListener: !0,
|
|
146
|
+
dragMomentum: !0,
|
|
147
|
+
onDrag: (h, u) => {
|
|
148
|
+
const Y = c.refs.floating.current.getBoundingClientRect(), j = f.get() || Y.height, y = Math.abs(j - u.delta.y), Ce = window.outerHeight, Me = te(Ce);
|
|
149
|
+
return y >= Me ? f.set(y) : (document.activeElement instanceof HTMLElement && document.activeElement?.blur(), l?.(!1), setTimeout(() => f.set(void 0), 350));
|
|
150
|
+
},
|
|
151
|
+
dragPropagation: !0,
|
|
152
|
+
dragSnapToOrigin: !0,
|
|
153
|
+
dragDirectionLock: !0,
|
|
154
|
+
whileDrag: { cursor: "grabbing" }
|
|
155
|
+
} : { animate: v, initial: !1 }, X = T(void 0), k = T(void 0), we = o ? He : R.button;
|
|
156
|
+
return /* @__PURE__ */ F(Ye, { children: [
|
|
157
|
+
n ? /* @__PURE__ */ t(we, { ref: c.refs.setReference, ...Q.getReferenceProps(), layoutId: A, type: "button", children: xe }) : null,
|
|
158
|
+
/* @__PURE__ */ t(Qe, { reducedMotion: v ? "user" : "always", children: /* @__PURE__ */ t(De, { preserveTabOrder: !0, root: ue, children: /* @__PURE__ */ t(W, { mode: "wait", propagate: !0, children: e ? /* @__PURE__ */ t(
|
|
159
|
+
Ee,
|
|
160
|
+
{
|
|
161
|
+
lockScroll: !0,
|
|
162
|
+
className: N(
|
|
163
|
+
"inset-0 isolate z-overlay flex h-[100dvh] !overflow-clip bg-floating-overlay/80",
|
|
164
|
+
g === "drawer" ? "" : "items-start justify-center pt-10 lg:p-10",
|
|
165
|
+
re
|
|
166
|
+
),
|
|
167
|
+
children: /* @__PURE__ */ t(Ne, { guards: !0, modal: !0, closeOnFocusOut: se, context: c.context, children: /* @__PURE__ */ t(W, { propagate: !0, children: /* @__PURE__ */ F(
|
|
168
|
+
R.div,
|
|
169
|
+
{
|
|
170
|
+
...le,
|
|
171
|
+
...r ? {
|
|
172
|
+
"aria-labelledby": K,
|
|
173
|
+
"aria-describedby": ge
|
|
174
|
+
} : { "aria-label": p },
|
|
175
|
+
...Q.getFloatingProps({
|
|
176
|
+
"aria-modal": e,
|
|
177
|
+
ref: Ae(c.refs.setFloating, O),
|
|
178
|
+
className: N(Ze({ position: z, type: g }), P, "isolate overscroll-contain")
|
|
179
|
+
}),
|
|
180
|
+
exit: "exit",
|
|
181
|
+
layout: !0,
|
|
182
|
+
animate: "enter",
|
|
183
|
+
initial: "initial",
|
|
184
|
+
layoutId: A,
|
|
185
|
+
variants: fe,
|
|
186
|
+
"data-component": "modal",
|
|
187
|
+
style: g === "drawer" ? { width: f } : { height: f, y: m },
|
|
188
|
+
children: [
|
|
189
|
+
me && d ? /* @__PURE__ */ t(
|
|
190
|
+
$e,
|
|
191
|
+
{
|
|
192
|
+
onChange: l,
|
|
193
|
+
value: f,
|
|
194
|
+
sheet: g === "sheet",
|
|
195
|
+
position: z,
|
|
196
|
+
parent: c.refs.floating
|
|
197
|
+
}
|
|
198
|
+
) : null,
|
|
199
|
+
r ? /* @__PURE__ */ t(R.header, { ...ye, className: "relative isolate w-full", children: r ? /* @__PURE__ */ t(
|
|
200
|
+
"h2",
|
|
201
|
+
{
|
|
202
|
+
id: K,
|
|
203
|
+
className: "block select-text border-b border-floating-border px-8 pb-2 text-3xl font-medium leading-relaxed",
|
|
204
|
+
children: r
|
|
205
|
+
}
|
|
206
|
+
) : null }) : null,
|
|
207
|
+
/* @__PURE__ */ t(
|
|
208
|
+
R.section,
|
|
209
|
+
{
|
|
210
|
+
ref: G,
|
|
211
|
+
"data-component": "modal-body",
|
|
212
|
+
className: N("flex-1 select-text overflow-y-auto px-8 py-1", w),
|
|
213
|
+
onTouchEnd: async () => {
|
|
214
|
+
if (k.set(void 0), X.set(void 0), x.current) {
|
|
215
|
+
const h = m.get() || 0, u = window.innerHeight * 0.2;
|
|
216
|
+
h > u ? (await Z(m, window.innerHeight, { duration: 0.2, ease: "easeIn" }).finished, l(!1)) : Z(m, 0, { type: "spring", bounce: 0, duration: 0.3 }), x.current = !1;
|
|
217
|
+
}
|
|
218
|
+
},
|
|
219
|
+
onTouchStart: (h) => {
|
|
220
|
+
const u = h.changedTouches[0];
|
|
221
|
+
X.set(u.pageY), k.set(u.pageY), x.current = !1;
|
|
222
|
+
},
|
|
223
|
+
onTouchMove: (h) => {
|
|
224
|
+
const b = h.changedTouches[0].pageY, Y = k.get() || b, j = G.current?.scrollTop || 0;
|
|
225
|
+
if (!x.current && j <= 0 && b > Y && g === "sheet" && (x.current = !0, V.current = b), x.current) {
|
|
226
|
+
const y = b - V.current;
|
|
227
|
+
y < 0 ? m.set(y * 0.2) : m.set(y);
|
|
228
|
+
}
|
|
229
|
+
k.set(b);
|
|
230
|
+
},
|
|
231
|
+
children: i
|
|
232
|
+
}
|
|
233
|
+
),
|
|
234
|
+
a ? /* @__PURE__ */ t("footer", { className: "w-full select-text border-t border-floating-border px-8 pt-4", children: a }) : null,
|
|
235
|
+
H ? /* @__PURE__ */ t("nav", { className: "absolute right-4 top-1 z-floating", children: /* @__PURE__ */ t(
|
|
236
|
+
"button",
|
|
237
|
+
{
|
|
238
|
+
type: "button",
|
|
239
|
+
onClick: be,
|
|
240
|
+
className: "p-1 opacity-70 transition-colors hover:text-danger hover:opacity-100 focus:text-danger",
|
|
241
|
+
children: /* @__PURE__ */ t(Ke, {})
|
|
242
|
+
}
|
|
243
|
+
) }) : null
|
|
244
|
+
]
|
|
245
|
+
}
|
|
246
|
+
) }) })
|
|
247
|
+
}
|
|
248
|
+
) : null }) }) })
|
|
249
|
+
] });
|
|
250
|
+
}
|
|
251
|
+
);
|
|
252
|
+
let ne = async (e) => (typeof window < "u" && console.warn("ConfirmationProvider is not mounted"), !1);
|
|
253
|
+
oe.confirm = (e) => ne(e);
|
|
254
|
+
const pt = ({ children: e }) => {
|
|
255
|
+
const [r, a] = E(!1), [o, n] = E({}), [i, l] = E(() => {
|
|
256
|
+
}), p = je((d) => (n(d), a(!0), new Promise((v) => {
|
|
257
|
+
l(() => v);
|
|
258
|
+
})), []);
|
|
259
|
+
_(() => {
|
|
260
|
+
ne = p;
|
|
261
|
+
}, [p]);
|
|
262
|
+
const P = () => {
|
|
263
|
+
a(!1);
|
|
264
|
+
const d = o.confirm?.value ?? !0;
|
|
265
|
+
i(d ?? !0);
|
|
266
|
+
}, w = () => {
|
|
267
|
+
a(!1);
|
|
268
|
+
const d = o.cancel?.value ?? !1;
|
|
269
|
+
i(d ?? !1);
|
|
270
|
+
};
|
|
271
|
+
return /* @__PURE__ */ F(q.Provider, { value: p, children: [
|
|
272
|
+
e,
|
|
273
|
+
/* @__PURE__ */ t(
|
|
274
|
+
oe,
|
|
275
|
+
{
|
|
276
|
+
open: r,
|
|
277
|
+
type: "dialog",
|
|
278
|
+
closable: !1,
|
|
279
|
+
onChange: a,
|
|
280
|
+
overlayClickClose: !1,
|
|
281
|
+
title: o.title || "Confirmation",
|
|
282
|
+
className: "container max-w-dialog lg:max-w-96",
|
|
283
|
+
footer: /* @__PURE__ */ F("div", { className: "flex justify-end gap-2", children: [
|
|
284
|
+
/* @__PURE__ */ t(U, { theme: o.cancel?.theme || "ghost-muted", onClick: w, children: o.cancel?.text || "Cancel" }),
|
|
285
|
+
/* @__PURE__ */ t(U, { autoFocus: !0, theme: o.confirm?.theme || "primary", onClick: P, children: o.confirm?.text || "Confirm" })
|
|
286
|
+
] }),
|
|
287
|
+
children: /* @__PURE__ */ t("div", { className: "py-2 text-foreground", children: o.description })
|
|
288
|
+
}
|
|
289
|
+
)
|
|
290
|
+
] });
|
|
291
|
+
};
|
|
292
|
+
export {
|
|
293
|
+
oe as Modal,
|
|
294
|
+
pt as ModalConfirmProvider,
|
|
295
|
+
ht as useConfirm
|
|
296
|
+
};
|
|
297
|
+
//# sourceMappingURL=modal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modal.js","sources":["../../../src/hooks/use-media-query.ts","../../../src/hooks/use-floating-ref.ts","../../../src/components/floating/modal.tsx"],"sourcesContent":["import { useLayoutEffect, useState } from \"react\";\nimport { isSsr } from \"../lib/fns\";\n\nconst getMatches = (query: string, defaultValue: boolean): boolean => {\n if (isSsr()) {\n return defaultValue;\n }\n return window.matchMedia(query).matches;\n};\n\nexport const useMediaQuery = (query: string, defaultValue: boolean = true) => {\n const [matches, setMatches] = useState(defaultValue);\n\n useLayoutEffect(() => {\n const matchMedia = window.matchMedia(query);\n const onChange = () => setMatches(getMatches(query, defaultValue));\n onChange();\n if (matchMedia.addListener) {\n matchMedia.addListener(onChange);\n return () => {\n return matchMedia.removeListener ? matchMedia.removeListener(onChange) : undefined;\n };\n }\n matchMedia.addEventListener(\"change\", onChange);\n return () => matchMedia.removeEventListener(\"change\", onChange);\n }, [query]);\n\n return matches;\n};\n","import { useContext } from \"react\";\nimport { Context } from \"../config/context\";\n\nexport const useFloatingRef = () => {\n const ctx = useContext(Context);\n return ctx.floatingRef ?? undefined;\n};\n","\"use client\";\nimport {\n FloatingFocusManager,\n FloatingOverlay,\n FloatingPortal,\n useClick,\n useDismiss,\n useFloating,\n useInteractions,\n useRole,\n type ElementProps,\n} from \"@floating-ui/react\";\nimport { cva } from \"class-variance-authority\";\nimport { XIcon } from \"lucide-react\";\nimport {\n AnimatePresence,\n HTMLMotionProps,\n motion,\n MotionConfig,\n MotionValue,\n PanInfo,\n TargetAndTransition,\n useMotionValue,\n animate,\n} from \"motion/react\";\nimport { Slot } from \"../core/slot\";\nimport React, {\n ForwardedRef,\n forwardRef,\n Fragment,\n PropsWithChildren,\n useEffect,\n useId,\n useImperativeHandle,\n useRef,\n useState,\n useCallback,\n} from \"react\";\nimport { useMediaQuery } from \"../../hooks/use-media-query\";\nimport { css, mergeRefs } from \"../../lib/dom\";\nimport { Label, Nil, Override } from \"../../types\";\nimport { useFloatingRef } from \"../../hooks/use-floating-ref\";\nimport { Button, ButtonProps } from \"../core/button\";\n\ntype AnimationLabels = \"initial\" | \"enter\" | \"exit\";\n\nconst ConfirmContext = React.createContext<(options: ConfirmOptions) => Promise<boolean>>(async () => false);\n\nexport const useConfirm = () => React.useContext(ConfirmContext);\n\nexport type ModalType = \"dialog\" | \"drawer\" | \"sheet\";\n\nexport type DrawerPosition = \"left\" | \"right\";\n\ntype Animations = {\n sheet: Record<AnimationLabels, TargetAndTransition>;\n dialog: Record<AnimationLabels, TargetAndTransition>;\n drawer: (type: DrawerPosition) => Record<AnimationLabels, TargetAndTransition>;\n};\n\nconst animationDuration = \"500ms\";\n\nconst drawerLeft: Record<string, TargetAndTransition> = {\n exit: { x: [\"0%\", \"-30%\"], opacity: 0, animationDuration },\n enter: { x: [\"-30%\", \"0%\"], opacity: 1, animationDuration },\n initial: { x: [\"-30%\", \"0%\"], opacity: 0.8, animationDuration },\n};\n\nconst drawerRight: Record<string, TargetAndTransition> = {\n enter: { x: \"0%\", opacity: 1, animationDuration },\n exit: { x: [\"0%\", \"30%\"], opacity: 0, animationDuration },\n initial: { x: [\"30%\", \"0%\"], opacity: 0.8, animationDuration },\n};\n\nconst animations: Animations = {\n drawer: (type) => (type === \"left\" ? drawerLeft : drawerRight),\n sheet: {\n enter: { opacity: 1, y: \"0%\", animationDuration, transformOrigin: \"bottom\" },\n exit: { opacity: 0.4, y: \"10%\", animationDuration, transformOrigin: \"bottom\" },\n initial: { opacity: 0.7, y: \"10%\", animationDuration, transformOrigin: \"bottom\" },\n },\n dialog: {\n exit: { opacity: 0, scale: 0.95, animationDuration },\n enter: { opacity: 1, scale: [1.05, 1], animationDuration },\n initial: { opacity: 0.5, scale: 0.95, animationDuration, transition: { duration: 0.5, ease: \"easeInOut\" } },\n },\n};\n\nconst variants = cva(\n \"z-floating border border-floating-border ring-0 outline-0 appearance-none flex flex-col gap-4 flex-nowrap min-w-xs bg-floating-background\",\n {\n variants: {\n type: {\n drawer: \"max-h-screen max-w-[90%] absolute w-fit h-screen min-h-0\",\n dialog: \"max-h-[calc(100lvh-10%)] relative container h-min rounded-lg py-4\",\n sheet: \"w-screen absolute bottom-0 max-h-[calc(100vh-15%)] max-h-[calc(100svh-5%)] h-screen pt-6 pb-4 rounded-t-lg\",\n },\n position: {\n none: \"\",\n right: \"py-4 absolute right-0 top-0 rounded-l-lg\",\n left: \"py-4 absolute left-0 top-0 rounded-r-lg\",\n },\n },\n defaultVariants: { position: \"right\", type: \"dialog\" },\n }\n);\n\nexport type ModalProps = Override<\n HTMLMotionProps<\"div\">,\n ({ title: Label; ariaTitle?: string } | { ariaTitle: string; title?: Label }) & {\n open: boolean;\n onChange: (nextState: boolean) => void;\n } & Partial<{\n footer: Label;\n type: ModalType;\n animated: boolean;\n asChild: boolean;\n layoutId: string;\n resizer: boolean;\n className: string;\n closable: boolean;\n forceType: boolean;\n bodyClassName: string;\n overlayClassName: string;\n position: DrawerPosition;\n overlayClickClose: boolean;\n closeOnFocusOut: boolean;\n role: \"dialog\";\n interactions: ElementProps[];\n trigger: Label | React.FC<any>;\n }>\n>;\n\ntype DraggableProps = {\n sheet: boolean;\n position: DrawerPosition;\n parent: React.RefObject<HTMLElement>;\n onChange: (nextState: boolean) => void;\n value: MotionValue<number | undefined>;\n};\n\nconst dragConstraints = { top: 0, left: 0, right: 0, bottom: 0 };\n\nconst calculateClose = (n: number) => n * 0.6;\n\nconst Draggable = (props: DraggableProps) => {\n const onDrag = (e: Event, info: PanInfo) => {\n if (props.parent.current) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n if (props.sheet) {\n const div = props.parent.current as HTMLElement;\n const rect = div.getBoundingClientRect();\n const v = props.value.get() || rect.height;\n const result = Math.abs(v - info.delta.y);\n const max = window.outerHeight;\n const screenHeightToClose = calculateClose(max);\n if (result >= screenHeightToClose) return props.value.set(result);\n if (document.activeElement instanceof HTMLElement) {\n document.activeElement?.blur();\n }\n props.onChange(false);\n return setTimeout(() => props.value.set(undefined), 350);\n }\n const div = props.parent.current as HTMLElement;\n const v = props.value.get() || div.getBoundingClientRect().width;\n const delta = props.position === \"right\" ? -info.delta.x : info.delta.x;\n const value = Math.abs(v + delta);\n return props.value.set(value);\n }\n };\n\n return (\n <motion.button\n draggable\n dragListener\n dragMomentum\n type=\"button\"\n animate={false}\n dragElastic={0}\n dragPropagation\n initial={false}\n onDrag={onDrag}\n dragSnapToOrigin\n dragDirectionLock\n drag={props.sheet ? \"y\" : \"x\"}\n dragConstraints={dragConstraints}\n whileDrag={{ cursor: \"grabbing\" }}\n className={css(\n \"absolute isolate z-calendar rounded-lg\",\n props.sheet ? \"cursor-row-resize\" : \"cursor-col-resize bg-floating-border\",\n props.sheet\n ? \"top-1 flex h-3 w-full justify-center py-2\"\n : props.position === \"left\"\n ? \"right-5 top-1/2 h-10 w-2\"\n : \"left-2 top-1/2 h-10 w-2\"\n )}\n >\n {props.sheet ? <div className=\"h-2 w-1/4 rounded-lg bg-floating-border\" /> : null}\n </motion.button>\n );\n};\n\nconst positions = { drawer: \"right\", sheet: \"none\", dialog: \"none\" } as const;\n\nconst fetchPosition = (isDesktop: Nil<boolean>, forceType: Nil<boolean>, propsType: Nil<ModalType>, propsPosition: Nil<DrawerPosition>) => {\n const type = propsType || \"dialog\";\n if (isDesktop) return propsType === \"drawer\" ? (propsPosition ?? positions.drawer) : positions[type];\n return forceType ? positions[type] : positions.sheet;\n};\n\nexport type ModalRef = { context: any; floating: HTMLElement | null };\n\nconst noop: any[] = [];\n\ntype ModalComponent = React.FC<ModalProps> & {\n confirm: <T>(options: ConfirmOptions) => Promise<T>;\n};\n\nexport const Modal: ModalComponent = forwardRef<ModalRef, PropsWithChildren<ModalProps>>(\n (\n {\n open,\n title,\n footer,\n asChild,\n trigger,\n children,\n onChange,\n ariaTitle,\n className,\n bodyClassName,\n resizer = true,\n animated = true,\n closable = true,\n forceType = false,\n layoutId = undefined,\n overlayClassName = \"\",\n type: _type = \"dialog\",\n position: propsPosition,\n overlayClickClose = false,\n closeOnFocusOut = false,\n interactions: outInteractions = noop,\n ...props\n }: PropsWithChildren<ModalProps>,\n externalRef: ForwardedRef<ModalRef>\n ) => {\n const root = useFloatingRef();\n const innerContent = useRef<HTMLDivElement>(null);\n const removeScrollRef = useRef<HTMLDivElement>(null);\n const headingId = useId();\n const descriptionId = useId();\n const isDesktop = useMediaQuery(\"(min-width: 64rem)\");\n const position = fetchPosition(isDesktop, forceType, _type, propsPosition);\n const func = isDesktop ? animations[_type] : forceType ? animations[_type] : animations.sheet;\n const animation = typeof func === \"function\" ? func(position as DrawerPosition) : func;\n const type = isDesktop ? _type : forceType ? _type : \"sheet\";\n const useResizer = type !== \"dialog\";\n\n const floating = useFloating({ open, onOpenChange: onChange, strategy: \"fixed\" });\n const click = useClick(floating.context, {});\n const role = useRole(floating.context, { role: \"dialog\" });\n const dismiss = useDismiss(floating.context, {\n bubbles: true,\n escapeKey: true,\n outsidePress: (event) => {\n const target = event.target as Node;\n return overlayClickClose && !!target?.isConnected;\n },\n });\n\n const interactions = useInteractions([click, dismiss, role].concat(outInteractions));\n\n const Trigger = trigger as any;\n\n const floatingSize = useMotionValue<number | undefined>(undefined);\n const sheetY = useMotionValue<number | undefined>(undefined);\n const isDragging = useRef(false);\n const dragStart = useRef(0);\n\n useEffect(() => {\n floatingSize.set(undefined);\n sheetY.set(undefined);\n }, [type, floatingSize, sheetY]);\n\n const onClose = () => onChange(false);\n\n useImperativeHandle(externalRef, () => ({ context: floating.context, floating: removeScrollRef.current }), [\n floating.context,\n removeScrollRef,\n ]);\n\n const onDragHeader = (_: MouseEvent | TouchEvent | PointerEvent, info: PanInfo) => {\n const div = floating.refs.floating.current as HTMLElement;\n const rect = div.getBoundingClientRect();\n const v = floatingSize.get() || rect.height;\n const result = Math.abs(v - info.delta.y);\n const max = window.outerHeight;\n const screenHeightToClose = calculateClose(max);\n if (result >= screenHeightToClose) return floatingSize.set(result);\n if (document.activeElement instanceof HTMLElement) {\n document.activeElement?.blur();\n }\n onChange?.(false);\n return setTimeout(() => floatingSize.set(undefined), 350);\n };\n\n const draggableMotionProps =\n type === \"sheet\"\n ? ({\n drag: \"y\",\n animate: false,\n dragElastic: 0,\n initial: false,\n dragConstraints,\n draggable: true,\n dragListener: true,\n dragMomentum: true,\n onDrag: onDragHeader,\n dragPropagation: true,\n dragSnapToOrigin: true,\n dragDirectionLock: true,\n whileDrag: { cursor: \"grabbing\" },\n } as const)\n : { animate: animated, initial: false };\n\n const scrollInitial = useMotionValue<number | undefined>(undefined);\n const scroll = useMotionValue<number | undefined>(undefined);\n\n const Component = asChild ? Slot : motion.button;\n\n return (\n <Fragment>\n {trigger ? (\n <Component ref={floating.refs.setReference} {...interactions.getReferenceProps()} layoutId={layoutId} type=\"button\">\n {Trigger}\n </Component>\n ) : null}\n <MotionConfig reducedMotion={animated ? \"user\" : \"always\"}>\n <FloatingPortal preserveTabOrder root={root}>\n <AnimatePresence mode=\"wait\" propagate>\n {open ? (\n <FloatingOverlay\n lockScroll\n className={css(\n \"inset-0 isolate z-overlay flex h-[100dvh] !overflow-clip bg-floating-overlay/80\",\n type === \"drawer\" ? \"\" : \"items-start justify-center pt-10 lg:p-10\",\n overlayClassName\n )}\n >\n <FloatingFocusManager guards modal closeOnFocusOut={closeOnFocusOut} context={floating.context}>\n <AnimatePresence propagate>\n <motion.div\n {...props}\n {...(title\n ? {\n \"aria-labelledby\": headingId,\n \"aria-describedby\": descriptionId,\n }\n : { \"aria-label\": ariaTitle })}\n {...interactions.getFloatingProps({\n \"aria-modal\": open,\n ref: mergeRefs(floating.refs.setFloating, removeScrollRef) as any,\n className: css(variants({ position, type }), className, \"isolate overscroll-contain\"),\n })}\n exit=\"exit\"\n layout={true}\n animate=\"enter\"\n initial=\"initial\"\n layoutId={layoutId}\n variants={animation}\n data-component=\"modal\"\n style={type === \"drawer\" ? { width: floatingSize } : { height: floatingSize, y: sheetY }}\n >\n {useResizer && resizer ? (\n <Draggable\n onChange={onChange}\n value={floatingSize}\n sheet={type === \"sheet\"}\n position={position as DrawerPosition}\n parent={floating.refs.floating as any}\n />\n ) : null}\n {title ? (\n <motion.header {...draggableMotionProps} className=\"relative isolate w-full\">\n {title ? (\n <h2\n id={headingId}\n className=\"block select-text border-b border-floating-border px-8 pb-2 text-3xl font-medium leading-relaxed\"\n >\n {title}\n </h2>\n ) : null}\n </motion.header>\n ) : null}\n <motion.section\n ref={innerContent}\n data-component=\"modal-body\"\n className={css(\"flex-1 select-text overflow-y-auto px-8 py-1\", bodyClassName)}\n onTouchEnd={async () => {\n scroll.set(undefined);\n scrollInitial.set(undefined);\n\n if (isDragging.current) {\n const currentY = sheetY.get() || 0;\n const threshold = window.innerHeight * 0.2;\n\n if (currentY > threshold) {\n await animate(sheetY as any, window.innerHeight, { duration: 0.2, ease: \"easeIn\" })\n .finished;\n onChange(false);\n } else {\n animate(sheetY as any, 0, { type: \"spring\", bounce: 0, duration: 0.3 });\n }\n isDragging.current = false;\n }\n }}\n onTouchStart={(e) => {\n const touch = e.changedTouches[0];\n scrollInitial.set(touch.pageY);\n scroll.set(touch.pageY);\n isDragging.current = false;\n }}\n onTouchMove={(e) => {\n const touch = e.changedTouches[0];\n const y = touch.pageY;\n const prevY = scroll.get() || y;\n const scrollTop = innerContent.current?.scrollTop || 0;\n\n if (!isDragging.current && scrollTop <= 0 && y > prevY && type === \"sheet\") {\n isDragging.current = true;\n dragStart.current = y;\n }\n\n if (isDragging.current) {\n const delta = y - dragStart.current;\n if (delta < 0) {\n sheetY.set(delta * 0.2);\n } else {\n sheetY.set(delta);\n }\n }\n\n scroll.set(y);\n }}\n >\n {children}\n </motion.section>\n {footer ? (\n <footer className=\"w-full select-text border-t border-floating-border px-8 pt-4\">{footer}</footer>\n ) : null}\n {closable ? (\n <nav className=\"absolute right-4 top-1 z-floating\">\n <button\n type=\"button\"\n onClick={onClose}\n className=\"p-1 opacity-70 transition-colors hover:text-danger hover:opacity-100 focus:text-danger\"\n >\n <XIcon />\n </button>\n </nav>\n ) : null}\n </motion.div>\n </AnimatePresence>\n </FloatingFocusManager>\n </FloatingOverlay>\n ) : null}\n </AnimatePresence>\n </FloatingPortal>\n </MotionConfig>\n </Fragment>\n );\n }\n) as any;\n\ntype ButtonConfirmationAction = {\n value?: any;\n text?: Label;\n theme?: ButtonProps[\"theme\"];\n};\n\nexport type ConfirmOptions = {\n title?: Label;\n description?: Label;\n cancel?: ButtonConfirmationAction;\n confirm?: ButtonConfirmationAction;\n};\n\ntype ConfirmContextType = (options: ConfirmOptions) => Promise<boolean>;\n\nlet confirmGlobal: ConfirmContextType = async <T extends any>(options: ConfirmOptions): Promise<T> => {\n if (typeof window !== \"undefined\") {\n console.warn(\"ConfirmationProvider is not mounted\");\n }\n return false as T;\n};\n\nModal.confirm = <T extends any>(options: ConfirmOptions): Promise<T> => confirmGlobal(options) as any;\n\nexport const ModalConfirmProvider = ({ children }: { children: React.ReactNode }) => {\n const [open, setOpen] = useState(false);\n const [options, setOptions] = useState<Partial<ConfirmOptions>>({});\n const [resolve, setResolve] = useState<(value: boolean) => void>(() => {});\n\n const confirmAction = useCallback((opts: ConfirmOptions): Promise<boolean> => {\n setOptions(opts);\n setOpen(true);\n return new Promise((res) => {\n setResolve(() => res);\n });\n }, []);\n\n useEffect(() => {\n confirmGlobal = confirmAction;\n }, [confirmAction]);\n\n const onConfirm = () => {\n setOpen(false);\n const value = options.confirm?.value ?? true;\n resolve(value ?? true);\n };\n\n const onCancel = () => {\n setOpen(false);\n const value = options.cancel?.value ?? false;\n resolve(value ?? false);\n };\n\n return (\n <ConfirmContext.Provider value={confirmAction}>\n {children}\n <Modal\n open={open}\n type=\"dialog\"\n closable={false}\n onChange={setOpen}\n overlayClickClose={false}\n title={options.title || \"Confirmation\"}\n className=\"container max-w-dialog lg:max-w-96\"\n footer={\n <div className=\"flex justify-end gap-2\">\n <Button theme={options.cancel?.theme || \"ghost-muted\"} onClick={onCancel}>\n {options.cancel?.text || \"Cancel\"}\n </Button>\n <Button autoFocus theme={options.confirm?.theme || \"primary\"} onClick={onConfirm}>\n {options.confirm?.text || \"Confirm\"}\n </Button>\n </div>\n }\n >\n <div className=\"py-2 text-foreground\">{options.description}</div>\n </Modal>\n </ConfirmContext.Provider>\n );\n};\n"],"names":["getMatches","query","defaultValue","isSsr","useMediaQuery","matches","setMatches","useState","useLayoutEffect","matchMedia","onChange","useFloatingRef","useContext","Context","ConfirmContext","React","useConfirm","animationDuration","drawerLeft","drawerRight","animations","type","variants","cva","dragConstraints","calculateClose","n","Draggable","props","onDrag","e","info","rect","v","result","max","screenHeightToClose","div","delta","value","jsx","motion","css","positions","fetchPosition","isDesktop","forceType","propsType","propsPosition","noop","Modal","forwardRef","open","title","footer","asChild","trigger","children","ariaTitle","className","bodyClassName","resizer","animated","closable","layoutId","overlayClassName","_type","overlayClickClose","closeOnFocusOut","outInteractions","externalRef","root","innerContent","useRef","removeScrollRef","headingId","useId","descriptionId","position","func","animation","useResizer","floating","useFloating","click","useClick","role","useRole","dismiss","useDismiss","event","target","interactions","useInteractions","Trigger","floatingSize","useMotionValue","sheetY","isDragging","dragStart","useEffect","onClose","useImperativeHandle","draggableMotionProps","_","scrollInitial","scroll","Component","Slot","Fragment","MotionConfig","FloatingPortal","AnimatePresence","FloatingOverlay","FloatingFocusManager","jsxs","mergeRefs","currentY","threshold","animate","touch","y","prevY","scrollTop","XIcon","confirmGlobal","options","ModalConfirmProvider","setOpen","setOptions","resolve","setResolve","confirmAction","useCallback","opts","res","onConfirm","onCancel","Button"],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { jsxs as u, jsx as n } from "react/jsx-runtime";
|
|
2
|
+
import { u as N, i as S, d as T, B as j, n as B, C as L, v as z, w as G, c as H, F as M, e as U, s as W, o as Y, m as _, a as q, f as J, b as K } from "../../floating-ui.react-DycKASR0.js";
|
|
3
|
+
import { forwardRef as Q, useState as V, useRef as X, useEffect as Z, Fragment as $ } from "react";
|
|
4
|
+
import { P as oo } from "../../polymorph-B5n9fs_K.js";
|
|
5
|
+
import { F as eo } from "../../constants-r-AHn273.js";
|
|
6
|
+
import { m as to } from "../../dom-Dl8XH0CK.js";
|
|
7
|
+
import { n as so } from "../../fns-D2eyJKd5.js";
|
|
8
|
+
const mo = Q(
|
|
9
|
+
function({
|
|
10
|
+
as: m,
|
|
11
|
+
open: t,
|
|
12
|
+
title: p,
|
|
13
|
+
children: g,
|
|
14
|
+
placement: h,
|
|
15
|
+
focus: l = !0,
|
|
16
|
+
hover: a = !0,
|
|
17
|
+
enabled: e = !0,
|
|
18
|
+
popover: s = !0,
|
|
19
|
+
onChange: F = so,
|
|
20
|
+
followCursor: w = !1,
|
|
21
|
+
...C
|
|
22
|
+
}, P) {
|
|
23
|
+
const [i, r] = V(t ?? !1), f = X(null), b = m || "span", k = (d) => {
|
|
24
|
+
r(d), F?.(d);
|
|
25
|
+
}, { refs: c, floatingStyles: R, context: o } = N({
|
|
26
|
+
placement: h,
|
|
27
|
+
open: i,
|
|
28
|
+
whileElementsMounted: K,
|
|
29
|
+
onOpenChange: t ? void 0 : k,
|
|
30
|
+
middleware: [W(), Y(5), _(), q({ padding: 5, element: f }), J({ fallbackAxisSideDirection: "start" })]
|
|
31
|
+
}), v = S(o, { enabled: e }), x = T(o, { role: "tooltip", enabled: e }), y = j(o, { enabled: e ? l : !1 }), A = B(o, { enabled: e ? s : !1 }), O = L(o, { enabled: !!e && !!w }), D = z(o, {
|
|
32
|
+
move: !0,
|
|
33
|
+
delay: { open: eo },
|
|
34
|
+
enabled: e ? a : !1,
|
|
35
|
+
handleClose: s ? G() : null
|
|
36
|
+
}), { getReferenceProps: E, getFloatingProps: I } = H([
|
|
37
|
+
x,
|
|
38
|
+
v,
|
|
39
|
+
O,
|
|
40
|
+
l ? y : void 0,
|
|
41
|
+
a ? D : void 0,
|
|
42
|
+
s ? A : void 0
|
|
43
|
+
]);
|
|
44
|
+
return Z(() => r(t === void 0 ? !1 : t), [t]), /* @__PURE__ */ u($, { children: [
|
|
45
|
+
/* @__PURE__ */ n(b, { ...E(C), ref: to(c.setReference, P), children: p }),
|
|
46
|
+
i && /* @__PURE__ */ n(M, { children: /* @__PURE__ */ u(
|
|
47
|
+
oo,
|
|
48
|
+
{
|
|
49
|
+
...I(),
|
|
50
|
+
ref: c.setFloating,
|
|
51
|
+
style: R,
|
|
52
|
+
className: "isolate z-tooltip rounded-lg border border-tooltip-border bg-tooltip-background p-3 text-tooltip-foreground shadow-shadow-floating",
|
|
53
|
+
children: [
|
|
54
|
+
/* @__PURE__ */ n(
|
|
55
|
+
U,
|
|
56
|
+
{
|
|
57
|
+
ref: f,
|
|
58
|
+
context: o,
|
|
59
|
+
strokeWidth: 0.1,
|
|
60
|
+
className: "fill-tooltip-background stroke-tooltip-border"
|
|
61
|
+
}
|
|
62
|
+
),
|
|
63
|
+
g
|
|
64
|
+
]
|
|
65
|
+
}
|
|
66
|
+
) })
|
|
67
|
+
] });
|
|
68
|
+
}
|
|
69
|
+
);
|
|
70
|
+
export {
|
|
71
|
+
mo as Tooltip
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=tooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltip.js","sources":["../../../src/components/floating/tooltip.tsx"],"sourcesContent":["\"use client\";\nimport {\n arrow,\n autoPlacement,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingPortal,\n offset,\n type Placement,\n safePolygon,\n shift,\n useClick,\n useClientPoint,\n useDismiss,\n useFloating,\n useFocus,\n useHover,\n useInteractions,\n useRole,\n} from \"@floating-ui/react\";\nimport React, { forwardRef, Fragment, useEffect, useRef, useState } from \"react\";\nimport { Polymorph, PolymorphicProps } from \"../../components/core/polymorph\";\nimport { FLOATING_DELAY } from \"../../constants\";\nimport { mergeRefs } from \"../../lib/dom\";\nimport { noop } from \"../../lib/fns\";\nimport { ComponentLike, Label } from \"../../types\";\n\nexport type TooltipProps<T extends React.ElementType = \"span\"> = PolymorphicProps<\n {\n title: Label;\n open?: boolean;\n focus?: boolean;\n hover?: boolean;\n enabled?: boolean;\n popover?: boolean;\n placement?: Placement;\n followCursor?: boolean;\n onChange?: (b: boolean) => void;\n },\n T\n>;\n\nexport const Tooltip: <T extends ComponentLike = \"span\">(_: TooltipProps<T>) => React.ReactElement = forwardRef<HTMLSpanElement, TooltipProps>(\n function Tooltip<T extends ComponentLike = \"span\">(\n {\n as,\n open,\n title,\n children,\n placement,\n focus = true,\n hover = true,\n enabled = true,\n popover = true,\n onChange = noop,\n followCursor = false,\n ...props\n }: TooltipProps<T>,\n outerRef: any\n ) {\n const [innerOpen, setInnerOpen] = useState<boolean>(open ?? false);\n const arrowRef = useRef(null);\n const Component: any = as || \"span\";\n const toggleBoth = (b: boolean) => {\n setInnerOpen(b);\n onChange?.(b);\n };\n const { refs, floatingStyles, context } = useFloating({\n placement,\n open: innerOpen,\n whileElementsMounted: autoUpdate,\n onOpenChange: open ? undefined : toggleBoth,\n middleware: [shift(), offset(5), autoPlacement(), arrow({ padding: 5, element: arrowRef }), flip({ fallbackAxisSideDirection: \"start\" })],\n });\n const dismiss = useDismiss(context, { enabled });\n const role = useRole(context, { role: \"tooltip\", enabled });\n const focusController = useFocus(context, { enabled: enabled ? focus : false });\n const clickController = useClick(context, { enabled: enabled ? popover : false });\n const clientPoint = useClientPoint(context, { enabled: !!enabled && !!followCursor });\n const hoverController = useHover(context, {\n move: true,\n delay: { open: FLOATING_DELAY },\n enabled: enabled ? hover : false,\n handleClose: popover ? safePolygon() : null,\n });\n const { getReferenceProps, getFloatingProps } = useInteractions([\n role,\n dismiss,\n clientPoint,\n focus ? focusController : undefined,\n hover ? hoverController : undefined,\n popover ? clickController : undefined,\n ]);\n\n useEffect(() => {\n if (open === undefined) return setInnerOpen(false);\n return setInnerOpen(open);\n }, [open]);\n\n return (\n <Fragment>\n <Component {...getReferenceProps(props)} ref={mergeRefs(refs.setReference, outerRef)}>\n {title}\n </Component>\n {innerOpen && (\n <FloatingPortal>\n <Polymorph\n {...getFloatingProps()}\n ref={refs.setFloating}\n style={floatingStyles}\n className=\"isolate z-tooltip rounded-lg border border-tooltip-border bg-tooltip-background p-3 text-tooltip-foreground shadow-shadow-floating\"\n >\n <FloatingArrow\n ref={arrowRef}\n context={context}\n strokeWidth={0.1}\n className=\"fill-tooltip-background stroke-tooltip-border\"\n />\n {children}\n </Polymorph>\n </FloatingPortal>\n )}\n </Fragment>\n );\n }\n) as any;\n"],"names":["Tooltip","forwardRef","as","open","title","children","placement","focus","hover","enabled","popover","onChange","noop","followCursor","props","outerRef","innerOpen","setInnerOpen","useState","arrowRef","useRef","Component","toggleBoth","b","refs","floatingStyles","context","useFloating","autoUpdate","shift","offset","autoPlacement","arrow","flip","dismiss","useDismiss","role","useRole","focusController","useFocus","clickController","useClick","clientPoint","useClientPoint","hoverController","useHover","FLOATING_DELAY","safePolygon","getReferenceProps","getFloatingProps","useInteractions","useEffect","Fragment","jsx","mergeRefs","FloatingPortal","jsxs","Polymorph","FloatingArrow"],"mappings":";;;;;;;AA2CO,MAAMA,KAAwFC;AAAA,EACjG,SACI;AAAA,IACI,IAAAC;AAAA,IACA,MAAAC;AAAA,IACA,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,OAAAC,IAAQ;AAAA,IACR,OAAAC,IAAQ;AAAA,IACR,SAAAC,IAAU;AAAA,IACV,SAAAC,IAAU;AAAA,IACV,UAAAC,IAAWC;AAAA,IACX,cAAAC,IAAe;AAAA,IACf,GAAGC;AAAA,EAAA,GAEPC,GACF;AACE,UAAM,CAACC,GAAWC,CAAY,IAAIC,EAAkBf,KAAQ,EAAK,GAC3DgB,IAAWC,EAAO,IAAI,GACtBC,IAAiBnB,KAAM,QACvBoB,IAAa,CAACC,MAAe;AAC/B,MAAAN,EAAaM,CAAC,GACdZ,IAAWY,CAAC;AAAA,IAAA,GAEV,EAAE,MAAAC,GAAM,gBAAAC,GAAgB,SAAAC,EAAA,IAAYC,EAAY;AAAA,MAClD,WAAArB;AAAA,MACA,MAAMU;AAAA,MACN,sBAAsBY;AAAA,MACtB,cAAczB,IAAO,SAAYmB;AAAA,MACjC,YAAY,CAACO,KAASC,EAAO,CAAC,GAAGC,EAAA,GAAiBC,EAAM,EAAE,SAAS,GAAG,SAASb,GAAU,GAAGc,EAAK,EAAE,2BAA2B,SAAS,CAAC;AAAA,IAAA,CAC3I,GACKC,IAAUC,EAAWT,GAAS,EAAE,SAAAjB,GAAS,GACzC2B,IAAOC,EAAQX,GAAS,EAAE,MAAM,WAAW,SAAAjB,GAAS,GACpD6B,IAAkBC,EAASb,GAAS,EAAE,SAASjB,IAAUF,IAAQ,IAAO,GACxEiC,IAAkBC,EAASf,GAAS,EAAE,SAASjB,IAAUC,IAAU,IAAO,GAC1EgC,IAAcC,EAAejB,GAAS,EAAE,SAAS,CAAC,CAACjB,KAAW,CAAC,CAACI,GAAc,GAC9E+B,IAAkBC,EAASnB,GAAS;AAAA,MACtC,MAAM;AAAA,MACN,OAAO,EAAE,MAAMoB,GAAA;AAAA,MACf,SAASrC,IAAUD,IAAQ;AAAA,MAC3B,aAAaE,IAAUqC,MAAgB;AAAA,IAAA,CAC1C,GACK,EAAE,mBAAAC,GAAmB,kBAAAC,EAAA,IAAqBC,EAAgB;AAAA,MAC5Dd;AAAA,MACAF;AAAA,MACAQ;AAAA,MACAnC,IAAQ+B,IAAkB;AAAA,MAC1B9B,IAAQoC,IAAkB;AAAA,MAC1BlC,IAAU8B,IAAkB;AAAA,IAAA,CAC/B;AAED,WAAAW,EAAU,MACyBlC,EAA3Bd,MAAS,SAA+B,KACxBA,CAD6B,GAElD,CAACA,CAAI,CAAC,qBAGJiD,GAAA,EACG,UAAA;AAAA,MAAA,gBAAAC,EAAChC,GAAA,EAAW,GAAG2B,EAAkBlC,CAAK,GAAG,KAAKwC,GAAU9B,EAAK,cAAcT,CAAQ,GAC9E,UAAAX,EAAA,CACL;AAAA,MACCY,uBACIuC,GAAA,EACG,UAAA,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACI,GAAGR,EAAA;AAAA,UACJ,KAAKzB,EAAK;AAAA,UACV,OAAOC;AAAA,UACP,WAAU;AAAA,UAEV,UAAA;AAAA,YAAA,gBAAA4B;AAAA,cAACK;AAAA,cAAA;AAAA,gBACG,KAAKvC;AAAA,gBACL,SAAAO;AAAA,gBACA,aAAa;AAAA,gBACb,WAAU;AAAA,cAAA;AAAA,YAAA;AAAA,YAEbrB;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA,EACL,CACJ;AAAA,IAAA,GAER;AAAA,EAAA;AAGZ;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import "react/jsx-runtime";
|
|
2
|
+
import "../../floating-ui.react-DycKASR0.js";
|
|
3
|
+
import "react";
|
|
4
|
+
import "react-dom";
|
|
5
|
+
import "../../index-BtlhELJ3.js";
|
|
6
|
+
import "../../dom-Dl8XH0CK.js";
|
|
7
|
+
import { A as u } from "../../autocomplete-Boida9R7.js";
|
|
8
|
+
import "../../use-translations-BwLKTrZv.js";
|
|
9
|
+
import "../../fns-D2eyJKd5.js";
|
|
10
|
+
import "../../input-field-DTeIrwpK.js";
|
|
11
|
+
import "../../proxy-BZcQiBrp.js";
|
|
12
|
+
import "../../chevron-down-BBFYYzZq.js";
|
|
13
|
+
export {
|
|
14
|
+
u as Autocomplete
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=autocomplete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autocomplete.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { jsxs as b, jsx as d } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as p } from "react";
|
|
3
|
+
import { c as r } from "../../dom-Dl8XH0CK.js";
|
|
4
|
+
const g = p(
|
|
5
|
+
({ children: t, asTask: e = !1, labelClassName: c, loading: i, error: l, className: n = "", size: x, container: s, ...o }, m) => {
|
|
6
|
+
const a = o.disabled || i;
|
|
7
|
+
return /* @__PURE__ */ b(
|
|
8
|
+
"label",
|
|
9
|
+
{
|
|
10
|
+
"aria-disabled": a,
|
|
11
|
+
"data-disabled": a,
|
|
12
|
+
"data-task": e,
|
|
13
|
+
"data-component": "checkbox",
|
|
14
|
+
className: r(
|
|
15
|
+
"group flex w-fit flex-wrap items-center font-normal data-[disabled=true]:cursor-not-allowed",
|
|
16
|
+
e ? "group-checkbox-checked:line-through" : "",
|
|
17
|
+
s
|
|
18
|
+
),
|
|
19
|
+
children: [
|
|
20
|
+
/* @__PURE__ */ d(
|
|
21
|
+
"input",
|
|
22
|
+
{
|
|
23
|
+
...o,
|
|
24
|
+
ref: m,
|
|
25
|
+
disabled: a,
|
|
26
|
+
type: "checkbox",
|
|
27
|
+
"data-task": e,
|
|
28
|
+
className: r(
|
|
29
|
+
"form-checkbox mr-2 inline-block size-4 appearance-none rounded border-card-border bg-origin-border text-primary focus:ring-primary disabled:opacity-70 group-aria-disabled:cursor-not-allowed",
|
|
30
|
+
n
|
|
31
|
+
)
|
|
32
|
+
}
|
|
33
|
+
),
|
|
34
|
+
t,
|
|
35
|
+
/* @__PURE__ */ d("span", { "data-name": "checkbox-label", className: r("min-w-full flex-1 text-xs text-danger empty:mt-0 empty:hidden", c), children: l })
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
);
|
|
41
|
+
export {
|
|
42
|
+
g as Checkbox
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=checkbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkbox.js","sources":["../../../src/components/form/checkbox.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\nimport { css } from \"../../lib/dom\";\nimport { Override } from \"../../types\";\n\nexport type CheckboxProps = Override<\n React.PropsWithChildren<React.ComponentProps<\"input\">>,\n {\n error?: string;\n asTask?: boolean;\n loading?: boolean;\n container?: string;\n labelClassName?: string;\n size?: \"medium\" | \"large\";\n }\n>;\n\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n ({ children, asTask = false, labelClassName, loading, error, className = \"\", size, container, ...props }: CheckboxProps, ref) => {\n const d = props.disabled || loading;\n return (\n <label\n aria-disabled={d}\n data-disabled={d}\n data-task={asTask}\n data-component=\"checkbox\"\n className={css(\n \"group flex w-fit flex-wrap items-center font-normal data-[disabled=true]:cursor-not-allowed\",\n asTask ? \"group-checkbox-checked:line-through\" : \"\",\n container\n )}\n >\n <input\n {...props}\n ref={ref}\n disabled={d}\n type=\"checkbox\"\n data-task={asTask}\n className={css(\n \"form-checkbox mr-2 inline-block size-4 appearance-none rounded border-card-border bg-origin-border text-primary focus:ring-primary disabled:opacity-70 group-aria-disabled:cursor-not-allowed\",\n className\n )}\n />\n {children}\n <span data-name=\"checkbox-label\" className={css(\"min-w-full flex-1 text-xs text-danger empty:mt-0 empty:hidden\", labelClassName)}>\n {error}\n </span>\n </label>\n );\n }\n);\n"],"names":["Checkbox","forwardRef","children","asTask","labelClassName","loading","error","className","size","container","props","ref","d","jsxs","css","jsx"],"mappings":";;;AAgBO,MAAMA,IAAWC;AAAA,EACpB,CAAC,EAAE,UAAAC,GAAU,QAAAC,IAAS,IAAO,gBAAAC,GAAgB,SAAAC,GAAS,OAAAC,GAAO,WAAAC,IAAY,IAAI,MAAAC,GAAM,WAAAC,GAAW,GAAGC,EAAA,GAAwBC,MAAQ;AAC7H,UAAMC,IAAIF,EAAM,YAAYL;AAC5B,WACI,gBAAAQ;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,iBAAeD;AAAA,QACf,iBAAeA;AAAA,QACf,aAAWT;AAAA,QACX,kBAAe;AAAA,QACf,WAAWW;AAAA,UACP;AAAA,UACAX,IAAS,wCAAwC;AAAA,UACjDM;AAAA,QAAA;AAAA,QAGJ,UAAA;AAAA,UAAA,gBAAAM;AAAA,YAAC;AAAA,YAAA;AAAA,cACI,GAAGL;AAAA,cACJ,KAAAC;AAAA,cACA,UAAUC;AAAA,cACV,MAAK;AAAA,cACL,aAAWT;AAAA,cACX,WAAWW;AAAA,gBACP;AAAA,gBACAP;AAAA,cAAA;AAAA,YACJ;AAAA,UAAA;AAAA,UAEHL;AAAA,UACD,gBAAAa,EAAC,UAAK,aAAU,kBAAiB,WAAWD,EAAI,iEAAiEV,CAAc,GAC1H,UAAAE,EAAA,CACL;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACJ;AAGZ;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import "react/jsx-runtime";
|
|
2
|
+
import "react";
|
|
3
|
+
import "../../dom-Dl8XH0CK.js";
|
|
4
|
+
import "../../calendar-BswV66Nx.js";
|
|
5
|
+
import "../../use-translations-BwLKTrZv.js";
|
|
6
|
+
import "../floating/dropdown.js";
|
|
7
|
+
import "../../input-CoJoHIhd.js";
|
|
8
|
+
import { D as c } from "../../date-picker-BxPTdZPy.js";
|
|
9
|
+
export {
|
|
10
|
+
c as DatePicker
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=date-picker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-picker.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import "react/jsx-runtime";
|
|
2
|
+
import { F as l } from "../../file-upload-BB6BdGcE.js";
|
|
3
|
+
import "react";
|
|
4
|
+
import "../../use-translations-BwLKTrZv.js";
|
|
5
|
+
import "../floating/modal.js";
|
|
6
|
+
import "../../file-CBCP85VI.js";
|
|
7
|
+
import "../../x-B9bYxG31.js";
|
|
8
|
+
export {
|
|
9
|
+
l as FileUpload
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=file-upload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-upload.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form.js","sources":["../../../src/components/form/form.tsx"],"sourcesContent":["\"use client\";\nimport React from \"react\";\n\nexport const Form = (props: React.ComponentProps<\"form\">) => {\n const onSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n e.persist();\n e.preventDefault();\n props.onSubmit?.(e as any);\n };\n return <form {...props} onSubmit={onSubmit} />;\n};\n"],"names":["Form","props","jsx","e"],"mappings":";AAGO,MAAMA,IAAO,CAACC,MAMV,gBAAAC,EAAC,QAAA,EAAM,GAAGD,GAAO,UALP,CAACE,MAAwC;AACtD,EAAAA,EAAE,QAAA,GACFA,EAAE,eAAA,GACFF,EAAM,WAAWE,CAAQ;AAAA,EAEL,CAAoB;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|