@medusajs/draft-order 2.11.0-preview-20251016031628 → 2.11.0-preview-20251016120206
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 +288 -288
- package/.medusa/server/src/admin/index.mjs +288 -288
- package/package.json +16 -16
|
@@ -11453,33 +11453,37 @@ function getPromotionIds(items, shippingMethods) {
|
|
|
11453
11453
|
}
|
|
11454
11454
|
return Array.from(promotionIds);
|
|
11455
11455
|
}
|
|
11456
|
-
const
|
|
11456
|
+
const ShippingAddress = () => {
|
|
11457
11457
|
const { id } = reactRouterDom.useParams();
|
|
11458
|
-
const {
|
|
11459
|
-
|
|
11460
|
-
|
|
11461
|
-
fields: "+sales_channel_id"
|
|
11462
|
-
},
|
|
11463
|
-
{
|
|
11464
|
-
enabled: !!id
|
|
11465
|
-
}
|
|
11466
|
-
);
|
|
11458
|
+
const { order, isPending, isError, error } = useOrder(id, {
|
|
11459
|
+
fields: "+shipping_address"
|
|
11460
|
+
});
|
|
11467
11461
|
if (isError) {
|
|
11468
11462
|
throw error;
|
|
11469
11463
|
}
|
|
11470
|
-
const
|
|
11464
|
+
const isReady = !isPending && !!order;
|
|
11471
11465
|
return /* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer, { children: [
|
|
11472
11466
|
/* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer.Header, { children: [
|
|
11473
|
-
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { children: "Edit
|
|
11474
|
-
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Description, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "
|
|
11467
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { children: "Edit Shipping Address" }) }),
|
|
11468
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Description, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Edit the shipping address for the draft order" }) })
|
|
11475
11469
|
] }),
|
|
11476
|
-
|
|
11470
|
+
isReady && /* @__PURE__ */ jsxRuntime.jsx(ShippingAddressForm, { order })
|
|
11477
11471
|
] });
|
|
11478
11472
|
};
|
|
11479
|
-
const
|
|
11473
|
+
const ShippingAddressForm = ({ order }) => {
|
|
11474
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
11480
11475
|
const form = reactHookForm.useForm({
|
|
11481
11476
|
defaultValues: {
|
|
11482
|
-
|
|
11477
|
+
first_name: ((_a = order.shipping_address) == null ? void 0 : _a.first_name) ?? "",
|
|
11478
|
+
last_name: ((_b = order.shipping_address) == null ? void 0 : _b.last_name) ?? "",
|
|
11479
|
+
company: ((_c = order.shipping_address) == null ? void 0 : _c.company) ?? "",
|
|
11480
|
+
address_1: ((_d = order.shipping_address) == null ? void 0 : _d.address_1) ?? "",
|
|
11481
|
+
address_2: ((_e = order.shipping_address) == null ? void 0 : _e.address_2) ?? "",
|
|
11482
|
+
city: ((_f = order.shipping_address) == null ? void 0 : _f.city) ?? "",
|
|
11483
|
+
province: ((_g = order.shipping_address) == null ? void 0 : _g.province) ?? "",
|
|
11484
|
+
country_code: ((_h = order.shipping_address) == null ? void 0 : _h.country_code) ?? "",
|
|
11485
|
+
postal_code: ((_i = order.shipping_address) == null ? void 0 : _i.postal_code) ?? "",
|
|
11486
|
+
phone: ((_j = order.shipping_address) == null ? void 0 : _j.phone) ?? ""
|
|
11483
11487
|
},
|
|
11484
11488
|
resolver: zod.zodResolver(schema$2)
|
|
11485
11489
|
});
|
|
@@ -11488,11 +11492,21 @@ const SalesChannelForm = ({ order }) => {
|
|
|
11488
11492
|
const onSubmit = form.handleSubmit(async (data) => {
|
|
11489
11493
|
await mutateAsync(
|
|
11490
11494
|
{
|
|
11491
|
-
|
|
11495
|
+
shipping_address: {
|
|
11496
|
+
first_name: data.first_name,
|
|
11497
|
+
last_name: data.last_name,
|
|
11498
|
+
company: data.company,
|
|
11499
|
+
address_1: data.address_1,
|
|
11500
|
+
address_2: data.address_2,
|
|
11501
|
+
city: data.city,
|
|
11502
|
+
province: data.province,
|
|
11503
|
+
country_code: data.country_code,
|
|
11504
|
+
postal_code: data.postal_code,
|
|
11505
|
+
phone: data.phone
|
|
11506
|
+
}
|
|
11492
11507
|
},
|
|
11493
11508
|
{
|
|
11494
11509
|
onSuccess: () => {
|
|
11495
|
-
ui.toast.success("Sales channel updated");
|
|
11496
11510
|
handleSuccess();
|
|
11497
11511
|
},
|
|
11498
11512
|
onError: (error) => {
|
|
@@ -11507,7 +11521,132 @@ const SalesChannelForm = ({ order }) => {
|
|
|
11507
11521
|
className: "flex flex-1 flex-col overflow-hidden",
|
|
11508
11522
|
onSubmit,
|
|
11509
11523
|
children: [
|
|
11510
|
-
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Body, { className: "flex flex-col gap-y-6 overflow-y-auto", children: /* @__PURE__ */ jsxRuntime.
|
|
11524
|
+
/* @__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: [
|
|
11525
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11526
|
+
Form$2.Field,
|
|
11527
|
+
{
|
|
11528
|
+
control: form.control,
|
|
11529
|
+
name: "country_code",
|
|
11530
|
+
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
11531
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Country" }),
|
|
11532
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(CountrySelect, { ...field }) }),
|
|
11533
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
11534
|
+
] })
|
|
11535
|
+
}
|
|
11536
|
+
),
|
|
11537
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
|
|
11538
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11539
|
+
Form$2.Field,
|
|
11540
|
+
{
|
|
11541
|
+
control: form.control,
|
|
11542
|
+
name: "first_name",
|
|
11543
|
+
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
11544
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "First name" }),
|
|
11545
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
11546
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
11547
|
+
] })
|
|
11548
|
+
}
|
|
11549
|
+
),
|
|
11550
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11551
|
+
Form$2.Field,
|
|
11552
|
+
{
|
|
11553
|
+
control: form.control,
|
|
11554
|
+
name: "last_name",
|
|
11555
|
+
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
11556
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Last name" }),
|
|
11557
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
11558
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
11559
|
+
] })
|
|
11560
|
+
}
|
|
11561
|
+
)
|
|
11562
|
+
] }),
|
|
11563
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11564
|
+
Form$2.Field,
|
|
11565
|
+
{
|
|
11566
|
+
control: form.control,
|
|
11567
|
+
name: "company",
|
|
11568
|
+
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
11569
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { optional: true, children: "Company" }),
|
|
11570
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
11571
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
11572
|
+
] })
|
|
11573
|
+
}
|
|
11574
|
+
),
|
|
11575
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11576
|
+
Form$2.Field,
|
|
11577
|
+
{
|
|
11578
|
+
control: form.control,
|
|
11579
|
+
name: "address_1",
|
|
11580
|
+
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
11581
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Address" }),
|
|
11582
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
11583
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
11584
|
+
] })
|
|
11585
|
+
}
|
|
11586
|
+
),
|
|
11587
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11588
|
+
Form$2.Field,
|
|
11589
|
+
{
|
|
11590
|
+
control: form.control,
|
|
11591
|
+
name: "address_2",
|
|
11592
|
+
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
11593
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { optional: true, children: "Apartment, suite, etc." }),
|
|
11594
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
11595
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
11596
|
+
] })
|
|
11597
|
+
}
|
|
11598
|
+
),
|
|
11599
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
|
|
11600
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11601
|
+
Form$2.Field,
|
|
11602
|
+
{
|
|
11603
|
+
control: form.control,
|
|
11604
|
+
name: "postal_code",
|
|
11605
|
+
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
11606
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Postal code" }),
|
|
11607
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
11608
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
11609
|
+
] })
|
|
11610
|
+
}
|
|
11611
|
+
),
|
|
11612
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11613
|
+
Form$2.Field,
|
|
11614
|
+
{
|
|
11615
|
+
control: form.control,
|
|
11616
|
+
name: "city",
|
|
11617
|
+
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
11618
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "City" }),
|
|
11619
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
11620
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
11621
|
+
] })
|
|
11622
|
+
}
|
|
11623
|
+
)
|
|
11624
|
+
] }),
|
|
11625
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11626
|
+
Form$2.Field,
|
|
11627
|
+
{
|
|
11628
|
+
control: form.control,
|
|
11629
|
+
name: "province",
|
|
11630
|
+
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
11631
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { optional: true, children: "Province / State" }),
|
|
11632
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
11633
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
11634
|
+
] })
|
|
11635
|
+
}
|
|
11636
|
+
),
|
|
11637
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11638
|
+
Form$2.Field,
|
|
11639
|
+
{
|
|
11640
|
+
control: form.control,
|
|
11641
|
+
name: "phone",
|
|
11642
|
+
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
11643
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { optional: true, children: "Phone" }),
|
|
11644
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
11645
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
11646
|
+
] })
|
|
11647
|
+
}
|
|
11648
|
+
)
|
|
11649
|
+
] }) }),
|
|
11511
11650
|
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Footer, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2", children: [
|
|
11512
11651
|
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Close, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", variant: "secondary", children: "Cancel" }) }),
|
|
11513
11652
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", type: "submit", isLoading: isPending, children: "Save" })
|
|
@@ -11516,49 +11655,7 @@ const SalesChannelForm = ({ order }) => {
|
|
|
11516
11655
|
}
|
|
11517
11656
|
) });
|
|
11518
11657
|
};
|
|
11519
|
-
const
|
|
11520
|
-
const salesChannels = useComboboxData({
|
|
11521
|
-
queryFn: async (params) => {
|
|
11522
|
-
return await sdk.admin.salesChannel.list(params);
|
|
11523
|
-
},
|
|
11524
|
-
queryKey: ["sales-channels"],
|
|
11525
|
-
getOptions: (data) => {
|
|
11526
|
-
return data.sales_channels.map((salesChannel) => ({
|
|
11527
|
-
label: salesChannel.name,
|
|
11528
|
-
value: salesChannel.id
|
|
11529
|
-
}));
|
|
11530
|
-
},
|
|
11531
|
-
defaultValue: order.sales_channel_id || void 0
|
|
11532
|
-
});
|
|
11533
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11534
|
-
Form$2.Field,
|
|
11535
|
-
{
|
|
11536
|
-
control,
|
|
11537
|
-
name: "sales_channel_id",
|
|
11538
|
-
render: ({ field }) => {
|
|
11539
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
11540
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Sales Channel" }),
|
|
11541
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
11542
|
-
Combobox,
|
|
11543
|
-
{
|
|
11544
|
-
options: salesChannels.options,
|
|
11545
|
-
fetchNextPage: salesChannels.fetchNextPage,
|
|
11546
|
-
isFetchingNextPage: salesChannels.isFetchingNextPage,
|
|
11547
|
-
searchValue: salesChannels.searchValue,
|
|
11548
|
-
onSearchValueChange: salesChannels.onSearchValueChange,
|
|
11549
|
-
placeholder: "Select sales channel",
|
|
11550
|
-
...field
|
|
11551
|
-
}
|
|
11552
|
-
) }),
|
|
11553
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
11554
|
-
] });
|
|
11555
|
-
}
|
|
11556
|
-
}
|
|
11557
|
-
);
|
|
11558
|
-
};
|
|
11559
|
-
const schema$2 = objectType({
|
|
11560
|
-
sales_channel_id: stringType().min(1)
|
|
11561
|
-
});
|
|
11658
|
+
const schema$2 = addressSchema;
|
|
11562
11659
|
const STACKED_FOCUS_MODAL_ID = "shipping-form";
|
|
11563
11660
|
const Shipping = () => {
|
|
11564
11661
|
var _a;
|
|
@@ -12366,244 +12463,41 @@ const CustomAmountField = ({
|
|
|
12366
12463
|
}
|
|
12367
12464
|
);
|
|
12368
12465
|
};
|
|
12369
|
-
const
|
|
12466
|
+
const TransferOwnership = () => {
|
|
12370
12467
|
const { id } = reactRouterDom.useParams();
|
|
12371
|
-
const {
|
|
12372
|
-
fields: "
|
|
12468
|
+
const { draft_order, isPending, isError, error } = useDraftOrder(id, {
|
|
12469
|
+
fields: "id,customer_id,customer.*"
|
|
12373
12470
|
});
|
|
12374
12471
|
if (isError) {
|
|
12375
12472
|
throw error;
|
|
12376
12473
|
}
|
|
12377
|
-
const isReady = !isPending && !!
|
|
12474
|
+
const isReady = !isPending && !!draft_order;
|
|
12378
12475
|
return /* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer, { children: [
|
|
12379
12476
|
/* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer.Header, { children: [
|
|
12380
|
-
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { children: "
|
|
12381
|
-
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Description, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "
|
|
12477
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { children: "Transfer Ownership" }) }),
|
|
12478
|
+
/* @__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" }) })
|
|
12382
12479
|
] }),
|
|
12383
|
-
isReady && /* @__PURE__ */ jsxRuntime.jsx(
|
|
12480
|
+
isReady && /* @__PURE__ */ jsxRuntime.jsx(TransferOwnershipForm, { order: draft_order })
|
|
12384
12481
|
] });
|
|
12385
12482
|
};
|
|
12386
|
-
const
|
|
12387
|
-
var _a, _b
|
|
12483
|
+
const TransferOwnershipForm = ({ order }) => {
|
|
12484
|
+
var _a, _b;
|
|
12388
12485
|
const form = reactHookForm.useForm({
|
|
12389
12486
|
defaultValues: {
|
|
12390
|
-
|
|
12391
|
-
last_name: ((_b = order.shipping_address) == null ? void 0 : _b.last_name) ?? "",
|
|
12392
|
-
company: ((_c = order.shipping_address) == null ? void 0 : _c.company) ?? "",
|
|
12393
|
-
address_1: ((_d = order.shipping_address) == null ? void 0 : _d.address_1) ?? "",
|
|
12394
|
-
address_2: ((_e = order.shipping_address) == null ? void 0 : _e.address_2) ?? "",
|
|
12395
|
-
city: ((_f = order.shipping_address) == null ? void 0 : _f.city) ?? "",
|
|
12396
|
-
province: ((_g = order.shipping_address) == null ? void 0 : _g.province) ?? "",
|
|
12397
|
-
country_code: ((_h = order.shipping_address) == null ? void 0 : _h.country_code) ?? "",
|
|
12398
|
-
postal_code: ((_i = order.shipping_address) == null ? void 0 : _i.postal_code) ?? "",
|
|
12399
|
-
phone: ((_j = order.shipping_address) == null ? void 0 : _j.phone) ?? ""
|
|
12487
|
+
customer_id: order.customer_id || ""
|
|
12400
12488
|
},
|
|
12401
12489
|
resolver: zod.zodResolver(schema$1)
|
|
12402
12490
|
});
|
|
12403
12491
|
const { mutateAsync, isPending } = useUpdateDraftOrder(order.id);
|
|
12404
12492
|
const { handleSuccess } = useRouteModal();
|
|
12493
|
+
const name = [(_a = order.customer) == null ? void 0 : _a.first_name, (_b = order.customer) == null ? void 0 : _b.last_name].filter(Boolean).join(" ");
|
|
12494
|
+
const currentCustomer = order.customer ? {
|
|
12495
|
+
label: name ? `${name} (${order.customer.email})` : order.customer.email,
|
|
12496
|
+
value: order.customer.id
|
|
12497
|
+
} : null;
|
|
12405
12498
|
const onSubmit = form.handleSubmit(async (data) => {
|
|
12406
12499
|
await mutateAsync(
|
|
12407
|
-
{
|
|
12408
|
-
shipping_address: {
|
|
12409
|
-
first_name: data.first_name,
|
|
12410
|
-
last_name: data.last_name,
|
|
12411
|
-
company: data.company,
|
|
12412
|
-
address_1: data.address_1,
|
|
12413
|
-
address_2: data.address_2,
|
|
12414
|
-
city: data.city,
|
|
12415
|
-
province: data.province,
|
|
12416
|
-
country_code: data.country_code,
|
|
12417
|
-
postal_code: data.postal_code,
|
|
12418
|
-
phone: data.phone
|
|
12419
|
-
}
|
|
12420
|
-
},
|
|
12421
|
-
{
|
|
12422
|
-
onSuccess: () => {
|
|
12423
|
-
handleSuccess();
|
|
12424
|
-
},
|
|
12425
|
-
onError: (error) => {
|
|
12426
|
-
ui.toast.error(error.message);
|
|
12427
|
-
}
|
|
12428
|
-
}
|
|
12429
|
-
);
|
|
12430
|
-
});
|
|
12431
|
-
return /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Form, { form, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
12432
|
-
KeyboundForm,
|
|
12433
|
-
{
|
|
12434
|
-
className: "flex flex-1 flex-col overflow-hidden",
|
|
12435
|
-
onSubmit,
|
|
12436
|
-
children: [
|
|
12437
|
-
/* @__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: [
|
|
12438
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12439
|
-
Form$2.Field,
|
|
12440
|
-
{
|
|
12441
|
-
control: form.control,
|
|
12442
|
-
name: "country_code",
|
|
12443
|
-
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
12444
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Country" }),
|
|
12445
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(CountrySelect, { ...field }) }),
|
|
12446
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
12447
|
-
] })
|
|
12448
|
-
}
|
|
12449
|
-
),
|
|
12450
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
|
|
12451
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12452
|
-
Form$2.Field,
|
|
12453
|
-
{
|
|
12454
|
-
control: form.control,
|
|
12455
|
-
name: "first_name",
|
|
12456
|
-
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
12457
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "First name" }),
|
|
12458
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
12459
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
12460
|
-
] })
|
|
12461
|
-
}
|
|
12462
|
-
),
|
|
12463
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12464
|
-
Form$2.Field,
|
|
12465
|
-
{
|
|
12466
|
-
control: form.control,
|
|
12467
|
-
name: "last_name",
|
|
12468
|
-
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
12469
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Last name" }),
|
|
12470
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
12471
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
12472
|
-
] })
|
|
12473
|
-
}
|
|
12474
|
-
)
|
|
12475
|
-
] }),
|
|
12476
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12477
|
-
Form$2.Field,
|
|
12478
|
-
{
|
|
12479
|
-
control: form.control,
|
|
12480
|
-
name: "company",
|
|
12481
|
-
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
12482
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { optional: true, children: "Company" }),
|
|
12483
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
12484
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
12485
|
-
] })
|
|
12486
|
-
}
|
|
12487
|
-
),
|
|
12488
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12489
|
-
Form$2.Field,
|
|
12490
|
-
{
|
|
12491
|
-
control: form.control,
|
|
12492
|
-
name: "address_1",
|
|
12493
|
-
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
12494
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Address" }),
|
|
12495
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
12496
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
12497
|
-
] })
|
|
12498
|
-
}
|
|
12499
|
-
),
|
|
12500
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12501
|
-
Form$2.Field,
|
|
12502
|
-
{
|
|
12503
|
-
control: form.control,
|
|
12504
|
-
name: "address_2",
|
|
12505
|
-
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
12506
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { optional: true, children: "Apartment, suite, etc." }),
|
|
12507
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
12508
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
12509
|
-
] })
|
|
12510
|
-
}
|
|
12511
|
-
),
|
|
12512
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
|
|
12513
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12514
|
-
Form$2.Field,
|
|
12515
|
-
{
|
|
12516
|
-
control: form.control,
|
|
12517
|
-
name: "postal_code",
|
|
12518
|
-
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
12519
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Postal code" }),
|
|
12520
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
12521
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
12522
|
-
] })
|
|
12523
|
-
}
|
|
12524
|
-
),
|
|
12525
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12526
|
-
Form$2.Field,
|
|
12527
|
-
{
|
|
12528
|
-
control: form.control,
|
|
12529
|
-
name: "city",
|
|
12530
|
-
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
12531
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "City" }),
|
|
12532
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
12533
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
12534
|
-
] })
|
|
12535
|
-
}
|
|
12536
|
-
)
|
|
12537
|
-
] }),
|
|
12538
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12539
|
-
Form$2.Field,
|
|
12540
|
-
{
|
|
12541
|
-
control: form.control,
|
|
12542
|
-
name: "province",
|
|
12543
|
-
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
12544
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { optional: true, children: "Province / State" }),
|
|
12545
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
12546
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
12547
|
-
] })
|
|
12548
|
-
}
|
|
12549
|
-
),
|
|
12550
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12551
|
-
Form$2.Field,
|
|
12552
|
-
{
|
|
12553
|
-
control: form.control,
|
|
12554
|
-
name: "phone",
|
|
12555
|
-
render: ({ field }) => /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
12556
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { optional: true, children: "Phone" }),
|
|
12557
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Input, { ...field }) }),
|
|
12558
|
-
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
12559
|
-
] })
|
|
12560
|
-
}
|
|
12561
|
-
)
|
|
12562
|
-
] }) }),
|
|
12563
|
-
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Footer, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2", children: [
|
|
12564
|
-
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Close, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", variant: "secondary", children: "Cancel" }) }),
|
|
12565
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", type: "submit", isLoading: isPending, children: "Save" })
|
|
12566
|
-
] }) })
|
|
12567
|
-
]
|
|
12568
|
-
}
|
|
12569
|
-
) });
|
|
12570
|
-
};
|
|
12571
|
-
const schema$1 = addressSchema;
|
|
12572
|
-
const TransferOwnership = () => {
|
|
12573
|
-
const { id } = reactRouterDom.useParams();
|
|
12574
|
-
const { draft_order, isPending, isError, error } = useDraftOrder(id, {
|
|
12575
|
-
fields: "id,customer_id,customer.*"
|
|
12576
|
-
});
|
|
12577
|
-
if (isError) {
|
|
12578
|
-
throw error;
|
|
12579
|
-
}
|
|
12580
|
-
const isReady = !isPending && !!draft_order;
|
|
12581
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer, { children: [
|
|
12582
|
-
/* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer.Header, { children: [
|
|
12583
|
-
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { children: "Transfer Ownership" }) }),
|
|
12584
|
-
/* @__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" }) })
|
|
12585
|
-
] }),
|
|
12586
|
-
isReady && /* @__PURE__ */ jsxRuntime.jsx(TransferOwnershipForm, { order: draft_order })
|
|
12587
|
-
] });
|
|
12588
|
-
};
|
|
12589
|
-
const TransferOwnershipForm = ({ order }) => {
|
|
12590
|
-
var _a, _b;
|
|
12591
|
-
const form = reactHookForm.useForm({
|
|
12592
|
-
defaultValues: {
|
|
12593
|
-
customer_id: order.customer_id || ""
|
|
12594
|
-
},
|
|
12595
|
-
resolver: zod.zodResolver(schema)
|
|
12596
|
-
});
|
|
12597
|
-
const { mutateAsync, isPending } = useUpdateDraftOrder(order.id);
|
|
12598
|
-
const { handleSuccess } = useRouteModal();
|
|
12599
|
-
const name = [(_a = order.customer) == null ? void 0 : _a.first_name, (_b = order.customer) == null ? void 0 : _b.last_name].filter(Boolean).join(" ");
|
|
12600
|
-
const currentCustomer = order.customer ? {
|
|
12601
|
-
label: name ? `${name} (${order.customer.email})` : order.customer.email,
|
|
12602
|
-
value: order.customer.id
|
|
12603
|
-
} : null;
|
|
12604
|
-
const onSubmit = form.handleSubmit(async (data) => {
|
|
12605
|
-
await mutateAsync(
|
|
12606
|
-
{ customer_id: data.customer_id },
|
|
12500
|
+
{ customer_id: data.customer_id },
|
|
12607
12501
|
{
|
|
12608
12502
|
onSuccess: () => {
|
|
12609
12503
|
ui.toast.success("Customer updated");
|
|
@@ -13042,9 +12936,115 @@ const Illustration = () => {
|
|
|
13042
12936
|
}
|
|
13043
12937
|
);
|
|
13044
12938
|
};
|
|
13045
|
-
const schema = objectType({
|
|
12939
|
+
const schema$1 = objectType({
|
|
13046
12940
|
customer_id: stringType().min(1)
|
|
13047
12941
|
});
|
|
12942
|
+
const SalesChannel = () => {
|
|
12943
|
+
const { id } = reactRouterDom.useParams();
|
|
12944
|
+
const { draft_order, isPending, isError, error } = useDraftOrder(
|
|
12945
|
+
id,
|
|
12946
|
+
{
|
|
12947
|
+
fields: "+sales_channel_id"
|
|
12948
|
+
},
|
|
12949
|
+
{
|
|
12950
|
+
enabled: !!id
|
|
12951
|
+
}
|
|
12952
|
+
);
|
|
12953
|
+
if (isError) {
|
|
12954
|
+
throw error;
|
|
12955
|
+
}
|
|
12956
|
+
const ISrEADY = !!draft_order && !isPending;
|
|
12957
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer, { children: [
|
|
12958
|
+
/* @__PURE__ */ jsxRuntime.jsxs(RouteDrawer.Header, { children: [
|
|
12959
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Title, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Heading, { children: "Edit Sales Channel" }) }),
|
|
12960
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Description, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Update which sales channel the draft order is associated with" }) })
|
|
12961
|
+
] }),
|
|
12962
|
+
ISrEADY && /* @__PURE__ */ jsxRuntime.jsx(SalesChannelForm, { order: draft_order })
|
|
12963
|
+
] });
|
|
12964
|
+
};
|
|
12965
|
+
const SalesChannelForm = ({ order }) => {
|
|
12966
|
+
const form = reactHookForm.useForm({
|
|
12967
|
+
defaultValues: {
|
|
12968
|
+
sales_channel_id: order.sales_channel_id || ""
|
|
12969
|
+
},
|
|
12970
|
+
resolver: zod.zodResolver(schema)
|
|
12971
|
+
});
|
|
12972
|
+
const { mutateAsync, isPending } = useUpdateDraftOrder(order.id);
|
|
12973
|
+
const { handleSuccess } = useRouteModal();
|
|
12974
|
+
const onSubmit = form.handleSubmit(async (data) => {
|
|
12975
|
+
await mutateAsync(
|
|
12976
|
+
{
|
|
12977
|
+
sales_channel_id: data.sales_channel_id
|
|
12978
|
+
},
|
|
12979
|
+
{
|
|
12980
|
+
onSuccess: () => {
|
|
12981
|
+
ui.toast.success("Sales channel updated");
|
|
12982
|
+
handleSuccess();
|
|
12983
|
+
},
|
|
12984
|
+
onError: (error) => {
|
|
12985
|
+
ui.toast.error(error.message);
|
|
12986
|
+
}
|
|
12987
|
+
}
|
|
12988
|
+
);
|
|
12989
|
+
});
|
|
12990
|
+
return /* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Form, { form, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
12991
|
+
KeyboundForm,
|
|
12992
|
+
{
|
|
12993
|
+
className: "flex flex-1 flex-col overflow-hidden",
|
|
12994
|
+
onSubmit,
|
|
12995
|
+
children: [
|
|
12996
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Body, { className: "flex flex-col gap-y-6 overflow-y-auto", children: /* @__PURE__ */ jsxRuntime.jsx(SalesChannelField, { control: form.control, order }) }),
|
|
12997
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Footer, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2", children: [
|
|
12998
|
+
/* @__PURE__ */ jsxRuntime.jsx(RouteDrawer.Close, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", variant: "secondary", children: "Cancel" }) }),
|
|
12999
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", type: "submit", isLoading: isPending, children: "Save" })
|
|
13000
|
+
] }) })
|
|
13001
|
+
]
|
|
13002
|
+
}
|
|
13003
|
+
) });
|
|
13004
|
+
};
|
|
13005
|
+
const SalesChannelField = ({ control, order }) => {
|
|
13006
|
+
const salesChannels = useComboboxData({
|
|
13007
|
+
queryFn: async (params) => {
|
|
13008
|
+
return await sdk.admin.salesChannel.list(params);
|
|
13009
|
+
},
|
|
13010
|
+
queryKey: ["sales-channels"],
|
|
13011
|
+
getOptions: (data) => {
|
|
13012
|
+
return data.sales_channels.map((salesChannel) => ({
|
|
13013
|
+
label: salesChannel.name,
|
|
13014
|
+
value: salesChannel.id
|
|
13015
|
+
}));
|
|
13016
|
+
},
|
|
13017
|
+
defaultValue: order.sales_channel_id || void 0
|
|
13018
|
+
});
|
|
13019
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13020
|
+
Form$2.Field,
|
|
13021
|
+
{
|
|
13022
|
+
control,
|
|
13023
|
+
name: "sales_channel_id",
|
|
13024
|
+
render: ({ field }) => {
|
|
13025
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Form$2.Item, { children: [
|
|
13026
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Label, { children: "Sales Channel" }),
|
|
13027
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.Control, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
13028
|
+
Combobox,
|
|
13029
|
+
{
|
|
13030
|
+
options: salesChannels.options,
|
|
13031
|
+
fetchNextPage: salesChannels.fetchNextPage,
|
|
13032
|
+
isFetchingNextPage: salesChannels.isFetchingNextPage,
|
|
13033
|
+
searchValue: salesChannels.searchValue,
|
|
13034
|
+
onSearchValueChange: salesChannels.onSearchValueChange,
|
|
13035
|
+
placeholder: "Select sales channel",
|
|
13036
|
+
...field
|
|
13037
|
+
}
|
|
13038
|
+
) }),
|
|
13039
|
+
/* @__PURE__ */ jsxRuntime.jsx(Form$2.ErrorMessage, {})
|
|
13040
|
+
] });
|
|
13041
|
+
}
|
|
13042
|
+
}
|
|
13043
|
+
);
|
|
13044
|
+
};
|
|
13045
|
+
const schema = objectType({
|
|
13046
|
+
sales_channel_id: stringType().min(1)
|
|
13047
|
+
});
|
|
13048
13048
|
const widgetModule = { widgets: [] };
|
|
13049
13049
|
const routeModule = {
|
|
13050
13050
|
routes: [
|
|
@@ -13090,20 +13090,20 @@ const routeModule = {
|
|
|
13090
13090
|
path: "/draft-orders/:id/promotions"
|
|
13091
13091
|
},
|
|
13092
13092
|
{
|
|
13093
|
-
Component:
|
|
13094
|
-
path: "/draft-orders/:id/
|
|
13093
|
+
Component: ShippingAddress,
|
|
13094
|
+
path: "/draft-orders/:id/shipping-address"
|
|
13095
13095
|
},
|
|
13096
13096
|
{
|
|
13097
13097
|
Component: Shipping,
|
|
13098
13098
|
path: "/draft-orders/:id/shipping"
|
|
13099
13099
|
},
|
|
13100
|
-
{
|
|
13101
|
-
Component: ShippingAddress,
|
|
13102
|
-
path: "/draft-orders/:id/shipping-address"
|
|
13103
|
-
},
|
|
13104
13100
|
{
|
|
13105
13101
|
Component: TransferOwnership,
|
|
13106
13102
|
path: "/draft-orders/:id/transfer-ownership"
|
|
13103
|
+
},
|
|
13104
|
+
{
|
|
13105
|
+
Component: SalesChannel,
|
|
13106
|
+
path: "/draft-orders/:id/sales-channel"
|
|
13107
13107
|
}
|
|
13108
13108
|
]
|
|
13109
13109
|
}
|