@gem-sdk/components 2.5.7 → 2.5.10

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 (46) hide show
  1. package/dist/cjs/banner/components/hero-banner/index.liquid.js +5 -2
  2. package/dist/cjs/banner/setting/HeroBanner.js +50 -6
  3. package/dist/cjs/banner/setting/presets/heroBanner1ColPreSalesPage.js +134 -0
  4. package/dist/cjs/banner/setting/presets/heroBannerContentLeftPreSalesPage.js +154 -0
  5. package/dist/cjs/banner/setting/presets/heroBannerContentRightPreSalesPage.js +162 -0
  6. package/dist/cjs/banner/setting/presets/heroBannerParallaxPreSalesPage.js +134 -0
  7. package/dist/cjs/banner/setting/presets/heroBannerVideoPreSalesPage.js +130 -0
  8. package/dist/cjs/button/components/Button.liquid.js +6 -2
  9. package/dist/cjs/button/setting/Button.js +112 -5
  10. package/dist/cjs/carousel/components/CarouselItem.js +1 -1
  11. package/dist/cjs/carousel/components/CarouselItem.liquid.js +1 -1
  12. package/dist/cjs/constants.js +5 -0
  13. package/dist/cjs/grid/components/Row.js +4 -3
  14. package/dist/cjs/grid/components/Row.liquid.js +3 -2
  15. package/dist/cjs/grid/setting/Row.js +32 -2
  16. package/dist/cjs/helpers.js +17 -0
  17. package/dist/cjs/icon/components/Icon.liquid.js +5 -2
  18. package/dist/cjs/icon/setting/Icon.js +69 -5
  19. package/dist/cjs/image/components/Image.js +4 -1
  20. package/dist/cjs/image/components/Image.liquid.js +11 -5
  21. package/dist/cjs/image/setting/Image.js +216 -16
  22. package/dist/cjs/index.js +1 -0
  23. package/dist/esm/banner/components/hero-banner/index.liquid.js +6 -3
  24. package/dist/esm/banner/setting/HeroBanner.js +50 -6
  25. package/dist/esm/banner/setting/presets/heroBanner1ColPreSalesPage.js +132 -0
  26. package/dist/esm/banner/setting/presets/heroBannerContentLeftPreSalesPage.js +152 -0
  27. package/dist/esm/banner/setting/presets/heroBannerContentRightPreSalesPage.js +160 -0
  28. package/dist/esm/banner/setting/presets/heroBannerParallaxPreSalesPage.js +132 -0
  29. package/dist/esm/banner/setting/presets/heroBannerVideoPreSalesPage.js +128 -0
  30. package/dist/esm/button/components/Button.liquid.js +7 -3
  31. package/dist/esm/button/setting/Button.js +112 -5
  32. package/dist/esm/carousel/components/CarouselItem.js +1 -1
  33. package/dist/esm/carousel/components/CarouselItem.liquid.js +1 -1
  34. package/dist/esm/constants.js +3 -0
  35. package/dist/esm/grid/components/Row.js +4 -3
  36. package/dist/esm/grid/components/Row.liquid.js +3 -2
  37. package/dist/esm/grid/setting/Row.js +32 -2
  38. package/dist/esm/helpers.js +17 -1
  39. package/dist/esm/icon/components/Icon.liquid.js +6 -3
  40. package/dist/esm/icon/setting/Icon.js +69 -5
  41. package/dist/esm/image/components/Image.js +5 -2
  42. package/dist/esm/image/components/Image.liquid.js +13 -7
  43. package/dist/esm/image/setting/Image.js +216 -16
  44. package/dist/esm/index.js +1 -1
  45. package/dist/types/index.d.ts +43 -1
  46. package/package.json +2 -2
@@ -23,6 +23,17 @@ const config = {
23
23
  default: `<svg height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" fill="currentColor" data-id="508414815326568808">
24
24
  <path fill="currentColor" strokelinecap="round" strokelinejoin="round" d="M234.29,114.85l-45,38.83L203,211.75a16.4,16.4,0,0,1-24.5,17.82L128,198.49,77.47,229.57A16.4,16.4,0,0,1,53,211.75l13.76-58.07-45-38.83A16.46,16.46,0,0,1,31.08,86l59-4.76,22.76-55.08a16.36,16.36,0,0,1,30.27,0l22.75,55.08,59,4.76a16.46,16.46,0,0,1,9.37,28.86Z"></path></svg>`
25
25
  },
