@medusajs/draft-order 2.11.2-snapshot-20251030163249 → 2.11.2-snapshot-20251031083831
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.medusa/server/src/admin/index.js +489 -488
- package/.medusa/server/src/admin/index.mjs +487 -487
- package/package.json +26 -23
|
@@ -14,14 +14,15 @@ const reactHookForm = require("react-hook-form");
|
|
|
14
14
|
const radixUi = require("radix-ui");
|
|
15
15
|
const react = require("@ariakit/react");
|
|
16
16
|
const matchSorter = require("match-sorter");
|
|
17
|
-
const debounce = require("lodash
|
|
17
|
+
const debounce = require("lodash.debounce");
|
|
18
18
|
const Primitive = require("@uiw/react-json-view");
|
|
19
|
-
const
|
|
19
|
+
const isEqual = require("lodash.isequal");
|
|
20
20
|
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
21
21
|
const React__default = /* @__PURE__ */ _interopDefault(React);
|
|
22
22
|
const Medusa__default = /* @__PURE__ */ _interopDefault(Medusa);
|
|
23
23
|
const debounce__default = /* @__PURE__ */ _interopDefault(debounce);
|
|
24
24
|
const Primitive__default = /* @__PURE__ */ _interopDefault(Primitive);
|
|
25
|
+
const isEqual__default = /* @__PURE__ */ _interopDefault(isEqual);
|
|
25
26
|
function useQueryParams(keys, prefix) {
|
|
26
27
|
const [params] = reactRouterDom.useSearchParams();
|
|
27
28
|
const result = {};
|
|
@@ -9571,27 +9572,196 @@ const ID = () => {
|
|
|
9571
9572
|
/* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Outlet, {})
|
|
9572
9573
|
] });
|
|
9573
9574
|
};
|
|
9574
|
-
const
|
|
9575
|
+
const BillingAddress = () => {
|
|
9576
|
+
const { id } = reactRouterDom.useParams();
|
|
9577
|
+
const { order, isPending, isError, error } = useOrder(id, {
|
|
9578
|
+
fields: "+billing_address"
|
|
9579
|
+
});
|
|
9580
|
+
if (isError) {
|
|
9581
|
+
throw error;
|
|
9582
|
+
}
|
|
9583
|
+
const isReady = !isPending && !!order;
|
|
9575
9584
|
return /* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer, { children: [
|
|
9576
|
-
/* @__PURE__ */ jsxRuntime.
|
|
9577
|
-
|
|
9585
|
+
/* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer.Header, { children: [
|
|
9586
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { children: "Edit Billing Address" }) }),
|
|
9587
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Description, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Edit the billing address for the draft order" }) })
|
|
9588
|
+
] }),
|
|
9589
|
+
isReady && /* @__PURE__ */ jsxRuntime.jsx(BillingAddressForm, { order })
|
|
9578
9590
|
] });
|
|
9579
9591
|
};
|
|
9580
|
-
const
|
|
9592
|
+
const BillingAddressForm = ({ order }) => {
|
|
9593
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
9581
9594
|
const form = reactHookForm.useForm({
|
|
9595
|
+
defaultValues: {
|
|
9596
|
+
first_name: ((_a = order.billing_address) == null ? void 0 : _a.first_name) ?? "",
|
|
9597
|
+
last_name: ((_b = order.billing_address) == null ? void 0 : _b.last_name) ?? "",
|
|
9598
|
+
company: ((_c = order.billing_address) == null ? void 0 : _c.company) ?? "",
|
|
9599
|
+
address_1: ((_d = order.billing_address) == null ? void 0 : _d.address_1) ?? "",
|
|
9600
|
+
address_2: ((_e = order.billing_address) == null ? void 0 : _e.address_2) ?? "",
|
|
9601
|
+
city: ((_f = order.billing_address) == null ? void 0 : _f.city) ?? "",
|
|
9602
|
+
province: ((_g = order.billing_address) == null ? void 0 : _g.province) ?? "",
|
|
9603
|
+
country_code: ((_h = order.billing_address) == null ? void 0 : _h.country_code) ?? "",
|
|
9604
|
+
postal_code: ((_i = order.billing_address) == null ? void 0 : _i.postal_code) ?? "",
|
|
9605
|
+
phone: ((_j = order.billing_address) == null ? void 0 : _j.phone) ?? ""
|
|
9606
|
+
},
|
|
9582
9607
|
resolver: zod.zodResolver(schema$5)
|
|
9583
9608
|
});
|
|
9584
|
-
|
|
9585
|
-
|
|
9586
|
-
|
|
9587
|
-
|
|
9588
|
-
|
|
9589
|
-
|
|
9590
|
-
|
|
9609
|
+
const { mutateAsync, isPending } = useUpdateDraftOrder(order.id);
|
|
9610
|
+
const { handleSuccess } = useRouteModal();
|
|
9611
|
+
const onSubmit = form.handleSubmit(async (data) => {
|
|
9612
|
+
await mutateAsync(
|
|
9613
|
+
{ billing_address: data },
|
|
9614
|
+
{
|
|
9615
|
+
onSuccess: () => {
|
|
9616
|
+
handleSuccess();
|
|
9617
|
+
},
|
|
9618
|
+
onError: (error) => {
|
|
9619
|
+
ui.toast.error(error.message);
|
|
9620
|
+
}
|
|
9621
|
+
}
|
|
9622
|
+
);
|
|
9623
|
+
});
|
|
9624
|
+
return /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Form, { form, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
9625
|
+
KeyboundForm,
|
|
9626
|
+
{
|
|
9627
|
+
className: "flex flex-1 flex-col overflow-hidden",
|
|
9628
|
+
onSubmit,
|
|
9629
|
+
children: [
|
|
9630
|
+
/* @__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: [
|
|
9631
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9632
|
+
Form$2.Field,
|
|
9633
|
+
{
|
|
9634
|
+
control: form.control,
|
|
9635
|
+
name: "country_code",
|
|
9636
|
+
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
9637
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Country" }),
|
|
9638
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(CountrySelect, { ...field }) }),
|
|
9639
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
9640
|
+
] })
|
|
9641
|
+
}
|
|
9642
|
+
),
|
|
9643
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
|
|
9644
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9645
|
+
Form$2.Field,
|
|
9646
|
+
{
|
|
9647
|
+
control: form.control,
|
|
9648
|
+
name: "first_name",
|
|
9649
|
+
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
9650
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "First name" }),
|
|
9651
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
9652
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
9653
|
+
] })
|
|
9654
|
+
}
|
|
9655
|
+
),
|
|
9656
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9657
|
+
Form$2.Field,
|
|
9658
|
+
{
|
|
9659
|
+
control: form.control,
|
|
9660
|
+
name: "last_name",
|
|
9661
|
+
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
9662
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Last name" }),
|
|
9663
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
9664
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
9665
|
+
] })
|
|
9666
|
+
}
|
|
9667
|
+
)
|
|
9668
|
+
] }),
|
|
9669
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9670
|
+
Form$2.Field,
|
|
9671
|
+
{
|
|
9672
|
+
control: form.control,
|
|
9673
|
+
name: "company",
|
|
9674
|
+
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
9675
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { optional: true, children: "Company" }),
|
|
9676
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
9677
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
9678
|
+
] })
|
|
9679
|
+
}
|
|
9680
|
+
),
|
|
9681
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9682
|
+
Form$2.Field,
|
|
9683
|
+
{
|
|
9684
|
+
control: form.control,
|
|
9685
|
+
name: "address_1",
|
|
9686
|
+
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
9687
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Address" }),
|
|
9688
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
9689
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
9690
|
+
] })
|
|
9691
|
+
}
|
|
9692
|
+
),
|
|
9693
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9694
|
+
Form$2.Field,
|
|
9695
|
+
{
|
|
9696
|
+
control: form.control,
|
|
9697
|
+
name: "address_2",
|
|
9698
|
+
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
9699
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { optional: true, children: "Apartment, suite, etc." }),
|
|
9700
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
9701
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
9702
|
+
] })
|
|
9703
|
+
}
|
|
9704
|
+
),
|
|
9705
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
|
|
9706
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9707
|
+
Form$2.Field,
|
|
9708
|
+
{
|
|
9709
|
+
control: form.control,
|
|
9710
|
+
name: "postal_code",
|
|
9711
|
+
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
9712
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Postal code" }),
|
|
9713
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
9714
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
9715
|
+
] })
|
|
9716
|
+
}
|
|
9717
|
+
),
|
|
9718
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9719
|
+
Form$2.Field,
|
|
9720
|
+
{
|
|
9721
|
+
control: form.control,
|
|
9722
|
+
name: "city",
|
|
9723
|
+
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
9724
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "City" }),
|
|
9725
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
9726
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
9727
|
+
] })
|
|
9728
|
+
}
|
|
9729
|
+
)
|
|
9730
|
+
] }),
|
|
9731
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9732
|
+
Form$2.Field,
|
|
9733
|
+
{
|
|
9734
|
+
control: form.control,
|
|
9735
|
+
name: "province",
|
|
9736
|
+
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
9737
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { optional: true, children: "Province / State" }),
|
|
9738
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
9739
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
9740
|
+
] })
|
|
9741
|
+
}
|
|
9742
|
+
),
|
|
9743
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
9744
|
+
Form$2.Field,
|
|
9745
|
+
{
|
|
9746
|
+
control: form.control,
|
|
9747
|
+
name: "phone",
|
|
9748
|
+
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
9749
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { optional: true, children: "Phone" }),
|
|
9750
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
9751
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
9752
|
+
] })
|
|
9753
|
+
}
|
|
9754
|
+
)
|
|
9755
|
+
] }) }),
|
|
9756
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Footer, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2", children: [
|
|
9757
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Close, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", variant: "secondary", children: "Cancel" }) }),
|
|
9758
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", type: "submit", isLoading: isPending, children: "Save" })
|
|
9759
|
+
] }) })
|
|
9760
|
+
]
|
|
9761
|
+
}
|
|
9762
|
+
) });
|
|
9591
9763
|
};
|
|
9592
|
-
const schema$5 =
|
|
9593
|
-
email: stringType().email()
|
|
9594
|
-
});
|
|
9764
|
+
const schema$5 = addressSchema;
|
|
9595
9765
|
const Email = () => {
|
|
9596
9766
|
const { id } = reactRouterDom.useParams();
|
|
9597
9767
|
const { order, isPending, isError, error } = useOrder(id, {
|
|
@@ -9660,6 +9830,27 @@ const EmailForm = ({ order }) => {
|
|
|
9660
9830
|
const schema$4 = objectType({
|
|
9661
9831
|
email: stringType().email()
|
|
9662
9832
|
});
|
|
9833
|
+
const CustomItems = () => {
|
|
9834
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer, { children: [
|
|
9835
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Header, { children: /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { children: "Edit Custom Items" }) }) }),
|
|
9836
|
+
/* @__PURE__ */ jsxRuntime.jsx(CustomItemsForm, {})
|
|
9837
|
+
] });
|
|
9838
|
+
};
|
|
9839
|
+
const CustomItemsForm = () => {
|
|
9840
|
+
const form = reactHookForm.useForm({
|
|
9841
|
+
resolver: zod.zodResolver(schema$3)
|
|
9842
|
+
});
|
|
9843
|
+
return /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Form, { form, children: /* @__PURE__ */ jsxRuntime.jsxs(KeyboundForm, { className: "flex flex-1 flex-col", children: [
|
|
9844
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Body, {}),
|
|
9845
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Footer, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2", children: [
|
|
9846
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Close, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", variant: "secondary", children: "Cancel" }) }),
|
|
9847
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", type: "submit", children: "Save" })
|
|
9848
|
+
] }) })
|
|
9849
|
+
] }) });
|
|
9850
|
+
};
|
|
9851
|
+
const schema$3 = objectType({
|
|
9852
|
+
email: stringType().email()
|
|
9853
|
+
});
|
|
9663
9854
|
const NumberInput = React.forwardRef(
|
|
9664
9855
|
({
|
|
9665
9856
|
value,
|
|
@@ -11289,7 +11480,7 @@ const SalesChannelForm = ({ order }) => {
|
|
|
11289
11480
|
defaultValues: {
|
|
11290
11481
|
sales_channel_id: order.sales_channel_id || ""
|
|
11291
11482
|
},
|
|
11292
|
-
resolver: zod.zodResolver(schema$
|
|
11483
|
+
resolver: zod.zodResolver(schema$2)
|
|
11293
11484
|
});
|
|
11294
11485
|
const { mutateAsync, isPending } = useUpdateDraftOrder(order.id);
|
|
11295
11486
|
const { handleSuccess } = useRouteModal();
|
|
@@ -11364,43 +11555,246 @@ const SalesChannelField = ({ control, order }) => {
|
|
|
11364
11555
|
}
|
|
11365
11556
|
);
|
|
11366
11557
|
};
|
|
11367
|
-
const schema$
|
|
11558
|
+
const schema$2 = objectType({
|
|
11368
11559
|
sales_channel_id: stringType().min(1)
|
|
11369
11560
|
});
|
|
11370
|
-
const
|
|
11371
|
-
const Shipping = () => {
|
|
11372
|
-
var _a;
|
|
11561
|
+
const ShippingAddress = () => {
|
|
11373
11562
|
const { id } = reactRouterDom.useParams();
|
|
11374
11563
|
const { order, isPending, isError, error } = useOrder(id, {
|
|
11375
|
-
fields: "+
|
|
11564
|
+
fields: "+shipping_address"
|
|
11376
11565
|
});
|
|
11377
|
-
const {
|
|
11378
|
-
order: preview,
|
|
11379
|
-
isPending: isPreviewPending,
|
|
11380
|
-
isError: isPreviewError,
|
|
11381
|
-
error: previewError
|
|
11382
|
-
} = useOrderPreview(id);
|
|
11383
|
-
useInitiateOrderEdit({ preview });
|
|
11384
|
-
const { onCancel } = useCancelOrderEdit({ preview });
|
|
11385
11566
|
if (isError) {
|
|
11386
11567
|
throw error;
|
|
11387
11568
|
}
|
|
11388
|
-
|
|
11389
|
-
|
|
11390
|
-
|
|
11391
|
-
|
|
11392
|
-
|
|
11393
|
-
|
|
11394
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11395
|
-
|
|
11396
|
-
|
|
11397
|
-
|
|
11398
|
-
|
|
11399
|
-
|
|
11400
|
-
|
|
11401
|
-
|
|
11402
|
-
|
|
11403
|
-
|
|
11569
|
+
const isReady = !isPending && !!order;
|
|
11570
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer, { children: [
|
|
11571
|
+
/* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer.Header, { children: [
|
|
11572
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { children: "Edit Shipping Address" }) }),
|
|
11573
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Description, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Edit the shipping address for the draft order" }) })
|
|
11574
|
+
] }),
|
|
11575
|
+
isReady && /* @__PURE__ */ jsxRuntime.jsx(ShippingAddressForm, { order })
|
|
11576
|
+
] });
|
|
11577
|
+
};
|
|
11578
|
+
const ShippingAddressForm = ({ order }) => {
|
|
11579
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
11580
|
+
const form = reactHookForm.useForm({
|
|
11581
|
+
defaultValues: {
|
|
11582
|
+
first_name: ((_a = order.shipping_address) == null ? void 0 : _a.first_name) ?? "",
|
|
11583
|
+
last_name: ((_b = order.shipping_address) == null ? void 0 : _b.last_name) ?? "",
|
|
11584
|
+
company: ((_c = order.shipping_address) == null ? void 0 : _c.company) ?? "",
|
|
11585
|
+
address_1: ((_d = order.shipping_address) == null ? void 0 : _d.address_1) ?? "",
|
|
11586
|
+
address_2: ((_e = order.shipping_address) == null ? void 0 : _e.address_2) ?? "",
|
|
11587
|
+
city: ((_f = order.shipping_address) == null ? void 0 : _f.city) ?? "",
|
|
11588
|
+
province: ((_g = order.shipping_address) == null ? void 0 : _g.province) ?? "",
|
|
11589
|
+
country_code: ((_h = order.shipping_address) == null ? void 0 : _h.country_code) ?? "",
|
|
11590
|
+
postal_code: ((_i = order.shipping_address) == null ? void 0 : _i.postal_code) ?? "",
|
|
11591
|
+
phone: ((_j = order.shipping_address) == null ? void 0 : _j.phone) ?? ""
|
|
11592
|
+
},
|
|
11593
|
+
resolver: zod.zodResolver(schema$1)
|
|
11594
|
+
});
|
|
11595
|
+
const { mutateAsync, isPending } = useUpdateDraftOrder(order.id);
|
|
11596
|
+
const { handleSuccess } = useRouteModal();
|
|
11597
|
+
const onSubmit = form.handleSubmit(async (data) => {
|
|
11598
|
+
await mutateAsync(
|
|
11599
|
+
{
|
|
11600
|
+
shipping_address: {
|
|
11601
|
+
first_name: data.first_name,
|
|
11602
|
+
last_name: data.last_name,
|
|
11603
|
+
company: data.company,
|
|
11604
|
+
address_1: data.address_1,
|
|
11605
|
+
address_2: data.address_2,
|
|
11606
|
+
city: data.city,
|
|
11607
|
+
province: data.province,
|
|
11608
|
+
country_code: data.country_code,
|
|
11609
|
+
postal_code: data.postal_code,
|
|
11610
|
+
phone: data.phone
|
|
11611
|
+
}
|
|
11612
|
+
},
|
|
11613
|
+
{
|
|
11614
|
+
onSuccess: () => {
|
|
11615
|
+
handleSuccess();
|
|
11616
|
+
},
|
|
11617
|
+
onError: (error) => {
|
|
11618
|
+
ui.toast.error(error.message);
|
|
11619
|
+
}
|
|
11620
|
+
}
|
|
11621
|
+
);
|
|
11622
|
+
});
|
|
11623
|
+
return /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Form, { form, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
11624
|
+
KeyboundForm,
|
|
11625
|
+
{
|
|
11626
|
+
className: "flex flex-1 flex-col overflow-hidden",
|
|
11627
|
+
onSubmit,
|
|
11628
|
+
children: [
|
|
11629
|
+
/* @__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: [
|
|
11630
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11631
|
+
Form$2.Field,
|
|
11632
|
+
{
|
|
11633
|
+
control: form.control,
|
|
11634
|
+
name: "country_code",
|
|
11635
|
+
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
11636
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Country" }),
|
|
11637
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(CountrySelect, { ...field }) }),
|
|
11638
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
11639
|
+
] })
|
|
11640
|
+
}
|
|
11641
|
+
),
|
|
11642
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
|
|
11643
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11644
|
+
Form$2.Field,
|
|
11645
|
+
{
|
|
11646
|
+
control: form.control,
|
|
11647
|
+
name: "first_name",
|
|
11648
|
+
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
11649
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "First name" }),
|
|
11650
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
11651
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
11652
|
+
] })
|
|
11653
|
+
}
|
|
11654
|
+
),
|
|
11655
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11656
|
+
Form$2.Field,
|
|
11657
|
+
{
|
|
11658
|
+
control: form.control,
|
|
11659
|
+
name: "last_name",
|
|
11660
|
+
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
11661
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Last name" }),
|
|
11662
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
11663
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
11664
|
+
] })
|
|
11665
|
+
}
|
|
11666
|
+
)
|
|
11667
|
+
] }),
|
|
11668
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11669
|
+
Form$2.Field,
|
|
11670
|
+
{
|
|
11671
|
+
control: form.control,
|
|
11672
|
+
name: "company",
|
|
11673
|
+
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
11674
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { optional: true, children: "Company" }),
|
|
11675
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
11676
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
11677
|
+
] })
|
|
11678
|
+
}
|
|
11679
|
+
),
|
|
11680
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11681
|
+
Form$2.Field,
|
|
11682
|
+
{
|
|
11683
|
+
control: form.control,
|
|
11684
|
+
name: "address_1",
|
|
11685
|
+
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
11686
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Address" }),
|
|
11687
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
11688
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
11689
|
+
] })
|
|
11690
|
+
}
|
|
11691
|
+
),
|
|
11692
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11693
|
+
Form$2.Field,
|
|
11694
|
+
{
|
|
11695
|
+
control: form.control,
|
|
11696
|
+
name: "address_2",
|
|
11697
|
+
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
11698
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { optional: true, children: "Apartment, suite, etc." }),
|
|
11699
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
11700
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
11701
|
+
] })
|
|
11702
|
+
}
|
|
11703
|
+
),
|
|
11704
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
|
|
11705
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11706
|
+
Form$2.Field,
|
|
11707
|
+
{
|
|
11708
|
+
control: form.control,
|
|
11709
|
+
name: "postal_code",
|
|
11710
|
+
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
11711
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Postal code" }),
|
|
11712
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
11713
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
11714
|
+
] })
|
|
11715
|
+
}
|
|
11716
|
+
),
|
|
11717
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11718
|
+
Form$2.Field,
|
|
11719
|
+
{
|
|
11720
|
+
control: form.control,
|
|
11721
|
+
name: "city",
|
|
11722
|
+
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
11723
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "City" }),
|
|
11724
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
11725
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
11726
|
+
] })
|
|
11727
|
+
}
|
|
11728
|
+
)
|
|
11729
|
+
] }),
|
|
11730
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11731
|
+
Form$2.Field,
|
|
11732
|
+
{
|
|
11733
|
+
control: form.control,
|
|
11734
|
+
name: "province",
|
|
11735
|
+
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
11736
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { optional: true, children: "Province / State" }),
|
|
11737
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
11738
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
11739
|
+
] })
|
|
11740
|
+
}
|
|
11741
|
+
),
|
|
11742
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11743
|
+
Form$2.Field,
|
|
11744
|
+
{
|
|
11745
|
+
control: form.control,
|
|
11746
|
+
name: "phone",
|
|
11747
|
+
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
11748
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { optional: true, children: "Phone" }),
|
|
11749
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
11750
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
11751
|
+
] })
|
|
11752
|
+
}
|
|
11753
|
+
)
|
|
11754
|
+
] }) }),
|
|
11755
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Footer, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2", children: [
|
|
11756
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Close, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", variant: "secondary", children: "Cancel" }) }),
|
|
11757
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", type: "submit", isLoading: isPending, children: "Save" })
|
|
11758
|
+
] }) })
|
|
11759
|
+
]
|
|
11760
|
+
}
|
|
11761
|
+
) });
|
|
11762
|
+
};
|
|
11763
|
+
const schema$1 = addressSchema;
|
|
11764
|
+
const STACKED_FOCUS_MODAL_ID = "shipping-form";
|
|
11765
|
+
const Shipping = () => {
|
|
11766
|
+
var _a;
|
|
11767
|
+
const { id } = reactRouterDom.useParams();
|
|
11768
|
+
const { order, isPending, isError, error } = useOrder(id, {
|
|
11769
|
+
fields: "+items.*,+items.variant.*,+items.variant.product.*,+items.variant.product.shipping_profile.*,+currency_code"
|
|
11770
|
+
});
|
|
11771
|
+
const {
|
|
11772
|
+
order: preview,
|
|
11773
|
+
isPending: isPreviewPending,
|
|
11774
|
+
isError: isPreviewError,
|
|
11775
|
+
error: previewError
|
|
11776
|
+
} = useOrderPreview(id);
|
|
11777
|
+
useInitiateOrderEdit({ preview });
|
|
11778
|
+
const { onCancel } = useCancelOrderEdit({ preview });
|
|
11779
|
+
if (isError) {
|
|
11780
|
+
throw error;
|
|
11781
|
+
}
|
|
11782
|
+
if (isPreviewError) {
|
|
11783
|
+
throw previewError;
|
|
11784
|
+
}
|
|
11785
|
+
const orderHasItems = (((_a = order == null ? void 0 : order.items) == null ? void 0 : _a.length) || 0) > 0;
|
|
11786
|
+
const isReady = preview && !isPreviewPending && order && !isPending;
|
|
11787
|
+
return /* @__PURE__ */ jsxRuntime.jsx(RouteFocusModal, { onClose: onCancel, children: !orderHasItems ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full flex-col overflow-hidden ", children: [
|
|
11788
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteFocusModal.Header, {}),
|
|
11789
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteFocusModal.Body, { className: "flex flex-1 flex-col overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-1 flex-col items-center overflow-y-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full max-w-[720px] flex-col gap-y-6 px-6 py-16", children: [
|
|
11790
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteFocusModal.Title, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { children: "Shipping" }) }),
|
|
11791
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteFocusModal.Description, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { size: "small", className: "text-ui-fg-subtle", children: "This draft order currently has no items. Add items to the order before adding shipping." }) })
|
|
11792
|
+
] }) }) }),
|
|
11793
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteFocusModal.Footer, { children: /* @__PURE__ */ jsxRuntime.jsx(RouteFocusModal.Close, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", variant: "secondary", type: "button", children: "Cancel" }) }) })
|
|
11794
|
+
] }) : isReady ? /* @__PURE__ */ jsxRuntime.jsx(ShippingForm, { preview, order }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
11795
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteFocusModal.Title, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Edit Shipping" }) }),
|
|
11796
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteFocusModal.Description, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Loading data for the draft order, please wait..." }) })
|
|
11797
|
+
] }) });
|
|
11404
11798
|
};
|
|
11405
11799
|
const ShippingForm = ({ preview, order }) => {
|
|
11406
11800
|
var _a;
|
|
@@ -11479,14 +11873,14 @@ const ShippingForm = ({ preview, order }) => {
|
|
|
11479
11873
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full flex-col overflow-hidden", children: [
|
|
11480
11874
|
/* @__PURE__ */ jsxRuntime.jsx(RouteFocusModal.Header, {}),
|
|
11481
11875
|
/* @__PURE__ */ jsxRuntime.jsxs(RouteFocusModal.Body, { className: "flex flex-1 flex-col overflow-hidden", children: [
|
|
11482
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-1 flex-col items-center overflow-y-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full max-w-[720px] flex-col gap-y-6 py-16
|
|
11876
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-1 flex-col items-center overflow-y-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full max-w-[720px] flex-col gap-y-6 px-6 py-16", children: [
|
|
11483
11877
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
11484
11878
|
/* @__PURE__ */ jsxRuntime.jsx(RouteFocusModal.Title, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { children: "Shipping" }) }),
|
|
11485
11879
|
/* @__PURE__ */ jsxRuntime.jsx(RouteFocusModal.Description, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { size: "small", className: "text-ui-fg-subtle", children: "Choose which shipping method(s) to use for the items in the order." }) })
|
|
11486
11880
|
] }),
|
|
11487
11881
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Divider, { variant: "dashed" }),
|
|
11488
|
-
/* @__PURE__ */ jsxRuntime.jsx(radixUi.Accordion.Root, { type: "multiple", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-ui-bg-subtle
|
|
11489
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "
|
|
11882
|
+
/* @__PURE__ */ jsxRuntime.jsx(radixUi.Accordion.Root, { type: "multiple", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-ui-bg-subtle shadow-elevation-card-rest rounded-xl", children: [
|
|
11883
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between px-4 py-2", children: [
|
|
11490
11884
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11491
11885
|
ui.Text,
|
|
11492
11886
|
{
|
|
@@ -11528,8 +11922,8 @@ const ShippingForm = ({ preview, order }) => {
|
|
|
11528
11922
|
value: profile.id,
|
|
11529
11923
|
className: "bg-ui-bg-base shadow-elevation-card-rest rounded-lg",
|
|
11530
11924
|
children: [
|
|
11531
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "
|
|
11532
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-x-3
|
|
11925
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-3 px-3 py-2", children: [
|
|
11926
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full items-center gap-x-3 overflow-hidden", children: [
|
|
11533
11927
|
/* @__PURE__ */ jsxRuntime.jsx(radixUi.Accordion.Trigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
11534
11928
|
ui.IconButton,
|
|
11535
11929
|
{
|
|
@@ -11537,12 +11931,12 @@ const ShippingForm = ({ preview, order }) => {
|
|
|
11537
11931
|
variant: "transparent",
|
|
11538
11932
|
className: "group/trigger",
|
|
11539
11933
|
disabled: !hasItems,
|
|
11540
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(icons.TriangleRightMini, { className: "group-data-[state=open]/trigger:rotate-90
|
|
11934
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(icons.TriangleRightMini, { className: "transition-transform group-data-[state=open]/trigger:rotate-90" })
|
|
11541
11935
|
}
|
|
11542
11936
|
) }),
|
|
11543
11937
|
!shippingOption ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-x-3", children: [
|
|
11544
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "
|
|
11545
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-
|
|
11938
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "shadow-borders-base flex size-7 items-center justify-center rounded-md", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-ui-bg-component-hover flex size-6 items-center justify-center rounded", children: /* @__PURE__ */ jsxRuntime.jsx(icons.Shopping, { className: "text-ui-fg-subtle" }) }) }),
|
|
11939
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-1 flex-col", children: [
|
|
11546
11940
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11547
11941
|
ui.Text,
|
|
11548
11942
|
{
|
|
@@ -11566,7 +11960,7 @@ const ShippingForm = ({ preview, order }) => {
|
|
|
11566
11960
|
}
|
|
11567
11961
|
)
|
|
11568
11962
|
] })
|
|
11569
|
-
] }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-[5px] max-sm:flex-col max-sm:items-start
|
|
11963
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full flex-1 items-center gap-[5px] overflow-hidden max-sm:flex-col max-sm:items-start", children: [
|
|
11570
11964
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11571
11965
|
ui.Tooltip,
|
|
11572
11966
|
{
|
|
@@ -11583,7 +11977,7 @@ const ShippingForm = ({ preview, order }) => {
|
|
|
11583
11977
|
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
11584
11978
|
ui.Badge,
|
|
11585
11979
|
{
|
|
11586
|
-
className: "flex items-center gap-x-[3px] overflow-hidden
|
|
11980
|
+
className: "flex cursor-default items-center gap-x-[3px] overflow-hidden",
|
|
11587
11981
|
size: "xsmall",
|
|
11588
11982
|
children: [
|
|
11589
11983
|
/* @__PURE__ */ jsxRuntime.jsx(icons.Shopping, { className: "shrink-0" }),
|
|
@@ -11608,7 +12002,7 @@ const ShippingForm = ({ preview, order }) => {
|
|
|
11608
12002
|
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
11609
12003
|
ui.Badge,
|
|
11610
12004
|
{
|
|
11611
|
-
className: "flex items-center gap-x-[3px] overflow-hidden
|
|
12005
|
+
className: "flex cursor-default items-center gap-x-[3px] overflow-hidden",
|
|
11612
12006
|
size: "xsmall",
|
|
11613
12007
|
children: [
|
|
11614
12008
|
/* @__PURE__ */ jsxRuntime.jsx(icons.Buildings, { className: "shrink-0" }),
|
|
@@ -11621,7 +12015,7 @@ const ShippingForm = ({ preview, order }) => {
|
|
|
11621
12015
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Tooltip, { content: shippingOption.name, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
11622
12016
|
ui.Badge,
|
|
11623
12017
|
{
|
|
11624
|
-
className: "flex items-center gap-x-[3px] overflow-hidden
|
|
12018
|
+
className: "flex cursor-default items-center gap-x-[3px] overflow-hidden",
|
|
11625
12019
|
size: "xsmall",
|
|
11626
12020
|
children: [
|
|
11627
12021
|
/* @__PURE__ */ jsxRuntime.jsx(icons.TruckFast, { className: "shrink-0" }),
|
|
@@ -11692,17 +12086,17 @@ const ShippingForm = ({ preview, order }) => {
|
|
|
11692
12086
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
11693
12087
|
"div",
|
|
11694
12088
|
{
|
|
11695
|
-
className: "
|
|
12089
|
+
className: "flex items-center gap-x-3 px-3",
|
|
11696
12090
|
children: [
|
|
11697
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "
|
|
12091
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-[56px] w-5 flex-col items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
11698
12092
|
ui.Divider,
|
|
11699
12093
|
{
|
|
11700
12094
|
variant: "dashed",
|
|
11701
12095
|
orientation: "vertical"
|
|
11702
12096
|
}
|
|
11703
12097
|
) }),
|
|
11704
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "
|
|
11705
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-7
|
|
12098
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-x-3 py-2", children: [
|
|
12099
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex size-7 items-center justify-center tabular-nums", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
11706
12100
|
ui.Text,
|
|
11707
12101
|
{
|
|
11708
12102
|
size: "small",
|
|
@@ -11839,7 +12233,7 @@ const ShippingProfileForm = ({
|
|
|
11839
12233
|
isPending: isUpdatingShippingMethod
|
|
11840
12234
|
} = useDraftOrderUpdateShippingMethod(order.id);
|
|
11841
12235
|
const onSubmit = form.handleSubmit(async (values) => {
|
|
11842
|
-
if (
|
|
12236
|
+
if (isEqual__default.default(values, form.formState.defaultValues)) {
|
|
11843
12237
|
setIsOpen(STACKED_FOCUS_MODAL_ID, false);
|
|
11844
12238
|
return;
|
|
11845
12239
|
}
|
|
@@ -11883,7 +12277,7 @@ const ShippingProfileForm = ({
|
|
|
11883
12277
|
onSubmit,
|
|
11884
12278
|
children: [
|
|
11885
12279
|
/* @__PURE__ */ jsxRuntime.jsx(StackedFocusModal.Header, {}),
|
|
11886
|
-
/* @__PURE__ */ jsxRuntime.jsx(StackedFocusModal.Body, { className: "flex flex-1 flex-col overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-1 flex-col items-center overflow-y-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full max-w-[720px] flex-col gap-y-6 py-16
|
|
12280
|
+
/* @__PURE__ */ jsxRuntime.jsx(StackedFocusModal.Body, { className: "flex flex-1 flex-col overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-1 flex-col items-center overflow-y-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full max-w-[720px] flex-col gap-y-6 px-6 py-16", children: [
|
|
11887
12281
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
11888
12282
|
/* @__PURE__ */ jsxRuntime.jsx(RouteFocusModal.Title, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { children: "Shipping" }) }),
|
|
11889
12283
|
/* @__PURE__ */ jsxRuntime.jsx(RouteFocusModal.Description, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { size: "small", className: "text-ui-fg-subtle", children: "Add a shipping method for the selected shipping profile. You can see the items that will be shipped using this method in the preview below." }) })
|
|
@@ -11956,14 +12350,14 @@ const ItemsPreview = ({ order, shippingProfileId }) => {
|
|
|
11956
12350
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Text, { size: "small", className: "text-ui-fg-subtle", children: "Items with the selected shipping profile." })
|
|
11957
12351
|
] }) }),
|
|
11958
12352
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-ui-bg-subtle shadow-elevation-card-rest rounded-xl", children: [
|
|
11959
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-3 px-4 py-2
|
|
12353
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-ui-fg-muted grid grid-cols-2 gap-3 px-4 py-2", children: [
|
|
11960
12354
|
/* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { size: "small", weight: "plus", children: "Item" }) }),
|
|
11961
12355
|
/* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Text, { size: "small", weight: "plus", children: "Quantity" }) })
|
|
11962
12356
|
] }),
|
|
11963
12357
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-y-1.5 px-[5px] pb-[5px]", children: matches.length > 0 ? matches == null ? void 0 : matches.map((item) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
11964
12358
|
"div",
|
|
11965
12359
|
{
|
|
11966
|
-
className: "
|
|
12360
|
+
className: "bg-ui-bg-base shadow-elevation-card-rest grid grid-cols-2 items-center gap-3 rounded-lg px-4 py-2",
|
|
11967
12361
|
children: [
|
|
11968
12362
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-x-3", children: [
|
|
11969
12363
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -12016,7 +12410,7 @@ const ItemsPreview = ({ order, shippingProfileId }) => {
|
|
|
12016
12410
|
]
|
|
12017
12411
|
},
|
|
12018
12412
|
item.id
|
|
12019
|
-
)) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-center gap-x-3
|
|
12413
|
+
)) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-ui-bg-base shadow-elevation-card-rest flex flex-col items-center justify-center gap-1 gap-x-3 rounded-lg p-4", children: [
|
|
12020
12414
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Text, { size: "small", weight: "plus", leading: "compact", children: "No items found" }),
|
|
12021
12415
|
/* @__PURE__ */ jsxRuntime.jsxs(ui.Text, { size: "small", className: "text-ui-fg-subtle", children: [
|
|
12022
12416
|
'No items found for "',
|
|
@@ -12174,244 +12568,41 @@ const CustomAmountField = ({
|
|
|
12174
12568
|
}
|
|
12175
12569
|
);
|
|
12176
12570
|
};
|
|
12177
|
-
const
|
|
12571
|
+
const TransferOwnership = () => {
|
|
12178
12572
|
const { id } = reactRouterDom.useParams();
|
|
12179
|
-
const {
|
|
12180
|
-
fields: "
|
|
12573
|
+
const { draft_order, isPending, isError, error } = useDraftOrder(id, {
|
|
12574
|
+
fields: "id,customer_id,customer.*"
|
|
12181
12575
|
});
|
|
12182
12576
|
if (isError) {
|
|
12183
12577
|
throw error;
|
|
12184
12578
|
}
|
|
12185
|
-
const isReady = !isPending && !!
|
|
12579
|
+
const isReady = !isPending && !!draft_order;
|
|
12186
12580
|
return /* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer, { children: [
|
|
12187
12581
|
/* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer.Header, { children: [
|
|
12188
|
-
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { children: "
|
|
12189
|
-
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Description, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "
|
|
12582
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { children: "Transfer Ownership" }) }),
|
|
12583
|
+
/* @__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" }) })
|
|
12190
12584
|
] }),
|
|
12191
|
-
isReady && /* @__PURE__ */ jsxRuntime.jsx(
|
|
12585
|
+
isReady && /* @__PURE__ */ jsxRuntime.jsx(TransferOwnershipForm, { order: draft_order })
|
|
12192
12586
|
] });
|
|
12193
12587
|
};
|
|
12194
|
-
const
|
|
12195
|
-
var _a, _b
|
|
12588
|
+
const TransferOwnershipForm = ({ order }) => {
|
|
12589
|
+
var _a, _b;
|
|
12196
12590
|
const form = reactHookForm.useForm({
|
|
12197
12591
|
defaultValues: {
|
|
12198
|
-
|
|
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) ?? ""
|
|
12592
|
+
customer_id: order.customer_id || ""
|
|
12208
12593
|
},
|
|
12209
|
-
resolver: zod.zodResolver(schema
|
|
12594
|
+
resolver: zod.zodResolver(schema)
|
|
12210
12595
|
});
|
|
12211
12596
|
const { mutateAsync, isPending } = useUpdateDraftOrder(order.id);
|
|
12212
12597
|
const { handleSuccess } = useRouteModal();
|
|
12598
|
+
const name = [(_a = order.customer) == null ? void 0 : _a.first_name, (_b = order.customer) == null ? void 0 : _b.last_name].filter(Boolean).join(" ");
|
|
12599
|
+
const currentCustomer = order.customer ? {
|
|
12600
|
+
label: name ? `${name} (${order.customer.email})` : order.customer.email,
|
|
12601
|
+
value: order.customer.id
|
|
12602
|
+
} : null;
|
|
12213
12603
|
const onSubmit = form.handleSubmit(async (data) => {
|
|
12214
12604
|
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" }) }),
|
|
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" }) })
|
|
12393
|
-
] }),
|
|
12394
|
-
isReady && /* @__PURE__ */ jsxRuntime.jsx(TransferOwnershipForm, { order: draft_order })
|
|
12395
|
-
] });
|
|
12396
|
-
};
|
|
12397
|
-
const TransferOwnershipForm = ({ order }) => {
|
|
12398
|
-
var _a, _b;
|
|
12399
|
-
const form = reactHookForm.useForm({
|
|
12400
|
-
defaultValues: {
|
|
12401
|
-
customer_id: order.customer_id || ""
|
|
12402
|
-
},
|
|
12403
|
-
resolver: zod.zodResolver(schema$1)
|
|
12404
|
-
});
|
|
12405
|
-
const { mutateAsync, isPending } = useUpdateDraftOrder(order.id);
|
|
12406
|
-
const { handleSuccess } = useRouteModal();
|
|
12407
|
-
const name = [(_a = order.customer) == null ? void 0 : _a.first_name, (_b = order.customer) == null ? void 0 : _b.last_name].filter(Boolean).join(" ");
|
|
12408
|
-
const currentCustomer = order.customer ? {
|
|
12409
|
-
label: name ? `${name} (${order.customer.email})` : order.customer.email,
|
|
12410
|
-
value: order.customer.id
|
|
12411
|
-
} : null;
|
|
12412
|
-
const onSubmit = form.handleSubmit(async (data) => {
|
|
12413
|
-
await mutateAsync(
|
|
12414
|
-
{ customer_id: data.customer_id },
|
|
12605
|
+
{ customer_id: data.customer_id },
|
|
12415
12606
|
{
|
|
12416
12607
|
onSuccess: () => {
|
|
12417
12608
|
ui.toast.success("Customer updated");
|
|
@@ -12850,199 +13041,9 @@ const Illustration = () => {
|
|
|
12850
13041
|
}
|
|
12851
13042
|
);
|
|
12852
13043
|
};
|
|
12853
|
-
const schema
|
|
13044
|
+
const schema = objectType({
|
|
12854
13045
|
customer_id: stringType().min(1)
|
|
12855
13046
|
});
|
|
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
13047
|
const widgetModule = { widgets: [] };
|
|
13047
13048
|
const routeModule = {
|
|
13048
13049
|
routes: [
|
|
@@ -13064,13 +13065,17 @@ const routeModule = {
|
|
|
13064
13065
|
loader,
|
|
13065
13066
|
children: [
|
|
13066
13067
|
{
|
|
13067
|
-
Component:
|
|
13068
|
-
path: "/draft-orders/:id/
|
|
13068
|
+
Component: BillingAddress,
|
|
13069
|
+
path: "/draft-orders/:id/billing-address"
|
|
13069
13070
|
},
|
|
13070
13071
|
{
|
|
13071
13072
|
Component: Email,
|
|
13072
13073
|
path: "/draft-orders/:id/email"
|
|
13073
13074
|
},
|
|
13075
|
+
{
|
|
13076
|
+
Component: CustomItems,
|
|
13077
|
+
path: "/draft-orders/:id/custom-items"
|
|
13078
|
+
},
|
|
13074
13079
|
{
|
|
13075
13080
|
Component: Items,
|
|
13076
13081
|
path: "/draft-orders/:id/items"
|
|
@@ -13087,21 +13092,17 @@ const routeModule = {
|
|
|
13087
13092
|
Component: SalesChannel,
|
|
13088
13093
|
path: "/draft-orders/:id/sales-channel"
|
|
13089
13094
|
},
|
|
13090
|
-
{
|
|
13091
|
-
Component: Shipping,
|
|
13092
|
-
path: "/draft-orders/:id/shipping"
|
|
13093
|
-
},
|
|
13094
13095
|
{
|
|
13095
13096
|
Component: ShippingAddress,
|
|
13096
13097
|
path: "/draft-orders/:id/shipping-address"
|
|
13097
13098
|
},
|
|
13098
13099
|
{
|
|
13099
|
-
Component:
|
|
13100
|
-
path: "/draft-orders/:id/
|
|
13100
|
+
Component: Shipping,
|
|
13101
|
+
path: "/draft-orders/:id/shipping"
|
|
13101
13102
|
},
|
|
13102
13103
|
{
|
|
13103
|
-
Component:
|
|
13104
|
-
path: "/draft-orders/:id/
|
|
13104
|
+
Component: TransferOwnership,
|
|
13105
|
+
path: "/draft-orders/:id/transfer-ownership"
|
|
13105
13106
|
}
|
|
13106
13107
|
]
|
|
13107
13108
|
}
|