@medusajs/draft-order 2.11.1-preview-20251024120210 → 2.11.1-preview-20251024150200

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.
@@ -9592,74 +9592,6 @@ const CustomItemsForm = () => {
9592
9592
  const schema$5 = objectType({
9593
9593
  email: stringType().email()
9594
9594
  });
9595
- const Email = () => {
9596
- const { id } = reactRouterDom.useParams();
9597
- const { order, isPending, isError, error } = useOrder(id, {
9598
- fields: "+email"
9599
- });
9600
- if (isError) {
9601
- throw error;
9602
- }
9603
- const isReady = !isPending && !!order;
9604
- return /* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer, { children: [
9605
- /* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer.Header, { children: [
9606
- /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { children: "Edit Email" }) }),
9607
- /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Description, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Edit the email for the draft order" }) })
9608
- ] }),
9609
- isReady && /* @__PURE__ */ jsxRuntime.jsx(EmailForm, { order })
9610
- ] });
9611
- };
9612
- const EmailForm = ({ order }) => {
9613
- const form = reactHookForm.useForm({
9614
- defaultValues: {
9615
- email: order.email ?? ""
9616
- },
9617
- resolver: zod.zodResolver(schema$4)
9618
- });
9619
- const { mutateAsync, isPending } = useUpdateDraftOrder(order.id);
9620
- const { handleSuccess } = useRouteModal();
9621
- const onSubmit = form.handleSubmit(async (data) => {
9622
- await mutateAsync(
9623
- { email: data.email },
9624
- {
9625
- onSuccess: () => {
9626
- handleSuccess();
9627
- },
9628
- onError: (error) => {
9629
- ui.toast.error(error.message);
9630
- }
9631
- }
9632
- );
9633
- });
9634
- return /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Form, { form, children: /* @__PURE__ */ jsxRuntime.jsxs(
9635
- KeyboundForm,
9636
- {
9637
- className: "flex flex-1 flex-col overflow-hidden",
9638
- onSubmit,
9639
- children: [
9640
- /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Body, { className: "flex flex-col gap-y-6 overflow-y-auto", children: /* @__PURE__ */ jsxRuntime.jsx(
9641
- Form$2.Field,
9642
- {
9643
- control: form.control,
9644
- name: "email",
9645
- render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
9646
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Email" }),
9647
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
9648
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
9649
- ] })
9650
- }
9651
- ) }),
9652
- /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Footer, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2", children: [
9653
- /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Close, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", variant: "secondary", children: "Cancel" }) }),
9654
- /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", type: "submit", isLoading: isPending, children: "Save" })
9655
- ] }) })
9656
- ]
9657
- }
9658
- ) });
9659
- };
9660
- const schema$4 = objectType({
9661
- email: stringType().email()
9662
- });
9663
9595
  const NumberInput = React.forwardRef(
9664
9596
  ({
9665
9597
  value,
@@ -10634,10 +10566,54 @@ const customItemSchema = objectType({
10634
10566
  quantity: numberType(),
10635
10567
  unit_price: unionType([numberType(), stringType()])
10636
10568
  });
10637
- const BillingAddress = () => {
10569
+ const InlineTip = React.forwardRef(
10570
+ ({ variant = "tip", label, className, children, ...props }, ref) => {
10571
+ const labelValue = label || (variant === "warning" ? "Warning" : "Tip");
10572
+ return /* @__PURE__ */ jsxRuntime.jsxs(
10573
+ "div",
10574
+ {
10575
+ ref,
10576
+ className: ui.clx(
10577
+ "bg-ui-bg-component txt-small text-ui-fg-subtle grid grid-cols-[4px_1fr] items-start gap-3 rounded-lg border p-3",
10578
+ className
10579
+ ),
10580
+ ...props,
10581
+ children: [
10582
+ /* @__PURE__ */ jsxRuntime.jsx(
10583
+ "div",
10584
+ {
10585
+ role: "presentation",
10586
+ className: ui.clx("w-4px bg-ui-tag-neutral-icon h-full rounded-full", {
10587
+ "bg-ui-tag-orange-icon": variant === "warning"
10588
+ })
10589
+ }
10590
+ ),
10591
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-pretty", children: [
10592
+ /* @__PURE__ */ jsxRuntime.jsxs("strong", { className: "txt-small-plus text-ui-fg-base", children: [
10593
+ labelValue,
10594
+ ":"
10595
+ ] }),
10596
+ " ",
10597
+ children
10598
+ ] })
10599
+ ]
10600
+ }
10601
+ );
10602
+ }
10603
+ );
10604
+ InlineTip.displayName = "InlineTip";
10605
+ const MetadataFieldSchema = objectType({
10606
+ key: stringType(),
10607
+ disabled: booleanType().optional(),
10608
+ value: anyType()
10609
+ });
10610
+ const MetadataSchema = objectType({
10611
+ metadata: arrayType(MetadataFieldSchema)
10612
+ });
10613
+ const Metadata = () => {
10638
10614
  const { id } = reactRouterDom.useParams();
10639
10615
  const { order, isPending, isError, error } = useOrder(id, {
10640
- fields: "+billing_address"
10616
+ fields: "metadata"
10641
10617
  });
10642
10618
  if (isError) {
10643
10619
  throw error;
@@ -10645,36 +10621,33 @@ const BillingAddress = () => {
10645
10621
  const isReady = !isPending && !!order;
10646
10622
  return /* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer, { children: [
10647
10623
  /* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer.Header, { children: [
10648
- /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { children: "Edit Billing Address" }) }),
10649
- /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Description, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Edit the billing address for the draft order" }) })
10624
+ /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { children: "Metadata" }) }),
10625
+ /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Description, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Add metadata to the draft order." }) })
10650
10626
  ] }),
10651
- isReady && /* @__PURE__ */ jsxRuntime.jsx(BillingAddressForm, { order })
10627
+ !isReady ? /* @__PURE__ */ jsxRuntime.jsx(PlaceholderInner, {}) : /* @__PURE__ */ jsxRuntime.jsx(MetadataForm, { orderId: id, metadata: order == null ? void 0 : order.metadata })
10652
10628
  ] });
10653
10629
  };
