@mercurjs/admin 2.1.0-canary.6 → 2.1.0-canary.8

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.
Files changed (136) hide show
  1. package/dist/{add-campaign-promotions-VKH6RC3R.js → add-campaign-promotions-WILFAFL4.js} +5 -5
  2. package/dist/{api-key-management-list-4MCSXO5L.js → api-key-management-list-DQ33T6KV.js} +3 -3
  3. package/dist/{attribute-detail-E6ILEV4C.js → attribute-detail-FLQKKFCO.js} +2 -2
  4. package/dist/{attribute-list-SFUKKH25.js → attribute-list-ODT2ZP4T.js} +3 -3
  5. package/dist/{campaign-detail-OJF24KXP.js → campaign-detail-S44LA6AX.js} +6 -6
  6. package/dist/{campaign-list-TXTMGE6H.js → campaign-list-A3TVXCV4.js} +3 -3
  7. package/dist/{category-detail-YELQ7OSB.js → category-detail-DXQECKDO.js} +3 -3
  8. package/dist/{category-list-DVDOBE7O.js → category-list-AQIONIMS.js} +3 -3
  9. package/dist/{category-products-G6XFVWWK.js → category-products-VV3JLNW7.js} +2 -2
  10. package/dist/{chunk-2KWNTJGL.js → chunk-3QIIWLCT.js} +1 -1
  11. package/dist/{chunk-TLAUR5IR.js → chunk-3TOCWPCQ.js} +1 -1
  12. package/dist/{chunk-6BOPJWOS.js → chunk-3U4C3UKN.js} +2 -2
  13. package/dist/{chunk-Q4WP4LIW.js → chunk-4OHMUFVP.js} +1 -1
  14. package/dist/{chunk-SNH3O6QM.js → chunk-52ZAPY3Z.js} +2 -2
  15. package/dist/{chunk-ZFQ5XQ2W.js → chunk-5Q2DL7Z2.js} +2 -2
  16. package/dist/{chunk-3EF54XFY.js → chunk-634XVU3D.js} +1 -1
  17. package/dist/{chunk-QONWYA46.js → chunk-6AZBAS4D.js} +1 -1
  18. package/dist/{chunk-T3ZRBKEC.js → chunk-6KIROGNM.js} +117 -64
  19. package/dist/{chunk-3LPDWXLV.js → chunk-7IKRJNID.js} +1 -1
  20. package/dist/{chunk-RFYOW244.js → chunk-BAJODL3V.js} +2 -2
  21. package/dist/{chunk-AGB4RMSE.js → chunk-BGSOUCCN.js} +1 -1
  22. package/dist/{chunk-ZTAKV4UY.js → chunk-CPZJNHAL.js} +1 -1
  23. package/dist/{chunk-7URRKQIX.js → chunk-CUSRWXZY.js} +1 -1
  24. package/dist/{chunk-YHWY7YA3.js → chunk-D3OIFOHY.js} +1 -1
  25. package/dist/{chunk-2ASJQTGT.js → chunk-E3DLJSYD.js} +1 -1
  26. package/dist/{chunk-VZVB3ZR3.js → chunk-EHLONIAY.js} +1 -1
  27. package/dist/{chunk-O6X4QXB5.js → chunk-FZCXIX37.js} +1 -1
  28. package/dist/{chunk-LGYQGZNR.js → chunk-GQUE4TAJ.js} +1 -1
  29. package/dist/{chunk-ZD46XW74.js → chunk-GS7L2B4S.js} +1 -1
  30. package/dist/{chunk-MVSHIITK.js → chunk-H55UROTU.js} +1 -1
  31. package/dist/{chunk-N2Y3OWEV.js → chunk-IBOTFRZP.js} +1 -1
  32. package/dist/{chunk-LVEROZU4.js → chunk-IGBGQDKS.js} +1 -1
  33. package/dist/{chunk-BOGOBZVM.js → chunk-IXHIM2HR.js} +1 -1
  34. package/dist/{chunk-73JXHNUH.js → chunk-JDHG7FWL.js} +1 -1
  35. package/dist/{chunk-IDBCFDIT.js → chunk-JJYOI5PR.js} +1 -1
  36. package/dist/{chunk-F2ZHPWHP.js → chunk-JPJISU7W.js} +1 -1
  37. package/dist/{chunk-EA5ADIDK.js → chunk-JRFNFYXA.js} +1 -1
  38. package/dist/{chunk-TFRTL5VZ.js → chunk-K7BVNZS6.js} +1 -1
  39. package/dist/{chunk-L6LJB5HH.js → chunk-KERTIEWE.js} +1 -1
  40. package/dist/{chunk-ULJ3OMWU.js → chunk-KLVTWJ4M.js} +1 -1
  41. package/dist/{chunk-3WQCJEAS.js → chunk-LET54CD5.js} +1 -1
  42. package/dist/{chunk-CDS2B2P6.js → chunk-LN3OHONN.js} +1 -1
  43. package/dist/{chunk-ARMMSJ7L.js → chunk-LVLDW6FV.js} +1 -1
  44. package/dist/{chunk-22YCBNLL.js → chunk-MSXZLZ4X.js} +1 -1
  45. package/dist/{chunk-A3HOLGBF.js → chunk-N3XQFZPF.js} +1 -1
  46. package/dist/{chunk-QP3ID4X3.js → chunk-NEAMPCCU.js} +1 -1
  47. package/dist/{chunk-EKMBY4QP.js → chunk-NHHZHVP6.js} +1 -1
  48. package/dist/{chunk-SZO2SCY2.js → chunk-NSUWKSBC.js} +2 -2
  49. package/dist/{chunk-M3LFFRPG.js → chunk-NYOSVNJ4.js} +1 -1
  50. package/dist/{chunk-QJLICXCV.js → chunk-OADU6FQZ.js} +1 -1
  51. package/dist/{chunk-6SND23WS.js → chunk-OCEPZGFS.js} +1 -1
  52. package/dist/{chunk-JSLUA5Y4.js → chunk-OVB4R5U5.js} +1 -1
  53. package/dist/{chunk-DW7BD2BR.js → chunk-PJSWOWXT.js} +15 -9
  54. package/dist/{chunk-IF36RZZS.js → chunk-QRAFS63H.js} +2 -2
  55. package/dist/{chunk-G2GB77RC.js → chunk-RHCDOBTU.js} +1 -1
  56. package/dist/{chunk-EV6CDI37.js → chunk-RTOCKSJ5.js} +1 -1
  57. package/dist/{chunk-TH4GYG3E.js → chunk-SCKY77PC.js} +1 -1
  58. package/dist/{chunk-NUMAHMW2.js → chunk-TVL4IXSL.js} +1 -1
  59. package/dist/{chunk-6F6T6O6R.js → chunk-WIDZXOML.js} +1 -1
  60. package/dist/{chunk-QGXOLAXL.js → chunk-WQO26Z76.js} +1 -1
  61. package/dist/{chunk-C2GSCU65.js → chunk-WX6UWXY6.js} +2 -2
  62. package/dist/{chunk-T62OEGJG.js → chunk-XRCERDBF.js} +1 -1
  63. package/dist/{chunk-IO3TLOTN.js → chunk-YA53AXGM.js} +2 -2
  64. package/dist/{chunk-FCQMQF2U.js → chunk-Z433IE4R.js} +1 -1
  65. package/dist/{chunk-C43DG3K3.js → chunk-ZEBQKDHR.js} +1 -1
  66. package/dist/{chunk-UZ52KLQM.js → chunk-ZOS6EBB2.js} +1 -1
  67. package/dist/{collection-add-products-VSSL3PJV.js → collection-add-products-K4R67OLS.js} +2 -2
  68. package/dist/{collection-detail-AAD4X24M.js → collection-detail-4ATHIFVS.js} +3 -3
  69. package/dist/{collection-list-J32PG7BB.js → collection-list-7L64AQM5.js} +3 -3
  70. package/dist/{commission-rate-create-KTQR4WCZ.js → commission-rate-create-CUSB36XK.js} +3 -3
  71. package/dist/{commission-rate-edit-52CJF2EX.js → commission-rate-edit-KPY5EXDK.js} +3 -3
  72. package/dist/{commission-rate-list-TSEOC244.js → commission-rate-list-CFKHN2F5.js} +3 -3
  73. package/dist/{customer-detail-4J4RSVSG.js → customer-detail-5UW56MGD.js} +3 -3
  74. package/dist/{customer-group-add-customers-Y4AIT37I.js → customer-group-add-customers-YSFEUI5M.js} +2 -2
  75. package/dist/{customer-group-detail-KCKJEPSN.js → customer-group-detail-NL7FAEBO.js} +3 -3
  76. package/dist/{customer-group-list-IQGAXHVE.js → customer-group-list-T53DLWPQ.js} +3 -3
  77. package/dist/{customer-list-MH5N6M5L.js → customer-list-LHGKF34F.js} +3 -3
  78. package/dist/{customers-add-customer-group-ASX6POFR.js → customers-add-customer-group-IWFFLQQQ.js} +2 -2
  79. package/dist/index.d.ts +11 -3
  80. package/dist/index.js +99 -99
  81. package/dist/{inventory-detail-KU5IMRS6.js → inventory-detail-RU37UA2Y.js} +3 -3
  82. package/dist/{inventory-list-HGWKI5CF.js → inventory-list-3H3J7IOB.js} +3 -3
  83. package/dist/{location-detail-RY65FCD3.js → location-detail-QHF23BXP.js} +2 -2
  84. package/dist/{location-fulfillment-providers-FNXAQUCV.js → location-fulfillment-providers-OQTYP6C7.js} +2 -2
  85. package/dist/{location-service-zone-create-AC4JW4Y4.js → location-service-zone-create-URK3O2H4.js} +3 -3
  86. package/dist/{location-service-zone-manage-areas-M52WHSWM.js → location-service-zone-manage-areas-DO3XK6TU.js} +3 -3
  87. package/dist/{marketplace-add-currencies-C6S4Z3VT.js → marketplace-add-currencies-BIN4YT3V.js} +2 -2
  88. package/dist/{marketplace-detail-QQ2WZ27G.js → marketplace-detail-AXO5YXED.js} +3 -3
  89. package/dist/{order-create-claim-GAGJ7QNH.js → order-create-claim-PLC342V5.js} +2 -2
  90. package/dist/{order-create-edit-R5AK2LPP.js → order-create-edit-25CJG3KZ.js} +2 -2
  91. package/dist/{order-create-exchange-P3PLSEME.js → order-create-exchange-TK65KBGW.js} +2 -2
  92. package/dist/{order-create-return-J35OSJJW.js → order-create-return-5XDDN456.js} +2 -2
  93. package/dist/{order-detail-RL4RFNAM.js → order-detail-PSJFXQV7.js} +3 -3
  94. package/dist/{order-edit-billing-address-C5OLRWHW.js → order-edit-billing-address-2WTUR5PX.js} +1 -1
  95. package/dist/{order-list-UBH5RRTI.js → order-list-DEFD5MI5.js} +3 -3
  96. package/dist/pages/index.js +55 -55
  97. package/dist/{payout-list-KUFWUKTH.js → payout-list-WQIMALHI.js} +3 -3
  98. package/dist/{price-list-configuration-JNMKFGCK.js → price-list-configuration-FEO2XAX5.js} +3 -3
  99. package/dist/{price-list-create-VWLNTKY7.js → price-list-create-6XVOYBM4.js} +4 -4
  100. package/dist/{price-list-detail-3XN7D2PU.js → price-list-detail-FBY7PWN3.js} +3 -3
  101. package/dist/{price-list-list-NFS344UG.js → price-list-list-TZIZJJH3.js} +3 -3
  102. package/dist/{price-list-prices-add-YY33AL6G.js → price-list-prices-add-HQHRB3XG.js} +3 -3
  103. package/dist/{product-create-XCQ2TZ7B.js → product-create-WVC72ZZ2.js} +3 -3
  104. package/dist/{product-list-5WTGEHDX.js → product-list-G23MTE7S.js} +3 -3
  105. package/dist/{product-media-4QKZILIM.js → product-media-CBKZEHLD.js} +2 -2
  106. package/dist/{product-tag-detail-DAVCOGGL.js → product-tag-detail-U3TJRILA.js} +3 -3
  107. package/dist/{product-tag-list-YBRNLXCK.js → product-tag-list-CT33WG55.js} +3 -3
  108. package/dist/{product-type-detail-JEFUXSFV.js → product-type-detail-LOCLZUCY.js} +3 -3
  109. package/dist/{product-type-list-E2BUVXIT.js → product-type-list-7SXDLL6L.js} +3 -3
  110. package/dist/{product-variant-detail-S4DAVZFS.js → product-variant-detail-7UVACNQV.js} +3 -3
  111. package/dist/{promotion-detail-DL52RQ5R.js → promotion-detail-6ZCWQYON.js} +4 -4
  112. package/dist/{promotion-list-CJJNLF5E.js → promotion-list-ZARTSDFP.js} +6 -6
  113. package/dist/{region-add-countries-6HKFPVNE.js → region-add-countries-TZEP4SML.js} +2 -2
  114. package/dist/{region-create-BOHJGJCB.js → region-create-7YJ25C3H.js} +2 -2
  115. package/dist/{region-detail-VR2RSHCW.js → region-detail-KFFPZLZL.js} +3 -3
  116. package/dist/{region-list-IHOCFATO.js → region-list-TPQG44BF.js} +3 -3
  117. package/dist/{reservation-list-EKIR6AET.js → reservation-list-DOW3PKTS.js} +3 -3
  118. package/dist/{reset-password-PCKBFFXR.js → reset-password-J4XCWJXV.js} +1 -1
  119. package/dist/{return-reason-list-FHE2DTG6.js → return-reason-list-IGZ3HCXY.js} +3 -3
  120. package/dist/{sales-channel-add-products-ABMGZC7O.js → sales-channel-add-products-P5AAQFVB.js} +2 -2
  121. package/dist/{sales-channel-detail-PNWRSILX.js → sales-channel-detail-BJCMSTSA.js} +3 -3
  122. package/dist/{shipping-option-type-list-AB2FPIQS.js → shipping-option-type-list-HRW7XFEQ.js} +3 -3
  123. package/dist/{shipping-profiles-list-CCMGZXHJ.js → shipping-profiles-list-IT433GKY.js} +3 -3
  124. package/dist/{store-create-CUH7NDFG.js → store-create-OQVFVIK4.js} +89 -12
  125. package/dist/{store-details-6EJNLLJU.js → store-details-NFUGBVH3.js} +3 -3
  126. package/dist/{store-edit-N2V2Z4UU.js → store-edit-U2Q6LMXR.js} +6 -6
  127. package/dist/{store-list-TRXWHGBQ.js → store-list-CWVEPRJM.js} +3 -3
  128. package/dist/{tax-region-create-UTSDM5EN.js → tax-region-create-CQCW6ELU.js} +1 -1
  129. package/dist/{tax-region-detail-IIKSTR7V.js → tax-region-detail-KCJTJZZI.js} +4 -4
  130. package/dist/{tax-region-list-BU5TV5MS.js → tax-region-list-LP6SV4BF.js} +3 -3
  131. package/dist/{tax-region-province-detail-SQHBO2XB.js → tax-region-province-detail-IQ3IRVIE.js} +3 -3
  132. package/dist/{tax-region-tax-override-create-WSZTBKMS.js → tax-region-tax-override-create-GLAYEGAP.js} +3 -3
  133. package/dist/{tax-region-tax-override-edit-OE4WUDOA.js → tax-region-tax-override-edit-JZDKFEJC.js} +3 -3
  134. package/dist/{user-invite-CTH3YNUV.js → user-invite-ZAGFYQDN.js} +2 -2
  135. package/dist/{user-list-2766SCTA.js → user-list-7PIKWZQY.js} +3 -3
  136. package/package.json +3 -3