26
+ {
27
+ id: 'isGoToSalesPage',
28
+ type: 'toggle',
29
+ label: 'Go to Sales page',
30
+ default: false
31
+ },
32
+ {
33
+ id: 'linkedToPreSalesPageBanner',
34
+ type: 'banner-pre-sales-page',
35
+ default: false
36
+ },
26
37
  {
27
38
  id: 'iconLink',
28
39
  type: 'pick-link',
@@ -234,14 +245,37 @@ const config = {
234
245
  ]
235
246
  },
236
247
  {
237
- type: 'control',
248
+ type: 'group',
238
249
  label: {
239
250
  en: 'Insert link'
240
251
  },
241
- layout: 'vertical',
242
- setting: {
243
- id: 'iconLink'
244
- }
252
+ controls: [
253
+ {
254
+ type: 'control',
255
+ condition: 'pageType == "GP_PRE_SALE_PAGE"',
256
+ setting: {
257
+ id: 'linkedToPreSalesPageBanner'
258
+ }
259
+ },
260
+ {
261
+ type: 'control',
262
+ condition: 'pageType == "GP_PRE_SALE_PAGE"',
263
+ setting: {
264
+ id: 'isGoToSalesPage'
265
+ },
266
+ label: {
267
+ en: 'Go to Sales page'
268
+ }
269
+ },
270
+ {
271
+ type: 'control',
272
+ condition: 'isGoToSalesPage === false || pageType != "GP_PRE_SALE_PAGE"',
273
+ layout: 'vertical',
274
+ setting: {
275
+ id: 'iconLink'
276
+ }
277
+ }
278
+ ]
245
279
  },
246
280
  {
247
281
  type: 'group',
@@ -346,6 +380,36 @@ const config = {
346
380
  }
347
381
  }
348
382
  ]
383
+ },
384
+ {
385
+ id: 'icon-pre-sales-page',
386
+ name: {
387
+ en: 'Icon'
388
+ },
389
+ icon: {
390
+ desktop: `
391
+ <svg width="96" height="48" viewBox="0 0 96 48" fill="none" xmlns="http://www.w3.org/2000/svg">
392
+ <path d="M47.283 7.62515C47.5764 7.03055 48.4243 7.03055 48.7177 7.62515L52.251 14.7844C52.3676 15.0205 52.5928 15.1842 52.8534 15.222L60.7541 16.3701C61.4102 16.4654 61.6722 17.2718 61.1974 17.7346L55.4804 23.3073C55.2919 23.4911 55.2059 23.7559 55.2504 24.0154L56.6 31.8842C56.7121 32.5377 56.0261 33.0361 55.4392 32.7275L48.3726 29.0124C48.1396 28.8899 47.8611 28.8898 47.6281 29.0124L40.5615 32.7275C39.9746 33.0361 39.2886 32.5377 39.4007 31.8842L40.7503 24.0154C40.7948 23.7559 40.7088 23.4911 40.5202 23.3073L34.8033 17.7346C34.3284 17.2718 34.5904 16.4654 35.2466 16.3701L43.1473 15.222C43.4079 15.1842 43.6331 15.0205 43.7497 14.7844L47.283 7.62515Z" fill="#D6D6D6"/>
393
+ </svg>
394
+ `
395
+ },
396
+ components: [
397
+ {
398
+ tag: 'Icon',
399
+ advanced: {
400
+ 'spacing-setting': {
401
+ desktop: {
402
+ margin: {
403
+ bottom: 0
404
+ }
405
+ }
406
+ }
407
+ },
408
+ settings: {
409
+ isGoToSalesPage: true
410
+ }
411
+ }
412
+ ]
349
413
  }
350
414
  ],
