@medusajs/draft-order 2.10.4-preview-20250924210149 → 2.10.4-preview-20250925000313
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/.medusa/server/src/admin/index.js +136 -136
- package/.medusa/server/src/admin/index.mjs +136 -136
- package/package.json +16 -16
|
@@ -9784,6 +9784,74 @@ const CustomItemsForm = () => {
|
|
|
9784
9784
|
const schema$4 = objectType({
|
|
9785
9785
|
email: stringType().email()
|
|
9786
9786
|
});
|
|
9787
|
+
const Email = () => {
|
|
9788
|
+
const { id } = reactRouterDom.useParams();
|
|
9789
|
+
const { order, isPending, isError, error } = useOrder(id, {
|
|
9790
|
+
fields: "+email"
|
|
9791
|
+
});
|
|
9792
|
+
if (isError) {
|
|
9793
|
+
throw error;
|
|
9794
|
+
}
|
|
9795
|
+
const isReady = !isPending && !!order;
|
|
9796
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer, { children: [
|
|
9797
|
+
/* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer.Header, { children: [
|
|
9798
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { children: "Edit Email" }) }),
|
|
9799
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Description, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Edit the email for the draft order" }) })
|
|
9800
|
+
] }),
|
|
9801
|
+
isReady && /* @__PURE__ */ jsxRuntime.jsx(EmailForm, { order })
|
|
9802
|
+
] });
|
|
9803
|
+
};
|
|
9804
|
+
const EmailForm = ({ order }) => {
|
|
9805
|
+
const form = reactHookForm.useForm({
|
|
9806
|
+
defaultValues: {
|
|
9807
|
+
email: order.email ?? ""
|
|
9808
|
+
},
|
|
9809
|
+
resolver: zod.zodResolver(schema$3)
|
|
9810
|
+
});
|
|
9811
|
+
const { mutateAsync, isPending } = useUpdateDraftOrder(order.id);
|
|
9812
|
+
const { handleSuccess } = useRouteModal();
|
|
9813
|
+
const onSubmit = form.handleSubmit(async (data) => {
|
|
9814
|
+
await mutateAsync(
|
|
9815
|
+
{ email: data.email },
|
|
9816
|
+
{
|
|
9817
|
+
onSuccess: () => {
|
|
9818
|
+
handleSuccess();
|
|
9819
|
+
},
|
|
9820
|
+
onError: (error) => {
|
|
9821
|
+
ui.toast.error(error.message);
|
|
9822
|
+
}
|
|
9823
|
+
}
|
|
9824
|
+
);
|
|
9825
|
+
});
|
|
9826
|
+
return /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Form, { form, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
9827
|
+
KeyboundForm,
|
|
9828
|
+
{
|
|
9829
|
+
className: "flex flex-1 flex-col overflow-hidden",
|
|
9830
|
+
onSubmit,
|
|
9831
|
+
children: [
|
|
9832
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Body, { className: "flex flex-col gap-y-6 overflow-y-auto", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
9833
|
+
Form$2.Field,
|
|
9834
|
+
{
|
|
9835
|
+
control: form.control,
|
|
9836
|
+
name: "email",
|
|
9837
|
+
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
9838
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Email" }),
|
|
9839
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
9840
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
9841
|
+
] })
|
|
9842
|
+
}
|
|
9843
|
+
) }),
|
|
9844
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Footer, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2", children: [
|
|
9845
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Close, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", variant: "secondary", children: "Cancel" }) }),
|
|
9846
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", type: "submit", isLoading: isPending, children: "Save" })
|
|
9847
|
+
] }) })
|
|
9848
|
+
]
|
|
9849
|
+
}
|
|
9850
|
+
) });
|
|
9851
|
+
};
|
|
9852
|
+
const schema$3 = objectType({
|
|
9853
|
+
email: stringType().email()
|
|
9854
|
+
});
|
|
9787
9855
|
const NumberInput = React.forwardRef(
|
|
9788
9856
|
({
|
|
9789
9857
|
value,
|
|
@@ -11385,112 +11453,6 @@ function getPromotionIds(items, shippingMethods) {
|
|
|
11385
11453
|
}
|
|
11386
11454
|
return Array.from(promotionIds);
|
|
11387
11455
|
}
|
|
11388
|
-
const SalesChannel = () => {
|
|
11389
|
-
const { id } = reactRouterDom.useParams();
|
|
11390
|
-
const { draft_order, isPending, isError, error } = useDraftOrder(
|
|
11391
|
-
id,
|
|
11392
|
-
{
|
|
11393
|
-
fields: "+sales_channel_id"
|
|
11394
|
-
},
|
|
11395
|
-
{
|
|
11396
|
-
enabled: !!id
|
|
11397
|
-
}
|
|
11398
|
-
);
|
|
11399
|
-
if (isError) {
|
|
11400
|
-
throw error;
|
|
11401
|
-
}
|
|
11402
|
-
const ISrEADY = !!draft_order && !isPending;
|
|
11403
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer, { children: [
|
|
11404
|
-
/* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer.Header, { children: [
|
|
11405
|
-
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { children: "Edit Sales Channel" }) }),
|
|
11406
|
-
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Description, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Update which sales channel the draft order is associated with" }) })
|
|
11407
|
-
] }),
|
|
11408
|
-
ISrEADY && /* @__PURE__ */ jsxRuntime.jsx(SalesChannelForm, { order: draft_order })
|
|
11409
|
-
] });
|
|
11410
|
-
};
|
|
11411
|
-
const SalesChannelForm = ({ order }) => {
|
|
11412
|
-
const form = reactHookForm.useForm({
|
|
11413
|
-
defaultValues: {
|
|
11414
|
-
sales_channel_id: order.sales_channel_id || ""
|
|
11415
|
-
},
|
|
11416
|
-
resolver: zod.zodResolver(schema$3)
|
|
11417
|
-
});
|
|
11418
|
-
const { mutateAsync, isPending } = useUpdateDraftOrder(order.id);
|
|
11419
|
-
const { handleSuccess } = useRouteModal();
|
|
11420
|
-
const onSubmit = form.handleSubmit(async (data) => {
|
|
11421
|
-
await mutateAsync(
|
|
11422
|
-
{
|
|
11423
|
-
sales_channel_id: data.sales_channel_id
|
|
11424
|
-
},
|
|
11425
|
-
{
|
|
11426
|
-
onSuccess: () => {
|
|
11427
|
-
ui.toast.success("Sales channel updated");
|
|
11428
|
-
handleSuccess();
|
|
11429
|
-
},
|
|
11430
|
-
onError: (error) => {
|
|
11431
|
-
ui.toast.error(error.message);
|
|
11432
|
-
}
|
|
11433
|
-
}
|
|
11434
|
-
);
|
|
11435
|
-
});
|
|
11436
|
-
return /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Form, { form, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
11437
|
-
KeyboundForm,
|
|
11438
|
-
{
|
|
11439
|
-
className: "flex flex-1 flex-col overflow-hidden",
|
|
11440
|
-
onSubmit,
|
|
11441
|
-
children: [
|
|
11442
|
-
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Body, { className: "flex flex-col gap-y-6 overflow-y-auto", children: /* @__PURE__ */ jsxRuntime.jsx(SalesChannelField, { control: form.control, order }) }),
|
|
11443
|
-
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Footer, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2", children: [
|
|
11444
|
-
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Close, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", variant: "secondary", children: "Cancel" }) }),
|
|
11445
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", type: "submit", isLoading: isPending, children: "Save" })
|
|
11446
|
-
] }) })
|
|
11447
|
-
]
|
|
11448
|
-
}
|
|
11449
|
-
) });
|
|
11450
|
-
};
|
|
11451
|
-
const SalesChannelField = ({ control, order }) => {
|
|
11452
|
-
const salesChannels = useComboboxData({
|
|
11453
|
-
queryFn: async (params) => {
|
|
11454
|
-
return await sdk.admin.salesChannel.list(params);
|
|
11455
|
-
},
|
|
11456
|
-
queryKey: ["sales-channels"],
|
|
11457
|
-
getOptions: (data) => {
|
|
11458
|
-
return data.sales_channels.map((salesChannel) => ({
|
|
11459
|
-
label: salesChannel.name,
|
|
11460
|
-
value: salesChannel.id
|
|
11461
|
-
}));
|
|
11462
|
-
},
|
|
11463
|
-
defaultValue: order.sales_channel_id || void 0
|
|
11464
|
-
});
|
|
11465
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11466
|
-
Form$2.Field,
|
|
11467
|
-
{
|
|
11468
|
-
control,
|
|
11469
|
-
name: "sales_channel_id",
|
|
11470
|
-
render: ({ field }) => {
|
|
11471
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
11472
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Sales Channel" }),
|
|
11473
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
11474
|
-
Combobox,
|
|
11475
|
-
{
|
|
11476
|
-
options: salesChannels.options,
|
|
11477
|
-
fetchNextPage: salesChannels.fetchNextPage,
|
|
11478
|
-
isFetchingNextPage: salesChannels.isFetchingNextPage,
|
|
11479
|
-
searchValue: salesChannels.searchValue,
|
|
11480
|
-
onSearchValueChange: salesChannels.onSearchValueChange,
|
|
11481
|
-
placeholder: "Select sales channel",
|
|
11482
|
-
...field
|
|
11483
|
-
}
|
|
11484
|
-
) }),
|
|
11485
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
11486
|
-
] });
|
|
11487
|
-
}
|
|
11488
|
-
}
|
|
11489
|
-
);
|
|
11490
|
-
};
|
|
11491
|
-
const schema$3 = objectType({
|
|
11492
|
-
sales_channel_id: stringType().min(1)
|
|
11493
|
-
});
|
|
11494
11456
|
const STACKED_FOCUS_MODAL_ID = "shipping-form";
|
|
11495
11457
|
const Shipping = () => {
|
|
11496
11458
|
var _a;
|
|
@@ -12977,27 +12939,33 @@ const Illustration = () => {
|
|
|
12977
12939
|
const schema$1 = objectType({
|
|
12978
12940
|
customer_id: stringType().min(1)
|
|
12979
12941
|
});
|
|
12980
|
-
const
|
|
12942
|
+
const SalesChannel = () => {
|
|
12981
12943
|
const { id } = reactRouterDom.useParams();
|
|
12982
|
-
const {
|
|
12983
|
-
|
|
12984
|
-
|
|
12944
|
+
const { draft_order, isPending, isError, error } = useDraftOrder(
|
|
12945
|
+
id,
|
|
12946
|
+
{
|
|
12947
|
+
fields: "+sales_channel_id"
|
|
12948
|
+
},
|
|
12949
|
+
{
|
|
12950
|
+
enabled: !!id
|
|
12951
|
+
}
|
|
12952
|
+
);
|
|
12985
12953
|
if (isError) {
|
|
12986
12954
|
throw error;
|
|
12987
12955
|
}
|
|
12988
|
-
const
|
|
12956
|
+
const ISrEADY = !!draft_order && !isPending;
|
|
12989
12957
|
return /* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer, { children: [
|
|
12990
12958
|
/* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer.Header, { children: [
|
|
12991
|
-
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { children: "Edit
|
|
12992
|
-
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Description, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "
|
|
12959
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { children: "Edit Sales Channel" }) }),
|
|
12960
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Description, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Update which sales channel the draft order is associated with" }) })
|
|
12993
12961
|
] }),
|
|
12994
|
-
|
|
12962
|
+
ISrEADY && /* @__PURE__ */ jsxRuntime.jsx(SalesChannelForm, { order: draft_order })
|
|
12995
12963
|
] });
|
|
12996
12964
|
};
|
|
12997
|
-
const
|
|
12965
|
+
const SalesChannelForm = ({ order }) => {
|
|
12998
12966
|
const form = reactHookForm.useForm({
|
|
12999
12967
|
defaultValues: {
|
|
13000
|
-
|
|
12968
|
+
sales_channel_id: order.sales_channel_id || ""
|
|
13001
12969
|
},
|
|
13002
12970
|
resolver: zod.zodResolver(schema)
|
|
13003
12971
|
});
|
|
@@ -13005,9 +12973,12 @@ const EmailForm = ({ order }) => {
|
|
|
13005
12973
|
const { handleSuccess } = useRouteModal();
|
|
13006
12974
|
const onSubmit = form.handleSubmit(async (data) => {
|
|
13007
12975
|
await mutateAsync(
|
|
13008
|
-
{
|
|
12976
|
+
{
|
|
12977
|
+
sales_channel_id: data.sales_channel_id
|
|
12978
|
+
},
|
|
13009
12979
|
{
|
|
13010
12980
|
onSuccess: () => {
|
|
12981
|
+
ui.toast.success("Sales channel updated");
|
|
13011
12982
|
handleSuccess();
|
|
13012
12983
|
},
|
|
13013
12984
|
onError: (error) => {
|
|
@@ -13022,18 +12993,7 @@ const EmailForm = ({ order }) => {
|
|
|
13022
12993
|
className: "flex flex-1 flex-col overflow-hidden",
|
|
13023
12994
|
onSubmit,
|
|
13024
12995
|
children: [
|
|
13025
|
-
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Body, { className: "flex flex-col gap-y-6 overflow-y-auto", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
13026
|
-
Form$2.Field,
|
|
13027
|
-
{
|
|
13028
|
-
control: form.control,
|
|
13029
|
-
name: "email",
|
|
13030
|
-
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
13031
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Email" }),
|
|
13032
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
13033
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
13034
|
-
] })
|
|
13035
|
-
}
|
|
13036
|
-
) }),
|
|
12996
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Body, { className: "flex flex-col gap-y-6 overflow-y-auto", children: /* @__PURE__ */ jsxRuntime.jsx(SalesChannelField, { control: form.control, order }) }),
|
|
13037
12997
|
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Footer, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2", children: [
|
|
13038
12998
|
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Close, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", variant: "secondary", children: "Cancel" }) }),
|
|
13039
12999
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", type: "submit", isLoading: isPending, children: "Save" })
|
|
@@ -13042,8 +13002,48 @@ const EmailForm = ({ order }) => {
|
|
|
13042
13002
|
}
|
|
13043
13003
|
) });
|
|
13044
13004
|
};
|
|
13005
|
+
const SalesChannelField = ({ control, order }) => {
|
|
13006
|
+
const salesChannels = useComboboxData({
|
|
13007
|
+
queryFn: async (params) => {
|
|
13008
|
+
return await sdk.admin.salesChannel.list(params);
|
|
13009
|
+
},
|
|
13010
|
+
queryKey: ["sales-channels"],
|
|
13011
|
+
getOptions: (data) => {
|
|
13012
|
+
return data.sales_channels.map((salesChannel) => ({
|
|
13013
|
+
label: salesChannel.name,
|
|
13014
|
+
value: salesChannel.id
|
|
13015
|
+
}));
|
|
13016
|
+
},
|
|
13017
|
+
defaultValue: order.sales_channel_id || void 0
|
|
13018
|
+
});
|
|
13019
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13020
|
+
Form$2.Field,
|
|
13021
|
+
{
|
|
13022
|
+
control,
|
|
13023
|
+
name: "sales_channel_id",
|
|
13024
|
+
render: ({ field }) => {
|
|
13025
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
13026
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Sales Channel" }),
|
|
13027
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
13028
|
+
Combobox,
|
|
13029
|
+
{
|
|
13030
|
+
options: salesChannels.options,
|
|
13031
|
+
fetchNextPage: salesChannels.fetchNextPage,
|
|
13032
|
+
isFetchingNextPage: salesChannels.isFetchingNextPage,
|
|
13033
|
+
searchValue: salesChannels.searchValue,
|
|
13034
|
+
onSearchValueChange: salesChannels.onSearchValueChange,
|
|
13035
|
+
placeholder: "Select sales channel",
|
|
13036
|
+
...field
|
|
13037
|
+
}
|
|
13038
|
+
) }),
|
|
13039
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
13040
|
+
] });
|
|
13041
|
+
}
|
|
13042
|
+
}
|
|
13043
|
+
);
|
|
13044
|
+
};
|
|
13045
13045
|
const schema = objectType({
|
|
13046
|
-
|
|
13046
|
+
sales_channel_id: stringType().min(1)
|
|
13047
13047
|
});
|
|
13048
13048
|
const widgetModule = { widgets: [] };
|
|
13049
13049
|
const routeModule = {
|
|
@@ -13073,6 +13073,10 @@ const routeModule = {
|
|
|
13073
13073
|
Component: CustomItems,
|
|
13074
13074
|
path: "/draft-orders/:id/custom-items"
|
|
13075
13075
|
},
|
|
13076
|
+
{
|
|
13077
|
+
Component: Email,
|
|
13078
|
+
path: "/draft-orders/:id/email"
|
|
13079
|
+
},
|
|
13076
13080
|
{
|
|
13077
13081
|
Component: Items,
|
|
13078
13082
|
path: "/draft-orders/:id/items"
|
|
@@ -13085,10 +13089,6 @@ const routeModule = {
|
|
|
13085
13089
|
Component: Promotions,
|
|
13086
13090
|
path: "/draft-orders/:id/promotions"
|
|
13087
13091
|
},
|
|
13088
|
-
{
|
|
13089
|
-
Component: SalesChannel,
|
|
13090
|
-
path: "/draft-orders/:id/sales-channel"
|
|
13091
|
-
},
|
|
13092
13092
|
{
|
|
13093
13093
|
Component: Shipping,
|
|
13094
13094
|
path: "/draft-orders/:id/shipping"
|
|
@@ -13102,8 +13102,8 @@ const routeModule = {
|
|
|
13102
13102
|
path: "/draft-orders/:id/transfer-ownership"
|
|
13103
13103
|
},
|
|
13104
13104
|
{
|
|
13105
|
-
Component:
|
|
13106
|
-
path: "/draft-orders/:id/
|
|
13105
|
+
Component: SalesChannel,
|
|
13106
|
+
path: "/draft-orders/:id/sales-channel"
|
|
13107
13107
|
}
|
|
13108
13108
|
]
|
|
13109
13109
|
}
|
|
@@ -9778,6 +9778,74 @@ const CustomItemsForm = () => {
|
|
|
9778
9778
|
const schema$4 = objectType({
|
|
9779
9779
|
email: stringType().email()
|
|
9780
9780
|
});
|
|
9781
|
+
const Email = () => {
|
|
9782
|
+
const { id } = useParams();
|
|
9783
|
+
const { order, isPending, isError, error } = useOrder(id, {
|
|
9784
|
+
fields: "+email"
|
|
9785
|
+
});
|
|
9786
|
+
if (isError) {
|
|
9787
|
+
throw error;
|
|
9788
|
+
}
|
|
9789
|
+
const isReady = !isPending && !!order;
|
|
9790
|
+
return /* @__PURE__ */ jsxs(RouteDrawer, { children: [
|
|
9791
|
+
/* @__PURE__ */ jsxs(RouteDrawer.Header, { children: [
|
|
9792
|
+
/* @__PURE__ */ jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsx(Heading, { children: "Edit Email" }) }),
|
|
9793
|
+
/* @__PURE__ */ jsx(RouteDrawer.Description, { asChild: true, children: /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Edit the email for the draft order" }) })
|
|
9794
|
+
] }),
|
|
9795
|
+
isReady && /* @__PURE__ */ jsx(EmailForm, { order })
|
|
9796
|
+
] });
|
|
9797
|
+
};
|
|
9798
|
+
const EmailForm = ({ order }) => {
|
|
9799
|
+
const form = useForm({
|
|
9800
|
+
defaultValues: {
|
|
9801
|
+
email: order.email ?? ""
|
|
9802
|
+
},
|
|
9803
|
+
resolver: zodResolver(schema$3)
|
|
9804
|
+
});
|
|
9805
|
+
const { mutateAsync, isPending } = useUpdateDraftOrder(order.id);
|
|
9806
|
+
const { handleSuccess } = useRouteModal();
|
|
9807
|
+
const onSubmit = form.handleSubmit(async (data) => {
|
|
9808
|
+
await mutateAsync(
|
|
9809
|
+
{ email: data.email },
|
|
9810
|
+
{
|
|
9811
|
+
onSuccess: () => {
|
|
9812
|
+
handleSuccess();
|
|
9813
|
+
},
|
|
9814
|
+
onError: (error) => {
|
|
9815
|
+
toast.error(error.message);
|
|
9816
|
+
}
|
|
9817
|
+
}
|
|
9818
|
+
);
|
|
9819
|
+
});
|
|
9820
|
+
return /* @__PURE__ */ jsx(RouteDrawer.Form, { form, children: /* @__PURE__ */ jsxs(
|
|
9821
|
+
KeyboundForm,
|
|
9822
|
+
{
|
|
9823
|
+
className: "flex flex-1 flex-col overflow-hidden",
|
|
9824
|
+
onSubmit,
|
|
9825
|
+
children: [
|
|
9826
|
+
/* @__PURE__ */ jsx(RouteDrawer.Body, { className: "flex flex-col gap-y-6 overflow-y-auto", children: /* @__PURE__ */ jsx(
|
|
9827
|
+
Form$2.Field,
|
|
9828
|
+
{
|
|
9829
|
+
control: form.control,
|
|
9830
|
+
name: "email",
|
|
9831
|
+
render: ({ field }) => /* @__PURE__ */ jsxs(Form$2.Item, { children: [
|
|
9832
|
+
/* @__PURE__ */ jsx(Form$2.Label, { children: "Email" }),
|
|
9833
|
+
/* @__PURE__ */ jsx(Form$2.Control, { children: /* @__PURE__ */ jsx(Input, { ...field }) }),
|
|
9834
|
+
/* @__PURE__ */ jsx(Form$2.ErrorMessage, {})
|
|
9835
|
+
] })
|
|
9836
|
+
}
|
|
9837
|
+
) }),
|
|
9838
|
+
/* @__PURE__ */ jsx(RouteDrawer.Footer, { children: /* @__PURE__ */ jsxs("div", { className: "flex justify-end gap-2", children: [
|
|
9839
|
+
/* @__PURE__ */ jsx(RouteDrawer.Close, { asChild: true, children: /* @__PURE__ */ jsx(Button, { size: "small", variant: "secondary", children: "Cancel" }) }),
|
|
9840
|
+
/* @__PURE__ */ jsx(Button, { size: "small", type: "submit", isLoading: isPending, children: "Save" })
|
|
9841
|
+
] }) })
|
|
9842
|
+
]
|
|
9843
|
+
}
|
|
9844
|
+
) });
|
|
9845
|
+
};
|
|
9846
|
+
const schema$3 = objectType({
|
|
9847
|
+
email: stringType().email()
|
|
9848
|
+
});
|
|
9781
9849
|
const NumberInput = forwardRef(
|
|
9782
9850
|
({
|
|
9783
9851
|
value,
|
|
@@ -11379,112 +11447,6 @@ function getPromotionIds(items, shippingMethods) {
|
|
|
11379
11447
|
}
|
|
11380
11448
|
return Array.from(promotionIds);
|
|
11381
11449
|
}
|
|
11382
|
-
const SalesChannel = () => {
|
|
11383
|
-
const { id } = useParams();
|
|
11384
|
-
const { draft_order, isPending, isError, error } = useDraftOrder(
|
|
11385
|
-
id,
|
|
11386
|
-
{
|
|
11387
|
-
fields: "+sales_channel_id"
|
|
11388
|
-
},
|
|
11389
|
-
{
|
|
11390
|
-
enabled: !!id
|
|
11391
|
-
}
|
|
11392
|
-
);
|
|
11393
|
-
if (isError) {
|
|
11394
|
-
throw error;
|
|
11395
|
-
}
|
|
11396
|
-
const ISrEADY = !!draft_order && !isPending;
|
|
11397
|
-
return /* @__PURE__ */ jsxs(RouteDrawer, { children: [
|
|
11398
|
-
/* @__PURE__ */ jsxs(RouteDrawer.Header, { children: [
|
|
11399
|
-
/* @__PURE__ */ jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsx(Heading, { children: "Edit Sales Channel" }) }),
|
|
11400
|
-
/* @__PURE__ */ jsx(RouteDrawer.Description, { asChild: true, children: /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Update which sales channel the draft order is associated with" }) })
|
|
11401
|
-
] }),
|
|
11402
|
-
ISrEADY && /* @__PURE__ */ jsx(SalesChannelForm, { order: draft_order })
|
|
11403
|
-
] });
|
|
11404
|
-
};
|
|
11405
|
-
const SalesChannelForm = ({ order }) => {
|
|
11406
|
-
const form = useForm({
|
|
11407
|
-
defaultValues: {
|
|
11408
|
-
sales_channel_id: order.sales_channel_id || ""
|
|
11409
|
-
},
|
|
11410
|
-
resolver: zodResolver(schema$3)
|
|
11411
|
-
});
|
|
11412
|
-
const { mutateAsync, isPending } = useUpdateDraftOrder(order.id);
|
|
11413
|
-
const { handleSuccess } = useRouteModal();
|
|
11414
|
-
const onSubmit = form.handleSubmit(async (data) => {
|
|
11415
|
-
await mutateAsync(
|
|
11416
|
-
{
|
|
11417
|
-
sales_channel_id: data.sales_channel_id
|
|
11418
|
-
},
|
|
11419
|
-
{
|
|
11420
|
-
onSuccess: () => {
|
|
11421
|
-
toast.success("Sales channel updated");
|
|
11422
|
-
handleSuccess();
|
|
11423
|
-
},
|
|
11424
|
-
onError: (error) => {
|
|
11425
|
-
toast.error(error.message);
|
|
11426
|
-
}
|
|
11427
|
-
}
|
|
11428
|
-
);
|
|
11429
|
-
});
|
|
11430
|
-
return /* @__PURE__ */ jsx(RouteDrawer.Form, { form, children: /* @__PURE__ */ jsxs(
|
|
11431
|
-
KeyboundForm,
|
|
11432
|
-
{
|
|
11433
|
-
className: "flex flex-1 flex-col overflow-hidden",
|
|
11434
|
-
onSubmit,
|
|
11435
|
-
children: [
|
|
11436
|
-
/* @__PURE__ */ jsx(RouteDrawer.Body, { className: "flex flex-col gap-y-6 overflow-y-auto", children: /* @__PURE__ */ jsx(SalesChannelField, { control: form.control, order }) }),
|
|
11437
|
-
/* @__PURE__ */ jsx(RouteDrawer.Footer, { children: /* @__PURE__ */ jsxs("div", { className: "flex justify-end gap-2", children: [
|
|
11438
|
-
/* @__PURE__ */ jsx(RouteDrawer.Close, { asChild: true, children: /* @__PURE__ */ jsx(Button, { size: "small", variant: "secondary", children: "Cancel" }) }),
|
|
11439
|
-
/* @__PURE__ */ jsx(Button, { size: "small", type: "submit", isLoading: isPending, children: "Save" })
|
|
11440
|
-
] }) })
|
|
11441
|
-
]
|
|
11442
|
-
}
|
|
11443
|
-
) });
|
|
11444
|
-
};
|
|
11445
|
-
const SalesChannelField = ({ control, order }) => {
|
|
11446
|
-
const salesChannels = useComboboxData({
|
|
11447
|
-
queryFn: async (params) => {
|
|
11448
|
-
return await sdk.admin.salesChannel.list(params);
|
|
11449
|
-
},
|
|
11450
|
-
queryKey: ["sales-channels"],
|
|
11451
|
-
getOptions: (data) => {
|
|
11452
|
-
return data.sales_channels.map((salesChannel) => ({
|
|
11453
|
-
label: salesChannel.name,
|
|
11454
|
-
value: salesChannel.id
|
|
11455
|
-
}));
|
|
11456
|
-
},
|
|
11457
|
-
defaultValue: order.sales_channel_id || void 0
|
|
11458
|
-
});
|
|
11459
|
-
return /* @__PURE__ */ jsx(
|
|
11460
|
-
Form$2.Field,
|
|
11461
|
-
{
|
|
11462
|
-
control,
|
|
11463
|
-
name: "sales_channel_id",
|
|
11464
|
-
render: ({ field }) => {
|
|
11465
|
-
return /* @__PURE__ */ jsxs(Form$2.Item, { children: [
|
|
11466
|
-
/* @__PURE__ */ jsx(Form$2.Label, { children: "Sales Channel" }),
|
|
11467
|
-
/* @__PURE__ */ jsx(Form$2.Control, { children: /* @__PURE__ */ jsx(
|
|
11468
|
-
Combobox,
|
|
11469
|
-
{
|
|
11470
|
-
options: salesChannels.options,
|
|
11471
|
-
fetchNextPage: salesChannels.fetchNextPage,
|
|
11472
|
-
isFetchingNextPage: salesChannels.isFetchingNextPage,
|
|
11473
|
-
searchValue: salesChannels.searchValue,
|
|
11474
|
-
onSearchValueChange: salesChannels.onSearchValueChange,
|
|
11475
|
-
placeholder: "Select sales channel",
|
|
11476
|
-
...field
|
|
11477
|
-
}
|
|
11478
|
-
) }),
|
|
11479
|
-
/* @__PURE__ */ jsx(Form$2.ErrorMessage, {})
|
|
11480
|
-
] });
|
|
11481
|
-
}
|
|
11482
|
-
}
|
|
11483
|
-
);
|
|
11484
|
-
};
|
|
11485
|
-
const schema$3 = objectType({
|
|
11486
|
-
sales_channel_id: stringType().min(1)
|
|
11487
|
-
});
|
|
11488
11450
|
const STACKED_FOCUS_MODAL_ID = "shipping-form";
|
|
11489
11451
|
const Shipping = () => {
|
|
11490
11452
|
var _a;
|
|
@@ -12971,27 +12933,33 @@ const Illustration = () => {
|
|
|
12971
12933
|
const schema$1 = objectType({
|
|
12972
12934
|
customer_id: stringType().min(1)
|
|
12973
12935
|
});
|
|
12974
|
-
const
|
|
12936
|
+
const SalesChannel = () => {
|
|
12975
12937
|
const { id } = useParams();
|
|
12976
|
-
const {
|
|
12977
|
-
|
|
12978
|
-
|
|
12938
|
+
const { draft_order, isPending, isError, error } = useDraftOrder(
|
|
12939
|
+
id,
|
|
12940
|
+
{
|
|
12941
|
+
fields: "+sales_channel_id"
|
|
12942
|
+
},
|
|
12943
|
+
{
|
|
12944
|
+
enabled: !!id
|
|
12945
|
+
}
|
|
12946
|
+
);
|
|
12979
12947
|
if (isError) {
|
|
12980
12948
|
throw error;
|
|
12981
12949
|
}
|
|
12982
|
-
const
|
|
12950
|
+
const ISrEADY = !!draft_order && !isPending;
|
|
12983
12951
|
return /* @__PURE__ */ jsxs(RouteDrawer, { children: [
|
|
12984
12952
|
/* @__PURE__ */ jsxs(RouteDrawer.Header, { children: [
|
|
12985
|
-
/* @__PURE__ */ jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsx(Heading, { children: "Edit
|
|
12986
|
-
/* @__PURE__ */ jsx(RouteDrawer.Description, { asChild: true, children: /* @__PURE__ */ jsx("span", { className: "sr-only", children: "
|
|
12953
|
+
/* @__PURE__ */ jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsx(Heading, { children: "Edit Sales Channel" }) }),
|
|
12954
|
+
/* @__PURE__ */ jsx(RouteDrawer.Description, { asChild: true, children: /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Update which sales channel the draft order is associated with" }) })
|
|
12987
12955
|
] }),
|
|
12988
|
-
|
|
12956
|
+
ISrEADY && /* @__PURE__ */ jsx(SalesChannelForm, { order: draft_order })
|
|
12989
12957
|
] });
|
|
12990
12958
|
};
|
|
12991
|
-
const
|
|
12959
|
+
const SalesChannelForm = ({ order }) => {
|
|
12992
12960
|
const form = useForm({
|
|
12993
12961
|
defaultValues: {
|
|
12994
|
-
|
|
12962
|
+
sales_channel_id: order.sales_channel_id || ""
|
|
12995
12963
|
},
|
|
12996
12964
|
resolver: zodResolver(schema)
|
|
12997
12965
|
});
|
|
@@ -12999,9 +12967,12 @@ const EmailForm = ({ order }) => {
|
|
|
12999
12967
|
const { handleSuccess } = useRouteModal();
|
|
13000
12968
|
const onSubmit = form.handleSubmit(async (data) => {
|
|
13001
12969
|
await mutateAsync(
|
|
13002
|
-
{
|
|
12970
|
+
{
|
|
12971
|
+
sales_channel_id: data.sales_channel_id
|
|
12972
|
+
},
|
|
13003
12973
|
{
|
|
13004
12974
|
onSuccess: () => {
|
|
12975
|
+
toast.success("Sales channel updated");
|
|
13005
12976
|
handleSuccess();
|
|
13006
12977
|
},
|
|
13007
12978
|
onError: (error) => {
|
|
@@ -13016,18 +12987,7 @@ const EmailForm = ({ order }) => {
|
|
|
13016
12987
|
className: "flex flex-1 flex-col overflow-hidden",
|
|
13017
12988
|
onSubmit,
|
|
13018
12989
|
children: [
|
|
13019
|
-
/* @__PURE__ */ jsx(RouteDrawer.Body, { className: "flex flex-col gap-y-6 overflow-y-auto", children: /* @__PURE__ */ jsx(
|
|
13020
|
-
Form$2.Field,
|
|
13021
|
-
{
|
|
13022
|
-
control: form.control,
|
|
13023
|
-
name: "email",
|
|
13024
|
-
render: ({ field }) => /* @__PURE__ */ jsxs(Form$2.Item, { children: [
|
|
13025
|
-
/* @__PURE__ */ jsx(Form$2.Label, { children: "Email" }),
|
|
13026
|
-
/* @__PURE__ */ jsx(Form$2.Control, { children: /* @__PURE__ */ jsx(Input, { ...field }) }),
|
|
13027
|
-
/* @__PURE__ */ jsx(Form$2.ErrorMessage, {})
|
|
13028
|
-
] })
|
|
13029
|
-
}
|
|
13030
|
-
) }),
|
|
12990
|
+
/* @__PURE__ */ jsx(RouteDrawer.Body, { className: "flex flex-col gap-y-6 overflow-y-auto", children: /* @__PURE__ */ jsx(SalesChannelField, { control: form.control, order }) }),
|
|
13031
12991
|
/* @__PURE__ */ jsx(RouteDrawer.Footer, { children: /* @__PURE__ */ jsxs("div", { className: "flex justify-end gap-2", children: [
|
|
13032
12992
|
/* @__PURE__ */ jsx(RouteDrawer.Close, { asChild: true, children: /* @__PURE__ */ jsx(Button, { size: "small", variant: "secondary", children: "Cancel" }) }),
|
|
13033
12993
|
/* @__PURE__ */ jsx(Button, { size: "small", type: "submit", isLoading: isPending, children: "Save" })
|
|
@@ -13036,8 +12996,48 @@ const EmailForm = ({ order }) => {
|
|
|
13036
12996
|
}
|
|
13037
12997
|
) });
|
|
13038
12998
|
};
|
|
12999
|
+
const SalesChannelField = ({ control, order }) => {
|
|
13000
|
+
const salesChannels = useComboboxData({
|
|
13001
|
+
queryFn: async (params) => {
|
|
13002
|
+
return await sdk.admin.salesChannel.list(params);
|
|
13003
|
+
},
|
|
13004
|
+
queryKey: ["sales-channels"],
|
|
13005
|
+
getOptions: (data) => {
|
|
13006
|
+
return data.sales_channels.map((salesChannel) => ({
|
|
13007
|
+
label: salesChannel.name,
|
|
13008
|
+
value: salesChannel.id
|
|
13009
|
+
}));
|
|
13010
|
+
},
|
|
13011
|
+
defaultValue: order.sales_channel_id || void 0
|
|
13012
|
+
});
|
|
13013
|
+
return /* @__PURE__ */ jsx(
|
|
13014
|
+
Form$2.Field,
|
|
13015
|
+
{
|
|
13016
|
+
control,
|
|
13017
|
+
name: "sales_channel_id",
|
|
13018
|
+
render: ({ field }) => {
|
|
13019
|
+
return /* @__PURE__ */ jsxs(Form$2.Item, { children: [
|
|
13020
|
+
/* @__PURE__ */ jsx(Form$2.Label, { children: "Sales Channel" }),
|
|
13021
|
+
/* @__PURE__ */ jsx(Form$2.Control, { children: /* @__PURE__ */ jsx(
|
|
13022
|
+
Combobox,
|
|
13023
|
+
{
|
|
13024
|
+
options: salesChannels.options,
|
|
13025
|
+
fetchNextPage: salesChannels.fetchNextPage,
|
|
13026
|
+
isFetchingNextPage: salesChannels.isFetchingNextPage,
|
|
13027
|
+
searchValue: salesChannels.searchValue,
|
|
13028
|
+
onSearchValueChange: salesChannels.onSearchValueChange,
|
|
13029
|
+
placeholder: "Select sales channel",
|
|
13030
|
+
...field
|
|
13031
|
+
}
|
|
13032
|
+
) }),
|
|
13033
|
+
/* @__PURE__ */ jsx(Form$2.ErrorMessage, {})
|
|
13034
|
+
] });
|
|
13035
|
+
}
|
|
13036
|
+
}
|
|
13037
|
+
);
|
|
13038
|
+
};
|
|
13039
13039
|
const schema = objectType({
|
|
13040
|
-
|
|
13040
|
+
sales_channel_id: stringType().min(1)
|
|
13041
13041
|
});
|
|
13042
13042
|
const widgetModule = { widgets: [] };
|
|
13043
13043
|
const routeModule = {
|
|
@@ -13067,6 +13067,10 @@ const routeModule = {
|
|
|
13067
13067
|
Component: CustomItems,
|
|
13068
13068
|
path: "/draft-orders/:id/custom-items"
|
|
13069
13069
|
},
|
|
13070
|
+
{
|
|
13071
|
+
Component: Email,
|
|
13072
|
+
path: "/draft-orders/:id/email"
|
|
13073
|
+
},
|
|
13070
13074
|
{
|
|
13071
13075
|
Component: Items,
|
|
13072
13076
|
path: "/draft-orders/:id/items"
|
|
@@ -13079,10 +13083,6 @@ const routeModule = {
|
|
|
13079
13083
|
Component: Promotions,
|
|
13080
13084
|
path: "/draft-orders/:id/promotions"
|
|
13081
13085
|
},
|
|
13082
|
-
{
|
|
13083
|
-
Component: SalesChannel,
|
|
13084
|
-
path: "/draft-orders/:id/sales-channel"
|
|
13085
|
-
},
|
|
13086
13086
|
{
|
|
13087
13087
|
Component: Shipping,
|
|
13088
13088
|
path: "/draft-orders/:id/shipping"
|
|
@@ -13096,8 +13096,8 @@ const routeModule = {
|
|
|
13096
13096
|
path: "/draft-orders/:id/transfer-ownership"
|
|
13097
13097
|
},
|
|
13098
13098
|
{
|
|
13099
|
-
Component:
|
|
13100
|
-
path: "/draft-orders/:id/
|
|
13099
|
+
Component: SalesChannel,
|
|
13100
|
+
path: "/draft-orders/:id/sales-channel"
|
|
13101
13101
|
}
|
|
13102
13102
|
]
|
|
13103
13103
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@medusajs/draft-order",
|
|
3
|
-
"version": "2.10.4-preview-
|
|
3
|
+
"version": "2.10.4-preview-20250925000313",
|
|
4
4
|
"description": "A starter for Medusa plugins.",
|
|
5
5
|
"author": "Medusa (https://medusajs.com)",
|
|
6
6
|
"license": "MIT",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"@ariakit/react": "^0.4.15",
|
|
38
38
|
"@hookform/resolvers": "3.4.2",
|
|
39
|
-
"@medusajs/js-sdk": "2.10.4-preview-
|
|
39
|
+
"@medusajs/js-sdk": "2.10.4-preview-20250925000313",
|
|
40
40
|
"@tanstack/react-query": "5.64.2",
|
|
41
41
|
"@uiw/react-json-view": "^2.0.0-alpha.17",
|
|
42
42
|
"date-fns": "^3.6.0",
|
|
@@ -45,14 +45,14 @@
|
|
|
45
45
|
"react-hook-form": "7.49.1"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"@medusajs/admin-sdk": "2.10.4-preview-
|
|
49
|
-
"@medusajs/cli": "2.10.4-preview-
|
|
50
|
-
"@medusajs/framework": "2.10.4-preview-
|
|
51
|
-
"@medusajs/icons": "2.10.4-preview-
|
|
52
|
-
"@medusajs/test-utils": "2.10.4-preview-
|
|
53
|
-
"@medusajs/types": "2.10.4-preview-
|
|
54
|
-
"@medusajs/ui": "4.0.24-preview-
|
|
55
|
-
"@medusajs/ui-preset": "2.10.4-preview-
|
|
48
|
+
"@medusajs/admin-sdk": "2.10.4-preview-20250925000313",
|
|
49
|
+
"@medusajs/cli": "2.10.4-preview-20250925000313",
|
|
50
|
+
"@medusajs/framework": "2.10.4-preview-20250925000313",
|
|
51
|
+
"@medusajs/icons": "2.10.4-preview-20250925000313",
|
|
52
|
+
"@medusajs/test-utils": "2.10.4-preview-20250925000313",
|
|
53
|
+
"@medusajs/types": "2.10.4-preview-20250925000313",
|
|
54
|
+
"@medusajs/ui": "4.0.24-preview-20250925000313",
|
|
55
|
+
"@medusajs/ui-preset": "2.10.4-preview-20250925000313",
|
|
56
56
|
"@swc/core": "1.5.7",
|
|
57
57
|
"@types/lodash": "^4.17.15",
|
|
58
58
|
"@types/node": "^20.0.0",
|
|
@@ -69,12 +69,12 @@
|
|
|
69
69
|
"yalc": "^1.0.0-pre.53"
|
|
70
70
|
},
|
|
71
71
|
"peerDependencies": {
|
|
72
|
-
"@medusajs/admin-sdk": "2.10.4-preview-
|
|
73
|
-
"@medusajs/cli": "2.10.4-preview-
|
|
74
|
-
"@medusajs/framework": "2.10.4-preview-
|
|
75
|
-
"@medusajs/icons": "2.10.4-preview-
|
|
76
|
-
"@medusajs/test-utils": "2.10.4-preview-
|
|
77
|
-
"@medusajs/ui": "4.0.24-preview-
|
|
72
|
+
"@medusajs/admin-sdk": "2.10.4-preview-20250925000313",
|
|
73
|
+
"@medusajs/cli": "2.10.4-preview-20250925000313",
|
|
74
|
+
"@medusajs/framework": "2.10.4-preview-20250925000313",
|
|
75
|
+
"@medusajs/icons": "2.10.4-preview-20250925000313",
|
|
76
|
+
"@medusajs/test-utils": "2.10.4-preview-20250925000313",
|
|
77
|
+
"@medusajs/ui": "4.0.24-preview-20250925000313",
|
|
78
78
|
"lodash": "^4.17.21",
|
|
79
79
|
"react-router-dom": "6.20.1"
|
|
80
80
|
},
|