@infuro/cms-core 1.0.34 → 1.0.36
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/README.md +13 -0
- package/dist/OrderTrackPage-W3J6WIG2.js +426 -0
- package/dist/OrderTrackPage-Z6FCJQYY.cjs +428 -0
- package/dist/admin.cjs +35254 -21613
- package/dist/admin.d.cts +192 -9
- package/dist/admin.d.ts +192 -9
- package/dist/admin.js +34301 -20755
- package/dist/api.cjs +137 -17531
- package/dist/api.d.cts +633 -3
- package/dist/api.d.ts +633 -3
- package/dist/api.js +15 -17528
- package/dist/auth.cjs +192 -1034
- package/dist/auth.d.cts +197 -54
- package/dist/auth.d.ts +197 -54
- package/dist/auth.js +4 -966
- package/dist/chunk-2AEVFOQP.cjs +30436 -0
- package/dist/chunk-3DZRIZOD.cjs +52 -0
- package/dist/chunk-5ELSW2UP.js +150 -0
- package/dist/chunk-7NMT3GBR.cjs +29 -0
- package/dist/chunk-COBORIJH.cjs +2373 -0
- package/dist/chunk-CRFV5WJK.js +16 -0
- package/dist/chunk-D5FBNKQM.cjs +104 -0
- package/dist/chunk-FG6I64HP.js +604 -0
- package/dist/chunk-GO7PPYNU.js +76 -0
- package/dist/chunk-HCIRL37O.js +21 -0
- package/dist/chunk-HF3L2GIT.cjs +194 -0
- package/dist/chunk-HT5DI3XW.cjs +82 -0
- package/dist/chunk-JC6DLWTE.js +21 -0
- package/dist/chunk-JS2W7XZ4.js +30312 -0
- package/dist/chunk-JXF23MPG.js +25 -0
- package/dist/chunk-KFFB6EMZ.js +123 -0
- package/dist/chunk-KPKFNLQQ.cjs +648 -0
- package/dist/chunk-LI2IXVAY.js +171 -0
- package/dist/chunk-MQBT33IV.js +48 -0
- package/dist/chunk-OOTLNH63.cjs +18 -0
- package/dist/chunk-PNOKNSG2.cjs +222 -0
- package/dist/chunk-SHUYVCID.js +4 -0
- package/dist/chunk-SPQFNIYJ.cjs +132 -0
- package/dist/chunk-SYBOCAWB.js +97 -0
- package/dist/chunk-TDV6EJHV.js +192 -0
- package/dist/chunk-UCKN4BBY.cjs +24 -0
- package/dist/chunk-UF3BYUXY.js +616 -0
- package/dist/chunk-UPLVMVRX.cjs +23 -0
- package/dist/chunk-USNT2KNT.cjs +6 -0
- package/dist/chunk-VMY2S32H.js +2342 -0
- package/dist/chunk-WEMDMVHQ.js +216 -0
- package/dist/chunk-WO2DW4AU.cjs +182 -0
- package/dist/chunk-X47PBV4I.js +79 -0
- package/dist/chunk-X6H5VBQ2.cjs +620 -0
- package/dist/chunk-XQ3QUHWR.cjs +83 -0
- package/dist/chunk-XW5ATPRW.cjs +155 -0
- package/dist/cli.cjs +107 -86
- package/dist/cli.js +66 -29
- package/dist/email-queue-CGZBVVAS.js +2 -0
- package/dist/email-queue-TPZWLTIV.cjs +23 -0
- package/dist/emit-order-notification-trigger-D2N3KFHL.cjs +16 -0
- package/dist/emit-order-notification-trigger-IVLWKKJL.js +3 -0
- package/dist/erp-config-enabled-CUMQ6N2V.cjs +11 -0
- package/dist/erp-config-enabled-T37X7T34.js +2 -0
- package/dist/erp-order-invoice-3YISSOWW.js +3 -0
- package/dist/erp-order-invoice-ZR5F2KTA.cjs +12 -0
- package/dist/event-order-defaults-EMWBIGL3.cjs +39 -0
- package/dist/event-order-defaults-SDRNAZHC.js +2 -0
- package/dist/hooks.cjs +259 -132
- package/dist/hooks.d.cts +42 -1
- package/dist/hooks.d.ts +42 -1
- package/dist/hooks.js +234 -91
- package/dist/index.cjs +3679 -22356
- package/dist/index.d.cts +2173 -643
- package/dist/index.d.ts +2173 -643
- package/dist/index.js +2587 -22119
- package/dist/interpolate-WAKPN56R.cjs +11 -0
- package/dist/interpolate-WDUWDF3I.js +2 -0
- package/dist/migrations/1779400000000-ConvertStatusToEnum.ts +142 -0
- package/dist/migrations/1779400000000-SeedDefaultCurrencies.ts +33 -0
- package/dist/migrations/1779500000000-VendorRolesAndPermissions.ts +102 -0
- package/dist/migrations/1779600000000-VendorRegistrationProfile.ts +52 -0
- package/dist/migrations/1779700000000-CollectionIsCatalog.ts +22 -0
- package/dist/migrations/1779710000000-CollectionPlatformCatalog.ts +60 -0
- package/dist/migrations/1779720000000-ProductCategoryPlatformCatalog.ts +157 -0
- package/dist/migrations/1779800000000-EventsAndEventProducts.ts +173 -0
- package/dist/migrations/1779810000000-BackfillVendorRoleEventsPermissions.ts +38 -0
- package/dist/migrations/1779820000000-FixProductsCategoryForeignKey.ts +70 -0
- package/dist/migrations/1779830000000-ProductTitleColumn.ts +32 -0
- package/dist/migrations/1779840000000-EventAboutAndVisibilityFields.ts +34 -0
- package/dist/migrations/1779850000000-EventCityCountrySplit.ts +43 -0
- package/dist/migrations/1779860000000-CreateCombos.ts +140 -0
- package/dist/migrations/1780100000000-OrderAttendeesEventId.ts +55 -0
- package/dist/migrations/1780110000000-EventContactFormId.ts +49 -0
- package/dist/migrations/1780130000000-ProductVariants.ts +54 -0
- package/dist/migrations/1780140000000-EventManagementEnhancements.ts +44 -0
- package/dist/migrations/1780160000000-EventRegistrationGstProductContactForm.ts +79 -0
- package/dist/migrations/1780170000000-ComboCurrencyPrices.ts +20 -0
- package/dist/migrations/1781110000000-VendorOwnerCombosPermission.ts +38 -0
- package/dist/migrations/1781120000000-RefundPoliciesAndRequests.ts +225 -0
- package/dist/migrations/1781130000000-CreateAttendees.ts +44 -0
- package/dist/migrations/1781140000000-EventOrderNotifications.ts +29 -0
- package/dist/migrations/1781150000000-EventNamedLists.ts +28 -0
- package/dist/migrations/1781160000000-RefundPolicyEventTiers.ts +27 -0
- package/dist/migrations/1781170000000-EventRefundPolicy.ts +42 -0
- package/dist/migrations/1781180000000-RemoveCartItemsUniqueConstraint.ts +15 -0
- package/dist/migrations/1781190000000-RenameProductTaxesToProductConfig.ts +84 -0
- package/dist/migrations/1781200000000-VendorOwnerProductConfigPermissions.ts +51 -0
- package/dist/migrations/1781210000000-VendorRoleProductConfigPermissions.ts +46 -0
- package/dist/migrations/1781220000000-AddWhatsappTriggerBindings.ts +23 -0
- package/dist/migrations/1781230000000-AddOrderNotificationTriggers.ts +46 -0
- package/dist/migrations/1781240000000-DropEventOrderNotificationColumns.ts +29 -0
- package/dist/migrations/1781250000000-RemoveOrderRefundedTrigger.ts +36 -0
- package/dist/migrations/helpers/vendor-role-seed.ts +243 -0
- package/dist/paid-order-erp-3USEG6WL.js +3 -0
- package/dist/paid-order-erp-FSQ3GSXE.cjs +12 -0
- package/dist/pg-boss-service-4XF2TQ2E.js +2 -0
- package/dist/pg-boss-service-L6MTF4EQ.cjs +15 -0
- package/dist/razorpay-KLO2KNCB.js +49 -0
- package/dist/razorpay-U23LGY72.cjs +56 -0
- package/dist/rbac-debug-db-HWP65A4O.cjs +35 -0
- package/dist/rbac-debug-db-QJH3AD34.js +33 -0
- package/dist/sms-defaults-2NL24H57.js +2 -0
- package/dist/sms-defaults-KCOPKQBA.cjs +19 -0
- package/dist/stripe-4FD27QVJ.js +51 -0
- package/dist/stripe-VU6OEG2D.cjs +57 -0
- package/dist/theme.cjs +31 -59
- package/dist/theme.d.cts +78 -3
- package/dist/theme.d.ts +78 -3
- package/dist/theme.js +23 -20
- package/dist/vendor-invite-status-77O7ZQ3U.cjs +19 -0
- package/dist/vendor-invite-status-PWJ3DE76.js +2 -0
- package/dist/whatsapp-trigger-dispatcher-ONHXI7UY.cjs +19 -0
- package/dist/whatsapp-trigger-dispatcher-PWFI4FKP.js +6 -0
- package/package.json +147 -142
- package/dist/admin.cjs.map +0 -1
- package/dist/admin.js.map +0 -1
- package/dist/api.cjs.map +0 -1
- package/dist/api.js.map +0 -1
- package/dist/auth.cjs.map +0 -1
- package/dist/auth.js.map +0 -1
- package/dist/cli.cjs.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/config-DJ5CmQvS.d.cts +0 -8
- package/dist/config-DJ5CmQvS.d.ts +0 -8
- package/dist/hooks.cjs.map +0 -1
- package/dist/hooks.js.map +0 -1
- package/dist/index-Bf5GO8fu.d.cts +0 -583
- package/dist/index-DOiJuMQA.d.ts +0 -583
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/theme.cjs.map +0 -1
- package/dist/theme.js.map +0 -1
- package/dist/types-DCVaXlPV.d.cts +0 -78
- package/dist/types-DCVaXlPV.d.ts +0 -78
- package/dist/vendor-scope-DTYhJk_I.d.cts +0 -129
- package/dist/vendor-scope-DTYhJk_I.d.ts +0 -129
package/dist/admin.d.cts
CHANGED
|
@@ -1,7 +1,82 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import React$1 from 'react';
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import React$1, { ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
type PropType = 'text' | 'textarea' | 'richtext' | 'image' | 'color' | 'select' | 'number' | 'boolean' | 'url' | 'entity';
|
|
5
|
+
interface PropDefinition {
|
|
6
|
+
name: string;
|
|
7
|
+
label: string;
|
|
8
|
+
type: PropType;
|
|
9
|
+
options?: {
|
|
10
|
+
label: string;
|
|
11
|
+
value: string;
|
|
12
|
+
}[];
|
|
13
|
+
entity?: string;
|
|
14
|
+
displayField?: string;
|
|
15
|
+
required?: boolean;
|
|
16
|
+
}
|
|
17
|
+
interface ComponentMeta {
|
|
18
|
+
name: string;
|
|
19
|
+
label: string;
|
|
20
|
+
category: string;
|
|
21
|
+
icon: string;
|
|
22
|
+
description: string;
|
|
23
|
+
defaultProps: Record<string, any>;
|
|
24
|
+
props?: PropDefinition[];
|
|
25
|
+
canContainChildren?: boolean;
|
|
26
|
+
}
|
|
27
|
+
interface ThemeComponent {
|
|
28
|
+
meta: ComponentMeta;
|
|
29
|
+
component: React.ComponentType<any>;
|
|
30
|
+
}
|
|
31
|
+
interface NavItem {
|
|
32
|
+
id: string;
|
|
33
|
+
label: string;
|
|
34
|
+
url: string;
|
|
35
|
+
openInNewTab?: boolean;
|
|
36
|
+
/** When set, url is derived from the linked page slug. */
|
|
37
|
+
pageId?: number;
|
|
38
|
+
children?: NavItem[];
|
|
39
|
+
}
|
|
40
|
+
interface NavbarConfig {
|
|
41
|
+
logo: string;
|
|
42
|
+
items: NavItem[];
|
|
43
|
+
ctaLabel?: string;
|
|
44
|
+
ctaUrl?: string;
|
|
45
|
+
/** Optional variant for theme-specific layout (e.g. "page2"). */
|
|
46
|
+
variant?: string;
|
|
47
|
+
}
|
|
48
|
+
interface FooterConfig {
|
|
49
|
+
copyright: string;
|
|
50
|
+
columns: {
|
|
51
|
+
title: string;
|
|
52
|
+
links: {
|
|
53
|
+
label: string;
|
|
54
|
+
url: string;
|
|
55
|
+
}[];
|
|
56
|
+
}[];
|
|
57
|
+
socialLinks: {
|
|
58
|
+
icon: string;
|
|
59
|
+
url: string;
|
|
60
|
+
}[];
|
|
61
|
+
/** When set, footer shows this logo (e.g. same as navbar). */
|
|
62
|
+
logo?: string;
|
|
63
|
+
}
|
|
64
|
+
interface LayoutConfig {
|
|
65
|
+
navbar?: {
|
|
66
|
+
component: React.ComponentType<NavbarConfig>;
|
|
67
|
+
};
|
|
68
|
+
footer?: {
|
|
69
|
+
component: React.ComponentType<FooterConfig>;
|
|
70
|
+
fields: PropDefinition[];
|
|
71
|
+
defaults: Record<string, any>;
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
interface ThemeConfig {
|
|
75
|
+
name: string;
|
|
76
|
+
label: string;
|
|
77
|
+
components: ThemeComponent[];
|
|
78
|
+
layout?: LayoutConfig;
|
|
79
|
+
}
|
|
5
80
|
|
|
6
81
|
interface ThemeRegistryItem {
|
|
7
82
|
id: string;
|
|
@@ -46,6 +121,8 @@ interface CustomCrudColumn {
|
|
|
46
121
|
/**
|
|
47
122
|
* For `type: 'select'`: fixed choices in Add/Edit (e.g. job application status).
|
|
48
123
|
* Example: `{ field: 'status', displayName: 'Status', type: 'select', options: [{ value: 'new', label: 'New' }, ...] }`
|
|
124
|
+
*
|
|
125
|
+
* For `type: 'multiSelect'`: checkbox list; use `relationApi` or static `options` (values stored as string[]).
|
|
49
126
|
*/
|
|
50
127
|
options?: CrudFilterSelectOption[];
|
|
51
128
|
/** Initial value when creating a row (works with `select` and plain fields). */
|
|
@@ -68,6 +145,7 @@ interface CustomCrudColumn {
|
|
|
68
145
|
hideInCreate?: boolean;
|
|
69
146
|
/** When true, column is omitted from the list table but still available in Add/Edit. */
|
|
70
147
|
hideInTable?: boolean;
|
|
148
|
+
hideInEdit?: boolean;
|
|
71
149
|
}
|
|
72
150
|
interface CrudFilter {
|
|
73
151
|
/** Query param name (e.g. status, dateFrom, paymentRef). List filter: select, dateRange, or text. */
|
|
@@ -76,6 +154,10 @@ interface CrudFilter {
|
|
|
76
154
|
type: 'select' | 'dateRange' | 'text';
|
|
77
155
|
/** For type select: options. For dateRange: param is base; API expects param+From and param+To (e.g. dateFrom, dateTo). */
|
|
78
156
|
options?: CrudFilterSelectOption[];
|
|
157
|
+
relationApi?: string;
|
|
158
|
+
relationLabelField?: string;
|
|
159
|
+
relationValueField?: string;
|
|
160
|
+
relationQueryParams?: Record<string, string>;
|
|
79
161
|
}
|
|
80
162
|
interface CustomCrudConfig {
|
|
81
163
|
title: string;
|
|
@@ -90,29 +172,69 @@ interface CustomCrudConfig {
|
|
|
90
172
|
filters?: CrudFilter[];
|
|
91
173
|
resource?: string;
|
|
92
174
|
}
|
|
175
|
+
/**
|
|
176
|
+
* Frontend-defined labels for products shown on a collection edit page.
|
|
177
|
+
* Key by catalog category id (e.g. `"1"`), slug (e.g. `"events"`), or `"default"`.
|
|
178
|
+
*
|
|
179
|
+
* @example
|
|
180
|
+
* categoryRelatedProductLabels={{
|
|
181
|
+
* "1": { sectionTitle: "Tickets", addLabel: "Add ticket", createLabel: "Create ticket", listTitle: "Tickets" },
|
|
182
|
+
* merchandise: { addLabel: "Add merchandise", createLabel: "Create merchandise" },
|
|
183
|
+
* }}
|
|
184
|
+
*/
|
|
185
|
+
interface CategoryRelatedProductLabels {
|
|
186
|
+
/** Section heading above the related products table. Default: "Products". */
|
|
187
|
+
sectionTitle?: string;
|
|
188
|
+
/**
|
|
189
|
+
* Section subtitle. Supports `{categoryName}` and `{collectionName}` placeholders.
|
|
190
|
+
* When omitted, a generic description is generated from the active category/collection.
|
|
191
|
+
*/
|
|
192
|
+
sectionDescription?: string;
|
|
193
|
+
/** Header and section primary action. Default: "Add product". */
|
|
194
|
+
addLabel?: string;
|
|
195
|
+
/** Empty-state CTA. Default: "Create product". */
|
|
196
|
+
createLabel?: string;
|
|
197
|
+
/** Embedded list table title. Default: "Products". */
|
|
198
|
+
listTitle?: string;
|
|
199
|
+
emptyTitle?: string;
|
|
200
|
+
emptyDescription?: string;
|
|
201
|
+
}
|
|
93
202
|
interface AdminConfigValue {
|
|
94
203
|
customNavItems: CustomNavItem[];
|
|
95
204
|
customNavSections?: CustomNavSection[];
|
|
96
205
|
customCrudConfigs: Record<string, CustomCrudConfig>;
|
|
206
|
+
/** Per-category labels for collection edit → related products UI (not from DB schema). */
|
|
207
|
+
categoryRelatedProductLabels?: Record<string, CategoryRelatedProductLabels>;
|
|
208
|
+
/** Optional footer on order detail (e.g. ticket attendees for event commerce). */
|
|
209
|
+
renderOrderDetailFooter?: (orderId: string) => React$1.ReactNode;
|
|
97
210
|
theme?: ThemeConfig;
|
|
98
211
|
themeRegistry?: ThemeRegistryItem[];
|
|
99
212
|
activeThemeId?: string;
|
|
100
213
|
pluginDescriptors?: PluginDescriptor[];
|
|
101
214
|
storeEnabled?: boolean;
|
|
102
215
|
currency: String;
|
|
216
|
+
multiVendorEnabled?: boolean;
|
|
217
|
+
eventsEnabled?: boolean;
|
|
103
218
|
}
|
|
104
219
|
declare const AdminConfigContext: React$1.Context<AdminConfigValue>;
|
|
105
220
|
|
|
106
221
|
interface AdminLayoutProps {
|
|
107
|
-
children: React
|
|
222
|
+
children: React.ReactNode;
|
|
108
223
|
customNavItems?: CustomNavItem[];
|
|
109
224
|
customNavSections?: CustomNavSection[];
|
|
110
225
|
customCrudConfigs?: Record<string, CustomCrudConfig>;
|
|
226
|
+
/**
|
|
227
|
+
* Labels for products on collection edit pages, keyed by category id, slug, or `"default"`.
|
|
228
|
+
* Example: `{ "1": { addLabel: "Add ticket", listTitle: "Tickets" } }`
|
|
229
|
+
*/
|
|
230
|
+
categoryRelatedProductLabels?: Record<string, CategoryRelatedProductLabels>;
|
|
231
|
+
/** Rendered below order detail content (host app: attendees, event passes, etc.). */
|
|
232
|
+
renderOrderDetailFooter?: (orderId: string) => React.ReactNode;
|
|
111
233
|
theme?: ThemeConfig;
|
|
112
234
|
themeRegistry?: ThemeRegistryItem[];
|
|
113
235
|
pluginDescriptors?: PluginDescriptor[];
|
|
114
236
|
}
|
|
115
|
-
declare function AdminLayout({ children, customNavItems, customNavSections, customCrudConfigs, theme, themeRegistry, pluginDescriptors }: AdminLayoutProps): react_jsx_runtime.JSX.Element;
|
|
237
|
+
declare function AdminLayout({ children, customNavItems, customNavSections, customCrudConfigs, categoryRelatedProductLabels, renderOrderDetailFooter, theme, themeRegistry, pluginDescriptors, }: AdminLayoutProps): react_jsx_runtime.JSX.Element;
|
|
116
238
|
|
|
117
239
|
declare function AdminShell({ children }: {
|
|
118
240
|
children: React.ReactNode;
|
|
@@ -153,7 +275,12 @@ type CrudFilterItem = {
|
|
|
153
275
|
maxParam?: string;
|
|
154
276
|
};
|
|
155
277
|
|
|
156
|
-
|
|
278
|
+
type CrudEmptyState = {
|
|
279
|
+
title: string;
|
|
280
|
+
description?: string;
|
|
281
|
+
action?: ReactNode;
|
|
282
|
+
};
|
|
283
|
+
declare function AdminCRUD({ title, apiEndpoint, columns, addEditPageUrl, customViewPageUrl, defaultSortField, defaultSortOrder, filters, filterColumns, extraListParams, createQueryParams, manageUserGroups, emptyState, embedded, disableRowClick, customRowActions, headerActions, }: {
|
|
157
284
|
title: string;
|
|
158
285
|
apiEndpoint: string;
|
|
159
286
|
columns: any[];
|
|
@@ -165,8 +292,20 @@ declare function AdminCRUD({ title, apiEndpoint, columns, addEditPageUrl, custom
|
|
|
165
292
|
/** Full column config for deriving list filters (`select`, `boolean`, `relationApi`). List `columns` may omit hidden fields. */
|
|
166
293
|
filterColumns?: any[];
|
|
167
294
|
extraListParams?: Record<string, string>;
|
|
295
|
+
/** Query string params appended to dedicated create URLs (e.g. preset collectionId). */
|
|
296
|
+
createQueryParams?: Record<string, string>;
|
|
168
297
|
/** When true, show group (role) selector for each user; requires GET /api/admin/roles. */
|
|
169
298
|
manageUserGroups?: boolean;
|
|
299
|
+
/** Shown when the list is empty and no search or filters are applied. */
|
|
300
|
+
emptyState?: CrudEmptyState;
|
|
301
|
+
/** Compact embed: no page header toolbar (import/export/add). */
|
|
302
|
+
embedded?: boolean;
|
|
303
|
+
/** Disable navigating to detail/edit on row click. */
|
|
304
|
+
disableRowClick?: boolean;
|
|
305
|
+
/** Replace default row action buttons (edit/delete). */
|
|
306
|
+
customRowActions?: (item: Record<string, unknown>) => React.ReactNode;
|
|
307
|
+
/** Custom header actions inserted adjacent to import/export/add buttons. */
|
|
308
|
+
headerActions?: ReactNode;
|
|
170
309
|
}): react_jsx_runtime.JSX.Element;
|
|
171
310
|
|
|
172
311
|
type CreateEditFormProps = {
|
|
@@ -321,15 +460,25 @@ declare function CollectionEditPage({ collectionId }: {
|
|
|
321
460
|
collectionId: string;
|
|
322
461
|
}): react_jsx_runtime.JSX.Element;
|
|
323
462
|
|
|
463
|
+
declare function EventEditPage({ eventId }: {
|
|
464
|
+
eventId: string;
|
|
465
|
+
}): react_jsx_runtime.JSX.Element;
|
|
466
|
+
|
|
467
|
+
declare function EventDetailPage({ eventId }: {
|
|
468
|
+
eventId: string;
|
|
469
|
+
}): react_jsx_runtime.JSX.Element;
|
|
470
|
+
|
|
324
471
|
declare function BlogGeneratorPage(): react_jsx_runtime.JSX.Element;
|
|
325
472
|
|
|
326
473
|
/** @deprecated Use Admin → Plugins → Job scheduler. Kept for old bookmarks. */
|
|
327
474
|
declare function SchedulesPage(): react_jsx_runtime.JSX.Element;
|
|
328
475
|
|
|
329
|
-
declare function
|
|
330
|
-
|
|
476
|
+
declare function VendorEditPage({ vendorId }: {
|
|
477
|
+
vendorId: string;
|
|
331
478
|
}): react_jsx_runtime.JSX.Element;
|
|
332
479
|
|
|
480
|
+
declare function VendorsListPage(): react_jsx_runtime.JSX.Element;
|
|
481
|
+
|
|
333
482
|
declare function VendorTeamPage(): react_jsx_runtime.JSX.Element;
|
|
334
483
|
|
|
335
484
|
interface JobSchedulesToolProps {
|
|
@@ -363,10 +512,44 @@ declare function DetailPageLayout({ main, sidebar, }: {
|
|
|
363
512
|
sidebar?: React$1.ReactNode;
|
|
364
513
|
}): react_jsx_runtime.JSX.Element;
|
|
365
514
|
|
|
515
|
+
interface AdminNavItem {
|
|
516
|
+
href: string;
|
|
517
|
+
label: string;
|
|
518
|
+
icon?: string;
|
|
519
|
+
}
|
|
520
|
+
declare const DEFAULT_ADMIN_NAV: AdminNavItem[];
|
|
521
|
+
|
|
366
522
|
declare const STORE_CRUD_CONFIGS: Record<string, CustomCrudConfig>;
|
|
367
523
|
|
|
524
|
+
declare const DEFAULT_CATEGORY_RELATED_PRODUCT_LABELS: {
|
|
525
|
+
readonly sectionTitle: "Products";
|
|
526
|
+
readonly addLabel: "Add product";
|
|
527
|
+
readonly createLabel: "Create product";
|
|
528
|
+
readonly listTitle: "Products";
|
|
529
|
+
readonly emptyTitle: "No products found";
|
|
530
|
+
readonly emptyDescription: "This collection does not have any products yet.";
|
|
531
|
+
};
|
|
532
|
+
type ResolvedCategoryRelatedProductLabels = {
|
|
533
|
+
sectionTitle: string;
|
|
534
|
+
sectionDescription: string;
|
|
535
|
+
addLabel: string;
|
|
536
|
+
createLabel: string;
|
|
537
|
+
listTitle: string;
|
|
538
|
+
emptyTitle: string;
|
|
539
|
+
emptyDescription: string;
|
|
540
|
+
};
|
|
541
|
+
/** Resolve frontend-defined labels for the collection edit products section. */
|
|
542
|
+
declare function resolveCategoryRelatedProductLabels(config: Record<string, CategoryRelatedProductLabels> | undefined, categoryId: number | string | null | undefined, categorySlug?: string | null, context?: {
|
|
543
|
+
categoryName?: string;
|
|
544
|
+
collectionName?: string;
|
|
545
|
+
}): ResolvedCategoryRelatedProductLabels;
|
|
546
|
+
|
|
547
|
+
/**
|
|
548
|
+
* Theme + toast wrapper for admin. SessionProvider must live at the app root
|
|
549
|
+
* (see README providers.tsx) — do not nest a second SessionProvider here.
|
|
550
|
+
*/
|
|
368
551
|
declare function CmsProviders({ children }: {
|
|
369
552
|
children: React.ReactNode;
|
|
370
553
|
}): react_jsx_runtime.JSX.Element;
|
|
371
554
|
|
|
372
|
-
export { AdminCRUD, AdminConfigContext, DashboardPage as AdminDashboardPage, ForgotPasswordPage as AdminForgotPasswordPage, AdminHeader, InvitePage as AdminInvitePage, AdminLayout, type AdminLayoutProps, AdminPageResolver, AdminProfilePage, ResetPasswordPage as AdminResetPasswordPage, SettingsPage as AdminSettingsPage, AdminShell, AdminSidebar, SigninPage as AdminSignInPage, AnalyticsCard, AnalyticsChart, AnalyticsExclusion, BlogEditor as BlogEditorPage, BlogGeneratorPage, BrandEditPage, CategoryAutocomplete, CmsProviders, CollectionEditPage, ComponentSettings, CreateEditForm, type CustomCrudColumn, type CustomCrudConfig, type CustomNavItem, type CustomNavSection, DailyUserChart, DetailPageHeader, type DetailPageHeaderMenuItem, DetailPageLayout, FormBuilder, GeographicMap, JobSchedulesTool, JoditRichText, LayoutSettingsPage, NavbarEditor, PageBuilderPage, type PluginDescriptor, ProductEditPage, STORE_CRUD_CONFIGS, SchedulesPage, TagAutocomplete, type ThemeRegistryItem, UserAutocomplete,
|
|
555
|
+
export { AdminCRUD, AdminConfigContext, DashboardPage as AdminDashboardPage, ForgotPasswordPage as AdminForgotPasswordPage, AdminHeader, InvitePage as AdminInvitePage, AdminLayout, type AdminLayoutProps, type AdminNavItem, AdminPageResolver, AdminProfilePage, ResetPasswordPage as AdminResetPasswordPage, SettingsPage as AdminSettingsPage, AdminShell, AdminSidebar, SigninPage as AdminSignInPage, AnalyticsCard, AnalyticsChart, AnalyticsExclusion, BlogEditor as BlogEditorPage, BlogGeneratorPage, BrandEditPage, CategoryAutocomplete, type CategoryRelatedProductLabels, CmsProviders, CollectionEditPage, ComponentSettings, CreateEditForm, type CustomCrudColumn, type CustomCrudConfig, type CustomNavItem, type CustomNavSection, DEFAULT_ADMIN_NAV, DEFAULT_CATEGORY_RELATED_PRODUCT_LABELS, DailyUserChart, DetailPageHeader, type DetailPageHeaderMenuItem, DetailPageLayout, EventDetailPage, EventEditPage, FormBuilder, GeographicMap, JobSchedulesTool, JoditRichText, LayoutSettingsPage, NavbarEditor, PageBuilderPage, type PluginDescriptor, ProductEditPage, type ResolvedCategoryRelatedProductLabels, STORE_CRUD_CONFIGS, SchedulesPage, TagAutocomplete, type ThemeRegistryItem, UserAutocomplete, VendorEditPage, VendorTeamPage, VendorsListPage, AdminLayout as default, resolveCategoryRelatedProductLabels };
|
package/dist/admin.d.ts
CHANGED
|
@@ -1,7 +1,82 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import React$1 from 'react';
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import React$1, { ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
type PropType = 'text' | 'textarea' | 'richtext' | 'image' | 'color' | 'select' | 'number' | 'boolean' | 'url' | 'entity';
|
|
5
|
+
interface PropDefinition {
|
|
6
|
+
name: string;
|
|
7
|
+
label: string;
|
|
8
|
+
type: PropType;
|
|
9
|
+
options?: {
|
|
10
|
+
label: string;
|
|
11
|
+
value: string;
|
|
12
|
+
}[];
|
|
13
|
+
entity?: string;
|
|
14
|
+
displayField?: string;
|
|
15
|
+
required?: boolean;
|
|
16
|
+
}
|
|
17
|
+
interface ComponentMeta {
|
|
18
|
+
name: string;
|
|
19
|
+
label: string;
|
|
20
|
+
category: string;
|
|
21
|
+
icon: string;
|
|
22
|
+
description: string;
|
|
23
|
+
defaultProps: Record<string, any>;
|
|
24
|
+
props?: PropDefinition[];
|
|
25
|
+
canContainChildren?: boolean;
|
|
26
|
+
}
|
|
27
|
+
interface ThemeComponent {
|
|
28
|
+
meta: ComponentMeta;
|
|
29
|
+
component: React.ComponentType<any>;
|
|
30
|
+
}
|
|
31
|
+
interface NavItem {
|
|
32
|
+
id: string;
|
|
33
|
+
label: string;
|
|
34
|
+
url: string;
|
|
35
|
+
openInNewTab?: boolean;
|
|
36
|
+
/** When set, url is derived from the linked page slug. */
|
|
37
|
+
pageId?: number;
|
|
38
|
+
children?: NavItem[];
|
|
39
|
+
}
|
|
40
|
+
interface NavbarConfig {
|
|
41
|
+
logo: string;
|
|
42
|
+
items: NavItem[];
|
|
43
|
+
ctaLabel?: string;
|
|
44
|
+
ctaUrl?: string;
|
|
45
|
+
/** Optional variant for theme-specific layout (e.g. "page2"). */
|
|
46
|
+
variant?: string;
|
|
47
|
+
}
|
|
48
|
+
interface FooterConfig {
|
|
49
|
+
copyright: string;
|
|
50
|
+
columns: {
|
|
51
|
+
title: string;
|
|
52
|
+
links: {
|
|
53
|
+
label: string;
|
|
54
|
+
url: string;
|
|
55
|
+
}[];
|
|
56
|
+
}[];
|
|
57
|
+
socialLinks: {
|
|
58
|
+
icon: string;
|
|
59
|
+
url: string;
|
|
60
|
+
}[];
|
|
61
|
+
/** When set, footer shows this logo (e.g. same as navbar). */
|
|
62
|
+
logo?: string;
|
|
63
|
+
}
|
|
64
|
+
interface LayoutConfig {
|
|
65
|
+
navbar?: {
|
|
66
|
+
component: React.ComponentType<NavbarConfig>;
|
|
67
|
+
};
|
|
68
|
+
footer?: {
|
|
69
|
+
component: React.ComponentType<FooterConfig>;
|
|
70
|
+
fields: PropDefinition[];
|
|
71
|
+
defaults: Record<string, any>;
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
interface ThemeConfig {
|
|
75
|
+
name: string;
|
|
76
|
+
label: string;
|
|
77
|
+
components: ThemeComponent[];
|
|
78
|
+
layout?: LayoutConfig;
|
|
79
|
+
}
|
|
5
80
|
|
|
6
81
|
interface ThemeRegistryItem {
|
|
7
82
|
id: string;
|
|
@@ -46,6 +121,8 @@ interface CustomCrudColumn {
|
|
|
46
121
|
/**
|
|
47
122
|
* For `type: 'select'`: fixed choices in Add/Edit (e.g. job application status).
|
|
48
123
|
* Example: `{ field: 'status', displayName: 'Status', type: 'select', options: [{ value: 'new', label: 'New' }, ...] }`
|
|
124
|
+
*
|
|
125
|
+
* For `type: 'multiSelect'`: checkbox list; use `relationApi` or static `options` (values stored as string[]).
|
|
49
126
|
*/
|
|
50
127
|
options?: CrudFilterSelectOption[];
|
|
51
128
|
/** Initial value when creating a row (works with `select` and plain fields). */
|
|
@@ -68,6 +145,7 @@ interface CustomCrudColumn {
|
|
|
68
145
|
hideInCreate?: boolean;
|
|
69
146
|
/** When true, column is omitted from the list table but still available in Add/Edit. */
|
|
70
147
|
hideInTable?: boolean;
|
|
148
|
+
hideInEdit?: boolean;
|
|
71
149
|
}
|
|
72
150
|
interface CrudFilter {
|
|
73
151
|
/** Query param name (e.g. status, dateFrom, paymentRef). List filter: select, dateRange, or text. */
|
|
@@ -76,6 +154,10 @@ interface CrudFilter {
|
|
|
76
154
|
type: 'select' | 'dateRange' | 'text';
|
|
77
155
|
/** For type select: options. For dateRange: param is base; API expects param+From and param+To (e.g. dateFrom, dateTo). */
|
|
78
156
|
options?: CrudFilterSelectOption[];
|
|
157
|
+
relationApi?: string;
|
|
158
|
+
relationLabelField?: string;
|
|
159
|
+
relationValueField?: string;
|
|
160
|
+
relationQueryParams?: Record<string, string>;
|
|
79
161
|
}
|
|
80
162
|
interface CustomCrudConfig {
|
|
81
163
|
title: string;
|
|
@@ -90,29 +172,69 @@ interface CustomCrudConfig {
|
|
|
90
172
|
filters?: CrudFilter[];
|
|
91
173
|
resource?: string;
|
|
92
174
|
}
|
|
175
|
+
/**
|
|
176
|
+
* Frontend-defined labels for products shown on a collection edit page.
|
|
177
|
+
* Key by catalog category id (e.g. `"1"`), slug (e.g. `"events"`), or `"default"`.
|
|
178
|
+
*
|
|
179
|
+
* @example
|
|
180
|
+
* categoryRelatedProductLabels={{
|
|
181
|
+
* "1": { sectionTitle: "Tickets", addLabel: "Add ticket", createLabel: "Create ticket", listTitle: "Tickets" },
|
|
182
|
+
* merchandise: { addLabel: "Add merchandise", createLabel: "Create merchandise" },
|
|
183
|
+
* }}
|
|
184
|
+
*/
|
|
185
|
+
interface CategoryRelatedProductLabels {
|
|
186
|
+
/** Section heading above the related products table. Default: "Products". */
|
|
187
|
+
sectionTitle?: string;
|
|
188
|
+
/**
|
|
189
|
+
* Section subtitle. Supports `{categoryName}` and `{collectionName}` placeholders.
|
|
190
|
+
* When omitted, a generic description is generated from the active category/collection.
|
|
191
|
+
*/
|
|
192
|
+
sectionDescription?: string;
|
|
193
|
+
/** Header and section primary action. Default: "Add product". */
|
|
194
|
+
addLabel?: string;
|
|
195
|
+
/** Empty-state CTA. Default: "Create product". */
|
|
196
|
+
createLabel?: string;
|
|
197
|
+
/** Embedded list table title. Default: "Products". */
|
|
198
|
+
listTitle?: string;
|
|
199
|
+
emptyTitle?: string;
|
|
200
|
+
emptyDescription?: string;
|
|
201
|
+
}
|
|
93
202
|
interface AdminConfigValue {
|
|
94
203
|
customNavItems: CustomNavItem[];
|
|
95
204
|
customNavSections?: CustomNavSection[];
|
|
96
205
|
customCrudConfigs: Record<string, CustomCrudConfig>;
|
|
206
|
+
/** Per-category labels for collection edit → related products UI (not from DB schema). */
|
|
207
|
+
categoryRelatedProductLabels?: Record<string, CategoryRelatedProductLabels>;
|
|
208
|
+
/** Optional footer on order detail (e.g. ticket attendees for event commerce). */
|
|
209
|
+
renderOrderDetailFooter?: (orderId: string) => React$1.ReactNode;
|
|
97
210
|
theme?: ThemeConfig;
|
|
98
211
|
themeRegistry?: ThemeRegistryItem[];
|
|
99
212
|
activeThemeId?: string;
|
|
100
213
|
pluginDescriptors?: PluginDescriptor[];
|
|
101
214
|
storeEnabled?: boolean;
|
|
102
215
|
currency: String;
|
|
216
|
+
multiVendorEnabled?: boolean;
|
|
217
|
+
eventsEnabled?: boolean;
|
|
103
218
|
}
|
|
104
219
|
declare const AdminConfigContext: React$1.Context<AdminConfigValue>;
|
|
105
220
|
|
|
106
221
|
interface AdminLayoutProps {
|
|
107
|
-
children: React
|
|
222
|
+
children: React.ReactNode;
|
|
108
223
|
customNavItems?: CustomNavItem[];
|
|
109
224
|
customNavSections?: CustomNavSection[];
|
|
110
225
|
customCrudConfigs?: Record<string, CustomCrudConfig>;
|
|
226
|
+
/**
|
|
227
|
+
* Labels for products on collection edit pages, keyed by category id, slug, or `"default"`.
|
|
228
|
+
* Example: `{ "1": { addLabel: "Add ticket", listTitle: "Tickets" } }`
|
|
229
|
+
*/
|
|
230
|
+
categoryRelatedProductLabels?: Record<string, CategoryRelatedProductLabels>;
|
|
231
|
+
/** Rendered below order detail content (host app: attendees, event passes, etc.). */
|
|
232
|
+
renderOrderDetailFooter?: (orderId: string) => React.ReactNode;
|
|
111
233
|
theme?: ThemeConfig;
|
|
112
234
|
themeRegistry?: ThemeRegistryItem[];
|
|
113
235
|
pluginDescriptors?: PluginDescriptor[];
|
|
114
236
|
}
|
|
115
|
-
declare function AdminLayout({ children, customNavItems, customNavSections, customCrudConfigs, theme, themeRegistry, pluginDescriptors }: AdminLayoutProps): react_jsx_runtime.JSX.Element;
|
|
237
|
+
declare function AdminLayout({ children, customNavItems, customNavSections, customCrudConfigs, categoryRelatedProductLabels, renderOrderDetailFooter, theme, themeRegistry, pluginDescriptors, }: AdminLayoutProps): react_jsx_runtime.JSX.Element;
|
|
116
238
|
|
|
117
239
|
declare function AdminShell({ children }: {
|
|
118
240
|
children: React.ReactNode;
|
|
@@ -153,7 +275,12 @@ type CrudFilterItem = {
|
|
|
153
275
|
maxParam?: string;
|
|
154
276
|
};
|
|
155
277
|
|
|
156
|
-
|
|
278
|
+
type CrudEmptyState = {
|
|
279
|
+
title: string;
|
|
280
|
+
description?: string;
|
|
281
|
+
action?: ReactNode;
|
|
282
|
+
};
|
|
283
|
+
declare function AdminCRUD({ title, apiEndpoint, columns, addEditPageUrl, customViewPageUrl, defaultSortField, defaultSortOrder, filters, filterColumns, extraListParams, createQueryParams, manageUserGroups, emptyState, embedded, disableRowClick, customRowActions, headerActions, }: {
|
|
157
284
|
title: string;
|
|
158
285
|
apiEndpoint: string;
|
|
159
286
|
columns: any[];
|
|
@@ -165,8 +292,20 @@ declare function AdminCRUD({ title, apiEndpoint, columns, addEditPageUrl, custom
|
|
|
165
292
|
/** Full column config for deriving list filters (`select`, `boolean`, `relationApi`). List `columns` may omit hidden fields. */
|
|
166
293
|
filterColumns?: any[];
|
|
167
294
|
extraListParams?: Record<string, string>;
|
|
295
|
+
/** Query string params appended to dedicated create URLs (e.g. preset collectionId). */
|
|
296
|
+
createQueryParams?: Record<string, string>;
|
|
168
297
|
/** When true, show group (role) selector for each user; requires GET /api/admin/roles. */
|
|
169
298
|
manageUserGroups?: boolean;
|
|
299
|
+
/** Shown when the list is empty and no search or filters are applied. */
|
|
300
|
+
emptyState?: CrudEmptyState;
|
|
301
|
+
/** Compact embed: no page header toolbar (import/export/add). */
|
|
302
|
+
embedded?: boolean;
|
|
303
|
+
/** Disable navigating to detail/edit on row click. */
|
|
304
|
+
disableRowClick?: boolean;
|
|
305
|
+
/** Replace default row action buttons (edit/delete). */
|
|
306
|
+
customRowActions?: (item: Record<string, unknown>) => React.ReactNode;
|
|
307
|
+
/** Custom header actions inserted adjacent to import/export/add buttons. */
|
|
308
|
+
headerActions?: ReactNode;
|
|
170
309
|
}): react_jsx_runtime.JSX.Element;
|
|
171
310
|
|
|
172
311
|
type CreateEditFormProps = {
|
|
@@ -321,15 +460,25 @@ declare function CollectionEditPage({ collectionId }: {
|
|
|
321
460
|
collectionId: string;
|
|
322
461
|
}): react_jsx_runtime.JSX.Element;
|
|
323
462
|
|
|
463
|
+
declare function EventEditPage({ eventId }: {
|
|
464
|
+
eventId: string;
|
|
465
|
+
}): react_jsx_runtime.JSX.Element;
|
|
466
|
+
|
|
467
|
+
declare function EventDetailPage({ eventId }: {
|
|
468
|
+
eventId: string;
|
|
469
|
+
}): react_jsx_runtime.JSX.Element;
|
|
470
|
+
|
|
324
471
|
declare function BlogGeneratorPage(): react_jsx_runtime.JSX.Element;
|
|
325
472
|
|
|
326
473
|
/** @deprecated Use Admin → Plugins → Job scheduler. Kept for old bookmarks. */
|
|
327
474
|
declare function SchedulesPage(): react_jsx_runtime.JSX.Element;
|
|
328
475
|
|
|
329
|
-
declare function
|
|
330
|
-
|
|
476
|
+
declare function VendorEditPage({ vendorId }: {
|
|
477
|
+
vendorId: string;
|
|
331
478
|
}): react_jsx_runtime.JSX.Element;
|
|
332
479
|
|
|
480
|
+
declare function VendorsListPage(): react_jsx_runtime.JSX.Element;
|
|
481
|
+
|
|
333
482
|
declare function VendorTeamPage(): react_jsx_runtime.JSX.Element;
|
|
334
483
|
|
|
335
484
|
interface JobSchedulesToolProps {
|
|
@@ -363,10 +512,44 @@ declare function DetailPageLayout({ main, sidebar, }: {
|
|
|
363
512
|
sidebar?: React$1.ReactNode;
|
|
364
513
|
}): react_jsx_runtime.JSX.Element;
|
|
365
514
|
|
|
515
|
+
interface AdminNavItem {
|
|
516
|
+
href: string;
|
|
517
|
+
label: string;
|
|
518
|
+
icon?: string;
|
|
519
|
+
}
|
|
520
|
+
declare const DEFAULT_ADMIN_NAV: AdminNavItem[];
|
|
521
|
+
|
|
366
522
|
declare const STORE_CRUD_CONFIGS: Record<string, CustomCrudConfig>;
|
|
367
523
|
|
|
524
|
+
declare const DEFAULT_CATEGORY_RELATED_PRODUCT_LABELS: {
|
|
525
|
+
readonly sectionTitle: "Products";
|
|
526
|
+
readonly addLabel: "Add product";
|
|
527
|
+
readonly createLabel: "Create product";
|
|
528
|
+
readonly listTitle: "Products";
|
|
529
|
+
readonly emptyTitle: "No products found";
|
|
530
|
+
readonly emptyDescription: "This collection does not have any products yet.";
|
|
531
|
+
};
|
|
532
|
+
type ResolvedCategoryRelatedProductLabels = {
|
|
533
|
+
sectionTitle: string;
|
|
534
|
+
sectionDescription: string;
|
|
535
|
+
addLabel: string;
|
|
536
|
+
createLabel: string;
|
|
537
|
+
listTitle: string;
|
|
538
|
+
emptyTitle: string;
|
|
539
|
+
emptyDescription: string;
|
|
540
|
+
};
|
|
541
|
+
/** Resolve frontend-defined labels for the collection edit products section. */
|
|
542
|
+
declare function resolveCategoryRelatedProductLabels(config: Record<string, CategoryRelatedProductLabels> | undefined, categoryId: number | string | null | undefined, categorySlug?: string | null, context?: {
|
|
543
|
+
categoryName?: string;
|
|
544
|
+
collectionName?: string;
|
|
545
|
+
}): ResolvedCategoryRelatedProductLabels;
|
|
546
|
+
|
|
547
|
+
/**
|
|
548
|
+
* Theme + toast wrapper for admin. SessionProvider must live at the app root
|
|
549
|
+
* (see README providers.tsx) — do not nest a second SessionProvider here.
|
|
550
|
+
*/
|
|
368
551
|
declare function CmsProviders({ children }: {
|
|
369
552
|
children: React.ReactNode;
|
|
370
553
|
}): react_jsx_runtime.JSX.Element;
|
|
371
554
|
|
|
372
|
-
export { AdminCRUD, AdminConfigContext, DashboardPage as AdminDashboardPage, ForgotPasswordPage as AdminForgotPasswordPage, AdminHeader, InvitePage as AdminInvitePage, AdminLayout, type AdminLayoutProps, AdminPageResolver, AdminProfilePage, ResetPasswordPage as AdminResetPasswordPage, SettingsPage as AdminSettingsPage, AdminShell, AdminSidebar, SigninPage as AdminSignInPage, AnalyticsCard, AnalyticsChart, AnalyticsExclusion, BlogEditor as BlogEditorPage, BlogGeneratorPage, BrandEditPage, CategoryAutocomplete, CmsProviders, CollectionEditPage, ComponentSettings, CreateEditForm, type CustomCrudColumn, type CustomCrudConfig, type CustomNavItem, type CustomNavSection, DailyUserChart, DetailPageHeader, type DetailPageHeaderMenuItem, DetailPageLayout, FormBuilder, GeographicMap, JobSchedulesTool, JoditRichText, LayoutSettingsPage, NavbarEditor, PageBuilderPage, type PluginDescriptor, ProductEditPage, STORE_CRUD_CONFIGS, SchedulesPage, TagAutocomplete, type ThemeRegistryItem, UserAutocomplete,
|
|
555
|
+
export { AdminCRUD, AdminConfigContext, DashboardPage as AdminDashboardPage, ForgotPasswordPage as AdminForgotPasswordPage, AdminHeader, InvitePage as AdminInvitePage, AdminLayout, type AdminLayoutProps, type AdminNavItem, AdminPageResolver, AdminProfilePage, ResetPasswordPage as AdminResetPasswordPage, SettingsPage as AdminSettingsPage, AdminShell, AdminSidebar, SigninPage as AdminSignInPage, AnalyticsCard, AnalyticsChart, AnalyticsExclusion, BlogEditor as BlogEditorPage, BlogGeneratorPage, BrandEditPage, CategoryAutocomplete, type CategoryRelatedProductLabels, CmsProviders, CollectionEditPage, ComponentSettings, CreateEditForm, type CustomCrudColumn, type CustomCrudConfig, type CustomNavItem, type CustomNavSection, DEFAULT_ADMIN_NAV, DEFAULT_CATEGORY_RELATED_PRODUCT_LABELS, DailyUserChart, DetailPageHeader, type DetailPageHeaderMenuItem, DetailPageLayout, EventDetailPage, EventEditPage, FormBuilder, GeographicMap, JobSchedulesTool, JoditRichText, LayoutSettingsPage, NavbarEditor, PageBuilderPage, type PluginDescriptor, ProductEditPage, type ResolvedCategoryRelatedProductLabels, STORE_CRUD_CONFIGS, SchedulesPage, TagAutocomplete, type ThemeRegistryItem, UserAutocomplete, VendorEditPage, VendorTeamPage, VendorsListPage, AdminLayout as default, resolveCategoryRelatedProductLabels };
|