@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.
@@ -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 Email = () => {
12942
+ const SalesChannel = () => {
12981
12943
  const { id } = reactRouterDom.useParams();
12982
- const { order, isPending, isError, error } = useOrder(id, {
12983
- fields: "+email"
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 isReady = !isPending && !!order;
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 Email" }) }),
12992
- /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Description, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Edit the email for the draft order" }) })
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
- isReady && /* @__PURE__ */ jsxRuntime.jsx(EmailForm, { order })
12962
+ ISrEADY && /* @__PURE__ */ jsxRuntime.jsx(SalesChannelForm, { order: draft_order })
12995
12963
  ] });
12996
12964
  };
12997
- const EmailForm = ({ order }) => {
12965
+ const SalesChannelForm = ({ order }) => {
12998
12966
  const form = reactHookForm.useForm({
12999
12967
  defaultValues: {
13000
- email: order.email ?? ""
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
- { email: data.email },
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
- email: stringType().email()
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: Email,
13106
- path: "/draft-orders/:id/email"
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 Email = () => {
12936
+ const SalesChannel = () => {
12975
12937
  const { id } = useParams();
12976
- const { order, isPending, isError, error } = useOrder(id, {
12977
- fields: "+email"
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 isReady = !isPending && !!order;
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 Email" }) }),
12986
- /* @__PURE__ */ jsx(RouteDrawer.Description, { asChild: true, children: /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Edit the email for the draft order" }) })
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
- isReady && /* @__PURE__ */ jsx(EmailForm, { order })
12956
+ ISrEADY && /* @__PURE__ */ jsx(SalesChannelForm, { order: draft_order })
12989
12957
  ] });
12990
12958
  };
12991
- const EmailForm = ({ order }) => {
12959
+ const SalesChannelForm = ({ order }) => {
12992
12960
  const form = useForm({
12993
12961
  defaultValues: {
12994
- email: order.email ?? ""
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
- { email: data.email },
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
- email: stringType().email()
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: Email,
13100
- path: "/draft-orders/:id/email"
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-20250924210149",
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-20250924210149",
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-20250924210149",
49
- "@medusajs/cli": "2.10.4-preview-20250924210149",
50
- "@medusajs/framework": "2.10.4-preview-20250924210149",
51
- "@medusajs/icons": "2.10.4-preview-20250924210149",
52
- "@medusajs/test-utils": "2.10.4-preview-20250924210149",
53
- "@medusajs/types": "2.10.4-preview-20250924210149",
54
- "@medusajs/ui": "4.0.24-preview-20250924210149",
55
- "@medusajs/ui-preset": "2.10.4-preview-20250924210149",
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-20250924210149",
73
- "@medusajs/cli": "2.10.4-preview-20250924210149",
74
- "@medusajs/framework": "2.10.4-preview-20250924210149",
75
- "@medusajs/icons": "2.10.4-preview-20250924210149",
76
- "@medusajs/test-utils": "2.10.4-preview-20250924210149",
77
- "@medusajs/ui": "4.0.24-preview-20250924210149",
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
  },