@orion-studios/payload-studio 0.6.0-beta.10 → 0.6.0-beta.103
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/admin/client.js +2073 -610
- package/dist/admin/client.mjs +2048 -587
- package/dist/admin/index.d.mts +2 -2
- package/dist/admin/index.d.ts +2 -2
- package/dist/admin/index.js +129 -16
- package/dist/admin/index.mjs +1 -1
- package/dist/admin-app/client.js +2 -4
- package/dist/admin-app/client.mjs +1 -1
- package/dist/admin-app/index.d.mts +2 -2
- package/dist/admin-app/index.d.ts +2 -2
- package/dist/admin-app/styles.css +316 -3
- package/dist/admin.css +98 -2
- package/dist/builder-v2/client.d.mts +18 -0
- package/dist/builder-v2/client.d.ts +18 -0
- package/dist/builder-v2/client.js +3298 -0
- package/dist/builder-v2/client.mjs +3173 -0
- package/dist/builder-v2/index.d.mts +242 -0
- package/dist/builder-v2/index.d.ts +242 -0
- package/dist/builder-v2/index.js +805 -0
- package/dist/builder-v2/index.mjs +755 -0
- package/dist/builder-v2/styles.css +2365 -0
- package/dist/{chunk-KPIX7OSV.mjs → chunk-3ZKXHSG5.mjs} +2 -4
- package/dist/{chunk-PF3EBZXF.mjs → chunk-7ZMXZRBP.mjs} +39 -3
- package/dist/{chunk-WLOPFFN2.mjs → chunk-JC3UV74N.mjs} +129 -16
- package/dist/{chunk-XKUTZ7IU.mjs → chunk-NGLIA2OE.mjs} +53 -2
- package/dist/{chunk-OTHERBGX.mjs → chunk-ZADL33R6.mjs} +1 -1
- package/dist/{index-CkT_eyhK.d.ts → index-BV0vEGl6.d.ts} +3 -2
- package/dist/{index-Cv-6qnrw.d.mts → index-D5zrOdyv.d.mts} +3 -1
- package/dist/{index-52HdVLQq.d.ts → index-DAdN56fM.d.ts} +1 -1
- package/dist/{index-Bm2SaC3r.d.mts → index-DLfPOqYA.d.mts} +3 -2
- package/dist/{index-Crx_MtPw.d.ts → index-Dv-Alx4h.d.ts} +3 -1
- package/dist/{index-DEQC3Dwj.d.mts → index-G_uTNffQ.d.mts} +1 -1
- package/dist/index.d.mts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js +220 -20
- package/dist/index.mjs +4 -4
- package/dist/nextjs/index.js +39 -3
- package/dist/nextjs/index.mjs +2 -2
- package/dist/{sitePreviewTypes-BkHCWxNW.d.mts → sitePreviewTypes-BrJwGzJj.d.mts} +1 -1
- package/dist/{sitePreviewTypes-BkHCWxNW.d.ts → sitePreviewTypes-BrJwGzJj.d.ts} +1 -1
- package/dist/studio-pages/builder.css +66 -5
- package/dist/studio-pages/client.js +618 -73
- package/dist/studio-pages/client.mjs +641 -96
- package/dist/studio-pages/index.d.mts +1 -1
- package/dist/studio-pages/index.d.ts +1 -1
- package/dist/studio-pages/index.js +91 -4
- package/dist/studio-pages/index.mjs +2 -2
- package/package.json +23 -3
|
@@ -103,14 +103,12 @@ function AdminShellClient({
|
|
|
103
103
|
onLogout,
|
|
104
104
|
storageKey = "orion-admin-shell-collapsed"
|
|
105
105
|
}) {
|
|
106
|
-
const [collapsed, setCollapsed] = useState(
|
|
106
|
+
const [collapsed, setCollapsed] = useState(true);
|
|
107
107
|
const [loggingOut, setLoggingOut] = useState(false);
|
|
108
108
|
useEffect(() => {
|
|
109
109
|
try {
|
|
110
110
|
const stored = window.localStorage.getItem(storageKey);
|
|
111
|
-
|
|
112
|
-
setCollapsed(true);
|
|
113
|
-
}
|
|
111
|
+
setCollapsed(stored === "1");
|
|
114
112
|
} catch {
|
|
115
113
|
}
|
|
116
114
|
}, [storageKey]);
|
|
@@ -40,7 +40,9 @@ var defaultBuilderBlockSettingsV2 = {
|
|
|
40
40
|
},
|
|
41
41
|
typography: {
|
|
42
42
|
bodyAlign: "left",
|
|
43
|
+
bodySizePt: null,
|
|
43
44
|
headingAlign: "left",
|
|
45
|
+
headingSizePt: null,
|
|
44
46
|
letterSpacingPreset: "normal",
|
|
45
47
|
lineHeightPreset: "normal",
|
|
46
48
|
maxTextWidth: "auto"
|
|
@@ -69,7 +71,9 @@ var defaultBuilderItemSettingsV2 = {
|
|
|
69
71
|
},
|
|
70
72
|
typography: {
|
|
71
73
|
bodyAlign: "left",
|
|
74
|
+
bodySizePt: null,
|
|
72
75
|
headingAlign: "left",
|
|
76
|
+
headingSizePt: null,
|
|
73
77
|
letterSpacingPreset: "normal",
|
|
74
78
|
lineHeightPreset: "normal",
|
|
75
79
|
maxTextWidth: "auto"
|
|
@@ -99,6 +103,7 @@ var defaultBuilderThemeTokens = {
|
|
|
99
103
|
|
|
100
104
|
// src/studio-pages/builder/adapters/settingsV2.ts
|
|
101
105
|
var isRecord = (value) => Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
106
|
+
var isTextAlign = (value) => value === "left" || value === "center" || value === "right" || value === "justify";
|
|
102
107
|
var parsePercent = (value) => {
|
|
103
108
|
if (typeof value === "number" && Number.isFinite(value)) {
|
|
104
109
|
return Math.max(0, Math.min(100, value));
|
|
@@ -123,6 +128,18 @@ var parsePixel = (value) => {
|
|
|
123
128
|
}
|
|
124
129
|
return null;
|
|
125
130
|
};
|
|
131
|
+
var parsePoint = (value) => {
|
|
132
|
+
if (typeof value === "number" && Number.isFinite(value)) {
|
|
133
|
+
return Math.max(6, Math.min(120, Math.round(value)));
|
|
134
|
+
}
|
|
135
|
+
if (typeof value === "string" && value.trim().length > 0) {
|
|
136
|
+
const parsed = Number(value);
|
|
137
|
+
if (Number.isFinite(parsed)) {
|
|
138
|
+
return Math.max(6, Math.min(120, Math.round(parsed)));
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return null;
|
|
142
|
+
};
|
|
126
143
|
var mergeSettings = (defaults, input) => {
|
|
127
144
|
if (!isRecord(input)) {
|
|
128
145
|
return structuredClone(defaults);
|
|
@@ -141,6 +158,10 @@ var mergeSettings = (defaults, input) => {
|
|
|
141
158
|
};
|
|
142
159
|
var legacyBlockToV2Settings = (block) => {
|
|
143
160
|
const current = structuredClone(defaultBuilderBlockSettingsV2);
|
|
161
|
+
if (block.blockType === "hero" && block.variant === "centered") {
|
|
162
|
+
current.typography.headingAlign = "center";
|
|
163
|
+
current.typography.bodyAlign = "center";
|
|
164
|
+
}
|
|
144
165
|
current.layout.contentWidth = block.contentWidth === "narrow" || block.contentWidth === "content" || block.contentWidth === "wide" || block.contentWidth === "full" || block.contentWidth === "inherit" ? block.contentWidth : current.layout.contentWidth;
|
|
145
166
|
current.layout.sectionPaddingX = block.sectionPaddingX === "none" || block.sectionPaddingX === "sm" || block.sectionPaddingX === "md" || block.sectionPaddingX === "lg" || block.sectionPaddingX === "inherit" ? block.sectionPaddingX : current.layout.sectionPaddingX;
|
|
146
167
|
current.layout.sectionPaddingY = block.sectionPaddingY === "none" || block.sectionPaddingY === "sm" || block.sectionPaddingY === "lg" ? block.sectionPaddingY : current.layout.sectionPaddingY;
|
|
@@ -177,15 +198,28 @@ var legacyBlockToV2Settings = (block) => {
|
|
|
177
198
|
current.media.positionX = parsePercent(block.imagePositionX ?? block.backgroundImagePositionX);
|
|
178
199
|
current.media.positionY = parsePercent(block.imagePositionY ?? block.backgroundImagePositionY);
|
|
179
200
|
current.media.height = parsePixel(block.imageHeight);
|
|
180
|
-
current.typography.headingAlign = block.textHeadingAlign
|
|
181
|
-
current.typography.bodyAlign = block.textBodyAlign
|
|
201
|
+
current.typography.headingAlign = isTextAlign(block.textHeadingAlign) ? block.textHeadingAlign : current.typography.headingAlign;
|
|
202
|
+
current.typography.bodyAlign = isTextAlign(block.textBodyAlign) ? block.textBodyAlign : current.typography.bodyAlign;
|
|
203
|
+
current.typography.headingSizePt = parsePoint(block.textHeadingSizePt);
|
|
204
|
+
current.typography.bodySizePt = parsePoint(block.textBodySizePt);
|
|
182
205
|
current.typography.maxTextWidth = block.textMaxWidth === "auto" || block.textMaxWidth === "sm" || block.textMaxWidth === "md" || block.textMaxWidth === "lg" || block.textMaxWidth === "full" ? block.textMaxWidth : current.typography.maxTextWidth;
|
|
183
206
|
current.typography.lineHeightPreset = block.textLineHeightPreset === "tight" || block.textLineHeightPreset === "normal" || block.textLineHeightPreset === "relaxed" ? block.textLineHeightPreset : current.typography.lineHeightPreset;
|
|
184
207
|
current.typography.letterSpacingPreset = block.textLetterSpacingPreset === "tight" || block.textLetterSpacingPreset === "normal" || block.textLetterSpacingPreset === "relaxed" ? block.textLetterSpacingPreset : current.typography.letterSpacingPreset;
|
|
185
208
|
current.advanced.editCopyInPanel = Boolean(block.editCopyInPanel ?? current.advanced.editCopyInPanel);
|
|
186
209
|
current.advanced.customClassName = typeof block.customClassName === "string" ? block.customClassName : current.advanced.customClassName;
|
|
187
210
|
current.advanced.hideOnMobile = Boolean(block.hideOnMobile ?? current.advanced.hideOnMobile);
|
|
188
|
-
|
|
211
|
+
const settings = mergeSettings(current, block.settings);
|
|
212
|
+
if (block.blockType === "hero") {
|
|
213
|
+
const top = settings.layout.paddingTopPt;
|
|
214
|
+
const bottom = settings.layout.paddingBottomPt;
|
|
215
|
+
const hasLegacyLinkedHeroPadding = settings.layout.linkVerticalPadding !== false && (top === null || typeof top === "undefined" || top === 30) && (bottom === null || typeof bottom === "undefined" || bottom === 30 || bottom === 20);
|
|
216
|
+
if (hasLegacyLinkedHeroPadding) {
|
|
217
|
+
settings.layout.linkVerticalPadding = false;
|
|
218
|
+
settings.layout.paddingTopPt = 30;
|
|
219
|
+
settings.layout.paddingBottomPt = 20;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
return settings;
|
|
189
223
|
};
|
|
190
224
|
var v2SettingsToLegacyBlock = (blockWithSettings) => {
|
|
191
225
|
const settings = legacyBlockToV2Settings(blockWithSettings);
|
|
@@ -211,6 +245,8 @@ var v2SettingsToLegacyBlock = (blockWithSettings) => {
|
|
|
211
245
|
next.contentGradientAngle = settings.appearance.contentGradientAngle;
|
|
212
246
|
next.textHeadingAlign = settings.typography.headingAlign;
|
|
213
247
|
next.textBodyAlign = settings.typography.bodyAlign;
|
|
248
|
+
next.textHeadingSizePt = settings.typography.headingSizePt;
|
|
249
|
+
next.textBodySizePt = settings.typography.bodySizePt;
|
|
214
250
|
next.textMaxWidth = settings.typography.maxTextWidth;
|
|
215
251
|
next.textLineHeightPreset = settings.typography.lineHeightPreset;
|
|
216
252
|
next.textLetterSpacingPreset = settings.typography.letterSpacingPreset;
|
|
@@ -53,7 +53,7 @@ var createThemePreferenceField = (defaultTheme = "brand-light") => ({
|
|
|
53
53
|
var themePreferenceField = createThemePreferenceField("brand-light");
|
|
54
54
|
|
|
55
55
|
// src/shared/studioSections.ts
|
|
56
|
-
var studioRoles = /* @__PURE__ */ new Set(["admin", "editor", "client"]);
|
|
56
|
+
var studioRoles = /* @__PURE__ */ new Set(["admin", "developer", "editor", "client"]);
|
|
57
57
|
var studioIcons = new Set(adminNavIcons);
|
|
58
58
|
var isRecord = (value) => Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
59
59
|
var isAbsoluteExternalURL = (value) => /^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(value) || value.startsWith("//");
|
|
@@ -186,6 +186,7 @@ function configureAdmin(config) {
|
|
|
186
186
|
brandPrimary = "#3b82f6",
|
|
187
187
|
brandSecondary = "#8b5cf6",
|
|
188
188
|
defaultTheme = "brand-light",
|
|
189
|
+
logoOnDarkUrl,
|
|
189
190
|
logoUrl,
|
|
190
191
|
allowThemePreference = false,
|
|
191
192
|
userSessionDurationSeconds = 60 * 60 * 24
|
|
@@ -293,6 +294,49 @@ function configureAdmin(config) {
|
|
|
293
294
|
}
|
|
294
295
|
};
|
|
295
296
|
};
|
|
297
|
+
const attachStudioEditRedirectToCollection = (collection, options) => {
|
|
298
|
+
if (!studioEnabled) {
|
|
299
|
+
return collection;
|
|
300
|
+
}
|
|
301
|
+
const collectionWithBreadcrumb = attachStudioBackBreadcrumbToCollection(collection);
|
|
302
|
+
const existingViews = collectionWithBreadcrumb.admin?.components?.views;
|
|
303
|
+
const existingEditViews = existingViews?.edit;
|
|
304
|
+
const hasCustomEditView = Boolean(
|
|
305
|
+
existingEditViews?.root || existingEditViews?.default && typeof existingEditViews.default === "object" && existingEditViews.default.Component
|
|
306
|
+
);
|
|
307
|
+
if (hasCustomEditView) {
|
|
308
|
+
return collectionWithBreadcrumb;
|
|
309
|
+
}
|
|
310
|
+
return {
|
|
311
|
+
...collectionWithBreadcrumb,
|
|
312
|
+
admin: {
|
|
313
|
+
...collectionWithBreadcrumb.admin,
|
|
314
|
+
components: {
|
|
315
|
+
...collectionWithBreadcrumb.admin?.components,
|
|
316
|
+
views: {
|
|
317
|
+
...existingViews,
|
|
318
|
+
edit: {
|
|
319
|
+
...existingEditViews,
|
|
320
|
+
default: {
|
|
321
|
+
...typeof existingEditViews?.default === "object" ? existingEditViews.default : {},
|
|
322
|
+
Component: {
|
|
323
|
+
exportName: "StudioDocumentRedirect",
|
|
324
|
+
path: clientPath,
|
|
325
|
+
clientProps: {
|
|
326
|
+
description: options.description,
|
|
327
|
+
...options.emptyHref ? { emptyHref: options.emptyHref } : {},
|
|
328
|
+
...options.emptyLabel ? { emptyLabel: options.emptyLabel } : {},
|
|
329
|
+
pathBase: options.pathBase,
|
|
330
|
+
title: options.title
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
};
|
|
339
|
+
};
|
|
296
340
|
return {
|
|
297
341
|
admin: {
|
|
298
342
|
css: cssPath,
|
|
@@ -310,6 +354,7 @@ function configureAdmin(config) {
|
|
|
310
354
|
path: clientPath,
|
|
311
355
|
clientProps: {
|
|
312
356
|
brandName,
|
|
357
|
+
logoOnDarkUrl,
|
|
313
358
|
logoUrl
|
|
314
359
|
}
|
|
315
360
|
},
|
|
@@ -318,6 +363,7 @@ function configureAdmin(config) {
|
|
|
318
363
|
path: clientPath,
|
|
319
364
|
clientProps: {
|
|
320
365
|
brandName,
|
|
366
|
+
logoOnDarkUrl,
|
|
321
367
|
logoUrl
|
|
322
368
|
}
|
|
323
369
|
}
|
|
@@ -332,6 +378,7 @@ function configureAdmin(config) {
|
|
|
332
378
|
},
|
|
333
379
|
...studioEnabled ? {
|
|
334
380
|
studioGlobals: {
|
|
381
|
+
exact: true,
|
|
335
382
|
path: globalsBasePath,
|
|
336
383
|
Component: {
|
|
337
384
|
exportName: "AdminStudioGlobalsView",
|
|
@@ -343,10 +390,11 @@ function configureAdmin(config) {
|
|
|
343
390
|
}
|
|
344
391
|
}
|
|
345
392
|
},
|
|
346
|
-
|
|
347
|
-
|
|
393
|
+
studioPageNew: {
|
|
394
|
+
exact: true,
|
|
395
|
+
path: `${pagesBasePath}/new`,
|
|
348
396
|
Component: {
|
|
349
|
-
exportName: "
|
|
397
|
+
exportName: "AdminStudioNewPageView",
|
|
350
398
|
path: clientPath,
|
|
351
399
|
clientProps: {
|
|
352
400
|
...studioNavClientProps,
|
|
@@ -355,6 +403,7 @@ function configureAdmin(config) {
|
|
|
355
403
|
}
|
|
356
404
|
},
|
|
357
405
|
studioPageEditor: {
|
|
406
|
+
exact: true,
|
|
358
407
|
path: `${pagesBasePath}/:id`,
|
|
359
408
|
Component: {
|
|
360
409
|
exportName: "AdminStudioPageEditView",
|
|
@@ -365,10 +414,11 @@ function configureAdmin(config) {
|
|
|
365
414
|
}
|
|
366
415
|
}
|
|
367
416
|
},
|
|
368
|
-
|
|
369
|
-
|
|
417
|
+
studioPages: {
|
|
418
|
+
exact: true,
|
|
419
|
+
path: pagesBasePath,
|
|
370
420
|
Component: {
|
|
371
|
-
exportName: "
|
|
421
|
+
exportName: "AdminStudioPagesListView",
|
|
372
422
|
path: clientPath,
|
|
373
423
|
clientProps: {
|
|
374
424
|
...studioNavClientProps,
|
|
@@ -377,6 +427,7 @@ function configureAdmin(config) {
|
|
|
377
427
|
}
|
|
378
428
|
},
|
|
379
429
|
studioContactForm: {
|
|
430
|
+
exact: true,
|
|
380
431
|
path: contactFormStudioPath,
|
|
381
432
|
Component: {
|
|
382
433
|
exportName: "AdminStudioContactFormView",
|
|
@@ -389,7 +440,47 @@ function configureAdmin(config) {
|
|
|
389
440
|
}
|
|
390
441
|
},
|
|
391
442
|
...formsEnabled ? {
|
|
443
|
+
studioFormSubmission: {
|
|
444
|
+
exact: true,
|
|
445
|
+
path: `${formsBasePath}/submissions/:id`,
|
|
446
|
+
Component: {
|
|
447
|
+
exportName: "AdminStudioFormSubmissionView",
|
|
448
|
+
path: clientPath,
|
|
449
|
+
clientProps: {
|
|
450
|
+
...studioNavClientProps,
|
|
451
|
+
formsCollectionSlug,
|
|
452
|
+
formSubmissionsCollectionSlug,
|
|
453
|
+
formUploadsCollectionSlug
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
},
|
|
457
|
+
studioFormUpload: {
|
|
458
|
+
exact: true,
|
|
459
|
+
path: `${formsBasePath}/uploads/:id`,
|
|
460
|
+
Component: {
|
|
461
|
+
exportName: "AdminStudioFormUploadView",
|
|
462
|
+
path: clientPath,
|
|
463
|
+
clientProps: {
|
|
464
|
+
...studioNavClientProps,
|
|
465
|
+
formUploadsCollectionSlug
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
},
|
|
469
|
+
studioFormDetail: {
|
|
470
|
+
exact: true,
|
|
471
|
+
path: `${formsBasePath}/:id`,
|
|
472
|
+
Component: {
|
|
473
|
+
exportName: "AdminStudioFormDetailView",
|
|
474
|
+
path: clientPath,
|
|
475
|
+
clientProps: {
|
|
476
|
+
...studioNavClientProps,
|
|
477
|
+
formsCollectionSlug,
|
|
478
|
+
formSubmissionsCollectionSlug
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
},
|
|
392
482
|
studioForms: {
|
|
483
|
+
exact: true,
|
|
393
484
|
path: formsBasePath,
|
|
394
485
|
Component: {
|
|
395
486
|
exportName: "AdminStudioFormsView",
|
|
@@ -403,10 +494,11 @@ function configureAdmin(config) {
|
|
|
403
494
|
}
|
|
404
495
|
}
|
|
405
496
|
} : {},
|
|
406
|
-
|
|
407
|
-
|
|
497
|
+
studioMediaItem: {
|
|
498
|
+
exact: true,
|
|
499
|
+
path: `${mediaBasePath}/:id`,
|
|
408
500
|
Component: {
|
|
409
|
-
exportName: "
|
|
501
|
+
exportName: "AdminStudioMediaItemView",
|
|
410
502
|
path: clientPath,
|
|
411
503
|
clientProps: {
|
|
412
504
|
...studioNavClientProps,
|
|
@@ -414,10 +506,11 @@ function configureAdmin(config) {
|
|
|
414
506
|
}
|
|
415
507
|
}
|
|
416
508
|
},
|
|
417
|
-
|
|
418
|
-
|
|
509
|
+
studioMedia: {
|
|
510
|
+
exact: true,
|
|
511
|
+
path: mediaBasePath,
|
|
419
512
|
Component: {
|
|
420
|
-
exportName: "
|
|
513
|
+
exportName: "AdminStudioMediaView",
|
|
421
514
|
path: clientPath,
|
|
422
515
|
clientProps: {
|
|
423
516
|
...studioNavClientProps,
|
|
@@ -426,6 +519,7 @@ function configureAdmin(config) {
|
|
|
426
519
|
}
|
|
427
520
|
},
|
|
428
521
|
studioTools: {
|
|
522
|
+
exact: true,
|
|
429
523
|
path: toolsBasePath,
|
|
430
524
|
Component: {
|
|
431
525
|
exportName: "AdminStudioToolsView",
|
|
@@ -470,6 +564,7 @@ function configureAdmin(config) {
|
|
|
470
564
|
path: clientPath,
|
|
471
565
|
clientProps: {
|
|
472
566
|
brandName,
|
|
567
|
+
logoOnDarkUrl,
|
|
473
568
|
logoUrl
|
|
474
569
|
}
|
|
475
570
|
}
|
|
@@ -578,13 +673,31 @@ function configureAdmin(config) {
|
|
|
578
673
|
return attachStudioBackBreadcrumbToCollection(mediaCollection);
|
|
579
674
|
},
|
|
580
675
|
wrapFormsCollection(formsCollection) {
|
|
581
|
-
return
|
|
676
|
+
return attachStudioEditRedirectToCollection(formsCollection, {
|
|
677
|
+
description: "Redirecting to the Studio form workspace.",
|
|
678
|
+
emptyHref: formsBasePath,
|
|
679
|
+
emptyLabel: "Open Forms",
|
|
680
|
+
pathBase: formsBasePath,
|
|
681
|
+
title: "Opening Form..."
|
|
682
|
+
});
|
|
582
683
|
},
|
|
583
684
|
wrapFormSubmissionsCollection(formSubmissionsCollection) {
|
|
584
|
-
return
|
|
685
|
+
return attachStudioEditRedirectToCollection(formSubmissionsCollection, {
|
|
686
|
+
description: "Redirecting to the Studio submission workspace.",
|
|
687
|
+
emptyHref: formsBasePath,
|
|
688
|
+
emptyLabel: "Open Forms",
|
|
689
|
+
pathBase: `${formsBasePath}/submissions`,
|
|
690
|
+
title: "Opening Submission..."
|
|
691
|
+
});
|
|
585
692
|
},
|
|
586
693
|
wrapFormUploadsCollection(formUploadsCollection) {
|
|
587
|
-
return
|
|
694
|
+
return attachStudioEditRedirectToCollection(formUploadsCollection, {
|
|
695
|
+
description: "Redirecting to the Studio upload workspace.",
|
|
696
|
+
emptyHref: formsBasePath,
|
|
697
|
+
emptyLabel: "Open Forms",
|
|
698
|
+
pathBase: `${formsBasePath}/uploads`,
|
|
699
|
+
title: "Opening Upload..."
|
|
700
|
+
});
|
|
588
701
|
},
|
|
589
702
|
wrapGlobals(globals2) {
|
|
590
703
|
const labelMap = {
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
layoutToStudioDocument,
|
|
8
8
|
migrateBlockToSettingsV2,
|
|
9
9
|
studioDocumentToLayout
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-7ZMXZRBP.mjs";
|
|
11
11
|
import {
|
|
12
12
|
assertStudioDocumentV1,
|
|
13
13
|
compileStudioDocument,
|
|
@@ -66,8 +66,52 @@ var alignOptions = [
|
|
|
66
66
|
{ label: "Right", value: "right" },
|
|
67
67
|
{ label: "Justify", value: "justify" }
|
|
68
68
|
];
|
|
69
|
-
var layoutFieldSet = [
|
|
69
|
+
var layoutFieldSet = [
|
|
70
|
+
{
|
|
71
|
+
group: "layout",
|
|
72
|
+
key: "settings.layout.linkVerticalPadding",
|
|
73
|
+
label: "Link Top/Bottom Padding",
|
|
74
|
+
tags: ["spacing", "padding", "vertical"],
|
|
75
|
+
type: "checkbox"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
group: "layout",
|
|
79
|
+
key: "settings.layout.paddingTopPt",
|
|
80
|
+
label: "Top Padding (pt)",
|
|
81
|
+
max: 240,
|
|
82
|
+
min: 0,
|
|
83
|
+
tags: ["spacing", "padding", "top"],
|
|
84
|
+
type: "number"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
group: "layout",
|
|
88
|
+
key: "settings.layout.paddingBottomPt",
|
|
89
|
+
label: "Bottom Padding (pt)",
|
|
90
|
+
max: 240,
|
|
91
|
+
min: 0,
|
|
92
|
+
tags: ["spacing", "padding", "bottom"],
|
|
93
|
+
type: "number"
|
|
94
|
+
}
|
|
95
|
+
];
|
|
70
96
|
var typographyFieldSet = [
|
|
97
|
+
{
|
|
98
|
+
group: "typography",
|
|
99
|
+
key: "settings.typography.headingSizePt",
|
|
100
|
+
label: "Heading Text Size (pt)",
|
|
101
|
+
max: 120,
|
|
102
|
+
min: 6,
|
|
103
|
+
tags: ["text", "size", "heading", "font"],
|
|
104
|
+
type: "number"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
group: "typography",
|
|
108
|
+
key: "settings.typography.bodySizePt",
|
|
109
|
+
label: "Body Text Size (pt)",
|
|
110
|
+
max: 72,
|
|
111
|
+
min: 6,
|
|
112
|
+
tags: ["text", "size", "body", "paragraph", "font"],
|
|
113
|
+
type: "number"
|
|
114
|
+
},
|
|
71
115
|
{
|
|
72
116
|
group: "typography",
|
|
73
117
|
key: "settings.typography.headingAlign",
|
|
@@ -284,6 +328,13 @@ var inspectorDefinitionByBlockType = {
|
|
|
284
328
|
{ group: "basics", inlineEditable: true, key: "kicker", label: "Kicker", type: "text" },
|
|
285
329
|
{ group: "basics", inlineEditable: true, key: "headline", label: "Headline", type: "text" },
|
|
286
330
|
{ group: "basics", inlineEditable: true, key: "subheadline", label: "Subheadline", type: "textarea" },
|
|
331
|
+
{
|
|
332
|
+
group: "basics",
|
|
333
|
+
key: "settings.marquee.itemsText",
|
|
334
|
+
label: "Scrolling Bar Options",
|
|
335
|
+
tags: ["marquee", "scrolling", "bar", "categories"],
|
|
336
|
+
type: "textarea"
|
|
337
|
+
},
|
|
287
338
|
{
|
|
288
339
|
group: "basics",
|
|
289
340
|
key: "variant",
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Field, CollectionConfig, GlobalConfig } from 'payload';
|
|
2
|
-
import { a as AdminNavIcon, e as SitePreviewLink, f as SitePreviewLocationSummary } from './sitePreviewTypes-
|
|
2
|
+
import { a as AdminNavIcon, e as SitePreviewLink, f as SitePreviewLocationSummary } from './sitePreviewTypes-BrJwGzJj.js';
|
|
3
3
|
import { a as SocialMediaPlatform, b as SOCIAL_MEDIA_DEFAULT_ICON_BY_PLATFORM, c as SOCIAL_MEDIA_ICON_OPTIONS, d as SOCIAL_MEDIA_PLATFORMS, e as SOCIAL_MEDIA_PLATFORM_LABELS, S as SocialMediaGlobalData, f as SocialMediaIconLibrary, g as SocialMediaIconOption, h as SocialMediaProfileData, i as SocialMediaProfilesData } from './socialMedia-C05Iy-SV.js';
|
|
4
4
|
|
|
5
5
|
type ThemeOption = 'light' | 'dark' | 'brand-light' | 'brand-dark';
|
|
6
6
|
declare const createThemePreferenceField: (defaultTheme?: ThemeOption) => Field;
|
|
7
7
|
declare const themePreferenceField: Field;
|
|
8
8
|
|
|
9
|
-
type StudioSectionRole = 'admin' | 'editor' | 'client';
|
|
9
|
+
type StudioSectionRole = 'admin' | 'developer' | 'editor' | 'client';
|
|
10
10
|
type StudioSectionCard = {
|
|
11
11
|
description?: string;
|
|
12
12
|
title: string;
|
|
@@ -104,6 +104,7 @@ interface AdminConfig {
|
|
|
104
104
|
brandPrimary?: string;
|
|
105
105
|
brandSecondary?: string;
|
|
106
106
|
defaultTheme?: ThemeOption;
|
|
107
|
+
logoOnDarkUrl?: string;
|
|
107
108
|
logoUrl?: string;
|
|
108
109
|
basePath?: string;
|
|
109
110
|
studio?: AdminStudioConfig;
|
|
@@ -2,7 +2,7 @@ import { S as StudioDocumentV1, a as StudioModuleManifest, b as StudioPageServic
|
|
|
2
2
|
import { Payload } from 'payload';
|
|
3
3
|
import { ComponentType, CSSProperties, ReactNode } from 'react';
|
|
4
4
|
|
|
5
|
-
type InspectorGroupKey = 'advanced' | 'basics' | 'media' | 'typography';
|
|
5
|
+
type InspectorGroupKey = 'advanced' | 'basics' | 'layout' | 'media' | 'typography';
|
|
6
6
|
type InspectorFieldType = 'checkbox' | 'color' | 'number' | 'search' | 'select' | 'text' | 'textarea';
|
|
7
7
|
|
|
8
8
|
type BuilderSettingsPanelMode = 'advanced' | 'basic';
|
|
@@ -21,7 +21,9 @@ type BuilderLayoutSettingsV2 = {
|
|
|
21
21
|
};
|
|
22
22
|
type BuilderTypographySettingsV2 = {
|
|
23
23
|
bodyAlign?: BuilderTextAlign;
|
|
24
|
+
bodySizePt?: number | null;
|
|
24
25
|
headingAlign?: BuilderTextAlign;
|
|
26
|
+
headingSizePt?: number | null;
|
|
25
27
|
letterSpacingPreset?: BuilderTypographySpacingPreset;
|
|
26
28
|
lineHeightPreset?: BuilderTypographySpacingPreset;
|
|
27
29
|
maxTextWidth?: 'auto' | 'full' | 'lg' | 'md' | 'sm';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { A as AdminBreadcrumbItem, a as AdminNavIcon, b as AdminNavItem, c as AdminRole, S as SiteFooterPreviewData, d as SiteHeaderPreviewData, e as SitePreviewLink, f as SitePreviewLocationSummary, g as SitePreviewSocialLink, n as navItemIsActive, r as roleCanAccessNav } from './sitePreviewTypes-
|
|
2
|
+
import { A as AdminBreadcrumbItem, a as AdminNavIcon, b as AdminNavItem, c as AdminRole, S as SiteFooterPreviewData, d as SiteHeaderPreviewData, e as SitePreviewLink, f as SitePreviewLocationSummary, g as SitePreviewSocialLink, n as navItemIsActive, r as roleCanAccessNav } from './sitePreviewTypes-BrJwGzJj.js';
|
|
3
3
|
import { ReactNode } from 'react';
|
|
4
4
|
|
|
5
5
|
type AdminBreadcrumbsProps = {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Field, CollectionConfig, GlobalConfig } from 'payload';
|
|
2
|
-
import { a as AdminNavIcon, e as SitePreviewLink, f as SitePreviewLocationSummary } from './sitePreviewTypes-
|
|
2
|
+
import { a as AdminNavIcon, e as SitePreviewLink, f as SitePreviewLocationSummary } from './sitePreviewTypes-BrJwGzJj.mjs';
|
|
3
3
|
import { a as SocialMediaPlatform, b as SOCIAL_MEDIA_DEFAULT_ICON_BY_PLATFORM, c as SOCIAL_MEDIA_ICON_OPTIONS, d as SOCIAL_MEDIA_PLATFORMS, e as SOCIAL_MEDIA_PLATFORM_LABELS, S as SocialMediaGlobalData, f as SocialMediaIconLibrary, g as SocialMediaIconOption, h as SocialMediaProfileData, i as SocialMediaProfilesData } from './socialMedia-C05Iy-SV.mjs';
|
|
4
4
|
|
|
5
5
|
type ThemeOption = 'light' | 'dark' | 'brand-light' | 'brand-dark';
|
|
6
6
|
declare const createThemePreferenceField: (defaultTheme?: ThemeOption) => Field;
|
|
7
7
|
declare const themePreferenceField: Field;
|
|
8
8
|
|
|
9
|
-
type StudioSectionRole = 'admin' | 'editor' | 'client';
|
|
9
|
+
type StudioSectionRole = 'admin' | 'developer' | 'editor' | 'client';
|
|
10
10
|
type StudioSectionCard = {
|
|
11
11
|
description?: string;
|
|
12
12
|
title: string;
|
|
@@ -104,6 +104,7 @@ interface AdminConfig {
|
|
|
104
104
|
brandPrimary?: string;
|
|
105
105
|
brandSecondary?: string;
|
|
106
106
|
defaultTheme?: ThemeOption;
|
|
107
|
+
logoOnDarkUrl?: string;
|
|
107
108
|
logoUrl?: string;
|
|
108
109
|
basePath?: string;
|
|
109
110
|
studio?: AdminStudioConfig;
|
|
@@ -2,7 +2,7 @@ import { S as StudioDocumentV1, a as StudioModuleManifest, b as StudioPageServic
|
|
|
2
2
|
import { Payload } from 'payload';
|
|
3
3
|
import { ComponentType, CSSProperties, ReactNode } from 'react';
|
|
4
4
|
|
|
5
|
-
type InspectorGroupKey = 'advanced' | 'basics' | 'media' | 'typography';
|
|
5
|
+
type InspectorGroupKey = 'advanced' | 'basics' | 'layout' | 'media' | 'typography';
|
|
6
6
|
type InspectorFieldType = 'checkbox' | 'color' | 'number' | 'search' | 'select' | 'text' | 'textarea';
|
|
7
7
|
|
|
8
8
|
type BuilderSettingsPanelMode = 'advanced' | 'basic';
|
|
@@ -21,7 +21,9 @@ type BuilderLayoutSettingsV2 = {
|
|
|
21
21
|
};
|
|
22
22
|
type BuilderTypographySettingsV2 = {
|
|
23
23
|
bodyAlign?: BuilderTextAlign;
|
|
24
|
+
bodySizePt?: number | null;
|
|
24
25
|
headingAlign?: BuilderTextAlign;
|
|
26
|
+
headingSizePt?: number | null;
|
|
25
27
|
letterSpacingPreset?: BuilderTypographySpacingPreset;
|
|
26
28
|
lineHeightPreset?: BuilderTypographySpacingPreset;
|
|
27
29
|
maxTextWidth?: 'auto' | 'full' | 'lg' | 'md' | 'sm';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { A as AdminBreadcrumbItem, a as AdminNavIcon, b as AdminNavItem, c as AdminRole, S as SiteFooterPreviewData, d as SiteHeaderPreviewData, e as SitePreviewLink, f as SitePreviewLocationSummary, g as SitePreviewSocialLink, n as navItemIsActive, r as roleCanAccessNav } from './sitePreviewTypes-
|
|
2
|
+
import { A as AdminBreadcrumbItem, a as AdminNavIcon, b as AdminNavItem, c as AdminRole, S as SiteFooterPreviewData, d as SiteHeaderPreviewData, e as SitePreviewLink, f as SitePreviewLocationSummary, g as SitePreviewSocialLink, n as navItemIsActive, r as roleCanAccessNav } from './sitePreviewTypes-BrJwGzJj.mjs';
|
|
3
3
|
import { ReactNode } from 'react';
|
|
4
4
|
|
|
5
5
|
type AdminBreadcrumbsProps = {
|
package/dist/index.d.mts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { i as admin } from './index-
|
|
2
|
-
export { i as adminApp } from './index-
|
|
1
|
+
export { i as admin } from './index-DLfPOqYA.mjs';
|
|
2
|
+
export { i as adminApp } from './index-G_uTNffQ.mjs';
|
|
3
3
|
export { i as blocks } from './index-CluwY0ZQ.mjs';
|
|
4
4
|
export { i as nextjs } from './index-D8BNfUJb.mjs';
|
|
5
5
|
export { i as studio } from './index-DWmudwDm.mjs';
|
|
6
|
-
export { i as studioPages } from './index-
|
|
6
|
+
export { i as studioPages } from './index-D5zrOdyv.mjs';
|
|
7
7
|
import 'payload';
|
|
8
|
-
import './sitePreviewTypes-
|
|
8
|
+
import './sitePreviewTypes-BrJwGzJj.mjs';
|
|
9
9
|
import './socialMedia-C05Iy-SV.mjs';
|
|
10
10
|
import 'react/jsx-runtime';
|
|
11
11
|
import 'react';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { i as admin } from './index-
|
|
2
|
-
export { i as adminApp } from './index-
|
|
1
|
+
export { i as admin } from './index-BV0vEGl6.js';
|
|
2
|
+
export { i as adminApp } from './index-DAdN56fM.js';
|
|
3
3
|
export { i as blocks } from './index-CluwY0ZQ.js';
|
|
4
4
|
export { i as nextjs } from './index-DD_E2UfJ.js';
|
|
5
5
|
export { i as studio } from './index-DWmudwDm.js';
|
|
6
|
-
export { i as studioPages } from './index-
|
|
6
|
+
export { i as studioPages } from './index-Dv-Alx4h.js';
|
|
7
7
|
import 'payload';
|
|
8
|
-
import './sitePreviewTypes-
|
|
8
|
+
import './sitePreviewTypes-BrJwGzJj.js';
|
|
9
9
|
import './socialMedia-C05Iy-SV.js';
|
|
10
10
|
import 'react/jsx-runtime';
|
|
11
11
|
import 'react';
|