10654
- const BillingAddressForm = ({ order }) => {
10655
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
10630
+ const METADATA_KEY_LABEL_ID = "metadata-form-key-label";
10631
+ const METADATA_VALUE_LABEL_ID = "metadata-form-value-label";
10632
+ const MetadataForm = ({ orderId, metadata }) => {
10633
+ const { handleSuccess } = useRouteModal();
10634
+ const hasUneditableRows = getHasUneditableRows(metadata);
10635
+ const { mutateAsync, isPending } = useUpdateDraftOrder(orderId);
10656
10636
  const form = reactHookForm.useForm({
10657
10637
  defaultValues: {
10658
- first_name: ((_a = order.billing_address) == null ? void 0 : _a.first_name) ?? "",
10659
- last_name: ((_b = order.billing_address) == null ? void 0 : _b.last_name) ?? "",
10660
- company: ((_c = order.billing_address) == null ? void 0 : _c.company) ?? "",
10661
- address_1: ((_d = order.billing_address) == null ? void 0 : _d.address_1) ?? "",
10662
- address_2: ((_e = order.billing_address) == null ? void 0 : _e.address_2) ?? "",
10663
- city: ((_f = order.billing_address) == null ? void 0 : _f.city) ?? "",
10664
- province: ((_g = order.billing_address) == null ? void 0 : _g.province) ?? "",
10665
- country_code: ((_h = order.billing_address) == null ? void 0 : _h.country_code) ?? "",
10666
- postal_code: ((_i = order.billing_address) == null ? void 0 : _i.postal_code) ?? "",
10667
- phone: ((_j = order.billing_address) == null ? void 0 : _j.phone) ?? ""
10638
+ metadata: getDefaultValues(metadata)
10668
10639
  },
10669
- resolver: zod.zodResolver(schema$3)
10640
+ resolver: zod.zodResolver(MetadataSchema)
10670
10641
  });
10671
- const { mutateAsync, isPending } = useUpdateDraftOrder(order.id);
10672
- const { handleSuccess } = useRouteModal();
10673
- const onSubmit = form.handleSubmit(async (data) => {
10642
+ const handleSubmit = form.handleSubmit(async (data) => {
10643
+ const parsedData = parseValues(data);
10674
10644
  await mutateAsync(
10675
- { billing_address: data },
10645
+ {
10646
+ metadata: parsedData
10647
+ },
10676
10648
  {
10677
10649
  onSuccess: () => {
10650
+ ui.toast.success("Metadata updated");
10678
10651
  handleSuccess();
10679
10652
  },
10680
10653
  onError: (error) => {
@@ -10683,278 +10656,47 @@ const BillingAddressForm = ({ order }) => {
10683
10656
  }
10684
10657
  );
10685
10658
  });
10659
+ const { fields, insert, remove } = reactHookForm.useFieldArray({
10660
+ control: form.control,
10661
+ name: "metadata"
10662
+ });
10663
+ function deleteRow(index) {
10664
+ remove(index);
10665
+ if (fields.length === 1) {
10666
+ insert(0, {
10667
+ key: "",
10668
+ value: "",
10669
+ disabled: false
10670
+ });
10671
+ }
10672
+ }
10673
+ function insertRow(index, position) {
10674
+ insert(index + (position === "above" ? 0 : 1), {
10675
+ key: "",
10676
+ value: "",
10677
+ disabled: false
10678
+ });
10679
+ }
10686
10680
  return /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Form, { form, children: /* @__PURE__ */ jsxRuntime.jsxs(
10687
10681
  KeyboundForm,
10688
10682
  {
10683
+ onSubmit: handleSubmit,
10689
10684
  className: "flex flex-1 flex-col overflow-hidden",
10690
- onSubmit,
10691
10685
  children: [
10692
- /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Body, { className: "flex flex-col gap-y-6 overflow-y-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-y-4", children: [
10693
- /* @__PURE__ */ jsxRuntime.jsx(
10694
- Form$2.Field,
10695
- {
10696
- control: form.control,
10697
- name: "country_code",
10698
- render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
10699
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Country" }),
10700
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(CountrySelect, { ...field }) }),
10701
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
10702
- ] })
10703
- }
10704
- ),
10705
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
10706
- /* @__PURE__ */ jsxRuntime.jsx(
10707
- Form$2.Field,
10708
- {
10709
- control: form.control,
10710
- name: "first_name",
10711
- render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
10712
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "First name" }),
10713
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
10714
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
10715
- ] })
10686
+ /* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer.Body, { className: "flex flex-1 flex-col gap-y-8 overflow-y-auto", children: [
10687
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-ui-bg-base shadow-elevation-card-rest grid grid-cols-1 divide-y rounded-lg", children: [
10688
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-ui-bg-subtle grid grid-cols-2 divide-x rounded-t-lg", children: [
10689
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "txt-compact-small-plus text-ui-fg-subtle px-2 py-1.5", children: /* @__PURE__ */ jsxRuntime.jsx("label", { id: METADATA_KEY_LABEL_ID, children: "Key" }) }),
10690
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "txt-compact-small-plus text-ui-fg-subtle px-2 py-1.5", children: /* @__PURE__ */ jsxRuntime.jsx("label", { id: METADATA_VALUE_LABEL_ID, children: "Value" }) })
10691
+ ] }),
10692
+ fields.map((field, index) => {
10693
+ const isDisabled = field.disabled || false;
10694
+ let placeholder = "-";
10695
+ if (typeof field.value === "object") {
10696
+ placeholder = "{ ... }";
10716
10697
  }
10717
- ),
10718
- /* @__PURE__ */ jsxRuntime.jsx(
10719
- Form$2.Field,
10720
- {
10721
- control: form.control,
10722
- name: "last_name",
10723
- render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
10724
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Last name" }),
10725
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
10726
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
10727
- ] })
10728
- }
10729
- )
10730
- ] }),
10731
- /* @__PURE__ */ jsxRuntime.jsx(
10732
- Form$2.Field,
10733
- {
10734
- control: form.control,
10735
- name: "company",
10736
- render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
10737
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { optional: true, children: "Company" }),
10738
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
10739
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
10740
- ] })
10741
- }
10742
- ),
10743
- /* @__PURE__ */ jsxRuntime.jsx(
10744
- Form$2.Field,
10745
- {
10746
- control: form.control,
10747
- name: "address_1",
10748
- render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
10749
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Address" }),
10750
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
10751
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
10752
- ] })
10753
- }
10754
- ),
10755
- /* @__PURE__ */ jsxRuntime.jsx(
10756
- Form$2.Field,
10757
- {
10758
- control: form.control,
10759
- name: "address_2",
10760
- render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
10761
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { optional: true, children: "Apartment, suite, etc." }),
10762
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
10763
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
10764
- ] })
10765
- }
10766
- ),
10767
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
10768
- /* @__PURE__ */ jsxRuntime.jsx(
10769
- Form$2.Field,
10770
- {
10771
- control: form.control,
10772
- name: "postal_code",
10773
- render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
10774
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Postal code" }),
10775
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
10776
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
10777
- ] })
10778
- }
10779
- ),
10780
- /* @__PURE__ */ jsxRuntime.jsx(
10781
- Form$2.Field,
10782
- {
10783
- control: form.control,
10784
- name: "city",
10785
- render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
10786
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "City" }),
10787
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
10788
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
10789
- ] })
10790
- }
10791
- )
10792
- ] }),
10793
- /* @__PURE__ */ jsxRuntime.jsx(
10794
- Form$2.Field,
10795
- {
10796
- control: form.control,
10797
- name: "province",
10798
- render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
10799
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { optional: true, children: "Province / State" }),
10800
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
10801
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
10802
- ] })
10803
- }
10804
- ),
10805
- /* @__PURE__ */ jsxRuntime.jsx(
10806
- Form$2.Field,
10807
- {
10808
- control: form.control,
10809
- name: "phone",
10810
- render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
10811
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { optional: true, children: "Phone" }),
10812
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
10813
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
10814
- ] })
10815
- }
10816
- )
10817
- ] }) }),
10818
- /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Footer, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2", children: [
10819
- /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Close, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", variant: "secondary", children: "Cancel" }) }),
10820
- /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", type: "submit", isLoading: isPending, children: "Save" })
10821
- ] }) })
10822
- ]
10823
- }
10824
- ) });
10825
- };
10826
- const schema$3 = addressSchema;
10827
- const InlineTip = React.forwardRef(
10828
- ({ variant = "tip", label, className, children, ...props }, ref) => {
10829
- const labelValue = label || (variant === "warning" ? "Warning" : "Tip");
10830
- return /* @__PURE__ */ jsxRuntime.jsxs(
10831
- "div",
10832
- {
10833
- ref,
10834
- className: ui.clx(
10835
- "bg-ui-bg-component txt-small text-ui-fg-subtle grid grid-cols-[4px_1fr] items-start gap-3 rounded-lg border p-3",
10836
- className
10837
- ),
10838
- ...props,
10839
- children: [
10840
- /* @__PURE__ */ jsxRuntime.jsx(
10841
- "div",
10842
- {
10843
- role: "presentation",
10844
- className: ui.clx("w-4px bg-ui-tag-neutral-icon h-full rounded-full", {
10845
- "bg-ui-tag-orange-icon": variant === "warning"
10846
- })
10847
- }
10848
- ),
10849
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-pretty", children: [
10850
- /* @__PURE__ */ jsxRuntime.jsxs("strong", { className: "txt-small-plus text-ui-fg-base", children: [
10851
- labelValue,
10852
- ":"
10853
- ] }),
10854
- " ",
10855
- children
10856
- ] })
10857
- ]
10858
- }
10859
- );
10860
- }
10861
- );
10862
- InlineTip.displayName = "InlineTip";
10863
- const MetadataFieldSchema = objectType({
10864
- key: stringType(),
10865
- disabled: booleanType().optional(),
10866
- value: anyType()
10867
- });
10868
- const MetadataSchema = objectType({
10869
- metadata: arrayType(MetadataFieldSchema)
10870
- });
10871
- const Metadata = () => {
10872
- const { id } = reactRouterDom.useParams();
10873
- const { order, isPending, isError, error } = useOrder(id, {
10874
- fields: "metadata"
10875
- });
10876
- if (isError) {
10877
- throw error;
10878
- }
10879
- const isReady = !isPending && !!order;
10880
- return /* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer, { children: [
10881
- /* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer.Header, { children: [
10882
- /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { children: "Metadata" }) }),
10883
- /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Description, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Add metadata to the draft order." }) })
10884
- ] }),
10885
- !isReady ? /* @__PURE__ */ jsxRuntime.jsx(PlaceholderInner, {}) : /* @__PURE__ */ jsxRuntime.jsx(MetadataForm, { orderId: id, metadata: order == null ? void 0 : order.metadata })
10886
- ] });
10887
- };
10888
- const METADATA_KEY_LABEL_ID = "metadata-form-key-label";
10889
- const METADATA_VALUE_LABEL_ID = "metadata-form-value-label";
10890
- const MetadataForm = ({ orderId, metadata }) => {
10891
- const { handleSuccess } = useRouteModal();
10892
- const hasUneditableRows = getHasUneditableRows(metadata);
10893
- const { mutateAsync, isPending } = useUpdateDraftOrder(orderId);
10894
- const form = reactHookForm.useForm({
10895
- defaultValues: {
10896
- metadata: getDefaultValues(metadata)
10897
- },
10898
- resolver: zod.zodResolver(MetadataSchema)
10899
- });
10900
- const handleSubmit = form.handleSubmit(async (data) => {
10901
- const parsedData = parseValues(data);
10902
- await mutateAsync(
10903
- {
10904
- metadata: parsedData
10905
- },
10906
- {
10907
- onSuccess: () => {
10908
- ui.toast.success("Metadata updated");
10909
- handleSuccess();
10910
- },
10911
- onError: (error) => {
10912
- ui.toast.error(error.message);
10913
- }
10914
- }
10915
- );
10916
- });
10917
- const { fields, insert, remove } = reactHookForm.useFieldArray({
10918
- control: form.control,
10919
- name: "metadata"
10920
- });
10921
- function deleteRow(index) {
10922
- remove(index);
10923
- if (fields.length === 1) {
10924
- insert(0, {
10925
- key: "",
10926
- value: "",
10927
- disabled: false
10928
- });
10929
- }
10930
- }
10931
- function insertRow(index, position) {
10932
- insert(index + (position === "above" ? 0 : 1), {
10933
- key: "",
10934
- value: "",
10935
- disabled: false
10936
- });
10937
- }
10938
- return /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Form, { form, children: /* @__PURE__ */ jsxRuntime.jsxs(
10939
- KeyboundForm,
10940
- {
10941
- onSubmit: handleSubmit,
10942
- className: "flex flex-1 flex-col overflow-hidden",
10943
- children: [
10944
- /* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer.Body, { className: "flex flex-1 flex-col gap-y-8 overflow-y-auto", children: [
10945
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-ui-bg-base shadow-elevation-card-rest grid grid-cols-1 divide-y rounded-lg", children: [
10946
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-ui-bg-subtle grid grid-cols-2 divide-x rounded-t-lg", children: [
10947
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "txt-compact-small-plus text-ui-fg-subtle px-2 py-1.5", children: /* @__PURE__ */ jsxRuntime.jsx("label", { id: METADATA_KEY_LABEL_ID, children: "Key" }) }),
10948
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "txt-compact-small-plus text-ui-fg-subtle px-2 py-1.5", children: /* @__PURE__ */ jsxRuntime.jsx("label", { id: METADATA_VALUE_LABEL_ID, children: "Value" }) })
10949
- ] }),
10950
- fields.map((field, index) => {
10951
- const isDisabled = field.disabled || false;
10952
- let placeholder = "-";
10953
- if (typeof field.value === "object") {
10954
- placeholder = "{ ... }";
10955
- }
10956
- if (Array.isArray(field.value)) {
10957
- placeholder = "[ ... ]";
10698
+ if (Array.isArray(field.value)) {
10699
+ placeholder = "[ ... ]";
10958
10700
  }
10959
10701
  return /* @__PURE__ */ jsxRuntime.jsx(
10960
10702
  ConditionalTooltip,
@@ -11451,46 +11193,37 @@ function getPromotionIds(items, shippingMethods) {
11451
11193
  }
11452
11194
  return Array.from(promotionIds);
11453
11195
  }
11454
- const SalesChannel = () => {
11196
+ const Email = () => {
11455
11197
  const { id } = reactRouterDom.useParams();
11456
- const { draft_order, isPending, isError, error } = useDraftOrder(
11457
- id,
11458
- {
11459
- fields: "+sales_channel_id"
11460
- },
11461
- {
11462
- enabled: !!id
11463
- }
11464
- );
11198
+ const { order, isPending, isError, error } = useOrder(id, {
11199
+ fields: "+email"
11200
+ });
11465
11201
  if (isError) {
11466
11202
  throw error;
11467
11203
  }
11468
- const ISrEADY = !!draft_order && !isPending;
11204
+ const isReady = !isPending && !!order;
11469
11205
  return /* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer, { children: [
11470
11206
  /* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer.Header, { children: [
11471
- /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { children: "Edit Sales Channel" }) }),
11472
- /* @__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" }) })
11207
+ /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { children: "Edit Email" }) }),
11208
+ /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Description, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Edit the email for the draft order" }) })
11473
11209
  ] }),
11474
- ISrEADY && /* @__PURE__ */ jsxRuntime.jsx(SalesChannelForm, { order: draft_order })
11210
+ isReady && /* @__PURE__ */ jsxRuntime.jsx(EmailForm, { order })
11475
11211
  ] });
11476
11212
  };
11477
- const SalesChannelForm = ({ order }) => {
11213
+ const EmailForm = ({ order }) => {
11478
11214
  const form = reactHookForm.useForm({
11479
11215
  defaultValues: {
11480
- sales_channel_id: order.sales_channel_id || ""
11216
+ email: order.email ?? ""
11481
11217
  },
11482
- resolver: zod.zodResolver(schema$2)
11218
+ resolver: zod.zodResolver(schema$4)
11483
11219
  });
11484
11220
  const { mutateAsync, isPending } = useUpdateDraftOrder(order.id);
11485
11221
  const { handleSuccess } = useRouteModal();
11486
11222
  const onSubmit = form.handleSubmit(async (data) => {
11487
11223
  await mutateAsync(
11488
- {
11489
- sales_channel_id: data.sales_channel_id
11490
- },
11224
+ { email: data.email },
11491
11225
  {
11492
11226
  onSuccess: () => {
11493
- ui.toast.success("Sales channel updated");
11494
11227
  handleSuccess();
11495
11228
  },
11496
11229
  onError: (error) => {
@@ -11505,7 +11238,18 @@ const SalesChannelForm = ({ order }) => {
11505
11238
  className: "flex flex-1 flex-col overflow-hidden",
11506
11239
  onSubmit,
11507
11240
  children: [
11508
- /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Body, { className: "flex flex-col gap-y-6 overflow-y-auto", children: /* @__PURE__ */ jsxRuntime.jsx(SalesChannelField, { control: form.control, order }) }),
11241
+ /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Body, { className: "flex flex-col gap-y-6 overflow-y-auto", children: /* @__PURE__ */ jsxRuntime.jsx(
11242
+ Form$2.Field,
11243
+ {
11244
+ control: form.control,
11245
+ name: "email",
11246
+ render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
11247
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Email" }),
11248
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
11249
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
11250
+ ] })
11251
+ }
11252
+ ) }),
11509
11253
  /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Footer, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2", children: [
11510
11254
  /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Close, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", variant: "secondary", children: "Cancel" }) }),
11511
11255
  /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", type: "submit", isLoading: isPending, children: "Save" })
@@ -11514,103 +11258,49 @@ const SalesChannelForm = ({ order }) => {
11514
11258
  }
11515
11259
  ) });
11516
11260
  };
11517
- const SalesChannelField = ({ control, order }) => {
11518
- const salesChannels = useComboboxData({
11519
- queryFn: async (params) => {
11520
- return await sdk.admin.salesChannel.list(params);
11261
+ const schema$4 = objectType({
11262
+ email: stringType().email()
11263
+ });
11264
+ const SalesChannel = () => {
11265
+ const { id } = reactRouterDom.useParams();
11266
+ const { draft_order, isPending, isError, error } = useDraftOrder(
11267
+ id,
11268
+ {
11269
+ fields: "+sales_channel_id"
11521
11270
  },
11522
- queryKey: ["sales-channels"],
11523
- getOptions: (data) => {
11524
- return data.sales_channels.map((salesChannel) => ({
11525
- label: salesChannel.name,
11526
- value: salesChannel.id
11527
- }));
11528
- },
11529
- defaultValue: order.sales_channel_id || void 0
11530
- });
11531
- return /* @__PURE__ */ jsxRuntime.jsx(
11532
- Form$2.Field,
11533
11271
  {
11534
- control,
11535
- name: "sales_channel_id",
11536
- render: ({ field }) => {
11537
- return /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
11538
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Sales Channel" }),
11539
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(
11540
- Combobox,
11541
- {
11542
- options: salesChannels.options,
11543
- fetchNextPage: salesChannels.fetchNextPage,
11544
- isFetchingNextPage: salesChannels.isFetchingNextPage,
11545
- searchValue: salesChannels.searchValue,
11546
- onSearchValueChange: salesChannels.onSearchValueChange,
11547
- placeholder: "Select sales channel",
11548
- ...field
11549
- }
11550
- ) }),
11551
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
11552
- ] });
11553
- }
11272
+ enabled: !!id
11554
11273
  }
11555
11274
  );