@@ -19,10 +19,10 @@ import {
19
19
  import {
20
20
  _DataTable,
21
21
  useDataTable
22
- } from "./chunk-ULJ3OMWU.js";
22
+ } from "./chunk-KLVTWJ4M.js";
23
23
  import {
24
24
  NoRecords
25
- } from "./chunk-3EF54XFY.js";
25
+ } from "./chunk-634XVU3D.js";
26
26
  import {
27
27
  currencies
28
28
  } from "./chunk-IQPN4PZJ.js";
@@ -515,13 +515,13 @@ import { Link as Link2 } from "react-router-dom";
515
515
 
516
516
  // src/pages/stores/store-details/components/store-members-section/store-members-data-table.tsx
517
517
  import { useMemo } from "react";
518
- import { ArrowPath, Link as LinkIcon, Trash } from "@medusajs/icons";
519
- import { toast } from "@medusajs/ui";
518
+ import { ArrowPath, Link as LinkIcon, Trash, User } from "@medusajs/icons";
519
+ import { Badge as Badge2, toast } from "@medusajs/ui";
520
520
  import { keepPreviousData } from "@tanstack/react-query";
521
521
  import { createColumnHelper } from "@tanstack/react-table";
522
522
  import { useTranslation as useTranslation8 } from "react-i18next";
