@thryveai/theme-interfaces 2.4.7 → 2.4.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3 @@
1
+ import { IDefaultRetailerSettings } from './interfaces/default-settings.interfaces';
2
+ declare const defaultConfig: IDefaultRetailerSettings;
3
+ export default defaultConfig;
@@ -0,0 +1,242 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var defaultConfig = {
4
+ advertSettings: {},
5
+ timeslotModalSettings: {
6
+ showOnAddToCart: false,
7
+ timeslotRequiredToAddToCart: false,
8
+ timeslotRequiredToViewCartReview: false
9
+ },
10
+ accountPage: {
11
+ loyaltyTab: {
12
+ disabledEdit: false,
13
+ enabled: false,
14
+ loyaltyNumberLength: 11,
15
+ loyaltyNumberPrefix: '',
16
+ loyaltyValidationType: []
17
+ }
18
+ },
19
+ addresses: {
20
+ addressValidationTypes: {
21
+ addressLine1: ['alphaNumeric', 'required'],
22
+ addressLine2: ['alphaNumeric'],
23
+ city: ['alphaNumeric', 'required'],
24
+ countyProvinceState: ['usState', 'required'],
25
+ familyName: ['alphaOnly', 'required'],
26
+ firstName: ['alphaOnly', 'required'],
27
+ instructions: ['alphaNumeric'],
28
+ phoneNumber: ['usPhone', 'required'],
29
+ postCode: ['usPostCode', 'required']
30
+ },
31
+ canadianAddressCompleteKey: undefined,
32
+ eircodeUrl: undefined,
33
+ integration: {
34
+ addNewAddressUrl: undefined,
35
+ deleteAddressUrl: undefined,
36
+ editAddressUrl: undefined
37
+ },
38
+ useAddressValidation: true
39
+ },
40
+ addressValidationTypes: {
41
+ addressLine1: ['alphaNumeric', 'required'],
42
+ addressLine2: ['alphaNumeric'],
43
+ city: ['alphaNumeric', 'required'],
44
+ countyProvinceState: ['usState', 'required'],
45
+ familyName: ['alphaOnly', 'required'],
46
+ firstName: ['alphaOnly', 'required'],
47
+ instructions: ['alphaNumeric'],
48
+ phoneNumber: ['usPhone', 'required'],
49
+ postCode: ['usPostCode', 'required']
50
+ },
51
+ addressIntegration: {
52
+ enabled: false,
53
+ addressFinderType: 'AUS',
54
+ getAddressesUrl: 'https://api.addressfinder.io/api/au/address/autocomplete/?key={AUS_ADDRESS_SERVICE_KEY}&secret={AUS_ADDRESS_SERVICE_SECRET}&q={searchQuery}&format=json&gnaf=1',
55
+ getLocationUrl: 'https://api.addressfinder.io/api/au/address/metadata/?key={AUS_ADDRESS_SERVICE_KEY}&secret={AUS_ADDRESS_SERVICE_SECRET}&format=json&id={id}&au_paf=0&gps=0'
56
+ },
57
+ allowInStorePurchases: false,
58
+ allowPastPurchases: true,
59
+ buildNumber: 'default',
60
+ cacheTimeMins: 1,
61
+ canadianAddressCompleteKey: undefined,
62
+ checkoutV1: false,
63
+ disableAddressOnDelivery: false,
64
+ favoritesV1: false,
65
+ checkout: {
66
+ numericPhonePayload: false
67
+ },
68
+ checkoutValidation: {
69
+ instructions: ['alphaNumeric', 'notWhiteSpacesOnly'],
70
+ phoneNumber: ['usPhone', 'required'],
71
+ smsNumber: []
72
+ },
73
+ ctaButtons: null,
74
+ defaultCountry: 'USA',
75
+ defaultSearchParams: {
76
+ page: '1',
77
+ q: '*',
78
+ skip: '0',
79
+ take: '30'
80
+ },
81
+ defaultShoppingMode: 'pickup',
82
+ defaultStoreLocation: {
83
+ latitude: 0,
84
+ longitude: 0
85
+ },
86
+ disableTprPrice: false,
87
+ documentTitle: 'ThryveAI Commerce',
88
+ eircode: undefined,
89
+ enable3dSecure: false,
90
+ enableGoogleTranslate: false,
91
+ enableNewsletterSignup: false,
92
+ enableNotifications: false,
93
+ enableVouchers: false,
94
+ errorLoggingLevel: 'error',
95
+ externalStoreSelectorUrl: undefined,
96
+ flipp: null,
97
+ gtmId: undefined,
98
+ hideTaxOnSummary: false,
99
+ houseAccountRegExValidation: '.',
100
+ idpTarget: '_self',
101
+ idpUrl: undefined,
102
+ instacartUrl: undefined,
103
+ isPlanningOnly: false,
104
+ layout: {
105
+ footerVersion: 'default'
106
+ },
107
+ limitProductCardTitleHeight: true,
108
+ loggingLevelClient: 'error',
109
+ loggingLevelServer: 'error',
110
+ mainHeaderHeight: 110,
111
+ mapZoom: 8,
112
+ minimumCreditCardAmount: 1.0,
113
+ nutritionZone: 'us',
114
+ paymentCards: {
115
+ AmExpCard: true,
116
+ DiscoverCard: true,
117
+ MasterCard: true,
118
+ VisaCard: true
119
+ },
120
+ pdpDetailsLayout: {
121
+ desktop: {
122
+ left: [
123
+ 'productSalesInfo',
124
+ 'productDescription',
125
+ 'productIngredients',
126
+ 'productNutrition',
127
+ 'sodiumWarning',
128
+ 'productNumber'
129
+ ],
130
+ right: ['recommendations']
131
+ },
132
+ mobile: {
133
+ left: [
134
+ 'productSalesInfo',
135
+ 'productDescription',
136
+ 'productNumber',
137
+ 'sodiumWarning',
138
+ 'recommendations'
139
+ ],
140
+ right: [
141
+ 'productIngredients',
142
+ 'productNutrition',
143
+ 'recommendations',
144
+ 'productNumber'
145
+ ]
146
+ }
147
+ },
148
+ productCardTitleHeight: 40,
149
+ registrationFields: [],
150
+ retailerCountry: 'us',
151
+ retailerName: 'default',
152
+ daysToRemainSignedIn: 30,
153
+ searchPreview: {
154
+ desktop: {
155
+ products: true,
156
+ suggestions: true
157
+ },
158
+ mobile: {
159
+ products: true,
160
+ suggestions: true
161
+ }
162
+ },
163
+ secondTierAuthorization: undefined,
164
+ showCheckoutPromoCode: true,
165
+ showImgOnOrder: false,
166
+ smsNotifications: {
167
+ enabled: false,
168
+ getEnrollmentUrl: '',
169
+ postEnrollmentUrl: ''
170
+ },
171
+ subHeaderHeight: 0,
172
+ promoTemplateVersion: 1,
173
+ useAddressValidation: true,
174
+ restrictMapPlacesResults: {
175
+ fetchNearStoresSettings: {
176
+ kmRange: 20,
177
+ totalTake: 30
178
+ }
179
+ },
180
+ globalAnimations: {
181
+ confetti: {
182
+ enableConfettiAnimation: true
183
+ }
184
+ },
185
+ googleAutocompleteSettings: {},
186
+ smartbanner: {
187
+ enabled: false,
188
+ author: '',
189
+ button: '',
190
+ buttonUrlApple: '',
191
+ buttonUrlGoogle: '',
192
+ closeLabel: '',
193
+ iconApple: '',
194
+ iconGoogle: '',
195
+ price: '',
196
+ priceSuffixApple: '',
197
+ priceSuffixGoogle: '',
198
+ title: ''
199
+ },
200
+ features: { clientCache: false },
201
+ specialRequestItems: false,
202
+ additionalCharges: false,
203
+ sodiumWarning: {
204
+ isEnabled: false,
205
+ threshold: 2300
206
+ },
207
+ productCards: {
208
+ gridRowLength: {
209
+ tablet: 3,
210
+ desktop: 5,
211
+ mobile: 1
212
+ },
213
+ carouselsRowLength: {
214
+ desktop: 6,
215
+ tablet: 4,
216
+ mobile: 1
217
+ },
218
+ productCard: {
219
+ enabled: false,
220
+ layouts: {
221
+ ContainersGrid: 'default',
222
+ ContainersCarousel: 'default'
223
+ }
224
+ }
225
+ },
226
+ layouts: {
227
+ cartSummary: {
228
+ showTaxTotal: true,
229
+ showTaxGroups: true
230
+ },
231
+ couponGallery: {
232
+ enabled: false,
233
+ galleryIsIframe: false
234
+ }
235
+ },
236
+ adminPanelOnly: {
237
+ bannerName: '',
238
+ logoUrl: ''
239
+ },
240
+ productCardv2: false
241
+ };
242
+ exports.default = defaultConfig;
@@ -60,7 +60,7 @@ export interface IRetailerSettings {
60
60
  loggingLevelServer?: ILoggingLevel;
61
61
  mainHeaderHeight?: number;
62
62
  maintainCustomerJourney?: boolean;
63
- maintainCustomerPreferences?: boolean;
63
+ maintainCustomerPreferences?: IMaintainCustomerPreferences;
64
64
  mapZoom?: number;
65
65
  minimumCreditCardAmount?: number;
66
66
  nutritionZone?: INutritionZone;
@@ -96,6 +96,7 @@ export interface IFeatureSwitch {
96
96
  entryModalVersion: IEntryModalVersion;
97
97
  addressIntegration: IAddressIntegration;
98
98
  hideAlcoholRule: IShoppingRuleControl;
99
+ addressIntegrationV2: boolean;
99
100
  }
100
101
  export interface ISiteSettings {
101
102
  anonymousCart: boolean;
@@ -132,6 +133,7 @@ export interface IGlobalLayouts {
132
133
  export interface ICouponGalleryLayout {
133
134
  enabled: boolean;
134
135
  galleryIsIframe: boolean;
136
+ galleryHasNavLink: boolean;
135
137
  }
136
138
  export interface ICartSummaryLayout {
137
139
  showTaxTotal: boolean;
@@ -280,6 +282,7 @@ export interface IFeaturesV2 {
280
282
  smartbanner: ISmartBanner;
281
283
  entryModalVersion: IEntryModalVersion;
282
284
  hideAlcoholRule: IShoppingRuleControl;
285
+ addressIntegrationV2: boolean;
283
286
  allowInStorePurchases: boolean;
284
287
  allowPastPurchases: boolean;
285
288
  advertSettings: IAdvertSettings;
@@ -330,7 +333,7 @@ export interface ISiteSettingsV2 {
330
333
  isPlanningOnly: boolean;
331
334
  mainHeaderHeight: number;
332
335
  maintainCustomerJourney: boolean;
333
- maintainCustomerPreferences: boolean;
336
+ maintainCustomerPreferences: IMaintainCustomerPreferences;
334
337
  mapZoom: number;
335
338
  promoTemplateVersion: number;
336
339
  restrictMapPlacesResults: IRestrictMapPlaces;
@@ -500,3 +503,10 @@ export interface IProductDetailsPageLayout {
500
503
  };
501
504
  }
502
505
  export declare type PdpDetailsElementLayout = "productNutrition" | "productIngredients" | "productDescription" | "sodiumWarning" | "productNumber" | "recommendations" | "productSalesInfo" | string;
506
+ export declare type IConfigurableCustomerPreference = "marketingPreferences";
507
+ export interface IMaintainCustomerPreferences {
508
+ enabled: boolean;
509
+ sections: {
510
+ [key in IConfigurableCustomerPreference]: string[];
511
+ };
512
+ }
@@ -59,6 +59,12 @@ var FeatureSettingsChildren = {
59
59
  helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/3274571877/Additional+Charges",
60
60
  type: exports.AdminTemplateInputTypes.checkbox,
61
61
  },
62
+ addressIntegrationV2: {
63
+ title: "addressIntegrationV2",
64
+ description: "Enables addressIntegrationV2.",
65
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/3274571877/AddressIntegrationV2",
66
+ type: exports.AdminTemplateInputTypes.checkbox,
67
+ },
62
68
  clientCache: {
63
69
  title: "Browser API Caching",
64
70
  description: "Enable cache for clients on the browser",
@@ -94,6 +100,29 @@ var FeatureSettingsChildren = {
94
100
  },
95
101
  },
96
102
  },
103
+ couponGallery: {
104
+ title: "Coupon Gallery",
105
+ description: "Enables Coupon Gallery for user to see all available Coupons on one page",
106
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/3429171291/Coupon+Gallery",
107
+ type: exports.AdminTemplateInputTypes.collapsableObject,
108
+ value: {
109
+ enabled: {
110
+ title: "Enable coupon gallery",
111
+ description: "Enable coupon gallery feature, please select another option below to fully activate feature",
112
+ type: exports.AdminTemplateInputTypes.checkbox,
113
+ },
114
+ galleryIsIframe: {
115
+ title: "Enable coupon gallery internal page",
116
+ description: "Enable coupon gallery Iframe feature within the app",
117
+ type: exports.AdminTemplateInputTypes.checkbox,
118
+ },
119
+ galleryHasNavLink: {
120
+ title: "Enable coupon gallery external page",
121
+ description: "Enable coupon gallery link to external page not in the app",
122
+ type: exports.AdminTemplateInputTypes.checkbox,
123
+ },
124
+ },
125
+ },
97
126
  vouchers: {
98
127
  title: "Voucher",
99
128
  description: "Enables voucher on checkout page (requires integration).",
@@ -360,7 +389,14 @@ var SiteSettingsChildren = {
360
389
  title: "Maintain customer preferences",
361
390
  description: "View and modify customer preferences: marketing preferences, substitution preferences, etc.",
362
391
  helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/3405381666/Maintain+customer+preferences",
363
- type: exports.AdminTemplateInputTypes.checkbox,
392
+ type: exports.AdminTemplateInputTypes.collapsableObject,
393
+ value: {
394
+ enabled: {
395
+ title: "Enable",
396
+ description: "Enable Maintain customer preferences",
397
+ type: exports.AdminTemplateInputTypes.checkbox,
398
+ },
399
+ }
364
400
  },
365
401
  retailerCountry: {
366
402
  title: "Retailer country",
@@ -31,7 +31,12 @@ var DefaultConfigSFUI = {
31
31
  isPlanningOnly: false,
32
32
  mapZoom: 8,
33
33
  maintainCustomerJourney: true,
34
- maintainCustomerPreferences: false,
34
+ maintainCustomerPreferences: {
35
+ enabled: false,
36
+ sections: {
37
+ marketingPreferences: []
38
+ }
39
+ },
35
40
  promoTemplateVersion: 1,
36
41
  retailerCountry: "us",
37
42
  retailerName: "default",
@@ -85,6 +90,7 @@ var DefaultConfigSFUI = {
85
90
  },
86
91
  entryModalVersion: "entry",
87
92
  hideAlcoholRule: { modal: false, pdp: false },
93
+ addressIntegrationV2: false,
88
94
  allowInStorePurchases: false,
89
95
  allowPastPurchases: true,
90
96
  advertSettings: {},
@@ -119,6 +125,7 @@ var DefaultConfigSFUI = {
119
125
  couponGallery: {
120
126
  enabled: false,
121
127
  galleryIsIframe: false,
128
+ galleryHasNavLink: false,
122
129
  },
123
130
  },
124
131
  accountPage: {
@@ -0,0 +1,3 @@
1
+ import { IAdminSettingsTemplate, IAdminTemplateInputTypes } from "./interfaces/admin-settings-interfaces";
2
+ export declare const AdminTemplateInputTypes: IAdminTemplateInputTypes;
3
+ export declare const AdminSettingsTemplate: IAdminSettingsTemplate;
@@ -0,0 +1,686 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AdminSettingsTemplate = exports.AdminTemplateInputTypes = void 0;
4
+ exports.AdminTemplateInputTypes = {
5
+ checkbox: "checkbox",
6
+ collapsableObject: "collapsableObject",
7
+ color: "color",
8
+ dropdown: "dropdown",
9
+ inputChar: "inputChar",
10
+ inputNumber: "inputNumber",
11
+ multiDropdown: "multiDropdown",
12
+ nullObject: "nullObject",
13
+ object: "object",
14
+ string: "string",
15
+ };
16
+ var addressValidationDescription = "Sets the validation types for user addresses";
17
+ var validationTypes = [
18
+ "luhnValidation",
19
+ "alphaNumeric",
20
+ "alphaOnly",
21
+ "numericOnly",
22
+ "anyPhone",
23
+ "email",
24
+ "password",
25
+ "required",
26
+ "usPhone",
27
+ "usMobileNumber",
28
+ "caPhone",
29
+ "auPhone",
30
+ "iePhone",
31
+ "caProvince",
32
+ "usState",
33
+ "auState",
34
+ "ieCounty",
35
+ "caPostCode",
36
+ "usPostCode",
37
+ "auPostCode",
38
+ "iePostCode",
39
+ "noSpecialChar",
40
+ "correctDate",
41
+ ];
42
+ exports.AdminSettingsTemplate = {
43
+ adminPanelOnly: {
44
+ title: "Retailer Details",
45
+ description: "",
46
+ type: exports.AdminTemplateInputTypes.object,
47
+ value: {
48
+ bannerName: {
49
+ title: "Name of the Retailer",
50
+ description: "Only used to identify the banner in the admin panel",
51
+ type: exports.AdminTemplateInputTypes.inputChar,
52
+ },
53
+ logoUrl: {
54
+ title: "Name of the Retailer",
55
+ description: "Only used to identify the banner in the admin panel",
56
+ type: exports.AdminTemplateInputTypes.inputChar,
57
+ },
58
+ },
59
+ },
60
+ additionalCharges: {
61
+ title: "Additional Charges",
62
+ description: "Enables additional charging such as tipping, donations etc.",
63
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/3274571877/Additional+Charges",
64
+ type: exports.AdminTemplateInputTypes.checkbox,
65
+ },
66
+ addressIntegration: {
67
+ title: "Address Integration",
68
+ description: "Use external address integration",
69
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/1594065051/Storefront+configuration+-+from+theme+repo",
70
+ type: exports.AdminTemplateInputTypes.object,
71
+ value: {
72
+ enabled: {
73
+ title: "Enabled",
74
+ description: "Enables external address integration",
75
+ type: exports.AdminTemplateInputTypes.checkbox,
76
+ },
77
+ getAddressesUrl: {
78
+ title: "Get Address Url",
79
+ description: "Set the get address url",
80
+ type: exports.AdminTemplateInputTypes.inputChar,
81
+ },
82
+ getLocationUrl: {
83
+ title: "Get Location Url",
84
+ description: "Set the get location url",
85
+ type: exports.AdminTemplateInputTypes.inputChar,
86
+ },
87
+ addressFinderType: {
88
+ title: "Address Finder Type",
89
+ description: "Select the address finder type",
90
+ type: exports.AdminTemplateInputTypes.dropdown,
91
+ options: ["AUS", "EU", "IE", "US", "UK", "CA"],
92
+ },
93
+ },
94
+ },
95
+ allowInStorePurchases: {
96
+ title: "InStore Purchases",
97
+ description: "Show the purchases made in store in the order history (requires integration).",
98
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/3274375221/AllowInStorePurchases",
99
+ type: exports.AdminTemplateInputTypes.checkbox,
100
+ },
101
+ allowPastPurchases: {
102
+ title: "Display PastPurchases",
103
+ description: "Enable displaying past purchases functionality",
104
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/3274637365/AllowPastPurchases",
105
+ type: exports.AdminTemplateInputTypes.checkbox,
106
+ },
107
+ cacheTimeMins: {
108
+ title: "Production Cache time",
109
+ description: "How long data will be cached to make the site faster. (1 = 1minute)",
110
+ type: exports.AdminTemplateInputTypes.inputNumber,
111
+ },
112
+ addressValidationTypes: {
113
+ title: "Address Validation",
114
+ description: "User address validation settings.",
115
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/3274670143/Address+Validation",
116
+ type: exports.AdminTemplateInputTypes.object,
117
+ value: {
118
+ firstName: {
119
+ title: "User's first name",
120
+ description: addressValidationDescription,
121
+ type: exports.AdminTemplateInputTypes.multiDropdown,
122
+ options: ["alphaNumeric", "alphaOnly", "required"],
123
+ },
124
+ familyName: {
125
+ title: "User's Surname",
126
+ description: addressValidationDescription,
127
+ type: exports.AdminTemplateInputTypes.multiDropdown,
128
+ options: ["alphaNumeric", "alphaOnly", "required"],
129
+ },
130
+ addressLine1: {
131
+ title: "Address Line 1",
132
+ description: addressValidationDescription,
133
+ type: exports.AdminTemplateInputTypes.multiDropdown,
134
+ options: ["alphaNumeric", "alphaOnly", "numericOnly", "required"],
135
+ },
136
+ addressLine2: {
137
+ title: "Address Line 2",
138
+ description: addressValidationDescription,
139
+ type: exports.AdminTemplateInputTypes.multiDropdown,
140
+ options: ["alphaNumeric", "alphaOnly", "numericOnly", "required"],
141
+ },
142
+ city: {
143
+ title: "City",
144
+ description: addressValidationDescription,
145
+ type: exports.AdminTemplateInputTypes.multiDropdown,
146
+ options: ["alphaNumeric", "alphaOnly", "required"],
147
+ },
148
+ countyProvinceState: {
149
+ title: "County/Province/State",
150
+ description: addressValidationDescription,
151
+ type: exports.AdminTemplateInputTypes.multiDropdown,
152
+ options: [
153
+ "alphaNumeric",
154
+ "alphaOnly",
155
+ "auState",
156
+ "ieCounty",
157
+ "usState",
158
+ "caProvince",
159
+ "required",
160
+ ],
161
+ },
162
+ instructions: {
163
+ title: "User Instructions Fields",
164
+ description: "Validation for the input fields for user instructions",
165
+ type: exports.AdminTemplateInputTypes.multiDropdown,
166
+ options: ["alphaNumeric", "alphaOnly", "required", "numericOnly"],
167
+ },
168
+ phoneNumber: {
169
+ title: "Phone Number",
170
+ description: "The number to be used to contact the user",
171
+ type: exports.AdminTemplateInputTypes.multiDropdown,
172
+ options: [
173
+ "usPhone",
174
+ "usMobileNumber",
175
+ "numericOnly",
176
+ "auPhone",
177
+ "caPhone",
178
+ "iePhone",
179
+ "anyPhone",
180
+ "required",
181
+ ],
182
+ },
183
+ postCode: {
184
+ title: "Post / zip code",
185
+ description: addressValidationDescription,
186
+ type: exports.AdminTemplateInputTypes.multiDropdown,
187
+ options: [
188
+ "alphaNumeric",
189
+ "auPostCode",
190
+ "caPostCode",
191
+ "iePostCode",
192
+ "usPostCode",
193
+ "numericOnly",
194
+ "required",
195
+ ],
196
+ },
197
+ },
198
+ },
199
+ accountPage: {
200
+ title: "Account Page",
201
+ description: "Account page settings",
202
+ type: exports.AdminTemplateInputTypes.object,
203
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/3275784302/Account+Page",
204
+ value: {
205
+ loyaltyTab: {
206
+ title: "Loyalty Tab",
207
+ description: "Set up Loyalty Tab on account page",
208
+ type: exports.AdminTemplateInputTypes.object,
209
+ value: {
210
+ enabled: {
211
+ title: "Enable Loyalty Tab",
212
+ description: "Enable Loyalty tab section within My Account page",
213
+ type: exports.AdminTemplateInputTypes.checkbox,
214
+ },
215
+ disabledEdit: {
216
+ title: "Disable Loyalty edit",
217
+ description: "Prevent users to change their loyalty number",
218
+ type: exports.AdminTemplateInputTypes.checkbox,
219
+ },
220
+ loyaltyNumberLength: {
221
+ title: "Loyalty Number Length",
222
+ description: "Control the loyalty number length",
223
+ type: exports.AdminTemplateInputTypes.inputNumber,
224
+ },
225
+ loyaltyNumberPrefix: {
226
+ title: "Loyalty Number Prefix",
227
+ description: "Add hardcoded prefix for loyalty numbers (this will affect the length)",
228
+ type: exports.AdminTemplateInputTypes.inputChar,
229
+ },
230
+ loyaltyValidationType: {
231
+ title: "Loyalty Number Validation",
232
+ description: "Select loyalty validation types",
233
+ type: exports.AdminTemplateInputTypes.multiDropdown,
234
+ options: validationTypes,
235
+ },
236
+ },
237
+ },
238
+ },
239
+ },
240
+ // canadianAddressCompleteKey?: string | undefined;
241
+ // checkout?: IGlobalCheckoutProps;
242
+ checkoutV1: {
243
+ title: "Checkout Version",
244
+ description: "Change your version of the checkout shown to users",
245
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/3276111878/Checkout+Version",
246
+ type: exports.AdminTemplateInputTypes.checkbox,
247
+ },
248
+ // checkoutValidation?: ICheckoutValidation;
249
+ // ctaButtons?: ICtaButtons;
250
+ daysToRemainSignedIn: {
251
+ title: "Sign In Days",
252
+ description: "Time in days to remain signed in in the app",
253
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/1594065051/Storefront+configuration+-+from+theme+repo",
254
+ type: exports.AdminTemplateInputTypes.inputNumber,
255
+ },
256
+ defaultCountry: {
257
+ title: "Default Country",
258
+ description: "Used for address, phone validation & ui formating.",
259
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/3273752757/Default+Country",
260
+ type: exports.AdminTemplateInputTypes.dropdown,
261
+ options: ["USA", "Canada", "Ireland", "Australia"],
262
+ },
263
+ // defaultSearchParams?: IDefaultSearchParams;
264
+ defaultShoppingMode: {
265
+ title: "Default Shopping Mode",
266
+ description: "Shopping mode the site defaults to when a user lands and has not registered.",
267
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/3272999110/Default+Shopping+Mode",
268
+ type: exports.AdminTemplateInputTypes.dropdown,
269
+ options: ["pickup", "planning", "delivery"],
270
+ },
271
+ defaultStoreLocation: {
272
+ title: "Default Store Location",
273
+ description: "Used to center the store selector map to the retailers region. Without setting this, the map defaults to central Africa.",
274
+ type: exports.AdminTemplateInputTypes.object,
275
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/3275784259/Default+Store+Location",
276
+ value: {
277
+ latitude: {
278
+ title: "Latitude",
279
+ description: "",
280
+ type: exports.AdminTemplateInputTypes.inputNumber,
281
+ },
282
+ longitude: {
283
+ title: "Longitude",
284
+ description: "",
285
+ type: exports.AdminTemplateInputTypes.inputNumber,
286
+ },
287
+ },
288
+ },
289
+ // defaultStoreLocation?: IDefaultStoreLocation;
290
+ disableTprPrice: {
291
+ title: "Disable TPR Price",
292
+ description: "Disable the display of tpr pricing",
293
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/3276177413/Disable+TPR+Price",
294
+ type: exports.AdminTemplateInputTypes.checkbox,
295
+ },
296
+ documentTitle: {
297
+ title: "Document Title",
298
+ description: "Fallback browser page Title if no SEO details are added to the page via the CMS.",
299
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/3275685918/Document+Title",
300
+ type: exports.AdminTemplateInputTypes.inputChar,
301
+ },
302
+ // eircode?: string | null;
303
+ enable3dSecure: {
304
+ title: "Enable 3DSecure",
305
+ description: "Enable 3d secure validation for payment",
306
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/3276144647/Enable+3DSecure",
307
+ type: exports.AdminTemplateInputTypes.checkbox,
308
+ },
309
+ enableGoogleTranslate: {
310
+ title: "Enable Google Translate",
311
+ description: "Enable google translation display and functionality",
312
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/3276275734/Enable+Google+Translate",
313
+ type: exports.AdminTemplateInputTypes.checkbox,
314
+ },
315
+ enableNewsletterSignup: {
316
+ title: "Enable Newsletter",
317
+ description: "Enable newsletter signup functionality",
318
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/3276144678/Enable+Newsletter",
319
+ type: exports.AdminTemplateInputTypes.checkbox,
320
+ },
321
+ enableNotifications: {
322
+ title: "Enable Notifications",
323
+ description: "Enable notifications functionality",
324
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/3276177422/Enable+Notifications",
325
+ type: exports.AdminTemplateInputTypes.checkbox,
326
+ },
327
+ // errorLoggingLevel?: ILoggingLevel;
328
+ // externalApps?: IExternalApps;
329
+ // externalStoreSelectorUrl: {
330
+ // title: "External Store Selector Url",
331
+ // description:
332
+ // "Shows a link back to previous shoping platform, seen on store selection modal.This is generally used for an existing site that has not migrated all their stores to WynShop.",
333
+ // type: "inputChar",
334
+ // },
335
+ favoritesV1: {
336
+ title: "Favorites Version1",
337
+ description: "Enable version 1 of favorites functionality",
338
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/3276144744/Favorites+Version1",
339
+ type: exports.AdminTemplateInputTypes.checkbox,
340
+ },
341
+ features: {
342
+ title: "Features",
343
+ description: "Enable features",
344
+ type: exports.AdminTemplateInputTypes.object,
345
+ value: {
346
+ clientCache: {
347
+ title: "Client Cache",
348
+ description: "Enable cache for clients",
349
+ type: exports.AdminTemplateInputTypes.checkbox,
350
+ },
351
+ },
352
+ },
353
+ flipp: {
354
+ title: "Flipp Circulars",
355
+ description: "Configure Flipp circulars integration",
356
+ type: exports.AdminTemplateInputTypes.nullObject,
357
+ value: {
358
+ version: {
359
+ title: "Version",
360
+ description: "Will you use version 1 or version 2?",
361
+ type: exports.AdminTemplateInputTypes.checkbox,
362
+ },
363
+ retailer: {
364
+ title: "Retailer Name",
365
+ description: "The retailer setting from flipp",
366
+ type: exports.AdminTemplateInputTypes.inputChar,
367
+ },
368
+ merchantId: {
369
+ title: "Merchant Id",
370
+ description: "The merchant Id setting from flipp",
371
+ type: exports.AdminTemplateInputTypes.inputChar,
372
+ },
373
+ accessToken: {
374
+ title: "Access Token",
375
+ description: "The access token setting from flipp",
376
+ type: exports.AdminTemplateInputTypes.inputChar,
377
+ },
378
+ },
379
+ },
380
+ smartbanner: {
381
+ title: "Smart Banner",
382
+ description: "Render smart banner on mobile views",
383
+ type: exports.AdminTemplateInputTypes.object,
384
+ value: {
385
+ enabled: {
386
+ title: "Enable",
387
+ description: "Enable smart banner",
388
+ type: exports.AdminTemplateInputTypes.checkbox,
389
+ },
390
+ title: {
391
+ title: "Title",
392
+ description: "Smart banner title",
393
+ type: exports.AdminTemplateInputTypes.inputChar,
394
+ },
395
+ author: {
396
+ title: "Author",
397
+ description: "Smart banner author",
398
+ type: exports.AdminTemplateInputTypes.inputChar,
399
+ },
400
+ price: {
401
+ title: "Price",
402
+ description: "Smart banner price",
403
+ type: exports.AdminTemplateInputTypes.inputChar,
404
+ },
405
+ priceSuffixApple: {
406
+ title: "Apple Price Suffix",
407
+ description: "Smart banner price suffix for Apple devices",
408
+ type: exports.AdminTemplateInputTypes.inputChar,
409
+ },
410
+ priceSuffixGoogle: {
411
+ title: "Google Price Suffix",
412
+ description: "Smart banner price suffix for Google devices",
413
+ type: exports.AdminTemplateInputTypes.inputChar,
414
+ },
415
+ iconApple: {
416
+ title: "Apple Icon",
417
+ description: "Smart banner icon for Apple devices",
418
+ type: exports.AdminTemplateInputTypes.inputChar,
419
+ },
420
+ iconGoogle: {
421
+ title: "Google Icon",
422
+ description: "Smart banner icon for Google devices",
423
+ type: exports.AdminTemplateInputTypes.inputChar,
424
+ },
425
+ button: {
426
+ title: "Button",
427
+ description: "Smart banner button text",
428
+ type: exports.AdminTemplateInputTypes.inputChar,
429
+ },
430
+ buttonUrlApple: {
431
+ title: "Apple Button Url",
432
+ description: "Smart banner url for Apple button",
433
+ type: exports.AdminTemplateInputTypes.inputChar,
434
+ },
435
+ buttonUrlGoogle: {
436
+ title: "Google Button Url",
437
+ description: "Smart banner url for Google button",
438
+ type: exports.AdminTemplateInputTypes.inputChar,
439
+ },
440
+ closeLabel: {
441
+ title: "Close Label",
442
+ description: "Smart banner label text",
443
+ type: exports.AdminTemplateInputTypes.inputChar,
444
+ },
445
+ },
446
+ },
447
+ // globalAnimations?: IGlobalAnimations;
448
+ // googleAutocompleteSettings?: IGoogleAutocompleteSettings;
449
+ gtmId: {
450
+ title: "GTM ID",
451
+ description: "Google Tag Manager ID",
452
+ type: exports.AdminTemplateInputTypes.inputChar,
453
+ },
454
+ hideTaxOnSummary: {
455
+ title: "Hide Summary Tax",
456
+ description: "Hide the tax displayed on the summary box",
457
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/1594065051/Storefront+configuration+-+from+theme+repo",
458
+ type: exports.AdminTemplateInputTypes.checkbox,
459
+ },
460
+ houseAccountRegExValidation: {
461
+ title: "House Account Validation",
462
+ description: "Regular expression to validate house accounts",
463
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/3276144701/House+Account+Validation",
464
+ type: exports.AdminTemplateInputTypes.inputChar,
465
+ },
466
+ // idpTarget:{
467
+ // title: "Idp Target",
468
+ // description: "Idp opens on the same or a new tab",
469
+ // type: AdminTemplateInputTypes.dropdown,
470
+ // options: ["_self", "_blank"],
471
+ // },
472
+ // idpUrl: {
473
+ // title: 'External IDP url',
474
+ // description: 'Is the user using ther own IDP or will they be using the Mi9 My Account functionality for Sign-In / Register and managing the customer account. If Null then Mi9 My Account funcationality will be used.',
475
+ // type: "nullObject",
476
+ // value: {}
477
+ // },
478
+ // instacartUrl?: string | undefined;
479
+ isPlanningOnly: {
480
+ title: "Planning Only",
481
+ description: "Enable if planning mode is the only available shopping method",
482
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/1594065051/Storefront+configuration+-+from+theme+repo",
483
+ type: exports.AdminTemplateInputTypes.checkbox,
484
+ },
485
+ // layout?: ILayoutSettings;
486
+ limitProductCardTitleHeight: {
487
+ title: "Limit Product Card Title",
488
+ description: "Restricts the product card title height display",
489
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/3276144711/Limit+Product+Card+Title",
490
+ type: exports.AdminTemplateInputTypes.checkbox,
491
+ },
492
+ // loggingLevelClient: {
493
+ // title: "Client logging Level",
494
+ // description: "Sets client's logging detail level",
495
+ // helpLink:
496
+ // "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/1594065051/Storefront+configuration+-+from+theme+repo",
497
+ // type: AdminTemplateInputTypes.checkbox,
498
+ // },
499
+ // loggingLevelServer?: ILoggingLevel;
500
+ mainHeaderHeight: {
501
+ title: "Main Header Height",
502
+ description: "Use to set the main header height in pixels",
503
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/1594065051/Storefront+configuration+-+from+theme+repo",
504
+ type: exports.AdminTemplateInputTypes.inputNumber,
505
+ },
506
+ mapZoom: {
507
+ title: "Map Zoom",
508
+ description: "Use to change the google maps zoom level",
509
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/1594065051/Storefront+configuration+-+from+theme+repo",
510
+ type: exports.AdminTemplateInputTypes.inputNumber,
511
+ },
512
+ minimumCreditCardAmount: {
513
+ title: "Minimum Credit Card Amount",
514
+ description: "Use to set the minimum credit card amount",
515
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/1594065051/Storefront+configuration+-+from+theme+repo",
516
+ type: exports.AdminTemplateInputTypes.checkbox,
517
+ },
518
+ nutritionZone: {
519
+ title: "Nutrition Template",
520
+ description: "Show the correct nutrition format for the correct zone.",
521
+ type: exports.AdminTemplateInputTypes.dropdown,
522
+ options: ["us", "eu", "au", "ca"],
523
+ },
524
+ // paymentCards?: IPaymentCards;
525
+ // pdpDetailsLayout?: IPdpDetailsLayout;
526
+ productCardTitleHeight: {
527
+ title: "Product Card Title Height",
528
+ description: "Set the product card title height in pixels",
529
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/1594065051/Storefront+configuration+-+from+theme+repo",
530
+ type: exports.AdminTemplateInputTypes.inputNumber,
531
+ },
532
+ productCardv2: {
533
+ title: "use product card v2",
534
+ description: "use product card v2",
535
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/1594065051/Storefront+configuration+-+from+theme+repo",
536
+ type: exports.AdminTemplateInputTypes.checkbox,
537
+ },
538
+ // TODO: this is set to number in main interface, should be fixed numbers
539
+ promoTemplateVersion: {
540
+ title: "Promo Template Version",
541
+ description: "Select a template version to show promotions",
542
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/1594065051/Storefront+configuration+-+from+theme+repo",
543
+ type: exports.AdminTemplateInputTypes.dropdown,
544
+ options: [1, 2, 3],
545
+ },
546
+ // registrationFields?: IRegistrationField[];
547
+ // restrictMapPlacesResults?: IRestrictMapPlaces;
548
+ retailerCountry: {
549
+ title: "Retailer country",
550
+ description: "Select the retailer country",
551
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/1594065051/Storefront+configuration+-+from+theme+repo",
552
+ type: exports.AdminTemplateInputTypes.dropdown,
553
+ options: ["us", "ca", "ie", "au"],
554
+ },
555
+ retailerName: {
556
+ title: "Retailer Name",
557
+ description: "Retailers short code e.g the code used for the retailers environment.",
558
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/1594065051/Storefront+configuration+-+from+theme+repo",
559
+ type: exports.AdminTemplateInputTypes.inputChar,
560
+ },
561
+ searchPreview: {
562
+ title: "Search Previews",
563
+ description: "Toggle Products/Suggestions to appear on search preview",
564
+ type: exports.AdminTemplateInputTypes.object,
565
+ value: {
566
+ desktop: {
567
+ title: "Desktop",
568
+ description: "",
569
+ type: exports.AdminTemplateInputTypes.object,
570
+ value: {
571
+ products: {
572
+ title: "Show Products",
573
+ description: "",
574
+ type: exports.AdminTemplateInputTypes.checkbox,
575
+ },
576
+ suggestions: {
577
+ title: "Show Suggestions",
578
+ description: "",
579
+ type: exports.AdminTemplateInputTypes.checkbox,
580
+ },
581
+ },
582
+ },
583
+ mobile: {
584
+ title: "Mobile",
585
+ description: "",
586
+ type: exports.AdminTemplateInputTypes.object,
587
+ value: {
588
+ products: {
589
+ title: "Show Products",
590
+ description: "",
591
+ type: exports.AdminTemplateInputTypes.checkbox,
592
+ },
593
+ suggestions: {
594
+ title: "Snow Suggestions",
595
+ description: "",
596
+ type: exports.AdminTemplateInputTypes.checkbox,
597
+ },
598
+ },
599
+ },
600
+ },
601
+ },
602
+ // secondTierAuthorization: {
603
+ // title: "Second Tier Authorization",
604
+ // description: "Enable second tier authorization",
605
+ // helpLink:
606
+ // "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/1594065051/Storefront+configuration+-+from+theme+repo",
607
+ // type: AdminTemplateInputTypes.nullObject,
608
+ // value: {
609
+ // time: {
610
+ // title: "Time",
611
+ // description: "Time selection",
612
+ // type: AdminTemplateInputTypes.dropdown,
613
+ // value: [undefined, null, number]
614
+ // },
615
+ // },
616
+ // },
617
+ showCheckoutPromoCode: {
618
+ title: "Show Checkout Promo",
619
+ description: "Show checkout promotion code",
620
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/1594065051/Storefront+configuration+-+from+theme+repo",
621
+ type: exports.AdminTemplateInputTypes.checkbox,
622
+ },
623
+ showImgOnOrder: {
624
+ title: "Show Image On Order",
625
+ description: "Show images on order",
626
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/1594065051/Storefront+configuration+-+from+theme+repo",
627
+ type: exports.AdminTemplateInputTypes.checkbox,
628
+ },
629
+ smsNotifications: {
630
+ title: "SMS Notifications",
631
+ description: "Configure SMS Notifications integration",
632
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/1594065051/Storefront+configuration+-+from+theme+repo",
633
+ type: exports.AdminTemplateInputTypes.object,
634
+ value: {
635
+ enabled: {
636
+ title: "Enable",
637
+ description: "Enable SMS Notifications integration",
638
+ type: exports.AdminTemplateInputTypes.checkbox,
639
+ },
640
+ getEnrollmentUrl: {
641
+ title: "Get Url",
642
+ description: "Get enrollment url",
643
+ type: exports.AdminTemplateInputTypes.inputChar,
644
+ },
645
+ postEnrollmentUrl: {
646
+ title: "Post Url",
647
+ description: "Post enrollment url",
648
+ type: exports.AdminTemplateInputTypes.inputChar,
649
+ },
650
+ },
651
+ },
652
+ subHeaderHeight: {
653
+ title: "Subheader Height",
654
+ description: "Use to set the sub header height in pixels",
655
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/1594065051/Storefront+configuration+-+from+theme+repo",
656
+ type: exports.AdminTemplateInputTypes.inputNumber,
657
+ },
658
+ timeslotModalSettings: {
659
+ title: "Timeslot Modal Settings",
660
+ description: "Force timeslot selection",
661
+ type: exports.AdminTemplateInputTypes.object,
662
+ value: {
663
+ showOnAddToCart: {
664
+ title: "Timeslot on Add To Cart",
665
+ description: "Show timeslot popup when user clicks on AddToCart",
666
+ type: exports.AdminTemplateInputTypes.checkbox,
667
+ },
668
+ timeslotRequiredToAddToCart: {
669
+ title: "Force Timeslot on Add To Cart",
670
+ description: "Force a timeslot selection in order to add item in cart",
671
+ type: exports.AdminTemplateInputTypes.checkbox,
672
+ },
673
+ timeslotRequiredToViewCartReview: {
674
+ title: "Force Timeslot on Cart Page",
675
+ description: "Force a timeslot selection in order to view cart page",
676
+ type: exports.AdminTemplateInputTypes.checkbox,
677
+ },
678
+ },
679
+ },
680
+ useAddressValidation: {
681
+ title: "Use Address Validation",
682
+ description: "Use to enable address validation",
683
+ helpLink: "https://mi9retail.atlassian.net/wiki/spaces/FDS/pages/3274670143/useAddressValidation",
684
+ type: exports.AdminTemplateInputTypes.checkbox,
685
+ },
686
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thryveai/theme-interfaces",
3
- "version": "2.4.7",
3
+ "version": "2.4.10",
4
4
  "description": "Shared interfaces and defaults for all Wynshop themed apps.",
5
5
  "scripts": {
6
6
  "build": "tsc",