@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
package/dist/index.js
CHANGED
|
@@ -107,7 +107,7 @@ var navItemIsActive = (pathname, item) => {
|
|
|
107
107
|
};
|
|
108
108
|
|
|
109
109
|
// src/shared/studioSections.ts
|
|
110
|
-
var studioRoles = /* @__PURE__ */ new Set(["admin", "editor", "client"]);
|
|
110
|
+
var studioRoles = /* @__PURE__ */ new Set(["admin", "developer", "editor", "client"]);
|
|
111
111
|
var studioIcons = new Set(adminNavIcons);
|
|
112
112
|
var isRecord = (value) => Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
113
113
|
var isAbsoluteExternalURL = (value) => /^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(value) || value.startsWith("//");
|
|
@@ -241,6 +241,7 @@ function configureAdmin(config) {
|
|
|
241
241
|
brandPrimary = "#3b82f6",
|
|
242
242
|
brandSecondary = "#8b5cf6",
|
|
243
243
|
defaultTheme = "brand-light",
|
|
244
|
+
logoOnDarkUrl,
|
|
244
245
|
logoUrl,
|
|
245
246
|
allowThemePreference = false,
|
|
246
247
|
userSessionDurationSeconds = 60 * 60 * 24
|
|
@@ -348,6 +349,49 @@ function configureAdmin(config) {
|
|
|
348
349
|
}
|
|
349
350
|
};
|
|
350
351
|
};
|
|
352
|
+
const attachStudioEditRedirectToCollection = (collection, options) => {
|
|
353
|
+
if (!studioEnabled) {
|
|
354
|
+
return collection;
|
|
355
|
+
}
|
|
356
|
+
const collectionWithBreadcrumb = attachStudioBackBreadcrumbToCollection(collection);
|
|
357
|
+
const existingViews = collectionWithBreadcrumb.admin?.components?.views;
|
|
358
|
+
const existingEditViews = existingViews?.edit;
|
|
359
|
+
const hasCustomEditView = Boolean(
|
|
360
|
+
existingEditViews?.root || existingEditViews?.default && typeof existingEditViews.default === "object" && existingEditViews.default.Component
|
|
361
|
+
);
|
|
362
|
+
if (hasCustomEditView) {
|
|
363
|
+
return collectionWithBreadcrumb;
|
|
364
|
+
}
|
|
365
|
+
return {
|
|
366
|
+
...collectionWithBreadcrumb,
|
|
367
|
+
admin: {
|
|
368
|
+
...collectionWithBreadcrumb.admin,
|
|
369
|
+
components: {
|
|
370
|
+
...collectionWithBreadcrumb.admin?.components,
|
|
371
|
+
views: {
|
|
372
|
+
...existingViews,
|
|
373
|
+
edit: {
|
|
374
|
+
...existingEditViews,
|
|
375
|
+
default: {
|
|
376
|
+
...typeof existingEditViews?.default === "object" ? existingEditViews.default : {},
|
|
377
|
+
Component: {
|
|
378
|
+
exportName: "StudioDocumentRedirect",
|
|
379
|
+
path: clientPath,
|
|
380
|
+
clientProps: {
|
|
381
|
+
description: options.description,
|
|
382
|
+
...options.emptyHref ? { emptyHref: options.emptyHref } : {},
|
|
383
|
+
...options.emptyLabel ? { emptyLabel: options.emptyLabel } : {},
|
|
384
|
+
pathBase: options.pathBase,
|
|
385
|
+
title: options.title
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
};
|
|
394
|
+
};
|
|
351
395
|
return {
|
|
352
396
|
admin: {
|
|
353
397
|
css: cssPath,
|
|
@@ -365,6 +409,7 @@ function configureAdmin(config) {
|
|
|
365
409
|
path: clientPath,
|
|
366
410
|
clientProps: {
|
|
367
411
|
brandName,
|
|
412
|
+
logoOnDarkUrl,
|
|
368
413
|
logoUrl
|
|
369
414
|
}
|
|
370
415
|
},
|
|
@@ -373,6 +418,7 @@ function configureAdmin(config) {
|
|
|
373
418
|
path: clientPath,
|
|
374
419
|
clientProps: {
|
|
375
420
|
brandName,
|
|
421
|
+
logoOnDarkUrl,
|
|
376
422
|
logoUrl
|
|
377
423
|
}
|
|
378
424
|
}
|
|
@@ -387,6 +433,7 @@ function configureAdmin(config) {
|
|
|
387
433
|
},
|
|
388
434
|
...studioEnabled ? {
|
|
389
435
|
studioGlobals: {
|
|
436
|
+
exact: true,
|
|
390
437
|
path: globalsBasePath,
|
|
391
438
|
Component: {
|
|
392
439
|
exportName: "AdminStudioGlobalsView",
|
|
@@ -398,10 +445,11 @@ function configureAdmin(config) {
|
|
|
398
445
|
}
|
|
399
446
|
}
|
|
400
447
|
},
|
|
401
|
-
|
|
402
|
-
|
|
448
|
+
studioPageNew: {
|
|
449
|
+
exact: true,
|
|
450
|
+
path: `${pagesBasePath}/new`,
|
|
403
451
|
Component: {
|
|
404
|
-
exportName: "
|
|
452
|
+
exportName: "AdminStudioNewPageView",
|
|
405
453
|
path: clientPath,
|
|
406
454
|
clientProps: {
|
|
407
455
|
...studioNavClientProps,
|
|
@@ -410,6 +458,7 @@ function configureAdmin(config) {
|
|
|
410
458
|
}
|
|
411
459
|
},
|
|
412
460
|
studioPageEditor: {
|
|
461
|
+
exact: true,
|
|
413
462
|
path: `${pagesBasePath}/:id`,
|
|
414
463
|
Component: {
|
|
415
464
|
exportName: "AdminStudioPageEditView",
|
|
@@ -420,10 +469,11 @@ function configureAdmin(config) {
|
|
|
420
469
|
}
|
|
421
470
|
}
|
|
422
471
|
},
|
|
423
|
-
|
|
424
|
-
|
|
472
|
+
studioPages: {
|
|
473
|
+
exact: true,
|
|
474
|
+
path: pagesBasePath,
|
|
425
475
|
Component: {
|
|
426
|
-
exportName: "
|
|
476
|
+
exportName: "AdminStudioPagesListView",
|
|
427
477
|
path: clientPath,
|
|
428
478
|
clientProps: {
|
|
429
479
|
...studioNavClientProps,
|
|
@@ -432,6 +482,7 @@ function configureAdmin(config) {
|
|
|
432
482
|
}
|
|
433
483
|
},
|
|
434
484
|
studioContactForm: {
|
|
485
|
+
exact: true,
|
|
435
486
|
path: contactFormStudioPath,
|
|
436
487
|
Component: {
|
|
437
488
|
exportName: "AdminStudioContactFormView",
|
|
@@ -444,7 +495,47 @@ function configureAdmin(config) {
|
|
|
444
495
|
}
|
|
445
496
|
},
|
|
446
497
|
...formsEnabled ? {
|
|
498
|
+
studioFormSubmission: {
|
|
499
|
+
exact: true,
|
|
500
|
+
path: `${formsBasePath}/submissions/:id`,
|
|
501
|
+
Component: {
|
|
502
|
+
exportName: "AdminStudioFormSubmissionView",
|
|
503
|
+
path: clientPath,
|
|
504
|
+
clientProps: {
|
|
505
|
+
...studioNavClientProps,
|
|
506
|
+
formsCollectionSlug,
|
|
507
|
+
formSubmissionsCollectionSlug,
|
|
508
|
+
formUploadsCollectionSlug
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
},
|
|
512
|
+
studioFormUpload: {
|
|
513
|
+
exact: true,
|
|
514
|
+
path: `${formsBasePath}/uploads/:id`,
|
|
515
|
+
Component: {
|
|
516
|
+
exportName: "AdminStudioFormUploadView",
|
|
517
|
+
path: clientPath,
|
|
518
|
+
clientProps: {
|
|
519
|
+
...studioNavClientProps,
|
|
520
|
+
formUploadsCollectionSlug
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
},
|
|
524
|
+
studioFormDetail: {
|
|
525
|
+
exact: true,
|
|
526
|
+
path: `${formsBasePath}/:id`,
|
|
527
|
+
Component: {
|
|
528
|
+
exportName: "AdminStudioFormDetailView",
|
|
529
|
+
path: clientPath,
|
|
530
|
+
clientProps: {
|
|
531
|
+
...studioNavClientProps,
|
|
532
|
+
formsCollectionSlug,
|
|
533
|
+
formSubmissionsCollectionSlug
|
|
534
|
+
}
|
|
535
|
+
}
|
|
536
|
+
},
|
|
447
537
|
studioForms: {
|
|
538
|
+
exact: true,
|
|
448
539
|
path: formsBasePath,
|
|
449
540
|
Component: {
|
|
450
541
|
exportName: "AdminStudioFormsView",
|
|
@@ -458,10 +549,11 @@ function configureAdmin(config) {
|
|
|
458
549
|
}
|
|
459
550
|
}
|
|
460
551
|
} : {},
|
|
461
|
-
|
|
462
|
-
|
|
552
|
+
studioMediaItem: {
|
|
553
|
+
exact: true,
|
|
554
|
+
path: `${mediaBasePath}/:id`,
|
|
463
555
|
Component: {
|
|
464
|
-
exportName: "
|
|
556
|
+
exportName: "AdminStudioMediaItemView",
|
|
465
557
|
path: clientPath,
|
|
466
558
|
clientProps: {
|
|
467
559
|
...studioNavClientProps,
|
|
@@ -469,10 +561,11 @@ function configureAdmin(config) {
|
|
|
469
561
|
}
|
|
470
562
|
}
|
|
471
563
|
},
|
|
472
|
-
|
|
473
|
-
|
|
564
|
+
studioMedia: {
|
|
565
|
+
exact: true,
|
|
566
|
+
path: mediaBasePath,
|
|
474
567
|
Component: {
|
|
475
|
-
exportName: "
|
|
568
|
+
exportName: "AdminStudioMediaView",
|
|
476
569
|
path: clientPath,
|
|
477
570
|
clientProps: {
|
|
478
571
|
...studioNavClientProps,
|
|
@@ -481,6 +574,7 @@ function configureAdmin(config) {
|
|
|
481
574
|
}
|
|
482
575
|
},
|
|
483
576
|
studioTools: {
|
|
577
|
+
exact: true,
|
|
484
578
|
path: toolsBasePath,
|
|
485
579
|
Component: {
|
|
486
580
|
exportName: "AdminStudioToolsView",
|
|
@@ -525,6 +619,7 @@ function configureAdmin(config) {
|
|
|
525
619
|
path: clientPath,
|
|
526
620
|
clientProps: {
|
|
527
621
|
brandName,
|
|
622
|
+
logoOnDarkUrl,
|
|
528
623
|
logoUrl
|
|
529
624
|
}
|
|
530
625
|
}
|
|
@@ -633,13 +728,31 @@ function configureAdmin(config) {
|
|
|
633
728
|
return attachStudioBackBreadcrumbToCollection(mediaCollection);
|
|
634
729
|
},
|
|
635
730
|
wrapFormsCollection(formsCollection) {
|
|
636
|
-
return
|
|
731
|
+
return attachStudioEditRedirectToCollection(formsCollection, {
|
|
732
|
+
description: "Redirecting to the Studio form workspace.",
|
|
733
|
+
emptyHref: formsBasePath,
|
|
734
|
+
emptyLabel: "Open Forms",
|
|
735
|
+
pathBase: formsBasePath,
|
|
736
|
+
title: "Opening Form..."
|
|
737
|
+
});
|
|
637
738
|
},
|
|
638
739
|
wrapFormSubmissionsCollection(formSubmissionsCollection) {
|
|
639
|
-
return
|
|
740
|
+
return attachStudioEditRedirectToCollection(formSubmissionsCollection, {
|
|
741
|
+
description: "Redirecting to the Studio submission workspace.",
|
|
742
|
+
emptyHref: formsBasePath,
|
|
743
|
+
emptyLabel: "Open Forms",
|
|
744
|
+
pathBase: `${formsBasePath}/submissions`,
|
|
745
|
+
title: "Opening Submission..."
|
|
746
|
+
});
|
|
640
747
|
},
|
|
641
748
|
wrapFormUploadsCollection(formUploadsCollection) {
|
|
642
|
-
return
|
|
749
|
+
return attachStudioEditRedirectToCollection(formUploadsCollection, {
|
|
750
|
+
description: "Redirecting to the Studio upload workspace.",
|
|
751
|
+
emptyHref: formsBasePath,
|
|
752
|
+
emptyLabel: "Open Forms",
|
|
753
|
+
pathBase: `${formsBasePath}/uploads`,
|
|
754
|
+
title: "Opening Upload..."
|
|
755
|
+
});
|
|
643
756
|
},
|
|
644
757
|
wrapGlobals(globals2) {
|
|
645
758
|
const labelMap = {
|
|
@@ -3580,7 +3693,9 @@ var defaultBuilderBlockSettingsV2 = {
|
|
|
3580
3693
|
},
|
|
3581
3694
|
typography: {
|
|
3582
3695
|
bodyAlign: "left",
|
|
3696
|
+
bodySizePt: null,
|
|
3583
3697
|
headingAlign: "left",
|
|
3698
|
+
headingSizePt: null,
|
|
3584
3699
|
letterSpacingPreset: "normal",
|
|
3585
3700
|
lineHeightPreset: "normal",
|
|
3586
3701
|
maxTextWidth: "auto"
|
|
@@ -3609,7 +3724,9 @@ var defaultBuilderItemSettingsV2 = {
|
|
|
3609
3724
|
},
|
|
3610
3725
|
typography: {
|
|
3611
3726
|
bodyAlign: "left",
|
|
3727
|
+
bodySizePt: null,
|
|
3612
3728
|
headingAlign: "left",
|
|
3729
|
+
headingSizePt: null,
|
|
3613
3730
|
letterSpacingPreset: "normal",
|
|
3614
3731
|
lineHeightPreset: "normal",
|
|
3615
3732
|
maxTextWidth: "auto"
|
|
@@ -3639,6 +3756,7 @@ var defaultBuilderThemeTokens = {
|
|
|
3639
3756
|
|
|
3640
3757
|
// src/studio-pages/builder/adapters/settingsV2.ts
|
|
3641
3758
|
var isRecord3 = (value) => Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
3759
|
+
var isTextAlign = (value) => value === "left" || value === "center" || value === "right" || value === "justify";
|
|
3642
3760
|
var parsePercent = (value) => {
|
|
3643
3761
|
if (typeof value === "number" && Number.isFinite(value)) {
|
|
3644
3762
|
return Math.max(0, Math.min(100, value));
|
|
@@ -3663,6 +3781,18 @@ var parsePixel = (value) => {
|
|
|
3663
3781
|
}
|
|
3664
3782
|
return null;
|
|
3665
3783
|
};
|
|
3784
|
+
var parsePoint = (value) => {
|
|
3785
|
+
if (typeof value === "number" && Number.isFinite(value)) {
|
|
3786
|
+
return Math.max(6, Math.min(120, Math.round(value)));
|
|
3787
|
+
}
|
|
3788
|
+
if (typeof value === "string" && value.trim().length > 0) {
|
|
3789
|
+
const parsed = Number(value);
|
|
3790
|
+
if (Number.isFinite(parsed)) {
|
|
3791
|
+
return Math.max(6, Math.min(120, Math.round(parsed)));
|
|
3792
|
+
}
|
|
3793
|
+
}
|
|
3794
|
+
return null;
|
|
3795
|
+
};
|
|
3666
3796
|
var mergeSettings = (defaults, input) => {
|
|
3667
3797
|
if (!isRecord3(input)) {
|
|
3668
3798
|
return structuredClone(defaults);
|
|
@@ -3681,6 +3811,10 @@ var mergeSettings = (defaults, input) => {
|
|
|
3681
3811
|
};
|
|
3682
3812
|
var legacyBlockToV2Settings = (block) => {
|
|
3683
3813
|
const current = structuredClone(defaultBuilderBlockSettingsV2);
|
|
3814
|
+
if (block.blockType === "hero" && block.variant === "centered") {
|
|
3815
|
+
current.typography.headingAlign = "center";
|
|
3816
|
+
current.typography.bodyAlign = "center";
|
|
3817
|
+
}
|
|
3684
3818
|
current.layout.contentWidth = block.contentWidth === "narrow" || block.contentWidth === "content" || block.contentWidth === "wide" || block.contentWidth === "full" || block.contentWidth === "inherit" ? block.contentWidth : current.layout.contentWidth;
|
|
3685
3819
|
current.layout.sectionPaddingX = block.sectionPaddingX === "none" || block.sectionPaddingX === "sm" || block.sectionPaddingX === "md" || block.sectionPaddingX === "lg" || block.sectionPaddingX === "inherit" ? block.sectionPaddingX : current.layout.sectionPaddingX;
|
|
3686
3820
|
current.layout.sectionPaddingY = block.sectionPaddingY === "none" || block.sectionPaddingY === "sm" || block.sectionPaddingY === "lg" ? block.sectionPaddingY : current.layout.sectionPaddingY;
|
|
@@ -3717,15 +3851,28 @@ var legacyBlockToV2Settings = (block) => {
|
|
|
3717
3851
|
current.media.positionX = parsePercent(block.imagePositionX ?? block.backgroundImagePositionX);
|
|
3718
3852
|
current.media.positionY = parsePercent(block.imagePositionY ?? block.backgroundImagePositionY);
|
|
3719
3853
|
current.media.height = parsePixel(block.imageHeight);
|
|
3720
|
-
current.typography.headingAlign = block.textHeadingAlign
|
|
3721
|
-
current.typography.bodyAlign = block.textBodyAlign
|
|
3854
|
+
current.typography.headingAlign = isTextAlign(block.textHeadingAlign) ? block.textHeadingAlign : current.typography.headingAlign;
|
|
3855
|
+
current.typography.bodyAlign = isTextAlign(block.textBodyAlign) ? block.textBodyAlign : current.typography.bodyAlign;
|
|
3856
|
+
current.typography.headingSizePt = parsePoint(block.textHeadingSizePt);
|
|
3857
|
+
current.typography.bodySizePt = parsePoint(block.textBodySizePt);
|
|
3722
3858
|
current.typography.maxTextWidth = block.textMaxWidth === "auto" || block.textMaxWidth === "sm" || block.textMaxWidth === "md" || block.textMaxWidth === "lg" || block.textMaxWidth === "full" ? block.textMaxWidth : current.typography.maxTextWidth;
|
|
3723
3859
|
current.typography.lineHeightPreset = block.textLineHeightPreset === "tight" || block.textLineHeightPreset === "normal" || block.textLineHeightPreset === "relaxed" ? block.textLineHeightPreset : current.typography.lineHeightPreset;
|
|
3724
3860
|
current.typography.letterSpacingPreset = block.textLetterSpacingPreset === "tight" || block.textLetterSpacingPreset === "normal" || block.textLetterSpacingPreset === "relaxed" ? block.textLetterSpacingPreset : current.typography.letterSpacingPreset;
|
|
3725
3861
|
current.advanced.editCopyInPanel = Boolean(block.editCopyInPanel ?? current.advanced.editCopyInPanel);
|
|
3726
3862
|
current.advanced.customClassName = typeof block.customClassName === "string" ? block.customClassName : current.advanced.customClassName;
|
|
3727
3863
|
current.advanced.hideOnMobile = Boolean(block.hideOnMobile ?? current.advanced.hideOnMobile);
|
|
3728
|
-
|
|
3864
|
+
const settings = mergeSettings(current, block.settings);
|
|
3865
|
+
if (block.blockType === "hero") {
|
|
3866
|
+
const top = settings.layout.paddingTopPt;
|
|
3867
|
+
const bottom = settings.layout.paddingBottomPt;
|
|
3868
|
+
const hasLegacyLinkedHeroPadding = settings.layout.linkVerticalPadding !== false && (top === null || typeof top === "undefined" || top === 30) && (bottom === null || typeof bottom === "undefined" || bottom === 30 || bottom === 20);
|
|
3869
|
+
if (hasLegacyLinkedHeroPadding) {
|
|
3870
|
+
settings.layout.linkVerticalPadding = false;
|
|
3871
|
+
settings.layout.paddingTopPt = 30;
|
|
3872
|
+
settings.layout.paddingBottomPt = 20;
|
|
3873
|
+
}
|
|
3874
|
+
}
|
|
3875
|
+
return settings;
|
|
3729
3876
|
};
|
|
3730
3877
|
var v2SettingsToLegacyBlock = (blockWithSettings) => {
|
|
3731
3878
|
const settings = legacyBlockToV2Settings(blockWithSettings);
|
|
@@ -3751,6 +3898,8 @@ var v2SettingsToLegacyBlock = (blockWithSettings) => {
|
|
|
3751
3898
|
next.contentGradientAngle = settings.appearance.contentGradientAngle;
|
|
3752
3899
|
next.textHeadingAlign = settings.typography.headingAlign;
|
|
3753
3900
|
next.textBodyAlign = settings.typography.bodyAlign;
|
|
3901
|
+
next.textHeadingSizePt = settings.typography.headingSizePt;
|
|
3902
|
+
next.textBodySizePt = settings.typography.bodySizePt;
|
|
3754
3903
|
next.textMaxWidth = settings.typography.maxTextWidth;
|
|
3755
3904
|
next.textLineHeightPreset = settings.typography.lineHeightPreset;
|
|
3756
3905
|
next.textLetterSpacingPreset = settings.typography.letterSpacingPreset;
|
|
@@ -4174,8 +4323,52 @@ var alignOptions = [
|
|
|
4174
4323
|
{ label: "Right", value: "right" },
|
|
4175
4324
|
{ label: "Justify", value: "justify" }
|
|
4176
4325
|
];
|
|
4177
|
-
var layoutFieldSet = [
|
|
4326
|
+
var layoutFieldSet = [
|
|
4327
|
+
{
|
|
4328
|
+
group: "layout",
|
|
4329
|
+
key: "settings.layout.linkVerticalPadding",
|
|
4330
|
+
label: "Link Top/Bottom Padding",
|
|
4331
|
+
tags: ["spacing", "padding", "vertical"],
|
|
4332
|
+
type: "checkbox"
|
|
4333
|
+
},
|
|
4334
|
+
{
|
|
4335
|
+
group: "layout",
|
|
4336
|
+
key: "settings.layout.paddingTopPt",
|
|
4337
|
+
label: "Top Padding (pt)",
|
|
4338
|
+
max: 240,
|
|
4339
|
+
min: 0,
|
|
4340
|
+
tags: ["spacing", "padding", "top"],
|
|
4341
|
+
type: "number"
|
|
4342
|
+
},
|
|
4343
|
+
{
|
|
4344
|
+
group: "layout",
|
|
4345
|
+
key: "settings.layout.paddingBottomPt",
|
|
4346
|
+
label: "Bottom Padding (pt)",
|
|
4347
|
+
max: 240,
|
|
4348
|
+
min: 0,
|
|
4349
|
+
tags: ["spacing", "padding", "bottom"],
|
|
4350
|
+
type: "number"
|
|
4351
|
+
}
|
|
4352
|
+
];
|
|
4178
4353
|
var typographyFieldSet = [
|
|
4354
|
+
{
|
|
4355
|
+
group: "typography",
|
|
4356
|
+
key: "settings.typography.headingSizePt",
|
|
4357
|
+
label: "Heading Text Size (pt)",
|
|
4358
|
+
max: 120,
|
|
4359
|
+
min: 6,
|
|
4360
|
+
tags: ["text", "size", "heading", "font"],
|
|
4361
|
+
type: "number"
|
|
4362
|
+
},
|
|
4363
|
+
{
|
|
4364
|
+
group: "typography",
|
|
4365
|
+
key: "settings.typography.bodySizePt",
|
|
4366
|
+
label: "Body Text Size (pt)",
|
|
4367
|
+
max: 72,
|
|
4368
|
+
min: 6,
|
|
4369
|
+
tags: ["text", "size", "body", "paragraph", "font"],
|
|
4370
|
+
type: "number"
|
|
4371
|
+
},
|
|
4179
4372
|
{
|
|
4180
4373
|
group: "typography",
|
|
4181
4374
|
key: "settings.typography.headingAlign",
|
|
@@ -4392,6 +4585,13 @@ var inspectorDefinitionByBlockType = {
|
|
|
4392
4585
|
{ group: "basics", inlineEditable: true, key: "kicker", label: "Kicker", type: "text" },
|
|
4393
4586
|
{ group: "basics", inlineEditable: true, key: "headline", label: "Headline", type: "text" },
|
|
4394
4587
|
{ group: "basics", inlineEditable: true, key: "subheadline", label: "Subheadline", type: "textarea" },
|
|
4588
|
+
{
|
|
4589
|
+
group: "basics",
|
|
4590
|
+
key: "settings.marquee.itemsText",
|
|
4591
|
+
label: "Scrolling Bar Options",
|
|
4592
|
+
tags: ["marquee", "scrolling", "bar", "categories"],
|
|
4593
|
+
type: "textarea"
|
|
4594
|
+
},
|
|
4395
4595
|
{
|
|
4396
4596
|
group: "basics",
|
|
4397
4597
|
key: "variant",
|
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
admin_exports
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-JC3UV74N.mjs";
|
|
4
4
|
import {
|
|
5
5
|
admin_app_exports
|
|
6
6
|
} from "./chunk-RKTIFEUY.mjs";
|
|
@@ -10,13 +10,13 @@ import {
|
|
|
10
10
|
} from "./chunk-JQAHXYAM.mjs";
|
|
11
11
|
import {
|
|
12
12
|
nextjs_exports
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-ZADL33R6.mjs";
|
|
14
14
|
import "./chunk-ZTXJG4K5.mjs";
|
|
15
15
|
import {
|
|
16
16
|
studio_pages_exports
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-NGLIA2OE.mjs";
|
|
18
18
|
import "./chunk-OQSEJXC4.mjs";
|
|
19
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-7ZMXZRBP.mjs";
|
|
20
20
|
import {
|
|
21
21
|
studio_exports
|
|
22
22
|
} from "./chunk-ADIIWIYL.mjs";
|
package/dist/nextjs/index.js
CHANGED
|
@@ -127,7 +127,9 @@ var defaultBuilderBlockSettingsV2 = {
|
|
|
127
127
|
},
|
|
128
128
|
typography: {
|
|
129
129
|
bodyAlign: "left",
|
|
130
|
+
bodySizePt: null,
|
|
130
131
|
headingAlign: "left",
|
|
132
|
+
headingSizePt: null,
|
|
131
133
|
letterSpacingPreset: "normal",
|
|
132
134
|
lineHeightPreset: "normal",
|
|
133
135
|
maxTextWidth: "auto"
|
|
@@ -156,7 +158,9 @@ var defaultBuilderItemSettingsV2 = {
|
|
|
156
158
|
},
|
|
157
159
|
typography: {
|
|
158
160
|
bodyAlign: "left",
|
|
161
|
+
bodySizePt: null,
|
|
159
162
|
headingAlign: "left",
|
|
163
|
+
headingSizePt: null,
|
|
160
164
|
letterSpacingPreset: "normal",
|
|
161
165
|
lineHeightPreset: "normal",
|
|
162
166
|
maxTextWidth: "auto"
|
|
@@ -166,6 +170,7 @@ var defaultBuilderItemSettingsV2 = {
|
|
|
166
170
|
|
|
167
171
|
// src/studio-pages/builder/adapters/settingsV2.ts
|
|
168
172
|
var isRecord2 = (value) => Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
173
|
+
var isTextAlign = (value) => value === "left" || value === "center" || value === "right" || value === "justify";
|
|
169
174
|
var parsePercent = (value) => {
|
|
170
175
|
if (typeof value === "number" && Number.isFinite(value)) {
|
|
171
176
|
return Math.max(0, Math.min(100, value));
|
|
@@ -190,6 +195,18 @@ var parsePixel = (value) => {
|
|
|
190
195
|
}
|
|
191
196
|
return null;
|
|
192
197
|
};
|
|
198
|
+
var parsePoint = (value) => {
|
|
199
|
+
if (typeof value === "number" && Number.isFinite(value)) {
|
|
200
|
+
return Math.max(6, Math.min(120, Math.round(value)));
|
|
201
|
+
}
|
|
202
|
+
if (typeof value === "string" && value.trim().length > 0) {
|
|
203
|
+
const parsed = Number(value);
|
|
204
|
+
if (Number.isFinite(parsed)) {
|
|
205
|
+
return Math.max(6, Math.min(120, Math.round(parsed)));
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
return null;
|
|
209
|
+
};
|
|
193
210
|
var mergeSettings = (defaults, input) => {
|
|
194
211
|
if (!isRecord2(input)) {
|
|
195
212
|
return structuredClone(defaults);
|
|
@@ -208,6 +225,10 @@ var mergeSettings = (defaults, input) => {
|
|
|
208
225
|
};
|
|
209
226
|
var legacyBlockToV2Settings = (block) => {
|
|
210
227
|
const current = structuredClone(defaultBuilderBlockSettingsV2);
|
|
228
|
+
if (block.blockType === "hero" && block.variant === "centered") {
|
|
229
|
+
current.typography.headingAlign = "center";
|
|
230
|
+
current.typography.bodyAlign = "center";
|
|
231
|
+
}
|
|
211
232
|
current.layout.contentWidth = block.contentWidth === "narrow" || block.contentWidth === "content" || block.contentWidth === "wide" || block.contentWidth === "full" || block.contentWidth === "inherit" ? block.contentWidth : current.layout.contentWidth;
|
|
212
233
|
current.layout.sectionPaddingX = block.sectionPaddingX === "none" || block.sectionPaddingX === "sm" || block.sectionPaddingX === "md" || block.sectionPaddingX === "lg" || block.sectionPaddingX === "inherit" ? block.sectionPaddingX : current.layout.sectionPaddingX;
|
|
213
234
|
current.layout.sectionPaddingY = block.sectionPaddingY === "none" || block.sectionPaddingY === "sm" || block.sectionPaddingY === "lg" ? block.sectionPaddingY : current.layout.sectionPaddingY;
|
|
@@ -244,15 +265,28 @@ var legacyBlockToV2Settings = (block) => {
|
|
|
244
265
|
current.media.positionX = parsePercent(block.imagePositionX ?? block.backgroundImagePositionX);
|
|
245
266
|
current.media.positionY = parsePercent(block.imagePositionY ?? block.backgroundImagePositionY);
|
|
246
267
|
current.media.height = parsePixel(block.imageHeight);
|
|
247
|
-
current.typography.headingAlign = block.textHeadingAlign
|
|
248
|
-
current.typography.bodyAlign = block.textBodyAlign
|
|
268
|
+
current.typography.headingAlign = isTextAlign(block.textHeadingAlign) ? block.textHeadingAlign : current.typography.headingAlign;
|
|
269
|
+
current.typography.bodyAlign = isTextAlign(block.textBodyAlign) ? block.textBodyAlign : current.typography.bodyAlign;
|
|
270
|
+
current.typography.headingSizePt = parsePoint(block.textHeadingSizePt);
|
|
271
|
+
current.typography.bodySizePt = parsePoint(block.textBodySizePt);
|
|
249
272
|
current.typography.maxTextWidth = block.textMaxWidth === "auto" || block.textMaxWidth === "sm" || block.textMaxWidth === "md" || block.textMaxWidth === "lg" || block.textMaxWidth === "full" ? block.textMaxWidth : current.typography.maxTextWidth;
|
|
250
273
|
current.typography.lineHeightPreset = block.textLineHeightPreset === "tight" || block.textLineHeightPreset === "normal" || block.textLineHeightPreset === "relaxed" ? block.textLineHeightPreset : current.typography.lineHeightPreset;
|
|
251
274
|
current.typography.letterSpacingPreset = block.textLetterSpacingPreset === "tight" || block.textLetterSpacingPreset === "normal" || block.textLetterSpacingPreset === "relaxed" ? block.textLetterSpacingPreset : current.typography.letterSpacingPreset;
|
|
252
275
|
current.advanced.editCopyInPanel = Boolean(block.editCopyInPanel ?? current.advanced.editCopyInPanel);
|
|
253
276
|
current.advanced.customClassName = typeof block.customClassName === "string" ? block.customClassName : current.advanced.customClassName;
|
|
254
277
|
current.advanced.hideOnMobile = Boolean(block.hideOnMobile ?? current.advanced.hideOnMobile);
|
|
255
|
-
|
|
278
|
+
const settings = mergeSettings(current, block.settings);
|
|
279
|
+
if (block.blockType === "hero") {
|
|
280
|
+
const top = settings.layout.paddingTopPt;
|
|
281
|
+
const bottom = settings.layout.paddingBottomPt;
|
|
282
|
+
const hasLegacyLinkedHeroPadding = settings.layout.linkVerticalPadding !== false && (top === null || typeof top === "undefined" || top === 30) && (bottom === null || typeof bottom === "undefined" || bottom === 30 || bottom === 20);
|
|
283
|
+
if (hasLegacyLinkedHeroPadding) {
|
|
284
|
+
settings.layout.linkVerticalPadding = false;
|
|
285
|
+
settings.layout.paddingTopPt = 30;
|
|
286
|
+
settings.layout.paddingBottomPt = 20;
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
return settings;
|
|
256
290
|
};
|
|
257
291
|
var v2SettingsToLegacyBlock = (blockWithSettings) => {
|
|
258
292
|
const settings = legacyBlockToV2Settings(blockWithSettings);
|
|
@@ -278,6 +312,8 @@ var v2SettingsToLegacyBlock = (blockWithSettings) => {
|
|
|
278
312
|
next.contentGradientAngle = settings.appearance.contentGradientAngle;
|
|
279
313
|
next.textHeadingAlign = settings.typography.headingAlign;
|
|
280
314
|
next.textBodyAlign = settings.typography.bodyAlign;
|
|
315
|
+
next.textHeadingSizePt = settings.typography.headingSizePt;
|
|
316
|
+
next.textBodySizePt = settings.typography.bodySizePt;
|
|
281
317
|
next.textMaxWidth = settings.typography.maxTextWidth;
|
|
282
318
|
next.textLineHeightPreset = settings.typography.lineHeightPreset;
|
|
283
319
|
next.textLetterSpacingPreset = settings.typography.letterSpacingPreset;
|
package/dist/nextjs/index.mjs
CHANGED
|
@@ -5,9 +5,9 @@ import {
|
|
|
5
5
|
createSiteQueries,
|
|
6
6
|
resolveMedia,
|
|
7
7
|
resolveSocialMediaLinks
|
|
8
|
-
} from "../chunk-
|
|
8
|
+
} from "../chunk-ZADL33R6.mjs";
|
|
9
9
|
import "../chunk-ZTXJG4K5.mjs";
|
|
10
|
-
import "../chunk-
|
|
10
|
+
import "../chunk-7ZMXZRBP.mjs";
|
|
11
11
|
import "../chunk-ADIIWIYL.mjs";
|
|
12
12
|
import "../chunk-6BWS3CLP.mjs";
|
|
13
13
|
export {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
type AdminRole = 'admin' | 'editor' | 'client';
|
|
1
|
+
type AdminRole = 'admin' | 'developer' | 'editor' | 'client';
|
|
2
2
|
declare const adminNavIcons: readonly ["dashboard", "pages", "forms", "globals", "media", "tools", "account", "analytics"];
|
|
3
3
|
type AdminNavIcon = (typeof adminNavIcons)[number];
|
|
4
4
|
type AdminNavItem = {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
type AdminRole = 'admin' | 'editor' | 'client';
|
|
1
|
+
type AdminRole = 'admin' | 'developer' | 'editor' | 'client';
|
|
2
2
|
declare const adminNavIcons: readonly ["dashboard", "pages", "forms", "globals", "media", "tools", "account", "analytics"];
|
|
3
3
|
type AdminNavIcon = (typeof adminNavIcons)[number];
|
|
4
4
|
type AdminNavItem = {
|