@gem-sdk/core 1.48.0-dev.3 → 1.48.0-dev.33

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.
@@ -46,7 +46,7 @@ const InteractionSuffix = ({ tag, uid })=>{
46
46
  isCurrentInteractionTarget
47
47
  ]);
48
48
  if (!isDisplay) {
49
- return undefined;
49
+ return /*#__PURE__*/ jsxRuntime.jsx(jsxRuntime.Fragment, {});
50
50
  }
51
51
  return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
52
52
  children: [
@@ -234,6 +234,7 @@ const appendAnimation = (props, liquid)=>{
234
234
  const appearTablet = getAnimationType(getSettingsByDevice('tablet'), 'appear');
235
235
  const appearMobile = getAnimationType(getSettingsByDevice('mobile'), 'appear');
236
236
  const enableAnimation = animation?.desktop?.enabled && (appearDesktop !== 'none' || hoverDesktop !== 'none') || animation?.tablet?.enabled && appearTablet !== 'none' || animation?.mobile?.enabled && appearMobile !== 'none';
237
+ if (!enableAnimation) return liquid;
237
238
  const getInitVisibility = (device)=>getSettingsByDevice(device)?.enabled && ![
238
239
  'shake',
239
240
  'none'
@@ -248,8 +249,7 @@ const appendAnimation = (props, liquid)=>{
248
249
  gp-data='${JSON.stringify({
249
250
  config: animation,
250
251
  tag,
251
- opacity,
252
- isEnableInit: enableAnimation
252
+ opacity
253
253
  })}'
254
254
  style="${{
255
255
  display: 'contents'
@@ -6,6 +6,7 @@
6
6
  title
7
7
  description
8
8
  descriptionHtml
9
+ createdAt
9
10
  handle
10
11
  averageRating
11
12
  isStorefront
@@ -121,7 +121,7 @@ const getBgAttachmentByDevice = (background, device)=>{
121
121
  return background?.[device]?.attachment;
122
122
  };
123
123
  const composeBackgroundCss = (backgroundColor)=>{
124
- return `${backgroundColor ? `background-color: ${colors.getSingleColorVariable(backgroundColor)} !important;` : undefined}`;
124
+ return `${backgroundColor ? `background-color: ${colors.getSingleColorVariable(backgroundColor)};` : undefined}`;
125
125
  };
126
126
  const makeFixedBgAttachment = (background)=>{
127
127
  if (!background) return;
@@ -36,7 +36,7 @@ const getProduct = async (fetcher, { id, isSample, isStorefront })=>{
36
36
  };
37
37
  };
38
38
  const orderBy = {
39
- field: 'CREATED_AT',
39
+ field: 'PLATFORM_CREATED_AT',
40
40
  direction: 'DESC'
41
41
  };
42
42
  const fetchProduct = async (fetcher, { id, isSample, isStorefront })=>{
@@ -60,14 +60,49 @@ const UnlimitedBundlesDiscountsConfig = {
60
60
  appId: 'd33d0f48-dee0-42a0-b156-2a5dce91814a'
61
61
  }
62
62
  };
63
+ const KiteFreeGiftDiscountConfig = {
64
+ KiteFreeGiftDiscount: {
65
+ appName: 'kite-free-gift-discounts',
66
+ appId: '2c7302c4-455d-4078-a829-48563ba26089'
67
+ }
68
+ };
69
+ const FastBundleBundlesDiscountsConfig = {
70
+ FastBundleBundlesDiscounts: {
71
+ appName: 'fast-bundle',
72
+ appId: '9e87fbe2-9041-4c23-acf5-322413994cef'
73
+ }
74
+ };
75
+ const SimpleBundlesKitsConfig = {
76
+ SimpleBundlesKits: {
77
+ appName: 'simple-bundles-kits',
78
+ appId: 'e553276b-36b2-446d-b80a-aa47fe5f96ac'
79
+ }
80
+ };
81
+ const EasyBundleBuilderSkailamaConfig = {
82
+ EasyBundleBuilderSkailama: {
83
+ appName: 'easy-bundles',
84
+ appId: '05b1325c-6303-4da5-8e2f-b13ab2a50e1a'
85
+ }
86
+ };
87
+ const AssortionUpsellBundlesConfig = {
88
+ AssortionUpsellBundles: {
89
+ appName: 'assortion',
90
+ appId: '5588d7f9-a5bc-4f4a-9c54-39b7e081dd23'
91
+ }
92
+ };
63
93
 
94
+ exports.AssortionUpsellBundlesConfig = AssortionUpsellBundlesConfig;
64
95
  exports.BonLoyaltyRewardsReferralsConfig = BonLoyaltyRewardsReferralsConfig;
96
+ exports.EasyBundleBuilderSkailamaConfig = EasyBundleBuilderSkailamaConfig;
97
+ exports.FastBundleBundlesDiscountsConfig = FastBundleBundlesDiscountsConfig;
98
+ exports.KiteFreeGiftDiscountConfig = KiteFreeGiftDiscountConfig;
65
99
  exports.LoopSubscriptionsConfig = LoopSubscriptionsConfig;
66
100
  exports.PumperBundlesVolumeDiscountConfig = PumperBundlesVolumeDiscountConfig;
67
101
  exports.RechargeSubscriptionsConfig = RechargeSubscriptionsConfig;
68
102
  exports.ReviewxpoProductReviewsAppConfig = ReviewxpoProductReviewsAppConfig;
69
103
  exports.SelleasyConfig = SelleasyConfig;
70
104
  exports.ShopifyFormsConfig = ShopifyFormsConfig;
105
+ exports.SimpleBundlesKitsConfig = SimpleBundlesKitsConfig;
71
106
  exports.SkioSubscriptionsYcS20Config = SkioSubscriptionsYcS20Config;
72
107
  exports.SubifySubscriptionsConfig = SubifySubscriptionsConfig;
73
108
  exports.UnlimitedBundlesDiscountsConfig = UnlimitedBundlesDiscountsConfig;
@@ -110,8 +110,44 @@ const UnlimitedBundlesDiscounts = {
110
110
  'product-page-placeholder': null
111
111
  }
112
112
  };
