update SelectField FormModal
This commit is contained in:
parent
5d799ce84f
commit
fb23898615
416
dist/form.js
vendored
416
dist/form.js
vendored
@ -1,8 +1,9 @@
|
|||||||
import { jsx as l, jsxs as R } from "react/jsx-runtime";
|
import { jsx as n, jsxs as C } from "react/jsx-runtime";
|
||||||
import { Input as I, Checkbox as ee, Textarea as re, RadioGroup as te, HStack as le, Radio as ne, Select as oe, Modal as ie, ModalOverlay as ce, ModalContent as ue, ModalHeader as se, ModalCloseButton as ae, ModalBody as de, VStack as fe, SimpleGrid as be, ModalFooter as pe, Button as A, FormControl as ve, FormLabel as me, FormErrorMessage as xe, useDisclosure as Fe } from "@chakra-ui/react";
|
import { Input as P, Checkbox as ee, Textarea as re, RadioGroup as te, HStack as le, Radio as ne, Modal as oe, ModalOverlay as ie, ModalContent as ce, ModalHeader as ue, ModalCloseButton as se, ModalBody as ae, VStack as de, SimpleGrid as fe, ModalFooter as be, Button as G, FormControl as me, FormLabel as ve, FormErrorMessage as xe, useDisclosure as pe } from "@chakra-ui/react";
|
||||||
import { useContext as he, useMemo as m, useRef as ge, useEffect as G, createContext as ke, useState as Se, useCallback as E } from "react";
|
import { Select as Fe } from "chakra-react-select";
|
||||||
import { Controller as P, useForm as ye, useWatch as Re } from "react-hook-form";
|
import { useContext as he, useMemo as p, useRef as ke, useEffect as H, createContext as ge, useState as Se, useCallback as I } from "react";
|
||||||
const Me = {}, y = {
|
import { Controller as z, useForm as ye, useWatch as Re } from "react-hook-form";
|
||||||
|
const Me = {}, M = {
|
||||||
create: {
|
create: {
|
||||||
titlePrefix: "افزودن",
|
titlePrefix: "افزودن",
|
||||||
submitText: "ثبت"
|
submitText: "ثبت"
|
||||||
@ -11,21 +12,21 @@ const Me = {}, y = {
|
|||||||
titlePrefix: "ویرایش",
|
titlePrefix: "ویرایش",
|
||||||
submitText: "ویرایش"
|
submitText: "ویرایش"
|
||||||
}
|
}
|
||||||
}, H = ke(null);
|
}, U = ge(null);
|
||||||
function Ce({ item: e, mode: r }) {
|
function Ce({ item: e, mode: r }) {
|
||||||
return e ? [r, e.rowId, e.entityId, e.id].filter(Boolean).join("-") : r;
|
return e ? [r, e.rowId, e.entityId, e.id].filter(Boolean).join("-") : r;
|
||||||
}
|
}
|
||||||
function x({ required: e, validate: r, rules: t }) {
|
function F({ required: e, validate: r, rules: t }) {
|
||||||
const n = { ...t ?? {} };
|
const l = { ...t ?? {} };
|
||||||
return e && (n.required = typeof e == "string" ? e : "این فیلد الزامی است."), r && (n.validate = r), n;
|
return e && (l.required = typeof e == "string" ? e : "این فیلد الزامی است."), r && (l.validate = r), l;
|
||||||
}
|
}
|
||||||
function v() {
|
function x() {
|
||||||
const e = he(H);
|
const e = he(U);
|
||||||
if (!e)
|
if (!e)
|
||||||
throw new Error("Field باید داخل FormModal استفاده شود.");
|
throw new Error("Field باید داخل FormModal استفاده شود.");
|
||||||
return e;
|
return e;
|
||||||
}
|
}
|
||||||
function U(e = []) {
|
function _(e = []) {
|
||||||
return e.map((r, t) => {
|
return e.map((r, t) => {
|
||||||
if (typeof r != "object" || r === null) {
|
if (typeof r != "object" || r === null) {
|
||||||
const o = String(r);
|
const o = String(r);
|
||||||
@ -36,57 +37,67 @@ function U(e = []) {
|
|||||||
disabled: !1
|
disabled: !1
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
const n = r.value ?? r.id;
|
const l = r.value ?? r.id;
|
||||||
return {
|
return {
|
||||||
key: String(r.key ?? n ?? t),
|
key: String(r.key ?? l ?? t),
|
||||||
label: r.label ?? r.name ?? n,
|
label: r.label ?? r.name ?? l,
|
||||||
value: String(n),
|
value: String(l),
|
||||||
disabled: !!r.disabled
|
disabled: !!r.disabled
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function Ve({ options: e = [] }) {
|
function h({ name: e, label: r, showWhen: t, children: l }) {
|
||||||
return e.map((r, t) => /* @__PURE__ */ l(
|
|
||||||
"option",
|
|
||||||
{
|
|
||||||
value: r.value,
|
|
||||||
disabled: r.disabled,
|
|
||||||
children: r.label
|
|
||||||
},
|
|
||||||
`${r.key}-${t}`
|
|
||||||
));
|
|
||||||
}
|
|
||||||
function F({ name: e, label: r, showWhen: t, children: n }) {
|
|
||||||
var s;
|
var s;
|
||||||
const { errors: o, control: u } = v(), c = Re({
|
const { errors: o, control: u } = x(), c = Re({
|
||||||
control: u,
|
control: u,
|
||||||
name: t == null ? void 0 : t.name
|
name: t == null ? void 0 : t.name
|
||||||
});
|
});
|
||||||
return m(() => t ? typeof t == "function" ? t({
|
return p(() => t ? typeof t == "function" ? t({
|
||||||
value: c
|
value: c
|
||||||
}) : c === t.value : !0, [t, c]) ? /* @__PURE__ */ R(ve, { isInvalid: !!o[e], children: [
|
}) : c === t.value : !0, [t, c]) ? /* @__PURE__ */ C(me, { isInvalid: !!o[e], children: [
|
||||||
r && /* @__PURE__ */ l(me, { fontSize: "sm", fontWeight: "bold", children: r }),
|
r && /* @__PURE__ */ n(ve, { fontSize: "sm", fontWeight: "bold", children: r }),
|
||||||
n,
|
l,
|
||||||
/* @__PURE__ */ l(xe, { children: (s = o[e]) == null ? void 0 : s.message })
|
/* @__PURE__ */ n(xe, { children: (s = o[e]) == null ? void 0 : s.message })
|
||||||
] }) : null;
|
] }) : null;
|
||||||
}
|
}
|
||||||
function Be({
|
function Ve({
|
||||||
name: e,
|
name: e,
|
||||||
label: r,
|
label: r,
|
||||||
required: t,
|
required: t,
|
||||||
validate: n,
|
validate: l,
|
||||||
rules: o,
|
rules: o,
|
||||||
showWhen: u,
|
showWhen: u,
|
||||||
placeholder: c,
|
placeholder: c,
|
||||||
...i
|
...i
|
||||||
}) {
|
}) {
|
||||||
const { register: s } = v();
|
const { register: s } = x();
|
||||||
return /* @__PURE__ */ l(F, { name: e, label: r, showWhen: u, children: /* @__PURE__ */ l(
|
return /* @__PURE__ */ n(h, { name: e, label: r, showWhen: u, children: /* @__PURE__ */ n(
|
||||||
I,
|
P,
|
||||||
{
|
{
|
||||||
borderRadius: "xl",
|
borderRadius: "xl",
|
||||||
placeholder: c,
|
placeholder: c,
|
||||||
...s(e, x({ required: t, validate: n, rules: o })),
|
...s(e, F({ required: t, validate: l, rules: o })),
|
||||||
|
...i
|
||||||
|
}
|
||||||
|
) });
|
||||||
|
}
|
||||||
|
function Be({
|
||||||
|
name: e,
|
||||||
|
label: r,
|
||||||
|
required: t,
|
||||||
|
validate: l,
|
||||||
|
rules: o,
|
||||||
|
showWhen: u,
|
||||||
|
placeholder: c,
|
||||||
|
...i
|
||||||
|
}) {
|
||||||
|
const { register: s } = x();
|
||||||
|
return /* @__PURE__ */ n(h, { name: e, label: r, showWhen: u, children: /* @__PURE__ */ n(
|
||||||
|
re,
|
||||||
|
{
|
||||||
|
borderRadius: "xl",
|
||||||
|
placeholder: c,
|
||||||
|
...s(e, F({ required: t, validate: l, rules: o })),
|
||||||
...i
|
...i
|
||||||
}
|
}
|
||||||
) });
|
) });
|
||||||
@ -95,20 +106,57 @@ function Ee({
|
|||||||
name: e,
|
name: e,
|
||||||
label: r,
|
label: r,
|
||||||
required: t,
|
required: t,
|
||||||
validate: n,
|
validate: l,
|
||||||
rules: o,
|
rules: o,
|
||||||
showWhen: u,
|
showWhen: u,
|
||||||
placeholder: c,
|
placeholder: c = "انتخاب کنید",
|
||||||
...i
|
options: i = [],
|
||||||
|
onChange: s,
|
||||||
|
isClearable: f = !0,
|
||||||
|
...m
|
||||||
}) {
|
}) {
|
||||||
const { register: s } = v();
|
const { control: b, setValue: a } = x(), S = p(() => _(i), [i]);
|
||||||
return /* @__PURE__ */ l(F, { name: e, label: r, showWhen: u, children: /* @__PURE__ */ l(
|
return /* @__PURE__ */ n(h, { name: e, label: r, showWhen: u, children: /* @__PURE__ */ n(
|
||||||
re,
|
z,
|
||||||
{
|
{
|
||||||
borderRadius: "xl",
|
name: e,
|
||||||
placeholder: c,
|
control: b,
|
||||||
...s(e, x({ required: t, validate: n, rules: o })),
|
rules: F({ required: t, validate: l, rules: o }),
|
||||||
...i
|
render: ({ field: g }) => {
|
||||||
|
const V = S.find((d) => d.value === g.value) ?? null;
|
||||||
|
return /* @__PURE__ */ n(
|
||||||
|
Fe,
|
||||||
|
{
|
||||||
|
placeholder: c,
|
||||||
|
options: S,
|
||||||
|
value: V,
|
||||||
|
isClearable: f,
|
||||||
|
isRtl: !0,
|
||||||
|
menuPlacement: "auto",
|
||||||
|
menuPosition: "fixed",
|
||||||
|
selectedOptionStyle: "check",
|
||||||
|
chakraStyles: {
|
||||||
|
control: (d) => ({
|
||||||
|
...d,
|
||||||
|
borderRadius: "var(--chakra-radii-xl)"
|
||||||
|
}),
|
||||||
|
menu: (d) => ({
|
||||||
|
...d,
|
||||||
|
zIndex: 2e3
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onChange: (d) => {
|
||||||
|
const y = (d == null ? void 0 : d.value) ?? "";
|
||||||
|
g.onChange(y), s == null || s({
|
||||||
|
value: y,
|
||||||
|
option: d,
|
||||||
|
setValue: a
|
||||||
|
});
|
||||||
|
},
|
||||||
|
...m
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
) });
|
) });
|
||||||
}
|
}
|
||||||
@ -116,37 +164,38 @@ function Ie({
|
|||||||
name: e,
|
name: e,
|
||||||
label: r,
|
label: r,
|
||||||
required: t,
|
required: t,
|
||||||
validate: n,
|
validate: l,
|
||||||
rules: o,
|
rules: o,
|
||||||
showWhen: u,
|
showWhen: u,
|
||||||
placeholder: c = "انتخاب کنید",
|
options: c = [],
|
||||||
options: i = [],
|
onChange: i
|
||||||
onChange: s,
|
|
||||||
isClearable: d = !0,
|
|
||||||
...b
|
|
||||||
}) {
|
}) {
|
||||||
const { control: f, setValue: a } = v(), M = m(() => U(i), [i]);
|
const { control: s, setValue: f } = x(), m = _(c);
|
||||||
return /* @__PURE__ */ l(F, { name: e, label: r, showWhen: u, children: /* @__PURE__ */ l(
|
return /* @__PURE__ */ n(h, { name: e, label: r, showWhen: u, children: /* @__PURE__ */ n(
|
||||||
P,
|
z,
|
||||||
{
|
{
|
||||||
name: e,
|
name: e,
|
||||||
control: f,
|
control: s,
|
||||||
rules: x({ required: t, validate: n, rules: o }),
|
rules: F({ required: t, validate: l, rules: o }),
|
||||||
render: ({ field: g }) => /* @__PURE__ */ l(
|
render: ({ field: b }) => /* @__PURE__ */ n(
|
||||||
oe,
|
te,
|
||||||
{
|
{
|
||||||
borderRadius: "xl",
|
value: b.value,
|
||||||
placeholder: d ? c : void 0,
|
onChange: (a) => {
|
||||||
value: g.value ?? "",
|
b.onChange(a), i == null || i({
|
||||||
onChange: (C) => {
|
value: a,
|
||||||
const k = C.target.value;
|
setValue: f
|
||||||
g.onChange(k), s == null || s({
|
|
||||||
value: k,
|
|
||||||
setValue: a
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
...b,
|
children: /* @__PURE__ */ n(le, { pt: "8px", spacing: 3, children: m.map((a) => /* @__PURE__ */ n(
|
||||||
children: /* @__PURE__ */ l(Ve, { options: M })
|
ne,
|
||||||
|
{
|
||||||
|
value: a.value,
|
||||||
|
isDisabled: a.disabled,
|
||||||
|
children: a.label
|
||||||
|
},
|
||||||
|
a.value
|
||||||
|
)) })
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -156,61 +205,28 @@ function Pe({
|
|||||||
name: e,
|
name: e,
|
||||||
label: r,
|
label: r,
|
||||||
required: t,
|
required: t,
|
||||||
validate: n,
|
validate: l,
|
||||||
rules: o,
|
|
||||||
showWhen: u,
|
|
||||||
options: c = [],
|
|
||||||
onChange: i
|
|
||||||
}) {
|
|
||||||
const { control: s, setValue: d } = v(), b = U(c);
|
|
||||||
return /* @__PURE__ */ l(F, { name: e, label: r, showWhen: u, children: /* @__PURE__ */ l(
|
|
||||||
P,
|
|
||||||
{
|
|
||||||
name: e,
|
|
||||||
control: s,
|
|
||||||
rules: x({ required: t, validate: n, rules: o }),
|
|
||||||
render: ({ field: f }) => /* @__PURE__ */ l(
|
|
||||||
te,
|
|
||||||
{
|
|
||||||
value: f.value,
|
|
||||||
onChange: (a) => {
|
|
||||||
f.onChange(a), i == null || i({
|
|
||||||
value: a,
|
|
||||||
setValue: d
|
|
||||||
});
|
|
||||||
},
|
|
||||||
children: /* @__PURE__ */ l(le, { pt: "8px", spacing: 3, children: b.map((a) => /* @__PURE__ */ l(ne, { value: a.value, children: a.label }, a.value)) })
|
|
||||||
}
|
|
||||||
)
|
|
||||||
}
|
|
||||||
) });
|
|
||||||
}
|
|
||||||
function $e({
|
|
||||||
name: e,
|
|
||||||
label: r,
|
|
||||||
required: t,
|
|
||||||
validate: n,
|
|
||||||
rules: o,
|
rules: o,
|
||||||
showWhen: u,
|
showWhen: u,
|
||||||
children: c,
|
children: c,
|
||||||
onChange: i
|
onChange: i
|
||||||
}) {
|
}) {
|
||||||
const { control: s, setValue: d } = v();
|
const { control: s, setValue: f } = x();
|
||||||
return /* @__PURE__ */ l(F, { name: e, label: r, showWhen: u, children: /* @__PURE__ */ l(
|
return /* @__PURE__ */ n(h, { name: e, label: r, showWhen: u, children: /* @__PURE__ */ n(
|
||||||
P,
|
z,
|
||||||
{
|
{
|
||||||
name: e,
|
name: e,
|
||||||
control: s,
|
control: s,
|
||||||
rules: x({ required: t, validate: n, rules: o }),
|
rules: F({ required: t, validate: l, rules: o }),
|
||||||
render: ({ field: b }) => /* @__PURE__ */ l(
|
render: ({ field: m }) => /* @__PURE__ */ n(
|
||||||
ee,
|
ee,
|
||||||
{
|
{
|
||||||
isChecked: !!b.value,
|
isChecked: !!m.value,
|
||||||
onChange: (f) => {
|
onChange: (b) => {
|
||||||
const a = f.target.checked;
|
const a = b.target.checked;
|
||||||
b.onChange(a), i == null || i({
|
m.onChange(a), i == null || i({
|
||||||
value: a,
|
value: a,
|
||||||
setValue: d
|
setValue: f
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
children: c ?? r
|
children: c ?? r
|
||||||
@ -223,18 +239,18 @@ function ze({
|
|||||||
name: e,
|
name: e,
|
||||||
label: r,
|
label: r,
|
||||||
required: t,
|
required: t,
|
||||||
validate: n,
|
validate: l,
|
||||||
rules: o,
|
rules: o,
|
||||||
showWhen: u,
|
showWhen: u,
|
||||||
...c
|
...c
|
||||||
}) {
|
}) {
|
||||||
const { register: i } = v();
|
const { register: i } = x();
|
||||||
return /* @__PURE__ */ l(F, { name: e, label: r, showWhen: u, children: /* @__PURE__ */ l(
|
return /* @__PURE__ */ n(h, { name: e, label: r, showWhen: u, children: /* @__PURE__ */ n(
|
||||||
I,
|
P,
|
||||||
{
|
{
|
||||||
type: "file",
|
type: "file",
|
||||||
borderRadius: "xl",
|
borderRadius: "xl",
|
||||||
...i(e, x({ required: t, validate: n, rules: o })),
|
...i(e, F({ required: t, validate: l, rules: o })),
|
||||||
...c
|
...c
|
||||||
}
|
}
|
||||||
) });
|
) });
|
||||||
@ -243,115 +259,115 @@ function De({
|
|||||||
name: e,
|
name: e,
|
||||||
label: r,
|
label: r,
|
||||||
required: t,
|
required: t,
|
||||||
validate: n,
|
validate: l,
|
||||||
rules: o,
|
rules: o,
|
||||||
showWhen: u,
|
showWhen: u,
|
||||||
...c
|
...c
|
||||||
}) {
|
}) {
|
||||||
const { register: i } = v();
|
const { register: i } = x();
|
||||||
return /* @__PURE__ */ l(F, { name: e, label: r, showWhen: u, children: /* @__PURE__ */ l(
|
return /* @__PURE__ */ n(h, { name: e, label: r, showWhen: u, children: /* @__PURE__ */ n(
|
||||||
I,
|
P,
|
||||||
{
|
{
|
||||||
type: "date",
|
type: "date",
|
||||||
borderRadius: "xl",
|
borderRadius: "xl",
|
||||||
...i(e, x({ required: t, validate: n, rules: o })),
|
...i(e, F({ required: t, validate: l, rules: o })),
|
||||||
...c
|
...c
|
||||||
}
|
}
|
||||||
) });
|
) });
|
||||||
}
|
}
|
||||||
const Ae = {
|
const Ae = {
|
||||||
Input: Be,
|
Input: Ve,
|
||||||
Select: Ie,
|
Select: Ee,
|
||||||
Radio: Pe,
|
Radio: Ie,
|
||||||
Textarea: Ee,
|
Textarea: Be,
|
||||||
Check: $e,
|
Check: Pe,
|
||||||
Filepicker: ze,
|
Filepicker: ze,
|
||||||
Datepicker: De,
|
Datepicker: De,
|
||||||
useForm: v
|
useForm: x
|
||||||
};
|
};
|
||||||
function Ge({
|
function Ge({
|
||||||
isOpen: e,
|
isOpen: e,
|
||||||
close: r,
|
close: r,
|
||||||
item: t = null,
|
item: t = null,
|
||||||
entityName: n = "آیتم",
|
entityName: l = "آیتم",
|
||||||
title: o,
|
title: o,
|
||||||
createTitle: u,
|
createTitle: u,
|
||||||
editTitle: c,
|
editTitle: c,
|
||||||
submitText: i,
|
submitText: i,
|
||||||
createSubmitText: s,
|
createSubmitText: s,
|
||||||
editSubmitText: d,
|
editSubmitText: f,
|
||||||
defaultValues: b = Me,
|
defaultValues: m = Me,
|
||||||
getDefaultValues: f,
|
getDefaultValues: b,
|
||||||
resetKey: a,
|
resetKey: a,
|
||||||
onSubmit: M,
|
onSubmit: S,
|
||||||
transformValues: g,
|
transformValues: g,
|
||||||
children: C,
|
children: V,
|
||||||
isLoading: k = !1,
|
isLoading: d = !1,
|
||||||
size: _ = "lg",
|
size: y = "lg",
|
||||||
columns: Y = { base: 1, md: 2 }
|
columns: Y = { base: 1, md: 2 }
|
||||||
}) {
|
}) {
|
||||||
const p = !!t, h = p ? "edit" : "create", w = m(() => o || (p ? c ?? `${y.edit.titlePrefix} ${n}` : u ?? `${y.create.titlePrefix} ${n}`), [o, c, u, n, p]), J = m(() => i || (p ? d ?? y.edit.submitText : s ?? y.create.submitText), [i, d, s, p]), S = m(() => typeof f == "function" ? f({
|
const v = !!t, k = v ? "edit" : "create", w = p(() => o || (v ? c ?? `${M.edit.titlePrefix} ${l}` : u ?? `${M.create.titlePrefix} ${l}`), [o, c, u, l, v]), J = p(() => i || (v ? f ?? M.edit.submitText : s ?? M.create.submitText), [i, f, s, v]), R = p(() => typeof b == "function" ? b({
|
||||||
item: t,
|
item: t,
|
||||||
mode: h,
|
mode: k,
|
||||||
isEdit: p
|
isEdit: v
|
||||||
}) : b, [f, b, t, h, p]), V = ge(S);
|
}) : m, [b, m, t, k, v]), B = ke(R);
|
||||||
G(() => {
|
H(() => {
|
||||||
V.current = S;
|
B.current = R;
|
||||||
}, [S]);
|
}, [R]);
|
||||||
const K = m(() => a || Ce({
|
const K = p(() => a || Ce({
|
||||||
item: t,
|
item: t,
|
||||||
mode: h
|
mode: k
|
||||||
}), [a, t, h]), Q = ye({
|
}), [a, t, k]), Q = ye({
|
||||||
defaultValues: S
|
defaultValues: R
|
||||||
}), {
|
}), {
|
||||||
handleSubmit: X,
|
handleSubmit: X,
|
||||||
reset: B,
|
reset: E,
|
||||||
register: $,
|
register: D,
|
||||||
control: z,
|
control: O,
|
||||||
setValue: D,
|
setValue: L,
|
||||||
watch: L,
|
watch: T,
|
||||||
formState: { isSubmitting: Z, errors: O }
|
formState: { isSubmitting: Z, errors: j }
|
||||||
} = Q;
|
} = Q;
|
||||||
G(() => {
|
H(() => {
|
||||||
e && B(V.current);
|
e && E(B.current);
|
||||||
}, [e, K, B]);
|
}, [e, K, E]);
|
||||||
const T = () => {
|
const $ = () => {
|
||||||
B(V.current), r();
|
E(B.current), r();
|
||||||
}, q = X(async (j) => {
|
}, q = X(async (A) => {
|
||||||
const W = typeof g == "function" ? g({
|
const W = typeof g == "function" ? g({
|
||||||
values: j,
|
values: A,
|
||||||
item: t,
|
item: t,
|
||||||
mode: h,
|
mode: k,
|
||||||
isEdit: p
|
isEdit: v
|
||||||
}) : j;
|
}) : A;
|
||||||
await M({
|
await S({
|
||||||
values: W,
|
values: W,
|
||||||
item: t,
|
item: t,
|
||||||
mode: h,
|
mode: k,
|
||||||
isEdit: p
|
isEdit: v
|
||||||
});
|
});
|
||||||
}), N = m(
|
}), N = p(
|
||||||
() => ({
|
() => ({
|
||||||
register: $,
|
register: D,
|
||||||
control: z,
|
control: O,
|
||||||
setValue: D,
|
setValue: L,
|
||||||
watch: L,
|
watch: T,
|
||||||
errors: O
|
errors: j
|
||||||
}),
|
}),
|
||||||
[$, z, D, L, O]
|
[D, O, L, T, j]
|
||||||
);
|
);
|
||||||
return /* @__PURE__ */ R(ie, { isOpen: e, onClose: T, isCentered: !0, size: _, children: [
|
return /* @__PURE__ */ C(oe, { isOpen: e, onClose: $, isCentered: !0, size: y, children: [
|
||||||
/* @__PURE__ */ l(ce, { backdropFilter: "blur(6px)" }),
|
/* @__PURE__ */ n(ie, { backdropFilter: "blur(6px)" }),
|
||||||
/* @__PURE__ */ R(
|
/* @__PURE__ */ C(
|
||||||
ue,
|
ce,
|
||||||
{
|
{
|
||||||
as: "form",
|
as: "form",
|
||||||
onSubmit: q,
|
onSubmit: q,
|
||||||
borderRadius: "2xl",
|
borderRadius: "2xl",
|
||||||
overflow: "visible",
|
overflow: "visible",
|
||||||
children: [
|
children: [
|
||||||
/* @__PURE__ */ l(
|
/* @__PURE__ */ n(
|
||||||
se,
|
ue,
|
||||||
{
|
{
|
||||||
bgGradient: "linear(to-l, blue.600, facebook.500)",
|
bgGradient: "linear(to-l, blue.600, facebook.500)",
|
||||||
color: "white",
|
color: "white",
|
||||||
@ -360,17 +376,17 @@ function Ge({
|
|||||||
children: w
|
children: w
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
/* @__PURE__ */ l(ae, { color: "white" }),
|
/* @__PURE__ */ n(se, { color: "white" }),
|
||||||
/* @__PURE__ */ l(de, { py: 5, children: /* @__PURE__ */ l(H.Provider, { value: N, children: /* @__PURE__ */ l(fe, { spacing: 4, alignItems: "stretch", children: /* @__PURE__ */ l(be, { columns: Y, spacing: 4, children: C }) }) }) }),
|
/* @__PURE__ */ n(ae, { py: 5, children: /* @__PURE__ */ n(U.Provider, { value: N, children: /* @__PURE__ */ n(de, { spacing: 4, alignItems: "stretch", children: /* @__PURE__ */ n(fe, { columns: Y, spacing: 4, children: V }) }) }) }),
|
||||||
/* @__PURE__ */ R(pe, { gap: 2, bg: "gray.50", children: [
|
/* @__PURE__ */ C(be, { gap: 2, bg: "gray.50", children: [
|
||||||
/* @__PURE__ */ l(A, { type: "button", variant: "ghost", onClick: T, children: "انصراف" }),
|
/* @__PURE__ */ n(G, { type: "button", variant: "ghost", onClick: $, children: "انصراف" }),
|
||||||
/* @__PURE__ */ l(
|
/* @__PURE__ */ n(
|
||||||
A,
|
G,
|
||||||
{
|
{
|
||||||
type: "submit",
|
type: "submit",
|
||||||
colorScheme: "blue",
|
colorScheme: "blue",
|
||||||
borderRadius: "xl",
|
borderRadius: "xl",
|
||||||
isLoading: Z || k,
|
isLoading: Z || d,
|
||||||
children: J
|
children: J
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
@ -381,27 +397,27 @@ function Ge({
|
|||||||
] });
|
] });
|
||||||
}
|
}
|
||||||
function He() {
|
function He() {
|
||||||
const { isOpen: e, onOpen: r, onClose: t } = Fe(), [n, o] = Se(null), u = E(() => {
|
const { isOpen: e, onOpen: r, onClose: t } = pe(), [l, o] = Se(null), u = I(() => {
|
||||||
o(null), r();
|
o(null), r();
|
||||||
}, [r]), c = E(
|
}, [r]), c = I(
|
||||||
(d) => {
|
(f) => {
|
||||||
o(d), r();
|
o(f), r();
|
||||||
},
|
},
|
||||||
[r]
|
[r]
|
||||||
), i = E(() => {
|
), i = I(() => {
|
||||||
o(null), t();
|
o(null), t();
|
||||||
}, [t]), s = !!n;
|
}, [t]), s = !!l;
|
||||||
return m(
|
return p(
|
||||||
() => ({
|
() => ({
|
||||||
isOpen: e,
|
isOpen: e,
|
||||||
item: n,
|
item: l,
|
||||||
isEdit: s,
|
isEdit: s,
|
||||||
isCreate: !s,
|
isCreate: !s,
|
||||||
openCreate: u,
|
openCreate: u,
|
||||||
openEdit: c,
|
openEdit: c,
|
||||||
close: i
|
close: i
|
||||||
}),
|
}),
|
||||||
[e, n, s, u, c, i]
|
[e, l, s, u, c, i]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
export {
|
export {
|
||||||
|
|||||||
18
package.json
18
package.json
@ -42,12 +42,14 @@
|
|||||||
"@tanstack/react-query": "^5.0.0",
|
"@tanstack/react-query": "^5.0.0",
|
||||||
"@tanstack/react-table": "^8.21.3",
|
"@tanstack/react-table": "^8.21.3",
|
||||||
"axios": "^1.0.0",
|
"axios": "^1.0.0",
|
||||||
|
"chakra-react-select": "^5.0.0",
|
||||||
"framer-motion": "^10.0.0 || ^11.0.0 || ^12.0.0",
|
"framer-motion": "^10.0.0 || ^11.0.0 || ^12.0.0",
|
||||||
"keycloak-js": "^26.0.0",
|
"keycloak-js": "^26.0.0",
|
||||||
"react": "^18.0.0 || ^19.0.0",
|
"react": "^18.0.0 || ^19.0.0",
|
||||||
"react-dom": "^18.0.0 || ^19.0.0",
|
"react-dom": "^18.0.0 || ^19.0.0",
|
||||||
|
"react-hook-form": "^7.0.0",
|
||||||
"react-icons": "^5.0.0",
|
"react-icons": "^5.0.0",
|
||||||
"react-hook-form": "^7.0.0"
|
"react-select": "^5.0.0"
|
||||||
},
|
},
|
||||||
"peerDependenciesMeta": {
|
"peerDependenciesMeta": {
|
||||||
"@chakra-ui/react": {
|
"@chakra-ui/react": {
|
||||||
@ -68,6 +70,9 @@
|
|||||||
"axios": {
|
"axios": {
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
|
"chakra-react-select": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
"framer-motion": {
|
"framer-motion": {
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
@ -80,10 +85,13 @@
|
|||||||
"react-dom": {
|
"react-dom": {
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
|
"react-hook-form": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
"react-icons": {
|
"react-icons": {
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"react-hook-form": {
|
"react-select": {
|
||||||
"optional": true
|
"optional": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -95,13 +103,15 @@
|
|||||||
"@tanstack/react-table": "^8.21.3",
|
"@tanstack/react-table": "^8.21.3",
|
||||||
"@vitejs/plugin-react": "4.3.4",
|
"@vitejs/plugin-react": "4.3.4",
|
||||||
"axios": "^1.17.0",
|
"axios": "^1.17.0",
|
||||||
|
"chakra-react-select": "5",
|
||||||
"framer-motion": "^12.0.0",
|
"framer-motion": "^12.0.0",
|
||||||
"keycloak-js": "^26.2.4",
|
"keycloak-js": "^26.2.4",
|
||||||
"react": "^18.0.0",
|
"react": "^18.0.0",
|
||||||
"react-dom": "^18.0.0",
|
"react-dom": "^18.0.0",
|
||||||
|
"react-hook-form": "^7.0.0",
|
||||||
"react-icons": "^5.0.0",
|
"react-icons": "^5.0.0",
|
||||||
"vite": "5.4.19",
|
"react-select": "5",
|
||||||
"react-hook-form": "^7.0.0"
|
"vite": "5.4.19"
|
||||||
},
|
},
|
||||||
"dependencies": {}
|
"dependencies": {}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,11 +15,11 @@ import {
|
|||||||
ModalOverlay,
|
ModalOverlay,
|
||||||
Radio,
|
Radio,
|
||||||
RadioGroup,
|
RadioGroup,
|
||||||
Select,
|
|
||||||
SimpleGrid,
|
SimpleGrid,
|
||||||
Textarea,
|
Textarea,
|
||||||
VStack,
|
VStack,
|
||||||
} from "@chakra-ui/react";
|
} from "@chakra-ui/react";
|
||||||
|
import { Select as ChakraReactSelect } from "chakra-react-select";
|
||||||
import { createContext, useContext, useEffect, useMemo, useRef } from "react";
|
import { createContext, useContext, useEffect, useMemo, useRef } from "react";
|
||||||
import { Controller, useForm, useWatch } from "react-hook-form";
|
import { Controller, useForm, useWatch } from "react-hook-form";
|
||||||
|
|
||||||
@ -95,18 +95,6 @@ function normalizeOptions(options = []) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function NativeSelectOptions({ options = [] }) {
|
|
||||||
return options.map((option, index) => (
|
|
||||||
<option
|
|
||||||
key={`${option.key}-${index}`}
|
|
||||||
value={option.value}
|
|
||||||
disabled={option.disabled}
|
|
||||||
>
|
|
||||||
{option.label}
|
|
||||||
</option>
|
|
||||||
));
|
|
||||||
}
|
|
||||||
|
|
||||||
// ----- field wrapper -----
|
// ----- field wrapper -----
|
||||||
|
|
||||||
function FieldWrapper({ name, label, showWhen, children }) {
|
function FieldWrapper({ name, label, showWhen, children }) {
|
||||||
@ -219,26 +207,46 @@ function SelectField({
|
|||||||
name={name}
|
name={name}
|
||||||
control={control}
|
control={control}
|
||||||
rules={getRules({ required, validate, rules })}
|
rules={getRules({ required, validate, rules })}
|
||||||
render={({ field }) => (
|
render={({ field }) => {
|
||||||
<Select
|
const selectedOption =
|
||||||
borderRadius="xl"
|
normalizedOptions.find((option) => option.value === field.value) ??
|
||||||
placeholder={isClearable ? placeholder : undefined}
|
null;
|
||||||
value={field.value ?? ""}
|
|
||||||
onChange={(event) => {
|
|
||||||
const value = event.target.value;
|
|
||||||
|
|
||||||
field.onChange(value);
|
return (
|
||||||
|
<ChakraReactSelect
|
||||||
|
placeholder={placeholder}
|
||||||
|
options={normalizedOptions}
|
||||||
|
value={selectedOption}
|
||||||
|
isClearable={isClearable}
|
||||||
|
isRtl
|
||||||
|
menuPlacement="auto"
|
||||||
|
menuPosition="fixed"
|
||||||
|
selectedOptionStyle="check"
|
||||||
|
chakraStyles={{
|
||||||
|
control: (provided) => ({
|
||||||
|
...provided,
|
||||||
|
borderRadius: "var(--chakra-radii-xl)",
|
||||||
|
}),
|
||||||
|
menu: (provided) => ({
|
||||||
|
...provided,
|
||||||
|
zIndex: 2000,
|
||||||
|
}),
|
||||||
|
}}
|
||||||
|
onChange={(option) => {
|
||||||
|
const value = option?.value ?? "";
|
||||||
|
|
||||||
onChange?.({
|
field.onChange(value);
|
||||||
value,
|
|
||||||
setValue,
|
onChange?.({
|
||||||
});
|
value,
|
||||||
}}
|
option,
|
||||||
{...props}
|
setValue,
|
||||||
>
|
});
|
||||||
<NativeSelectOptions options={normalizedOptions} />
|
}}
|
||||||
</Select>
|
{...props}
|
||||||
)}
|
/>
|
||||||
|
);
|
||||||
|
}}
|
||||||
/>
|
/>
|
||||||
</FieldWrapper>
|
</FieldWrapper>
|
||||||
);
|
);
|
||||||
@ -277,7 +285,11 @@ function RadioField({
|
|||||||
>
|
>
|
||||||
<HStack pt="8px" spacing={3}>
|
<HStack pt="8px" spacing={3}>
|
||||||
{normalizedOptions.map((option) => (
|
{normalizedOptions.map((option) => (
|
||||||
<Radio key={option.value} value={option.value}>
|
<Radio
|
||||||
|
key={option.value}
|
||||||
|
value={option.value}
|
||||||
|
isDisabled={option.disabled}
|
||||||
|
>
|
||||||
{option.label}
|
{option.label}
|
||||||
</Radio>
|
</Radio>
|
||||||
))}
|
))}
|
||||||
@ -420,8 +432,6 @@ export function FormModal({
|
|||||||
const isEdit = Boolean(item);
|
const isEdit = Boolean(item);
|
||||||
const mode = isEdit ? "edit" : "create";
|
const mode = isEdit ? "edit" : "create";
|
||||||
|
|
||||||
// ----- title -----
|
|
||||||
|
|
||||||
const resolvedTitle = useMemo(() => {
|
const resolvedTitle = useMemo(() => {
|
||||||
if (title) return title;
|
if (title) return title;
|
||||||
|
|
||||||
@ -436,8 +446,6 @@ export function FormModal({
|
|||||||
);
|
);
|
||||||
}, [title, editTitle, createTitle, entityName, isEdit]);
|
}, [title, editTitle, createTitle, entityName, isEdit]);
|
||||||
|
|
||||||
// ----- submit text -----
|
|
||||||
|
|
||||||
const resolvedSubmitText = useMemo(() => {
|
const resolvedSubmitText = useMemo(() => {
|
||||||
if (submitText) return submitText;
|
if (submitText) return submitText;
|
||||||
|
|
||||||
@ -448,8 +456,6 @@ export function FormModal({
|
|||||||
return createSubmitText ?? defaultActionLabels.create.submitText;
|
return createSubmitText ?? defaultActionLabels.create.submitText;
|
||||||
}, [submitText, editSubmitText, createSubmitText, isEdit]);
|
}, [submitText, editSubmitText, createSubmitText, isEdit]);
|
||||||
|
|
||||||
// ----- default values -----
|
|
||||||
|
|
||||||
const resolvedDefaultValues = useMemo(() => {
|
const resolvedDefaultValues = useMemo(() => {
|
||||||
if (typeof getDefaultValues === "function") {
|
if (typeof getDefaultValues === "function") {
|
||||||
return getDefaultValues({
|
return getDefaultValues({
|
||||||
@ -468,8 +474,6 @@ export function FormModal({
|
|||||||
latestDefaultValuesRef.current = resolvedDefaultValues;
|
latestDefaultValuesRef.current = resolvedDefaultValues;
|
||||||
}, [resolvedDefaultValues]);
|
}, [resolvedDefaultValues]);
|
||||||
|
|
||||||
// ----- reset key -----
|
|
||||||
|
|
||||||
const resolvedResetKey = useMemo(() => {
|
const resolvedResetKey = useMemo(() => {
|
||||||
if (resetKey) return resetKey;
|
if (resetKey) return resetKey;
|
||||||
|
|
||||||
@ -479,8 +483,6 @@ export function FormModal({
|
|||||||
});
|
});
|
||||||
}, [resetKey, item, mode]);
|
}, [resetKey, item, mode]);
|
||||||
|
|
||||||
// ----- form -----
|
|
||||||
|
|
||||||
const methods = useForm({
|
const methods = useForm({
|
||||||
defaultValues: resolvedDefaultValues,
|
defaultValues: resolvedDefaultValues,
|
||||||
});
|
});
|
||||||
@ -495,23 +497,17 @@ export function FormModal({
|
|||||||
formState: { isSubmitting, errors },
|
formState: { isSubmitting, errors },
|
||||||
} = methods;
|
} = methods;
|
||||||
|
|
||||||
// ----- reset on open -----
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!isOpen) return;
|
if (!isOpen) return;
|
||||||
|
|
||||||
reset(latestDefaultValuesRef.current);
|
reset(latestDefaultValuesRef.current);
|
||||||
}, [isOpen, resolvedResetKey, reset]);
|
}, [isOpen, resolvedResetKey, reset]);
|
||||||
|
|
||||||
// ----- close -----
|
|
||||||
|
|
||||||
const handleClose = () => {
|
const handleClose = () => {
|
||||||
reset(latestDefaultValuesRef.current);
|
reset(latestDefaultValuesRef.current);
|
||||||
close();
|
close();
|
||||||
};
|
};
|
||||||
|
|
||||||
// ----- submit -----
|
|
||||||
|
|
||||||
const handleFormSubmit = handleSubmit(async (values) => {
|
const handleFormSubmit = handleSubmit(async (values) => {
|
||||||
const finalValues =
|
const finalValues =
|
||||||
typeof transformValues === "function"
|
typeof transformValues === "function"
|
||||||
@ -531,8 +527,6 @@ export function FormModal({
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
// ----- context -----
|
|
||||||
|
|
||||||
const contextValue = useMemo(
|
const contextValue = useMemo(
|
||||||
() => ({
|
() => ({
|
||||||
register,
|
register,
|
||||||
@ -544,8 +538,6 @@ export function FormModal({
|
|||||||
[register, control, setValue, watch, errors],
|
[register, control, setValue, watch, errors],
|
||||||
);
|
);
|
||||||
|
|
||||||
// ----- jsx -----
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Modal isOpen={isOpen} onClose={handleClose} isCentered size={size}>
|
<Modal isOpen={isOpen} onClose={handleClose} isCentered size={size}>
|
||||||
<ModalOverlay backdropFilter="blur(6px)" />
|
<ModalOverlay backdropFilter="blur(6px)" />
|
||||||
|
|||||||
@ -21,6 +21,8 @@ const externalPackages = [
|
|||||||
"react-icons",
|
"react-icons",
|
||||||
|
|
||||||
"react-hook-form",
|
"react-hook-form",
|
||||||
|
"react-select",
|
||||||
|
"chakra-react-select",
|
||||||
];
|
];
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
@ -46,7 +48,8 @@ export default defineConfig({
|
|||||||
return (
|
return (
|
||||||
externalPackages.includes(id) ||
|
externalPackages.includes(id) ||
|
||||||
id.startsWith("react-icons/") ||
|
id.startsWith("react-icons/") ||
|
||||||
id.startsWith("@emotion/")
|
id.startsWith("@emotion/") ||
|
||||||
|
id.startsWith("react-select/")
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
130
yarn.lock
130
yarn.lock
@ -130,7 +130,7 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
"@babel/helper-plugin-utils" "^7.29.7"
|
"@babel/helper-plugin-utils" "^7.29.7"
|
||||||
|
|
||||||
"@babel/runtime@^7.0.0", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3":
|
"@babel/runtime@^7.0.0", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7":
|
||||||
version "7.29.7"
|
version "7.29.7"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.29.7.tgz#12022450c45a4da6d8d8287b18a4ff2ddb23f768"
|
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.29.7.tgz#12022450c45a4da6d8d8287b18a4ff2ddb23f768"
|
||||||
integrity sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==
|
integrity sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==
|
||||||
@ -247,7 +247,7 @@
|
|||||||
source-map "^0.5.7"
|
source-map "^0.5.7"
|
||||||
stylis "4.2.0"
|
stylis "4.2.0"
|
||||||
|
|
||||||
"@emotion/cache@^11.14.0":
|
"@emotion/cache@^11.14.0", "@emotion/cache@^11.4.0":
|
||||||
version "11.14.0"
|
version "11.14.0"
|
||||||
resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.14.0.tgz#ee44b26986eeb93c8be82bb92f1f7a9b21b2ed76"
|
resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.14.0.tgz#ee44b26986eeb93c8be82bb92f1f7a9b21b2ed76"
|
||||||
integrity sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==
|
integrity sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==
|
||||||
@ -263,12 +263,19 @@
|
|||||||
resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.2.tgz#ff9221b9f58b4dfe61e619a7788734bd63f6898b"
|
resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.2.tgz#ff9221b9f58b4dfe61e619a7788734bd63f6898b"
|
||||||
integrity sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==
|
integrity sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==
|
||||||
|
|
||||||
|
"@emotion/is-prop-valid@^1.3.0":
|
||||||
|
version "1.4.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.4.0.tgz#e9ad47adff0b5c94c72db3669ce46de33edf28c0"
|
||||||
|
integrity sha512-QgD4fyscGcbbKwJmqNvUMSE02OsHUa+lAWKdEUIJKgqe5IwRSKd7+KhibEWdaKwgjLj0DRSHA9biAIqGBk05lw==
|
||||||
|
dependencies:
|
||||||
|
"@emotion/memoize" "^0.9.0"
|
||||||
|
|
||||||
"@emotion/memoize@^0.9.0":
|
"@emotion/memoize@^0.9.0":
|
||||||
version "0.9.0"
|
version "0.9.0"
|
||||||
resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.9.0.tgz#745969d649977776b43fc7648c556aaa462b4102"
|
resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.9.0.tgz#745969d649977776b43fc7648c556aaa462b4102"
|
||||||
integrity sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==
|
integrity sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==
|
||||||
|
|
||||||
"@emotion/react@^11.14.0":
|
"@emotion/react@^11.14.0", "@emotion/react@^11.8.1":
|
||||||
version "11.14.0"
|
version "11.14.0"
|
||||||
resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.14.0.tgz#cfaae35ebc67dd9ef4ea2e9acc6cd29e157dd05d"
|
resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.14.0.tgz#cfaae35ebc67dd9ef4ea2e9acc6cd29e157dd05d"
|
||||||
integrity sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==
|
integrity sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==
|
||||||
@ -298,6 +305,18 @@
|
|||||||
resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.4.0.tgz#c9299c34d248bc26e82563735f78953d2efca83c"
|
resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.4.0.tgz#c9299c34d248bc26e82563735f78953d2efca83c"
|
||||||
integrity sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==
|
integrity sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==
|
||||||
|
|
||||||
|
"@emotion/styled@^11.14.0":
|
||||||
|
version "11.14.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.14.1.tgz#8c34bed2948e83e1980370305614c20955aacd1c"
|
||||||
|
integrity sha512-qEEJt42DuToa3gurlH4Qqc1kVpNq8wO8cJtDzU46TjlzWjDlsVyevtYCRijVq3SrHsROS+gVQ8Fnea108GnKzw==
|
||||||
|
dependencies:
|
||||||
|
"@babel/runtime" "^7.18.3"
|
||||||
|
"@emotion/babel-plugin" "^11.13.5"
|
||||||
|
"@emotion/is-prop-valid" "^1.3.0"
|
||||||
|
"@emotion/serialize" "^1.3.3"
|
||||||
|
"@emotion/use-insertion-effect-with-fallbacks" "^1.2.0"
|
||||||
|
"@emotion/utils" "^1.4.2"
|
||||||
|
|
||||||
"@emotion/unitless@^0.10.0":
|
"@emotion/unitless@^0.10.0":
|
||||||
version "0.10.0"
|
version "0.10.0"
|
||||||
resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.10.0.tgz#2af2f7c7e5150f497bdabd848ce7b218a27cf745"
|
resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.10.0.tgz#2af2f7c7e5150f497bdabd848ce7b218a27cf745"
|
||||||
@ -433,6 +452,26 @@
|
|||||||
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz#acad351d582d157bb145535db2a6ff53dd514b5c"
|
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz#acad351d582d157bb145535db2a6ff53dd514b5c"
|
||||||
integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==
|
integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==
|
||||||
|
|
||||||
|
"@floating-ui/core@^1.7.5":
|
||||||
|
version "1.7.5"
|
||||||
|
resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.7.5.tgz#d4af157a03330af5a60e69da7a4692507ada0622"
|
||||||
|
integrity sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==
|
||||||
|
dependencies:
|
||||||
|
"@floating-ui/utils" "^0.2.11"
|
||||||
|
|
||||||
|
"@floating-ui/dom@^1.0.1":
|
||||||
|
version "1.7.6"
|
||||||
|
resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.7.6.tgz#f915bba5abbb177e1f227cacee1b4d0634b187bf"
|
||||||
|
integrity sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==
|
||||||
|
dependencies:
|
||||||
|
"@floating-ui/core" "^1.7.5"
|
||||||
|
"@floating-ui/utils" "^0.2.11"
|
||||||
|
|
||||||
|
"@floating-ui/utils@^0.2.11":
|
||||||
|
version "0.2.11"
|
||||||
|
resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.11.tgz#a269e055e40e2f45873bae9d1a2fdccbd314ea3f"
|
||||||
|
integrity sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==
|
||||||
|
|
||||||
"@jridgewell/gen-mapping@^0.3.12", "@jridgewell/gen-mapping@^0.3.5":
|
"@jridgewell/gen-mapping@^0.3.12", "@jridgewell/gen-mapping@^0.3.5":
|
||||||
version "0.3.13"
|
version "0.3.13"
|
||||||
resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz#6342a19f44347518c93e43b1ac69deb3c4656a1f"
|
resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz#6342a19f44347518c93e43b1ac69deb3c4656a1f"
|
||||||
@ -676,6 +715,11 @@
|
|||||||
resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239"
|
resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239"
|
||||||
integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==
|
integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==
|
||||||
|
|
||||||
|
"@types/react-transition-group@^4.4.0":
|
||||||
|
version "4.4.12"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.12.tgz#b5d76568485b02a307238270bfe96cb51ee2a044"
|
||||||
|
integrity sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==
|
||||||
|
|
||||||
"@vitejs/plugin-react@4.3.4":
|
"@vitejs/plugin-react@4.3.4":
|
||||||
version "4.3.4"
|
version "4.3.4"
|
||||||
resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.3.4.tgz#c64be10b54c4640135a5b28a2432330e88ad7c20"
|
resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.3.4.tgz#c64be10b54c4640135a5b28a2432330e88ad7c20"
|
||||||
@ -776,6 +820,13 @@ caniuse-lite@^1.0.30001782:
|
|||||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001799.tgz#5c909138c27f1a61219d3e092071c1cc7d32dc55"
|
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001799.tgz#5c909138c27f1a61219d3e092071c1cc7d32dc55"
|
||||||
integrity sha512-hG1bReV+OUU+MOqK4t/ZWI0tZOyz3rqS9XuhOUz1cIcbwBKjOyJEJuw9ER5JuNyqxNk8u/JUVbGibBOL1yrjFw==
|
integrity sha512-hG1bReV+OUU+MOqK4t/ZWI0tZOyz3rqS9XuhOUz1cIcbwBKjOyJEJuw9ER5JuNyqxNk8u/JUVbGibBOL1yrjFw==
|
||||||
|
|
||||||
|
chakra-react-select@5:
|
||||||
|
version "5.1.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/chakra-react-select/-/chakra-react-select-5.1.1.tgz#e6d24ed5ceb87229e19b102df740b2fe8f08dddf"
|
||||||
|
integrity sha512-edHbC7Vnzw055f8jtAJzs7K/NXOt8q9AEqJmA/VANZzJeEPwhZ5JtjZBpXa/WORndEhiD2NSYcKrGL+73S306w==
|
||||||
|
dependencies:
|
||||||
|
react-select "^5.10.2"
|
||||||
|
|
||||||
color2k@^2.0.2:
|
color2k@^2.0.2:
|
||||||
version "2.0.3"
|
version "2.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/color2k/-/color2k-2.0.3.tgz#a771244f6b6285541c82aa65ff0a0c624046e533"
|
resolved "https://registry.yarnpkg.com/color2k/-/color2k-2.0.3.tgz#a771244f6b6285541c82aa65ff0a0c624046e533"
|
||||||
@ -838,6 +889,14 @@ detect-node-es@^1.1.0:
|
|||||||
resolved "https://registry.yarnpkg.com/detect-node-es/-/detect-node-es-1.1.0.tgz#163acdf643330caa0b4cd7c21e7ee7755d6fa493"
|
resolved "https://registry.yarnpkg.com/detect-node-es/-/detect-node-es-1.1.0.tgz#163acdf643330caa0b4cd7c21e7ee7755d6fa493"
|
||||||
integrity sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==
|
integrity sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==
|
||||||
|
|
||||||
|
dom-helpers@^5.0.1:
|
||||||
|
version "5.2.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902"
|
||||||
|
integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==
|
||||||
|
dependencies:
|
||||||
|
"@babel/runtime" "^7.8.7"
|
||||||
|
csstype "^3.0.2"
|
||||||
|
|
||||||
dunder-proto@^1.0.1:
|
dunder-proto@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a"
|
resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a"
|
||||||
@ -953,6 +1012,15 @@ form-data@^4.0.5:
|
|||||||
hasown "^2.0.4"
|
hasown "^2.0.4"
|
||||||
mime-types "^2.1.35"
|
mime-types "^2.1.35"
|
||||||
|
|
||||||
|
framer-motion@^12.0.0:
|
||||||
|
version "12.40.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/framer-motion/-/framer-motion-12.40.0.tgz#68e53aecd51c8a8a62b565f059b418bef2add0e2"
|
||||||
|
integrity sha512-uaBd3qC1v3KQqBEjwTUd183K6PbS+j0yR9w9VmEOLWA/tnUcSn8Xa3uck7t4dgpDoUss8xQTcj8W2L07lrnLFg==
|
||||||
|
dependencies:
|
||||||
|
motion-dom "^12.40.0"
|
||||||
|
motion-utils "^12.39.0"
|
||||||
|
tslib "^2.4.0"
|
||||||
|
|
||||||
framesync@6.1.2:
|
framesync@6.1.2:
|
||||||
version "6.1.2"
|
version "6.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/framesync/-/framesync-6.1.2.tgz#755eff2fb5b8f3b4d2b266dd18121b300aefea27"
|
resolved "https://registry.yarnpkg.com/framesync/-/framesync-6.1.2.tgz#755eff2fb5b8f3b4d2b266dd18121b300aefea27"
|
||||||
@ -1117,6 +1185,11 @@ math-intrinsics@^1.1.0:
|
|||||||
resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9"
|
resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9"
|
||||||
integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==
|
integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==
|
||||||
|
|
||||||
|
memoize-one@^6.0.0:
|
||||||
|
version "6.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-6.0.0.tgz#b2591b871ed82948aee4727dc6abceeeac8c1045"
|
||||||
|
integrity sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==
|
||||||
|
|
||||||
mime-db@1.52.0:
|
mime-db@1.52.0:
|
||||||
version "1.52.0"
|
version "1.52.0"
|
||||||
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
|
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
|
||||||
@ -1129,6 +1202,18 @@ mime-types@^2.1.35:
|
|||||||
dependencies:
|
dependencies:
|
||||||
mime-db "1.52.0"
|
mime-db "1.52.0"
|
||||||
|
|
||||||
|
motion-dom@^12.40.0:
|
||||||
|
version "12.40.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/motion-dom/-/motion-dom-12.40.0.tgz#95fb411ac72e8adbaf5f1b17b8f07783da223bee"
|
||||||
|
integrity sha512-HxU3ZaBwNPVQUBQf1xxgq+7JrPNZvjLVxgbpEZL7RrWJnsxOf0/OM+yrHG9ogLQ31Do/r57Oz2gQWPK+6q62mg==
|
||||||
|
dependencies:
|
||||||
|
motion-utils "^12.39.0"
|
||||||
|
|
||||||
|
motion-utils@^12.39.0:
|
||||||
|
version "12.39.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/motion-utils/-/motion-utils-12.39.0.tgz#e1c66f0e912999804bc5e69b4630c3bc794ef29f"
|
||||||
|
integrity sha512-8nadJAJjTtqRkmRF36FoJTrywK9nnFmnPwnSMyxaOCU7GDjN9RTMJIxx9De8ErM+vpPhMccr/6fo5WciyQLnMQ==
|
||||||
|
|
||||||
ms@^2.1.3:
|
ms@^2.1.3:
|
||||||
version "2.1.3"
|
version "2.1.3"
|
||||||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
|
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
|
||||||
@ -1190,7 +1275,7 @@ postcss@^8.4.43:
|
|||||||
picocolors "^1.1.1"
|
picocolors "^1.1.1"
|
||||||
source-map-js "^1.2.1"
|
source-map-js "^1.2.1"
|
||||||
|
|
||||||
prop-types@^15.6.2:
|
prop-types@^15.6.0, prop-types@^15.6.2:
|
||||||
version "15.8.1"
|
version "15.8.1"
|
||||||
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
|
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
|
||||||
integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
|
integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
|
||||||
@ -1236,6 +1321,11 @@ react-focus-lock@^2.9.6:
|
|||||||
use-callback-ref "^1.3.3"
|
use-callback-ref "^1.3.3"
|
||||||
use-sidecar "^1.1.3"
|
use-sidecar "^1.1.3"
|
||||||
|
|
||||||
|
react-hook-form@^7.0.0:
|
||||||
|
version "7.80.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.80.0.tgz#028e142324d592239599ab7cf1c0d82167696194"
|
||||||
|
integrity sha512-4P+fk6oXsxY+6xSj7Euhc2sumQD8zQqCuVHoJwoyp9EchP+IUW9OESB7uHFJOKsIBQ4MQqYE84INJFqUCYNoOg==
|
||||||
|
|
||||||
react-icons@^5.0.0:
|
react-icons@^5.0.0:
|
||||||
version "5.6.0"
|
version "5.6.0"
|
||||||
resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-5.6.0.tgz#27bcc4acbc836e762548d76041cf9b9fef4e3837"
|
resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-5.6.0.tgz#27bcc4acbc836e762548d76041cf9b9fef4e3837"
|
||||||
@ -1270,6 +1360,21 @@ react-remove-scroll@^2.5.7:
|
|||||||
use-callback-ref "^1.3.3"
|
use-callback-ref "^1.3.3"
|
||||||
use-sidecar "^1.1.3"
|
use-sidecar "^1.1.3"
|
||||||
|
|
||||||
|
react-select@5, react-select@^5.10.2:
|
||||||
|
version "5.10.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/react-select/-/react-select-5.10.2.tgz#8dffc69dfd7d74684d9613e6eb27204e3b99e127"
|
||||||
|
integrity sha512-Z33nHdEFWq9tfnfVXaiM12rbJmk+QjFEztWLtmXqQhz6Al4UZZ9xc0wiatmGtUOCCnHN0WizL3tCMYRENX4rVQ==
|
||||||
|
dependencies:
|
||||||
|
"@babel/runtime" "^7.12.0"
|
||||||
|
"@emotion/cache" "^11.4.0"
|
||||||
|
"@emotion/react" "^11.8.1"
|
||||||
|
"@floating-ui/dom" "^1.0.1"
|
||||||
|
"@types/react-transition-group" "^4.4.0"
|
||||||
|
memoize-one "^6.0.0"
|
||||||
|
prop-types "^15.6.0"
|
||||||
|
react-transition-group "^4.3.0"
|
||||||
|
use-isomorphic-layout-effect "^1.2.0"
|
||||||
|
|
||||||
react-style-singleton@^2.2.2, react-style-singleton@^2.2.3:
|
react-style-singleton@^2.2.2, react-style-singleton@^2.2.3:
|
||||||
version "2.2.3"
|
version "2.2.3"
|
||||||
resolved "https://registry.yarnpkg.com/react-style-singleton/-/react-style-singleton-2.2.3.tgz#4265608be69a4d70cfe3047f2c6c88b2c3ace388"
|
resolved "https://registry.yarnpkg.com/react-style-singleton/-/react-style-singleton-2.2.3.tgz#4265608be69a4d70cfe3047f2c6c88b2c3ace388"
|
||||||
@ -1278,6 +1383,16 @@ react-style-singleton@^2.2.2, react-style-singleton@^2.2.3:
|
|||||||
get-nonce "^1.0.0"
|
get-nonce "^1.0.0"
|
||||||
tslib "^2.0.0"
|
tslib "^2.0.0"
|
||||||
|
|
||||||
|
react-transition-group@^4.3.0:
|
||||||
|
version "4.4.5"
|
||||||
|
resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1"
|
||||||
|
integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==
|
||||||
|
dependencies:
|
||||||
|
"@babel/runtime" "^7.5.5"
|
||||||
|
dom-helpers "^5.0.1"
|
||||||
|
loose-envify "^1.4.0"
|
||||||
|
prop-types "^15.6.2"
|
||||||
|
|
||||||
react@^18.0.0:
|
react@^18.0.0:
|
||||||
version "18.3.1"
|
version "18.3.1"
|
||||||
resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891"
|
resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891"
|
||||||
@ -1376,7 +1491,7 @@ tslib@2.4.0:
|
|||||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3"
|
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3"
|
||||||
integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==
|
integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==
|
||||||
|
|
||||||
tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0:
|
tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.4.0:
|
||||||
version "2.8.1"
|
version "2.8.1"
|
||||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f"
|
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f"
|
||||||
integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==
|
integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==
|
||||||
@ -1396,6 +1511,11 @@ use-callback-ref@^1.3.3:
|
|||||||
dependencies:
|
dependencies:
|
||||||
tslib "^2.0.0"
|
tslib "^2.0.0"
|
||||||
|
|
||||||
|
use-isomorphic-layout-effect@^1.2.0:
|
||||||
|
version "1.2.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.2.1.tgz#2f11a525628f56424521c748feabc2ffcc962fce"
|
||||||
|
integrity sha512-tpZZ+EX0gaghDAiFR37hj5MgY6ZN55kLiPkJsKxBMZ6GZdOSPJXiOzPM984oPYZ5AnehYx5WQp1+ME8I/P/pRA==
|
||||||
|
|
||||||
use-sidecar@^1.1.3:
|
use-sidecar@^1.1.3:
|
||||||
version "1.1.3"
|
version "1.1.3"
|
||||||
resolved "https://registry.yarnpkg.com/use-sidecar/-/use-sidecar-1.1.3.tgz#10e7fd897d130b896e2c546c63a5e8233d00efdb"
|
resolved "https://registry.yarnpkg.com/use-sidecar/-/use-sidecar-1.1.3.tgz#10e7fd897d130b896e2c546c63a5e8233d00efdb"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user