@medusajs/draft-order 2.10.2-preview-20250911090202 → 2.10.2-preview-20250911120205

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.
@@ -9588,74 +9588,6 @@ const CustomItemsForm = () => {
9588
9588
  const schema$5 = objectType({
9589
9589
  email: stringType().email()
9590
9590
  });
9591
- const Email = () => {
9592
- const { id } = useParams();
9593
- const { order, isPending, isError, error } = useOrder(id, {
9594
- fields: "+email"
9595
- });
9596
- if (isError) {
9597
- throw error;
9598
- }
9599
- const isReady = !isPending && !!order;
9600
- return /* @__PURE__ */ jsxs(RouteDrawer, { children: [
9601
- /* @__PURE__ */ jsxs(RouteDrawer.Header, { children: [
9602
- /* @__PURE__ */ jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsx(Heading, { children: "Edit Email" }) }),
9603
- /* @__PURE__ */ jsx(RouteDrawer.Description, { asChild: true, children: /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Edit the email for the draft order" }) })
9604
- ] }),
9605
- isReady && /* @__PURE__ */ jsx(EmailForm, { order })
9606
- ] });
9607
- };
9608
- const EmailForm = ({ order }) => {
9609
- const form = useForm({
9610
- defaultValues: {
9611
- email: order.email ?? ""
9612
- },
9613
- resolver: zodResolver(schema$4)
9614
- });
9615
- const { mutateAsync, isPending } = useUpdateDraftOrder(order.id);
9616
- const { handleSuccess } = useRouteModal();
9617
- const onSubmit = form.handleSubmit(async (data) => {
9618
- await mutateAsync(
9619
- { email: data.email },
9620
- {
9621
- onSuccess: () => {
9622
- handleSuccess();
9623
- },
9624
- onError: (error) => {
9625
- toast.error(error.message);
9626
- }
9627
- }
9628
- );
9629
- });
9630
- return /* @__PURE__ */ jsx(RouteDrawer.Form, { form, children: /* @__PURE__ */ jsxs(
9631
- KeyboundForm,
9632
- {
9633
- className: "flex flex-1 flex-col overflow-hidden",
9634
- onSubmit,
9635
- children: [
9636
- /* @__PURE__ */ jsx(RouteDrawer.Body, { className: "flex flex-col gap-y-6 overflow-y-auto", children: /* @__PURE__ */ jsx(
9637
- Form$2.Field,
9638
- {
9639
- control: form.control,
9640
- name: "email",
9641
- render: ({ field }) => /* @__PURE__ */ jsxs(Form$2.Item, { children: [
9642
- /* @__PURE__ */ jsx(Form$2.Label, { children: "Email" }),
9643
- /* @__PURE__ */ jsx(Form$2.Control, { children: /* @__PURE__ */ jsx(Input, { ...field }) }),
9644
- /* @__PURE__ */ jsx(Form$2.ErrorMessage, {})
9645
- ] })
9646
- }
9647
- ) }),
9648
- /* @__PURE__ */ jsx(RouteDrawer.Footer, { children: /* @__PURE__ */ jsxs("div", { className: "flex justify-end gap-2", children: [
9649
- /* @__PURE__ */ jsx(RouteDrawer.Close, { asChild: true, children: /* @__PURE__ */ jsx(Button, { size: "small", variant: "secondary", children: "Cancel" }) }),
9650
- /* @__PURE__ */ jsx(Button, { size: "small", type: "submit", isLoading: isPending, children: "Save" })
9651
- ] }) })
9652
- ]
9653
- }
9654
- ) });
9655
- };
9656
- const schema$4 = objectType({
9657
- email: stringType().email()
9658
- });
9659
9591
  const NumberInput = forwardRef(
9660
9592
  ({
9661
9593
  value,
@@ -10630,196 +10562,6 @@ const customItemSchema = objectType({
10630
10562
  quantity: numberType(),
10631
10563
  unit_price: unionType([numberType(), stringType()])
10632
10564
  });
10633
- const BillingAddress = () => {
10634
- const { id } = useParams();
10635
- const { order, isPending, isError, error } = useOrder(id, {
10636
- fields: "+billing_address"
10637
- });
10638
- if (isError) {
10639
- throw error;
10640
- }
10641
- const isReady = !isPending && !!order;
10642
- return /* @__PURE__ */ jsxs(RouteDrawer, { children: [
10643
- /* @__PURE__ */ jsxs(RouteDrawer.Header, { children: [
10644
- /* @__PURE__ */ jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsx(Heading, { children: "Edit Billing Address" }) }),
10645
- /* @__PURE__ */ jsx(RouteDrawer.Description, { asChild: true, children: /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Edit the billing address for the draft order" }) })
10646
- ] }),
10647
- isReady && /* @__PURE__ */ jsx(BillingAddressForm, { order })
10648
- ] });
10649
- };
10650
- const BillingAddressForm = ({ order }) => {
10651
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
10652
- const form = useForm({
10653
- defaultValues: {
10654
- first_name: ((_a = order.billing_address) == null ? void 0 : _a.first_name) ?? "",
10655
- last_name: ((_b = order.billing_address) == null ? void 0 : _b.last_name) ?? "",
10656
- company: ((_c = order.billing_address) == null ? void 0 : _c.company) ?? "",
10657
- address_1: ((_d = order.billing_address) == null ? void 0 : _d.address_1) ?? "",
10658
- address_2: ((_e = order.billing_address) == null ? void 0 : _e.address_2) ?? "",
10659
- city: ((_f = order.billing_address) == null ? void 0 : _f.city) ?? "",
10660
- province: ((_g = order.billing_address) == null ? void 0 : _g.province) ?? "",
10661
- country_code: ((_h = order.billing_address) == null ? void 0 : _h.country_code) ?? "",
10662
- postal_code: ((_i = order.billing_address) == null ? void 0 : _i.postal_code) ?? "",
10663
- phone: ((_j = order.billing_address) == null ? void 0 : _j.phone) ?? ""
10664
- },
10665
- resolver: zodResolver(schema$3)
10666
- });
10667
- const { mutateAsync, isPending } = useUpdateDraftOrder(order.id);
10668
- const { handleSuccess } = useRouteModal();
10669
- const onSubmit = form.handleSubmit(async (data) => {
10670
- await mutateAsync(
10671
- { billing_address: data },
10672
- {
10673
- onSuccess: () => {
10674
- handleSuccess();
10675
- },
10676
- onError: (error) => {
10677
- toast.error(error.message);
10678
- }
10679
- }
10680
- );
10681
- });
10682
- return /* @__PURE__ */ jsx(RouteDrawer.Form, { form, children: /* @__PURE__ */ jsxs(
10683
- KeyboundForm,
10684
- {
10685
- className: "flex flex-1 flex-col overflow-hidden",
10686
- onSubmit,
10687
- children: [
10688
- /* @__PURE__ */ jsx(RouteDrawer.Body, { className: "flex flex-col gap-y-6 overflow-y-auto", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-y-4", children: [
10689
- /* @__PURE__ */ jsx(
10690
- Form$2.Field,
10691
- {
10692
- control: form.control,
10693
- name: "country_code",
10694
- render: ({ field }) => /* @__PURE__ */ jsxs(Form$2.Item, { children: [
10695
- /* @__PURE__ */ jsx(Form$2.Label, { children: "Country" }),
10696
- /* @__PURE__ */ jsx(Form$2.Control, { children: /* @__PURE__ */ jsx(CountrySelect, { ...field }) }),
10697
- /* @__PURE__ */ jsx(Form$2.ErrorMessage, {})
10698
- ] })
10699
- }
10700
- ),
10701
- /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
10702
- /* @__PURE__ */ jsx(
10703
- Form$2.Field,
10704
- {
10705
- control: form.control,
10706
- name: "first_name",
10707
- render: ({ field }) => /* @__PURE__ */ jsxs(Form$2.Item, { children: [
10708
- /* @__PURE__ */ jsx(Form$2.Label, { children: "First name" }),
10709
- /* @__PURE__ */ jsx(Form$2.Control, { children: /* @__PURE__ */ jsx(Input, { ...field }) }),
10710
- /* @__PURE__ */ jsx(Form$2.ErrorMessage, {})
10711
- ] })
10712
- }
10713
- ),
10714
- /* @__PURE__ */ jsx(
10715
- Form$2.Field,
10716
- {
10717
- control: form.control,
10718
- name: "last_name",
10719
- render: ({ field }) => /* @__PURE__ */ jsxs(Form$2.Item, { children: [
10720
- /* @__PURE__ */ jsx(Form$2.Label, { children: "Last name" }),
10721
- /* @__PURE__ */ jsx(Form$2.Control, { children: /* @__PURE__ */ jsx(Input, { ...field }) }),
10722
- /* @__PURE__ */ jsx(Form$2.ErrorMessage, {})
10723
- ] })
10724
- }
10725
- )
10726
- ] }),
10727
- /* @__PURE__ */ jsx(
10728
- Form$2.Field,
10729
- {
10730
- control: form.control,
10731
- name: "company",
10732
- render: ({ field }) => /* @__PURE__ */ jsxs(Form$2.Item, { children: [
10733
- /* @__PURE__ */ jsx(Form$2.Label, { optional: true, children: "Company" }),
10734
- /* @__PURE__ */ jsx(Form$2.Control, { children: /* @__PURE__ */ jsx(Input, { ...field }) }),
10735
- /* @__PURE__ */ jsx(Form$2.ErrorMessage, {})
10736
- ] })
10737
- }
10738
- ),
10739
- /* @__PURE__ */ jsx(
10740
- Form$2.Field,
10741
- {
10742
- control: form.control,
10743
- name: "address_1",
10744
- render: ({ field }) => /* @__PURE__ */ jsxs(Form$2.Item, { children: [
10745
- /* @__PURE__ */ jsx(Form$2.Label, { children: "Address" }),
10746
- /* @__PURE__ */ jsx(Form$2.Control, { children: /* @__PURE__ */ jsx(Input, { ...field }) }),
10747
- /* @__PURE__ */ jsx(Form$2.ErrorMessage, {})
10748
- ] })
10749
- }
10750
- ),
10751
- /* @__PURE__ */ jsx(
10752
- Form$2.Field,
10753
- {
10754
- control: form.control,
10755
- name: "address_2",
10756
- render: ({ field }) => /* @__PURE__ */ jsxs(Form$2.Item, { children: [
10757
- /* @__PURE__ */ jsx(Form$2.Label, { optional: true, children: "Apartment, suite, etc." }),
10758
- /* @__PURE__ */ jsx(Form$2.Control, { children: /* @__PURE__ */ jsx(Input, { ...field }) }),
10759
- /* @__PURE__ */ jsx(Form$2.ErrorMessage, {})
10760
- ] })
10761
- }
10762
- ),
10763
- /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
10764
- /* @__PURE__ */ jsx(
10765
- Form$2.Field,
10766
- {
10767
- control: form.control,
10768
- name: "postal_code",
10769
- render: ({ field }) => /* @__PURE__ */ jsxs(Form$2.Item, { children: [
10770
- /* @__PURE__ */ jsx(Form$2.Label, { children: "Postal code" }),
10771
- /* @__PURE__ */ jsx(Form$2.Control, { children: /* @__PURE__ */ jsx(Input, { ...field }) }),
10772
- /* @__PURE__ */ jsx(Form$2.ErrorMessage, {})
10773
- ] })
10774
- }
10775
- ),
10776
- /* @__PURE__ */ jsx(
10777
- Form$2.Field,
10778
- {
10779
- control: form.control,
10780
- name: "city",
10781
- render: ({ field }) => /* @__PURE__ */ jsxs(Form$2.Item, { children: [
10782
- /* @__PURE__ */ jsx(Form$2.Label, { children: "City" }),
10783
- /* @__PURE__ */ jsx(Form$2.Control, { children: /* @__PURE__ */ jsx(Input, { ...field }) }),
10784
- /* @__PURE__ */ jsx(Form$2.ErrorMessage, {})
10785
- ] })
10786
- }
10787
- )
10788
- ] }),
10789
- /* @__PURE__ */ jsx(
10790
- Form$2.Field,
10791
- {
10792
- control: form.control,
10793
- name: "province",
10794
- render: ({ field }) => /* @__PURE__ */ jsxs(Form$2.Item, { children: [
10795
- /* @__PURE__ */ jsx(Form$2.Label, { optional: true, children: "Province / State" }),
10796
- /* @__PURE__ */ jsx(Form$2.Control, { children: /* @__PURE__ */ jsx(Input, { ...field }) }),
10797
- /* @__PURE__ */ jsx(Form$2.ErrorMessage, {})
10798
- ] })
10799
- }
10800
- ),
10801
- /* @__PURE__ */ jsx(
10802
- Form$2.Field,
10803
- {
10804
- control: form.control,
10805
- name: "phone",
10806
- render: ({ field }) => /* @__PURE__ */ jsxs(Form$2.Item, { children: [
10807
- /* @__PURE__ */ jsx(Form$2.Label, { optional: true, children: "Phone" }),
10808
- /* @__PURE__ */ jsx(Form$2.Control, { children: /* @__PURE__ */ jsx(Input, { ...field }) }),
10809
- /* @__PURE__ */ jsx(Form$2.ErrorMessage, {})
10810
- ] })
10811
- }
10812
- )
10813
- ] }) }),
10814
- /* @__PURE__ */ jsx(RouteDrawer.Footer, { children: /* @__PURE__ */ jsxs("div", { className: "flex justify-end gap-2", children: [
10815
- /* @__PURE__ */ jsx(RouteDrawer.Close, { asChild: true, children: /* @__PURE__ */ jsx(Button, { size: "small", variant: "secondary", children: "Cancel" }) }),
10816
- /* @__PURE__ */ jsx(Button, { size: "small", type: "submit", isLoading: isPending, children: "Save" })
10817
- ] }) })
10818
- ]
10819
- }
10820
- ) });
10821
- };
10822
- const schema$3 = addressSchema;
10823
10565
  const InlineTip = forwardRef(
10824
10566
  ({ variant = "tip", label, className, children, ...props }, ref) => {
10825
10567
  const labelValue = label || (variant === "warning" ? "Warning" : "Tip");
@@ -11447,112 +11189,6 @@ function getPromotionIds(items, shippingMethods) {
11447
11189
  }
11448
11190
  return Array.from(promotionIds);
11449
11191
  }
11450
- const SalesChannel = () => {
11451
- const { id } = useParams();
11452
- const { draft_order, isPending, isError, error } = useDraftOrder(
11453
- id,
11454
- {
11455
- fields: "+sales_channel_id"
11456
- },
11457
- {
11458
- enabled: !!id
11459
- }
11460
- );
11461
- if (isError) {
11462
- throw error;
11463
- }
11464
- const ISrEADY = !!draft_order && !isPending;
11465
- return /* @__PURE__ */ jsxs(RouteDrawer, { children: [
11466
- /* @__PURE__ */ jsxs(RouteDrawer.Header, { children: [
11467
- /* @__PURE__ */ jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsx(Heading, { children: "Edit Sales Channel" }) }),
11468
- /* @__PURE__ */ jsx(RouteDrawer.Description, { asChild: true, children: /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Update which sales channel the draft order is associated with" }) })
11469
- ] }),
11470
- ISrEADY && /* @__PURE__ */ jsx(SalesChannelForm, { order: draft_order })
11471
- ] });
11472
- };
11473
- const SalesChannelForm = ({ order }) => {
11474
- const form = useForm({
11475
- defaultValues: {
11476
- sales_channel_id: order.sales_channel_id || ""
11477
- },
11478
- resolver: zodResolver(schema$2)
11479
- });
11480
- const { mutateAsync, isPending } = useUpdateDraftOrder(order.id);
11481
- const { handleSuccess } = useRouteModal();
11482
- const onSubmit = form.handleSubmit(async (data) => {
11483
- await mutateAsync(
11484
- {
11485
- sales_channel_id: data.sales_channel_id
11486
- },
11487
- {
11488
- onSuccess: () => {
11489
- toast.success("Sales channel updated");
11490
- handleSuccess();
11491
- },
11492
- onError: (error) => {
11493
- toast.error(error.message);
11494
- }
11495
- }
11496
- );
11497
- });
11498
- return /* @__PURE__ */ jsx(RouteDrawer.Form, { form, children: /* @__PURE__ */ jsxs(
11499
- KeyboundForm,
11500
- {
11501
- className: "flex flex-1 flex-col overflow-hidden",
11502
- onSubmit,
11503
- children: [
11504
- /* @__PURE__ */ jsx(RouteDrawer.Body, { className: "flex flex-col gap-y-6 overflow-y-auto", children: /* @__PURE__ */ jsx(SalesChannelField, { control: form.control, order }) }),
11505
- /* @__PURE__ */ jsx(RouteDrawer.Footer, { children: /* @__PURE__ */ jsxs("div", { className: "flex justify-end gap-2", children: [
11506
- /* @__PURE__ */ jsx(RouteDrawer.Close, { asChild: true, children: /* @__PURE__ */ jsx(Button, { size: "small", variant: "secondary", children: "Cancel" }) }),
11507
- /* @__PURE__ */ jsx(Button, { size: "small", type: "submit", isLoading: isPending, children: "Save" })
11508
- ] }) })
11509
- ]
11510
- }
11511
- ) });
11512
- };
11513
- const SalesChannelField = ({ control, order }) => {
11514
- const salesChannels = useComboboxData({
11515
- queryFn: async (params) => {
11516
- return await sdk.admin.salesChannel.list(params);
11517
- },
11518
- queryKey: ["sales-channels"],
11519
- getOptions: (data) => {
11520
- return data.sales_channels.map((salesChannel) => ({
11521
- label: salesChannel.name,
11522
- value: salesChannel.id
11523
- }));
11524
- },
11525
- defaultValue: order.sales_channel_id || void 0
11526
- });
11527
- return /* @__PURE__ */ jsx(
11528
- Form$2.Field,
11529
- {
11530
- control,
11531
- name: "sales_channel_id",
11532
- render: ({ field }) => {
11533
- return /* @__PURE__ */ jsxs(Form$2.Item, { children: [
11534
- /* @__PURE__ */ jsx(Form$2.Label, { children: "Sales Channel" }),
11535
- /* @__PURE__ */ jsx(Form$2.Control, { children: /* @__PURE__ */ jsx(
11536
- Combobox,
11537
- {
11538
- options: salesChannels.options,
11539
- fetchNextPage: salesChannels.fetchNextPage,
11540
- isFetchingNextPage: salesChannels.isFetchingNextPage,
11541
- searchValue: salesChannels.searchValue,
11542
- onSearchValueChange: salesChannels.onSearchValueChange,
11543
- placeholder: "Select sales channel",
11544
- ...field
11545
- }
11546
- ) }),
11547
- /* @__PURE__ */ jsx(Form$2.ErrorMessage, {})
11548
- ] });
11549
- }
11550
- }
11551
- );
11552
- };
11553
- const schema$2 = objectType({
11554
- sales_channel_id: stringType().min(1)
11555
- });
11556
11192
  const STACKED_FOCUS_MODAL_ID = "shipping-form";
11557
11193
  const Shipping = () => {
11558
11194
  var _a;
@@ -12392,7 +12028,7 @@ const ShippingAddressForm = ({ order }) => {
12392
12028
  postal_code: ((_i = order.shipping_address) == null ? void 0 : _i.postal_code) ?? "",
12393
12029
  phone: ((_j = order.shipping_address) == null ? void 0 : _j.phone) ?? ""
12394
12030
  },
12395
- resolver: zodResolver(schema$1)
12031
+ resolver: zodResolver(schema$4)
12396
12032
  });
