@gem-sdk/components 2.0.10 → 2.0.12

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 (27) hide show
  1. package/dist/cjs/accordion/components/AccordionItem.liquid.js +1 -1
  2. package/dist/cjs/carousel/components/CarouselItem.js +11 -1
  3. package/dist/cjs/carousel/components/CarouselItem.liquid.js +11 -0
  4. package/dist/cjs/helpers.js +29 -2
  5. package/dist/cjs/icon-list-v2/components/IconList.liquid.js +3 -1
  6. package/dist/cjs/image-comparison/components/CompareImage.js +2 -4
  7. package/dist/cjs/image-comparison/components/CompareImage.liquid.js +8 -10
  8. package/dist/cjs/image-comparison/components/common/helpers.js +13 -0
  9. package/dist/cjs/index.js +10 -0
  10. package/dist/cjs/product/components/DynamicCheckout.liquid.js +1 -1
  11. package/dist/cjs/product/setting/FileUpload.js +21 -6
  12. package/dist/cjs/text/components/Text.liquid.js +12 -20
  13. package/dist/esm/accordion/components/AccordionItem.liquid.js +1 -1
  14. package/dist/esm/carousel/components/CarouselItem.js +11 -1
  15. package/dist/esm/carousel/components/CarouselItem.liquid.js +12 -1
  16. package/dist/esm/form/components/newsletter/Newsletter.liquid.js +1 -1
  17. package/dist/esm/helpers.js +29 -3
  18. package/dist/esm/icon-list-v2/components/IconList.liquid.js +3 -1
  19. package/dist/esm/image-comparison/components/CompareImage.js +2 -4
  20. package/dist/esm/image-comparison/components/CompareImage.liquid.js +2 -4
  21. package/dist/esm/image-comparison/components/common/helpers.js +11 -0
  22. package/dist/esm/index.js +1 -0
  23. package/dist/esm/product/components/DynamicCheckout.liquid.js +1 -1
  24. package/dist/esm/product/setting/FileUpload.js +21 -6
  25. package/dist/esm/text/components/Text.liquid.js +13 -21
  26. package/dist/types/index.d.ts +30 -1
  27. package/package.json +1 -1
@@ -89,7 +89,7 @@ const AccordionItem = ({ accordions, index, rawChildren, builderProps, title, pa
89
89
  }
90
90
  .gp-accordion-item .gp-accordion-item-${parentUid}-${index}:hover .gp-collapsible-icon.gp-accordion-item-active, .gp-accordion-item .gp-accordion-item-${parentUid}-${index}:hover .gp-icon.gp-accordion-item-active
91
91
  {
92
- color: ${iconColor?.active} !important
92
+ color: ${color?.active} !important
93
93
  }
94
94
  </style>
95
95
  <div class="gp-overflow-clip" style="${{
@@ -45,6 +45,11 @@ const CarouselItem = ({ children, builderAttrs, styles, advanced, setting, build
45
45
  parentStyle,
46
46
  passProps.style
47
47
  ]);
48
+ const itemShadowStyle = core.getStyleShadow({
49
+ value: parentStyle?.carouselShadow,
50
+ styleAppliedFor: 'box-shadow',
51
+ isEnableShadow: parentStyle?.hasActiveShadow
52
+ });
48
53
  return /*#__PURE__*/ jsxRuntime.jsx("div", {
49
54
  ...builderAttrs,
50
55
  ...passProps,
@@ -68,7 +73,12 @@ const CarouselItem = ({ children, builderAttrs, styles, advanced, setting, build
68
73
  },
69
74
  onClick: onClickItem,
70
75
  "aria-hidden": true,
71
- children: core.isEmptyChildren(children) ? /*#__PURE__*/ jsxRuntime.jsx(ChildrenDroppable.default, {}) : children
76
+ children: /*#__PURE__*/ jsxRuntime.jsx("div", {
77
+ style: {
78
+ ...itemShadowStyle
79
+ },
80
+ children: core.isEmptyChildren(children) ? /*#__PURE__*/ jsxRuntime.jsx(ChildrenDroppable.default, {}) : children
81
+ })
72
82
  });
73
83
  };
74
84
 
@@ -35,6 +35,11 @@ const CarouselItem = ({ children, builderAttrs, styles, advanced, setting, build
35
35
  })
36
36
  };
37
37
  };
38
+ const itemShadowStyle = core.getStyleShadow({
39
+ value: parentStyle?.carouselShadow,
40
+ styleAppliedFor: 'box-shadow',
41
+ isEnableShadow: parentStyle?.hasActiveShadow
42
+ });
38
43
  return core.template`
39
44
  <div
40
45
  media-type="{{media.media_type}}"
@@ -79,7 +84,13 @@ const CarouselItem = ({ children, builderAttrs, styles, advanced, setting, build
79
84
  class="${core.cls(`gem-slider-item gp-w-full gem-slider-item-${parentId || ''} gp-child-item-${parentUid}`, builderProps?.uid, className)}"
80
85
  data-index="${index}"
81
86
  >
87
+ <div
88
+ style="${{
89
+ ...itemShadowStyle
90
+ }}"
91
+ >
82
92
  ${children}
93
+ </div>
83
94
  </div>
84
95
  `;
85
96
  };
@@ -34,7 +34,7 @@ const isHexTransparent = (hex)=>{
34
34
  return Boolean(a);
35
35
  };
