@mercurjs/admin 2.0.0-canary.29 → 2.0.0-canary.31

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 (129) hide show
  1. package/dist/{add-campaign-promotions-TXOODRHB.js → add-campaign-promotions-UVEH25GZ.js} +3 -3
  2. package/dist/{adjust-inventory-6RA7MJEM.js → adjust-inventory-6Q53EEFB.js} +6 -4
  3. package/dist/{api-key-management-detail-24BNBQNS.js → api-key-management-detail-RQW5RC5F.js} +6 -4
  4. package/dist/{campaign-detail-FBUQQL2W.js → campaign-detail-4DO3S5UZ.js} +9 -7
  5. package/dist/{categories-metadata-7NJ5AUE7.js → categories-metadata-G7JDGW6O.js} +6 -4
  6. package/dist/{category-detail-IQ4PUZG7.js → category-detail-2U65E3CX.js} +8 -6
  7. package/dist/{category-products-FSVFQAE4.js → category-products-FH4RIZKA.js} +8 -6
  8. package/dist/{chunk-AAW22JWF.js → chunk-2BE77FVK.js} +1 -1
  9. package/dist/chunk-A4X5VP3G.js +102 -0
  10. package/dist/{chunk-BRUOBAPY.js → chunk-BFCAJKRG.js} +36 -68
  11. package/dist/{chunk-TO7KBKHJ.js → chunk-F5PEK3DA.js} +5 -2
  12. package/dist/{chunk-PASXA3UX.js → chunk-FBUH5OLD.js} +22 -1
  13. package/dist/{chunk-6KI3GDYH.js → chunk-FMOQNZFZ.js} +39 -3
  14. package/dist/{chunk-6NNBZIM7.js → chunk-GFZ7GOEU.js} +4 -1
  15. package/dist/{chunk-RILFAVKM.js → chunk-HOZHWCST.js} +1 -1
  16. package/dist/{chunk-NWQRHWE5.js → chunk-K6FXWZ2M.js} +1300 -1300
  17. package/dist/chunk-M3I52H3M.js +32 -0
  18. package/dist/chunk-RW35OPIA.js +45 -0
  19. package/dist/chunk-SWL7ZCP3.js +11 -0
  20. package/dist/{chunk-ZGQV4I7U.js → chunk-SXC5ZMLI.js} +3 -3
  21. package/dist/{chunk-4XHMNG3H.js → chunk-UZVYM65V.js} +8 -17
  22. package/dist/{chunk-KW56S7WF.js → chunk-VVWB3GIK.js} +5 -2
  23. package/dist/chunk-VZEMURY7.js +35 -0
  24. package/dist/{chunk-SJKPESDA.js → chunk-XE6KSRKQ.js} +1 -1
  25. package/dist/{chunk-QM2TMBP3.js → chunk-XM6GCWNF.js} +7 -31
  26. package/dist/{chunk-NKLW7RD6.js → chunk-XXXE6VUX.js} +1 -1
  27. package/dist/{collection-add-products-4HTDHYXO.js → collection-add-products-RLTEE27D.js} +8 -6
  28. package/dist/{collection-detail-CWGP5ICA.js → collection-detail-Y4GGSHXX.js} +8 -6
  29. package/dist/{collection-list-6DZKMCB5.js → collection-list-WUPG6AU2.js} +14 -12
  30. package/dist/{collection-metadata-7BON4MGI.js → collection-metadata-CQWEZ4EQ.js} +6 -4
  31. package/dist/commission-rate-create-YK6GCP2R.js +779 -0
  32. package/dist/commission-rate-detail-ANI37QHI.js +441 -0
  33. package/dist/commission-rate-edit-5MPI53CE.js +762 -0
  34. package/dist/commission-rate-list-FCQ3HXC7.js +196 -0
  35. package/dist/{customer-detail-46UYP6GW.js → customer-detail-YS265DZS.js} +12 -9
  36. package/dist/{customer-group-detail-3RD6DT7U.js → customer-group-detail-CPONLZRF.js} +6 -4
  37. package/dist/{customer-group-list-TFM2WJ4X.js → customer-group-list-V2CGT3FT.js} +6 -4
  38. package/dist/{customer-group-metadata-P7QANREG.js → customer-group-metadata-BITZXXFX.js} +6 -4
  39. package/dist/{customer-metadata-MBI3NDAU.js → customer-metadata-6DDHIGDD.js} +6 -4
  40. package/dist/{customers-add-customer-group-IHI2A5OO.js → customers-add-customer-group-SD3KK6JE.js} +6 -4
  41. package/dist/{edit-inventory-item-EULGCSM4.js → edit-inventory-item-5PZZ3IAH.js} +6 -4
  42. package/dist/{edit-inventory-item-attributes-56QN6GHF.js → edit-inventory-item-attributes-7PJQCUXL.js} +6 -4
  43. package/dist/{edit-rules-3WAX7GEP.js → edit-rules-E2564ZQB.js} +6 -4
  44. package/dist/index.js +204 -121
  45. package/dist/{inventory-create-WCI6KWDJ.js → inventory-create-LYXHQR7Y.js} +6 -4
  46. package/dist/{inventory-detail-WDI5KD2U.js → inventory-detail-42GK24BA.js} +6 -4
  47. package/dist/{inventory-metadata-S34DYKIW.js → inventory-metadata-OLR5ZMMN.js} +6 -4
  48. package/dist/{inventory-stock-ITSFGRAG.js → inventory-stock-ZOM2ANKJ.js} +6 -4
  49. package/dist/{location-detail-DIAY4ZPW.js → location-detail-XO4RRCAU.js} +11 -9
  50. package/dist/{location-fulfillment-providers-EBFA6G7P.js → location-fulfillment-providers-6T27UNF7.js} +8 -6
  51. package/dist/{location-list-ZWDA6NC3.js → location-list-KVFFPEIV.js} +7 -5
  52. package/dist/{location-service-zone-shipping-option-create-LNLXDZYF.js → location-service-zone-shipping-option-create-PSPX634E.js} +6 -4
  53. package/dist/{login-FXV4BRJ2.js → login-U5WERLJC.js} +6 -4
  54. package/dist/{marketplace-detail-GOA4HYOL.js → marketplace-detail-OVWHCK5W.js} +6 -4
  55. package/dist/{marketplace-metadata-GCD7VD34.js → marketplace-metadata-GIYATM54.js} +6 -4
  56. package/dist/{order-create-claim-OT3YIYG7.js → order-create-claim-UWNZUBL7.js} +9 -7
  57. package/dist/{order-create-edit-KF5V64D7.js → order-create-edit-JD4UZ5GW.js} +9 -7
  58. package/dist/{order-create-exchange-5PH2DDPB.js → order-create-exchange-OTIDP47E.js} +9 -7
  59. package/dist/{order-create-fulfillment-MIJWDDL2.js → order-create-fulfillment-7OP64TNJ.js} +6 -4
  60. package/dist/{order-create-refund-56LLPYLA.js → order-create-refund-U4UK5IZB.js} +9 -7
  61. package/dist/{order-create-shipment-TCGKO67Z.js → order-create-shipment-URYCUNU6.js} +6 -4
  62. package/dist/{order-detail-ZDPCS42E.js → order-detail-V2O5C4CX.js} +12 -9
  63. package/dist/{order-edit-billing-address-C7YX7626.js → order-edit-billing-address-XRUEKX33.js} +7 -5
  64. package/dist/{order-edit-email-7NMGVKNJ.js → order-edit-email-CJ3MEZB6.js} +6 -4
  65. package/dist/{order-edit-shipping-address-BSWGO3G3.js → order-edit-shipping-address-SV4UVNBQ.js} +6 -4
  66. package/dist/order-list-P75CDQ2O.js +308 -0
  67. package/dist/{order-metadata-XXEPKUFM.js → order-metadata-HIOSALZT.js} +6 -4
  68. package/dist/{order-receive-return-JFIMIGGV.js → order-receive-return-4SRRRBW6.js} +6 -4
  69. package/dist/{order-request-transfer-TXC2FK4A.js → order-request-transfer-5AGKGFVY.js} +6 -4
  70. package/dist/{price-list-create-L5KWHQIJ.js → price-list-create-3NNWUS6L.js} +9 -7
  71. package/dist/{price-list-detail-E3F63UB6.js → price-list-detail-324FZRK5.js} +11 -9
  72. package/dist/{price-list-prices-add-OHMQZH73.js → price-list-prices-add-IBSLTMNK.js} +8 -6
  73. package/dist/{price-list-prices-edit-ORJ3VWX2.js → price-list-prices-edit-AAVPX34P.js} +6 -4
  74. package/dist/{product-create-FWHZORNL.js → product-create-C4GHUEM5.js} +39 -6
  75. package/dist/{product-create-variant-ZMSJOFSJ.js → product-create-variant-5MVBT5ST.js} +6 -4
  76. package/dist/{product-detail-V24PBFTX.js → product-detail-3UWUMNHC.js} +11 -5
  77. package/dist/{product-export-H5Z6JVW7.js → product-export-XTS7P5AD.js} +14 -12
  78. package/dist/{product-import-HYPRL63J.js → product-import-ZEZE2JE6.js} +6 -4
  79. package/dist/{product-list-XWJ5JFO2.js → product-list-7WK2AWI2.js} +16 -6
  80. package/dist/{product-media-TGVTQNDO.js → product-media-Z2DCRZSU.js} +2 -2
  81. package/dist/{product-metadata-LP6ZZFCV.js → product-metadata-NBB5SRDN.js} +6 -4
  82. package/dist/{product-stock-S6XIQVMO.js → product-stock-ZXNZZBJI.js} +6 -4
  83. package/dist/{product-tag-create-WIROVJ3M.js → product-tag-create-LL35OFZM.js} +6 -4
  84. package/dist/{product-tag-detail-F27ML7MQ.js → product-tag-detail-E7VYBISE.js} +19 -16
  85. package/dist/{product-tag-edit-7A2H7OW2.js → product-tag-edit-6XBZCCED.js} +6 -4
  86. package/dist/{product-tag-list-KMVTIS7O.js → product-tag-list-I6M6TAYM.js} +19 -16
  87. package/dist/{product-tag-metadata-AZUT3RGE.js → product-tag-metadata-UGO4RUFU.js} +6 -4
  88. package/dist/{product-type-detail-LHNEJ5V3.js → product-type-detail-JI4DF7WR.js} +8 -6
  89. package/dist/{product-type-metadata-SB7Z6X6E.js → product-type-metadata-ZKOZNZE3.js} +6 -4
  90. package/dist/{product-variant-detail-VA7DHMCF.js → product-variant-detail-DXTUM4R7.js} +17 -5
  91. package/dist/{product-variant-edit-FCOJQ4E7.js → product-variant-edit-KGLW5GXD.js} +6 -4
  92. package/dist/{product-variant-metadata-TH6U2EQW.js → product-variant-metadata-H7J7SZNU.js} +6 -4
  93. package/dist/{promotion-create-7L5LWMEM.js → promotion-create-P2WR5RPH.js} +6 -4
  94. package/dist/{promotion-detail-NGOQNJER.js → promotion-detail-IO7V5CXR.js} +8 -6
  95. package/dist/{promotion-list-CV35S2NN.js → promotion-list-SJYMXQXT.js} +3 -3
  96. package/dist/{refund-reason-create-V2VJFJQ2.js → refund-reason-create-PTHFUT2D.js} +6 -4
  97. package/dist/{refund-reason-edit-ZTSUQ7IF.js → refund-reason-edit-WEEQQGYO.js} +6 -4
  98. package/dist/{refund-reason-list-FYROEGE3.js → refund-reason-list-ECQKWA2M.js} +12 -9
  99. package/dist/{region-metadata-R4EIHSPF.js → region-metadata-IYIHJCTK.js} +6 -4
  100. package/dist/{reservation-detail-MKH3WGNU.js → reservation-detail-J4M2EXRY.js} +6 -4
  101. package/dist/{reservation-metadata-W3BBPRGI.js → reservation-metadata-MMHE4TPO.js} +6 -4
  102. package/dist/{reset-password-EEDB3CUC.js → reset-password-WNANNJDX.js} +1 -1
  103. package/dist/{return-reason-list-B32WYMI2.js → return-reason-list-MRYG7ZK7.js} +11 -10
  104. package/dist/{sales-channel-add-products-LHMQAZUR.js → sales-channel-add-products-GP7TMMKB.js} +8 -6
  105. package/dist/{sales-channel-detail-MYCYNGWP.js → sales-channel-detail-RMU5QW3N.js} +8 -6
  106. package/dist/{sales-channel-list-UK62MLV6.js → sales-channel-list-2ZUNUM2T.js} +6 -4
  107. package/dist/{sales-channel-metadata-YQG6HIJA.js → sales-channel-metadata-QF5KEN7C.js} +6 -4
  108. package/dist/seller-address-edit-ZD3CYNHQ.js +223 -0
  109. package/dist/{seller-details-MSDVT5IO.js → seller-details-EUCYPH4Z.js} +171 -228
  110. package/dist/{seller-edit-RUYGO7CB.js → seller-edit-DL7IFKVU.js} +5 -212
  111. package/dist/{seller-list-B45KDWT7.js → seller-list-W76S2T27.js} +44 -3
  112. package/dist/{shipping-option-type-create-MPIM2Y2U.js → shipping-option-type-create-KBQMPNIW.js} +6 -4
  113. package/dist/{shipping-option-type-detail-FTLW2VVA.js → shipping-option-type-detail-CFGKF7NV.js} +7 -5
  114. package/dist/{shipping-option-type-edit-AAKLLV23.js → shipping-option-type-edit-S3R6JBFV.js} +6 -4
  115. package/dist/{shipping-option-type-list-UDGLHQWB.js → shipping-option-type-list-4A7FT4P5.js} +7 -5
  116. package/dist/{shipping-profile-metadata-D74JJSCX.js → shipping-profile-metadata-BJFUYS5L.js} +6 -4
  117. package/dist/{tax-region-create-JNOTV4L4.js → tax-region-create-KTFZNQCZ.js} +7 -5
  118. package/dist/{tax-region-detail-EKF3UNHB.js → tax-region-detail-L3EB6JSF.js} +38 -20
  119. package/dist/{tax-region-edit-4RUDAWE6.js → tax-region-edit-H2ORQVEW.js} +6 -4
  120. package/dist/{tax-region-metadata-7DE72RDE.js → tax-region-metadata-2PYZ5ECB.js} +6 -4
  121. package/dist/{tax-region-province-detail-ENOLU5SV.js → tax-region-province-detail-PB7RFWJ4.js} +8 -6
  122. package/dist/{tax-region-tax-override-create-EAUDM7RZ.js → tax-region-tax-override-create-IDGG732M.js} +28 -23
  123. package/dist/{tax-region-tax-override-edit-H5I3E3AJ.js → tax-region-tax-override-edit-NSBZBBZA.js} +28 -23
  124. package/dist/{user-metadata-4EBEIV3V.js → user-metadata-QFVK2VJX.js} +6 -4
  125. package/package.json +6 -6
  126. package/dist/order-list-Y3CNRMSU.js +0 -235
  127. package/dist/{chunk-O4E3MAKS.js → chunk-BGDOVLJF.js} +3 -3
  128. package/dist/{location-service-zone-shipping-option-edit-TBJ3NSBP.js → location-service-zone-shipping-option-edit-SSMGORBF.js} +3 -3
  129. package/dist/{order-create-return-63NO5ODU.js → order-create-return-LH4LW5BZ.js} +3 -3