523
523
  var import_types2 = __toESM(require_dist(), 1);
524
- import { jsx as jsx8 } from "react/jsx-runtime";
524
+ import { jsx as jsx8, jsxs as jsxs8 } from "react/jsx-runtime";
525
525
  var PAGE_SIZE = 20;
526
526
  var ROLE_TRANSLATION_MAP = {
527
527
  [import_types2.SellerRole.SELLER_ADMINISTRATION]: "users.roles.administration",
@@ -530,6 +530,22 @@ var ROLE_TRANSLATION_MAP = {
530
530
  [import_types2.SellerRole.ACCOUNTING]: "users.roles.accounting",
531
531
  [import_types2.SellerRole.SUPPORT]: "users.roles.support"
532
532
  };
533
+ var trimTrailingSlashes = (value) => {
534
+ let end = value.length;
535
+ while (end > 0 && value.charCodeAt(end - 1) === 47) {
536
+ end -= 1;
537
+ }
538
+ return end === value.length ? value : value.slice(0, end);
539
+ };
540
+ var buildVendorInviteUrl = (token) => {
541
+ const vendorBase = trimTrailingSlashes(__VENDOR_URL__ || "/seller");
542
+ const url = new URL(
543
+ `${vendorBase}/invite`,
544
+ typeof window === "undefined" ? "http://localhost" : window.location.origin
545
+ );
546
+ url.searchParams.set("token", token);
547
+ return url.toString();
548
+ };
533
549
  var StoreMembersDataTable = ({
534
550
  sellerId
535
551
  }) => {
@@ -553,14 +569,22 @@ var StoreMembersDataTable = ({
553
569
  email: m.member?.email ?? "-",
554
570
  role_id: m.role_id,
555
571
  is_owner: Boolean(m.is_owner),
572
+ created_at: m.created_at,
573
+ updated_at: m.updated_at,
556
574
  member: m
557
575
  }));
558
- const invites = (member_invites ?? []).filter((invite) => !invite.accepted).map((invite) => ({
576
+ const hasOwnerMember = members.some((m) => m.is_owner);
577
+ const pendingInvites = (member_invites ?? []).filter((invite) => !invite.accepted);
578
+ const inviteIsFutureOwner = !hasOwnerMember && pendingInvites.length === 1;
579
+ const invites = pendingInvites.map((invite) => ({
559
580
  kind: "invite",
560
581
  id: invite.id,
561
582
  email: invite.email,
562
583
  role_id: invite.role_id,
563
- invite_url: invite.invite_url ?? null
584
+ token: invite.token,
585
+ is_owner: inviteIsFutureOwner,
586
+ created_at: invite.created_at,
587
+ updated_at: invite.updated_at
564
588
  }));
565
589
  return [...invites, ...members];
566
590
  }, [seller_members, member_invites]);
@@ -595,7 +619,8 @@ var StoreMembersDataTable = ({
595
619
  message: t(
596
620
  "stores.emptyStates.users.message",
597
621
  "Invite the first user to manage this store."
598
- )
622
+ ),
623
+ icon: /* @__PURE__ */ jsx8(User, { className: "text-ui-fg-subtle" })
599
624
  }
600
625
  }
601
626
  );