36
36
  const youtubeShortsRegex = /^(?:https?:\/\/)?(?:www\.)?youtube\.com\/shorts\/([^"&?/\s]{11})$/i;
37
- const getDynamicSourceLocales = ({ val, uid, settingId, isLiquid, pageContext, isCapitalize, defaultVal = '', translate })=>{
37
+ const getDynamicSourceLocales = ({ val, uid, settingId, isLiquid, pageContext, isCapitalize, defaultVal = '', translate, isReplaceLocationOrigin })=>{
38
38
  const hasLiquidInValue = new RegExp(/\{\{.*?\}\}|\{%.*?%\}/).test(val?.toString() ?? '');
39
39
  const translateLimit = pageContext?.isTranslateWithLocale ? 1000 : 5000;
40
40
  if (!translate || !val?.toString().trim() || val.toString().length > translateLimit || hasLiquidInValue || pageContext?.isPreviewing) return val ?? defaultVal;
@@ -43,6 +43,9 @@ const getDynamicSourceLocales = ({ val, uid, settingId, isLiquid, pageContext, i
43
43
  if (pageContext?.isTranslateWithLocale) {
44
44
  locale = `"sections.${pageContext.sectionName}.${translateKey}_html" | t`;
45
45
  }
46
+ if (isReplaceLocationOrigin) {
47
+ locale += ` | replace: '$locationOrigin', locationOrigin`;
48
+ }
46
49
  if (isCapitalize) {
47
50
  locale = `${locale} | downcase`;
48
51
  }
@@ -72,7 +75,11 @@ const getInsertLinkData = (defaultWrap, setting, htmlType)=>{
72
75
  const isShopifyDomain = isHyperlink && !regexHttp.test(urlHref) && regexPageType.test(urlHref);
73
76
  const isDomain = isHyperlink && regexHttp.test(urlHref);
74
77
  if (isShopifyDomain || isHomePageHref) {
75
- urlHref = "{{ request.origin }}{{ routes.root_url | split: '/' | join: '/' }}" + urlHref;
78
+ if (setting?.isTranslate) {
79
+ urlHref = '$locationOrigin' + urlHref;
80
+ } else {
81
+ urlHref = "{{ request.origin }}{{ routes.root_url | split: '/' | join: '/' }}" + urlHref;
82
+ }
76
83
  }
77
84
  const isLink = ()=>{
78
85
  if (URL_START_WITH.find((el)=>urlHref.startsWith(el))) return true;
@@ -97,6 +104,25 @@ const getInsertLinkData = (defaultWrap, setting, htmlType)=>{
97
104
  shouldRenderLink
98
105
  };
99
106
  };
107
+ const replaceLinkData = (text, isTranslate)=>{
108
+ const regex = /<a\s[^>]*>.*?<\/a>/;
109
+ if (text && regex.test(text)) {
110
+ const regex = // eslint-disable-next-line regexp/no-super-linear-backtracking, regexp/no-unused-capturing-group
111
+ /<a\s+(?:[^>]*?\s+)?href=["']([^"']*)["'](?:\s+[^>]*?)?(?:target=["']([^"']*)["'])?.*?>.*?<\/a>/gi;
112
+ let newText = text.toString();
113
+ let match;
114
+ while((match = regex.exec(newText)) !== null){
115
+ const href = match[1];
116
+ const { urlData } = getInsertLinkData('', {
117
+ link: href,
118
+ isTranslate
119
+ });
120
+ newText = newText.replace(match[0], match[0].replace(/(href=['"])([^'"]*)(['"])/i, `$1${urlData.href}$3`));
121
+ }
122
+ return newText;
123
+ }
124
+ return text;
125
+ };
100
126
 
101
127
  exports.getDynamicSourceLocales = getDynamicSourceLocales;
102
128
  exports.getInsertLinkData = getInsertLinkData;
@@ -105,4 +131,5 @@ exports.getStaticLocale = getStaticLocale;
105
131
  exports.isHexTransparent = isHexTransparent;
106
132
  exports.isTransparentColor = isTransparentColor;
107
133
  exports.isTransparentRGBA = isTransparentRGBA;
134
+ exports.replaceLinkData = replaceLinkData;
108
135
  exports.youtubeShortsRegex = youtubeShortsRegex;
@@ -21,6 +21,7 @@ const IconListV2 = ({ builderProps, style, setting, styles, advanced, pageContex
21
21
  };
22
22
  const valueMap = getvalueMap();
23
23
  return core.template`
24
+ {% assign locationOrigin = request.origin | append: routes.root_url | split: '/' | join: '/' %}
24
25
  <gp-icon-list
25
26
  ${{
26
27
  ...builderProps
@@ -49,7 +50,8 @@ const IconListV2 = ({ builderProps, style, setting, styles, advanced, pageContex
49
50
  uid: builderProps?.uid,
50
51
  settingId: `childItem_${key}`,
51
52
  pageContext,
52
- translate
53
+ translate,
54
+ isReplaceLocationOrigin: true
53
55
  });
54
56
  return core.template`
55
57
  <div
@@ -7,6 +7,7 @@ var React = require('react');
7
7
  var commonStyles = require('../constants/commonStyles.js');
8
8
  var core = require('@gem-sdk/core');
9
9
  var helpers = require('../../image/components/helpers.js');
10
+ var helpers$1 = require('./common/helpers.js');
10
11
 
11
12
  const CompareImage = (props)=>{
12
13
  const { handle = null, handleSize = 40, hover = false, leftImage, leftImageAlt = '', leftImageTitle = '', leftImageCss = {}, leftImageLabel = null, onSliderPositionChange, rightImage, rightImageAlt = '', rightImageTitle = '', rightImageCss = {}, rightImageLabel = null, sliderLineColor = '#ffffff', sliderLineWidth = 2, sliderPositionPercentage = 0.5, vertical = false, enableLabel = false, componentUid, styles = {}, builderData, preload } = props;
@@ -448,10 +449,7 @@ const CompareImage = (props)=>{
448
449
  title: "",
449
450
  width: tempImage?.width,
450
451
  height: tempImage?.height,
451
- style: {
452
- position: 'static',
453
- opacity: 0
454
- }
452
+ style: helpers$1.styleLazyPlaceholder(aspectRatio)
455
453
  }),
456
454
  /*#__PURE__*/ jsxRuntime.jsx("img", {
457
455
  onLoad: ()=>setRightImgLoaded(true),
@@ -5,9 +5,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var core = require('@gem-sdk/core');
6
6
  var Label_liquid = require('./Label.liquid.js');
7
7
  var NextImage_liquid = require('../../image/components/NextImage.liquid.js');
8
- var helpers$1 = require('../../image/components/helpers.js');
8
+ var helpers$2 = require('../../image/components/helpers.js');
9
9
  var getSrcSet = require('../../image/helpers/getSrcSet.js');
10
- var helpers = require('../../helpers.js');
10
+ var helpers$1 = require('../../helpers.js');
11
+ var helpers = require('./common/helpers.js');
11
12
 
12
13
  const CompareImage = (props)=>{
13
14
  const { handle = null, handleSize = 40, hover = false, leftImage, leftImageAlt = '', leftImageTitle = '', leftImageCss = {}, leftImageLabel = null, onSliderPositionChange, rightImage, rightImageAlt = '', rightImageTitle = '', rightImageCss = {}, rightImageLabel = null, sliderLineColor = '#ffffff', sliderLineWidth = 2, sliderPositionPercentage = 0.5, vertical = false, enableLabel = false, componentUid = '', styles, advanced, builderData, preload = false, pageContext, translate } = props;
@@ -19,19 +20,19 @@ const CompareImage = (props)=>{
19
20
  const rightSrcImage = getSrcSet.getImageSrc(rightImage);
20
21
  const leftSrcImage = getSrcSet.getImageSrc(leftImage);
21
22
  const aspectRatio = {
22
- desktop: helpers$1.composeAspectRatio({
23
+ desktop: helpers$2.composeAspectRatio({
23
24
  device: 'desktop',
24
25
  aspect: styles?.aspectRatio,
25
26
  auto: baseRatioImage,
26
27
  custom: styles?.customAspectRadio
27
28
  }) ?? defaultRatio,
28
- tablet: helpers$1.composeAspectRatio({
29
+ tablet: helpers$2.composeAspectRatio({
29
30
  device: 'tablet',
30
31
  aspect: styles?.aspectRatio,
31
32
  auto: baseRatioImage,
32
33
  custom: styles?.customAspectRadio
33
34
  }),
34
- mobile: helpers$1.composeAspectRatio({
35
+ mobile: helpers$2.composeAspectRatio({
35
36
  device: 'mobile',
36
37
  aspect: styles?.aspectRatio,
37
38
  auto: baseRatioImage,
@@ -254,10 +255,7 @@ const CompareImage = (props)=>{
254
255
  title=""
255
256
  width="${tempImage?.width}"
256
257
  height="${tempImage?.height}"
257
- style="${{
258
- position: 'static',
259
- opacity: 0
260
- }}"
258
+ style="${helpers.styleLazyPlaceholder(aspectRatio)}"
261
259
  />
262
260
  ${NextImage_liquid.default({
263
261
  customAttrs: {
@@ -343,7 +341,7 @@ const CompareImage = (props)=>{
343
341
  }) : ''}
344
342
  </div></div>
345
343
  </gp-image-comparison>
346
- ${core.RenderIf(core.isLocalEnv, `<script ${helpers.getSettingPreloadData('class="gps-link" delay', 'src')}="{{ 'gp-image-comparison.js' | asset_url }}" defer="defer"></script>`, `<script ${helpers.getSettingPreloadData('class="gps-link" delay', 'src')}="${core.baseAssetURL}/assets-v2/gp-image-comparison.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
344
+ ${core.RenderIf(core.isLocalEnv, `<script ${helpers$1.getSettingPreloadData('class="gps-link" delay', 'src')}="{{ 'gp-image-comparison.js' | asset_url }}" defer="defer"></script>`, `<script ${helpers$1.getSettingPreloadData('class="gps-link" delay', 'src')}="${core.baseAssetURL}/assets-v2/gp-image-comparison.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
347
345
  `;
348
346
  };
349
347
 
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ var core = require('@gem-sdk/core');
4
+
5
+ const styleLazyPlaceholder = (aspectRatio)=>{
6
+ return {
7
+ '--pos': 'static',
8
+ '--op': 0,
9
+ ...core.makeStyleResponsive('aspect', aspectRatio)
10
+ };
11
+ };
12
+
13
+ exports.styleLazyPlaceholder = styleLazyPlaceholder;
package/dist/cjs/index.js CHANGED
@@ -296,6 +296,7 @@ var index_liquid = require('./index.liquid.js');
296
296
  var builder = require('./builder.js');
297
297
  require('react/jsx-runtime');
298
298
  var _const = require('./common/const.js');
299
+ var helpers = require('./helpers.js');
299
300
  var index$M = require('./post-purchase/text/setting/index.js');
300
301
  var Text$1 = require('./post-purchase/text/Text.js');
301
302
 
@@ -596,5 +597,14 @@ exports.nextComponent = next.default;
596
597
  exports.liquidComponents = index_liquid;
597
598
  exports.builderComponent = builder.default;
598
599
  exports.ELEMENT_Z_INDEX = _const.ELEMENT_Z_INDEX;
600
+ exports.getDynamicSourceLocales = helpers.getDynamicSourceLocales;
601
+ exports.getInsertLinkData = helpers.getInsertLinkData;
602
+ exports.getSettingPreloadData = helpers.getSettingPreloadData;
603
+ exports.getStaticLocale = helpers.getStaticLocale;
604
+ exports.isHexTransparent = helpers.isHexTransparent;
605
+ exports.isTransparentColor = helpers.isTransparentColor;
606
+ exports.isTransparentRGBA = helpers.isTransparentRGBA;
607
+ exports.replaceLinkData = helpers.replaceLinkData;
608
+ exports.youtubeShortsRegex = helpers.youtubeShortsRegex;
599
609
  exports.postPurchaseTextSetting = index$M.default;
600
610
  exports.PostPurchaseText = Text$1.default;
@@ -99,7 +99,7 @@ const DynamicCheckout = ({ builderProps, styles, advanced, setting, pageContext
99
99
  })}
100
100
  ${composeSpacing('desktop')}
101
101
  ${core.composeCornerCss(styles?.roundedBtn?.normal, true)}
102
- ${composeSize(composeGlobalSize.width.desktop ?? 'auto', composeGlobalSize.height.desktop ?? 'auto', false)}
102
+ ${composeSize(undefined, composeGlobalSize.height.desktop ?? 'auto', false)}
103
103
  }
104
104
  .wrap__button--unbranded__${builderProps?.uid} .shopify-payment-button .shopify-payment-button__button--unbranded::before {
105
105
  content: "";
@@ -19,7 +19,7 @@ const config = {
19
19
  controls: [
20
20
  {
21
21
  id: 'textContent',
22
- type: 'input',
22
+ type: 'textarea',
23
23
  default: 'Click or drop your image to upload (Max 10MB)'
24
24
  },
25
25
  {
@@ -865,14 +865,29 @@ const config = {
865
865
  ]
866
866
  },
867
867
  {
868
- type: 'control',
868
+ type: 'group',
869
869
  label: {
870
870
  en: 'Text'
871
871
  },
872
- setting: {
873
- id: 'typo'
874
- },
875
- layout: 'vertical'
872
+ controls: [
873
+ {
874
+ type: 'control',
875
+ label: {
876
+ en: 'Content'
877
+ },
878
+ layout: 'horizontal',
879
+ setting: {
880
+ id: 'textContent'
881
+ }
882
+ },
883
+ {
884
+ type: 'control',
885
+ setting: {
886
+ id: 'typo'
887
+ },
888
+ layout: 'vertical'
889
+ }
890
+ ]
876
891
  },
877
892
  {
878
893
  type: 'group',
@@ -18,39 +18,31 @@ const Text = ({ styles, builderAttrs, style, setting, advanced, builderProps, cl
18
18
  return classList;
19
19
  };
20
20
  let displayText = '';
21
- let renderText = '';
22
- const regexCheckHasTagLink = /<a\s[^>]*>.*?<\/a>/;
23
- if (text && regexCheckHasTagLink.test(text)) {
24
- const regex = // eslint-disable-next-line regexp/no-super-linear-backtracking, regexp/no-unused-capturing-group
25
- /<a\s+(?:[^>]*?\s+)?href=["']([^"']*)["'](?:\s+[^>]*?)?(?:target=["']([^"']*)["'])?.*?>.*?<\/a>/gi;
26
- let newText = text.toString();
27
- let match;
28
- while((match = regex.exec(newText)) !== null){
29
- const href = match[1];
30
- const { urlData } = helpers.getInsertLinkData('', {
31
- link: href
32
- });
33
- newText = newText.replace(match[0], match[0].replace(/(href=['"])([^'"]*)(['"])/i, `$1${urlData.href}$3`));
34
- }
35
- renderText = newText;
36
- } else {
37
- renderText = text;
38
- }
21
+ const isViewliveHeadingOrTextComponent = [
22
+ 'Heading',
23
+ 'Text'
24
+ ].includes(builderProps?.builderData?.tag ?? '') && !pageContext?.isPreviewing;
25
+ const renderText = helpers.replaceLinkData(text?.toString());
39
26
  if (isForceValue) {
40
27
  displayText = renderText;
41
28
  } else if (setting?.translate) {
42
29
  displayText = helpers.getDynamicSourceLocales({
43
- val: renderText,
30
+ val: text,
44
31
  uid: builderProps?.uid,
45
32
  settingId: setting?.translate,
46
33
  pageContext,
47
34
  isCapitalize: styles?.typo?.attrs?.transform === 'capitalize',
48
- translate: setting.translate
35
+ translate: setting.translate,
36
+ isReplaceLocationOrigin: isViewliveHeadingOrTextComponent
49
37
  });
38
+ if (displayText == text) {
39
+ displayText = renderText;
40
+ }
50
41
  } else {
51
42
  displayText = styles?.typo?.attrs?.transform === 'capitalize' ? renderText?.toString().toLocaleLowerCase() : renderText;
52
43
  }
53
44
  return core.template`
45
+ {% assign locationOrigin = request.origin | append: routes.root_url | split: '/' | join: '/' %}
54
46
  <gp-text data-id="${builderProps?.uidInteraction ?? builderProps?.uid}">
55
47
  <div
56
48
  ${{
@@ -85,7 +85,7 @@ const AccordionItem = ({ accordions, index, rawChildren, builderProps, title, pa
85
85
  }
86
86
  .gp-accordion-item .gp-accordion-item-${parentUid}-${index}:hover .gp-collapsible-icon.gp-accordion-item-active, .gp-accordion-item .gp-accordion-item-${parentUid}-${index}:hover .gp-icon.gp-accordion-item-active
87
87
  {
88
- color: ${iconColor?.active} !important
88
+ color: ${color?.active} !important
89
89
  }
90
90
  </style>
91
91
  <div class="gp-overflow-clip" style="${{
@@ -41,6 +41,11 @@ const CarouselItem = ({ children, builderAttrs, styles, advanced, setting, build
41
41
  parentStyle,
42
42
  passProps.style
43
43
  ]);
44
+ const itemShadowStyle = getStyleShadow({
45
+ value: parentStyle?.carouselShadow,
46
+ styleAppliedFor: 'box-shadow',
47
+ isEnableShadow: parentStyle?.hasActiveShadow
48
+ });
44
49
  return /*#__PURE__*/ jsx("div", {
45
50
  ...builderAttrs,
46
51
  ...passProps,
@@ -64,7 +69,12 @@ const CarouselItem = ({ children, builderAttrs, styles, advanced, setting, build
64
69
  },
65
70
  onClick: onClickItem,
66
71
  "aria-hidden": true,
67
- children: isEmptyChildren(children) ? /*#__PURE__*/ jsx(ChildrenDroppable, {}) : children
72
+ children: /*#__PURE__*/ jsx("div", {
73
+ style: {
74
+ ...itemShadowStyle
75
+ },
76
+ children: isEmptyChildren(children) ? /*#__PURE__*/ jsx(ChildrenDroppable, {}) : children
77
+ })
68
78
  });
69
79
  };
70
80
 
@@ -1,4 +1,4 @@
1
- import { template, getStyleBackgroundByDevice, makeStyleResponsive, cls, makeStyle, getSingleColorVariable, getStyleShadow, getRadiusStyleActiveState } from '@gem-sdk/core';
1
+ import { getStyleShadow, template, getStyleBackgroundByDevice, makeStyleResponsive, cls, makeStyle, getSingleColorVariable, getRadiusStyleActiveState } from '@gem-sdk/core';
2
2
  import { getInitialWidthForCarouselItem, getCarouselSneakPeakTranslate } from './common/carousel.js';
3
3
 
4
4
  const CarouselItem = ({ children, builderAttrs, styles, advanced, setting, builderProps, style, className, parentId, parentStyle, parentSettings, background, index, customStyle, parentUid, contentType = 'normalItem', ...passProps })=>{
@@ -31,6 +31,11 @@ const CarouselItem = ({ children, builderAttrs, styles, advanced, setting, build
31
31
  })
32
32
  };
33
33
  };
34
+ const itemShadowStyle = getStyleShadow({
35
+ value: parentStyle?.carouselShadow,
36
+ styleAppliedFor: 'box-shadow',
37
+ isEnableShadow: parentStyle?.hasActiveShadow
38
+ });
34
39
  return template`
35
40
  <div
36
41
  media-type="{{media.media_type}}"
@@ -75,7 +80,13 @@ const CarouselItem = ({ children, builderAttrs, styles, advanced, setting, build
75
80
  class="${cls(`gem-slider-item gp-w-full gem-slider-item-${parentId || ''} gp-child-item-${parentUid}`, builderProps?.uid, className)}"
76
81
  data-index="${index}"
77
82
  >
83
+ <div
84
+ style="${{
85
+ ...itemShadowStyle
86
+ }}"
87
+ >
78
88
  ${children}
89
+ </div>
79
90
  </div>
80
91
  `;
81
92
  };
@@ -1,5 +1,5 @@
1
1
  import { template, cls, RenderIf, isLocalEnv, baseAssetURL } from '@gem-sdk/core';
2
- import { getDynamicSourceLocales, getInsertLinkData, getSettingPreloadData, getStaticLocale } from '../../../helpers.js';
2
+ import { getDynamicSourceLocales, getStaticLocale, getInsertLinkData, getSettingPreloadData } from '../../../helpers.js';
3
3
 
4
4
  const Newsletter = ({ builderProps, setting, children, style, formType, advanced, pageContext })=>{
5
5
  const errorMessage = getDynamicSourceLocales({
@@ -32,7 +32,7 @@ const isHexTransparent = (hex)=>{
32
32
  return Boolean(a);
33
33
  };
34
34
  const youtubeShortsRegex = /^(?:https?:\/\/)?(?:www\.)?youtube\.com\/shorts\/([^"&?/\s]{11})$/i;
35
- const getDynamicSourceLocales = ({ val, uid, settingId, isLiquid, pageContext, isCapitalize, defaultVal = '', translate })=>{
35
+ const getDynamicSourceLocales = ({ val, uid, settingId, isLiquid, pageContext, isCapitalize, defaultVal = '', translate, isReplaceLocationOrigin })=>{
36
36
  const hasLiquidInValue = new RegExp(/\{\{.*?\}\}|\{%.*?%\}/).test(val?.toString() ?? '');
37
37
  const translateLimit = pageContext?.isTranslateWithLocale ? 1000 : 5000;
38
38
  if (!translate || !val?.toString().trim() || val.toString().length > translateLimit || hasLiquidInValue || pageContext?.isPreviewing) return val ?? defaultVal;
@@ -41,6 +41,9 @@ const getDynamicSourceLocales = ({ val, uid, settingId, isLiquid, pageContext, i
41
41
  if (pageContext?.isTranslateWithLocale) {
42
42
  locale = `"sections.${pageContext.sectionName}.${translateKey}_html" | t`;
43
43
  }
44
+ if (isReplaceLocationOrigin) {
45
+ locale += ` | replace: '$locationOrigin', locationOrigin`;
46
+ }
44
47
  if (isCapitalize) {
45
48
  locale = `${locale} | downcase`;
46
49
  }
@@ -70,7 +73,11 @@ const getInsertLinkData = (defaultWrap, setting, htmlType)=>{
70
73
  const isShopifyDomain = isHyperlink && !regexHttp.test(urlHref) && regexPageType.test(urlHref);
71
74
  const isDomain = isHyperlink && regexHttp.test(urlHref);
72
75
  if (isShopifyDomain || isHomePageHref) {
73
- urlHref = "{{ request.origin }}{{ routes.root_url | split: '/' | join: '/' }}" + urlHref;
76
+ if (setting?.isTranslate) {
77
+ urlHref = '$locationOrigin' + urlHref;
78
+ } else {
79
+ urlHref = "{{ request.origin }}{{ routes.root_url | split: '/' | join: '/' }}" + urlHref;
80
+ }
74
81
  }
75
82
  const isLink = ()=>{
76
83
  if (URL_START_WITH.find((el)=>urlHref.startsWith(el))) return true;
@@ -95,5 +102,24 @@ const getInsertLinkData = (defaultWrap, setting, htmlType)=>{
95
102
  shouldRenderLink
96
103
  };
97
104
  };
105
+ const replaceLinkData = (text, isTranslate)=>{
106
+ const regex = /<a\s[^>]*>.*?<\/a>/;
107
+ if (text && regex.test(text)) {
108
+ const regex = // eslint-disable-next-line regexp/no-super-linear-backtracking, regexp/no-unused-capturing-group
109
+ /<a\s+(?:[^>]*?\s+)?href=["']([^"']*)["'](?:\s+[^>]*?)?(?:target=["']([^"']*)["'])?.*?>.*?<\/a>/gi;
110
+ let newText = text.toString();
111
+ let match;
112
+ while((match = regex.exec(newText)) !== null){
113
+ const href = match[1];
114
+ const { urlData } = getInsertLinkData('', {
115
+ link: href,
116
+ isTranslate
117
+ });
118
+ newText = newText.replace(match[0], match[0].replace(/(href=['"])([^'"]*)(['"])/i, `$1${urlData.href}$3`));
119
+ }
120
+ return newText;
121
+ }
122
+ return text;
123
+ };
98
124
 
99
- export { getDynamicSourceLocales, getInsertLinkData, getSettingPreloadData, getStaticLocale, isHexTransparent, isTransparentColor, isTransparentRGBA, youtubeShortsRegex };
125
+ export { getDynamicSourceLocales, getInsertLinkData, getSettingPreloadData, getStaticLocale, isHexTransparent, isTransparentColor, isTransparentRGBA, replaceLinkData, youtubeShortsRegex };
@@ -17,6 +17,7 @@ const IconListV2 = ({ builderProps, style, setting, styles, advanced, pageContex
17
17
  };
18
18
  const valueMap = getvalueMap();
19
19
  return template`
20
+ {% assign locationOrigin = request.origin | append: routes.root_url | split: '/' | join: '/' %}
20
21
  <gp-icon-list
21
22
  ${{
22
23
  ...builderProps
@@ -45,7 +46,8 @@ const IconListV2 = ({ builderProps, style, setting, styles, advanced, pageContex
45
46
  uid: builderProps?.uid,
46
47
  settingId: `childItem_${key}`,
47
48
  pageContext,
48
- translate
49
+ translate,
50
+ isReplaceLocationOrigin: true
49
51
  });
50
52
  return template`
51
53
  <div
@@ -3,6 +3,7 @@ import { useState, useRef, useMemo, useEffect, useCallback } from 'react';
3
3
  import styles from '../constants/commonStyles.js';
4
4
  import { useEditorMode, usePageType, getResponsiveValueByScreen, composeBorderCss, composeCornerCss, composeTypographyClassName, composeTypographyStyle, cls, makeStyle, makeStyleResponsive, makeWidth, getCornerCSSFromGlobal } from '@gem-sdk/core';
5
5
  import { composeAspectRatio } from '../../image/components/helpers.js';
6
+ import { styleLazyPlaceholder } from './common/helpers.js';
6
7
 
7
8
  const CompareImage = (props)=>{
8
9
  const { handle = null, handleSize = 40, hover = false, leftImage, leftImageAlt = '', leftImageTitle = '', leftImageCss = {}, leftImageLabel = null, onSliderPositionChange, rightImage, rightImageAlt = '', rightImageTitle = '', rightImageCss = {}, rightImageLabel = null, sliderLineColor = '#ffffff', sliderLineWidth = 2, sliderPositionPercentage = 0.5, vertical = false, enableLabel = false, componentUid, styles: styles$1 = {}, builderData, preload } = props;
@@ -444,10 +445,7 @@ const CompareImage = (props)=>{
444
445
  title: "",
445
446
  width: tempImage?.width,
446
447
  height: tempImage?.height,
447
- style: {
448
- position: 'static',
449
- opacity: 0
450
- }
448
+ style: styleLazyPlaceholder(aspectRatio)
451
449
  }),
452
450
  /*#__PURE__*/ jsx("img", {
453
451
  onLoad: ()=>setRightImgLoaded(true),
@@ -4,6 +4,7 @@ import NextImage from '../../image/components/NextImage.liquid.js';
4
4
  import { composeAspectRatio } from '../../image/components/helpers.js';
5
5
  import { getImageSrc } from '../../image/helpers/getSrcSet.js';
6
6
  import { getSettingPreloadData } from '../../helpers.js';
7
+ import { styleLazyPlaceholder } from './common/helpers.js';
7
8
 
8
9
  const CompareImage = (props)=>{
9
10
  const { handle = null, handleSize = 40, hover = false, leftImage, leftImageAlt = '', leftImageTitle = '', leftImageCss = {}, leftImageLabel = null, onSliderPositionChange, rightImage, rightImageAlt = '', rightImageTitle = '', rightImageCss = {}, rightImageLabel = null, sliderLineColor = '#ffffff', sliderLineWidth = 2, sliderPositionPercentage = 0.5, vertical = false, enableLabel = false, componentUid = '', styles, advanced, builderData, preload = false, pageContext, translate } = props;
@@ -250,10 +251,7 @@ const CompareImage = (props)=>{
250
251
  title=""
251
252
  width="${tempImage?.width}"
252
253
  height="${tempImage?.height}"
253
- style="${{
254
- position: 'static',
255
- opacity: 0
256
- }}"
254
+ style="${styleLazyPlaceholder(aspectRatio)}"
257
255
  />
258
256
  ${NextImage({
259
257
  customAttrs: {
@@ -0,0 +1,11 @@
1
+ import { makeStyleResponsive } from '@gem-sdk/core';
2
+
3
+ const styleLazyPlaceholder = (aspectRatio)=>{
4
+ return {
5
+ '--pos': 'static',
6
+ '--op': 0,
7
+ ...makeStyleResponsive('aspect', aspectRatio)
8
+ };
9
+ };
10
+
11
+ export { styleLazyPlaceholder };
package/dist/esm/index.js CHANGED
@@ -295,5 +295,6 @@ export { index_liquid as liquidComponents };
295
295
  export { default as builderComponent } from './builder.js';
296
296
  import 'react/jsx-runtime';
297
297
  export { ELEMENT_Z_INDEX } from './common/const.js';
298
+ export { getDynamicSourceLocales, getInsertLinkData, getSettingPreloadData, getStaticLocale, isHexTransparent, isTransparentColor, isTransparentRGBA, replaceLinkData, youtubeShortsRegex } from './helpers.js';
298
299
  export { default as postPurchaseTextSetting } from './post-purchase/text/setting/index.js';
299
300
  export { default as PostPurchaseText } from './post-purchase/text/Text.js';
@@ -95,7 +95,7 @@ const DynamicCheckout = ({ builderProps, styles, advanced, setting, pageContext
95
95
  })}
96
96
  ${composeSpacing('desktop')}
97
97
  ${composeCornerCss(styles?.roundedBtn?.normal, true)}
98
- ${composeSize(composeGlobalSize.width.desktop ?? 'auto', composeGlobalSize.height.desktop ?? 'auto', false)}
98
+ ${composeSize(undefined, composeGlobalSize.height.desktop ?? 'auto', false)}
99
99
  }
100
100
  .wrap__button--unbranded__${builderProps?.uid} .shopify-payment-button .shopify-payment-button__button--unbranded::before {
101
101
  content: "";
@@ -15,7 +15,7 @@ const config = {
15
15
  controls: [
16
16
  {
17
17
  id: 'textContent',
18
- type: 'input',
18
+ type: 'textarea',
19
19
  default: 'Click or drop your image to upload (Max 10MB)'
20
20
  },
21
21
  {
@@ -861,14 +861,29 @@ const config = {
861
861
  ]
862
862
  },
863
863
  {
864
- type: 'control',
864
+ type: 'group',
865
865
  label: {
866
866
  en: 'Text'
867
867
  },
868
- setting: {
869
- id: 'typo'
870
- },
871
- layout: 'vertical'
868
+ controls: [
869
+ {
870
+ type: 'control',
871
+ label: {
872
+ en: 'Content'
873
+ },
874
+ layout: 'horizontal',
875
+ setting: {
876
+ id: 'textContent'
877
+ }
878
+ },
879
+ {
880
+ type: 'control',
881
+ setting: {
882
+ id: 'typo'
883
+ },
884
+ layout: 'vertical'
885
+ }
886
+ ]
872
887
  },
873
888
  {
874
889
  type: 'group',
@@ -1,5 +1,5 @@
1
1
  import { makeGlobalSize, composeTypographyClassName, composeTypographyStyle, template, makeStyle, makeStyleResponsive, cls, getGlobalColorClass, getGlobalColorStateClass, getStyleShadowState, getStyleShadow, makeLineClamp, getGlobalColorStyle, getGlobalColorStateStyle, getStyleBackgroundByDevice, getGradientBgrStyleByDevice, getCornerStyle } from '@gem-sdk/core';
2
- import { getInsertLinkData, getDynamicSourceLocales } from '../../helpers.js';
2
+ import { replaceLinkData, getDynamicSourceLocales } from '../../helpers.js';
3
3
 
4
4
  const Text = ({ styles, builderAttrs, style, setting, advanced, builderProps, className, isText, pageContext, elementAttrs, ...props })=>{
5
5
  const { text, htmlTag: Element = 'div', tagWidth, excludeFlex, isForceValue } = setting ?? {};
@@ -14,39 +14,31 @@ const Text = ({ styles, builderAttrs, style, setting, advanced, builderProps, cl
14
14
  return classList;
15
15
  };
16
16
  let displayText = '';
17
- let renderText = '';
18
- const regexCheckHasTagLink = /<a\s[^>]*>.*?<\/a>/;
19
- if (text && regexCheckHasTagLink.test(text)) {
20
- const regex = // eslint-disable-next-line regexp/no-super-linear-backtracking, regexp/no-unused-capturing-group
21
- /<a\s+(?:[^>]*?\s+)?href=["']([^"']*)["'](?:\s+[^>]*?)?(?:target=["']([^"']*)["'])?.*?>.*?<\/a>/gi;
22
- let newText = text.toString();
23
- let match;
24
- while((match = regex.exec(newText)) !== null){
25
- const href = match[1];
26
- const { urlData } = getInsertLinkData('', {
27
- link: href
28
- });
29
- newText = newText.replace(match[0], match[0].replace(/(href=['"])([^'"]*)(['"])/i, `$1${urlData.href}$3`));
30
- }
31
- renderText = newText;
32
- } else {
33
- renderText = text;
34
- }
17
+ const isViewliveHeadingOrTextComponent = [
18
+ 'Heading',
19
+ 'Text'
20
+ ].includes(builderProps?.builderData?.tag ?? '') && !pageContext?.isPreviewing;
21
+ const renderText = replaceLinkData(text?.toString());
35
22
  if (isForceValue) {
36
23
  displayText = renderText;
37
24
  } else if (setting?.translate) {
38
25
  displayText = getDynamicSourceLocales({
39
- val: renderText,
26
+ val: text,
40
27
  uid: builderProps?.uid,
41
28
  settingId: setting?.translate,
42
29
  pageContext,
43
30
  isCapitalize: styles?.typo?.attrs?.transform === 'capitalize',
44
- translate: setting.translate
31
+ translate: setting.translate,
32
+ isReplaceLocationOrigin: isViewliveHeadingOrTextComponent
45
33
  });
34
+ if (displayText == text) {
35
+ displayText = renderText;
36
+ }
46
37
  } else {
47
38
  displayText = styles?.typo?.attrs?.transform === 'capitalize' ? renderText?.toString().toLocaleLowerCase() : renderText;
48
39
  }
49
40
  return template`
41
+ {% assign locationOrigin = request.origin | append: routes.root_url | split: '/' | join: '/' %}
50
42
  <gp-text data-id="${builderProps?.uidInteraction ?? builderProps?.uid}">
51
43
  <div
52
44
  ${{
@@ -7522,4 +7522,33 @@ declare const ELEMENT_Z_INDEX: {
7522
7522
  CART_DRAWER_CONFIRM_MODAL: number;
7523
7523
  };
7524
7524
 
7525
- export { Accordion$1 as Accordion, AccordionItem$1 as AccordionItem, AccordionItemProps, AccordionProps, AftershipEmailMarketingsms$1 as AftershipEmailMarketingsms, AftershipEmailMarketingsmsProps, AirProductReviewsAppUgc$1 as AirProductReviewsAppUgc, AirProductReviewsAppUgcProps, AliReviews$1 as AliReviews, AliReviewsProps, AppointmentBookingCowlendar$1 as AppointmentBookingCowlendar, AppointmentBookingCowlendarProps, AppstleSubscriptions$1 as AppstleSubscriptions, AppstleSubscriptionsProps, ArticleAuthor$1 as ArticleAuthor, ArticleCategory$1 as ArticleCategory, ArticleContent$1 as ArticleContent, ArticleDate$1 as ArticleDate, ArticleExcerpt$1 as ArticleExcerpt, ArticleImage$1 as ArticleImage, ArticleList$1 as ArticleList, ArticlePagination$1 as ArticlePagination, ArticleReadMore$1 as ArticleReadMore, ArticleTag$1 as ArticleTag, ArticleTitle$1 as ArticleTitle, BgImage as BackgroundImage, BackgroundImageProps, BasicHeader, BestBuyFulfillment$1 as BestBuyFulfillment, BestBuyFulfillmentProps, BirdChime$1 as BirdChime, BirdChimeProps, Bogos$1 as Bogos, BogosProps, BoldProductOptions$1 as BoldProductOptions, BoldProductOptionsProps, BoldSubscriptions$1 as BoldSubscriptions, BoldSubscriptionsProps, BonLoyaltyRewardsReferrals$1 as BonLoyaltyRewardsReferrals, BonLoyaltyRewardsReferralsProps, BoostAISearchDiscovery$1 as BoostAISearchDiscovery, BoostAISearchDiscoveryProps, Breadcrumb$1 as Breadcrumb, Breadcrumb$1 as BreadcrumbProps, Bundler$1 as Bundler, BundlerProps, Button$2 as Button, ButtonProps, CSSCode$1 as CSSCode, CSSCodeProps, Carousel$1 as Carousel, CarouselItem$1 as CarouselItem, CarouselItemProps, CarouselProps, CarouselSettings, CarouselStyles, Cart, CartCheckout, CartDiscount, CartLineAttribute, CartLineImage, CartLinePrice, CartLineVariant, CartList, CartOrderNote, CartProps, CartTotalItem, CartTotalPrice, CheckoutNow, CleanSizeChartProps, CleanSizeCharts$1 as CleanSizeCharts, Column$1 as Col, ColProps$1 as ColProps, CollectionBanner$1 as CollectionBanner, CollectionBannerProps, CollectionDescription$1 as CollectionDescription, CollectionDescriptionProps, CollectionPaginator$1 as CollectionPaginator, CollectionPaginatorProps, CollectionTitle$1 as CollectionTitle, CollectionTitleProps, CollectionToolbar$1 as CollectionToolbar, CollectionToolbarProps, ContactForm$1 as ContactForm, Countdown$1 as Countdown, CountdownProps, Coupon$1 as Coupon, CouponList, CouponProps, CrossSellCartUpsell$1 as CrossSellCartUpsell, CrossSellCartUpsellProps, CustomProductOptionsVariant$1 as CustomProductOptionsVariant, CustomProductOptionsVariantProps, DataVideoType, DesktopMenu, Dialog$1 as Dialog, DiscountInput, DiscountyBulkDiscountSales$1 as DiscountyBulkDiscountSales, DiscountyBulkDiscountSalesProps, DynamicCheckout$1 as DynamicCheckout, DynamicCheckoutProps, ELEMENT_Z_INDEX, EasifyProductOptions$1 as EasifyProductOptions, EasifyProductOptionsProps, EasyBundleBuilderSkailama$1 as EasyBundleBuilderSkailama, EasyBundleBuilderSkailamaProps, EasySell as EasySellCOD, EasySellProps, EstimateDate$1 as EstimateDate, EstimateDateProps, FastBundleBundlesDiscounts$1 as FastBundleBundlesDiscounts, FastBundleBundlesDiscountsProps, FeraReviews$1 as FeraReviews, FeraReviewsProps, FileUpload$1 as FileUpload, FileUploadProps, FirePush$1 as FirePush, FirePushProps, FlyBundlesUpsellsFbt$1 as FlyBundlesUpsellsFbt, FlyBundlesUpsellsFbtProps, FordeerProductLabels$1 as FordeerProductLabels, FordeerProductLabelsProps, FormCheckbox, FormCheckboxProps, FormDropdown$1 as FormDropdown, FormDropdownProps, FormEmail$1 as FormEmail, FormEmailProps, FormTextArea as FormTextarea, FrequentlyBoughtTogether$1 as FrequentlyBoughtTogether, FrequentlyBoughtTogetherProps, GloboProductOptionsVariant$1 as GloboProductOptionsVariant, GloboProductOptionsVariantProps, GoogleReviewsByReputon$1 as GoogleReviewsByReputon, GoogleReviewsByReputonProps, Growave$1 as Growave, GrowaveProps, Header, HeaderProps, Heading$1 as Heading, HeadingProps, HeroBanner$1 as HeroBanner, HeroBannerProps, HulkFormBuilder$1 as HulkFormBuilder, HulkFormBuilderProps, HulkProductOptions$1 as HulkProductOptions, HulkProductOptionsProps, Icon$1 as Icon, IconList$1 as IconList, IconListHoz$1 as IconListHoz, IconListHozItem, IconListHozProps, IconListItem$1 as IconListItem, IconListItemProps$3 as IconListItemProps, IconListProps$2 as IconListProps, IconListV2$1 as IconListV2, IconProps$1 as IconProps, Image$1 as Image, ImageComparison$1 as ImageComparison, ImageDetection, ImageDetectionProps, ImageProps, InfiniteOptions$1 as InfiniteOptions, InfiniteOptionsProps, Input, InputProps, Instafeed$1 as Instafeed, InstafeedProps, InstantJudgemeReviews, InstantJudgemeReviewsProps, InstantKlaviyo, InstantKlaviyoProps, InstantLooxReviews, InstantLooxReviewsProps, InstantYotpoLoyalty, InstantYotpoLoyaltyProps, InstasellShoppableInstagram$1 as InstasellShoppableInstagram, InstasellShoppableInstagramProps, JudgemeReviews$1 as JudgemeReviews, JudgemeReviewsProps, JunipProductReviewsUgc$1 as JunipProductReviewsUgc, JunipProductReviewsUgcProps, KachingBundles$1 as KachingBundles, KachingBundlesProps, KingProductOptions$1 as KingProductOptions, KingProductOptionsProps, KiteFreeGiftDiscount$1 as KiteFreeGiftDiscount, KiteFreeGiftDiscountProps, KlarnaMessaging$1 as KlarnaMessaging, KlarnaMessagingProps, Klaviyo$1 as Klaviyo, KlaviyoProps, KoalaBundleQuantityDiscount$1 as KoalaBundleQuantityDiscount, KoalaBundleQuantityDiscountProps, LaiProductReviews$1 as LaiProductReviews, LaiProductReviewsProps, Line$2 as Line, LineProps$1 as LineProps, Link, LinkProps$1 as LinkProps, LoloyalLoyaltyReferrals$1 as LoloyalLoyaltyReferrals, LoloyalLoyaltyReferralsProps, LoopSubscriptions$1 as LoopSubscriptions, LoopSubscriptionsProps, LooxReviews$1 as LooxReviews, LooxReviewsProps, Marquee$1 as Marquee, _default$2 as MarqueeItem, MarqueeItemProps, MarqueeProps, MaxbundleProductBundles$1 as MaxbundleProductBundles, MaxbundleProductBundlesProps, MbcBundleVolumeDiscount$1 as MbcBundleVolumeDiscount, MbcBundleVolumeDiscountProps, Menu, MenuProps, MobileMenu, Modal, ModernHeader, MyappgurusProductReviews$1 as MyappgurusProductReviews, MyappgurusProductReviewsProps, Newsletter$1 as Newsletter, NewsletterProps, Notify as Notice, NotificationAPI, NotificationConfig, NotifyBackInStockPreOrder$1 as NotifyBackInStockPreOrder, NotifyBackInStockPreOrderProps, Omnisend$1 as Omnisend, OmnisendProps, Opinew$1 as Opinew, OpinewProps, Pagination, PaginationProps, ParcelPanel$1 as ParcelPanel, ParcelPanelProps, PickyStory$1 as PickyStory, PickyStoryProps, PostPurchaseAcceptButton, PostPurchaseAcceptButtonProps, PostPurchaseAdvancedList, PostPurchaseAdvancedListItem, PostPurchaseAdvancedListProps, Button$1 as PostPurchaseButton, PostPurchaseButtonProps, CalloutBox as PostPurchaseCalloutBox, CalloutText as PostPurchaseCalloutText, PostPurchaseCountdownTimer, PostPurchaseHeading, PostPurchaseImage, PostPurchaseImageProps, Line$1 as PostPurchaseLine, PostPurchaseLineProps, PostPurchaseProductDescription, PostPurchaseProductDescriptionProps, PostPurchaseProductDiscountTag, PostPurchaseProductDiscountTagProps, PostPurchaseProductImages, PostPurchaseProductImagesProps, PostPurchaseProductOffer, PostPurchaseProductOfferProps, PostPurchaseProductPrice, PostPurchaseProductPriceBreakdown, PostPurchaseProductPriceBreakdownProps, PostPurchaseProductPriceProps, PostPurchaseProductQuantity, PostPurchaseProductQuantityProps, PostPurchaseProductTitle, PostPurchaseProductTitleProps, PostPurchaseProductVariants, PostPurchaseProductVariantsProps, Text$1 as PostPurchaseText, PostPurchaseTextProps, PowerfulContactFormBuilder$1 as PowerfulContactFormBuilder, PowerfulContactFormBuilderProps, PowrContactFormBuilder$1 as PowrContactFormBuilder, PowrContactFormBuilderProps, PreorderNowPreOrderPq$1 as PreorderNowPreOrderPq, PreorderNowPreOrderPqProps, PreorderNowWodPresale$1 as PreorderNowWodPresale, PreorderNowWodPresaleProps, Product$1 as Product, ProductBadge$1 as ProductBadge, ProductBadgeProps, ProductBundleDiscount$1 as ProductBundleDiscount, ProductBundleDiscountItem$1 as ProductBundleDiscountItem, ProductButton$1 as ProductButton, ProductButtonProps, ProductDescription$1 as ProductDescription, ProductDescriptionProps$1 as ProductDescriptionProps, ProductImages$2 as ProductImages, ProductImagesProps, ProductImagesV2, ProductList$1 as ProductList, ProductList$1 as ProductListProps, ProductOptionsCustomizer$1 as ProductOptionsCustomizer, ProductOptionsCustomizerProps, ProductOptionsVariantOption$1 as ProductOptionsVariantOption, ProductOptionsVariantOptionProps, ProductPrice$1 as ProductPrice, ProductPriceProps, ProductPropertiesProps, ProductProperties$1 as ProductPropertyInput, ProductProps, ProductQuantity$1 as ProductQuantity, ProductQuantityBreakItemProps, ProductQuantityBreakProps, ProductQuantityProps, QuickView as ProductQuickView, ProductReviews$1 as ProductReviews, ProductReviewsProps, ProductSku$1 as ProductSku, ProductTag$1 as ProductTag, ProductTagProps, ProductTitle$1 as ProductTitle, ProductTitleProps, ProductVariants$1 as ProductVariants, ProductVariantsProps, ProductVendor$1 as ProductVendor, ProductViewMore$1 as ProductViewMore, ProductViewMoreProps, PumperBundlesVolumeDiscount$1 as PumperBundlesVolumeDiscount, PumperBundlesVolumeDiscountProps, PushOwl$1 as PushOwl, PushOwlProps, QikifyUpsell$1 as QikifyUpsell, QikifyUpsellProps, Radio, RadioProps, RapiBundleQuantityBreaks$1 as RapiBundleQuantityBreaks, RapiBundleQuantityBreaksProps, RechargeSubscriptions$1 as RechargeSubscriptions, RechargeSubscriptionsProps, RecurpaySubscriptionApp$1 as RecurpaySubscriptionApp, RecurpaySubscriptionAppProps, Releasit$1 as Releasit, ReleasitProps, RequestQuoteHidePrice$1 as RequestQuoteHidePrice, RequestQuoteHidePriceProps, ReviewxpoProductReviewsApp$1 as ReviewxpoProductReviewsApp, ReviewxpoProductReviewsAppProps, Rivyo$1 as Rivyo, RivyoProps, Root$1 as Root, RootProps$1 as RootProps, Row$1 as Row, RowProps$1 as RowProps, Ryviu$1 as Ryviu, RyviuProps, SealSubscriptions$1 as SealSubscriptions, SealSubscriptionsProps, Section$1 as Section, SegunoEmailMarketing$1 as SegunoEmailMarketing, SegunoEmailMarketingProps, Select, SelectProps, Selleasy$1 as Selleasy, SelleasyProps, SeoantTrustBadgesIcon$1 as SeoantTrustBadgesIcon, SeoantTrustBadgesIconProps, ShopPayButton$1 as ShopPayButton, ShopPayButtonProps, ShopifyForms$1 as ShopifyForms, ShopifyFormsProps, ShopifySubscriptions$1 as ShopifySubscriptions, ShopifySubscriptionsProps, SimpleBundlesKits$1 as SimpleBundlesKits, SimpleBundlesKitsProps, SkioSubscriptionsYcS20$1 as SkioSubscriptionsYcS20, SkioSubscriptionsYcS20Props, SkuProps, SmartSearchBarAndFilters$1 as SmartSearchBarAndFilters, SmartSearchBarAndFiltersProps, SproutPlantTreesGrowSales$1 as SproutPlantTreesGrowSales, SproutPlantTreesGrowSalesProps, Stamped$1 as Stamped, StampedProps, Sticky$1 as Sticky, StickyProps, StockCounter$1 as StockCounter, StockCounterProps$1 as StockCounterProps, SubifySubscriptionsApp$1 as SubifySubscriptionsApp, SubifySubscriptionsAppProps, SubmitButton$1 as SubmitButton, SubmitButtonProps, TabItem$1 as TabItem, TabItemProps, Tabs$1 as Tabs, TabsProps, TagembedSocialPostReview$1 as TagembedSocialPostReview, TagembedSocialPostReviewProps, TagshopShoppableVideosUgc$1 as TagshopShoppableVideosUgc, TagshopShoppableVideosUgcProps, TeeinblueProductPersonalizer$1 as TeeinblueProductPersonalizer, TeeinblueProductPersonalizerProps, Text$2 as Text, TextAreaProps, TextField$1 as TextField, TextFieldProps, TextProps$1 as TextProps, TextArea as Textarea, TextareaProps, ThirdPartySlot$1 as ThirdPartySlot, TrustMe$1 as TrustMe, TrustMeProps, Trustoo$1 as Trustoo, TrustooProps, TrustreviewsProductReviews$1 as TrustreviewsProductReviews, TrustreviewsProductReviewsProps, TrustshopProductReviews$1 as TrustshopProductReviews, TrustshopProductReviewsProps, UltimateSalesBoost$1 as UltimateSalesBoost, UltimateSalesBoostProps, UnlimitedBundlesDiscounts$1 as UnlimitedBundlesDiscounts, UnlimitedBundlesDiscountsProps, VendorProps, Video$1 as Video, Vitals$1 as Vitals, VitalsProps, WhatmoreShoppableVideosreel$1 as WhatmoreShoppableVideosreel, WhatmoreShoppableVideosreelProps, WideBundle$1 as WideBundle, WideBundleProps, Wiser$1 as Wiser, WiserProps, WishlistKing$1 as WishlistKing, WishlistKingProps, WishlistPlus$1 as WishlistPlus, WishlistPlusProps, YotpoLoyalty, YotpoLoyaltyProps, YotpoReviews$1 as YotpoReviews, YotpoReviewsProps, _default$R as accordionSetting, _default$4 as articleListSetting, _default$p as bannerSetting, _default$Q as breadcrumbSetting, _default as builderComponent, _default$P as buttonSetting, _default$N as carouselSetting, _default$K as cartSetting, _default$n as codeSetting, _default$J as collectionSetting, _default$j as contactFormSetting, _default$I as countdownSetting, _default$O as couponSetting, _default$k as dialogSetting, _default$5 as estimateDeliverySetting, _default$L as gridSetting, _default$G as headerSetting, _default$H as headingSetting, _default$m as iconListHozSetting, _default$o as iconListSetting, _default$e as iconListSettingV2, _default$F as iconSetting, _default$h as imageComparisonSetting, _default$i as imageDetectionSetting, _default$M as imageSetting, _default$E as inputSetting, _default$D as lineSetting, _default$C as linkSetting, index_liquid as liquidComponents, _default$3 as marqueeSetting, _default$s as menuSetting, _default$B as modalSetting, _default$1 as nextComponent, openConfirm, _default$A as paginationSetting, _default$7 as postPurchaseAdvancedListSetting, _default$b as postPurchaseButtonSetting, _default$9 as postPurchaseCalloutBoxSetting, _default$6 as postPurchaseCountdownTimerSetting, _default$c as postPurchaseImageSetting, _default$8 as postPurchaseLineSetting, postPurchaseProduct1Col, postPurchaseProduct2Col, postPurchaseProductDefault, _default$a as postPurchaseProductSetting, _default$d as postPurchaseTextSetting, _default$z as productSetting, _default$x as radioSetting, _default$w as selectSetting, _default$f as stickySetting, _default$l as stockCounterSetting, _default$v as tabSetting, _default$y as textSetting, _default$u as textareaSetting, _default$q as thirdPartyInstantSetting, _default$r as thirdPartySetting, _default$g as thirdPartySlotSetting, useInView, useNotification, _default$t as videoSetting };
7525
+ type DynamicSource = {
7526
+ val: React.ReactNode;
7527
+ uid?: string;
7528
+ settingId: string;
7529
+ isLiquid?: boolean;
7530
+ pageContext?: PageContext;
7531
+ isCapitalize?: boolean;
7532
+ defaultVal?: string;
7533
+ translate?: string;
7534
+ isReplaceLocationOrigin?: boolean;
7535
+ };
7536
+ declare const isTransparentColor: (str?: string) => boolean;
7537
+ declare const isTransparentRGBA: (rgbStr: string) => boolean;
7538
+ declare const isHexTransparent: (hex: string) => boolean;
7539
+ declare const youtubeShortsRegex: RegExp;
7540
+ declare const getDynamicSourceLocales: ({ val, uid, settingId, isLiquid, pageContext, isCapitalize, defaultVal, translate, isReplaceLocationOrigin, }: DynamicSource) => string | number | boolean | React.ReactElement<any, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode>;
7541
+ declare const getStaticLocale: (tag: string, key: string) => string;
7542
+ declare const getSettingPreloadData: (disabledValue: string, enabledValue?: string) => string;
7543
+ declare const getInsertLinkData: (defaultWrap: string, setting?: {
7544
+ link?: string;
7545
+ target?: string;
7546
+ isTranslate?: boolean;
7547
+ }, htmlType?: React.ButtonHTMLAttributes<HTMLButtonElement>['type'] | 'link') => {
7548
+ Wrap: string;
7549
+ urlData: Record<string, any>;
7550
+ shouldRenderLink: boolean;
7551
+ };
7552
+ declare const replaceLinkData: (text?: string, isTranslate?: boolean) => string | undefined;
7553
+
7554
+ export { Accordion$1 as Accordion, AccordionItem$1 as AccordionItem, AccordionItemProps, AccordionProps, AftershipEmailMarketingsms$1 as AftershipEmailMarketingsms, AftershipEmailMarketingsmsProps, AirProductReviewsAppUgc$1 as AirProductReviewsAppUgc, AirProductReviewsAppUgcProps, AliReviews$1 as AliReviews, AliReviewsProps, AppointmentBookingCowlendar$1 as AppointmentBookingCowlendar, AppointmentBookingCowlendarProps, AppstleSubscriptions$1 as AppstleSubscriptions, AppstleSubscriptionsProps, ArticleAuthor$1 as ArticleAuthor, ArticleCategory$1 as ArticleCategory, ArticleContent$1 as ArticleContent, ArticleDate$1 as ArticleDate, ArticleExcerpt$1 as ArticleExcerpt, ArticleImage$1 as ArticleImage, ArticleList$1 as ArticleList, ArticlePagination$1 as ArticlePagination, ArticleReadMore$1 as ArticleReadMore, ArticleTag$1 as ArticleTag, ArticleTitle$1 as ArticleTitle, BgImage as BackgroundImage, BackgroundImageProps, BasicHeader, BestBuyFulfillment$1 as BestBuyFulfillment, BestBuyFulfillmentProps, BirdChime$1 as BirdChime, BirdChimeProps, Bogos$1 as Bogos, BogosProps, BoldProductOptions$1 as BoldProductOptions, BoldProductOptionsProps, BoldSubscriptions$1 as BoldSubscriptions, BoldSubscriptionsProps, BonLoyaltyRewardsReferrals$1 as BonLoyaltyRewardsReferrals, BonLoyaltyRewardsReferralsProps, BoostAISearchDiscovery$1 as BoostAISearchDiscovery, BoostAISearchDiscoveryProps, Breadcrumb$1 as Breadcrumb, Breadcrumb$1 as BreadcrumbProps, Bundler$1 as Bundler, BundlerProps, Button$2 as Button, ButtonProps, CSSCode$1 as CSSCode, CSSCodeProps, Carousel$1 as Carousel, CarouselItem$1 as CarouselItem, CarouselItemProps, CarouselProps, CarouselSettings, CarouselStyles, Cart, CartCheckout, CartDiscount, CartLineAttribute, CartLineImage, CartLinePrice, CartLineVariant, CartList, CartOrderNote, CartProps, CartTotalItem, CartTotalPrice, CheckoutNow, CleanSizeChartProps, CleanSizeCharts$1 as CleanSizeCharts, Column$1 as Col, ColProps$1 as ColProps, CollectionBanner$1 as CollectionBanner, CollectionBannerProps, CollectionDescription$1 as CollectionDescription, CollectionDescriptionProps, CollectionPaginator$1 as CollectionPaginator, CollectionPaginatorProps, CollectionTitle$1 as CollectionTitle, CollectionTitleProps, CollectionToolbar$1 as CollectionToolbar, CollectionToolbarProps, ContactForm$1 as ContactForm, Countdown$1 as Countdown, CountdownProps, Coupon$1 as Coupon, CouponList, CouponProps, CrossSellCartUpsell$1 as CrossSellCartUpsell, CrossSellCartUpsellProps, CustomProductOptionsVariant$1 as CustomProductOptionsVariant, CustomProductOptionsVariantProps, DataVideoType, DesktopMenu, Dialog$1 as Dialog, DiscountInput, DiscountyBulkDiscountSales$1 as DiscountyBulkDiscountSales, DiscountyBulkDiscountSalesProps, DynamicCheckout$1 as DynamicCheckout, DynamicCheckoutProps, ELEMENT_Z_INDEX, EasifyProductOptions$1 as EasifyProductOptions, EasifyProductOptionsProps, EasyBundleBuilderSkailama$1 as EasyBundleBuilderSkailama, EasyBundleBuilderSkailamaProps, EasySell as EasySellCOD, EasySellProps, EstimateDate$1 as EstimateDate, EstimateDateProps, FastBundleBundlesDiscounts$1 as FastBundleBundlesDiscounts, FastBundleBundlesDiscountsProps, FeraReviews$1 as FeraReviews, FeraReviewsProps, FileUpload$1 as FileUpload, FileUploadProps, FirePush$1 as FirePush, FirePushProps, FlyBundlesUpsellsFbt$1 as FlyBundlesUpsellsFbt, FlyBundlesUpsellsFbtProps, FordeerProductLabels$1 as FordeerProductLabels, FordeerProductLabelsProps, FormCheckbox, FormCheckboxProps, FormDropdown$1 as FormDropdown, FormDropdownProps, FormEmail$1 as FormEmail, FormEmailProps, FormTextArea as FormTextarea, FrequentlyBoughtTogether$1 as FrequentlyBoughtTogether, FrequentlyBoughtTogetherProps, GloboProductOptionsVariant$1 as GloboProductOptionsVariant, GloboProductOptionsVariantProps, GoogleReviewsByReputon$1 as GoogleReviewsByReputon, GoogleReviewsByReputonProps, Growave$1 as Growave, GrowaveProps, Header, HeaderProps, Heading$1 as Heading, HeadingProps, HeroBanner$1 as HeroBanner, HeroBannerProps, HulkFormBuilder$1 as HulkFormBuilder, HulkFormBuilderProps, HulkProductOptions$1 as HulkProductOptions, HulkProductOptionsProps, Icon$1 as Icon, IconList$1 as IconList, IconListHoz$1 as IconListHoz, IconListHozItem, IconListHozProps, IconListItem$1 as IconListItem, IconListItemProps$3 as IconListItemProps, IconListProps$2 as IconListProps, IconListV2$1 as IconListV2, IconProps$1 as IconProps, Image$1 as Image, ImageComparison$1 as ImageComparison, ImageDetection, ImageDetectionProps, ImageProps, InfiniteOptions$1 as InfiniteOptions, InfiniteOptionsProps, Input, InputProps, Instafeed$1 as Instafeed, InstafeedProps, InstantJudgemeReviews, InstantJudgemeReviewsProps, InstantKlaviyo, InstantKlaviyoProps, InstantLooxReviews, InstantLooxReviewsProps, InstantYotpoLoyalty, InstantYotpoLoyaltyProps, InstasellShoppableInstagram$1 as InstasellShoppableInstagram, InstasellShoppableInstagramProps, JudgemeReviews$1 as JudgemeReviews, JudgemeReviewsProps, JunipProductReviewsUgc$1 as JunipProductReviewsUgc, JunipProductReviewsUgcProps, KachingBundles$1 as KachingBundles, KachingBundlesProps, KingProductOptions$1 as KingProductOptions, KingProductOptionsProps, KiteFreeGiftDiscount$1 as KiteFreeGiftDiscount, KiteFreeGiftDiscountProps, KlarnaMessaging$1 as KlarnaMessaging, KlarnaMessagingProps, Klaviyo$1 as Klaviyo, KlaviyoProps, KoalaBundleQuantityDiscount$1 as KoalaBundleQuantityDiscount, KoalaBundleQuantityDiscountProps, LaiProductReviews$1 as LaiProductReviews, LaiProductReviewsProps, Line$2 as Line, LineProps$1 as LineProps, Link, LinkProps$1 as LinkProps, LoloyalLoyaltyReferrals$1 as LoloyalLoyaltyReferrals, LoloyalLoyaltyReferralsProps, LoopSubscriptions$1 as LoopSubscriptions, LoopSubscriptionsProps, LooxReviews$1 as LooxReviews, LooxReviewsProps, Marquee$1 as Marquee, _default$2 as MarqueeItem, MarqueeItemProps, MarqueeProps, MaxbundleProductBundles$1 as MaxbundleProductBundles, MaxbundleProductBundlesProps, MbcBundleVolumeDiscount$1 as MbcBundleVolumeDiscount, MbcBundleVolumeDiscountProps, Menu, MenuProps, MobileMenu, Modal, ModernHeader, MyappgurusProductReviews$1 as MyappgurusProductReviews, MyappgurusProductReviewsProps, Newsletter$1 as Newsletter, NewsletterProps, Notify as Notice, NotificationAPI, NotificationConfig, NotifyBackInStockPreOrder$1 as NotifyBackInStockPreOrder, NotifyBackInStockPreOrderProps, Omnisend$1 as Omnisend, OmnisendProps, Opinew$1 as Opinew, OpinewProps, Pagination, PaginationProps, ParcelPanel$1 as ParcelPanel, ParcelPanelProps, PickyStory$1 as PickyStory, PickyStoryProps, PostPurchaseAcceptButton, PostPurchaseAcceptButtonProps, PostPurchaseAdvancedList, PostPurchaseAdvancedListItem, PostPurchaseAdvancedListProps, Button$1 as PostPurchaseButton, PostPurchaseButtonProps, CalloutBox as PostPurchaseCalloutBox, CalloutText as PostPurchaseCalloutText, PostPurchaseCountdownTimer, PostPurchaseHeading, PostPurchaseImage, PostPurchaseImageProps, Line$1 as PostPurchaseLine, PostPurchaseLineProps, PostPurchaseProductDescription, PostPurchaseProductDescriptionProps, PostPurchaseProductDiscountTag, PostPurchaseProductDiscountTagProps, PostPurchaseProductImages, PostPurchaseProductImagesProps, PostPurchaseProductOffer, PostPurchaseProductOfferProps, PostPurchaseProductPrice, PostPurchaseProductPriceBreakdown, PostPurchaseProductPriceBreakdownProps, PostPurchaseProductPriceProps, PostPurchaseProductQuantity, PostPurchaseProductQuantityProps, PostPurchaseProductTitle, PostPurchaseProductTitleProps, PostPurchaseProductVariants, PostPurchaseProductVariantsProps, Text$1 as PostPurchaseText, PostPurchaseTextProps, PowerfulContactFormBuilder$1 as PowerfulContactFormBuilder, PowerfulContactFormBuilderProps, PowrContactFormBuilder$1 as PowrContactFormBuilder, PowrContactFormBuilderProps, PreorderNowPreOrderPq$1 as PreorderNowPreOrderPq, PreorderNowPreOrderPqProps, PreorderNowWodPresale$1 as PreorderNowWodPresale, PreorderNowWodPresaleProps, Product$1 as Product, ProductBadge$1 as ProductBadge, ProductBadgeProps, ProductBundleDiscount$1 as ProductBundleDiscount, ProductBundleDiscountItem$1 as ProductBundleDiscountItem, ProductButton$1 as ProductButton, ProductButtonProps, ProductDescription$1 as ProductDescription, ProductDescriptionProps$1 as ProductDescriptionProps, ProductImages$2 as ProductImages, ProductImagesProps, ProductImagesV2, ProductList$1 as ProductList, ProductList$1 as ProductListProps, ProductOptionsCustomizer$1 as ProductOptionsCustomizer, ProductOptionsCustomizerProps, ProductOptionsVariantOption$1 as ProductOptionsVariantOption, ProductOptionsVariantOptionProps, ProductPrice$1 as ProductPrice, ProductPriceProps, ProductPropertiesProps, ProductProperties$1 as ProductPropertyInput, ProductProps, ProductQuantity$1 as ProductQuantity, ProductQuantityBreakItemProps, ProductQuantityBreakProps, ProductQuantityProps, QuickView as ProductQuickView, ProductReviews$1 as ProductReviews, ProductReviewsProps, ProductSku$1 as ProductSku, ProductTag$1 as ProductTag, ProductTagProps, ProductTitle$1 as ProductTitle, ProductTitleProps, ProductVariants$1 as ProductVariants, ProductVariantsProps, ProductVendor$1 as ProductVendor, ProductViewMore$1 as ProductViewMore, ProductViewMoreProps, PumperBundlesVolumeDiscount$1 as PumperBundlesVolumeDiscount, PumperBundlesVolumeDiscountProps, PushOwl$1 as PushOwl, PushOwlProps, QikifyUpsell$1 as QikifyUpsell, QikifyUpsellProps, Radio, RadioProps, RapiBundleQuantityBreaks$1 as RapiBundleQuantityBreaks, RapiBundleQuantityBreaksProps, RechargeSubscriptions$1 as RechargeSubscriptions, RechargeSubscriptionsProps, RecurpaySubscriptionApp$1 as RecurpaySubscriptionApp, RecurpaySubscriptionAppProps, Releasit$1 as Releasit, ReleasitProps, RequestQuoteHidePrice$1 as RequestQuoteHidePrice, RequestQuoteHidePriceProps, ReviewxpoProductReviewsApp$1 as ReviewxpoProductReviewsApp, ReviewxpoProductReviewsAppProps, Rivyo$1 as Rivyo, RivyoProps, Root$1 as Root, RootProps$1 as RootProps, Row$1 as Row, RowProps$1 as RowProps, Ryviu$1 as Ryviu, RyviuProps, SealSubscriptions$1 as SealSubscriptions, SealSubscriptionsProps, Section$1 as Section, SegunoEmailMarketing$1 as SegunoEmailMarketing, SegunoEmailMarketingProps, Select, SelectProps, Selleasy$1 as Selleasy, SelleasyProps, SeoantTrustBadgesIcon$1 as SeoantTrustBadgesIcon, SeoantTrustBadgesIconProps, ShopPayButton$1 as ShopPayButton, ShopPayButtonProps, ShopifyForms$1 as ShopifyForms, ShopifyFormsProps, ShopifySubscriptions$1 as ShopifySubscriptions, ShopifySubscriptionsProps, SimpleBundlesKits$1 as SimpleBundlesKits, SimpleBundlesKitsProps, SkioSubscriptionsYcS20$1 as SkioSubscriptionsYcS20, SkioSubscriptionsYcS20Props, SkuProps, SmartSearchBarAndFilters$1 as SmartSearchBarAndFilters, SmartSearchBarAndFiltersProps, SproutPlantTreesGrowSales$1 as SproutPlantTreesGrowSales, SproutPlantTreesGrowSalesProps, Stamped$1 as Stamped, StampedProps, Sticky$1 as Sticky, StickyProps, StockCounter$1 as StockCounter, StockCounterProps$1 as StockCounterProps, SubifySubscriptionsApp$1 as SubifySubscriptionsApp, SubifySubscriptionsAppProps, SubmitButton$1 as SubmitButton, SubmitButtonProps, TabItem$1 as TabItem, TabItemProps, Tabs$1 as Tabs, TabsProps, TagembedSocialPostReview$1 as TagembedSocialPostReview, TagembedSocialPostReviewProps, TagshopShoppableVideosUgc$1 as TagshopShoppableVideosUgc, TagshopShoppableVideosUgcProps, TeeinblueProductPersonalizer$1 as TeeinblueProductPersonalizer, TeeinblueProductPersonalizerProps, Text$2 as Text, TextAreaProps, TextField$1 as TextField, TextFieldProps, TextProps$1 as TextProps, TextArea as Textarea, TextareaProps, ThirdPartySlot$1 as ThirdPartySlot, TrustMe$1 as TrustMe, TrustMeProps, Trustoo$1 as Trustoo, TrustooProps, TrustreviewsProductReviews$1 as TrustreviewsProductReviews, TrustreviewsProductReviewsProps, TrustshopProductReviews$1 as TrustshopProductReviews, TrustshopProductReviewsProps, UltimateSalesBoost$1 as UltimateSalesBoost, UltimateSalesBoostProps, UnlimitedBundlesDiscounts$1 as UnlimitedBundlesDiscounts, UnlimitedBundlesDiscountsProps, VendorProps, Video$1 as Video, Vitals$1 as Vitals, VitalsProps, WhatmoreShoppableVideosreel$1 as WhatmoreShoppableVideosreel, WhatmoreShoppableVideosreelProps, WideBundle$1 as WideBundle, WideBundleProps, Wiser$1 as Wiser, WiserProps, WishlistKing$1 as WishlistKing, WishlistKingProps, WishlistPlus$1 as WishlistPlus, WishlistPlusProps, YotpoLoyalty, YotpoLoyaltyProps, YotpoReviews$1 as YotpoReviews, YotpoReviewsProps, _default$R as accordionSetting, _default$4 as articleListSetting, _default$p as bannerSetting, _default$Q as breadcrumbSetting, _default as builderComponent, _default$P as buttonSetting, _default$N as carouselSetting, _default$K as cartSetting, _default$n as codeSetting, _default$J as collectionSetting, _default$j as contactFormSetting, _default$I as countdownSetting, _default$O as couponSetting, _default$k as dialogSetting, _default$5 as estimateDeliverySetting, getDynamicSourceLocales, getInsertLinkData, getSettingPreloadData, getStaticLocale, _default$L as gridSetting, _default$G as headerSetting, _default$H as headingSetting, _default$m as iconListHozSetting, _default$o as iconListSetting, _default$e as iconListSettingV2, _default$F as iconSetting, _default$h as imageComparisonSetting, _default$i as imageDetectionSetting, _default$M as imageSetting, _default$E as inputSetting, isHexTransparent, isTransparentColor, isTransparentRGBA, _default$D as lineSetting, _default$C as linkSetting, index_liquid as liquidComponents, _default$3 as marqueeSetting, _default$s as menuSetting, _default$B as modalSetting, _default$1 as nextComponent, openConfirm, _default$A as paginationSetting, _default$7 as postPurchaseAdvancedListSetting, _default$b as postPurchaseButtonSetting, _default$9 as postPurchaseCalloutBoxSetting, _default$6 as postPurchaseCountdownTimerSetting, _default$c as postPurchaseImageSetting, _default$8 as postPurchaseLineSetting, postPurchaseProduct1Col, postPurchaseProduct2Col, postPurchaseProductDefault, _default$a as postPurchaseProductSetting, _default$d as postPurchaseTextSetting, _default$z as productSetting, _default$x as radioSetting, replaceLinkData, _default$w as selectSetting, _default$f as stickySetting, _default$l as stockCounterSetting, _default$v as tabSetting, _default$y as textSetting, _default$u as textareaSetting, _default$q as thirdPartyInstantSetting, _default$r as thirdPartySetting, _default$g as thirdPartySlotSetting, useInView, useNotification, _default$t as videoSetting, youtubeShortsRegex };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gem-sdk/components",
3
- "version": "2.0.10",
3
+ "version": "2.0.12",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "main": "dist/cjs/index.js",