@mercurjs/admin 2.3.2-canary.0 → 2.3.2-canary.1
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/dist/{add-campaign-promotions-S4HKMFU7.js → add-campaign-promotions-NZ62V2LH.js} +3 -3
- package/dist/{campaign-detail-WPTZDDD5.js → campaign-detail-KZWQLIS5.js} +4 -4
- package/dist/{chunk-7PGZV6DQ.js → chunk-3W4T2KGY.js} +1 -1
- package/dist/{chunk-VKVK5D2F.js → chunk-4KULFU3V.js} +1 -1
- package/dist/{chunk-NKZLCOFU.js → chunk-ADI5XIXM.js} +1 -1
- package/dist/{chunk-6ZVRNI5K.js → chunk-AV6HBMRX.js} +1 -1
- package/dist/{chunk-7ZY7R6PG.js → chunk-GYHF5XBU.js} +1 -1
- package/dist/{chunk-H7HNJFQA.js → chunk-MIVPIACG.js} +1 -1
- package/dist/{chunk-NN6PSWE4.js → chunk-OQLWF43Y.js} +5 -1
- package/dist/{chunk-6XJUYY6G.js → chunk-PNLDVYCP.js} +1 -1
- package/dist/chunk-PVEB24HU.js +208 -0
- package/dist/{chunk-N5IUYCUZ.js → chunk-UYQY4B7J.js} +4 -2
- package/dist/{collection-list-LM5SH67K.js → collection-list-GMAYML6Z.js} +1 -1
- package/dist/index.js +68 -40
- package/dist/{order-edit-billing-address-2BSCXUTK.js → order-edit-billing-address-QCVPGEL6.js} +1 -1
- package/dist/{order-list-GQ5IOA6I.js → order-list-WGQC2X2L.js} +1 -1
- package/dist/pages/index.js +9 -9
- package/dist/{product-create-A7774JYE.js → product-create-QS5KIHET.js} +3 -3
- package/dist/{product-media-ROKDXANO.js → product-media-UHDJ6RSG.js} +2 -2
- package/dist/{product-organization-XS62HARL.js → product-organization-IX5XCZW4.js} +1 -1
- package/dist/{product-tag-detail-7P7MI52E.js → product-tag-detail-2YR6TXZI.js} +1 -1
- package/dist/{product-tag-list-43NFD36I.js → product-tag-list-3HOXFHMN.js} +1 -1
- package/dist/{promotion-detail-4WNHEOG4.js → promotion-detail-ADTUSGD4.js} +3 -3
- package/dist/{promotion-list-AJ5NBDZ2.js → promotion-list-MRNS47TP.js} +4 -4
- package/dist/{refund-reason-list-R573DHM7.js → refund-reason-list-ODOF3ZLM.js} +1 -1
- package/dist/{reset-password-7G75C4RO.js → reset-password-N4LXTU3G.js} +1 -1
- package/dist/{return-reason-list-A2RABTGP.js → return-reason-list-AVCC44CH.js} +1 -1
- package/dist/{store-details-GOVF3KFW.js → store-details-KI5D4VSI.js} +1 -1
- package/dist/{store-edit-W6NHNE3S.js → store-edit-B54LFFLE.js} +2 -2
- package/dist/{store-list-OKKZA7VO.js → store-list-3KZCD7UB.js} +1 -1
- package/dist/{tax-region-create-P4IKQNTU.js → tax-region-create-DVBIX7IX.js} +1 -1
- package/dist/{tax-region-tax-override-create-7O3KDBUJ.js → tax-region-tax-override-create-XZ5BU2FP.js} +1 -1
- package/dist/{tax-region-tax-override-edit-SUL5VZ5D.js → tax-region-tax-override-edit-R4EGIUIZ.js} +1 -1
- package/dist/{user-invite-WG57KWD3.js → user-invite-WHBNPT4I.js} +127 -27
- package/package.json +6 -6
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
usePromotionTableColumns,
|
|
3
3
|
usePromotionTableQuery
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-GYHF5XBU.js";
|
|
5
5
|
import {
|
|
6
6
|
usePromotionTableFilters
|
|
7
7
|
} from "./chunk-J4SYK3RT.js";
|
|
8
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-ADI5XIXM.js";
|
|
9
9
|
import "./chunk-JHIMVLB2.js";
|
|
10
10
|
import "./chunk-MDABSESI.js";
|
|
11
11
|
import "./chunk-FMFVTERD.js";
|
|
12
12
|
import "./chunk-PHOCVOZ5.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-OQLWF43Y.js";
|
|
14
14
|
import "./chunk-TKGWSUEI.js";
|
|
15
15
|
import {
|
|
16
16
|
KeyboundForm
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CAMPAIGN_DETAIL_FIELDS,
|
|
3
3
|
CampaignDetailPage
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-AV6HBMRX.js";
|
|
5
5
|
import "./chunk-WP3B4NEU.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-GYHF5XBU.js";
|
|
7
7
|
import "./chunk-J4SYK3RT.js";
|
|
8
8
|
import "./chunk-RK5N3XIX.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-ADI5XIXM.js";
|
|
10
10
|
import "./chunk-JHIMVLB2.js";
|
|
11
11
|
import "./chunk-MDABSESI.js";
|
|
12
12
|
import "./chunk-FMFVTERD.js";
|
|
13
13
|
import "./chunk-PHOCVOZ5.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-OQLWF43Y.js";
|
|
15
15
|
import "./chunk-E74OUNA3.js";
|
|
16
16
|
import "./chunk-H6MYB7GB.js";
|
|
17
17
|
import "./chunk-THHRRYRS.js";
|
|
@@ -15666,7 +15666,11 @@ var en_default = {
|
|
|
15666
15666
|
},
|
|
15667
15667
|
deleteUserWarning: "You are about to delete the user {{name}}. This action cannot be undone.",
|
|
15668
15668
|
deleteUserSuccess: "User {{name}} was successfully removed.",
|
|
15669
|
-
invite: "Invite"
|
|
15669
|
+
invite: "Invite",
|
|
15670
|
+
inviteRolesTooltip: "If no role is selected, the user will be invited with a superuser role."
|
|
15671
|
+
},
|
|
15672
|
+
roles: {
|
|
15673
|
+
domain: "Roles"
|
|
15670
15674
|
},
|
|
15671
15675
|
marketplace: {
|
|
15672
15676
|
domain: "Marketplace",
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import {
|
|
2
|
+
fetchQuery,
|
|
3
|
+
sdk
|
|
4
|
+
} from "./chunk-DTGEFKK4.js";
|
|
5
|
+
|
|
6
|
+
// src/providers/feature-flag-provider/index.tsx
|
|
7
|
+
import { createContext, useCallback, useContext, useMemo } from "react";
|
|
8
|
+
|
|
9
|
+
// src/hooks/api/feature-flags.tsx
|
|
10
|
+
import { useQuery } from "@tanstack/react-query";
|
|
11
|
+
var useFeatureFlags = () => {
|
|
12
|
+
return useQuery({
|
|
13
|
+
queryKey: ["admin", "feature-flags"],
|
|
14
|
+
queryFn: async () => {
|
|
15
|
+
const response = await fetchQuery("/admin/feature-flags", {
|
|
16
|
+
method: "GET"
|
|
17
|
+
});
|
|
18
|
+
return response.feature_flags;
|
|
19
|
+
},
|
|
20
|
+
staleTime: 5 * 60 * 1e3,
|
|
21
|
+
gcTime: 10 * 60 * 1e3
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
// src/providers/feature-flag-provider/index.tsx
|
|
26
|
+
import { jsx } from "react/jsx-runtime";
|
|
27
|
+
var FeatureFlagContext = createContext(null);
|
|
28
|
+
var useFeatureFlag = (flag) => {
|
|
29
|
+
const context = useContext(FeatureFlagContext);
|
|
30
|
+
if (!context) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
return context.isFeatureEnabled(flag);
|
|
34
|
+
};
|
|
35
|
+
var FeatureFlagProvider = ({
|
|
36
|
+
children
|
|
37
|
+
}) => {
|
|
38
|
+
const { data: flags = {}, isLoading } = useFeatureFlags();
|
|
39
|
+
const isFeatureEnabled = useCallback(
|
|
40
|
+
(flag) => {
|
|
41
|
+
return flags[flag] === true;
|
|
42
|
+
},
|
|
43
|
+
[flags]
|
|
44
|
+
);
|
|
45
|
+
const value = useMemo(
|
|
46
|
+
() => ({ flags, isLoading, isFeatureEnabled }),
|
|
47
|
+
[flags, isLoading, isFeatureEnabled]
|
|
48
|
+
);
|
|
49
|
+
return /* @__PURE__ */ jsx(FeatureFlagContext.Provider, { value, children });
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
// src/providers/permissions-provider/permissions-context.tsx
|
|
53
|
+
import { createContext as createContext2 } from "react";
|
|
54
|
+
var PermissionsContext = createContext2(null);
|
|
55
|
+
|
|
56
|
+
// src/providers/permissions-provider/permissions-provider.tsx
|
|
57
|
+
import { useCallback as useCallback2, useMemo as useMemo2 } from "react";
|
|
58
|
+
|
|
59
|
+
// src/lib/permissions/constants.ts
|
|
60
|
+
var OPERATION_IMPLICATIONS = {
|
|
61
|
+
read: ["read"],
|
|
62
|
+
create: ["create"],
|
|
63
|
+
update: ["update"],
|
|
64
|
+
delete: ["delete"],
|
|
65
|
+
"*": ["read", "create", "update", "delete", "*"]
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
// src/lib/permissions/utils.ts
|
|
69
|
+
function parsePermission(permission) {
|
|
70
|
+
const parts = permission.split(":");
|
|
71
|
+
if (parts.length !== 2) {
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
const [resource, operation] = parts;
|
|
75
|
+
return {
|
|
76
|
+
resource,
|
|
77
|
+
operation
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
function buildPermission(resource, operation) {
|
|
81
|
+
return `${resource}:${operation}`;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// src/providers/permissions-provider/permissions-provider.tsx
|
|
85
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
86
|
+
var PermissionsProvider = ({
|
|
87
|
+
policy,
|
|
88
|
+
isLoading = false,
|
|
89
|
+
isRbacEnabled = true,
|
|
90
|
+
children
|
|
91
|
+
}) => {
|
|
92
|
+
const permissionsMap = useMemo2(() => {
|
|
93
|
+
const index = /* @__PURE__ */ Object.create(null);
|
|
94
|
+
for (const granted of policy?.permissions ?? []) {
|
|
95
|
+
const parsed = parsePermission(granted);
|
|
96
|
+
if (!parsed) {
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
const { resource, operation } = parsed;
|
|
100
|
+
const impliedOperations = OPERATION_IMPLICATIONS[operation] || [operation];
|
|
101
|
+
for (const impliedOperation of impliedOperations) {
|
|
102
|
+
index[buildPermission(resource, impliedOperation)] = true;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return index;
|
|
106
|
+
}, [policy]);
|
|
107
|
+
const hasPermission = useCallback2(
|
|
108
|
+
(permission) => {
|
|
109
|
+
if (!isRbacEnabled) {
|
|
110
|
+
return true;
|
|
111
|
+
}
|
|
112
|
+
return !!permissionsMap[permission];
|
|
113
|
+
},
|
|
114
|
+
[isRbacEnabled, permissionsMap]
|
|
115
|
+
);
|
|
116
|
+
const hasAnyPermission = useCallback2(
|
|
117
|
+
(permissions) => {
|
|
118
|
+
if (!isRbacEnabled) {
|
|
119
|
+
return true;
|
|
120
|
+
}
|
|
121
|
+
if (!permissions?.length) {
|
|
122
|
+
return false;
|
|
123
|
+
}
|
|
124
|
+
return permissions.some(hasPermission);
|
|
125
|
+
},
|
|
126
|
+
[isRbacEnabled, hasPermission]
|
|
127
|
+
);
|
|
128
|
+
const hasAllPermissions = useCallback2(
|
|
129
|
+
(permissions) => {
|
|
130
|
+
if (!isRbacEnabled) {
|
|
131
|
+
return true;
|
|
132
|
+
}
|
|
133
|
+
if (!permissions?.length) {
|
|
134
|
+
return false;
|
|
135
|
+
}
|
|
136
|
+
return permissions.every(hasPermission);
|
|
137
|
+
},
|
|
138
|
+
[isRbacEnabled, hasPermission]
|
|
139
|
+
);
|
|
140
|
+
const can = useCallback2(
|
|
141
|
+
(resource, operation) => {
|
|
142
|
+
if (!isRbacEnabled) {
|
|
143
|
+
return true;
|
|
144
|
+
}
|
|
145
|
+
return !!permissionsMap[buildPermission(resource, operation)];
|
|
146
|
+
},
|
|
147
|
+
[isRbacEnabled, permissionsMap]
|
|
148
|
+
);
|
|
149
|
+
const value = useMemo2(
|
|
150
|
+
() => ({
|
|
151
|
+
policy,
|
|
152
|
+
isLoading,
|
|
153
|
+
hasPermission,
|
|
154
|
+
hasAnyPermission,
|
|
155
|
+
hasAllPermissions,
|
|
156
|
+
can
|
|
157
|
+
}),
|
|
158
|
+
[policy, isLoading, hasPermission, hasAnyPermission, hasAllPermissions, can]
|
|
159
|
+
);
|
|
160
|
+
return /* @__PURE__ */ jsx2(PermissionsContext.Provider, { value, children });
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
// src/providers/permissions-provider/use-permissions.tsx
|
|
164
|
+
import { useContext as useContext2 } from "react";
|
|
165
|
+
var usePermissions = () => {
|
|
166
|
+
const context = useContext2(PermissionsContext);
|
|
167
|
+
if (!context) {
|
|
168
|
+
throw new Error(
|
|
169
|
+
"usePermissions must be used within a PermissionsProvider"
|
|
170
|
+
);
|
|
171
|
+
}
|
|
172
|
+
return context;
|
|
173
|
+
};
|
|
174
|
+
|
|
175
|
+
// src/hooks/api/rbac-roles.tsx
|
|
176
|
+
import { useQuery as useQuery2 } from "@tanstack/react-query";
|
|
177
|
+
var ME_PERMISSIONS_QUERY_KEY = ["rbac_me_permissions"];
|
|
178
|
+
var mePermissionsQueryKey = ME_PERMISSIONS_QUERY_KEY;
|
|
179
|
+
var useMePermissions = (options) => {
|
|
180
|
+
return useQuery2({
|
|
181
|
+
queryFn: () => sdk.admin.rbac.me.permissions.query(
|
|
182
|
+
{}
|
|
183
|
+
),
|
|
184
|
+
queryKey: mePermissionsQueryKey,
|
|
185
|
+
staleTime: 5 * 60 * 1e3,
|
|
186
|
+
...options
|
|
187
|
+
});
|
|
188
|
+
};
|
|
189
|
+
var ASSIGNABLE_ROLES_QUERY_KEY = ["rbac_assignable_roles"];
|
|
190
|
+
var useRbacAssignableRoles = (query, options) => {
|
|
191
|
+
return useQuery2({
|
|
192
|
+
queryFn: () => sdk.admin.rbac.roles.assignable.query({
|
|
193
|
+
...query
|
|
194
|
+
}),
|
|
195
|
+
queryKey: [...ASSIGNABLE_ROLES_QUERY_KEY, query],
|
|
196
|
+
staleTime: 5 * 60 * 1e3,
|
|
197
|
+
...options
|
|
198
|
+
});
|
|
199
|
+
};
|
|
200
|
+
|
|
201
|
+
export {
|
|
202
|
+
useFeatureFlag,
|
|
203
|
+
FeatureFlagProvider,
|
|
204
|
+
PermissionsProvider,
|
|
205
|
+
usePermissions,
|
|
206
|
+
useMePermissions,
|
|
207
|
+
useRbacAssignableRoles
|
|
208
|
+
};
|
|
@@ -5,7 +5,8 @@ import {
|
|
|
5
5
|
// src/hooks/table/query/use-user-invite-table-query.tsx
|
|
6
6
|
var useUserInviteTableQuery = ({
|
|
7
7
|
prefix,
|
|
8
|
-
pageSize = 20
|
|
8
|
+
pageSize = 20,
|
|
9
|
+
fields
|
|
9
10
|
}) => {
|
|
10
11
|
const queryObject = useQueryParams(
|
|
11
12
|
["offset", "q", "order", "created_at", "updated_at"],
|
|
@@ -18,7 +19,8 @@ var useUserInviteTableQuery = ({
|
|
|
18
19
|
order,
|
|
19
20
|
created_at: created_at ? JSON.parse(created_at) : void 0,
|
|
20
21
|
updated_at: updated_at ? JSON.parse(updated_at) : void 0,
|
|
21
|
-
q
|
|
22
|
+
q,
|
|
23
|
+
fields
|
|
22
24
|
};
|
|
23
25
|
return {
|
|
24
26
|
searchParams,
|
|
@@ -15,7 +15,7 @@ import "./chunk-ANDTD5VV.js";
|
|
|
15
15
|
import "./chunk-MG4GKUJW.js";
|
|
16
16
|
import "./chunk-AYVH6Q5O.js";
|
|
17
17
|
import "./chunk-VOHEQ7B5.js";
|
|
18
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-UYQY4B7J.js";
|
|
19
19
|
import "./chunk-7SVLKK6Q.js";
|
|
20
20
|
import "./chunk-GR6JUIRU.js";
|
|
21
21
|
import "./chunk-GRH7C3QN.js";
|
package/dist/index.js
CHANGED
|
@@ -3,6 +3,12 @@ import {
|
|
|
3
3
|
taxRegionLoader
|
|
4
4
|
} from "./chunk-ASFCRSBA.js";
|
|
5
5
|
import "./chunk-QR3GYYX6.js";
|
|
6
|
+
import {
|
|
7
|
+
FeatureFlagProvider,
|
|
8
|
+
PermissionsProvider,
|
|
9
|
+
useFeatureFlag,
|
|
10
|
+
useMePermissions
|
|
11
|
+
} from "./chunk-PVEB24HU.js";
|
|
6
12
|
import {
|
|
7
13
|
isClientError
|
|
8
14
|
} from "./chunk-C6SUTRP2.js";
|
|
@@ -24,7 +30,7 @@ import {
|
|
|
24
30
|
} from "./chunk-KDE4HKH2.js";
|
|
25
31
|
import {
|
|
26
32
|
I18n
|
|
27
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-OQLWF43Y.js";
|
|
28
34
|
import {
|
|
29
35
|
SwitchBox
|
|
30
36
|
} from "./chunk-2EME4AWX.js";
|
|
@@ -1528,18 +1534,40 @@ import { Outlet as Outlet4 } from "react-router-dom";
|
|
|
1528
1534
|
|
|
1529
1535
|
// src/components/authentication/protected-route/protected-route.tsx
|
|
1530
1536
|
import { Spinner as Spinner2 } from "@medusajs/icons";
|
|
1537
|
+
import { useMemo as useMemo4 } from "react";
|
|
1531
1538
|
import { Navigate, Outlet, useLocation as useLocation3 } from "react-router-dom";
|
|
1532
1539
|
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
1533
1540
|
var ProtectedRoute = () => {
|
|
1534
|
-
const { user, isLoading } = useMe();
|
|
1535
1541
|
const location = useLocation3();
|
|
1536
|
-
|
|
1542
|
+
const isRbacEnabled = useFeatureFlag("rbac");
|
|
1543
|
+
const { user, isLoading: isLoadingUser } = useMe();
|
|
1544
|
+
const { data: permissionsResponse, isLoading: isLoadingPermissions } = useMePermissions({
|
|
1545
|
+
// Don't fetch permissions until we know the user is authenticated.
|
|
1546
|
+
enabled: !!user && isRbacEnabled
|
|
1547
|
+
});
|
|
1548
|
+
const policy = useMemo4(() => {
|
|
1549
|
+
if (!permissionsResponse) {
|
|
1550
|
+
return null;
|
|
1551
|
+
}
|
|
1552
|
+
return {
|
|
1553
|
+
permissions: permissionsResponse.permissions
|
|
1554
|
+
};
|
|
1555
|
+
}, [permissionsResponse]);
|
|
1556
|
+
if (isLoadingUser) {
|
|
1537
1557
|
return /* @__PURE__ */ jsx6("div", { className: "flex min-h-screen items-center justify-center", children: /* @__PURE__ */ jsx6(Spinner2, { className: "text-ui-fg-interactive animate-spin" }) });
|
|
1538
1558
|
}
|
|
1539
1559
|
if (!user) {
|
|
1540
1560
|
return /* @__PURE__ */ jsx6(Navigate, { to: "/login", state: { from: location }, replace: true });
|
|
1541
1561
|
}
|
|
1542
|
-
return /* @__PURE__ */ jsx6(
|
|
1562
|
+
return /* @__PURE__ */ jsx6(
|
|
1563
|
+
PermissionsProvider,
|
|
1564
|
+
{
|
|
1565
|
+
policy,
|
|
1566
|
+
isLoading: isLoadingPermissions,
|
|
1567
|
+
isRbacEnabled,
|
|
1568
|
+
children: /* @__PURE__ */ jsx6(SidebarProvider, { children: /* @__PURE__ */ jsx6(SearchProvider, { children: /* @__PURE__ */ jsx6(Outlet, {}) }) })
|
|
1569
|
+
}
|
|
1570
|
+
);
|
|
1543
1571
|
};
|
|
1544
1572
|
|
|
1545
1573
|
// src/components/layout/main-layout/main-layout.tsx
|
|
@@ -3269,7 +3297,7 @@ var PublicLayout = () => {
|
|
|
3269
3297
|
};
|
|
3270
3298
|
|
|
3271
3299
|
// src/components/layout/settings-layout/settings-layout.tsx
|
|
3272
|
-
import { useEffect as useEffect10, useMemo as
|
|
3300
|
+
import { useEffect as useEffect10, useMemo as useMemo5, useState as useState12 } from "react";
|
|
3273
3301
|
import { ArrowUturnLeft as ArrowUturnLeft2, MinusMini } from "@medusajs/icons";
|
|
3274
3302
|
import { Divider as Divider2, IconButton as IconButton6, Text as Text8, clx as clx7 } from "@medusajs/ui";
|
|
3275
3303
|
import { Collapsible as RadixCollapsible2 } from "radix-ui";
|
|
@@ -3289,7 +3317,7 @@ var extensionNavItems = customSettingsItems.sort((a, b) => (a.rank ?? 0) - (b.ra
|
|
|
3289
3317
|
}));
|
|
3290
3318
|
var useSettingRoutes = () => {
|
|
3291
3319
|
const { t: t2 } = useTranslation10();
|
|
3292
|
-
return
|
|
3320
|
+
return useMemo5(
|
|
3293
3321
|
() => [
|
|
3294
3322
|
{
|
|
3295
3323
|
label: t2("marketplace.domain"),
|
|
@@ -3346,7 +3374,7 @@ var useSettingRoutes = () => {
|
|
|
3346
3374
|
};
|
|
3347
3375
|
var useDeveloperRoutes = () => {
|
|
3348
3376
|
const { t: t2 } = useTranslation10();
|
|
3349
|
-
return
|
|
3377
|
+
return useMemo5(
|
|
3350
3378
|
() => [
|
|
3351
3379
|
{
|
|
3352
3380
|
label: t2("apiKeyManagement.domain.publishable"),
|
|
@@ -3362,7 +3390,7 @@ var useDeveloperRoutes = () => {
|
|
|
3362
3390
|
};
|
|
3363
3391
|
var useMyAccountRoutes = () => {
|
|
3364
3392
|
const { t: t2 } = useTranslation10();
|
|
3365
|
-
return
|
|
3393
|
+
return useMemo5(
|
|
3366
3394
|
() => [
|
|
3367
3395
|
{
|
|
3368
3396
|
label: t2("profile.domain"),
|
|
@@ -3518,7 +3546,7 @@ function getRouteMap({
|
|
|
3518
3546
|
children: [
|
|
3519
3547
|
{
|
|
3520
3548
|
path: "create",
|
|
3521
|
-
lazy: () => import("./product-create-
|
|
3549
|
+
lazy: () => import("./product-create-QS5KIHET.js")
|
|
3522
3550
|
},
|
|
3523
3551
|
{
|
|
3524
3552
|
path: "bulk-edit",
|
|
@@ -3574,7 +3602,7 @@ function getRouteMap({
|
|
|
3574
3602
|
},
|
|
3575
3603
|
{
|
|
3576
3604
|
path: "organization",
|
|
3577
|
-
lazy: () => import("./product-organization-
|
|
3605
|
+
lazy: () => import("./product-organization-IX5XCZW4.js")
|
|
3578
3606
|
},
|
|
3579
3607
|
{
|
|
3580
3608
|
path: "shipping-profile",
|
|
@@ -3582,7 +3610,7 @@ function getRouteMap({
|
|
|
3582
3610
|
},
|
|
3583
3611
|
{
|
|
3584
3612
|
path: "media",
|
|
3585
|
-
lazy: () => import("./product-media-
|
|
3613
|
+
lazy: () => import("./product-media-UHDJ6RSG.js")
|
|
3586
3614
|
},
|
|
3587
3615
|
{
|
|
3588
3616
|
path: "variants/create",
|
|
@@ -3704,7 +3732,7 @@ function getRouteMap({
|
|
|
3704
3732
|
children: [
|
|
3705
3733
|
{
|
|
3706
3734
|
path: "",
|
|
3707
|
-
lazy: () => import("./order-list-
|
|
3735
|
+
lazy: () => import("./order-list-WGQC2X2L.js")
|
|
3708
3736
|
},
|
|
3709
3737
|
{
|
|
3710
3738
|
path: ":id",
|
|
@@ -3757,7 +3785,7 @@ function getRouteMap({
|
|
|
3757
3785
|
},
|
|
3758
3786
|
{
|
|
3759
3787
|
path: "billing-address",
|
|
3760
|
-
lazy: () => import("./order-edit-billing-address-
|
|
3788
|
+
lazy: () => import("./order-edit-billing-address-QCVPGEL6.js")
|
|
3761
3789
|
},
|
|
3762
3790
|
{
|
|
3763
3791
|
path: "metadata/edit",
|
|
@@ -3778,7 +3806,7 @@ function getRouteMap({
|
|
|
3778
3806
|
children: [
|
|
3779
3807
|
{
|
|
3780
3808
|
path: "",
|
|
3781
|
-
lazy: () => import("./promotion-list-
|
|
3809
|
+
lazy: () => import("./promotion-list-MRNS47TP.js")
|
|
3782
3810
|
},
|
|
3783
3811
|
{
|
|
3784
3812
|
path: "create",
|
|
@@ -3787,7 +3815,7 @@ function getRouteMap({
|
|
|
3787
3815
|
{
|
|
3788
3816
|
path: ":id",
|
|
3789
3817
|
lazy: async () => {
|
|
3790
|
-
const { Breadcrumb, loader } = await import("./promotion-detail-
|
|
3818
|
+
const { Breadcrumb, loader } = await import("./promotion-detail-ADTUSGD4.js");
|
|
3791
3819
|
return {
|
|
3792
3820
|
Component: Outlet4,
|
|
3793
3821
|
loader,
|
|
@@ -3799,7 +3827,7 @@ function getRouteMap({
|
|
|
3799
3827
|
children: [
|
|
3800
3828
|
{
|
|
3801
3829
|
path: "",
|
|
3802
|
-
lazy: () => import("./promotion-detail-
|
|
3830
|
+
lazy: () => import("./promotion-detail-ADTUSGD4.js"),
|
|
3803
3831
|
children: [
|
|
3804
3832
|
{
|
|
3805
3833
|
path: "edit",
|
|
@@ -3838,7 +3866,7 @@ function getRouteMap({
|
|
|
3838
3866
|
{
|
|
3839
3867
|
path: ":id",
|
|
3840
3868
|
lazy: async () => {
|
|
3841
|
-
const { Breadcrumb, loader } = await import("./campaign-detail-
|
|
3869
|
+
const { Breadcrumb, loader } = await import("./campaign-detail-KZWQLIS5.js");
|
|
3842
3870
|
return {
|
|
3843
3871
|
Component: Outlet4,
|
|
3844
3872
|
loader,
|
|
@@ -3850,7 +3878,7 @@ function getRouteMap({
|
|
|
3850
3878
|
children: [
|
|
3851
3879
|
{
|
|
3852
3880
|
path: "",
|
|
3853
|
-
lazy: () => import("./campaign-detail-
|
|
3881
|
+
lazy: () => import("./campaign-detail-KZWQLIS5.js"),
|
|
3854
3882
|
children: [
|
|
3855
3883
|
{
|
|
3856
3884
|
path: "edit",
|
|
@@ -3866,7 +3894,7 @@ function getRouteMap({
|
|
|
3866
3894
|
},
|
|
3867
3895
|
{
|
|
3868
3896
|
path: "add-promotions",
|
|
3869
|
-
lazy: () => import("./add-campaign-promotions-
|
|
3897
|
+
lazy: () => import("./add-campaign-promotions-NZ62V2LH.js")
|
|
3870
3898
|
}
|
|
3871
3899
|
]
|
|
3872
3900
|
}
|
|
@@ -3926,7 +3954,7 @@ function getRouteMap({
|
|
|
3926
3954
|
children: [
|
|
3927
3955
|
{
|
|
3928
3956
|
path: "",
|
|
3929
|
-
lazy: () => import("./collection-list-
|
|
3957
|
+
lazy: () => import("./collection-list-GMAYML6Z.js"),
|
|
3930
3958
|
children: [
|
|
3931
3959
|
{
|
|
3932
3960
|
path: "create",
|
|
@@ -4162,7 +4190,7 @@ function getRouteMap({
|
|
|
4162
4190
|
children: [
|
|
4163
4191
|
{
|
|
4164
4192
|
path: "",
|
|
4165
|
-
lazy: () => import("./store-list-
|
|
4193
|
+
lazy: () => import("./store-list-3KZCD7UB.js"),
|
|
4166
4194
|
children: [
|
|
4167
4195
|
{
|
|
4168
4196
|
path: "create",
|
|
@@ -4177,7 +4205,7 @@ function getRouteMap({
|
|
|
4177
4205
|
{
|
|
4178
4206
|
path: ":id",
|
|
4179
4207
|
lazy: async () => {
|
|
4180
|
-
const { Breadcrumb } = await import("./store-details-
|
|
4208
|
+
const { Breadcrumb } = await import("./store-details-KI5D4VSI.js");
|
|
4181
4209
|
return {
|
|
4182
4210
|
Component: Outlet4,
|
|
4183
4211
|
handle: {
|
|
@@ -4188,11 +4216,11 @@ function getRouteMap({
|
|
|
4188
4216
|
children: [
|
|
4189
4217
|
{
|
|
4190
4218
|
path: "",
|
|
4191
|
-
lazy: () => import("./store-details-
|
|
4219
|
+
lazy: () => import("./store-details-KI5D4VSI.js"),
|
|
4192
4220
|
children: [
|
|
4193
4221
|
{
|
|
4194
4222
|
path: "edit",
|
|
4195
|
-
lazy: () => import("./store-edit-
|
|
4223
|
+
lazy: () => import("./store-edit-B54LFFLE.js")
|
|
4196
4224
|
},
|
|
4197
4225
|
{
|
|
4198
4226
|
path: "edit-address",
|
|
@@ -4612,7 +4640,7 @@ function getRouteMap({
|
|
|
4612
4640
|
children: [
|
|
4613
4641
|
{
|
|
4614
4642
|
path: "invite",
|
|
4615
|
-
lazy: () => import("./user-invite-
|
|
4643
|
+
lazy: () => import("./user-invite-WHBNPT4I.js")
|
|
4616
4644
|
}
|
|
4617
4645
|
]
|
|
4618
4646
|
},
|
|
@@ -4894,7 +4922,7 @@ function getRouteMap({
|
|
|
4894
4922
|
children: [
|
|
4895
4923
|
{
|
|
4896
4924
|
path: "",
|
|
4897
|
-
lazy: () => import("./product-tag-list-
|
|
4925
|
+
lazy: () => import("./product-tag-list-3HOXFHMN.js"),
|
|
4898
4926
|
children: [
|
|
4899
4927
|
{
|
|
4900
4928
|
path: "create",
|
|
@@ -4905,7 +4933,7 @@ function getRouteMap({
|
|
|
4905
4933
|
{
|
|
4906
4934
|
path: ":id",
|
|
4907
4935
|
lazy: async () => {
|
|
4908
|
-
const { Breadcrumb, loader } = await import("./product-tag-detail-
|
|
4936
|
+
const { Breadcrumb, loader } = await import("./product-tag-detail-2YR6TXZI.js");
|
|
4909
4937
|
return {
|
|
4910
4938
|
Component: Outlet4,
|
|
4911
4939
|
loader,
|
|
@@ -4917,7 +4945,7 @@ function getRouteMap({
|
|
|
4917
4945
|
children: [
|
|
4918
4946
|
{
|
|
4919
4947
|
path: "",
|
|
4920
|
-
lazy: () => import("./product-tag-detail-
|
|
4948
|
+
lazy: () => import("./product-tag-detail-2YR6TXZI.js"),
|
|
4921
4949
|
children: [
|
|
4922
4950
|
{
|
|
4923
4951
|
path: "edit",
|
|
@@ -5156,7 +5184,7 @@ function getRouteMap({
|
|
|
5156
5184
|
children: [
|
|
5157
5185
|
{
|
|
5158
5186
|
path: "create",
|
|
5159
|
-
lazy: () => import("./tax-region-create-
|
|
5187
|
+
lazy: () => import("./tax-region-create-DVBIX7IX.js")
|
|
5160
5188
|
}
|
|
5161
5189
|
]
|
|
5162
5190
|
},
|
|
@@ -5187,11 +5215,11 @@ function getRouteMap({
|
|
|
5187
5215
|
},
|
|
5188
5216
|
{
|
|
5189
5217
|
path: "overrides/create",
|
|
5190
|
-
lazy: () => import("./tax-region-tax-override-create-
|
|
5218
|
+
lazy: () => import("./tax-region-tax-override-create-XZ5BU2FP.js")
|
|
5191
5219
|
},
|
|
5192
5220
|
{
|
|
5193
5221
|
path: "overrides/:tax_rate_id/edit",
|
|
5194
|
-
lazy: () => import("./tax-region-tax-override-edit-
|
|
5222
|
+
lazy: () => import("./tax-region-tax-override-edit-R4EGIUIZ.js")
|
|
5195
5223
|
},
|
|
5196
5224
|
{
|
|
5197
5225
|
path: "tax-rates/create",
|
|
@@ -5234,11 +5262,11 @@ function getRouteMap({
|
|
|
5234
5262
|
},
|
|
5235
5263
|
{
|
|
5236
5264
|
path: "overrides/create",
|
|
5237
|
-
lazy: () => import("./tax-region-tax-override-create-
|
|
5265
|
+
lazy: () => import("./tax-region-tax-override-create-XZ5BU2FP.js")
|
|
5238
5266
|
},
|
|
5239
5267
|
{
|
|
5240
5268
|
path: "overrides/:tax_rate_id/edit",
|
|
5241
|
-
lazy: () => import("./tax-region-tax-override-edit-
|
|
5269
|
+
lazy: () => import("./tax-region-tax-override-edit-R4EGIUIZ.js")
|
|
5242
5270
|
}
|
|
5243
5271
|
]
|
|
5244
5272
|
}
|
|
@@ -5257,7 +5285,7 @@ function getRouteMap({
|
|
|
5257
5285
|
children: [
|
|
5258
5286
|
{
|
|
5259
5287
|
path: "",
|
|
5260
|
-
lazy: () => import("./return-reason-list-
|
|
5288
|
+
lazy: () => import("./return-reason-list-AVCC44CH.js"),
|
|
5261
5289
|
children: [
|
|
5262
5290
|
{
|
|
5263
5291
|
path: "create",
|
|
@@ -5285,7 +5313,7 @@ function getRouteMap({
|
|
|
5285
5313
|
children: [
|
|
5286
5314
|
{
|
|
5287
5315
|
path: "",
|
|
5288
|
-
lazy: () => import("./refund-reason-list-
|
|
5316
|
+
lazy: () => import("./refund-reason-list-ODOF3ZLM.js"),
|
|
5289
5317
|
children: [
|
|
5290
5318
|
{
|
|
5291
5319
|
path: "create",
|
|
@@ -5322,7 +5350,7 @@ function getRouteMap({
|
|
|
5322
5350
|
},
|
|
5323
5351
|
{
|
|
5324
5352
|
path: "/reset-password",
|
|
5325
|
-
lazy: () => import("./reset-password-
|
|
5353
|
+
lazy: () => import("./reset-password-N4LXTU3G.js")
|
|
5326
5354
|
},
|
|
5327
5355
|
{
|
|
5328
5356
|
path: "/invite",
|
|
@@ -5341,17 +5369,17 @@ function getRouteMap({
|
|
|
5341
5369
|
}
|
|
5342
5370
|
|
|
5343
5371
|
// src/app.tsx
|
|
5344
|
-
import { useMemo as
|
|
5372
|
+
import { useMemo as useMemo6 } from "react";
|
|
5345
5373
|
import { jsx as jsx18, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
5346
5374
|
function App() {
|
|
5347
|
-
const routes =
|
|
5375
|
+
const routes = useMemo6(() => {
|
|
5348
5376
|
return {
|
|
5349
5377
|
settingsRoutes: createRouteMap(getRoutesByType(customRoutes, "settings")),
|
|
5350
5378
|
mainRoutes: createRouteMap(getRoutesByType(customRoutes, "main")),
|
|
5351
5379
|
publicRoutes: createRouteMap(getRoutesByType(customRoutes, "public"))
|
|
5352
5380
|
};
|
|
5353
5381
|
}, []);
|
|
5354
|
-
return /* @__PURE__ */ jsx18(TooltipProvider, { children: /* @__PURE__ */ jsx18(HelmetProvider, { children: /* @__PURE__ */ jsx18(QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ jsx18(ThemeProvider, { children: /* @__PURE__ */ jsxs11(
|
|
5382
|
+
return /* @__PURE__ */ jsx18(TooltipProvider, { children: /* @__PURE__ */ jsx18(HelmetProvider, { children: /* @__PURE__ */ jsx18(QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ jsx18(ThemeProvider, { children: /* @__PURE__ */ jsx18(FeatureFlagProvider, { children: /* @__PURE__ */ jsxs11(
|
|
5355
5383
|
ExtensionProvider,
|
|
5356
5384
|
{
|
|
5357
5385
|
widgets,
|
|
@@ -5370,7 +5398,7 @@ function App() {
|
|
|
5370
5398
|
/* @__PURE__ */ jsx18(Toaster, {})
|
|
5371
5399
|
]
|
|
5372
5400
|
}
|
|
5373
|
-
) }) }) }) });
|
|
5401
|
+
) }) }) }) }) });
|
|
5374
5402
|
}
|
|
5375
5403
|
export {
|
|
5376
5404
|
ActionMenu,
|
|
@@ -6,7 +6,7 @@ import "./chunk-ANDTD5VV.js";
|
|
|
6
6
|
import "./chunk-MG4GKUJW.js";
|
|
7
7
|
import "./chunk-AYVH6Q5O.js";
|
|
8
8
|
import "./chunk-VOHEQ7B5.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-UYQY4B7J.js";
|
|
10
10
|
import "./chunk-7SVLKK6Q.js";
|
|
11
11
|
import "./chunk-GR6JUIRU.js";
|
|
12
12
|
import "./chunk-GRH7C3QN.js";
|
package/dist/pages/index.js
CHANGED
|
@@ -196,12 +196,12 @@ import {
|
|
|
196
196
|
import "../chunk-RKFEXC2J.js";
|
|
197
197
|
import {
|
|
198
198
|
CampaignDetailPage
|
|
199
|
-
} from "../chunk-
|
|
199
|
+
} from "../chunk-AV6HBMRX.js";
|
|
200
200
|
import "../chunk-WP3B4NEU.js";
|
|
201
201
|
import {
|
|
202
202
|
PromotionListPage
|
|
203
|
-
} from "../chunk-
|
|
204
|
-
import "../chunk-
|
|
203
|
+
} from "../chunk-4KULFU3V.js";
|
|
204
|
+
import "../chunk-GYHF5XBU.js";
|
|
205
205
|
import "../chunk-J4SYK3RT.js";
|
|
206
206
|
import {
|
|
207
207
|
CreatePromotionSchema,
|
|
@@ -212,10 +212,10 @@ import "../chunk-BGI4CCBX.js";
|
|
|
212
212
|
import "../chunk-54TMLQH3.js";
|
|
213
213
|
import {
|
|
214
214
|
PromotionDetailPage
|
|
215
|
-
} from "../chunk-
|
|
215
|
+
} from "../chunk-MIVPIACG.js";
|
|
216
216
|
import "../chunk-QLOJNFUE.js";
|
|
217
217
|
import "../chunk-RK5N3XIX.js";
|
|
218
|
-
import "../chunk-
|
|
218
|
+
import "../chunk-ADI5XIXM.js";
|
|
219
219
|
import "../chunk-MAEP2UCK.js";
|
|
220
220
|
import "../chunk-HFCJJJKP.js";
|
|
221
221
|
import "../chunk-6Q2JZ5YN.js";
|
|
@@ -252,7 +252,7 @@ import "../chunk-ANDTD5VV.js";
|
|
|
252
252
|
import "../chunk-MG4GKUJW.js";
|
|
253
253
|
import "../chunk-AYVH6Q5O.js";
|
|
254
254
|
import "../chunk-VOHEQ7B5.js";
|
|
255
|
-
import "../chunk-
|
|
255
|
+
import "../chunk-UYQY4B7J.js";
|
|
256
256
|
import "../chunk-7SVLKK6Q.js";
|
|
257
257
|
import "../chunk-GR6JUIRU.js";
|
|
258
258
|
import "../chunk-GRH7C3QN.js";
|
|
@@ -302,12 +302,12 @@ import "../chunk-DB6ANJBO.js";
|
|
|
302
302
|
import "../chunk-PHOCVOZ5.js";
|
|
303
303
|
import {
|
|
304
304
|
ProductCreatePage
|
|
305
|
-
} from "../chunk-
|
|
305
|
+
} from "../chunk-PNLDVYCP.js";
|
|
306
306
|
import "../chunk-IIFQ7KYL.js";
|
|
307
307
|
import "../chunk-32URSQ4F.js";
|
|
308
308
|
import {
|
|
309
309
|
ProductCreateSchema
|
|
310
|
-
} from "../chunk-
|
|
310
|
+
} from "../chunk-3W4T2KGY.js";
|
|
311
311
|
import "../chunk-HJ56YXBU.js";
|
|
312
312
|
import "../chunk-AJLGY3LQ.js";
|
|
313
313
|
import "../chunk-SMQT3ZNO.js";
|
|
@@ -320,7 +320,7 @@ import "../chunk-SR3DYN52.js";
|
|
|
320
320
|
import "../chunk-FREUYHMS.js";
|
|
321
321
|
import "../chunk-VSLHL2AZ.js";
|
|
322
322
|
import "../chunk-KDE4HKH2.js";
|
|
323
|
-
import "../chunk-
|
|
323
|
+
import "../chunk-OQLWF43Y.js";
|
|
324
324
|
import "../chunk-2EME4AWX.js";
|
|
325
325
|
import "../chunk-LO2ZWQGL.js";
|
|
326
326
|
import "../chunk-SNRPCOU4.js";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ProductCreate
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-PNLDVYCP.js";
|
|
4
4
|
import "./chunk-IIFQ7KYL.js";
|
|
5
5
|
import "./chunk-32URSQ4F.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-3W4T2KGY.js";
|
|
7
7
|
import "./chunk-HJ56YXBU.js";
|
|
8
8
|
import "./chunk-AJLGY3LQ.js";
|
|
9
9
|
import "./chunk-SMQT3ZNO.js";
|
|
@@ -16,7 +16,7 @@ import "./chunk-SR3DYN52.js";
|
|
|
16
16
|
import "./chunk-FREUYHMS.js";
|
|
17
17
|
import "./chunk-VSLHL2AZ.js";
|
|
18
18
|
import "./chunk-KDE4HKH2.js";
|
|
19
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-OQLWF43Y.js";
|
|
20
20
|
import "./chunk-2EME4AWX.js";
|
|
21
21
|
import "./chunk-SNRPCOU4.js";
|
|
22
22
|
import "./chunk-IQPN4PZJ.js";
|
|
@@ -3,11 +3,11 @@ import {
|
|
|
3
3
|
} from "./chunk-32URSQ4F.js";
|
|
4
4
|
import {
|
|
5
5
|
EditProductMediaSchema
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-3W4T2KGY.js";
|
|
7
7
|
import "./chunk-AJLGY3LQ.js";
|
|
8
8
|
import "./chunk-SMQT3ZNO.js";
|
|
9
9
|
import "./chunk-VSLHL2AZ.js";
|
|
10
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-OQLWF43Y.js";
|
|
11
11
|
import "./chunk-TKGWSUEI.js";
|
|
12
12
|
import {
|
|
13
13
|
KeyboundForm
|
|
@@ -29,7 +29,7 @@ import "./chunk-ANDTD5VV.js";
|
|
|
29
29
|
import "./chunk-MG4GKUJW.js";
|
|
30
30
|
import "./chunk-AYVH6Q5O.js";
|
|
31
31
|
import "./chunk-VOHEQ7B5.js";
|
|
32
|
-
import "./chunk-
|
|
32
|
+
import "./chunk-UYQY4B7J.js";
|
|
33
33
|
import "./chunk-7SVLKK6Q.js";
|
|
34
34
|
import "./chunk-GR6JUIRU.js";
|
|
35
35
|
import "./chunk-GRH7C3QN.js";
|
|
@@ -29,7 +29,7 @@ import "./chunk-ANDTD5VV.js";
|
|
|
29
29
|
import "./chunk-MG4GKUJW.js";
|
|
30
30
|
import "./chunk-AYVH6Q5O.js";
|
|
31
31
|
import "./chunk-VOHEQ7B5.js";
|
|
32
|
-
import "./chunk-
|
|
32
|
+
import "./chunk-UYQY4B7J.js";
|
|
33
33
|
import "./chunk-7SVLKK6Q.js";
|
|
34
34
|
import "./chunk-GR6JUIRU.js";
|
|
35
35
|
import "./chunk-GRH7C3QN.js";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
PromotionDetailPage
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-MIVPIACG.js";
|
|
4
4
|
import "./chunk-QLOJNFUE.js";
|
|
5
5
|
import "./chunk-RK5N3XIX.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-ADI5XIXM.js";
|
|
7
7
|
import {
|
|
8
8
|
PROMOTION_DETAIL_BASE_FIELDS,
|
|
9
9
|
promotionLoader
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
import "./chunk-QDPLZDMX.js";
|
|
12
12
|
import "./chunk-XSX255FK.js";
|
|
13
13
|
import "./chunk-FMFVTERD.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-OQLWF43Y.js";
|
|
15
15
|
import "./chunk-E74OUNA3.js";
|
|
16
16
|
import "./chunk-H6MYB7GB.js";
|
|
17
17
|
import "./chunk-MEQLWAZC.js";
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
PromotionListPage
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-4KULFU3V.js";
|
|
4
|
+
import "./chunk-GYHF5XBU.js";
|
|
5
5
|
import "./chunk-J4SYK3RT.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-ADI5XIXM.js";
|
|
7
7
|
import "./chunk-JHIMVLB2.js";
|
|
8
8
|
import "./chunk-MDABSESI.js";
|
|
9
9
|
import "./chunk-FMFVTERD.js";
|
|
10
10
|
import "./chunk-PHOCVOZ5.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-OQLWF43Y.js";
|
|
12
12
|
import "./chunk-E74OUNA3.js";
|
|
13
13
|
import "./chunk-H6MYB7GB.js";
|
|
14
14
|
import "./chunk-THHRRYRS.js";
|
|
@@ -20,7 +20,7 @@ import "./chunk-ANDTD5VV.js";
|
|
|
20
20
|
import "./chunk-MG4GKUJW.js";
|
|
21
21
|
import "./chunk-AYVH6Q5O.js";
|
|
22
22
|
import "./chunk-VOHEQ7B5.js";
|
|
23
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-UYQY4B7J.js";
|
|
24
24
|
import "./chunk-7SVLKK6Q.js";
|
|
25
25
|
import "./chunk-GR6JUIRU.js";
|
|
26
26
|
import "./chunk-GRH7C3QN.js";
|
|
@@ -23,7 +23,7 @@ import "./chunk-ANDTD5VV.js";
|
|
|
23
23
|
import "./chunk-MG4GKUJW.js";
|
|
24
24
|
import "./chunk-AYVH6Q5O.js";
|
|
25
25
|
import "./chunk-VOHEQ7B5.js";
|
|
26
|
-
import "./chunk-
|
|
26
|
+
import "./chunk-UYQY4B7J.js";
|
|
27
27
|
import "./chunk-7SVLKK6Q.js";
|
|
28
28
|
import "./chunk-GR6JUIRU.js";
|
|
29
29
|
import "./chunk-GRH7C3QN.js";
|
|
@@ -14,7 +14,7 @@ import "./chunk-ANDTD5VV.js";
|
|
|
14
14
|
import "./chunk-MG4GKUJW.js";
|
|
15
15
|
import "./chunk-AYVH6Q5O.js";
|
|
16
16
|
import "./chunk-VOHEQ7B5.js";
|
|
17
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-UYQY4B7J.js";
|
|
18
18
|
import "./chunk-7SVLKK6Q.js";
|
|
19
19
|
import "./chunk-GR6JUIRU.js";
|
|
20
20
|
import "./chunk-GRH7C3QN.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
MediaSchema
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-3W4T2KGY.js";
|
|
4
4
|
import {
|
|
5
5
|
HandleInput
|
|
6
6
|
} from "./chunk-HJ56YXBU.js";
|
|
@@ -9,7 +9,7 @@ import "./chunk-SMQT3ZNO.js";
|
|
|
9
9
|
import {
|
|
10
10
|
FileUpload
|
|
11
11
|
} from "./chunk-VSLHL2AZ.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-OQLWF43Y.js";
|
|
13
13
|
import {
|
|
14
14
|
SwitchBox
|
|
15
15
|
} from "./chunk-2EME4AWX.js";
|
|
@@ -13,7 +13,7 @@ import "./chunk-ANDTD5VV.js";
|
|
|
13
13
|
import "./chunk-MG4GKUJW.js";
|
|
14
14
|
import "./chunk-AYVH6Q5O.js";
|
|
15
15
|
import "./chunk-VOHEQ7B5.js";
|
|
16
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-UYQY4B7J.js";
|
|
17
17
|
import "./chunk-7SVLKK6Q.js";
|
|
18
18
|
import "./chunk-GR6JUIRU.js";
|
|
19
19
|
import "./chunk-GRH7C3QN.js";
|
|
@@ -36,7 +36,7 @@ import "./chunk-ANDTD5VV.js";
|
|
|
36
36
|
import "./chunk-MG4GKUJW.js";
|
|
37
37
|
import "./chunk-AYVH6Q5O.js";
|
|
38
38
|
import "./chunk-VOHEQ7B5.js";
|
|
39
|
-
import "./chunk-
|
|
39
|
+
import "./chunk-UYQY4B7J.js";
|
|
40
40
|
import "./chunk-7SVLKK6Q.js";
|
|
41
41
|
import "./chunk-GR6JUIRU.js";
|
|
42
42
|
import "./chunk-GRH7C3QN.js";
|
package/dist/{tax-region-tax-override-edit-SUL5VZ5D.js → tax-region-tax-override-edit-R4EGIUIZ.js}
RENAMED
|
@@ -36,7 +36,7 @@ import "./chunk-ANDTD5VV.js";
|
|
|
36
36
|
import "./chunk-MG4GKUJW.js";
|
|
37
37
|
import "./chunk-AYVH6Q5O.js";
|
|
38
38
|
import "./chunk-VOHEQ7B5.js";
|
|
39
|
-
import "./chunk-
|
|
39
|
+
import "./chunk-UYQY4B7J.js";
|
|
40
40
|
import "./chunk-7SVLKK6Q.js";
|
|
41
41
|
import "./chunk-GR6JUIRU.js";
|
|
42
42
|
import "./chunk-GRH7C3QN.js";
|
|
@@ -1,9 +1,20 @@
|
|
|
1
|
+
import {
|
|
2
|
+
useFeatureFlag,
|
|
3
|
+
usePermissions,
|
|
4
|
+
useRbacAssignableRoles
|
|
5
|
+
} from "./chunk-PVEB24HU.js";
|
|
1
6
|
import {
|
|
2
7
|
isFetchError
|
|
3
8
|
} from "./chunk-C6SUTRP2.js";
|
|
9
|
+
import {
|
|
10
|
+
ListSummary
|
|
11
|
+
} from "./chunk-4F5GP7J7.js";
|
|
4
12
|
import {
|
|
5
13
|
useUserInviteTableQuery
|
|
6
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-UYQY4B7J.js";
|
|
15
|
+
import {
|
|
16
|
+
Combobox
|
|
17
|
+
} from "./chunk-SR3DYN52.js";
|
|
7
18
|
import {
|
|
8
19
|
KeyboundForm
|
|
9
20
|
} from "./chunk-SITRHMZZ.js";
|
|
@@ -64,7 +75,8 @@ import { Trans, useTranslation } from "react-i18next";
|
|
|
64
75
|
import * as zod from "zod";
|
|
65
76
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
66
77
|
var InviteUserSchema = zod.object({
|
|
67
|
-
email: zod.string().email()
|
|
78
|
+
email: zod.string().email(),
|
|
79
|
+
roles: zod.array(zod.string()).optional()
|
|
68
80
|
});
|
|
69
81
|
var PAGE_SIZE = 10;
|
|
70
82
|
var PREFIX = "usr_invite";
|
|
@@ -79,15 +91,47 @@ var getBaseUrl = () => {
|
|
|
79
91
|
var INVITE_URL = `${window.location.origin}${getBaseUrl()}/invite?token=`;
|
|
80
92
|
var InviteUserForm = () => {
|
|
81
93
|
const { t } = useTranslation();
|
|
94
|
+
const isRbacEnabled = useFeatureFlag("rbac");
|
|
95
|
+
const { hasPermission } = usePermissions();
|
|
96
|
+
const canReadRbacRoles = hasPermission("rbac_role:read");
|
|
97
|
+
const showRbacRolesField = isRbacEnabled && canReadRbacRoles;
|
|
82
98
|
const form = useForm({
|
|
83
99
|
defaultValues: {
|
|
84
|
-
email: ""
|
|
100
|
+
email: "",
|
|
101
|
+
roles: []
|
|
85
102
|
},
|
|
86
103
|
resolver: zodResolver(InviteUserSchema)
|
|
87
104
|
});
|
|
105
|
+
const { data: assignableData, isPending: isRolesLoading } = useRbacAssignableRoles(
|
|
106
|
+
{ limit: 200, order: "name" },
|
|
107
|
+
{ enabled: showRbacRolesField }
|
|
108
|
+
);
|
|
109
|
+
const roleOptions = useMemo(() => {
|
|
110
|
+
return (assignableData?.roles ?? []).map((role) => ({
|
|
111
|
+
label: role.name,
|
|
112
|
+
value: role.id
|
|
113
|
+
}));
|
|
114
|
+
}, [assignableData?.roles]);
|
|
115
|
+
const inviteFields = useMemo(() => {
|
|
116
|
+
if (!showRbacRolesField) {
|
|
117
|
+
return void 0;
|
|
118
|
+
}
|
|
119
|
+
return [
|
|
120
|
+
"id",
|
|
121
|
+
"email",
|
|
122
|
+
"accepted",
|
|
123
|
+
"token",
|
|
124
|
+
"expires_at",
|
|
125
|
+
"created_at",
|
|
126
|
+
"updated_at",
|
|
127
|
+
"rbac_roles.id",
|
|
128
|
+
"rbac_roles.name"
|
|
129
|
+
].join(",");
|
|
130
|
+
}, [showRbacRolesField]);
|
|
88
131
|
const { raw, searchParams } = useUserInviteTableQuery({
|
|
89
132
|
prefix: PREFIX,
|
|
90
|
-
pageSize: PAGE_SIZE
|
|
133
|
+
pageSize: PAGE_SIZE,
|
|
134
|
+
fields: inviteFields
|
|
91
135
|
});
|
|
92
136
|
const {
|
|
93
137
|
invites,
|
|
@@ -96,7 +140,7 @@ var InviteUserForm = () => {
|
|
|
96
140
|
isError,
|
|
97
141
|
error
|
|
98
142
|
} = useInvites(searchParams);
|
|
99
|
-
const columns = useColumns();
|
|
143
|
+
const columns = useColumns({ isRbacEnabled: showRbacRolesField });
|
|
100
144
|
const { table } = useDataTable({
|
|
101
145
|
data: invites ?? [],
|
|
102
146
|
columns,
|
|
@@ -109,7 +153,13 @@ var InviteUserForm = () => {
|
|
|
109
153
|
const { mutateAsync, isPending } = useCreateInvite();
|
|
110
154
|
const handleSubmit = form.handleSubmit(async (values) => {
|
|
111
155
|
try {
|
|
112
|
-
|
|
156
|
+
const payload = {
|
|
157
|
+
email: values.email
|
|
158
|
+
};
|
|
159
|
+
if (showRbacRolesField && values.roles?.length) {
|
|
160
|
+
payload.roles = values.roles;
|
|
161
|
+
}
|
|
162
|
+
await mutateAsync(payload);
|
|
113
163
|
form.reset();
|
|
114
164
|
} catch (error2) {
|
|
115
165
|
if (isFetchError(error2) && error2.status === 400) {
|
|
@@ -165,26 +215,63 @@ var InviteUserForm = () => {
|
|
|
165
215
|
className: "flex flex-col gap-y-4",
|
|
166
216
|
"data-testid": "user-invite-form-email-section",
|
|
167
217
|
children: [
|
|
168
|
-
/* @__PURE__ */
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
/* @__PURE__ */
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
218
|
+
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
|
|
219
|
+
/* @__PURE__ */ jsx(
|
|
220
|
+
Form.Field,
|
|
221
|
+
{
|
|
222
|
+
control: form.control,
|
|
223
|
+
name: "email",
|
|
224
|
+
render: ({ field }) => {
|
|
225
|
+
return /* @__PURE__ */ jsxs(Form.Item, { "data-testid": "user-invite-form-email-item", children: [
|
|
226
|
+
/* @__PURE__ */ jsx(Form.Label, { "data-testid": "user-invite-form-email-label", children: t("fields.email") }),
|
|
227
|
+
/* @__PURE__ */ jsx(Form.Control, { "data-testid": "user-invite-form-email-control", children: /* @__PURE__ */ jsx(
|
|
228
|
+
Input,
|
|
229
|
+
{
|
|
230
|
+
...field,
|
|
231
|
+
"data-testid": "user-invite-form-email-input"
|
|
232
|
+
}
|
|
233
|
+
) }),
|
|
234
|
+
/* @__PURE__ */ jsx(Form.ErrorMessage, { "data-testid": "user-invite-form-email-error" })
|
|
235
|
+
] });
|
|
236
|
+
}
|
|
185
237
|
}
|
|
186
|
-
|
|
187
|
-
|
|
238
|
+
),
|
|
239
|
+
showRbacRolesField && /* @__PURE__ */ jsx(
|
|
240
|
+
Form.Field,
|
|
241
|
+
{
|
|
242
|
+
control: form.control,
|
|
243
|
+
name: "roles",
|
|
244
|
+
render: ({ field }) => {
|
|
245
|
+
return /* @__PURE__ */ jsxs(Form.Item, { "data-testid": "user-invite-form-roles-item", children: [
|
|
246
|
+
/* @__PURE__ */ jsx(
|
|
247
|
+
Form.Label,
|
|
248
|
+
{
|
|
249
|
+
optional: true,
|
|
250
|
+
tooltip: t("users.inviteRolesTooltip"),
|
|
251
|
+
"data-testid": "user-invite-form-roles-label",
|
|
252
|
+
children: t("roles.domain")
|
|
253
|
+
}
|
|
254
|
+
),
|
|
255
|
+
/* @__PURE__ */ jsx(Form.Control, { "data-testid": "user-invite-form-roles-control", children: /* @__PURE__ */ jsx(
|
|
256
|
+
Combobox,
|
|
257
|
+
{
|
|
258
|
+
...field,
|
|
259
|
+
value: field.value ?? [],
|
|
260
|
+
onChange: (value) => {
|
|
261
|
+
field.onChange(value ?? []);
|
|
262
|
+
},
|
|
263
|
+
options: roleOptions,
|
|
264
|
+
placeholder: t("labels.selectValues"),
|
|
265
|
+
disabled: isRolesLoading,
|
|
266
|
+
"data-testid": "user-invite-form-roles-input"
|
|
267
|
+
}
|
|
268
|
+
) }),
|
|
269
|
+
/* @__PURE__ */ jsx(Form.ErrorMessage, { "data-testid": "user-invite-form-roles-error" })
|
|
270
|
+
] });
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
)
|
|
274
|
+
] }),
|
|
188
275
|
/* @__PURE__ */ jsx("div", { className: "flex items-center justify-end", children: /* @__PURE__ */ jsx(
|
|
189
276
|
Button,
|
|
190
277
|
{
|
|
@@ -306,7 +393,7 @@ var InviteActions = ({ invite }) => {
|
|
|
306
393
|
);
|
|
307
394
|
};
|
|
308
395
|
var columnHelper = createColumnHelper();
|
|
309
|
-
var useColumns = () => {
|
|
396
|
+
var useColumns = ({ isRbacEnabled }) => {
|
|
310
397
|
const { t } = useTranslation();
|
|
311
398
|
return useMemo(
|
|
312
399
|
() => [
|
|
@@ -316,6 +403,19 @@ var useColumns = () => {
|
|
|
316
403
|
return getValue();
|
|
317
404
|
}
|
|
318
405
|
}),
|
|
406
|
+
...isRbacEnabled ? [
|
|
407
|
+
columnHelper.display({
|
|
408
|
+
id: "roles",
|
|
409
|
+
header: t("roles.domain"),
|
|
410
|
+
cell: ({ row }) => {
|
|
411
|
+
const roleNames = row.original.rbac_roles?.map((role) => role.name) ?? [];
|
|
412
|
+
if (!roleNames.length) {
|
|
413
|
+
return /* @__PURE__ */ jsx(Text, { size: "small", className: "text-ui-fg-subtle", children: "-" });
|
|
414
|
+
}
|
|
415
|
+
return /* @__PURE__ */ jsx("div", { className: "flex items-center", children: /* @__PURE__ */ jsx(ListSummary, { inline: true, n: 1, list: roleNames }) });
|
|
416
|
+
}
|
|
417
|
+
})
|
|
418
|
+
] : [],
|
|
319
419
|
columnHelper.accessor("accepted", {
|
|
320
420
|
header: t("fields.status"),
|
|
321
421
|
cell: ({ getValue, row }) => {
|
|
@@ -382,7 +482,7 @@ var useColumns = () => {
|
|
|
382
482
|
cell: ({ row }) => /* @__PURE__ */ jsx(InviteActions, { invite: row.original })
|
|
383
483
|
})
|
|
384
484
|
],
|
|
385
|
-
[t]
|
|
485
|
+
[t, isRbacEnabled]
|
|
386
486
|
);
|
|
387
487
|
};
|
|
388
488
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mercurjs/admin",
|
|
3
|
-
"version": "2.3.2-canary.
|
|
3
|
+
"version": "2.3.2-canary.1",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/mercurjs/mercur",
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"lint": "oxlint --max-warnings 0"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@mercurjs/dashboard-shared": "2.3.2-canary.
|
|
38
|
-
"@mercurjs/client": "2.3.2-canary.
|
|
37
|
+
"@mercurjs/dashboard-shared": "2.3.2-canary.1",
|
|
38
|
+
"@mercurjs/client": "2.3.2-canary.1",
|
|
39
39
|
"@ariakit/react": "^0.4.15",
|
|
40
40
|
"@babel/runtime": "^8.0.0",
|
|
41
41
|
"@dnd-kit/core": "^6.1.0",
|
|
@@ -88,8 +88,8 @@
|
|
|
88
88
|
"tsup": "^8.0.2",
|
|
89
89
|
"typescript": "5.9.3",
|
|
90
90
|
"@medusajs/types": "2.18.0",
|
|
91
|
-
"@mercurjs/core": "2.3.2-canary.
|
|
92
|
-
"@mercurjs/dashboard-sdk": "2.3.2-canary.
|
|
93
|
-
"@mercurjs/types": "2.3.2-canary.
|
|
91
|
+
"@mercurjs/core": "2.3.2-canary.1",
|
|
92
|
+
"@mercurjs/dashboard-sdk": "2.3.2-canary.1",
|
|
93
|
+
"@mercurjs/types": "2.3.2-canary.1"
|
|
94
94
|
}
|
|
95
95
|
}
|