@@ -0,0 +1,441 @@
1
+ import "./chunk-LTBX54CI.js";
2
+ import {
3
+ SectionRow
4
+ } from "./chunk-3XPXUIK3.js";
5
+ import {
6
+ SingleColumnPage
7
+ } from "./chunk-U2UCL2VG.js";
8
+ import {
9
+ SingleColumnPageSkeleton
10
+ } from "./chunk-INNFZYX2.js";
11
+ import {
12
+ ActionMenu
13
+ } from "./chunk-BDGZ4EQO.js";
14
+ import "./chunk-LAVHRER2.js";
15
+ import "./chunk-Y7QKP6QU.js";
16
+ import "./chunk-XM6GCWNF.js";
17
+ import "./chunk-ODBDAABQ.js";
18
+ import "./chunk-CDQJKJMX.js";
19
+ import "./chunk-JLATVDLM.js";
20
+ import "./chunk-GPRBBA7S.js";
21
+ import {
22
+ useProductTypes
23
+ } from "./chunk-E7ZBQO6E.js";
24
+ import "./chunk-XGHM75N2.js";
25
+ import "./chunk-U2GCSKW3.js";
26
+ import "./chunk-RTAIDSDS.js";
27
+ import "./chunk-LW3UWYZU.js";
28
+ import {
29
+ commissionRatesQueryKeys,
30
+ useCommissionRate,
31
+ useDeleteCommissionRate,
32
+ useUpdateCommissionRate
33
+ } from "./chunk-A4X5VP3G.js";
34
+ import "./chunk-NNZP4PYP.js";
35
+ import "./chunk-GF4QHVX3.js";
36
+ import "./chunk-JOQ3RTF5.js";
37
+ import "./chunk-V534K7G4.js";
38
+ import "./chunk-A5XOYSDC.js";
39
+ import "./chunk-TQI3DOQ5.js";
40
+ import "./chunk-5PB7KCTF.js";
41
+ import {
42
+ useShippingOptions
43
+ } from "./chunk-YOIARITB.js";
44
+ import "./chunk-W7G64ULL.js";
45
+ import "./chunk-6C7TCU42.js";
46
+ import "./chunk-4YF3GAKE.js";
47
+ import "./chunk-M3I52H3M.js";
48
+ import "./chunk-LORVU5II.js";
49
+ import "./chunk-36ORDF7W.js";
50
+ import "./chunk-QSM56ZOP.js";
51
+ import "./chunk-MIHEJ6Y6.js";
52
+ import "./chunk-3VZV6SJQ.js";
53
+ import {
54
+ useProducts
55
+ } from "./chunk-K357FGGP.js";
56
+ import {
57
+ queryClient
58
+ } from "./chunk-RHKRREUU.js";
59
+ import "./chunk-ZA2KFUFR.js";
60
+ import {
61
+ sdk
62
+ } from "./chunk-ZYNBKBY3.js";
63
+ import "./chunk-NBMM2TZK.js";
64
+
65
+ // src/pages/commission-rates/commission-rate-detail/breadcrumb.tsx
66
+ import { jsx } from "react/jsx-runtime";
67
+ var CommissionRateDetailBreadcrumb = (props) => {
68
+ const { id } = props.params || {};
69
+ const { commission_rate } = useCommissionRate(id, void 0, {
70
+ initialData: props.data,
71
+ enabled: Boolean(id)
72
+ });
73
+ if (!commission_rate) {
74
+ return null;
75
+ }
76
+ return /* @__PURE__ */ jsx("span", { children: commission_rate.name });
77
+ };
78
+
79
+ // src/pages/commission-rates/commission-rate-detail/loader.ts
80
+ var commissionRateQuery = (id) => ({
81
+ queryKey: commissionRatesQueryKeys.detail(id),
82
+ queryFn: async () => sdk.admin.commissionRates.$id.query({ $id: id, fields: "*rules" })
83
+ });
84
+ var commissionRateLoader = async ({
85
+ params
86
+ }) => {
87
+ const id = params.id;
88
+ const query = commissionRateQuery(id);
89
+ return queryClient.getQueryData(query.queryKey) ?? await queryClient.fetchQuery(query);
90
+ };
91
+
92
+ // src/pages/commission-rates/commission-rate-detail/commission-rate-detail.tsx
93
+ import { useLoaderData, useParams } from "react-router-dom";
94
+
95
+ // src/pages/commission-rates/commission-rate-detail/components/commission-rate-general-section/commission-rate-general-section.tsx
96
+ import { PencilSquare, Trash, XCircle, CheckCircle } from "@medusajs/icons";
97
+ import { Badge, Container, Heading, StatusBadge, toast, usePrompt } from "@medusajs/ui";
98
+ import { useTranslation } from "react-i18next";
99
+ import { useNavigate } from "react-router-dom";
100
+ import { jsx as jsx2, jsxs } from "react/jsx-runtime";
101
+ var CommissionRateGeneralSection = ({
102
+ commissionRate
103
+ }) => {
104
+ const formatValue = () => {
105
+ if (commissionRate.type === "percentage") {
106
+ return `${commissionRate.value}%`;
107
+ }
108
+ return commissionRate.currency_code ? `${commissionRate.value} ${commissionRate.currency_code.toUpperCase()}` : `${commissionRate.value}`;
109
+ };
110
+ return /* @__PURE__ */ jsxs(Container, { className: "divide-y p-0", children: [
111
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between px-6 py-4", children: [
112
+ /* @__PURE__ */ jsx2(Heading, { children: commissionRate.name }),
113
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-4", children: [
114
+ /* @__PURE__ */ jsx2(StatusBadge, { color: commissionRate.is_enabled ? "green" : "grey", children: commissionRate.is_enabled ? "Enabled" : "Disabled" }),
115
+ /* @__PURE__ */ jsx2(CommissionRateActions, { commissionRate })
116
+ ] })
117
+ ] }),
118
+ /* @__PURE__ */ jsx2(
119
+ SectionRow,
120
+ {
121
+ title: "Code",
122
+ value: /* @__PURE__ */ jsx2(Badge, { size: "2xsmall", className: "uppercase", children: commissionRate.code })
123
+ }
124
+ ),
125
+ /* @__PURE__ */ jsx2(
126
+ SectionRow,
127
+ {
128
+ title: "Type",
129
+ value: /* @__PURE__ */ jsx2(
130
+ Badge,
131
+ {
132
+ size: "2xsmall",
133
+ color: commissionRate.type === "percentage" ? "blue" : "grey",
134
+ children: commissionRate.type === "percentage" ? "Percentage" : "Fixed"
135
+ }
136
+ )
137
+ }
138
+ ),
139
+ /* @__PURE__ */ jsx2(SectionRow, { title: "Value", value: formatValue() }),
140
+ /* @__PURE__ */ jsx2(
141
+ SectionRow,
142
+ {
143
+ title: "Target",
144
+ value: commissionRate.target === "item" ? "Item" : "Shipping"
145
+ }
146
+ ),
147
+ /* @__PURE__ */ jsx2(
148
+ SectionRow,
149
+ {
150
+ title: "Include Tax",
151
+ value: commissionRate.include_tax ? "Yes" : "No"
152
+ }
153
+ ),
154
+ /* @__PURE__ */ jsx2(SectionRow, { title: "Priority", value: String(commissionRate.priority) }),
155
+ commissionRate.min_amount != null && /* @__PURE__ */ jsx2(
156
+ SectionRow,
157
+ {
158
+ title: "Minimum Amount",
159
+ value: commissionRate.currency_code ? `${commissionRate.min_amount} ${commissionRate.currency_code.toUpperCase()}` : String(commissionRate.min_amount)
160
+ }
161
+ )
162
+ ] });
163
+ };
164
+ var CommissionRateActions = ({
165
+ commissionRate
166
+ }) => {
167
+ const navigate = useNavigate();
168
+ const { t } = useTranslation();
169
+ const { mutateAsync } = useDeleteCommissionRate(commissionRate.id);
170
+ const { mutateAsync: updateCommissionRate } = useUpdateCommissionRate(commissionRate.id);
171
+ const prompt = usePrompt();
172
+ const handleToggleEnabled = async () => {
173
+ const newEnabled = !commissionRate.is_enabled;
174
+ await updateCommissionRate(
175
+ { is_enabled: newEnabled },
176
+ {
177
+ onSuccess: () => {
178
+ toast.success(
179
+ newEnabled ? "Commission rate enabled successfully" : "Commission rate disabled successfully"
180
+ );
181
+ },
182
+ onError: (e) => {
183
+ toast.error(e.message);
184
+ }
185
+ }
186
+ );
187
+ };
188
+ const handleDelete = async () => {
189
+ const res = await prompt({
190
+ title: t("general.areYouSure"),
191
+ description: `Are you sure you want to delete the commission rate "${commissionRate.name}"?`,
192
+ confirmText: t("actions.delete"),
193
+ cancelText: t("actions.cancel")
194
+ });
195
+ if (!res) {
196
+ return;
197
+ }
198
+ await mutateAsync(void 0, {
199
+ onSuccess: () => {
200
+ toast.success("Commission rate deleted successfully");
201
+ navigate("/settings/commission-rates", { replace: true });
202
+ },
203
+ onError: (e) => {
204
+ toast.error(e.message);
205
+ }
206
+ });
207
+ };
208
+ return /* @__PURE__ */ jsx2(
209
+ ActionMenu,
210
+ {
211
+ groups: [
212
+ {
213
+ actions: [
214
+ {
215
+ icon: /* @__PURE__ */ jsx2(PencilSquare, {}),
216
+ label: t("actions.edit"),
217
+ to: `/settings/commission-rates/${commissionRate.id}/edit`
218
+ },
219
+ {
220
+ icon: commissionRate.is_enabled ? /* @__PURE__ */ jsx2(XCircle, {}) : /* @__PURE__ */ jsx2(CheckCircle, {}),
221
+ label: commissionRate.is_enabled ? t("actions.disable") : t("actions.enable"),
222
+ onClick: handleToggleEnabled
223
+ }
224
+ ]
225
+ },
226
+ {
227
+ actions: [
228
+ {
229
+ icon: /* @__PURE__ */ jsx2(Trash, {}),
230
+ label: t("actions.delete"),
231
+ onClick: handleDelete
232
+ }
233
+ ]
234
+ }
235
+ ]
236
+ }
237
+ );
238
+ };
239
+
240
+ // src/pages/commission-rates/commission-rate-detail/components/commission-rate-rules-section/commission-rate-rules-section.tsx
241
+ import { ArrowDownRightMini } from "@medusajs/icons";
242
+ import {
243
+ Badge as Badge2,
244
+ Container as Container2,
245
+ Heading as Heading2,
246
+ Text,
247
+ Tooltip
248
+ } from "@medusajs/ui";
249
+ import { useTranslation as useTranslation2 } from "react-i18next";
250
+ import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
251
+ var CommissionRateRulesSection = ({
252
+ commissionRate
253
+ }) => {
254
+ const { t } = useTranslation2();
255
+ const rules = commissionRate.rules || [];
256
+ const groupedRules = rules.reduce(
257
+ (acc, rule) => {
258
+ if (!acc[rule.reference]) {
259
+ acc[rule.reference] = [];
260
+ }
261
+ acc[rule.reference].push(rule.reference_id);
262
+ return acc;
263
+ },
264
+ {}
265
+ );
266
+ const entries = Object.entries(groupedRules);
267
+ return /* @__PURE__ */ jsxs2(Container2, { className: "divide-y p-0", children: [
268
+ /* @__PURE__ */ jsx3("div", { className: "flex items-center justify-between px-6 py-4", children: /* @__PURE__ */ jsx3(Heading2, { level: "h2", children: t("taxRegions.fields.targets.label") }) }),
269
+ entries.length === 0 ? /* @__PURE__ */ jsx3("div", { className: "flex items-center justify-center px-6 py-8", children: /* @__PURE__ */ jsx3(Text, { size: "small", className: "text-ui-fg-subtle", children: "No rules configured" }) }) : /* @__PURE__ */ jsx3("div", { className: "px-6 py-4", children: /* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-x-3", children: [
270
+ /* @__PURE__ */ jsx3("div", { className: "text-ui-fg-muted flex size-5 items-center justify-center", children: /* @__PURE__ */ jsx3(ArrowDownRightMini, {}) }),
271
+ /* @__PURE__ */ jsxs2("div", { className: "flex flex-wrap items-center gap-x-1.5 gap-y-2", children: [
272
+ /* @__PURE__ */ jsx3(
273
+ Text,
274
+ {
275
+ size: "small",
276
+ leading: "compact",
277
+ className: "text-ui-fg-subtle",
278
+ children: t("taxRegions.fields.targets.operators.on")
279
+ }
280
+ ),
281
+ entries.map(([reference, ids], index) => {
282
+ return /* @__PURE__ */ jsxs2(
283
+ "div",
284
+ {
285
+ className: "flex items-center gap-x-1.5",
286
+ children: [
287
+ /* @__PURE__ */ jsx3(
288
+ Reference,
289
+ {
290
+ reference,
291
+ ids
292
+ }
293
+ ),
294
+ index < entries.length - 1 && /* @__PURE__ */ jsx3(
295
+ Text,
296
+ {
297
+ size: "small",
298
+ leading: "compact",
299
+ className: "text-ui-fg-subtle",
300
+ children: t("taxRegions.fields.targets.operators.and")
301
+ }
302
+ )
303
+ ]
304
+ },
305
+ reference
306
+ );
307
+ })
308
+ ] })
309
+ ] }) })
310
+ ] });
311
+ };
312
+ var Reference = ({
313
+ reference,
314
+ ids
315
+ }) => {
316
+ return /* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-x-1.5", children: [
317
+ /* @__PURE__ */ jsx3(ReferenceBadge, { reference }),
318
+ /* @__PURE__ */ jsx3(ReferenceValues, { type: reference, ids })
319
+ ] });
320
+ };
321
+ var ReferenceBadge = ({
322
+ reference
323
+ }) => {
324
+ const { t } = useTranslation2();
325
+ let label = null;
326
+ switch (reference) {
327
+ case "product" /* PRODUCT */:
328
+ label = t("taxRegions.fields.targets.tags.product");
329
+ break;
330
+ case "product_type" /* PRODUCT_TYPE */:
331
+ label = t("taxRegions.fields.targets.tags.productType");
332
+ break;
333
+ case "shipping_option" /* SHIPPING_OPTION */:
334
+ label = t("taxRegions.fields.targets.tags.shippingOption");
335
+ break;
336
+ }
337
+ if (!label) {
338
+ return null;
339
+ }
340
+ return /* @__PURE__ */ jsx3(Badge2, { size: "2xsmall", children: label });
341
+ };
342
+ var ReferenceValues = ({
343
+ type,
344
+ ids
345
+ }) => {
346
+ const { t } = useTranslation2();
347
+ const { isPending, additional, labels, isError, error } = useReferenceValues(
348
+ type,
349
+ ids
350
+ );
351
+ if (isError) {
352
+ throw error;
353
+ }
354
+ if (isPending) {
355
+ return /* @__PURE__ */ jsx3("div", { className: "bg-ui-tag-neutral-bg border-ui-tag-neutral-border h-5 w-14 animate-pulse rounded-md" });
356
+ }
357
+ return /* @__PURE__ */ jsx3(
358
+ Tooltip,
359
+ {
360
+ content: /* @__PURE__ */ jsxs2("ul", { children: [
361
+ labels?.map((label, index) => /* @__PURE__ */ jsx3("li", { children: label }, index)),
362
+ additional > 0 && /* @__PURE__ */ jsx3("li", { children: t("taxRegions.fields.targets.additionalValues", {
363
+ count: additional
364
+ }) })
365
+ ] }),
366
+ children: /* @__PURE__ */ jsx3(Badge2, { size: "2xsmall", children: t("taxRegions.fields.targets.values", {
367
+ count: ids.length
368
+ }) })
369
+ }
370
+ );
371
+ };
372
+ var useReferenceValues = (type, ids) => {
373
+ const products = useProducts(
374
+ { id: ids, limit: 10 },
375
+ { enabled: !!ids.length && type === "product" /* PRODUCT */ }
376
+ );
377
+ const productTypes = useProductTypes(
378
+ { id: ids, limit: 10 },
379
+ { enabled: !!ids.length && type === "product_type" /* PRODUCT_TYPE */ }
380
+ );
381
+ const shippingOptions = useShippingOptions(
382
+ { id: ids, limit: 10 },
383
+ {
384
+ enabled: !!ids.length && type === "shipping_option" /* SHIPPING_OPTION */
385
+ }
386
+ );
387
+ switch (type) {
388
+ case "product" /* PRODUCT */:
389
+ return {
390
+ labels: products.products?.map((product) => product.title),
391
+ isPending: products.isPending,
392
+ additional: products.products && products.count ? products.count - products.products.length : 0,
393
+ isError: products.isError,
394
+ error: products.error
395
+ };
396
+ case "product_type" /* PRODUCT_TYPE */:
397
+ return {
398
+ labels: productTypes.product_types?.map((type2) => type2.value),
399
+ isPending: productTypes.isPending,
400
+ additional: productTypes.product_types && productTypes.count ? productTypes.count - productTypes.product_types.length : 0,
401
+ isError: productTypes.isError,
402
+ error: productTypes.error
403
+ };
404
+ case "shipping_option" /* SHIPPING_OPTION */:
405
+ return {
406
+ labels: shippingOptions.shipping_options?.map((option) => option.name),
407
+ isPending: shippingOptions.isPending,
408
+ additional: shippingOptions.count ? shippingOptions.count - (shippingOptions.shipping_options?.length || 0) : 0,
409
+ isError: shippingOptions.isError,
410
+ error: shippingOptions.error
411
+ };
412
+ }
413
+ };
414
+
415
+ // src/pages/commission-rates/commission-rate-detail/commission-rate-detail.tsx
416
+ import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
417
+ var CommissionRateDetail = () => {
418
+ const initialData = useLoaderData();
419
+ const { id } = useParams();
420
+ const {
421
+ commission_rate,
422
+ isPending: isLoading,
423
+ isError,
424
+ error
425
+ } = useCommissionRate(id, { fields: "*rules" }, { initialData });
426
+ if (isLoading || !commission_rate) {
427
+ return /* @__PURE__ */ jsx4(SingleColumnPageSkeleton, { sections: 2, showJSON: true, showMetadata: true });
428
+ }
429
+ if (isError) {
430
+ throw error;
431
+ }
432
+ return /* @__PURE__ */ jsxs3(SingleColumnPage, { data: commission_rate, showJSON: true, showMetadata: true, children: [
433
+ /* @__PURE__ */ jsx4(CommissionRateGeneralSection, { commissionRate: commission_rate }),
434
+ /* @__PURE__ */ jsx4(CommissionRateRulesSection, { commissionRate: commission_rate })
435
+ ] });
436
+ };
437
+ export {
438
+ CommissionRateDetailBreadcrumb as Breadcrumb,
439
+ CommissionRateDetail as Component,
440
+ commissionRateLoader as loader
441
+ };