11556
- };
11557
- const schema$2 = objectType({
11558
- sales_channel_id: stringType().min(1)
11559
- });
11560
- const ShippingAddress = () => {
11561
- const { id } = reactRouterDom.useParams();
11562
- const { order, isPending, isError, error } = useOrder(id, {
11563
- fields: "+shipping_address"
11564
- });
11565
11275
  if (isError) {
11566
11276
  throw error;
11567
11277
  }
11568
- const isReady = !isPending && !!order;
11278
+ const ISrEADY = !!draft_order && !isPending;
11569
11279
  return /* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer, { children: [
11570
11280
  /* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer.Header, { children: [
11571
- /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { children: "Edit Shipping Address" }) }),
11572
- /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Description, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Edit the shipping address for the draft order" }) })
11281
+ /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { children: "Edit Sales Channel" }) }),
11282
+ /* @__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" }) })
11573
11283
  ] }),
11574
- isReady && /* @__PURE__ */ jsxRuntime.jsx(ShippingAddressForm, { order })
11284
+ ISrEADY && /* @__PURE__ */ jsxRuntime.jsx(SalesChannelForm, { order: draft_order })
11575
11285
  ] });
11576
11286
  };
11577
- const ShippingAddressForm = ({ order }) => {
11578
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
11287
+ const SalesChannelForm = ({ order }) => {
11579
11288
  const form = reactHookForm.useForm({
11580
11289
  defaultValues: {
11581
- first_name: ((_a = order.shipping_address) == null ? void 0 : _a.first_name) ?? "",
11582
- last_name: ((_b = order.shipping_address) == null ? void 0 : _b.last_name) ?? "",
11583
- company: ((_c = order.shipping_address) == null ? void 0 : _c.company) ?? "",
11584
- address_1: ((_d = order.shipping_address) == null ? void 0 : _d.address_1) ?? "",
11585
- address_2: ((_e = order.shipping_address) == null ? void 0 : _e.address_2) ?? "",
11586
- city: ((_f = order.shipping_address) == null ? void 0 : _f.city) ?? "",
11587
- province: ((_g = order.shipping_address) == null ? void 0 : _g.province) ?? "",
11588
- country_code: ((_h = order.shipping_address) == null ? void 0 : _h.country_code) ?? "",
11589
- postal_code: ((_i = order.shipping_address) == null ? void 0 : _i.postal_code) ?? "",
11590
- phone: ((_j = order.shipping_address) == null ? void 0 : _j.phone) ?? ""
11290
+ sales_channel_id: order.sales_channel_id || ""
11591
11291
  },
11592
- resolver: zod.zodResolver(schema$1)
11292
+ resolver: zod.zodResolver(schema$3)
11593
11293
  });
11594
11294
  const { mutateAsync, isPending } = useUpdateDraftOrder(order.id);
11595
11295
  const { handleSuccess } = useRouteModal();
11596
11296
  const onSubmit = form.handleSubmit(async (data) => {
11597
11297
  await mutateAsync(
11598
11298
  {
11599
- shipping_address: {
11600
- first_name: data.first_name,
11601
- last_name: data.last_name,
11602
- company: data.company,
11603
- address_1: data.address_1,
11604
- address_2: data.address_2,
11605
- city: data.city,
11606
- province: data.province,
11607
- country_code: data.country_code,
11608
- postal_code: data.postal_code,
11609
- phone: data.phone
11610
- }
11299
+ sales_channel_id: data.sales_channel_id
11611
11300
  },
11612
11301
  {
11613
11302
  onSuccess: () => {
11303
+ ui.toast.success("Sales channel updated");
11614
11304
  handleSuccess();
11615
11305
  },
11616
11306
  onError: (error) => {
@@ -11625,132 +11315,7 @@ const ShippingAddressForm = ({ order }) => {
11625
11315
  className: "flex flex-1 flex-col overflow-hidden",
11626
11316
  onSubmit,
11627
11317
  children: [
11628
- /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Body, { className: "flex flex-col gap-y-6 overflow-y-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-y-4", children: [
11629
- /* @__PURE__ */ jsxRuntime.jsx(
11630
- Form$2.Field,
11631
- {
11632
- control: form.control,
11633
- name: "country_code",
11634
- render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
11635
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Country" }),
11636
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(CountrySelect, { ...field }) }),
11637
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
11638
- ] })
11639
- }
11640
- ),
11641
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
11642
- /* @__PURE__ */ jsxRuntime.jsx(
11643
- Form$2.Field,
11644
- {
11645
- control: form.control,
11646
- name: "first_name",
11647
- render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
11648
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "First name" }),
11649
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
11650
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
11651
- ] })
11652
- }
11653
- ),
11654
- /* @__PURE__ */ jsxRuntime.jsx(
11655
- Form$2.Field,
11656
- {
11657
- control: form.control,
11658
- name: "last_name",
11659
- render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
11660
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Last name" }),
11661
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
11662
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
11663
- ] })
11664
- }
11665
- )
11666
- ] }),
11667
- /* @__PURE__ */ jsxRuntime.jsx(
11668
- Form$2.Field,
11669
- {
11670
- control: form.control,
11671
- name: "company",
11672
- render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
11673
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { optional: true, children: "Company" }),
11674
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
11675
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
11676
- ] })
11677
- }
11678
- ),
11679
- /* @__PURE__ */ jsxRuntime.jsx(
11680
- Form$2.Field,
11681
- {
11682
- control: form.control,
11683
- name: "address_1",
11684
- render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
11685
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Address" }),
11686
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
11687
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
11688
- ] })
11689
- }
11690
- ),
11691
- /* @__PURE__ */ jsxRuntime.jsx(
11692
- Form$2.Field,
11693
- {
11694
- control: form.control,
11695
- name: "address_2",
11696
- render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
11697
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { optional: true, children: "Apartment, suite, etc." }),
11698
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
11699
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
11700
- ] })
11701
- }
11702
- ),
11703
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
11704
- /* @__PURE__ */ jsxRuntime.jsx(
11705
- Form$2.Field,
11706
- {
11707
- control: form.control,
11708
- name: "postal_code",
11709
- render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
11710
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Postal code" }),
11711
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
11712
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
11713
- ] })
11714
- }
11715
- ),
11716
- /* @__PURE__ */ jsxRuntime.jsx(
11717
- Form$2.Field,
11718
- {
11719
- control: form.control,
11720
- name: "city",
11721
- render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
11722
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "City" }),
11723
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
11724
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
11725
- ] })
11726
- }
11727
- )
11728
- ] }),
11729
- /* @__PURE__ */ jsxRuntime.jsx(
11730
- Form$2.Field,
11731
- {
11732
- control: form.control,
11733
- name: "province",
11734
- render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
11735
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { optional: true, children: "Province / State" }),
11736
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
11737
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
11738
- ] })
11739
- }
11740
- ),
11741
- /* @__PURE__ */ jsxRuntime.jsx(
11742
- Form$2.Field,
11743
- {
11744
- control: form.control,
11745
- name: "phone",
11746
- render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
11747
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { optional: true, children: "Phone" }),
11748
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
11749
- /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
11750
- ] })
11751
- }
11752
- )
11753
- ] }) }),
11318
+ /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Body, { className: "flex flex-col gap-y-6 overflow-y-auto", children: /* @__PURE__ */ jsxRuntime.jsx(SalesChannelField, { control: form.control, order }) }),
11754
11319
  /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Footer, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2", children: [