113
+ const KiteFreeGiftDiscount = {
114
+ KiteFreeGiftDiscount: {
115
+ 'app-block': null
116
+ }
117
+ };
118
+ const FastBundleBundlesDiscounts = {
119
+ FastBundleBundlesDiscounts: {
120
+ all_bundles: null,
121
+ fbt_position: null,
122
+ product_bundles: null,
123
+ product_bundle_with_ids: null,
124
+ volume_position: null
125
+ }
126
+ };
127
+ const SimpleBundlesKits = {
128
+ SimpleBundlesKits: {
129
+ 'infinite-options-selector': null
130
+ }
131
+ };
132
+ const EasyBundleBuilderSkailama = {
133
+ EasyBundleBuilderSkailama: {
134
+ 'app-block-bundlePage': null
135
+ }
136
+ };
137
+ const AssortionUpsellBundles = {
138
+ AssortionUpsellBundles: {
139
+ volume: null,
140
+ bundle: null,
141
+ addon: null
142
+ }
143
+ };
113
144
  const composeSettingsByWidgetType = {
145
+ ...AssortionUpsellBundles,
146
+ ...EasyBundleBuilderSkailama,
147
+ ...FastBundleBundlesDiscounts,
148
+ ...KiteFreeGiftDiscount,
114
149
  ...UnlimitedBundlesDiscounts,
150
+ ...SimpleBundlesKits,
115
151
  ...PumperBundlesVolumeDiscount,
116
152
  ...ReviewxpoProductReviewsApp,
117
153
  ...ShopifyForms,
@@ -12,7 +12,12 @@ const mapShopifyAppMeta = {
12
12
  ...appConfig.ShopifyFormsConfig,
13
13
  ...appConfig.ReviewxpoProductReviewsAppConfig,
14
14
  ...appConfig.PumperBundlesVolumeDiscountConfig,
15
- ...appConfig.UnlimitedBundlesDiscountsConfig
15
+ ...appConfig.UnlimitedBundlesDiscountsConfig,
16
+ ...appConfig.KiteFreeGiftDiscountConfig,
17
+ ...appConfig.FastBundleBundlesDiscountsConfig,
18
+ ...appConfig.SimpleBundlesKitsConfig,
19
+ ...appConfig.EasyBundleBuilderSkailamaConfig,
20
+ ...appConfig.AssortionUpsellBundlesConfig
16
21
  };
17
22
  const THIRD_PARTY_APP_BLOCK_ID_PREFIX = 'gp_app';
18
23
 
@@ -77,7 +77,9 @@ const composeTypographyV2 = (value, attrs)=>{
77
77
  };
78
78
  const composeFontFamilyTypographyV2 = (value)=>{
79
79
  const fontFamily = value?.fontFamily;
80
- if (!fontFamily) return;
80
+ if (!fontFamily) {
81
+ return value?.fallbackFontFamily;
82
+ }
81
83
  if (typeof fontFamily === 'string') {
82
84
  return getFontUsedByTypographyV2({
83
85
  fontFamily,
@@ -116,7 +118,7 @@ const composeTypographyAttr = (attrs)=>{
116
118
  });
117
119
  };
118
120
  const composeTypographyClassName = (typo, typography)=>{
119
- return typo ? typo?.type && !typo.custom ? genTypoClass(typo.type) : '' : typography?.type && genTypoClass(typography?.type);
121
+ return typo ? typo?.type && !isCustomTypo(typo.custom) ? genTypoClass(typo.type) : '' : typography?.type && genTypoClass(typography?.type);
120
122
  };
121
123
  const composeFallbackTypographyStyle = (tag)=>{
122
124
  if ([
@@ -148,6 +150,9 @@ const composeTypographyStyle = (typo, typography, disableAttr)=>{
148
150
  ...!typography?.type ? composeTypography(typography?.custom) : {}
149
151
  };
150
152
  };
153
+ const isCustomTypo = (typoProps)=>{
154
+ return typoProps && Object.keys(typoProps).length > 1 || typoProps && Object.keys(typoProps).length === 1 && !typoProps.fontSize;
155
+ };
151
156
 
152
157
  exports.composeFallbackTypographyStyle = composeFallbackTypographyStyle;
153
158
  exports.composeFontFamilyTypographyV2 = composeFontFamilyTypographyV2;
@@ -1,4 +1,4 @@
1
- import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
1
+ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
2
  import { useMemo } from 'react';
3
3
  import 'zustand';
4
4
  import 'swr';
@@ -44,7 +44,7 @@ const InteractionSuffix = ({ tag, uid })=>{
44
44
  isCurrentInteractionTarget
45
45
  ]);
46
46
  if (!isDisplay) {
47
- return undefined;
47
+ return /*#__PURE__*/ jsx(Fragment, {});
48
48
  }
49
49
  return /*#__PURE__*/ jsxs(Fragment, {
50
50
  children: [
@@ -230,6 +230,7 @@ const appendAnimation = (props, liquid)=>{
230
230
  const appearTablet = getAnimationType(getSettingsByDevice('tablet'), 'appear');
231
231
  const appearMobile = getAnimationType(getSettingsByDevice('mobile'), 'appear');
232
232
  const enableAnimation = animation?.desktop?.enabled && (appearDesktop !== 'none' || hoverDesktop !== 'none') || animation?.tablet?.enabled && appearTablet !== 'none' || animation?.mobile?.enabled && appearMobile !== 'none';
233
+ if (!enableAnimation) return liquid;
233
234
  const getInitVisibility = (device)=>getSettingsByDevice(device)?.enabled && ![
234
235
  'shake',
235
236
  'none'
@@ -244,8 +245,7 @@ const appendAnimation = (props, liquid)=>{
244
245
  gp-data='${JSON.stringify({
245
246
  config: animation,
246
247
  tag,
247
- opacity,
248
- isEnableInit: enableAnimation
248
+ opacity
249
249
  })}'
250
250
  style="${{
251
251
  display: 'contents'
@@ -4,6 +4,7 @@
4
4
  title
5
5
  description
6
6
  descriptionHtml
7
+ createdAt
7
8
  handle
8
9
  averageRating
9
10
  isStorefront
@@ -119,7 +119,7 @@ const getBgAttachmentByDevice = (background, device)=>{
119
119
  return background?.[device]?.attachment;
120
120
  };
121
121
  const composeBackgroundCss = (backgroundColor)=>{
122
- return `${backgroundColor ? `background-color: ${getSingleColorVariable(backgroundColor)} !important;` : undefined}`;
122
+ return `${backgroundColor ? `background-color: ${getSingleColorVariable(backgroundColor)};` : undefined}`;
123
123
  };
124
124
  const makeFixedBgAttachment = (background)=>{
125
125
  if (!background) return;
@@ -34,7 +34,7 @@ const getProduct = async (fetcher, { id, isSample, isStorefront })=>{
34
34
  };
35
35
  };
36
36
  const orderBy = {
37
- field: 'CREATED_AT',
37
+ field: 'PLATFORM_CREATED_AT',
38
38
  direction: 'DESC'
39
39
  };
40
40
  const fetchProduct = async (fetcher, { id, isSample, isStorefront })=>{
@@ -58,5 +58,35 @@ const UnlimitedBundlesDiscountsConfig = {
58
58
  appId: 'd33d0f48-dee0-42a0-b156-2a5dce91814a'
59
59
  }
60
60
  };
61
+ const KiteFreeGiftDiscountConfig = {
62
+ KiteFreeGiftDiscount: {
63
+ appName: 'kite-free-gift-discounts',
64
+ appId: '2c7302c4-455d-4078-a829-48563ba26089'
65
+ }
66
+ };
67
+ const FastBundleBundlesDiscountsConfig = {
68
+ FastBundleBundlesDiscounts: {
69
+ appName: 'fast-bundle',
70
+ appId: '9e87fbe2-9041-4c23-acf5-322413994cef'
71
+ }
72
+ };
73
+ const SimpleBundlesKitsConfig = {
74
+ SimpleBundlesKits: {
75
+ appName: 'simple-bundles-kits',
76
+ appId: 'e553276b-36b2-446d-b80a-aa47fe5f96ac'
77
+ }
78
+ };
79
+ const EasyBundleBuilderSkailamaConfig = {
80
+ EasyBundleBuilderSkailama: {
81
+ appName: 'easy-bundles',
82
+ appId: '05b1325c-6303-4da5-8e2f-b13ab2a50e1a'
83
+ }
84
+ };
85
+ const AssortionUpsellBundlesConfig = {
86
+ AssortionUpsellBundles: {
87
+ appName: 'assortion',
88
+ appId: '5588d7f9-a5bc-4f4a-9c54-39b7e081dd23'
89
+ }
90
+ };
61
91
 
62
- export { BonLoyaltyRewardsReferralsConfig, LoopSubscriptionsConfig, PumperBundlesVolumeDiscountConfig, RechargeSubscriptionsConfig, ReviewxpoProductReviewsAppConfig, SelleasyConfig, ShopifyFormsConfig, SkioSubscriptionsYcS20Config, SubifySubscriptionsConfig, UnlimitedBundlesDiscountsConfig };
92
+ export { AssortionUpsellBundlesConfig, BonLoyaltyRewardsReferralsConfig, EasyBundleBuilderSkailamaConfig, FastBundleBundlesDiscountsConfig, KiteFreeGiftDiscountConfig, LoopSubscriptionsConfig, PumperBundlesVolumeDiscountConfig, RechargeSubscriptionsConfig, ReviewxpoProductReviewsAppConfig, SelleasyConfig, ShopifyFormsConfig, SimpleBundlesKitsConfig, SkioSubscriptionsYcS20Config, SubifySubscriptionsConfig, UnlimitedBundlesDiscountsConfig };
@@ -108,8 +108,44 @@ const UnlimitedBundlesDiscounts = {
108
108
  'product-page-placeholder': null
109
109
  }
110
110
  };
111
+ const KiteFreeGiftDiscount = {
112
+ KiteFreeGiftDiscount: {
113
+ 'app-block': null
114
+ }
115
+ };
116
+ const FastBundleBundlesDiscounts = {
117
+ FastBundleBundlesDiscounts: {
118
+ all_bundles: null,
119
+ fbt_position: null,
120
+ product_bundles: null,
121
+ product_bundle_with_ids: null,
122
+ volume_position: null
123
+ }
124
+ };
125
+ const SimpleBundlesKits = {
126
+ SimpleBundlesKits: {
127
+ 'infinite-options-selector': null
128
+ }
129
+ };
130
+ const EasyBundleBuilderSkailama = {
131
+ EasyBundleBuilderSkailama: {
132
+ 'app-block-bundlePage': null
133
+ }
134
+ };
135
+ const AssortionUpsellBundles = {
136
+ AssortionUpsellBundles: {
137
+ volume: null,
138
+ bundle: null,
139
+ addon: null
140
+ }
141
+ };
111
142
  const composeSettingsByWidgetType = {
143
+ ...AssortionUpsellBundles,
144
+ ...EasyBundleBuilderSkailama,
145
+ ...FastBundleBundlesDiscounts,
146
+ ...KiteFreeGiftDiscount,
112
147
  ...UnlimitedBundlesDiscounts,
148
+ ...SimpleBundlesKits,
113
149
  ...PumperBundlesVolumeDiscount,
114
150
  ...ReviewxpoProductReviewsApp,
115
151
  ...ShopifyForms,
@@ -1,4 +1,4 @@
1
- import { RechargeSubscriptionsConfig, BonLoyaltyRewardsReferralsConfig, SubifySubscriptionsConfig, SelleasyConfig, LoopSubscriptionsConfig, SkioSubscriptionsYcS20Config, ShopifyFormsConfig, ReviewxpoProductReviewsAppConfig, PumperBundlesVolumeDiscountConfig, UnlimitedBundlesDiscountsConfig } from './appConfig.js';
1
+ import { RechargeSubscriptionsConfig, BonLoyaltyRewardsReferralsConfig, SubifySubscriptionsConfig, SelleasyConfig, LoopSubscriptionsConfig, SkioSubscriptionsYcS20Config, ShopifyFormsConfig, ReviewxpoProductReviewsAppConfig, PumperBundlesVolumeDiscountConfig, UnlimitedBundlesDiscountsConfig, KiteFreeGiftDiscountConfig, FastBundleBundlesDiscountsConfig, SimpleBundlesKitsConfig, EasyBundleBuilderSkailamaConfig, AssortionUpsellBundlesConfig } from './appConfig.js';
2
2
 
3
3
  const mapShopifyAppMeta = {
4
4
  ...RechargeSubscriptionsConfig,
@@ -10,7 +10,12 @@ const mapShopifyAppMeta = {
10
10
  ...ShopifyFormsConfig,
11
11
  ...ReviewxpoProductReviewsAppConfig,
12
12
  ...PumperBundlesVolumeDiscountConfig,
13
- ...UnlimitedBundlesDiscountsConfig
13
+ ...UnlimitedBundlesDiscountsConfig,
14
+ ...KiteFreeGiftDiscountConfig,
15
+ ...FastBundleBundlesDiscountsConfig,
16
+ ...SimpleBundlesKitsConfig,
17
+ ...EasyBundleBuilderSkailamaConfig,
18
+ ...AssortionUpsellBundlesConfig
14
19
  };
15
20
  const THIRD_PARTY_APP_BLOCK_ID_PREFIX = 'gp_app';
16
21
 
@@ -75,7 +75,9 @@ const composeTypographyV2 = (value, attrs)=>{
75
75
  };
76
76
  const composeFontFamilyTypographyV2 = (value)=>{
77
77
  const fontFamily = value?.fontFamily;
78
- if (!fontFamily) return;
78
+ if (!fontFamily) {
79
+ return value?.fallbackFontFamily;
80
+ }
79
81
  if (typeof fontFamily === 'string') {
80
82
  return getFontUsedByTypographyV2({
81
83
  fontFamily,
@@ -114,7 +116,7 @@ const composeTypographyAttr = (attrs)=>{
114
116
  });
115
117
  };
116
118
  const composeTypographyClassName = (typo, typography)=>{
117
- return typo ? typo?.type && !typo.custom ? genTypoClass(typo.type) : '' : typography?.type && genTypoClass(typography?.type);
119
+ return typo ? typo?.type && !isCustomTypo(typo.custom) ? genTypoClass(typo.type) : '' : typography?.type && genTypoClass(typography?.type);
118
120
  };
119
121
  const composeFallbackTypographyStyle = (tag)=>{
120
122
  if ([
@@ -146,5 +148,8 @@ const composeTypographyStyle = (typo, typography, disableAttr)=>{
146
148
  ...!typography?.type ? composeTypography(typography?.custom) : {}
147
149
  };
148
150
  };
151
+ const isCustomTypo = (typoProps)=>{
152
+ return typoProps && Object.keys(typoProps).length > 1 || typoProps && Object.keys(typoProps).length === 1 && !typoProps.fontSize;
153
+ };
149
154
 
150
155
  export { composeFallbackTypographyStyle, composeFontFamilyTypographyV2, composeTypography, composeTypographyAttr, composeTypographyClassName, composeTypographyCss, composeTypographyStyle, composeTypographyV2, composeTypographyV2Css, genTypoClass };
@@ -7187,6 +7187,11 @@ type InputControlType<T> = SharedControlType<T> & {
7187
7187
  action?: {
7188
7188
  clear?: boolean;
7189
7189
  };
7190
+ actionChangeControls?: {
7191
+ controlID: string;
7192
+ condition?: string;
7193
+ newValue: any;
7194
+ }[];
7190
7195
  };
7191
7196
 
7192
7197
  type InputFixContentControlType<T> = SharedControlType<T> & {
@@ -7329,6 +7334,7 @@ type Option$2<T> = {
7329
7334
  tooltip?: string;
7330
7335
  type?: string;
7331
7336
  note?: string;
7337
+ maxOption?: number;
7332
7338
  };
7333
7339
  type Mapped$3<K, T> = NonNullable<T> extends ObjectDevices<infer U> ? {
7334
7340
  id: K;
@@ -7383,6 +7389,7 @@ type TextareaControlType<T> = SharedControlType<T> & {
7383
7389
  readonly?: boolean;
7384
7390
  minHeight?: number;
7385
7391
  maxWidth?: number;
7392
+ inputClass?: string;
7386
7393
  autoHeight?: boolean;
7387
7394
  defaultRows?: number;
7388
7395
  showPlusBtn?: boolean;
@@ -8054,6 +8061,78 @@ type SelectProductBundleControlType<T> = SharedControlType<T> & {
8054
8061
  hide?: boolean;
8055
8062
  };
8056
8063
 
8064
+ type SettingStateType = 'normal' | 'hover' | 'focus' | 'active' | 'price' | 'compareAtPrice';
8065
+ type LangKey = 'en' | 'vi';
8066
+ type LabelWithLang = {
8067
+ [P in keyof Record<LangKey, ''>]?: string;
8068
+ };
8069
+ type SettingMediaType = 'image' | 'youtubeVideoID';
8070
+ type SettingUIHelpType = {
8071
+ content: string;
8072
+ buttonLink?: string;
8073
+ media?: {
8074
+ value: string;
8075
+ type: SettingMediaType;
8076
+ };
8077
+ };
8078
+ type SettingUIControl = {
8079
+ id?: string;
8080
+ isCompo?: boolean;
8081
+ layout?: 'vertical' | 'horizontal';
8082
+ toggleGroupId?: string;
8083
+ label?: LabelWithLang;
8084
+ conditionDisplay?: string;
8085
+ conditionEnable?: string;
8086
+ options?: {
8087
+ hideOnDevices?: Record<NameDevices$1, boolean>;
8088
+ fullWidth?: boolean;
8089
+ disableMessage?: string;
8090
+ };
8091
+ setting?: {
8092
+ id: string;
8093
+ state?: SettingStateType;
8094
+ };
8095
+ searchKeyword?: string;
8096
+ } & SettingUICompo;
8097
+ type SettingUICompo = {
8098
+ controls?: SettingUIControl[];
8099
+ iconName?: string;
8100
+ getValueFromSettingID?: string;
8101
+ fixedValue?: string;
8102
+ placeholder?: string;
8103
+ help?: SettingUIHelpType;
8104
+ };
8105
+ type SettingUIMoreSetting = {
8106
+ label?: LabelWithLang;
8107
+ labelAction?: LabelWithLang;
8108
+ controls?: SettingUIControl[];
8109
+ help?: SettingUIHelpType;
8110
+ };
8111
+ type SettingUIToggleGroup = {
8112
+ label?: LabelWithLang;
8113
+ id?: string;
8114
+ controls?: SettingUIControl[];
8115
+ };
8116
+ type SettingUIToggleSettings = {
8117
+ type: 'control' | 'toggleGroup';
8118
+ controls?: SettingUIControl[];
8119
+ isActiveDefault?: boolean;
8120
+ } & SettingUIControl & SettingUIToggleGroup;
8121
+ type SettingUIGroup = {
8122
+ label?: LabelWithLang;
8123
+ message?: string;
8124
+ disableToggle?: boolean;
8125
+ conditionDisplay?: string;
8126
+ conditionEnable?: string;
8127
+ controls?: SettingUIControl[];
8128
+ moreSettings?: SettingUIMoreSetting;
8129
+ toggleSettings?: SettingUIToggleSettings[];
8130
+ help?: SettingUIHelpType;
8131
+ options?: {
8132
+ disableMessage?: string;
8133
+ };
8134
+ };
8135
+
8057
8136
  type ControlProp<T> = ProductBundleChildControlType<T> | SelectProductBundleControlType<T> | AngleControlType<T> | CheckboxControlType<T> | ColorPickerControlType<T> | GroupControlType<T> | IconControlType<T> | InputFixContentControlType<T> | InputNumberControlType<T> | InputUnitControlType<T> | InputUnitSpacingControlType<T> | InputUnitWidthControlType<T> | InputControlType<T> | MarginControlType<T> | PaddingControlType<T> | PositionControlType<T> | RadioGroupControlType | RangeControlType<T> | SegmentControlType<T> | OpenLinkControlType<T> | SelectControlType<T> | TextareaControlType<T> | ToggleControlType<T> | ImageControlType<T> | ChildrensControlType | GridControlType<T> | FlexControlType<T> | TextEditorControlType<T> | ProductControlType<T> | TypographyControlType<T> | TypographyV2ControlType<T> | MenuControlType<T> | BehaviorStateControlType<T> | PickLinkControlType<T> | BoxShadowControlType<T> | TextShadowControlType<T> | BorderControlType<T> | BorderRadiusControlType<T> | RadiusPresetControlType<T> | SizeControlType<T> | ChildItemType<T> | PickMultiProductControlType<T> | CollectionControlType<T> | BackgroundControlType<T> | VisibilityControlType<T> | SelectVariantControlType | CountdownEvergreenType | Timezone<T> | CustomContentControlType<T> | DateTimePickerControlType | CountdownDailyType | KlaviyoCodes | YotpoLoyaltyCodes | InputWidthControlType<T> | LayoutSegmentControlType<T> | InputSpacing<T> | UniqueIdControlType<T> | PositionSquareControlType<T> | CustomCodeEditor | LayoutControlType<T> | LayoutBannerControlType<T> | SwatchesLinkControlType<T> | VariantSwatchesPresetControlType<T> | VariantSwatchesOnlyDefaultVariantControlType<T> | ProductListControlType<T> | ArticleListControlType<T> | CollectionBannerControlType<T> | Ratio<T> | StickyDisplayControlType<T> | SyncProductPropertiesControlType<T> | StepsGuide<T> | ImageShape<T> | GridArrange<T> | SizeSetting$1<T> | ChildIconType<T> | DropdownInput<T> | Dropdown<T> | AliPickSectionControlType<T> | ParallaxScrollingType<T> | BackgroundColorPickerType<T> | PlayPauseControlType<T> | LayoutCustomSegmentControlType<T> | SneakPeakRange<T> | SneakPeakTypeControlType<T> | SneakPeakControlType<T> | ProductInputCurrencyUnitControlType<T> | TypographyPostPurchaseControlType<T> | ProductOffersControlType<T> | DiscountAndShippingFee<T> | PostPurchaseTextareaControlType<T> | NotesControlType<T> | ButtonLayoutType<T> | ShapeSelectorControlType<T> | CustomPositionControlType<T> | SneakPeakControlType<T> | PostPurchaseTextareaControlType<T> | DealControlType<T> | DisplayTriggerControlType<T>;
8058
8137
  type ControlTriggerAction = {
8059
8138
  controlId: string;
@@ -8125,6 +8204,7 @@ type ComponentSetting<P extends BaseProps> = {
8125
8204
  };
8126
8205
  };
8127
8206
  ui?: ControlUI[];
8207
+ uiV2?: SettingUIGroup[];
8128
8208
  presets?: ComponentPreset[];
8129
8209
  locales?: Record<string, any>;
8130
8210
  };
@@ -28817,7 +28897,7 @@ type ProductListProviderProps = ProductListContextProps & {
28817
28897
  declare const ProductListProvider: React.FC<ProductListProviderProps>;
28818
28898
  declare const useProductListStore: <U>(selector: (state: ExtractState<StoreApi<ProductListContextProps>>) => U, equalityFn?: ((a: U, b: U) => boolean) | undefined) => U;
28819
28899
 
28820
- type ProductSelectFragment = Pick<Product$1, 'tags' | 'id' | 'title' | 'description' | 'descriptionHtml' | 'handle' | 'averageRating' | 'isStorefront' | 'isSample' | 'baseID' | 'sku' | 'vendor'> & {
28900
+ type ProductSelectFragment = Pick<Product$1, 'tags' | 'id' | 'title' | 'createdAt' | 'description' | 'descriptionHtml' | 'handle' | 'averageRating' | 'isStorefront' | 'isSample' | 'baseID' | 'sku' | 'vendor'> & {
28821
28901
  collections?: Maybe$1<{
28822
28902
  edges: Array<{
28823
28903
  node?: Maybe$1<Pick<Collection$1, 'id' | 'title'>>;
@@ -29877,6 +29957,15 @@ declare const filterAttrInStyle: (style?: React.CSSProperties, filterKeys?: stri
29877
29957
  '--gg-mobile'?: csstype.Property.GridGap<string | number> | undefined;
29878
29958
  '--hvr-gg-mobile'?: csstype.Property.GridGap<string | number> | undefined;
29879
29959
  '--focus-gg-mobile'?: csstype.Property.GridGap<string | number> | undefined;
29960
+ '--gr'?: csstype.Property.GridRow | undefined;
29961
+ '--hvr-gr'?: csstype.Property.GridRow | undefined;
29962
+ '--focus-gr'?: csstype.Property.GridRow | undefined;
29963
+ '--gr-tablet'?: csstype.Property.GridRow | undefined;
29964
+ '--hvr-gr-tablet'?: csstype.Property.GridRow | undefined;
29965
+ '--focus-gr-tablet'?: csstype.Property.GridRow | undefined;
29966
+ '--gr-mobile'?: csstype.Property.GridRow | undefined;
29967
+ '--hvr-gr-mobile'?: csstype.Property.GridRow | undefined;
29968
+ '--focus-gr-mobile'?: csstype.Property.GridRow | undefined;
29880
29969
  '--gtc'?: csstype.Property.GridTemplateColumns<string | number> | undefined;
29881
29970
  '--hvr-gtc'?: csstype.Property.GridTemplateColumns<string | number> | undefined;
29882
29971
  '--focus-gtc'?: csstype.Property.GridTemplateColumns<string | number> | undefined;
@@ -31381,6 +31470,15 @@ declare const removeAttrInStyle: (style?: React.CSSProperties, filterKeys?: stri
31381
31470
  '--gg-mobile'?: csstype.Property.GridGap<string | number> | undefined;
31382
31471
  '--hvr-gg-mobile'?: csstype.Property.GridGap<string | number> | undefined;
31383
31472
  '--focus-gg-mobile'?: csstype.Property.GridGap<string | number> | undefined;
31473
+ '--gr'?: csstype.Property.GridRow | undefined;
31474
+ '--hvr-gr'?: csstype.Property.GridRow | undefined;
31475
+ '--focus-gr'?: csstype.Property.GridRow | undefined;
31476
+ '--gr-tablet'?: csstype.Property.GridRow | undefined;
31477
+ '--hvr-gr-tablet'?: csstype.Property.GridRow | undefined;
31478
+ '--focus-gr-tablet'?: csstype.Property.GridRow | undefined;
31479
+ '--gr-mobile'?: csstype.Property.GridRow | undefined;
31480
+ '--hvr-gr-mobile'?: csstype.Property.GridRow | undefined;
31481
+ '--focus-gr-mobile'?: csstype.Property.GridRow | undefined;
31384
31482
  '--gtc'?: csstype.Property.GridTemplateColumns<string | number> | undefined;
31385
31483
  '--hvr-gtc'?: csstype.Property.GridTemplateColumns<string | number> | undefined;
31386
31484
  '--focus-gtc'?: csstype.Property.GridTemplateColumns<string | number> | undefined;
@@ -32885,6 +32983,15 @@ declare const filterCornerInStyle: (style?: React.CSSProperties) => {
32885
32983
  '--gg-mobile'?: csstype.Property.GridGap<string | number> | undefined;
32886
32984
  '--hvr-gg-mobile'?: csstype.Property.GridGap<string | number> | undefined;
32887
32985
  '--focus-gg-mobile'?: csstype.Property.GridGap<string | number> | undefined;
32986
+ '--gr'?: csstype.Property.GridRow | undefined;
32987
+ '--hvr-gr'?: csstype.Property.GridRow | undefined;
32988
+ '--focus-gr'?: csstype.Property.GridRow | undefined;
32989
+ '--gr-tablet'?: csstype.Property.GridRow | undefined;
32990
+ '--hvr-gr-tablet'?: csstype.Property.GridRow | undefined;
32991
+ '--focus-gr-tablet'?: csstype.Property.GridRow | undefined;
32992
+ '--gr-mobile'?: csstype.Property.GridRow | undefined;
32993
+ '--hvr-gr-mobile'?: csstype.Property.GridRow | undefined;
32994
+ '--focus-gr-mobile'?: csstype.Property.GridRow | undefined;
32888
32995
  '--gtc'?: csstype.Property.GridTemplateColumns<string | number> | undefined;
32889
32996
  '--hvr-gtc'?: csstype.Property.GridTemplateColumns<string | number> | undefined;
32890
32997
  '--focus-gtc'?: csstype.Property.GridTemplateColumns<string | number> | undefined;
@@ -34389,6 +34496,15 @@ declare const removePaddingYInStyle: (style?: React.CSSProperties) => {
34389
34496
  '--gg-mobile'?: csstype.Property.GridGap<string | number> | undefined;
34390
34497
  '--hvr-gg-mobile'?: csstype.Property.GridGap<string | number> | undefined;
34391
34498
  '--focus-gg-mobile'?: csstype.Property.GridGap<string | number> | undefined;
34499
+ '--gr'?: csstype.Property.GridRow | undefined;
34500
+ '--hvr-gr'?: csstype.Property.GridRow | undefined;
34501
+ '--focus-gr'?: csstype.Property.GridRow | undefined;
34502
+ '--gr-tablet'?: csstype.Property.GridRow | undefined;
34503
+ '--hvr-gr-tablet'?: csstype.Property.GridRow | undefined;
34504
+ '--focus-gr-tablet'?: csstype.Property.GridRow | undefined;
34505
+ '--gr-mobile'?: csstype.Property.GridRow | undefined;
34506
+ '--hvr-gr-mobile'?: csstype.Property.GridRow | undefined;
34507
+ '--focus-gr-mobile'?: csstype.Property.GridRow | undefined;
34392
34508
  '--gtc'?: csstype.Property.GridTemplateColumns<string | number> | undefined;
34393
34509
  '--hvr-gtc'?: csstype.Property.GridTemplateColumns<string | number> | undefined;
34394
34510
  '--focus-gtc'?: csstype.Property.GridTemplateColumns<string | number> | undefined;
@@ -36033,6 +36149,15 @@ declare const composeTypographyStyle: (typo?: TypographySettingV2, typography?:
36033
36149
  '--gg-mobile'?: csstype.Property.GridGap<string | number> | undefined;
36034
36150
  '--hvr-gg-mobile'?: csstype.Property.GridGap<string | number> | undefined;
36035
36151
  '--focus-gg-mobile'?: csstype.Property.GridGap<string | number> | undefined;
36152
+ '--gr'?: csstype.Property.GridRow | undefined;
36153
+ '--hvr-gr'?: csstype.Property.GridRow | undefined;
36154
+ '--focus-gr'?: csstype.Property.GridRow | undefined;
36155
+ '--gr-tablet'?: csstype.Property.GridRow | undefined;
36156
+ '--hvr-gr-tablet'?: csstype.Property.GridRow | undefined;
36157
+ '--focus-gr-tablet'?: csstype.Property.GridRow | undefined;
36158
+ '--gr-mobile'?: csstype.Property.GridRow | undefined;
36159
+ '--hvr-gr-mobile'?: csstype.Property.GridRow | undefined;
36160
+ '--focus-gr-mobile'?: csstype.Property.GridRow | undefined;
36036
36161
  '--gtc'?: csstype.Property.GridTemplateColumns<string | number> | undefined;
36037
36162
  '--hvr-gtc'?: csstype.Property.GridTemplateColumns<string | number> | undefined;
36038
36163
  '--focus-gtc'?: csstype.Property.GridTemplateColumns<string | number> | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gem-sdk/core",
3
- "version": "1.48.0-dev.3",
3
+ "version": "1.48.0-dev.33",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "main": "dist/cjs/index.js",
@@ -27,8 +27,8 @@
27
27
  "type-check": "yarn tsc --noEmit"
28
28
  },
29
29
  "devDependencies": {
30
- "@gem-sdk/adapter-shopify": "1.48.0-dev.1",
31
- "@gem-sdk/styles": "1.48.0-dev.2",
30
+ "@gem-sdk/adapter-shopify": "1.48.0-dev.3",
31
+ "@gem-sdk/styles": "1.48.0-dev.32",
32
32
  "@types/classnames": "^2.3.1"
33
33
  },
34
34
  "dependencies": {