12397
12033
  const { mutateAsync, isPending } = useUpdateDraftOrder(order.id);
12398
12034
  const { handleSuccess } = useRouteModal();
@@ -12562,7 +12198,7 @@ const ShippingAddressForm = ({ order }) => {
12562
12198
  }
12563
12199
  ) });
12564
12200
  };
12565
- const schema$1 = addressSchema;
12201
+ const schema$4 = addressSchema;
12566
12202
  const TransferOwnership = () => {
12567
12203
  const { id } = useParams();
12568
12204
  const { draft_order, isPending, isError, error } = useDraftOrder(id, {
@@ -12586,7 +12222,7 @@ const TransferOwnershipForm = ({ order }) => {
12586
12222
  defaultValues: {
12587
12223
  customer_id: order.customer_id || ""
12588
12224
  },
12589
- resolver: zodResolver(schema)
12225
+ resolver: zodResolver(schema$3)
12590
12226
  });
12591
12227
  const { mutateAsync, isPending } = useUpdateDraftOrder(order.id);
12592
12228
  const { handleSuccess } = useRouteModal();
@@ -13036,9 +12672,373 @@ const Illustration = () => {
13036
12672
  }
13037
12673
  );
13038
12674
  };
13039
- const schema = objectType({
12675
+ const schema$3 = objectType({
13040
12676
  customer_id: stringType().min(1)
13041
12677
  });
12678
+ const SalesChannel = () => {
12679
+ const { id } = useParams();
12680
+ const { draft_order, isPending, isError, error } = useDraftOrder(
12681
+ id,
12682
+ {
12683
+ fields: "+sales_channel_id"
12684
+ },
12685
+ {
12686
+ enabled: !!id
12687
+ }
12688
+ );
12689
+ if (isError) {
12690
+ throw error;
12691
+ }
12692
+ const ISrEADY = !!draft_order && !isPending;
12693
+ return /* @__PURE__ */ jsxs(RouteDrawer, { children: [
12694
+ /* @__PURE__ */ jsxs(RouteDrawer.Header, { children: [
12695
+ /* @__PURE__ */ jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsx(Heading, { children: "Edit Sales Channel" }) }),
12696
+ /* @__PURE__ */ jsx(RouteDrawer.Description, { asChild: true, children: /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Update which sales channel the draft order is associated with" }) })
12697
+ ] }),
12698
+ ISrEADY && /* @__PURE__ */ jsx(SalesChannelForm, { order: draft_order })
12699
+ ] });
12700
+ };
12701
+ const SalesChannelForm = ({ order }) => {
12702
+ const form = useForm({
12703
+ defaultValues: {
12704
+ sales_channel_id: order.sales_channel_id || ""
12705
+ },
12706
+ resolver: zodResolver(schema$2)
12707
+ });
12708
+ const { mutateAsync, isPending } = useUpdateDraftOrder(order.id);
12709
+ const { handleSuccess } = useRouteModal();
12710
+ const onSubmit = form.handleSubmit(async (data) => {
12711
+ await mutateAsync(
12712
+ {
12713
+ sales_channel_id: data.sales_channel_id
12714
+ },
12715
+ {
12716
+ onSuccess: () => {
12717
+ toast.success("Sales channel updated");
12718
+ handleSuccess();
12719
+ },
12720
+ onError: (error) => {
12721
+ toast.error(error.message);
12722
+ }
12723
+ }
12724
+ );
12725
+ });
12726
+ return /* @__PURE__ */ jsx(RouteDrawer.Form, { form, children: /* @__PURE__ */ jsxs(
12727
+ KeyboundForm,
12728
+ {
12729
+ className: "flex flex-1 flex-col overflow-hidden",
12730
+ onSubmit,
12731
+ children: [
12732
+ /* @__PURE__ */ jsx(RouteDrawer.Body, { className: "flex flex-col gap-y-6 overflow-y-auto", children: /* @__PURE__ */ jsx(SalesChannelField, { control: form.control, order }) }),
12733
+ /* @__PURE__ */ jsx(RouteDrawer.Footer, { children: /* @__PURE__ */ jsxs("div", { className: "flex justify-end gap-2", children: [
12734
+ /* @__PURE__ */ jsx(RouteDrawer.Close, { asChild: true, children: /* @__PURE__ */ jsx(Button, { size: "small", variant: "secondary", children: "Cancel" }) }),
12735
+ /* @__PURE__ */ jsx(Button, { size: "small", type: "submit", isLoading: isPending, children: "Save" })
12736
+ ] }) })
12737
+ ]
12738
+ }
12739
+ ) });
12740
+ };
12741
+ const SalesChannelField = ({ control, order }) => {
12742
+ const salesChannels = useComboboxData({
12743
+ queryFn: async (params) => {
12744
+ return await sdk.admin.salesChannel.list(params);
12745
+ },
12746
+ queryKey: ["sales-channels"],
12747
+ getOptions: (data) => {
12748
+ return data.sales_channels.map((salesChannel) => ({
12749
+ label: salesChannel.name,
12750
+ value: salesChannel.id
12751
+ }));
12752
+ },
12753
+ defaultValue: order.sales_channel_id || void 0
12754
+ });
12755
+ return /* @__PURE__ */ jsx(
12756
+ Form$2.Field,
12757
+ {
12758
+ control,
12759
+ name: "sales_channel_id",
12760
+ render: ({ field }) => {
12761
+ return /* @__PURE__ */ jsxs(Form$2.Item, { children: [
12762
+ /* @__PURE__ */ jsx(Form$2.Label, { children: "Sales Channel" }),
12763
+ /* @__PURE__ */ jsx(Form$2.Control, { children: /* @__PURE__ */ jsx(
12764
+ Combobox,
12765
+ {
12766
+ options: salesChannels.options,
12767
+ fetchNextPage: salesChannels.fetchNextPage,
12768
+ isFetchingNextPage: salesChannels.isFetchingNextPage,
12769
+ searchValue: salesChannels.searchValue,
12770
+ onSearchValueChange: salesChannels.onSearchValueChange,
12771
+ placeholder: "Select sales channel",
12772
+ ...field
12773
+ }
12774
+ ) }),
12775
+ /* @__PURE__ */ jsx(Form$2.ErrorMessage, {})
12776
+ ] });
12777
+ }
12778
+ }
12779
+ );
12780
+ };
12781
+ const schema$2 = objectType({
12782
+ sales_channel_id: stringType().min(1)
12783
+ });
12784
+ const Email = () => {
12785
+ const { id } = useParams();
12786
+ const { order, isPending, isError, error } = useOrder(id, {
12787
+ fields: "+email"
12788
+ });
12789
+ if (isError) {
12790
+ throw error;
12791
+ }
12792
+ const isReady = !isPending && !!order;
12793
+ return /* @__PURE__ */ jsxs(RouteDrawer, { children: [
12794
+ /* @__PURE__ */ jsxs(RouteDrawer.Header, { children: [
12795
+ /* @__PURE__ */ jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsx(Heading, { children: "Edit Email" }) }),
12796
+ /* @__PURE__ */ jsx(RouteDrawer.Description, { asChild: true, children: /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Edit the email for the draft order" }) })
12797
+ ] }),
12798
+ isReady && /* @__PURE__ */ jsx(EmailForm, { order })
12799
+ ] });
12800
+ };
12801
+ const EmailForm = ({ order }) => {
12802
+ const form = useForm({
12803
+ defaultValues: {
12804
+ email: order.email ?? ""
12805
+ },
12806
+ resolver: zodResolver(schema$1)
12807
+ });
12808
+ const { mutateAsync, isPending } = useUpdateDraftOrder(order.id);
12809
+ const { handleSuccess } = useRouteModal();
12810
+ const onSubmit = form.handleSubmit(async (data) => {
12811
+ await mutateAsync(
12812
+ { email: data.email },
12813
+ {
12814
+ onSuccess: () => {
12815
+ handleSuccess();
12816
+ },
12817
+ onError: (error) => {
12818
+ toast.error(error.message);
12819
+ }
12820
+ }
12821
+ );
12822
+ });
12823
+ return /* @__PURE__ */ jsx(RouteDrawer.Form, { form, children: /* @__PURE__ */ jsxs(
12824
+ KeyboundForm,
12825
+ {
12826
+ className: "flex flex-1 flex-col overflow-hidden",
12827
+ onSubmit,
12828
+ children: [
12829
+ /* @__PURE__ */ jsx(RouteDrawer.Body, { className: "flex flex-col gap-y-6 overflow-y-auto", children: /* @__PURE__ */ jsx(
12830
+ Form$2.Field,
12831
+ {
12832
+ control: form.control,
12833
+ name: "email",
12834
+ render: ({ field }) => /* @__PURE__ */ jsxs(Form$2.Item, { children: [
12835
+ /* @__PURE__ */ jsx(Form$2.Label, { children: "Email" }),
12836
+ /* @__PURE__ */ jsx(Form$2.Control, { children: /* @__PURE__ */ jsx(Input, { ...field }) }),
12837
+ /* @__PURE__ */ jsx(Form$2.ErrorMessage, {})
12838
+ ] })
12839
+ }
12840
+ ) }),
12841
+ /* @__PURE__ */ jsx(RouteDrawer.Footer, { children: /* @__PURE__ */ jsxs("div", { className: "flex justify-end gap-2", children: [
12842
+ /* @__PURE__ */ jsx(RouteDrawer.Close, { asChild: true, children: /* @__PURE__ */ jsx(Button, { size: "small", variant: "secondary", children: "Cancel" }) }),
12843
+ /* @__PURE__ */ jsx(Button, { size: "small", type: "submit", isLoading: isPending, children: "Save" })
12844
+ ] }) })
12845
+ ]
12846
+ }
12847
+ ) });
12848
+ };
12849
+ const schema$1 = objectType({
12850
+ email: stringType().email()
12851
+ });
12852
+ const BillingAddress = () => {
12853
+ const { id } = useParams();
12854
+ const { order, isPending, isError, error } = useOrder(id, {
12855
+ fields: "+billing_address"
12856
+ });
12857
+ if (isError) {
12858
+ throw error;
12859
+ }
12860
+ const isReady = !isPending && !!order;
12861
+ return /* @__PURE__ */ jsxs(RouteDrawer, { children: [
12862
+ /* @__PURE__ */ jsxs(RouteDrawer.Header, { children: [
12863
+ /* @__PURE__ */ jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsx(Heading, { children: "Edit Billing Address" }) }),
12864
+ /* @__PURE__ */ jsx(RouteDrawer.Description, { asChild: true, children: /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Edit the billing address for the draft order" }) })
12865
+ ] }),
12866
+ isReady && /* @__PURE__ */ jsx(BillingAddressForm, { order })
12867
+ ] });
12868
+ };
12869
+ const BillingAddressForm = ({ order }) => {
12870
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
12871
+ const form = useForm({
12872
+ defaultValues: {
12873
+ first_name: ((_a = order.billing_address) == null ? void 0 : _a.first_name) ?? "",
12874
+ last_name: ((_b = order.billing_address) == null ? void 0 : _b.last_name) ?? "",
12875
+ company: ((_c = order.billing_address) == null ? void 0 : _c.company) ?? "",
12876
+ address_1: ((_d = order.billing_address) == null ? void 0 : _d.address_1) ?? "",
12877
+ address_2: ((_e = order.billing_address) == null ? void 0 : _e.address_2) ?? "",
12878
+ city: ((_f = order.billing_address) == null ? void 0 : _f.city) ?? "",
12879
+ province: ((_g = order.billing_address) == null ? void 0 : _g.province) ?? "",
12880
+ country_code: ((_h = order.billing_address) == null ? void 0 : _h.country_code) ?? "",
12881
+ postal_code: ((_i = order.billing_address) == null ? void 0 : _i.postal_code) ?? "",
12882
+ phone: ((_j = order.billing_address) == null ? void 0 : _j.phone) ?? ""
12883
+ },
12884
+ resolver: zodResolver(schema)
12885
+ });
12886
+ const { mutateAsync, isPending } = useUpdateDraftOrder(order.id);
12887
+ const { handleSuccess } = useRouteModal();
12888
+ const onSubmit = form.handleSubmit(async (data) => {
12889
+ await mutateAsync(
12890
+ { billing_address: data },
12891
+ {
12892
+ onSuccess: () => {
12893
+ handleSuccess();
12894
+ },
12895
+ onError: (error) => {
12896
+ toast.error(error.message);
12897
+ }
12898
+ }
12899
+ );
12900
+ });
12901
+ return /* @__PURE__ */ jsx(RouteDrawer.Form, { form, children: /* @__PURE__ */ jsxs(
12902
+ KeyboundForm,
12903
+ {
12904
+ className: "flex flex-1 flex-col overflow-hidden",
12905
+ onSubmit,
12906
+ children: [
12907
+ /* @__PURE__ */ jsx(RouteDrawer.Body, { className: "flex flex-col gap-y-6 overflow-y-auto", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-y-4", children: [
12908
+ /* @__PURE__ */ jsx(
12909
+ Form$2.Field,
12910
+ {
12911
+ control: form.control,
12912
+ name: "country_code",
12913
+ render: ({ field }) => /* @__PURE__ */ jsxs(Form$2.Item, { children: [
12914
+ /* @__PURE__ */ jsx(Form$2.Label, { children: "Country" }),
12915
+ /* @__PURE__ */ jsx(Form$2.Control, { children: /* @__PURE__ */ jsx(CountrySelect, { ...field }) }),
12916
+ /* @__PURE__ */ jsx(Form$2.ErrorMessage, {})
12917
+ ] })
12918
+ }
12919
+ ),
12920
+ /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
12921
+ /* @__PURE__ */ jsx(
12922
+ Form$2.Field,
12923
+ {
12924
+ control: form.control,
12925
+ name: "first_name",
12926
+ render: ({ field }) => /* @__PURE__ */ jsxs(Form$2.Item, { children: [
12927
+ /* @__PURE__ */ jsx(Form$2.Label, { children: "First name" }),
12928
+ /* @__PURE__ */ jsx(Form$2.Control, { children: /* @__PURE__ */ jsx(Input, { ...field }) }),
12929
+ /* @__PURE__ */ jsx(Form$2.ErrorMessage, {})
12930
+ ] })
12931
+ }
12932
+ ),
12933
+ /* @__PURE__ */ jsx(
12934
+ Form$2.Field,
12935
+ {
12936
+ control: form.control,
12937
+ name: "last_name",
12938
+ render: ({ field }) => /* @__PURE__ */ jsxs(Form$2.Item, { children: [
12939
+ /* @__PURE__ */ jsx(Form$2.Label, { children: "Last name" }),
12940
+ /* @__PURE__ */ jsx(Form$2.Control, { children: /* @__PURE__ */ jsx(Input, { ...field }) }),
12941
+ /* @__PURE__ */ jsx(Form$2.ErrorMessage, {})
12942
+ ] })
12943
+ }
12944
+ )
12945
+ ] }),
12946
+ /* @__PURE__ */ jsx(
12947
+ Form$2.Field,
12948
+ {
12949
+ control: form.control,
12950
+ name: "company",
12951
+ render: ({ field }) => /* @__PURE__ */ jsxs(Form$2.Item, { children: [
12952
+ /* @__PURE__ */ jsx(Form$2.Label, { optional: true, children: "Company" }),
12953
+ /* @__PURE__ */ jsx(Form$2.Control, { children: /* @__PURE__ */ jsx(Input, { ...field }) }),
12954
+ /* @__PURE__ */ jsx(Form$2.ErrorMessage, {})
12955
+ ] })
12956
+ }
12957
+ ),
12958
+ /* @__PURE__ */ jsx(
12959
+ Form$2.Field,
12960
+ {
12961
+ control: form.control,
12962
+ name: "address_1",
12963
+ render: ({ field }) => /* @__PURE__ */ jsxs(Form$2.Item, { children: [
12964
+ /* @__PURE__ */ jsx(Form$2.Label, { children: "Address" }),
12965
+ /* @__PURE__ */ jsx(Form$2.Control, { children: /* @__PURE__ */ jsx(Input, { ...field }) }),
12966
+ /* @__PURE__ */ jsx(Form$2.ErrorMessage, {})
12967
+ ] })
12968
+ }
12969
+ ),
12970
+ /* @__PURE__ */ jsx(
12971
+ Form$2.Field,
12972
+ {
12973
+ control: form.control,
12974
+ name: "address_2",
12975
+ render: ({ field }) => /* @__PURE__ */ jsxs(Form$2.Item, { children: [
12976
+ /* @__PURE__ */ jsx(Form$2.Label, { optional: true, children: "Apartment, suite, etc." }),
12977
+ /* @__PURE__ */ jsx(Form$2.Control, { children: /* @__PURE__ */ jsx(Input, { ...field }) }),
12978
+ /* @__PURE__ */ jsx(Form$2.ErrorMessage, {})
12979
+ ] })
12980
+ }
12981
+ ),
12982
+ /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
12983
+ /* @__PURE__ */ jsx(
12984
+ Form$2.Field,
12985
+ {
12986
+ control: form.control,
12987
+ name: "postal_code",
12988
+ render: ({ field }) => /* @__PURE__ */ jsxs(Form$2.Item, { children: [
12989
+ /* @__PURE__ */ jsx(Form$2.Label, { children: "Postal code" }),
12990
+ /* @__PURE__ */ jsx(Form$2.Control, { children: /* @__PURE__ */ jsx(Input, { ...field }) }),
12991
+ /* @__PURE__ */ jsx(Form$2.ErrorMessage, {})
12992
+ ] })
12993
+ }
12994
+ ),
12995
+ /* @__PURE__ */ jsx(
12996
+ Form$2.Field,
12997
+ {
12998
+ control: form.control,
12999
+ name: "city",
13000
+ render: ({ field }) => /* @__PURE__ */ jsxs(Form$2.Item, { children: [
13001
+ /* @__PURE__ */ jsx(Form$2.Label, { children: "City" }),
13002
+ /* @__PURE__ */ jsx(Form$2.Control, { children: /* @__PURE__ */ jsx(Input, { ...field }) }),
13003
+ /* @__PURE__ */ jsx(Form$2.ErrorMessage, {})
13004
+ ] })
13005
+ }
13006
+ )
13007
+ ] }),
13008
+ /* @__PURE__ */ jsx(
13009
+ Form$2.Field,
13010
+ {
13011
+ control: form.control,
13012
+ name: "province",
13013
+ render: ({ field }) => /* @__PURE__ */ jsxs(Form$2.Item, { children: [
13014
+ /* @__PURE__ */ jsx(Form$2.Label, { optional: true, children: "Province / State" }),
13015
+ /* @__PURE__ */ jsx(Form$2.Control, { children: /* @__PURE__ */ jsx(Input, { ...field }) }),
13016
+ /* @__PURE__ */ jsx(Form$2.ErrorMessage, {})
13017
+ ] })
13018
+ }
13019
+ ),
13020
+ /* @__PURE__ */ jsx(
13021
+ Form$2.Field,
13022
+ {
13023
+ control: form.control,
13024
+ name: "phone",
13025
+ render: ({ field }) => /* @__PURE__ */ jsxs(Form$2.Item, { children: [
13026
+ /* @__PURE__ */ jsx(Form$2.Label, { optional: true, children: "Phone" }),
13027
+ /* @__PURE__ */ jsx(Form$2.Control, { children: /* @__PURE__ */ jsx(Input, { ...field }) }),
13028
+ /* @__PURE__ */ jsx(Form$2.ErrorMessage, {})
13029
+ ] })
13030
+ }
13031
+ )
13032
+ ] }) }),
13033
+ /* @__PURE__ */ jsx(RouteDrawer.Footer, { children: /* @__PURE__ */ jsxs("div", { className: "flex justify-end gap-2", children: [
13034
+ /* @__PURE__ */ jsx(RouteDrawer.Close, { asChild: true, children: /* @__PURE__ */ jsx(Button, { size: "small", variant: "secondary", children: "Cancel" }) }),
13035
+ /* @__PURE__ */ jsx(Button, { size: "small", type: "submit", isLoading: isPending, children: "Save" })
13036
+ ] }) })
13037
+ ]
13038
+ }
13039
+ ) });
13040
+ };
13041
+ const schema = addressSchema;
13042
13042
  const widgetModule = { widgets: [] };