11755
11320
  /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Close, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", variant: "secondary", children: "Cancel" }) }),
11756
11321
  /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", type: "submit", isLoading: isPending, children: "Save" })
@@ -11759,7 +11324,49 @@ const ShippingAddressForm = ({ order }) => {
11759
11324
  }
11760
11325
  ) });
11761
11326
  };
11762
- const schema$1 = addressSchema;
11327
+ const SalesChannelField = ({ control, order }) => {
11328
+ const salesChannels = useComboboxData({
11329
+ queryFn: async (params) => {
11330
+ return await sdk.admin.salesChannel.list(params);
11331
+ },
11332
+ queryKey: ["sales-channels"],
11333
+ getOptions: (data) => {
11334
+ return data.sales_channels.map((salesChannel) => ({
11335
+ label: salesChannel.name,
11336
+ value: salesChannel.id
11337
+ }));
11338
+ },
11339
+ defaultValue: order.sales_channel_id || void 0
11340
+ });
11341
+ return /* @__PURE__ */ jsxRuntime.jsx(
11342
+ Form$2.Field,
11343
+ {
11344
+ control,
11345
+ name: "sales_channel_id",
11346
+ render: ({ field }) => {
11347
+ return /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
11348
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Sales Channel" }),
11349
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(
11350
+ Combobox,
11351
+ {
11352
+ options: salesChannels.options,
11353
+ fetchNextPage: salesChannels.fetchNextPage,
11354
+ isFetchingNextPage: salesChannels.isFetchingNextPage,
11355
+ searchValue: salesChannels.searchValue,
11356
+ onSearchValueChange: salesChannels.onSearchValueChange,
11357
+ placeholder: "Select sales channel",
11358
+ ...field
11359
+ }
11360
+ ) }),
11361
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
11362
+ ] });
11363
+ }
11364
+ }
11365
+ );
11366
+ };
11367
+ const schema$3 = objectType({
11368
+ sales_channel_id: stringType().min(1)
11369
+ });
11763
11370
  const STACKED_FOCUS_MODAL_ID = "shipping-form";
