@glidevvr/storage-payload-types-pkg 1.0.312 → 1.0.314

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/payload-types.ts +131 -1200
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glidevvr/storage-payload-types-pkg",
3
- "version": "1.0.312",
3
+ "version": "1.0.314",
4
4
  "description": "Package for Payload CMS types.",
5
5
  "main": "payload-types.ts",
6
6
  "scripts": {
package/payload-types.ts CHANGED
@@ -273,1012 +273,30 @@ export interface Page {
273
273
  * Displays a full-width image or video overlay hero above the breadcrumbs. The default page title will be suppressed — use the heading in the Page Hero rich text as your page title instead.
274
274
  */
275
275
  enablePageHero?: boolean | null;
276
- pageHero?:
277
- | {
278
- backgroundType?: ('image' | 'video') | null;
279
- /**
280
- * Required. When video is selected, the image displays while the video loads and on slow connections. Landscape orientation, minimum 1920x600px recommended.
281
- */
282
- backgroundImage: string | Media;
283
- /**
284
- * Upload a video from the media collection. Only fully processed videos (Vimeo status: completed) are available for selection.
285
- */
286
- backgroundVideo?: (string | null) | Media;
287
- /**
288
- * Minimum height on desktop. Auto sizes to fit content.
289
- */
290
- minHeight?: ('auto' | 'small' | 'medium' | 'large' | 'extraLarge') | null;
291
- /**
292
- * Minimum height on mobile. Auto sizes to fit content.
293
- */
294
- mobileMinHeight?: ('auto' | 'small' | 'medium' | 'large' | 'extraLarge') | null;
295
- /**
296
- * Horizontal position (0% = left, 50% = center, 100% = right).
297
- */
298
- focalPointX?: number | null;
299
- /**
300
- * Vertical position (0% = top, 50% = center, 100% = bottom).
301
- */
302
- focalPointY?: number | null;
303
- /**
304
- * Color of the overlay on top of the background image.
305
- */
306
- overlayColor: 'primary' | 'secondary' | 'tertiary' | 'black' | 'white';
307
- /**
308
- * Opacity of the overlay (0 = fully transparent, 100 = fully opaque). Default: 80%.
309
- */
310
- overlayOpacity: number;
311
- /**
312
- * Add a colored background behind the text content for improved readability.
313
- */
314
- enableBackdrop?: boolean | null;
315
- /**
316
- * Background color of the content backdrop.
317
- */
318
- backdropColor?: ('primary' | 'secondary' | 'tertiary' | 'black' | 'white') | null;
319
- /**
320
- * Opacity of the backdrop (0 = transparent, 100 = fully opaque).
321
- */
322
- backdropOpacity?: number | null;
323
- /**
324
- * Position of the content within the block. On mobile, always centers.
325
- */
326
- contentPosition?:
327
- | (
328
- | 'top-left'
329
- | 'top-center'
330
- | 'top-right'
331
- | 'center-left'
332
- | 'center'
333
- | 'center-right'
334
- | 'bottom-left'
335
- | 'bottom-center'
336
- | 'bottom-right'
337
- )
338
- | null;
339
- /**
340
- * Rich text content displayed over the image. Text color adjusts automatically for accessibility.
341
- */
342
- content?: {
343
- root: {
344
- type: string;
345
- children: {
346
- type: any;
347
- version: number;
348
- [k: string]: unknown;
349
- }[];
350
- direction: ('ltr' | 'rtl') | null;
351
- format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
352
- indent: number;
353
- version: number;
354
- };
355
- [k: string]: unknown;
356
- } | null;
357
- id?: string | null;
358
- blockName?: string | null;
359
- blockType: 'mediaOverlay';
360
- }[]
361
- | null;
362
- blocks: (
363
- | {
364
- introContent?: {
365
- root: {
366
- type: string;
367
- children: {
368
- type: any;
369
- version: number;
370
- [k: string]: unknown;
371
- }[];
372
- direction: ('ltr' | 'rtl') | null;
373
- format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
374
- indent: number;
375
- version: number;
376
- };
377
- [k: string]: unknown;
378
- } | null;
379
- populateBy: 'collection' | 'selection';
380
- relationTo?: 'posts' | null;
381
- /**
382
- * If no categories are selected, the 4 most recent posts will be shown.
383
- */
384
- categories?: (string | Category)[] | null;
385
- /**
386
- * Select the number of published posts to display (limit of 4 max.).
387
- */
388
- limit?: ('1' | '2' | '3' | '4') | null;
389
- /**
390
- * Select up to 4 posts
391
- */
392
- selectedDocs?:
393
- | {
394
- relationTo: 'posts';
395
- value: string | Post;
396
- }[]
397
- | null;
398
- /**
399
- * The text for the button that links to the blog index page.
400
- */
401
- buttonText?: string | null;
402
- id?: string | null;
403
- blockName?: string | null;
404
- blockType: 'archive';
405
- }
406
- | {
407
- richText?: {
408
- root: {
409
- type: string;
410
- children: {
411
- type: any;
412
- version: number;
413
- [k: string]: unknown;
414
- }[];
415
- direction: ('ltr' | 'rtl') | null;
416
- format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
417
- indent: number;
418
- version: number;
419
- };
420
- [k: string]: unknown;
421
- } | null;
422
- links?:
423
- | {
424
- link: {
425
- type?: ('reference' | 'custom') | null;
426
- newTab?: boolean | null;
427
- reference?:
428
- | ({
429
- relationTo: 'pages';
430
- value: string | Page;
431
- } | null)
432
- | ({
433
- relationTo: 'posts';
434
- value: string | Post;
435
- } | null)
436
- | ({
437
- relationTo: 'facilities';
438
- value: string | Facility;
439
- } | null)
440
- | ({
441
- relationTo: 'markets';
442
- value: string | Market;
443
- } | null)
444
- | ({
445
- relationTo: 'categories';
446
- value: string | Category;
447
- } | null);
448
- url?: string | null;
449
- label: string;
450
- /**
451
- * Choose how the link should be rendered.
452
- */
453
- appearance?:
454
- | (
455
- | 'default'
456
- | 'primary'
457
- | 'primary-light'
458
- | 'outline-primary'
459
- | 'secondary'
460
- | 'secondary-light'
461
- | 'outline-secondary'
462
- | 'destructive'
463
- | 'link'
464
- | 'white'
465
- | 'ghost'
466
- | 'gray'
467
- )
468
- | null;
469
- };
470
- id?: string | null;
471
- }[]
472
- | null;
473
- id?: string | null;
474
- blockName?: string | null;
475
- blockType: 'cta';
476
- }
477
- | {
478
- columns?:
479
- | {
480
- size?: ('half' | 'oneThird' | 'twoThirds' | 'full') | null;
481
- richText?: {
482
- root: {
483
- type: string;
484
- children: {
485
- type: any;
486
- version: number;
487
- [k: string]: unknown;
488
- }[];
489
- direction: ('ltr' | 'rtl') | null;
490
- format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
491
- indent: number;
492
- version: number;
493
- };
494
- [k: string]: unknown;
495
- } | null;
496
- enableLink?: boolean | null;
497
- link?: {
498
- type?: ('reference' | 'custom') | null;
499
- newTab?: boolean | null;
500
- reference?:
501
- | ({
502
- relationTo: 'pages';
503
- value: string | Page;
504
- } | null)
505
- | ({
506
- relationTo: 'posts';
507
- value: string | Post;
508
- } | null)
509
- | ({
510
- relationTo: 'facilities';
511
- value: string | Facility;
512
- } | null)
513
- | ({
514
- relationTo: 'markets';
515
- value: string | Market;
516
- } | null)
517
- | ({
518
- relationTo: 'categories';
519
- value: string | Category;
520
- } | null);
521
- url?: string | null;
522
- label: string;
523
- /**
524
- * Choose how the link should be rendered.
525
- */
526
- appearance?:
527
- | (
528
- | 'default'
529
- | 'primary'
530
- | 'primary-light'
531
- | 'outline-primary'
532
- | 'secondary'
533
- | 'secondary-light'
534
- | 'outline-secondary'
535
- | 'destructive'
536
- | 'link'
537
- | 'white'
538
- | 'ghost'
539
- | 'gray'
540
- )
541
- | null;
542
- };
543
- id?: string | null;
544
- }[]
545
- | null;
546
- id?: string | null;
547
- blockName?: string | null;
548
- blockType: 'content';
549
- }
550
- | {
551
- /**
552
- * Select the background color for the banner
553
- */
554
- backgroundColor?:
555
- | ('primary' | 'primary-light' | 'secondary' | 'secondary-light' | 'neutral-light' | 'neutral-dark')
556
- | null;
557
- content?: {
558
- root: {
559
- type: string;
560
- children: {
561
- type: any;
562
- version: number;
563
- [k: string]: unknown;
564
- }[];
565
- direction: ('ltr' | 'rtl') | null;
566
- format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
567
- indent: number;
568
- version: number;
569
- };
570
- [k: string]: unknown;
571
- } | null;
572
- id?: string | null;
573
- blockName?: string | null;
574
- blockType: 'facilityBanner';
575
- }
576
- | {
577
- /**
578
- * Only one block per page should have the include FAQ schema option checked.
579
- */
580
- includeFaqSchema?: boolean | null;
581
- faq?: Faqs;
582
- id?: string | null;
583
- blockName?: string | null;
584
- blockType: 'faq';
585
- }
586
- | {
587
- introContent?: {
588
- root: {
589
- type: string;
590
- children: {
591
- type: any;
592
- version: number;
593
- [k: string]: unknown;
594
- }[];
595
- direction: ('ltr' | 'rtl') | null;
596
- format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
597
- indent: number;
598
- version: number;
599
- };
600
- [k: string]: unknown;
601
- } | null;
602
- /**
603
- * Select up to 10 locations to feature.
604
- */
605
- selectedLocations: (string | Facility)[];
606
- id?: string | null;
607
- blockName?: string | null;
608
- blockType: 'featuredLocations';
609
- }
610
- | {
611
- heading?: string | null;
612
- description?: {
613
- root: {
614
- type: string;
615
- children: {
616
- type: any;
617
- version: number;
618
- [k: string]: unknown;
619
- }[];
620
- direction: ('ltr' | 'rtl') | null;
621
- format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
622
- indent: number;
623
- version: number;
624
- };
625
- [k: string]: unknown;
626
- } | null;
627
- featuresGrid?:
628
- | {
629
- featureIcon: string;
630
- featureName: string;
631
- featureLink?: {
632
- type?: ('reference' | 'custom') | null;
633
- newTab?: boolean | null;
634
- reference?:
635
- | ({
636
- relationTo: 'pages';
637
- value: string | Page;
638
- } | null)
639
- | ({
640
- relationTo: 'posts';
641
- value: string | Post;
642
- } | null)
643
- | ({
644
- relationTo: 'facilities';
645
- value: string | Facility;
646
- } | null)
647
- | ({
648
- relationTo: 'markets';
649
- value: string | Market;
650
- } | null)
651
- | ({
652
- relationTo: 'categories';
653
- value: string | Category;
654
- } | null);
655
- url?: string | null;
656
- };
657
- id?: string | null;
658
- }[]
659
- | null;
660
- buttonLink?: {
661
- type?: ('reference' | 'custom') | null;
662
- newTab?: boolean | null;
663
- reference?:
664
- | ({
665
- relationTo: 'pages';
666
- value: string | Page;
667
- } | null)
668
- | ({
669
- relationTo: 'posts';
670
- value: string | Post;
671
- } | null)
672
- | ({
673
- relationTo: 'facilities';
674
- value: string | Facility;
675
- } | null)
676
- | ({
677
- relationTo: 'markets';
678
- value: string | Market;
679
- } | null)
680
- | ({
681
- relationTo: 'categories';
682
- value: string | Category;
683
- } | null);
684
- url?: string | null;
685
- label?: string | null;
686
- };
687
- disclaimer?: {
688
- root: {
689
- type: string;
690
- children: {
691
- type: any;
692
- version: number;
693
- [k: string]: unknown;
694
- }[];
695
- direction: ('ltr' | 'rtl') | null;
696
- format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
697
- indent: number;
698
- version: number;
699
- };
700
- [k: string]: unknown;
701
- } | null;
702
- id?: string | null;
703
- blockName?: string | null;
704
- blockType: 'featuresGrid';
705
- }
706
- | {
707
- form: string | Form;
708
- enableIntro?: boolean | null;
709
- introContent?: {
710
- root: {
711
- type: string;
712
- children: {
713
- type: any;
714
- version: number;
715
- [k: string]: unknown;
716
- }[];
717
- direction: ('ltr' | 'rtl') | null;
718
- format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
719
- indent: number;
720
- version: number;
721
- };
722
- [k: string]: unknown;
723
- } | null;
724
- id?: string | null;
725
- blockName?: string | null;
726
- blockType: 'formBlock';
727
- }
728
- | {
729
- /**
730
- * Add 2-4 images or videos to the gallery. Videos must be fully processed (Vimeo status: completed) to appear in the selection. If you only want one item, use the Media Block instead.
731
- */
732
- media: (string | Media)[];
733
- id?: string | null;
734
- blockName?: string | null;
735
- blockType: 'galleryBlock';
736
- }
737
- | {
738
- title?: string | null;
739
- subtitle?: string | null;
740
- /**
741
- * Images should have a horizontal aspect ratio. Full size images should be at least 1920x960 pixels. Half size images should be at least 1280x731 pixels.
742
- */
743
- backgroundImage?: (string | null) | Media;
744
- /**
745
- * Optional video background. Only available for full layout. Video will be hidden on mobile devices. The background image will be used as a fallback while the video loads.
746
- */
747
- backgroundVideo?: (string | null) | Media;
748
- layoutMode?: ('half' | 'full') | null;
749
- fullImageContentAlign?: ('center' | 'right' | 'left') | null;
750
- halfImageContentSide?: ('right' | 'left') | null;
751
- searchLayout?: 'default' | null;
752
- id?: string | null;
753
- blockName?: string | null;
754
- blockType: 'homeHero';
755
- }
756
- | {
757
- backgroundType?: ('image' | 'video') | null;
758
- /**
759
- * Required. When video is selected, the image displays while the video loads and on slow connections. Landscape orientation, minimum 1920x600px recommended.
760
- */
761
- backgroundImage: string | Media;
762
- /**
763
- * Upload a video from the media collection. Only fully processed videos (Vimeo status: completed) are available for selection.
764
- */
765
- backgroundVideo?: (string | null) | Media;
766
- /**
767
- * Minimum height on desktop. Auto sizes to fit content.
768
- */
769
- minHeight?: ('auto' | 'small' | 'medium' | 'large' | 'extraLarge') | null;
770
- /**
771
- * Minimum height on mobile. Auto sizes to fit content.
772
- */
773
- mobileMinHeight?: ('auto' | 'small' | 'medium' | 'large' | 'extraLarge') | null;
774
- /**
775
- * Horizontal position (0% = left, 50% = center, 100% = right).
776
- */
777
- focalPointX?: number | null;
778
- /**
779
- * Vertical position (0% = top, 50% = center, 100% = bottom).
780
- */
781
- focalPointY?: number | null;
782
- /**
783
- * Color of the overlay on top of the background image.
784
- */
785
- overlayColor: 'primary' | 'secondary' | 'tertiary' | 'black' | 'white';
786
- /**
787
- * Opacity of the overlay (0 = fully transparent, 100 = fully opaque). Default: 80%.
788
- */
789
- overlayOpacity: number;
790
- /**
791
- * Add a colored background behind the text content for improved readability.
792
- */
793
- enableBackdrop?: boolean | null;
794
- /**
795
- * Background color of the content backdrop.
796
- */
797
- backdropColor?: ('primary' | 'secondary' | 'tertiary' | 'black' | 'white') | null;
798
- /**
799
- * Opacity of the backdrop (0 = transparent, 100 = fully opaque).
800
- */
801
- backdropOpacity?: number | null;
802
- /**
803
- * Position of the content within the block. On mobile, always centers.
804
- */
805
- contentPosition?:
806
- | (
807
- | 'top-left'
808
- | 'top-center'
809
- | 'top-right'
810
- | 'center-left'
811
- | 'center'
812
- | 'center-right'
813
- | 'bottom-left'
814
- | 'bottom-center'
815
- | 'bottom-right'
816
- )
817
- | null;
818
- /**
819
- * Rich text content displayed over the image. Text color adjusts automatically for accessibility.
820
- */
821
- content?: {
822
- root: {
823
- type: string;
824
- children: {
825
- type: any;
826
- version: number;
827
- [k: string]: unknown;
828
- }[];
829
- direction: ('ltr' | 'rtl') | null;
830
- format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
831
- indent: number;
832
- version: number;
833
- };
834
- [k: string]: unknown;
835
- } | null;
836
- id?: string | null;
837
- blockName?: string | null;
838
- blockType: 'mediaOverlay';
839
- }
840
- | {
841
- id?: string | null;
842
- blockName?: string | null;
843
- blockType: 'horizontalRule';
844
- }
845
- | {
846
- heading?: string | null;
847
- testimonialText?: string | null;
848
- author?: string | null;
849
- rating: number;
850
- /**
851
- * For best results, choose an image with a square aspect ratio that's at least 100x100 pixels and has a centered subject.
852
- */
853
- topImage?: (string | null) | Media;
854
- /**
855
- * For best results, choose an image with a square aspect ratio that's at least 200x200 pixels and has a centered subject.
856
- */
857
- middleImage?: (string | null) | Media;
858
- /**
859
- * For best results, choose an image with a square aspect ratio that's at least 100x100 pixels and has a centered subject.
860
- */
861
- bottomImage?: (string | null) | Media;
862
- buttonLink?: {
863
- type?: ('reference' | 'custom') | null;
864
- newTab?: boolean | null;
865
- reference?:
866
- | ({
867
- relationTo: 'pages';
868
- value: string | Page;
869
- } | null)
870
- | ({
871
- relationTo: 'posts';
872
- value: string | Post;
873
- } | null)
874
- | ({
875
- relationTo: 'facilities';
876
- value: string | Facility;
877
- } | null)
878
- | ({
879
- relationTo: 'markets';
880
- value: string | Market;
881
- } | null)
882
- | ({
883
- relationTo: 'categories';
884
- value: string | Category;
885
- } | null);
886
- url?: string | null;
887
- label?: string | null;
888
- };
889
- id?: string | null;
890
- blockName?: string | null;
891
- blockType: 'singleTestimonial';
892
- }
893
- | {
894
- mediaType?: ('image' | 'video' | 'videoUpload') | null;
895
- imageAlignment?: ('left' | 'center' | 'right') | null;
896
- /**
897
- * The caption is set in the media upload collection document.
898
- */
899
- showCaption?: boolean | null;
900
- captionAlignment?: ('left' | 'center' | 'right') | null;
901
- /**
902
- * Images should have a horizontal aspect ratio and be at least 800x450 pixels.
903
- */
904
- image?: (string | null) | Media;
905
- /**
906
- * Paste any YouTube or Vimeo video URL (watch, embed, shorts, or share links)
907
- */
908
- video?: string | null;
909
- /**
910
- * Upload a video from the media collection. Only fully processed videos (Vimeo status: completed) are available for selection.
911
- */
912
- videoUpload?: (string | null) | Media;
913
- /**
914
- * Show play/pause, volume, and progress controls. When off, the video plays as a silent, looping background.
915
- */
916
- showVideoControls?: boolean | null;
917
- id?: string | null;
918
- blockName?: string | null;
919
- blockType: 'mediaBlock';
920
- }
921
- | {
922
- heading?: string | null;
923
- steps?:
924
- | {
925
- icon?: string | null;
926
- stepText?: string | null;
927
- id?: string | null;
928
- }[]
929
- | null;
930
- id?: string | null;
931
- blockName?: string | null;
932
- blockType: 'rentalSteps';
933
- }
934
- | {
935
- text: string;
936
- /**
937
- * The button will direct the user to the All Locations page selected for the organization.
938
- */
939
- buttonText: string;
940
- id?: string | null;
941
- blockName?: string | null;
942
- blockType: 'searchCallout';
943
- }
944
- | {
945
- heading?: string | null;
946
- description?: {
947
- root: {
948
- type: string;
949
- children: {
950
- type: any;
951
- version: number;
952
- [k: string]: unknown;
953
- }[];
954
- direction: ('ltr' | 'rtl') | null;
955
- format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
956
- indent: number;
957
- version: number;
958
- };
959
- [k: string]: unknown;
960
- } | null;
961
- buttonLink?: {
962
- type?: ('reference' | 'custom') | null;
963
- newTab?: boolean | null;
964
- reference?:
965
- | ({
966
- relationTo: 'pages';
967
- value: string | Page;
968
- } | null)
969
- | ({
970
- relationTo: 'posts';
971
- value: string | Post;
972
- } | null)
973
- | ({
974
- relationTo: 'facilities';
975
- value: string | Facility;
976
- } | null)
977
- | ({
978
- relationTo: 'markets';
979
- value: string | Market;
980
- } | null)
981
- | ({
982
- relationTo: 'categories';
983
- value: string | Category;
984
- } | null);
985
- url?: string | null;
986
- label?: string | null;
987
- };
988
- storageResources?:
989
- | {
990
- resourceIcon?: string | null;
991
- resourceTitle?: string | null;
992
- resourceLink: {
993
- type?: ('reference' | 'custom') | null;
994
- newTab?: boolean | null;
995
- reference?:
996
- | ({
997
- relationTo: 'pages';
998
- value: string | Page;
999
- } | null)
1000
- | ({
1001
- relationTo: 'posts';
1002
- value: string | Post;
1003
- } | null)
1004
- | ({
1005
- relationTo: 'facilities';
1006
- value: string | Facility;
1007
- } | null)
1008
- | ({
1009
- relationTo: 'markets';
1010
- value: string | Market;
1011
- } | null)
1012
- | ({
1013
- relationTo: 'categories';
1014
- value: string | Category;
1015
- } | null);
1016
- url?: string | null;
1017
- label: string;
1018
- };
1019
- id?: string | null;
1020
- }[]
1021
- | null;
1022
- id?: string | null;
1023
- blockName?: string | null;
1024
- blockType: 'storageResources';
1025
- }
1026
- | {
1027
- heading?: string | null;
1028
- /**
1029
- * Optional: Leave empty to hide the button.
1030
- */
1031
- button?: {
1032
- type?: ('reference' | 'custom') | null;
1033
- newTab?: boolean | null;
1034
- reference?:
1035
- | ({
1036
- relationTo: 'pages';
1037
- value: string | Page;
1038
- } | null)
1039
- | ({
1040
- relationTo: 'posts';
1041
- value: string | Post;
1042
- } | null)
1043
- | ({
1044
- relationTo: 'facilities';
1045
- value: string | Facility;
1046
- } | null)
1047
- | ({
1048
- relationTo: 'markets';
1049
- value: string | Market;
1050
- } | null)
1051
- | ({
1052
- relationTo: 'categories';
1053
- value: string | Category;
1054
- } | null);
1055
- url?: string | null;
1056
- label?: string | null;
1057
- };
1058
- storageTypes?:
1059
- | {
1060
- storageTypeHeading: string;
1061
- storageTypeContent?: {
1062
- root: {
1063
- type: string;
1064
- children: {
1065
- type: any;
1066
- version: number;
1067
- [k: string]: unknown;
1068
- }[];
1069
- direction: ('ltr' | 'rtl') | null;
1070
- format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
1071
- indent: number;
1072
- version: number;
1073
- };
1074
- [k: string]: unknown;
1075
- } | null;
1076
- /**
1077
- * Optional: Leave empty to hide the link.
1078
- */
1079
- storageTypeLink?: {
1080
- type?: ('reference' | 'custom') | null;
1081
- newTab?: boolean | null;
1082
- reference?:
1083
- | ({
1084
- relationTo: 'pages';
1085
- value: string | Page;
1086
- } | null)
1087
- | ({
1088
- relationTo: 'posts';
1089
- value: string | Post;
1090
- } | null)
1091
- | ({
1092
- relationTo: 'facilities';
1093
- value: string | Facility;
1094
- } | null)
1095
- | ({
1096
- relationTo: 'markets';
1097
- value: string | Market;
1098
- } | null)
1099
- | ({
1100
- relationTo: 'categories';
1101
- value: string | Category;
1102
- } | null);
1103
- url?: string | null;
1104
- label?: string | null;
1105
- };
1106
- id?: string | null;
1107
- }[]
1108
- | null;
1109
- id?: string | null;
1110
- blockName?: string | null;
1111
- blockType: 'storageTypes';
1112
- }
1113
- | {
1114
- id?: string | null;
1115
- blockName?: string | null;
1116
- blockType: 'sizeGuide';
1117
- }
1118
- | {
1119
- /**
1120
- * Optional heading for the size guide preview
1121
- */
1122
- heading?: string | null;
1123
- /**
1124
- * Optional subheading for the size guide preview
1125
- */
1126
- subheading?: string | null;
1127
- /**
1128
- * The text for the button that links to the size guide.
1129
- */
1130
- buttonText?: string | null;
1131
- id?: string | null;
1132
- blockName?: string | null;
1133
- blockType: 'sizeGuidePreview';
1134
- }
1135
- | {
1136
- heroSection?: {
1137
- mainTitle?: string | null;
1138
- heroTagline?: string | null;
1139
- /**
1140
- * Images should have a horizontal aspect ratio and be at least 1920x960 pixels.
1141
- */
1142
- heroBackgroundImage?: (string | null) | Media;
1143
- };
1144
- introSection?: {
1145
- sectionTitle?: string | null;
1146
- content?: {
1147
- root: {
1148
- type: string;
1149
- children: {
1150
- type: any;
1151
- version: number;
1152
- [k: string]: unknown;
1153
- }[];
1154
- direction: ('ltr' | 'rtl') | null;
1155
- format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
1156
- indent: number;
1157
- version: number;
1158
- };
1159
- [k: string]: unknown;
1160
- } | null;
1161
- primaryCTA?: {
1162
- type?: ('reference' | 'custom') | null;
1163
- newTab?: boolean | null;
1164
- reference?:
1165
- | ({
1166
- relationTo: 'pages';
1167
- value: string | Page;
1168
- } | null)
1169
- | ({
1170
- relationTo: 'posts';
1171
- value: string | Post;
1172
- } | null)
1173
- | ({
1174
- relationTo: 'facilities';
1175
- value: string | Facility;
1176
- } | null)
1177
- | ({
1178
- relationTo: 'markets';
1179
- value: string | Market;
1180
- } | null)
1181
- | ({
1182
- relationTo: 'categories';
1183
- value: string | Category;
1184
- } | null);
1185
- url?: string | null;
1186
- label?: string | null;
1187
- };
1188
- disclaimer?: string | null;
1189
- /**
1190
- * Images should have a vertical aspect ratio and be at least 350x499 pixels.
1191
- */
1192
- disclaimerImage?: (string | null) | Media;
1193
- };
1194
- featuresSection?: {
1195
- sectionTitle?: string | null;
1196
- features?:
1197
- | {
1198
- title: string;
1199
- description: string;
1200
- icon?: string | null;
1201
- id?: string | null;
1202
- }[]
1203
- | null;
1204
- };
1205
- benefitsSection?: {
1206
- sectionTitle?: string | null;
1207
- introText?: string | null;
1208
- benefits?:
1209
- | {
1210
- title: string;
1211
- description?: string | null;
1212
- /**
1213
- * Images should have a square aspect ratio and be at least 160x160 pixels.
1214
- */
1215
- image?: (string | null) | Media;
1216
- id?: string | null;
1217
- }[]
1218
- | null;
1219
- secondaryCTA?: {
1220
- type?: ('reference' | 'custom') | null;
1221
- newTab?: boolean | null;
1222
- reference?:
1223
- | ({
1224
- relationTo: 'pages';
1225
- value: string | Page;
1226
- } | null)
1227
- | ({
1228
- relationTo: 'posts';
1229
- value: string | Post;
1230
- } | null)
1231
- | ({
1232
- relationTo: 'facilities';
1233
- value: string | Facility;
1234
- } | null)
1235
- | ({
1236
- relationTo: 'markets';
1237
- value: string | Market;
1238
- } | null)
1239
- | ({
1240
- relationTo: 'categories';
1241
- value: string | Category;
1242
- } | null);
1243
- url?: string | null;
1244
- label?: string | null;
1245
- };
1246
- };
1247
- id?: string | null;
1248
- blockName?: string | null;
1249
- blockType: 'storageDefender';
1250
- }
1251
- | {
1252
- /**
1253
- * Use this space to add a custom heading and content to the block.
1254
- */
1255
- content?: {
1256
- root: {
1257
- type: string;
1258
- children: {
1259
- type: any;
1260
- version: number;
1261
- [k: string]: unknown;
1262
- }[];
1263
- direction: ('ltr' | 'rtl') | null;
1264
- format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
1265
- indent: number;
1266
- version: number;
1267
- };
1268
- [k: string]: unknown;
1269
- } | null;
1270
- /**
1271
- * Control when the states accordion is visible. Recommended: "Hide on Desktop Only" when you have fewer than 5 states, as the accordion displays best with 5 or more states on desktop.
1272
- */
1273
- accordionVisibility?: ('always' | 'hide-desktop' | 'never') | null;
1274
- /**
1275
- * Maximum 30 characters
1276
- */
1277
- accordionHeading?: string | null;
1278
- id?: string | null;
1279
- blockName?: string | null;
1280
- blockType: 'mapLocationsAccordion';
1281
- }
276
+ pageHero?: MediaOverlayBlock[] | null;
277
+ blocks: (
278
+ | ArchiveBlock
279
+ | CallToActionBlock
280
+ | ContentBlock
281
+ | FacilityBannerBlock
282
+ | FaqBlock
283
+ | FeaturedLocationsBlock
284
+ | FeaturesGridBlock
285
+ | FormBlock
286
+ | GalleryBlock
287
+ | HomeHero
288
+ | MediaOverlayBlock
289
+ | HorizontalRuleBlock
290
+ | SingleTestimonialBlock
291
+ | MediaBlock
292
+ | RentalStepsBlock
293
+ | SearchCalloutBlock
294
+ | StorageResourcesBlock
295
+ | StorageTypesBlock
296
+ | SizeGuideBlock
297
+ | SizeGuidePreviewBlock
298
+ | StorageDefenderBlock
299
+ | MapLocationsAccordion
1282
300
  )[];
1283
301
  meta?: {
1284
302
  title?: string | null;
@@ -1656,82 +674,22 @@ export interface Market {
1656
674
  | CallToActionBlock
1657
675
  | ContentBlock
1658
676
  | FacilityBannerBlock
1659
- | {
1660
- /**
1661
- * Only one block per page should have the include FAQ schema option checked.
1662
- */
1663
- includeFaqSchema?: boolean | null;
1664
- faq?: Faqs;
1665
- id?: string | null;
1666
- blockName?: string | null;
1667
- blockType: 'faq';
1668
- }
677
+ | FaqBlock
1669
678
  | FeaturedLocationsBlock
1670
679
  | FeaturesGridBlock
1671
680
  | FormBlock
1672
- | {
1673
- /**
1674
- * Add 2-4 images or videos to the gallery. Videos must be fully processed (Vimeo status: completed) to appear in the selection. If you only want one item, use the Media Block instead.
1675
- */
1676
- media: (string | Media)[];
1677
- id?: string | null;
1678
- blockName?: string | null;
1679
- blockType: 'galleryBlock';
1680
- }
681
+ | GalleryBlock
1681
682
  | HomeHero
1682
683
  | MediaOverlayBlock
1683
684
  | HorizontalRuleBlock
1684
685
  | SingleTestimonialBlock
1685
- | {
1686
- mediaType?: ('image' | 'video' | 'videoUpload') | null;
1687
- imageAlignment?: ('left' | 'center' | 'right') | null;
1688
- /**
1689
- * The caption is set in the media upload collection document.
1690
- */
1691
- showCaption?: boolean | null;
1692
- captionAlignment?: ('left' | 'center' | 'right') | null;
1693
- /**
1694
- * Images should have a horizontal aspect ratio and be at least 800x450 pixels.
1695
- */
1696
- image?: (string | null) | Media;
1697
- /**
1698
- * Paste any YouTube or Vimeo video URL (watch, embed, shorts, or share links)
1699
- */
1700
- video?: string | null;
1701
- /**
1702
- * Upload a video from the media collection. Only fully processed videos (Vimeo status: completed) are available for selection.
1703
- */
1704
- videoUpload?: (string | null) | Media;
1705
- /**
1706
- * Show play/pause, volume, and progress controls. When off, the video plays as a silent, looping background.
1707
- */
1708
- showVideoControls?: boolean | null;
1709
- id?: string | null;
1710
- blockName?: string | null;
1711
- blockType: 'mediaBlock';
1712
- }
686
+ | MediaBlock
1713
687
  | RentalStepsBlock
1714
688
  | SearchCalloutBlock
1715
689
  | StorageResourcesBlock
1716
690
  | StorageTypesBlock
1717
691
  | SizeGuideBlock
1718
- | {
1719
- /**
1720
- * Optional heading for the size guide preview
1721
- */
1722
- heading?: string | null;
1723
- /**
1724
- * Optional subheading for the size guide preview
1725
- */
1726
- subheading?: string | null;
1727
- /**
1728
- * The text for the button that links to the size guide.
1729
- */
1730
- buttonText?: string | null;
1731
- id?: string | null;
1732
- blockName?: string | null;
1733
- blockType: 'sizeGuidePreview';
1734
- }
692
+ | SizeGuidePreviewBlock
1735
693
  | StorageDefenderBlock
1736
694
  | MapLocationsAccordion
1737
695
  )[]
@@ -1899,34 +857,7 @@ export interface Facility {
1899
857
  /**
1900
858
  * Notify customers about a promotion or announcement. Displays above the facility tabs.
1901
859
  */
1902
- facilityBanner?:
1903
- | {
1904
- /**
1905
- * Select the background color for the banner
1906
- */
1907
- backgroundColor?:
1908
- | ('primary' | 'primary-light' | 'secondary' | 'secondary-light' | 'neutral-light' | 'neutral-dark')
1909
- | null;
1910
- content?: {
1911
- root: {
1912
- type: string;
1913
- children: {
1914
- type: any;
1915
- version: number;
1916
- [k: string]: unknown;
1917
- }[];
1918
- direction: ('ltr' | 'rtl') | null;
1919
- format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
1920
- indent: number;
1921
- version: number;
1922
- };
1923
- [k: string]: unknown;
1924
- } | null;
1925
- id?: string | null;
1926
- blockName?: string | null;
1927
- blockType: 'facilityBanner';
1928
- }[]
1929
- | null;
860
+ facilityBanner?: FacilityBannerBlock[] | null;
1930
861
  /**
1931
862
  * Notify customers about a promotion or announcement. Displays in a square block at the top of the page.
1932
863
  */
@@ -2524,6 +1455,36 @@ export interface Category {
2524
1455
  createdAt: string;
2525
1456
  _status?: ('draft' | 'published') | null;
2526
1457
  }
1458
+ /**
1459
+ * This interface was referenced by `Config`'s JSON-Schema
1460
+ * via the `definition` "FacilityBannerBlock".
1461
+ */
1462
+ export interface FacilityBannerBlock {
1463
+ /**
1464
+ * Select the background color for the banner
1465
+ */
1466
+ backgroundColor?:
1467
+ | ('primary' | 'primary-light' | 'secondary' | 'secondary-light' | 'neutral-light' | 'neutral-dark')
1468
+ | null;
1469
+ content?: {
1470
+ root: {
1471
+ type: string;
1472
+ children: {
1473
+ type: any;
1474
+ version: number;
1475
+ [k: string]: unknown;
1476
+ }[];
1477
+ direction: ('ltr' | 'rtl') | null;
1478
+ format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
1479
+ indent: number;
1480
+ version: number;
1481
+ };
1482
+ [k: string]: unknown;
1483
+ } | null;
1484
+ id?: string | null;
1485
+ blockName?: string | null;
1486
+ blockType: 'facilityBanner';
1487
+ }
2527
1488
  /**
2528
1489
  * This interface was referenced by `Config`'s JSON-Schema
2529
1490
  * via the `definition` "ArchiveBlock".
@@ -2725,33 +1686,17 @@ export interface ContentBlock {
2725
1686
  }
2726
1687
  /**
2727
1688
  * This interface was referenced by `Config`'s JSON-Schema
2728
- * via the `definition` "FacilityBannerBlock".
1689
+ * via the `definition` "FaqBlock".
2729
1690
  */
2730
- export interface FacilityBannerBlock {
1691
+ export interface FaqBlock {
2731
1692
  /**
2732
- * Select the background color for the banner
1693
+ * Only one block per page should have the include FAQ schema option checked.
2733
1694
  */
2734
- backgroundColor?:
2735
- | ('primary' | 'primary-light' | 'secondary' | 'secondary-light' | 'neutral-light' | 'neutral-dark')
2736
- | null;
2737
- content?: {
2738
- root: {
2739
- type: string;
2740
- children: {
2741
- type: any;
2742
- version: number;
2743
- [k: string]: unknown;
2744
- }[];
2745
- direction: ('ltr' | 'rtl') | null;
2746
- format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
2747
- indent: number;
2748
- version: number;
2749
- };
2750
- [k: string]: unknown;
2751
- } | null;
1695
+ includeFaqSchema?: boolean | null;
1696
+ faq?: Faqs;
2752
1697
  id?: string | null;
2753
1698
  blockName?: string | null;
2754
- blockType: 'facilityBanner';
1699
+ blockType: 'faq';
2755
1700
  }
2756
1701
  /**
2757
1702
  * This interface was referenced by `Config`'s JSON-Schema
@@ -3061,6 +2006,19 @@ export interface CurrentCustomerField {
3061
2006
  blockName?: string | null;
3062
2007
  blockType: 'currentCustomer';
3063
2008
  }
2009
+ /**
2010
+ * This interface was referenced by `Config`'s JSON-Schema
2011
+ * via the `definition` "GalleryBlock".
2012
+ */
2013
+ export interface GalleryBlock {
2014
+ /**
2015
+ * Add 2-4 images or videos to the gallery. Videos must be fully processed (Vimeo status: completed) to appear in the selection. If you only want one item, use the Media Block instead.
2016
+ */
2017
+ media: (string | Media)[];
2018
+ id?: string | null;
2019
+ blockName?: string | null;
2020
+ blockType: 'galleryBlock';
2021
+ }
3064
2022
  /**
3065
2023
  * This interface was referenced by `Config`'s JSON-Schema
3066
2024
  * via the `definition` "HomeHero".
@@ -3233,6 +2191,38 @@ export interface SingleTestimonialBlock {
3233
2191
  blockName?: string | null;
3234
2192
  blockType: 'singleTestimonial';
3235
2193
  }
2194
+ /**
2195
+ * This interface was referenced by `Config`'s JSON-Schema
2196
+ * via the `definition` "MediaBlock".
2197
+ */
2198
+ export interface MediaBlock {
2199
+ mediaType?: ('image' | 'video' | 'videoUpload') | null;
2200
+ imageAlignment?: ('left' | 'center' | 'right') | null;
2201
+ /**
2202
+ * The caption is set in the media upload collection document.
2203
+ */
2204
+ showCaption?: boolean | null;
2205
+ captionAlignment?: ('left' | 'center' | 'right') | null;
2206
+ /**
2207
+ * Images should have a horizontal aspect ratio and be at least 800x450 pixels.
2208
+ */
2209
+ image?: (string | null) | Media;
2210
+ /**
2211
+ * Paste any YouTube or Vimeo video URL (watch, embed, shorts, or share links)
2212
+ */
2213
+ video?: string | null;
2214
+ /**
2215
+ * Upload a video from the media collection. Only fully processed videos (Vimeo status: completed) are available for selection.
2216
+ */
2217
+ videoUpload?: (string | null) | Media;
2218
+ /**
2219
+ * Show play/pause, volume, and progress controls. When off, the video plays as a silent, looping background.
2220
+ */
2221
+ showVideoControls?: boolean | null;
2222
+ id?: string | null;
2223
+ blockName?: string | null;
2224
+ blockType: 'mediaBlock';
2225
+ }
3236
2226
  /**
3237
2227
  * This interface was referenced by `Config`'s JSON-Schema
3238
2228
  * via the `definition` "RentalStepsBlock".
@@ -3450,6 +2440,27 @@ export interface SizeGuideBlock {
3450
2440
  blockName?: string | null;
3451
2441
  blockType: 'sizeGuide';
3452
2442
  }
2443
+ /**
2444
+ * This interface was referenced by `Config`'s JSON-Schema
2445
+ * via the `definition` "SizeGuidePreviewBlock".
2446
+ */
2447
+ export interface SizeGuidePreviewBlock {
2448
+ /**
2449
+ * Optional heading for the size guide preview
2450
+ */
2451
+ heading?: string | null;
2452
+ /**
2453
+ * Optional subheading for the size guide preview
2454
+ */
2455
+ subheading?: string | null;
2456
+ /**
2457
+ * The text for the button that links to the size guide.
2458
+ */
2459
+ buttonText?: string | null;
2460
+ id?: string | null;
2461
+ blockName?: string | null;
2462
+ blockType: 'sizeGuidePreview';
2463
+ }
3453
2464
  /**
3454
2465
  * This interface was referenced by `Config`'s JSON-Schema
3455
2466
  * via the `definition` "StorageDefenderBlock".
@@ -5564,38 +4575,6 @@ export interface ButtonBlock {
5564
4575
  blockName?: string | null;
5565
4576
  blockType: 'button';
5566
4577
  }
5567
- /**
5568
- * This interface was referenced by `Config`'s JSON-Schema
5569
- * via the `definition` "MediaBlock".
5570
- */
5571
- export interface MediaBlock {
5572
- mediaType?: ('image' | 'video' | 'videoUpload') | null;
5573
- imageAlignment?: ('left' | 'center' | 'right') | null;
5574
- /**
5575
- * The caption is set in the media upload collection document.
5576
- */
5577
- showCaption?: boolean | null;
5578
- captionAlignment?: ('left' | 'center' | 'right') | null;
5579
- /**
5580
- * Images should have a horizontal aspect ratio and be at least 800x450 pixels.
5581
- */
5582
- image?: (string | null) | Media;
5583
- /**
5584
- * Paste any YouTube or Vimeo video URL (watch, embed, shorts, or share links)
5585
- */
5586
- video?: string | null;
5587
- /**
5588
- * Upload a video from the media collection. Only fully processed videos (Vimeo status: completed) are available for selection.
5589
- */
5590
- videoUpload?: (string | null) | Media;
5591
- /**
5592
- * Show play/pause, volume, and progress controls. When off, the video plays as a silent, looping background.
5593
- */
5594
- showVideoControls?: boolean | null;
5595
- id?: string | null;
5596
- blockName?: string | null;
5597
- blockType: 'mediaBlock';
5598
- }
5599
4578
  /**
5600
4579
  * This interface was referenced by `Config`'s JSON-Schema
5601
4580
  * via the `definition` "RowGroupBlock".
@@ -5667,54 +4646,6 @@ export interface SearchFormBlock {
5667
4646
  blockName?: string | null;
5668
4647
  blockType: 'searchForm';
5669
4648
  }
5670
- /**
5671
- * This interface was referenced by `Config`'s JSON-Schema
5672
- * via the `definition` "FaqBlock".
5673
- */
5674
- export interface FaqBlock {
5675
- /**
5676
- * Only one block per page should have the include FAQ schema option checked.
5677
- */
5678
- includeFaqSchema?: boolean | null;
5679
- faq?: Faqs;
5680
- id?: string | null;
5681
- blockName?: string | null;
5682
- blockType: 'faq';
5683
- }
5684
- /**
5685
- * This interface was referenced by `Config`'s JSON-Schema
5686
- * via the `definition` "GalleryBlock".
5687
- */
5688
- export interface GalleryBlock {
5689
- /**
5690
- * Add 2-4 images or videos to the gallery. Videos must be fully processed (Vimeo status: completed) to appear in the selection. If you only want one item, use the Media Block instead.
5691
- */
5692
- media: (string | Media)[];
5693
- id?: string | null;
5694
- blockName?: string | null;
5695
- blockType: 'galleryBlock';
5696
- }
5697
- /**
5698
- * This interface was referenced by `Config`'s JSON-Schema
5699
- * via the `definition` "SizeGuidePreviewBlock".
5700
- */
5701
- export interface SizeGuidePreviewBlock {
5702
- /**
5703
- * Optional heading for the size guide preview
5704
- */
5705
- heading?: string | null;
5706
- /**
5707
- * Optional subheading for the size guide preview
5708
- */
5709
- subheading?: string | null;
5710
- /**
5711
- * The text for the button that links to the size guide.
5712
- */
5713
- buttonText?: string | null;
5714
- id?: string | null;
5715
- blockName?: string | null;
5716
- blockType: 'sizeGuidePreview';
5717
- }
5718
4649
  /**
5719
4650
  * This interface was referenced by `Config`'s JSON-Schema
5720
4651
  * via the `definition` "UnitsTableBlock".