351
415
  rootOverride: {
@@ -21,6 +21,7 @@ const Image = ({ styles, className, setting, builderAttrs, builderProps, style,
21
21
  };
22
22
  const imageWidth = shape ? core.makeStyleResponsive('w', core.getWidthByShapeGlobalSize(shape)) : core.makeStyleResponsive('w', core.makeWidth(styles?.width, styles?.fullWidth));
23
23
  const imageHeight = core.makeStyleResponsive('h', core.getHeightByShapeGlobalSize(shape));
24
+ const imageFlexGrowClass = core.getFlexGrowClassByShapeGlobalSize(shape);
24
25
  const overwriteDefaultRadius = (cornerRadius)=>{
25
26
  const radius = {
26
27
  ...cornerRadius
@@ -61,7 +62,9 @@ const Image = ({ styles, className, setting, builderAttrs, builderProps, style,
61
62
  "data-id": builderProps?.uid,
62
63
  onClick: onClick,
63
64
  role: "presentation",
64
- className: core.cls('gp-group/image gp-relative', builderProps?.uid),
65
+ className: core.cls('gp-group/image gp-relative', builderProps?.uid, {
66
+ ...imageFlexGrowClass
67
+ }),
65
68
  style: {
66
69
  ...style,
67
70
  ...core.makeStyleResponsive('ta', styles?.align)
@@ -8,9 +8,12 @@ var NextImage_liquid = require('./NextImage.liquid.js');
8
8
  var helpers = require('../../helpers.js');
9
9
 
10
10
  const Image = ({ styles, className, setting, builderAttrs, builderProps, style, advanced, enableLazyloadImage = true })=>{
11
- const { imageLink, isNotLazyload } = setting ?? {};
11
+ const { imageLink, isNotLazyload, isGoToSalesPage } = setting ?? {};
12
+ const { Wrap: WrapLink, urlData, shouldRenderLink } = helpers.getLinkDataConfigs({
13
+ defaultWrap: 'div',
14
+ setting: imageLink
15
+ }, isGoToSalesPage);
12
16
  const { shape } = styles ?? {};
13
- const { Wrap: WrapLink, urlData } = helpers.getInsertLinkData('div', imageLink);
14
17
  const overwriteDefaultRadius = (cornerRadius)=>{
15
18
  const radius = {
16
19
  ...cornerRadius
@@ -28,21 +31,24 @@ const Image = ({ styles, className, setting, builderAttrs, builderProps, style,
28
31
  };
29
32
  const imageWidth = core.makeStyleResponsive('w', core.getWidthByShapeGlobalSize(shape));
30
33
  const imageHeight = core.makeStyleResponsive('h', core.getHeightByShapeGlobalSize(shape));
34
+ const imageFlexGrowClass = core.getFlexGrowClassByShapeGlobalSize(shape);
31
35
  return core.template`<div
32
36
  ${{
33
37
  ...builderAttrs
34
38
  }}
35
39
  data-id="${builderProps?.uid}"
36
40
  role="presentation"
37
- class="${core.cls('gp-group/image', builderProps?.uid, advanced?.cssClass)}"
41
+ class="${core.cls('gp-group/image', builderProps?.uid, advanced?.cssClass, {
42
+ ...imageFlexGrowClass
43
+ })}"
38
44
  style="${{
39
45
  ...style,
40
46
  ...core.makeStyleResponsive('ta', styles?.align)
41
47
  }}"
42
48
  >
43
49
  <${WrapLink}
44
- class="pointer-events-auto h-full gp-flex"
45
- ${imageLink?.link ? {
50
+ class="pointer-events-auto gp-h-full gp-flex"
51
+ ${shouldRenderLink ? {
46
52
  ...urlData,
47
53
  title: setting?.title
48
54
  } : {}}
@@ -64,6 +64,17 @@ const config = {
64
64
  target: '_self'
65
65
  }
66
66
  },
67
+ {
68
+ id: 'isGoToSalesPage',
69
+ type: 'toggle',
70
+ label: 'Go to Sales page',
71
+ default: false
72
+ },
73
+ {
74
+ id: 'linkedToPreSalesPageBanner',
75
+ type: 'banner-pre-sales-page',
76
+ default: false
77
+ },
67
78
  {
68
79
  id: 'seo',
69
80
  type: 'group',
@@ -137,6 +148,15 @@ const config = {
137
148
  displayOptions: [
138
149
  'full'
139
150
  ]
151
+ },
152
+ height: {
153
+ displayOptions: [
154
+ 'full'
155
+ ],
156
+ units: [
157
+ 'px',
158
+ '%'
159
+ ]
140
160
  }
141
161
  },
142
162
  hiddenSettings: [
@@ -394,14 +414,37 @@ const config = {
394
414
  ]
395
415
  },
396
416
  {
397
- type: 'control',
417
+ type: 'group',
398
418
  label: {
399
419
  en: 'Insert link'
400
420
  },
401
- setting: {
402
- id: 'imageLink'
403
- },
404
- layout: 'vertical'
421
+ controls: [
422
+ {
423
+ type: 'control',
424
+ condition: 'pageType == "GP_PRE_SALE_PAGE"',
425
+ setting: {
426
+ id: 'linkedToPreSalesPageBanner'
427
+ }
428
+ },
429
+ {
430
+ type: 'control',
431
+ condition: 'pageType == "GP_PRE_SALE_PAGE"',
432
+ setting: {
433
+ id: 'isGoToSalesPage'
434
+ },
435
+ label: {
436
+ en: 'Go to Sales page'
437
+ }
438
+ },
439
+ {
440
+ type: 'control',
441
+ condition: 'isGoToSalesPage === false || pageType != "GP_PRE_SALE_PAGE"',
442
+ layout: 'vertical',
443
+ setting: {
444
+ id: 'imageLink'
445
+ }
446
+ }
447
+ ]
405
448
  },
406
449
  {
407
450
  type: 'group',
@@ -607,19 +650,19 @@ const config = {
607
650
  }
608
651
  },
609
652
  borderRadius: {
610
- btrr: "999999px",
611
- bblr: "999999px",
612
- bbrr: "999999px",
613
- btlr: "999999px",
614
- radiusType: "custom"
653
+ btrr: '999999px',
654
+ bblr: '999999px',
655
+ bbrr: '999999px',
656
+ btlr: '999999px',
657
+ radiusType: 'custom'
615
658
  },
616
659
  wrapperBorder: {
617
- borderType: "none",
618
- border: "none",
619
- width: "1px 1px 1px 1px",
620
- position: "all",
621
- borderWidth: "1px",
622
- color: "#000000",
660
+ borderType: 'none',
661
+ border: 'none',
662
+ width: '1px 1px 1px 1px',
663
+ position: 'all',
664
+ borderWidth: '1px',
665
+ color: '#000000',
623
666
  isCustom: true
624
667
  }
625
668
  },
@@ -637,6 +680,163 @@ const config = {
637
680
  }
638
681
  }
639
682
  ]
683
+ },
684
+ {
685
+ id: 'image-pre-sales-page',
686
+ name: {
687
+ en: 'Image'
688
+ },
689
+ icon: {
690
+ desktop: `
691
+ <svg width="96" height="48" viewBox="0 0 96 48" fill="none" xmlns="http://www.w3.org/2000/svg">
692
+ <rect width="96" height="48" rx="3" fill="#424242"/>
693
+ <circle cx="37" cy="17" r="3" fill="#D6D6D6"/>
694
+ <path d="M32.42 30.9518L37.1407 25.1338C37.3005 24.9364 37.498 24.7768 37.7203 24.6653C37.9427 24.5538 38.1848 24.4929 38.431 24.4866C38.6772 24.4803 38.9218 24.5287 39.149 24.6287C39.3762 24.7288 39.5809 24.8781 39.7496 25.0671L41.957 27.5361L50.5857 16.6629C50.7546 16.4499 50.967 16.2797 51.2069 16.165C51.4469 16.0503 51.7083 15.9941 51.9718 16.0005C52.2352 16.0069 52.4939 16.0758 52.7285 16.202C52.9632 16.3283 53.1679 16.5086 53.3273 16.7297L63.6435 31.0236C63.8408 31.2976 63.9615 31.6242 63.9922 31.9666C64.0229 32.3089 63.9623 32.6535 63.8173 32.9616C63.6723 33.2697 63.4485 33.529 63.1712 33.7105C62.8939 33.8919 62.5741 33.9883 62.2476 33.9887L33.7537 34C33.4185 33.9999 33.0904 33.8986 32.8082 33.7082C32.526 33.5177 32.3014 33.2461 32.1611 32.9255C32.0208 32.6048 31.9706 32.2485 32.0165 31.8988C32.0624 31.549 32.2024 31.2204 32.42 30.9518Z" fill="#D6D6D6"/>
695
+ </svg>
696
+ `
697
+ },
698
+ components: [
699
+ {
700
+ tag: 'Image',
701
+ advanced: {
702
+ 'spacing-setting': {
703
+ desktop: {
704
+ margin: {
705
+ bottom: 'var(--g-s-l)'
706
+ }
707
+ }
708
+ },
709
+ editorData: {
710
+ cssPlaceholder: '.{{rootClassName}} {\n\n}\n.{{rootClassName}} > figure > img {\n\n}'
711
+ }
712
+ },
713
+ settings: {
714
+ isGoToSalesPage: true
715
+ }
716
+ }
717
+ ],
718
+ flowTagComponents: {
719
+ Marquee: [
720
+ {
721
+ tag: 'Image',
722
+ styles: {
723
+ shape: {
724
+ desktop: {
725
+ width: 'auto',
726
+ height: 'auto'
727
+ }
728
+ },
729
+ enableBorder: 'none'
730
+ },
731
+ advanced: {
732
+ 'spacing-setting': {
733
+ desktop: {
734
+ margin: {
735
+ bottom: 'var(--g-s-l)'
736
+ }
737
+ }
738
+ },
739
+ editorData: {
740
+ rootClassName: '{{rootClassName}}',
741
+ css: '.{{rootClassName}} {\n\n}\n.{{rootClassName}} > figure > img {\n\n}'
742
+ }
743
+ },
744
+ settings: {
745
+ isNotLazyload: true
746
+ }
747
+ }
748
+ ]
749
+ }
750
+ },
751
+ {
752
+ id: 'image-circle-pre-sales-page',
753
+ name: {
754
+ en: 'Image'
755
+ },
756
+ icon: {
757
+ desktop: `
758
+ <svg width="56" height="56" viewBox="0 0 56 56" fill="none" xmlns="http://www.w3.org/2000/svg">
759
+ <rect x="2" y="2" width="52" height="52" rx="26" fill="#424242"/>
760
+ <ellipse cx="20.4375" cy="22.9688" rx="2.0625" ry="1.96875" fill="#F9F9F9"/>
761
+ <path d="M17.2887 32.9997L20.5342 29.1816C20.6441 29.052 20.7799 28.9473 20.9327 28.8741C21.0856 28.8009 21.2521 28.761 21.4213 28.7568C21.5905 28.7527 21.7587 28.7845 21.915 28.8501C22.0712 28.9158 22.2118 29.0138 22.3278 29.1378L23.8454 30.758L29.7777 23.6225C29.8938 23.4827 30.0398 23.371 30.2048 23.2958C30.3697 23.2205 30.5495 23.1836 30.7306 23.1878C30.9117 23.192 31.0895 23.2372 31.2509 23.3201C31.4122 23.4029 31.5529 23.5213 31.6625 23.6663L38.7549 33.0467C38.8905 33.2266 38.9735 33.4409 38.9947 33.6656C39.0158 33.8902 38.9741 34.1164 38.8744 34.3186C38.7747 34.5207 38.6209 34.6909 38.4302 34.81C38.2396 34.9291 38.0197 34.9923 37.7952 34.9926L18.2057 35C17.9753 34.9999 17.7497 34.9334 17.5557 34.8085C17.3616 34.6835 17.2072 34.5053 17.1108 34.2948C17.0143 34.0844 16.9798 33.8506 17.0113 33.6211C17.0429 33.3915 17.1391 33.1759 17.2887 32.9997Z" fill="#F9F9F9"/>
762
+ </svg>
763
+ `
764
+ },
765
+ components: [
766
+ {
767
+ tag: 'Image',
768
+ settings: {
769
+ imageStyle: 'circle',
770
+ isGoToSalesPage: true
771
+ },
772
+ styles: {
773
+ shape: {
774
+ desktop: {
775
+ shape: 'square',
776
+ shapeValue: '1/1',
777
+ width: '80px',
778
+ shapeLinked: true
779
+ }
780
+ },
781
+ borderRadius: {
782
+ btrr: '999999px',
783
+ bblr: '999999px',
784
+ bbrr: '999999px',
785
+ btlr: '999999px',
786
+ radiusType: 'custom'
787
+ },
788
+ wrapperBorder: {
789
+ borderType: 'none',
790
+ border: 'none',
791
+ width: '1px 1px 1px 1px',
792
+ position: 'all',
793
+ borderWidth: '1px',
794
+ color: '#000000',
795
+ isCustom: true
796
+ }
797
+ },
798
+ advanced: {
799
+ 'spacing-setting': {
800
+ desktop: {
801
+ margin: {
802
+ bottom: 'var(--g-s-l)'
803
+ }
804
+ }
805
+ },
806
+ editorData: {
807
+ cssplaceholder: '.{{rootClassName}} {\n\n}\n.{{rootClassName}} > figure > img {\n\n}'
808
+ }
809
+ }
810
+ }
811
+ ],
812
+ rootOverride: {
813
+ styles: {
814
+ shape: {
815
+ desktop: {
816
+ shape: 'square',
817
+ shapeValue: '1/1',
818
+ width: '80px',
819
+ shapeLinked: true
820
+ }
821
+ },
822
+ borderRadius: {
823
+ btrr: '999999px',
824
+ bblr: '999999px',
825
+ bbrr: '999999px',
826
+ btlr: '999999px',
827
+ radiusType: 'custom'
828
+ }
829
+ },
830
+ advanced: {
831
+ 'spacing-setting': {
832
+ desktop: {
833
+ margin: {
834
+ bottom: 0
835
+ }
836
+ }
837
+ }
838
+ }
839
+ }
640
840
  }
641
841
  ],
642
842
  rootOverride: {
package/dist/cjs/index.js CHANGED
@@ -631,6 +631,7 @@ exports.ELEMENT_Z_INDEX = _const.ELEMENT_Z_INDEX;
631
631
  exports.getAllHrefFromString = helpers.getAllHrefFromString;
632
632
  exports.getDynamicSourceLocales = helpers.getDynamicSourceLocales;
633
633
  exports.getInsertLinkData = helpers.getInsertLinkData;
634
+ exports.getLinkDataConfigs = helpers.getLinkDataConfigs;
634
635
  exports.getSettingPreloadData = helpers.getSettingPreloadData;
635
636
  exports.getStaticLocale = helpers.getStaticLocale;
636
637
  exports.isHexTransparent = helpers.isHexTransparent;
@@ -2,7 +2,7 @@ import { makeStyleResponsive, getHeightByShapeGlobalSize, makeStyleWithDefault,
2
2
  import Row from '../../../grid/components/Row.liquid.js';
3
3
  import AdaptiveImage from '../../../image/components/AdaptiveImage.liquid.js';
4
4
  import { getVisibilityStyle, getMarginStyle, getStyleAspectRatioHeroBannerCustom, removeMarginStyle, getContentPosition, mapContentPositionToHorizontal, getClassJustify, getResponsiveSetting, getClassContentPosition, getDisplayStyleByFitContent, fallBackImg, getClassForContentByFitContent, getClassForStretchContent, getClassSpaceBetween, getWidth, getBgImage } from '../../helpers/common.js';
5
- import { getInsertLinkData, getSettingPreloadData } from '../../../helpers.js';
5
+ import { getLinkDataConfigs, getSettingPreloadData } from '../../../helpers.js';
6
6
  import HTML5Embed from '../../../video/components/HTML5Embed.liquid.js';
7
7
  import { getClipPath, getStyleHeroBannerBg } from './utils/index.js';
8
8
  import useAspectRatioSettings from './hooks/useAspectRatioSettings.js';
@@ -11,7 +11,11 @@ import { getImageSrc, DEVICES } from '../../../image/helpers/getSrcSet.js';
11
11
  import { createBlurDataURL } from '../../../image/components/helpers.js';
12
12
 
13
13
  const HeroBanner = ({ builderAttrs, builderProps, setting, styles, style, children, rawChildren, advanced, enableLazyloadImage = true })=>{
14
- const { link, layout, verticalAlign, order, alignBanner, alt, title } = setting ?? {};
14
+ const { link, layout, verticalAlign, order, alignBanner, alt, title, isGoToSalesPage } = setting ?? {};
15
+ const { urlData } = getLinkDataConfigs({
16
+ defaultWrap: '',
17
+ setting: link
18
+ }, isGoToSalesPage);
15
19
  const { background, overlayEnable, overlayColor, overlayOpacity, verticalGutter, contentWidth, hoverEffect, hoverEffectDuration, hoverEffectScale, cornerBg, borderBg, hasActiveShadow, shadowBg, sizeSetting, contentPadding } = styles ?? {};
16
20
  const enableParallax = setting?.enableParallax || false;
17
21
  const speedParallax = Number(setting?.speedParallax) || 0;
@@ -124,7 +128,6 @@ const HeroBanner = ({ builderAttrs, builderProps, setting, styles, style, childr
124
128
  }
125
129
  return;
126
130
  };
127
- const { urlData } = getInsertLinkData('', link);
128
131
  const imagePlaceholder = {
129
132
  desktop: createBlurDataURL(srcSet?.desktop?.width ?? 0, srcSet?.desktop?.height ?? 0),
130
133
  tablet: createBlurDataURL(srcSet?.tablet?.width ?? srcSet?.desktop?.width ?? 0, srcSet?.tablet?.height ?? srcSet?.desktop?.width ?? 0),
@@ -1,8 +1,13 @@
1
1
  import { heroBanner1Col } from './presets/heroBanner1Col.js';
2
+ import { heroBanner1ColPreSalesPage } from './presets/heroBanner1ColPreSalesPage.js';
2
3
  import { heroBannerContentLeft } from './presets/heroBannerContentLeft.js';
4
+ import { heroBannerContentLeftPreSalesPage } from './presets/heroBannerContentLeftPreSalesPage.js';
3
5
  import { heroBannerContentRight } from './presets/heroBannerContentRight.js';
6
+ import { heroBannerContentRightPreSalesPage } from './presets/heroBannerContentRightPreSalesPage.js';
4
7
  import { heroBannerVideo } from './presets/heroBannerVideo.js';
8
+ import { heroBannerVideoPreSalesPage } from './presets/heroBannerVideoPreSalesPage.js';
5
9
  import { heroBannerParallax } from './presets/heroBannerParallax.js';
10
+ import { heroBannerParallaxPreSalesPage } from './presets/heroBannerParallaxPreSalesPage.js';
6
11
 
7
12
  const config = {
8
13
  tag: 'HeroBanner',
@@ -192,6 +197,17 @@ const config = {
192
197
  label: 'Preload',
193
198
  default: false
194
199
  },
200
+ {
201
+ id: 'isGoToSalesPage',
202
+ type: 'toggle',
203
+ label: 'Go to Sales page',
204
+ default: false
205
+ },
206
+ {
207
+ id: 'linkedToPreSalesPageBanner',
208
+ type: 'banner-pre-sales-page',
209
+ default: false
210
+ },
195
211
  {
196
212
  id: 'link',
197
213
  type: 'pick-link',
@@ -1066,14 +1082,37 @@ const config = {
1066
1082
  ]
1067
1083
  },
1068
1084
  {
1069
- type: 'control',
1085
+ type: 'group',
1070
1086
  label: {
1071
1087
  en: 'Link'
1072
1088
  },
1073
- setting: {
1074
- id: 'link'
1075
- },
1076
- layout: 'vertical'
1089
+ controls: [
1090
+ {
1091
+ type: 'control',
1092
+ condition: 'pageType == "GP_PRE_SALE_PAGE"',
1093
+ setting: {
1094
+ id: 'linkedToPreSalesPageBanner'
1095
+ }
1096
+ },
1097
+ {
1098
+ type: 'control',
1099
+ condition: 'pageType == "GP_PRE_SALE_PAGE"',
1100
+ setting: {
1101
+ id: 'isGoToSalesPage'
1102
+ },
1103
+ label: {
1104
+ en: 'Go to Sales page'
1105
+ }
1106
+ },
1107
+ {
1108
+ type: 'control',
1109
+ condition: 'isGoToSalesPage === false || pageType != "GP_PRE_SALE_PAGE"',
1110
+ layout: 'vertical',
1111
+ setting: {
1112
+ id: 'link'
1113
+ }
1114
+ }
1115
+ ]
1077
1116
  },
1078
1117
  {
1079
1118
  type: 'group',
@@ -1353,10 +1392,15 @@ const config = {
1353
1392
  ],
1354
1393
  presets: [
1355
1394
  heroBanner1Col,
1395
+ heroBanner1ColPreSalesPage,
1356
1396
  heroBannerContentLeft,
1397
+ heroBannerContentLeftPreSalesPage,
1357
1398
  heroBannerContentRight,
1399
+ heroBannerContentRightPreSalesPage,
1358
1400
  heroBannerVideo,
1359
- heroBannerParallax
1401
+ heroBannerVideoPreSalesPage,
1402
+ heroBannerParallax,
1403
+ heroBannerParallaxPreSalesPage
1360
1404
  ],
1361
1405
  editorConfigs: {
1362
1406
  slots: {