13043
13043
  const routeModule = {
13044
13044
  routes: [
@@ -13063,18 +13063,10 @@ const routeModule = {
13063
13063
  Component: CustomItems,
13064
13064
  path: "/draft-orders/:id/custom-items"
13065
13065
  },
13066
- {
13067
- Component: Email,
13068
- path: "/draft-orders/:id/email"
13069
- },
13070
13066
  {
13071
13067
  Component: Items,
13072
13068
  path: "/draft-orders/:id/items"
13073
13069
  },
13074
- {
13075
- Component: BillingAddress,
13076
- path: "/draft-orders/:id/billing-address"
13077
- },
13078
13070
  {
13079
13071
  Component: Metadata,
13080
13072
  path: "/draft-orders/:id/metadata"
@@ -13083,10 +13075,6 @@ const routeModule = {
13083
13075
  Component: Promotions,
13084
13076
  path: "/draft-orders/:id/promotions"
13085
13077
  },
13086
- {
13087
- Component: SalesChannel,
13088
- path: "/draft-orders/:id/sales-channel"
13089
- },
13090
13078
  {
13091
13079
  Component: Shipping,
13092
13080
  path: "/draft-orders/:id/shipping"
@@ -13098,6 +13086,18 @@ const routeModule = {
13098
13086
  {
13099
13087
  Component: TransferOwnership,
13100
13088
  path: "/draft-orders/:id/transfer-ownership"
13089
+ },
13090
+ {
13091
+ Component: SalesChannel,
13092
+ path: "/draft-orders/:id/sales-channel"
13093
+ },
13094
+ {
13095
+ Component: Email,
13096
+ path: "/draft-orders/:id/email"
13097
+ },
13098
+ {
13099
+ Component: BillingAddress,
13100
+ path: "/draft-orders/:id/billing-address"
13101
13101
  }
13102
13102
  ]
13103
13103
  }