11764
11371
  const Shipping = () => {
11765
11372
  var _a;
@@ -12567,18 +12174,221 @@ const CustomAmountField = ({
12567
12174
  }
12568
12175
  );
12569
12176
  };
12570
- const TransferOwnership = () => {
12177
+ const ShippingAddress = () => {
12571
12178
  const { id } = reactRouterDom.useParams();
12572
- const { draft_order, isPending, isError, error } = useDraftOrder(id, {
12573
- fields: "id,customer_id,customer.*"
12179
+ const { order, isPending, isError, error } = useOrder(id, {
12180
+ fields: "+shipping_address"
12574
12181
  });
12575
12182
  if (isError) {
12576
12183
  throw error;
12577
12184
  }
12578
- const isReady = !isPending && !!draft_order;
12185
+ const isReady = !isPending && !!order;
12579
12186
  return /* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer, { children: [
12580
12187
  /* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer.Header, { children: [
12581
- /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { children: "Transfer Ownership" }) }),
12188
+ /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { children: "Edit Shipping Address" }) }),
12189
+ /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Description, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Edit the shipping address for the draft order" }) })
12190
+ ] }),
12191
+ isReady && /* @__PURE__ */ jsxRuntime.jsx(ShippingAddressForm, { order })
12192
+ ] });
12193
+ };
12194
+ const ShippingAddressForm = ({ order }) => {
12195
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
12196
+ const form = reactHookForm.useForm({
12197
+ defaultValues: {
12198
+ first_name: ((_a = order.shipping_address) == null ? void 0 : _a.first_name) ?? "",
12199
+ last_name: ((_b = order.shipping_address) == null ? void 0 : _b.last_name) ?? "",
12200
+ company: ((_c = order.shipping_address) == null ? void 0 : _c.company) ?? "",
12201
+ address_1: ((_d = order.shipping_address) == null ? void 0 : _d.address_1) ?? "",
12202
+ address_2: ((_e = order.shipping_address) == null ? void 0 : _e.address_2) ?? "",
12203
+ city: ((_f = order.shipping_address) == null ? void 0 : _f.city) ?? "",
12204
+ province: ((_g = order.shipping_address) == null ? void 0 : _g.province) ?? "",
12205
+ country_code: ((_h = order.shipping_address) == null ? void 0 : _h.country_code) ?? "",
12206
+ postal_code: ((_i = order.shipping_address) == null ? void 0 : _i.postal_code) ?? "",
12207
+ phone: ((_j = order.shipping_address) == null ? void 0 : _j.phone) ?? ""
12208
+ },
12209
+ resolver: zod.zodResolver(schema$2)
12210
+ });
12211
+ const { mutateAsync, isPending } = useUpdateDraftOrder(order.id);
12212
+ const { handleSuccess } = useRouteModal();
12213
+ const onSubmit = form.handleSubmit(async (data) => {
12214
+ await mutateAsync(
12215
+ {
12216
+ shipping_address: {
12217
+ first_name: data.first_name,
12218
+ last_name: data.last_name,
12219
+ company: data.company,
12220
+ address_1: data.address_1,
12221
+ address_2: data.address_2,
12222
+ city: data.city,
12223
+ province: data.province,
12224
+ country_code: data.country_code,
12225
+ postal_code: data.postal_code,
12226
+ phone: data.phone
12227
+ }
12228
+ },
12229
+ {
12230
+ onSuccess: () => {
12231
+ handleSuccess();
12232
+ },
12233
+ onError: (error) => {
12234
+ ui.toast.error(error.message);
12235
+ }
12236
+ }
12237
+ );
12238
+ });
12239
+ return /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Form, { form, children: /* @__PURE__ */ jsxRuntime.jsxs(
12240
+ KeyboundForm,
12241
+ {
12242
+ className: "flex flex-1 flex-col overflow-hidden",
12243
+ onSubmit,
12244
+ children: [
12245
+ /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Body, { className: "flex flex-col gap-y-6 overflow-y-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-y-4", children: [
12246
+ /* @__PURE__ */ jsxRuntime.jsx(
12247
+ Form$2.Field,
12248
+ {
12249
+ control: form.control,
12250
+ name: "country_code",
12251
+ render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
12252
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Country" }),
12253
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(CountrySelect, { ...field }) }),
12254
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
12255
+ ] })
12256
+ }
12257
+ ),
12258
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
12259
+ /* @__PURE__ */ jsxRuntime.jsx(
12260
+ Form$2.Field,
12261
+ {
12262
+ control: form.control,
12263
+ name: "first_name",
12264
+ render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
12265
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "First name" }),
12266
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
12267
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
12268
+ ] })
12269
+ }
12270
+ ),
12271
+ /* @__PURE__ */ jsxRuntime.jsx(
12272
+ Form$2.Field,
12273
+ {
12274
+ control: form.control,
12275
+ name: "last_name",
12276
+ render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
12277
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Last name" }),
12278
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
12279
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
12280
+ ] })
12281
+ }
12282
+ )
12283
+ ] }),
12284
+ /* @__PURE__ */ jsxRuntime.jsx(
12285
+ Form$2.Field,
12286
+ {
12287
+ control: form.control,
12288
+ name: "company",
12289
+ render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
12290
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { optional: true, children: "Company" }),
12291
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
12292
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
12293
+ ] })
12294
+ }
12295
+ ),
12296
+ /* @__PURE__ */ jsxRuntime.jsx(
12297
+ Form$2.Field,
12298
+ {
12299
+ control: form.control,
12300
+ name: "address_1",
12301
+ render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
12302
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Address" }),
12303
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
12304
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
12305
+ ] })
12306
+ }
12307
+ ),
12308
+ /* @__PURE__ */ jsxRuntime.jsx(
12309
+ Form$2.Field,
12310
+ {
12311
+ control: form.control,
12312
+ name: "address_2",
12313
+ render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
12314
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { optional: true, children: "Apartment, suite, etc." }),
12315
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
12316
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
12317
+ ] })
12318
+ }
12319
+ ),
12320
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
12321
+ /* @__PURE__ */ jsxRuntime.jsx(
12322
+ Form$2.Field,
12323
+ {
12324
+ control: form.control,
12325
+ name: "postal_code",
12326
+ render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
12327
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Postal code" }),
12328
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
12329
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
12330
+ ] })
12331
+ }
12332
+ ),
12333
+ /* @__PURE__ */ jsxRuntime.jsx(
12334
+ Form$2.Field,
12335
+ {
12336
+ control: form.control,
12337
+ name: "city",
12338
+ render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
12339
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "City" }),
12340
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
12341
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
12342
+ ] })
12343
+ }
12344
+ )
12345
+ ] }),
12346
+ /* @__PURE__ */ jsxRuntime.jsx(
12347
+ Form$2.Field,
12348
+ {
12349
+ control: form.control,
12350
+ name: "province",
12351
+ render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
12352
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { optional: true, children: "Province / State" }),
12353
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
12354
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
12355
+ ] })
12356
+ }
12357
+ ),
12358
+ /* @__PURE__ */ jsxRuntime.jsx(
12359
+ Form$2.Field,
12360
+ {
12361
+ control: form.control,
12362
+ name: "phone",
12363
+ render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
12364
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { optional: true, children: "Phone" }),
12365
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
12366
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
12367
+ ] })
12368
+ }
12369
+ )
12370
+ ] }) }),
12371
+ /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Footer, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2", children: [
12372
+ /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Close, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", variant: "secondary", children: "Cancel" }) }),
12373
+ /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", type: "submit", isLoading: isPending, children: "Save" })
12374
+ ] }) })
12375
+ ]
12376
+ }
12377
+ ) });
12378
+ };
12379
+ const schema$2 = addressSchema;
12380
+ const TransferOwnership = () => {
12381
+ const { id } = reactRouterDom.useParams();
12382
+ const { draft_order, isPending, isError, error } = useDraftOrder(id, {
12383
+ fields: "id,customer_id,customer.*"
12384
+ });
12385
+ if (isError) {
12386
+ throw error;
12387
+ }
12388
+ const isReady = !isPending && !!draft_order;
12389
+ return /* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer, { children: [
12390
+ /* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer.Header, { children: [
12391
+ /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { children: "Transfer Ownership" }) }),
12582
12392
  /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Description, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Transfer the ownership of this draft order to a new customer" }) })
12583
12393
  ] }),
12584
12394
  isReady && /* @__PURE__ */ jsxRuntime.jsx(TransferOwnershipForm, { order: draft_order })
@@ -12590,7 +12400,7 @@ const TransferOwnershipForm = ({ order }) => {
12590
12400
  defaultValues: {
12591
12401
  customer_id: order.customer_id || ""
12592
12402
  },
12593
- resolver: zod.zodResolver(schema)
12403
+ resolver: zod.zodResolver(schema$1)
12594
12404
  });