@@ -607,7 +632,18 @@ var useColumns = (sellerId) => {
607
632
  () => [
608
633
  columnHelper.accessor("email", {
609
634
  header: () => /* @__PURE__ */ jsx8("div", { className: "flex h-full w-full items-center", children: /* @__PURE__ */ jsx8("span", { children: t("fields.email") }) }),
610
- cell: ({ row }) => /* @__PURE__ */ jsx8("div", { className: "flex size-full items-center overflow-hidden", children: /* @__PURE__ */ jsx8("span", { className: "truncate", children: row.original.email }) })
635
+ cell: ({ row }) => /* @__PURE__ */ jsxs8("div", { className: "flex size-full items-center gap-x-2 overflow-hidden", children: [
636
+ /* @__PURE__ */ jsx8("span", { className: "truncate", children: row.original.email }),
637
+ row.original.is_owner && /* @__PURE__ */ jsx8(
638
+ Badge2,
639
+ {
640
+ size: "2xsmall",
641
+ color: "grey",
642
+ className: "flex-shrink-0",
643
+ children: t("stores.members.mainAdmin", "Admin")
644
+ }
645
+ )
646
+ ] })
611
647
  }),
612
648
  columnHelper.accessor("role_id", {
613
649
  header: () => /* @__PURE__ */ jsx8("div", { className: "flex h-full w-full items-center", children: /* @__PURE__ */ jsx8("span", { children: t("fields.role") }) }),
@@ -665,16 +701,16 @@ var InviteActions = ({
665
701
  };
666
702
  const handleCopyLink = async () => {
667
703
  try {
668
- let url = invite.invite_url;
669
- if (!url) {
704
+ let token = invite.token;
705
+ if (!token) {
670
706
  const response = await resend({ invite_id: invite.id });
671
- url = response?.member_invite?.invite_url ?? null;
707
+ token = response?.member_invite?.token ?? null;
672
708
  }
673
- if (!url) {
709
+ if (!token) {
674
710
  toast.error(t("stores.members.invite.noVendorUrl"));
675
711
  return;
676
712
  }
677
- await navigator.clipboard.writeText(url);
713
+ await navigator.clipboard.writeText(buildVendorInviteUrl(token));
678
714
  toast.success(t("stores.members.invite.linkCopied"));
679
715
  } catch (e) {
680
716
  toast.error(e.message);
@@ -757,11 +793,11 @@ var MemberActions = ({
757
793
  };
758
794
 
759
795
  // src/pages/stores/store-details/components/store-members-section/store-members-section.tsx
760
- import { jsx as jsx9, jsxs as jsxs8 } from "react/jsx-runtime";
796
+ import { jsx as jsx9, jsxs as jsxs9 } from "react/jsx-runtime";
761
797
  var StoreMembersSection = ({ sellerId }) => {
762
798
  const { t } = useTranslation9();
763
- return /* @__PURE__ */ jsxs8(Container7, { className: "divide-y p-0", children: [
764
- /* @__PURE__ */ jsxs8("div", { className: "flex items-center justify-between px-6 py-4", children: [
799
+ return /* @__PURE__ */ jsxs9(Container7, { className: "divide-y p-0", children: [
800
+ /* @__PURE__ */ jsxs9("div", { className: "flex items-center justify-between px-6 py-4", children: [
765
801
  /* @__PURE__ */ jsx9(Heading7, { level: "h2", children: t("users.domain", "Users") }),
766
802
  /* @__PURE__ */ jsx9(Link2, { to: "invite", children: /* @__PURE__ */ jsx9(Button, { size: "small", variant: "secondary", children: t("stores.members.addUser.action", "Add") }) })
767
803
  ] }),
@@ -782,35 +818,43 @@ import {
782
818
  toast as toast2
783
819
  } from "@medusajs/ui";
784
820
  import { useTranslation as useTranslation10 } from "react-i18next";
785
- import { jsx as jsx10, jsxs as jsxs9 } from "react/jsx-runtime";
821
+ import { jsx as jsx10, jsxs as jsxs10 } from "react/jsx-runtime";
786
822
  var StoreRequestSection = ({ seller }) => {
787
823
  const { t } = useTranslation10();
788
824
  const { mutateAsync: approveSeller, isPending: isApproving } = useApproveSeller(seller.id);
789
825
  const { mutateAsync: suspendSeller, isPending: isRejecting } = useSuspendSeller(seller.id);
790
- const requesterLabel = seller.email || seller.name;
791
- return /* @__PURE__ */ jsxs9(Container8, { className: "p-0", children: [
792
- /* @__PURE__ */ jsxs9("div", { className: "flex items-center gap-x-3 border-b border-ui-border-base px-6 py-4", children: [
826
+ const { seller_members } = useSellerMembers(seller.id, { limit: 100 });
827
+ const owner = seller_members?.find(
828
+ (m) => m.is_owner
829
+ );
830
+ const ownerFullName = [owner?.member?.first_name, owner?.member?.last_name].filter(Boolean).join(" ").trim();
831
+ const requesterLabel = ownerFullName || owner?.member?.email || seller.email || seller.name;
832
+ return /* @__PURE__ */ jsxs10(Container8, { className: "p-0", children: [
833
+ /* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-x-3 border-b border-ui-border-base px-6 py-4", children: [
793
834
  /* @__PURE__ */ jsx10(ExclamationCircleSolid, { className: "text-ui-tag-blue-icon" }),
794
835
  /* @__PURE__ */ jsx10(Heading8, { level: "h2", children: t("stores.request.title") })
795
836
  ] }),
796
837
  /* @__PURE__ */ jsx10("div", { className: "px-6 py-4", children: /* @__PURE__ */ jsx10(Text6, { className: "text-ui-fg-subtle", children: t("stores.request.description", { requester: requesterLabel }) }) }),
797
- /* @__PURE__ */ jsxs9("div", { className: "flex items-center justify-end gap-x-2 rounded-b-lg border-t border-ui-border-base bg-ui-bg-subtle px-6 py-4", children: [
838
+ /* @__PURE__ */ jsxs10("div", { className: "flex items-center justify-end gap-x-2 rounded-b-lg border-t border-ui-border-base bg-ui-bg-subtle px-6 py-4", children: [
798
839
  /* @__PURE__ */ jsx10(
799
840
  RequestActionPrompt,
800
841
  {
801
- trigger: /* @__PURE__ */ jsx10(Button2, { size: "small", variant: "secondary", children: t("stores.request.reject") }),
802
- title: t("stores.request.rejectTitle", "Reject store request"),
842
+ trigger: /* @__PURE__ */ jsx10(Button2, { size: "small", variant: "secondary", children: t("stores.request.confirm") }),
843
+ title: t("stores.request.confirmTitle", "Confirm request"),
803
844
  description: t(
804
- "stores.request.rejectDescription",
805
- "Provide an optional reason. The vendor will be notified."
845
+ "stores.request.confirmDescription",
846
+ "You are about to confirm this store request."
806
847
  ),
807
- confirmLabel: t("stores.request.reject"),
808
- confirmVariant: "danger",
809
- isLoading: isRejecting,
810
- onConfirm: async (note) => {
848
+ confirmLabel: t("stores.request.confirm"),
849
+ notePlaceholder: t(
850
+ "stores.request.confirmNotePlaceholder",
851
+ "Specify changes you made or additional requests"
852
+ ),
853
+ isLoading: isApproving,
854
+ onConfirm: async (_note) => {
811
855
  try {
812
- await suspendSeller({ reason: note || void 0 });
813
- toast2.success(t("stores.request.rejectSuccess"));
856
+ await approveSeller();
857
+ toast2.success(t("stores.request.confirmSuccess"));
814
858
  } catch (error) {
815
859
  toast2.error(error.message);
816
860
  throw error;
@@ -821,19 +865,22 @@ var StoreRequestSection = ({ seller }) => {
821
865
  /* @__PURE__ */ jsx10(
822
866
  RequestActionPrompt,
823
867
  {
824
- trigger: /* @__PURE__ */ jsx10(Button2, { size: "small", variant: "primary", children: t("stores.request.confirm") }),
825
- title: t("stores.request.confirmTitle", "Approve store request"),
868
+ trigger: /* @__PURE__ */ jsx10(Button2, { size: "small", variant: "secondary", children: t("stores.request.reject") }),
869
+ title: t("stores.request.rejectTitle", "Reject request"),
826
870
  description: t(
827
- "stores.request.confirmDescription",
828
- "Provide an optional note for the vendor."
871
+ "stores.request.rejectDescription",
872
+ "You are about to reject this store request."
829
873
  ),
830
- confirmLabel: t("stores.request.confirm"),
831
- confirmVariant: "primary",
832
- isLoading: isApproving,
833
- onConfirm: async (_note) => {
874
+ confirmLabel: t("stores.request.reject"),
875
+ notePlaceholder: t(
876
+ "stores.request.rejectNotePlaceholder",
877
+ "Explain why you reject the request or suggest changes"
878
+ ),
879
+ isLoading: isRejecting,
880
+ onConfirm: async (note) => {
834
881
  try {
835
- await approveSeller();
836
- toast2.success(t("stores.request.confirmSuccess"));
882
+ await suspendSeller({ reason: note || void 0 });
883
+ toast2.success(t("stores.request.rejectSuccess"));
837
884
  } catch (error) {
838
885
  toast2.error(error.message);
839
886
  throw error;
@@ -848,8 +895,8 @@ var RequestActionPrompt = ({
848
895
  trigger,
849
896
  title,
850
897
  description,
898
+ notePlaceholder,
851
899
  confirmLabel,
852
- confirmVariant,
853
900
  isLoading,
854
901
  onConfirm
855
902
  }) => {
@@ -864,18 +911,19 @@ var RequestActionPrompt = ({
864
911
  } catch {
865
912
  }
866
913
  };
867
- return /* @__PURE__ */ jsxs9(Prompt, { open, onOpenChange: setOpen, variant: confirmVariant, children: [
914
+ return /* @__PURE__ */ jsxs10(Prompt, { open, onOpenChange: setOpen, children: [
868
915
  /* @__PURE__ */ jsx10(Prompt.Trigger, { asChild: true, children: trigger }),
869
- /* @__PURE__ */ jsxs9(Prompt.Content, { children: [
870
- /* @__PURE__ */ jsxs9(Prompt.Header, { children: [
916
+ /* @__PURE__ */ jsxs10(Prompt.Content, { children: [
917
+ /* @__PURE__ */ jsxs10(Prompt.Header, { children: [
871
918
  /* @__PURE__ */ jsx10(Prompt.Title, { children: title }),
872
919
  /* @__PURE__ */ jsx10(Prompt.Description, { children: description })
873
920
  ] }),
874
- /* @__PURE__ */ jsxs9("div", { className: "flex flex-col gap-y-2 px-6 pb-4", children: [
875
- /* @__PURE__ */ jsxs9(Text6, { size: "small", weight: "plus", className: "text-ui-fg-subtle", children: [
876
- t("stores.request.noteLabel", "Note"),
921
+ /* @__PURE__ */ jsx10("div", { className: "border-ui-border-base border-t mt-3" }),
922
+ /* @__PURE__ */ jsxs10("div", { className: "flex flex-col gap-y-3 px-6 py-3", children: [
923
+ /* @__PURE__ */ jsxs10(Text6, { size: "small", weight: "plus", className: "text-ui-fg-base", children: [
924
+ t("stores.request.noteLabel", "Notes for vendor"),
877
925
  " ",
878
- /* @__PURE__ */ jsxs9("span", { className: "text-ui-fg-muted font-normal", children: [
926
+ /* @__PURE__ */ jsxs10("span", { className: "text-ui-fg-muted font-normal", children: [
879
927
  "(",
880
928
  t("fields.optional", "Optional"),
881
929
  ")"
@@ -884,19 +932,20 @@ var RequestActionPrompt = ({
884
932
  /* @__PURE__ */ jsx10(
885
933
  Textarea,
886
934
  {
887
- placeholder: t("stores.request.notePlaceholder"),
935
+ placeholder: notePlaceholder,
888
936
  value: note,
889
937
  onChange: (e) => setNote(e.target.value)
890
938
  }
891
939
  )
892
940
  ] }),
893
- /* @__PURE__ */ jsxs9(Prompt.Footer, { children: [
941
+ /* @__PURE__ */ jsx10("div", { className: "border-ui-border-base border-t mt-2" }),
942
+ /* @__PURE__ */ jsxs10(Prompt.Footer, { children: [
894
943
  /* @__PURE__ */ jsx10(Prompt.Cancel, { disabled: isLoading, children: t("actions.cancel") }),
895
944
  /* @__PURE__ */ jsx10(
896
945
  Button2,
897
946
  {
898
947
  size: "small",
899
- variant: confirmVariant === "danger" ? "danger" : "primary",
948
+ variant: "primary",
900
949
  onClick: handleSubmit,
901
950
  isLoading,
902
951
  children: confirmLabel
@@ -908,10 +957,11 @@ var RequestActionPrompt = ({
908
957
  };
909
958
 
910
959
  // src/pages/stores/store-details/components/store-orders-section.tsx
960
+ import { ShoppingCart } from "@medusajs/icons";
911
961
  import { Container as Container9, Heading as Heading9 } from "@medusajs/ui";
912
962
  import { keepPreviousData as keepPreviousData2 } from "@tanstack/react-query";
913
963
  import { useTranslation as useTranslation11 } from "react-i18next";
914
- import { jsx as jsx11, jsxs as jsxs10 } from "react/jsx-runtime";
964
+ import { jsx as jsx11, jsxs as jsxs11 } from "react/jsx-runtime";
915
965
  var PAGE_SIZE2 = 10;
916
966
  var PREFIX = "store-orders";
917
967
  var DEFAULT_RELATIONS = "*customer,*items,*sales_channel";
@@ -947,7 +997,7 @@ var StoreOrdersSection = ({ sellerId }) => {
947
997
  if (isError) {
948
998
  throw error;
949
999
  }
950
- return /* @__PURE__ */ jsxs10(Container9, { className: "divide-y p-0", "data-testid": "store-orders-section", children: [
1000
+ return /* @__PURE__ */ jsxs11(Container9, { className: "divide-y p-0", "data-testid": "store-orders-section", children: [
951
1001
  /* @__PURE__ */ jsx11(
952
1002
  "div",
953
1003
  {
@@ -980,7 +1030,8 @@ var StoreOrdersSection = ({ sellerId }) => {
980
1030
  message: t(
981
1031
  "stores.emptyStates.orders.message",
982
1032
  "Orders placed at this store will appear here."
983
- )
1033
+ ),
1034
+ icon: /* @__PURE__ */ jsx11(ShoppingCart, { className: "text-ui-fg-subtle" })
984
1035
  }
985
1036
  }
986
1037
  )
@@ -988,10 +1039,11 @@ var StoreOrdersSection = ({ sellerId }) => {
988
1039
  };
989
1040
 
990
1041
  // src/pages/stores/store-details/components/store-products-section.tsx
1042
+ import { Tag } from "@medusajs/icons";
991
1043
  import { Container as Container10, Heading as Heading10 } from "@medusajs/ui";
992
1044
  import { keepPreviousData as keepPreviousData3 } from "@tanstack/react-query";
993
1045
  import { useTranslation as useTranslation12 } from "react-i18next";
994
- import { jsx as jsx12, jsxs as jsxs11 } from "react/jsx-runtime";
1046
+ import { jsx as jsx12, jsxs as jsxs12 } from "react/jsx-runtime";
995
1047
  var PAGE_SIZE3 = 10;
996
1048
  var PREFIX2 = "store-products";
997
1049
  var StoreProductsSection = ({
@@ -1022,7 +1074,7 @@ var StoreProductsSection = ({
1022
1074
  if (isError) {
1023
1075
  throw error;
1024
1076
  }
1025
- return /* @__PURE__ */ jsxs11(Container10, { className: "divide-y p-0", "data-testid": "store-products-section", children: [
1077
+ return /* @__PURE__ */ jsxs12(Container10, { className: "divide-y p-0", "data-testid": "store-products-section", children: [
1026
1078
  /* @__PURE__ */ jsx12(
1027
1079
  "div",
1028
1080
  {
@@ -1055,7 +1107,8 @@ var StoreProductsSection = ({
1055
1107
  message: t(
1056
1108
  "stores.emptyStates.products.message",
1057
1109
  "Products published by this store will appear here."
1058
- )
1110
+ ),
1111
+ icon: /* @__PURE__ */ jsx12(Tag, { className: "text-ui-fg-subtle" })
1059
1112
  }
1060
1113
  }
1061
1114
  )
@@ -1063,7 +1116,7 @@ var StoreProductsSection = ({
1063
1116
  };
1064
1117
 
1065
1118
  // src/pages/stores/store-details/components/store-details.tsx
1066
- import { jsx as jsx13, jsxs as jsxs12 } from "react/jsx-runtime";
1119
+ import { jsx as jsx13, jsxs as jsxs13 } from "react/jsx-runtime";
1067
1120
  var TABS = ["orders", "products", "users", "timeOff"];
1068
1121
  var TabBar = ({
1069
1122
  activeTab,
@@ -1117,9 +1170,9 @@ var Root = ({ children }) => {
1117
1170
  if (Children3.count(children) > 0) {
1118
1171
  return /* @__PURE__ */ jsx13(TwoColumnPage, { data: seller, hasOutlet: true, "data-testid": "store-detail-page", children });
1119
1172
  }
1120
- return /* @__PURE__ */ jsxs12(TwoColumnPage, { data: seller, hasOutlet: true, "data-testid": "store-detail-page", children: [
1121
- /* @__PURE__ */ jsxs12(TwoColumnPage.Main, { children: [
1122
- seller.status === import_types3.SellerStatus.PENDING_APPROVAL && !seller.approved_at && /* @__PURE__ */ jsx13(StoreRequestSection, { seller }),
1173
+ return /* @__PURE__ */ jsxs13(TwoColumnPage, { data: seller, hasOutlet: true, "data-testid": "store-detail-page", children: [
1174
+ /* @__PURE__ */ jsxs13(TwoColumnPage.Main, { children: [
1175
+ seller.status === import_types3.SellerStatus.PENDING_APPROVAL && !seller.approved_at && !seller.rejected_at && /* @__PURE__ */ jsx13(StoreRequestSection, { seller }),
1123
1176
  /* @__PURE__ */ jsx13(StoreGeneralSection, { seller }),
1124
1177
  /* @__PURE__ */ jsx13(TabBar, { activeTab, onTabChange: setActiveTab }),
1125
1178
  activeTab === "orders" && /* @__PURE__ */ jsx13(
@@ -1159,7 +1212,7 @@ var Root = ({ children }) => {
1159
1212
  }
1160
1213
  )
1161
1214
  ] }),
1162
- /* @__PURE__ */ jsxs12(TwoColumnPage.Sidebar, { children: [
1215
+ /* @__PURE__ */ jsxs13(TwoColumnPage.Sidebar, { children: [
1163
1216
  /* @__PURE__ */ jsx13(StoreAddressSection, { seller }),
1164
1217
  /* @__PURE__ */ jsx13(StoreCompanyDetailsSection, { seller }),
1165
1218
  /* @__PURE__ */ jsx13(StorePaymentDetailsSection, { seller }),
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-SMQT3ZNO.js";
8
8
  import {
9
9
  i18n
10
- } from "./chunk-DW7BD2BR.js";
10
+ } from "./chunk-PJSWOWXT.js";
11
11
 
12
12
  // src/pages/products/product-create/constants.ts
13
13
  import { z } from "zod";
@@ -22,10 +22,10 @@ import {
22
22
  import {
23
23
  _DataTable,
24
24
  useDataTable
25
- } from "./chunk-ULJ3OMWU.js";
25
+ } from "./chunk-KLVTWJ4M.js";
26
26
  import {
27
27
  NoRecords
28
- } from "./chunk-3EF54XFY.js";
28
+ } from "./chunk-634XVU3D.js";
29
29
  import {
30
30
  TwoColumnPageSkeleton
31
31
  } from "./chunk-INNFZYX2.js";
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  _DataTable,
6
6
  useDataTable
7
- } from "./chunk-ULJ3OMWU.js";
7
+ } from "./chunk-KLVTWJ4M.js";
8
8
  import {
9
9
  SingleColumnPage
10
10
  } from "./chunk-XIZLPYEE.js";
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  _DataTable,
10
10
  useDataTable
11
- } from "./chunk-ULJ3OMWU.js";
11
+ } from "./chunk-KLVTWJ4M.js";
12
12
  import {
13
13
  SingleColumnPage
14
14
  } from "./chunk-XIZLPYEE.js";
@@ -12,7 +12,7 @@ import {
12
12
  import {
13
13
  _DataTable,
14
14
  useDataTable
15
- } from "./chunk-ULJ3OMWU.js";
15
+ } from "./chunk-KLVTWJ4M.js";
16
16
  import {
17
17
  ChipGroup
18
18
  } from "./chunk-IGTRIAUC.js";
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  _DataTable,
6
6
  useDataTable
7
- } from "./chunk-ULJ3OMWU.js";
7
+ } from "./chunk-KLVTWJ4M.js";
8
8
  import {
9
9
  useCustomerGroupTableFilters
10
10
  } from "./chunk-CMHI2RPL.js";
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  NoRecords,
10
10
  NoResults
11
- } from "./chunk-3EF54XFY.js";
11
+ } from "./chunk-634XVU3D.js";
12
12
  import {
13
13
  TableFooterSkeleton
14
14
  } from "./chunk-INNFZYX2.js";
@@ -25,7 +25,7 @@ import {
25
25
  } from "./chunk-V5J73NPW.js";
26
26
  import {
27
27
  NoRecords
28
- } from "./chunk-3EF54XFY.js";
28
+ } from "./chunk-634XVU3D.js";
29
29
  import {
30
30
  TwoColumnPageSkeleton
31
31
  } from "./chunk-INNFZYX2.js";
@@ -23,7 +23,7 @@ import {
23
23
  import {
24
24
  _DataTable,
25
25
  useDataTable
26
- } from "./chunk-ULJ3OMWU.js";
26
+ } from "./chunk-KLVTWJ4M.js";
27
27
  import {
28
28
  TwoColumnPageSkeleton
29
29
  } from "./chunk-INNFZYX2.js";
@@ -13,7 +13,7 @@ import {
13
13
  import {
14
14
  _DataTable,
15
15
  useDataTable
16
- } from "./chunk-ULJ3OMWU.js";
16
+ } from "./chunk-KLVTWJ4M.js";
17
17
  import {
18
18
  DataGrid
19
19
  } from "./chunk-72Q2T2FK.js";
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  _DataTable,
6
6
  useDataTable
7
- } from "./chunk-ULJ3OMWU.js";
7
+ } from "./chunk-KLVTWJ4M.js";
8
8
  import {
9
9
  SingleColumnPage
10
10
  } from "./chunk-XIZLPYEE.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  i18n
3
- } from "./chunk-DW7BD2BR.js";
3
+ } from "./chunk-PJSWOWXT.js";
4
4
 
5
5
  // src/lib/promotions.ts
6
6
  var getPromotionStatusMap = () => ({
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  _DataTable,
9
9
  useDataTable
10
- } from "./chunk-ULJ3OMWU.js";
10
+ } from "./chunk-KLVTWJ4M.js";
11
11
  import {
12
12
  SingleColumnPage
13
13
  } from "./chunk-XIZLPYEE.js";
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  _DataTable,
9
9
  useDataTable
10
- } from "./chunk-ULJ3OMWU.js";
10
+ } from "./chunk-KLVTWJ4M.js";
11
11
  import {
12
12
  SingleColumnPage
13
13
  } from "./chunk-XIZLPYEE.js";
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  _DataTable,
6
6
  useDataTable
7
- } from "./chunk-ULJ3OMWU.js";
7
+ } from "./chunk-KLVTWJ4M.js";
8
8
  import {
9
9
  SingleColumnPage
10
10
  } from "./chunk-XIZLPYEE.js";
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  _DataTable,
6
6
  useDataTable
7
- } from "./chunk-ULJ3OMWU.js";
7
+ } from "./chunk-KLVTWJ4M.js";
8
8
  import {
9
9
  SingleColumnPage
10
10
  } from "./chunk-XIZLPYEE.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  _DataTable,
3
3
  useDataTable
4
- } from "./chunk-ULJ3OMWU.js";
4
+ } from "./chunk-KLVTWJ4M.js";
5
5
  import {
6
6
  SingleColumnPage
7
7
  } from "./chunk-XIZLPYEE.js";
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  _DataTable,
9
9
  useDataTable
10
- } from "./chunk-ULJ3OMWU.js";
10
+ } from "./chunk-KLVTWJ4M.js";
11
11
  import {
12
12
  SingleColumnPage
13
13
  } from "./chunk-XIZLPYEE.js";
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  _DataTable,
10
10
  useDataTable
11
- } from "./chunk-ULJ3OMWU.js";
11
+ } from "./chunk-KLVTWJ4M.js";
12
12
  import {
13
13
  SingleColumnPage
14
14
  } from "./chunk-XIZLPYEE.js";
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  _DataTable,
6
6
  useDataTable
7
- } from "./chunk-ULJ3OMWU.js";
7
+ } from "./chunk-KLVTWJ4M.js";
8
8
  import {
9
9
  SingleColumnPage
10
10
  } from "./chunk-XIZLPYEE.js";
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  _DataTable,
6
6
  useDataTable
7
- } from "./chunk-ULJ3OMWU.js";
7
+ } from "./chunk-KLVTWJ4M.js";
8
8
  import {
9
9
  SingleColumnPage
10
10
  } from "./chunk-XIZLPYEE.js";
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  NoRecords,
9
9
  NoResults
10
- } from "./chunk-3EF54XFY.js";
10
+ } from "./chunk-634XVU3D.js";
11
11
  import {
12
12
  TableSkeleton
13
13
  } from "./chunk-INNFZYX2.js";
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  _DataTable,
6
6
  useDataTable
7
- } from "./chunk-ULJ3OMWU.js";
7
+ } from "./chunk-KLVTWJ4M.js";
8
8
  import {
9
9
  SingleColumnPage
10
10
  } from "./chunk-XIZLPYEE.js";
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  _DataTable,
6
6
  useDataTable
7
- } from "./chunk-ULJ3OMWU.js";
7
+ } from "./chunk-KLVTWJ4M.js";
8
8
  import {
9
9
  SingleColumnPage
10
10
  } from "./chunk-XIZLPYEE.js";
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  _DataTable,
9
9
  useDataTable
10
- } from "./chunk-ULJ3OMWU.js";
10
+ } from "./chunk-KLVTWJ4M.js";
11
11
  import {
12
12
  SingleColumnPage
13
13
  } from "./chunk-XIZLPYEE.js";