12595
12405
  const { mutateAsync, isPending } = useUpdateDraftOrder(order.id);
12596
12406
  const { handleSuccess } = useRouteModal();
@@ -13040,9 +12850,199 @@ const Illustration = () => {
13040
12850
  }
13041
12851
  );
13042
12852
  };
13043
- const schema = objectType({
12853
+ const schema$1 = objectType({
13044
12854
  customer_id: stringType().min(1)
13045
12855
  });
12856
+ const BillingAddress = () => {
12857
+ const { id } = reactRouterDom.useParams();
12858
+ const { order, isPending, isError, error } = useOrder(id, {
12859
+ fields: "+billing_address"
12860
+ });
12861
+ if (isError) {
12862
+ throw error;
12863
+ }
12864
+ const isReady = !isPending && !!order;
12865
+ return /* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer, { children: [
12866
+ /* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer.Header, { children: [
12867
+ /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { children: "Edit Billing Address" }) }),
12868
+ /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Description, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Edit the billing address for the draft order" }) })
12869
+ ] }),
12870
+ isReady && /* @__PURE__ */ jsxRuntime.jsx(BillingAddressForm, { order })
12871
+ ] });
12872
+ };
12873
+ const BillingAddressForm = ({ order }) => {
12874
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
12875
+ const form = reactHookForm.useForm({
12876
+ defaultValues: {
12877
+ first_name: ((_a = order.billing_address) == null ? void 0 : _a.first_name) ?? "",
12878
+ last_name: ((_b = order.billing_address) == null ? void 0 : _b.last_name) ?? "",
12879
+ company: ((_c = order.billing_address) == null ? void 0 : _c.company) ?? "",
12880
+ address_1: ((_d = order.billing_address) == null ? void 0 : _d.address_1) ?? "",
12881
+ address_2: ((_e = order.billing_address) == null ? void 0 : _e.address_2) ?? "",
12882
+ city: ((_f = order.billing_address) == null ? void 0 : _f.city) ?? "",
12883
+ province: ((_g = order.billing_address) == null ? void 0 : _g.province) ?? "",
12884
+ country_code: ((_h = order.billing_address) == null ? void 0 : _h.country_code) ?? "",
12885
+ postal_code: ((_i = order.billing_address) == null ? void 0 : _i.postal_code) ?? "",
12886
+ phone: ((_j = order.billing_address) == null ? void 0 : _j.phone) ?? ""
12887
+ },
12888
+ resolver: zod.zodResolver(schema)
12889
+ });
12890
+ const { mutateAsync, isPending } = useUpdateDraftOrder(order.id);
12891
+ const { handleSuccess } = useRouteModal();
12892
+ const onSubmit = form.handleSubmit(async (data) => {
12893
+ await mutateAsync(
12894
+ { billing_address: data },
12895
+ {
12896
+ onSuccess: () => {
12897
+ handleSuccess();
12898
+ },
12899
+ onError: (error) => {
12900
+ ui.toast.error(error.message);
12901
+ }
12902
+ }
12903
+ );
12904
+ });
12905
+ return /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Form, { form, children: /* @__PURE__ */ jsxRuntime.jsxs(
12906
+ KeyboundForm,
12907
+ {
12908
+ className: "flex flex-1 flex-col overflow-hidden",
12909
+ onSubmit,
12910
+ children: [
12911
+ /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Body, { className: "flex flex-col gap-y-6 overflow-y-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-y-4", children: [
12912
+ /* @__PURE__ */ jsxRuntime.jsx(
12913
+ Form$2.Field,
12914
+ {
12915
+ control: form.control,
12916
+ name: "country_code",
12917
+ render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
12918
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Country" }),
12919
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(CountrySelect, { ...field }) }),
12920
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
12921
+ ] })
12922
+ }
12923
+ ),
12924
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
12925
+ /* @__PURE__ */ jsxRuntime.jsx(
12926
+ Form$2.Field,
12927
+ {
12928
+ control: form.control,
12929
+ name: "first_name",
12930
+ render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
12931
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "First name" }),
12932
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
12933
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
12934
+ ] })
12935
+ }
12936
+ ),
12937
+ /* @__PURE__ */ jsxRuntime.jsx(
12938
+ Form$2.Field,
12939
+ {
12940
+ control: form.control,
12941
+ name: "last_name",
12942
+ render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
12943
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Last name" }),
12944
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
12945
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
12946
+ ] })
12947
+ }
12948
+ )
12949
+ ] }),
12950
+ /* @__PURE__ */ jsxRuntime.jsx(
12951
+ Form$2.Field,
12952
+ {
12953
+ control: form.control,
12954
+ name: "company",
12955
+ render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
12956
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { optional: true, children: "Company" }),
12957
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
12958
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
12959
+ ] })
12960
+ }
12961
+ ),
12962
+ /* @__PURE__ */ jsxRuntime.jsx(
12963
+ Form$2.Field,
12964
+ {
12965
+ control: form.control,
12966
+ name: "address_1",
12967
+ render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
12968
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Address" }),
12969
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
12970
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
12971
+ ] })
12972
+ }
12973
+ ),
12974
+ /* @__PURE__ */ jsxRuntime.jsx(
12975
+ Form$2.Field,
12976
+ {
12977
+ control: form.control,
12978
+ name: "address_2",
12979
+ render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
12980
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { optional: true, children: "Apartment, suite, etc." }),
12981
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
12982
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
12983
+ ] })
12984
+ }
12985
+ ),
12986
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
12987
+ /* @__PURE__ */ jsxRuntime.jsx(
12988
+ Form$2.Field,
12989
+ {
12990
+ control: form.control,
12991
+ name: "postal_code",
12992
+ render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
12993
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Postal code" }),
12994
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
12995
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
12996
+ ] })
12997
+ }
12998
+ ),
12999
+ /* @__PURE__ */ jsxRuntime.jsx(
13000
+ Form$2.Field,
13001
+ {
13002
+ control: form.control,
13003
+ name: "city",
13004
+ render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
13005
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "City" }),
13006
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
13007
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
13008
+ ] })
13009
+ }
13010
+ )
13011
+ ] }),
13012
+ /* @__PURE__ */ jsxRuntime.jsx(
13013
+ Form$2.Field,
13014
+ {
13015
+ control: form.control,
13016
+ name: "province",
13017
+ render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
13018
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { optional: true, children: "Province / State" }),
13019
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
13020
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
13021
+ ] })
13022
+ }
13023
+ ),
13024
+ /* @__PURE__ */ jsxRuntime.jsx(
13025
+ Form$2.Field,
13026
+ {
13027
+ control: form.control,
13028
+ name: "phone",
13029
+ render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
13030
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { optional: true, children: "Phone" }),
13031
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
13032
+ /* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
13033
+ ] })
13034
+ }
13035
+ )
13036
+ ] }) }),
13037
+ /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Footer, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2", children: [
13038
+ /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Close, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", variant: "secondary", children: "Cancel" }) }),
13039
+ /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", type: "submit", isLoading: isPending, children: "Save" })
13040
+ ] }) })
13041
+ ]
13042
+ }
13043
+ ) });
13044
+ };
13045
+ const schema = addressSchema;
13046
13046
  const widgetModule = { widgets: [] };
13047
13047
  const routeModule = {
13048
13048
  routes: [
@@ -13067,18 +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
- },
13074
13070
  {
13075
13071
  Component: Items,
13076
13072
  path: "/draft-orders/:id/items"
13077
13073
  },
13078
- {
13079
- Component: BillingAddress,
13080
- path: "/draft-orders/:id/billing-address"
13081
- },
13082
13074
  {
13083
13075
  Component: Metadata,
13084
13076
  path: "/draft-orders/:id/metadata"
@@ -13088,20 +13080,28 @@ const routeModule = {
13088
13080
  path: "/draft-orders/:id/promotions"
13089
13081
  },
13090
13082
  {
13091
- Component: SalesChannel,
13092
- path: "/draft-orders/:id/sales-channel"
13083
+ Component: Email,
13084
+ path: "/draft-orders/:id/email"
13093
13085
  },
13094
13086
  {
13095
- Component: ShippingAddress,
13096
- path: "/draft-orders/:id/shipping-address"
13087
+ Component: SalesChannel,
13088
+ path: "/draft-orders/:id/sales-channel"
13097
13089
  },
13098
13090
  {
13099
13091
  Component: Shipping,
13100
13092
  path: "/draft-orders/:id/shipping"
13101
13093
  },
13094
+ {
13095
+ Component: ShippingAddress,
13096
+ path: "/draft-orders/:id/shipping-address"
13097
+ },
13102
13098
  {
13103
13099
  Component: TransferOwnership,
13104
13100
  path: "/draft-orders/:id/transfer-ownership"
13101
+ },
13102
+ {
13103
+ Component: BillingAddress,
13104
+ path: "/draft-orders/:id/billing-address"
13105
13105
  }
13106
13106
  ]
13107
13107
  }