@goldenhippo/builder-cart-schemas 0.1.0
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.
- package/README.md +141 -0
- package/dist/data/index.d.mts +604 -0
- package/dist/data/index.d.ts +604 -0
- package/dist/data/index.js +3487 -0
- package/dist/data/index.js.map +1 -0
- package/dist/data/index.mjs +3476 -0
- package/dist/data/index.mjs.map +1 -0
- package/dist/index.d.mts +5 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +4233 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +4219 -0
- package/dist/index.mjs.map +1 -0
- package/dist/page/index.d.mts +147 -0
- package/dist/page/index.d.ts +147 -0
- package/dist/page/index.js +691 -0
- package/dist/page/index.js.map +1 -0
- package/dist/page/index.mjs +689 -0
- package/dist/page/index.mjs.map +1 -0
- package/dist/section/index.d.mts +22 -0
- package/dist/section/index.d.ts +22 -0
- package/dist/section/index.js +63 -0
- package/dist/section/index.js.map +1 -0
- package/dist/section/index.mjs +60 -0
- package/dist/section/index.mjs.map +1 -0
- package/package.json +100 -0
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,4219 @@
|
|
|
1
|
+
// src/data/brand-config/sections/header-config.ts
|
|
2
|
+
var headerOptions = {
|
|
3
|
+
basic: {
|
|
4
|
+
name: "basicHeaderConfig",
|
|
5
|
+
showIf: "return options.get('headerType') === 'BASIC'",
|
|
6
|
+
friendlyName: "Basic Menu Config",
|
|
7
|
+
type: "object",
|
|
8
|
+
defaultCollapsed: true,
|
|
9
|
+
localized: false,
|
|
10
|
+
subFields: [
|
|
11
|
+
{
|
|
12
|
+
"@type": "@builder.io/core:Field",
|
|
13
|
+
name: "logoImage",
|
|
14
|
+
friendlyName: "Logo Image",
|
|
15
|
+
type: "file",
|
|
16
|
+
showTemplatePicker: true,
|
|
17
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"],
|
|
18
|
+
required: false,
|
|
19
|
+
localized: true,
|
|
20
|
+
defaultCollapsed: true,
|
|
21
|
+
helperText: "Image displayed in the header"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"@type": "@builder.io/core:Field",
|
|
25
|
+
name: "mobileLinks",
|
|
26
|
+
friendlyName: "Mobile Links",
|
|
27
|
+
helperText: "Links to display in the mobile dropdown menu",
|
|
28
|
+
type: "list",
|
|
29
|
+
localized: true,
|
|
30
|
+
defaultCollapsed: true,
|
|
31
|
+
subFields: [
|
|
32
|
+
{
|
|
33
|
+
name: "title",
|
|
34
|
+
friendlyName: "Mobile Link Title",
|
|
35
|
+
helperText: "Title for the mobile link",
|
|
36
|
+
type: "text",
|
|
37
|
+
localized: true,
|
|
38
|
+
defaultCollapsed: true,
|
|
39
|
+
required: true
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: "href",
|
|
43
|
+
friendlyName: "Link URL",
|
|
44
|
+
helperText: "URL for the mobile link",
|
|
45
|
+
type: "url",
|
|
46
|
+
localized: false,
|
|
47
|
+
required: true,
|
|
48
|
+
defaultCollapsed: true
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
name: "newTab",
|
|
52
|
+
friendlyName: "New Tab",
|
|
53
|
+
helperText: "When true, this link will open in a new tab",
|
|
54
|
+
type: "boolean",
|
|
55
|
+
localized: false,
|
|
56
|
+
defaultCollapsed: true
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
name: "cssClasses",
|
|
60
|
+
friendlyName: "CSS Classes",
|
|
61
|
+
helperText: "Used for VWO targeting",
|
|
62
|
+
type: "Tags",
|
|
63
|
+
localized: false,
|
|
64
|
+
defaultCollapsed: true
|
|
65
|
+
}
|
|
66
|
+
]
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: "desktopLinks",
|
|
70
|
+
friendlyName: "Desktop Links",
|
|
71
|
+
helperText: "Links to display in the desktop menu",
|
|
72
|
+
type: "list",
|
|
73
|
+
localized: true,
|
|
74
|
+
defaultCollapsed: true,
|
|
75
|
+
subFields: [
|
|
76
|
+
{
|
|
77
|
+
name: "title",
|
|
78
|
+
friendlyName: "Desktop Link Title",
|
|
79
|
+
helperText: "Title for the desktop link",
|
|
80
|
+
type: "text",
|
|
81
|
+
localized: true,
|
|
82
|
+
defaultCollapsed: true,
|
|
83
|
+
required: true
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
name: "href",
|
|
87
|
+
friendlyName: "Link URL",
|
|
88
|
+
helperText: "URL for the mobile link",
|
|
89
|
+
type: "url",
|
|
90
|
+
localized: false,
|
|
91
|
+
defaultCollapsed: true,
|
|
92
|
+
required: true
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
name: "newTab",
|
|
96
|
+
friendlyName: "New Tab",
|
|
97
|
+
helperText: "When true, this link will open in a new tab",
|
|
98
|
+
type: "boolean",
|
|
99
|
+
localized: false,
|
|
100
|
+
defaultCollapsed: true
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
name: "cssClasses",
|
|
104
|
+
friendlyName: "CSS Classes",
|
|
105
|
+
helperText: "Used for VWO targeting",
|
|
106
|
+
type: "Tags",
|
|
107
|
+
localized: false,
|
|
108
|
+
defaultCollapsed: true
|
|
109
|
+
}
|
|
110
|
+
]
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
name: "ctas",
|
|
114
|
+
friendlyName: "Call To Action",
|
|
115
|
+
helperText: "Call to action button(s) to display",
|
|
116
|
+
type: "list",
|
|
117
|
+
localized: true,
|
|
118
|
+
defaultCollapsed: true,
|
|
119
|
+
subFields: [
|
|
120
|
+
{
|
|
121
|
+
name: "title",
|
|
122
|
+
friendlyName: "Desktop Link Title",
|
|
123
|
+
helperText: "Title for the desktop link",
|
|
124
|
+
type: "text",
|
|
125
|
+
localized: false,
|
|
126
|
+
defaultCollapsed: true,
|
|
127
|
+
required: true
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
name: "href",
|
|
131
|
+
friendlyName: "Link URL",
|
|
132
|
+
helperText: "URL for the mobile link",
|
|
133
|
+
type: "url",
|
|
134
|
+
localized: false,
|
|
135
|
+
defaultCollapsed: true,
|
|
136
|
+
required: true
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
name: "type",
|
|
140
|
+
friendlyName: "CTA Type",
|
|
141
|
+
helperText: "Select the type of CTA to display",
|
|
142
|
+
type: "select",
|
|
143
|
+
localized: false,
|
|
144
|
+
defaultCollapsed: true,
|
|
145
|
+
required: true,
|
|
146
|
+
defaultValue: "primary",
|
|
147
|
+
enum: [
|
|
148
|
+
"primary" /* PRIMARY */,
|
|
149
|
+
"secondary" /* SECONDARY */,
|
|
150
|
+
"outline" /* OUTLINE */,
|
|
151
|
+
"link" /* LINK */
|
|
152
|
+
]
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
name: "newTab",
|
|
156
|
+
friendlyName: "New Tab",
|
|
157
|
+
helperText: "When true, this link will open in a new tab",
|
|
158
|
+
type: "boolean",
|
|
159
|
+
localized: false,
|
|
160
|
+
defaultCollapsed: true
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
name: "cssClasses",
|
|
164
|
+
friendlyName: "CSS Classes",
|
|
165
|
+
helperText: "Used for VWO targeting",
|
|
166
|
+
type: "Tags",
|
|
167
|
+
localized: false,
|
|
168
|
+
defaultCollapsed: true
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
name: "hideOnMobile",
|
|
172
|
+
friendlyName: "Hide on Mobile",
|
|
173
|
+
helperText: "Set to true to disable this CTA on mobile devices",
|
|
174
|
+
type: "boolean",
|
|
175
|
+
localized: false,
|
|
176
|
+
defaultCollapsed: true
|
|
177
|
+
}
|
|
178
|
+
]
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
name: "myAccountGuest",
|
|
182
|
+
friendlyName: "MyAccount Menu Links - Guest",
|
|
183
|
+
helperText: "Links to show under the My Account menu when the user is logged out.",
|
|
184
|
+
type: "list",
|
|
185
|
+
localized: true,
|
|
186
|
+
defaultCollapsed: true,
|
|
187
|
+
subFields: [
|
|
188
|
+
{
|
|
189
|
+
name: "title",
|
|
190
|
+
friendlyName: "Desktop Link Title",
|
|
191
|
+
helperText: "Title for the desktop link",
|
|
192
|
+
type: "text",
|
|
193
|
+
localized: false,
|
|
194
|
+
defaultCollapsed: true,
|
|
195
|
+
required: true
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
name: "href",
|
|
199
|
+
friendlyName: "Link URL",
|
|
200
|
+
helperText: "URL for the mobile link",
|
|
201
|
+
type: "url",
|
|
202
|
+
localized: false,
|
|
203
|
+
defaultCollapsed: true,
|
|
204
|
+
required: true
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
name: "icon",
|
|
208
|
+
friendlyName: "Icon",
|
|
209
|
+
type: "file",
|
|
210
|
+
showTemplatePicker: true,
|
|
211
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"],
|
|
212
|
+
required: false,
|
|
213
|
+
defaultCollapsed: true,
|
|
214
|
+
helperText: "Link icon"
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
name: "newTab",
|
|
218
|
+
friendlyName: "New Tab",
|
|
219
|
+
helperText: "When true, this link will open in a new tab",
|
|
220
|
+
type: "boolean",
|
|
221
|
+
localized: false,
|
|
222
|
+
defaultCollapsed: true
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
name: "cssClasses",
|
|
226
|
+
friendlyName: "CSS Classes",
|
|
227
|
+
helperText: "Used for VWO targeting",
|
|
228
|
+
type: "Tags",
|
|
229
|
+
localized: false,
|
|
230
|
+
defaultCollapsed: true
|
|
231
|
+
}
|
|
232
|
+
]
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
name: "myAccountAuthorized",
|
|
236
|
+
friendlyName: "MyAccount Menu Links - Logged In",
|
|
237
|
+
helperText: "Links to show under the My Account menu when the user is logged in.",
|
|
238
|
+
type: "list",
|
|
239
|
+
localized: true,
|
|
240
|
+
defaultCollapsed: true,
|
|
241
|
+
subFields: [
|
|
242
|
+
{
|
|
243
|
+
name: "title",
|
|
244
|
+
friendlyName: "Desktop Link Title",
|
|
245
|
+
helperText: "Title for the desktop link",
|
|
246
|
+
type: "text",
|
|
247
|
+
localized: false,
|
|
248
|
+
defaultCollapsed: true,
|
|
249
|
+
required: true
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
name: "href",
|
|
253
|
+
friendlyName: "Link URL",
|
|
254
|
+
helperText: "URL for the mobile link",
|
|
255
|
+
type: "url",
|
|
256
|
+
localized: false,
|
|
257
|
+
defaultCollapsed: true,
|
|
258
|
+
required: true
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
name: "icon",
|
|
262
|
+
friendlyName: "Icon",
|
|
263
|
+
type: "file",
|
|
264
|
+
showTemplatePicker: true,
|
|
265
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"],
|
|
266
|
+
required: false,
|
|
267
|
+
defaultCollapsed: true,
|
|
268
|
+
helperText: "Link icon"
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
name: "newTab",
|
|
272
|
+
friendlyName: "New Tab",
|
|
273
|
+
helperText: "When true, this link will open in a new tab",
|
|
274
|
+
type: "boolean",
|
|
275
|
+
localized: false,
|
|
276
|
+
defaultCollapsed: true
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
name: "cssClasses",
|
|
280
|
+
friendlyName: "CSS Classes",
|
|
281
|
+
helperText: "Used for VWO targeting",
|
|
282
|
+
type: "Tags",
|
|
283
|
+
localized: false,
|
|
284
|
+
defaultCollapsed: true
|
|
285
|
+
}
|
|
286
|
+
]
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
name: "stickyHeader",
|
|
290
|
+
type: "object",
|
|
291
|
+
friendlyName: "Sticky Header Configuration",
|
|
292
|
+
defaultCollapsed: true,
|
|
293
|
+
localized: false,
|
|
294
|
+
subFields: [
|
|
295
|
+
{
|
|
296
|
+
name: "enabled",
|
|
297
|
+
type: "boolean",
|
|
298
|
+
friendlyName: "Enabled?",
|
|
299
|
+
defaultCollapsed: true,
|
|
300
|
+
localized: false
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
name: "backgroundColor",
|
|
304
|
+
type: "color",
|
|
305
|
+
friendlyName: "Background Color",
|
|
306
|
+
defaultCollapsed: true,
|
|
307
|
+
localized: false,
|
|
308
|
+
helperText: "The header background color at the top of the page. Leave blank for a transparent header"
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
name: "scrollBackgroundColor",
|
|
312
|
+
type: "color",
|
|
313
|
+
friendlyName: "Background Color - Scroll",
|
|
314
|
+
defaultCollapsed: true,
|
|
315
|
+
localized: false,
|
|
316
|
+
helperText: "The header background color while scrolling. Leave blank for a transparent header",
|
|
317
|
+
defaultValue: "#FFFFFF"
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
name: "scrollLogo",
|
|
321
|
+
friendlyName: "Scroll Logo",
|
|
322
|
+
type: "file",
|
|
323
|
+
showTemplatePicker: true,
|
|
324
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"],
|
|
325
|
+
required: false,
|
|
326
|
+
localized: true,
|
|
327
|
+
defaultCollapsed: true,
|
|
328
|
+
helperText: "Image displayed in the header while scrolling. Leave blank to use the default header logo"
|
|
329
|
+
}
|
|
330
|
+
]
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
name: "showLocaleSelection",
|
|
334
|
+
type: "boolean",
|
|
335
|
+
friendlyName: "Show Locale Selection?",
|
|
336
|
+
defaultCollapsed: true,
|
|
337
|
+
localized: false,
|
|
338
|
+
helperText: "Show Locale Selection"
|
|
339
|
+
}
|
|
340
|
+
]
|
|
341
|
+
},
|
|
342
|
+
medium: {
|
|
343
|
+
"@type": "@builder.io/core:Field",
|
|
344
|
+
name: "mediumHeaderConfig",
|
|
345
|
+
friendlyName: "Medium Header Configuration",
|
|
346
|
+
type: "object",
|
|
347
|
+
showIf: "return options.get('headerType') === 'MEDIUM'",
|
|
348
|
+
defaultCollapsed: true,
|
|
349
|
+
localized: false,
|
|
350
|
+
subFields: [
|
|
351
|
+
{
|
|
352
|
+
"@type": "@builder.io/core:Field",
|
|
353
|
+
name: "wrapperID",
|
|
354
|
+
friendlyName: "Wrapper ID",
|
|
355
|
+
helperText: "ID for the medium header wrapper",
|
|
356
|
+
type: "text",
|
|
357
|
+
localized: false,
|
|
358
|
+
defaultValue: "header",
|
|
359
|
+
defaultCollapsed: true
|
|
360
|
+
},
|
|
361
|
+
{
|
|
362
|
+
"@type": "@builder.io/core:Field",
|
|
363
|
+
name: "wrapperClasses",
|
|
364
|
+
friendlyName: "Wrapper Classes",
|
|
365
|
+
helperText: "CSS classes for the medium header wrapper",
|
|
366
|
+
type: "text",
|
|
367
|
+
localized: false,
|
|
368
|
+
defaultCollapsed: true
|
|
369
|
+
},
|
|
370
|
+
{
|
|
371
|
+
"@type": "@builder.io/core:Field",
|
|
372
|
+
name: "showShippingMessage",
|
|
373
|
+
friendlyName: "Show Shipping Message",
|
|
374
|
+
helperText: "Display the free shipping message on the mega menu",
|
|
375
|
+
type: "boolean",
|
|
376
|
+
localized: true,
|
|
377
|
+
defaultCollapsed: true
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
"@type": "@builder.io/core:Field",
|
|
381
|
+
name: "mobileMenu",
|
|
382
|
+
friendlyName: "Mobile Menu",
|
|
383
|
+
helperText: "Mobile menu configuration for the medium header",
|
|
384
|
+
type: "object",
|
|
385
|
+
localized: false,
|
|
386
|
+
defaultCollapsed: true,
|
|
387
|
+
subFields: [
|
|
388
|
+
{
|
|
389
|
+
"@type": "@builder.io/core:Field",
|
|
390
|
+
name: "logo",
|
|
391
|
+
friendlyName: "Logo",
|
|
392
|
+
helperText: "Logo for the mobile header",
|
|
393
|
+
type: "file",
|
|
394
|
+
showTemplatePicker: true,
|
|
395
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"],
|
|
396
|
+
localized: false,
|
|
397
|
+
defaultCollapsed: true
|
|
398
|
+
},
|
|
399
|
+
{
|
|
400
|
+
"@type": "@builder.io/core:Field",
|
|
401
|
+
name: "logoClasses",
|
|
402
|
+
friendlyName: "Logo Classes",
|
|
403
|
+
helperText: "CSS classes for the mobile logo",
|
|
404
|
+
type: "text",
|
|
405
|
+
localized: false,
|
|
406
|
+
defaultCollapsed: true
|
|
407
|
+
},
|
|
408
|
+
{
|
|
409
|
+
"@type": "@builder.io/core:Field",
|
|
410
|
+
name: "navClasses",
|
|
411
|
+
friendlyName: "Navigation Classes",
|
|
412
|
+
helperText: "CSS classes for the mobile navigation",
|
|
413
|
+
type: "text",
|
|
414
|
+
localized: false,
|
|
415
|
+
defaultCollapsed: true
|
|
416
|
+
},
|
|
417
|
+
{
|
|
418
|
+
"@type": "@builder.io/core:Field",
|
|
419
|
+
name: "dropDownWrapperClasses",
|
|
420
|
+
friendlyName: "Dropdown Wrapper Classes",
|
|
421
|
+
helperText: "CSS classes for the dropdown wrapper",
|
|
422
|
+
type: "text",
|
|
423
|
+
localized: false,
|
|
424
|
+
required: false,
|
|
425
|
+
defaultCollapsed: true
|
|
426
|
+
},
|
|
427
|
+
{
|
|
428
|
+
"@type": "@builder.io/core:Field",
|
|
429
|
+
name: "dropDownContent",
|
|
430
|
+
friendlyName: "Dropdown Content",
|
|
431
|
+
helperText: "Content to display in the dropdown",
|
|
432
|
+
type: "list",
|
|
433
|
+
localized: false,
|
|
434
|
+
required: false,
|
|
435
|
+
defaultCollapsed: true,
|
|
436
|
+
subFields: [
|
|
437
|
+
{
|
|
438
|
+
"@type": "@builder.io/core:Field",
|
|
439
|
+
name: "type",
|
|
440
|
+
friendlyName: "Dropdown Type",
|
|
441
|
+
helperText: "Select the type of dropdown content",
|
|
442
|
+
type: "select",
|
|
443
|
+
enum: [
|
|
444
|
+
"search" /* SEARCH */,
|
|
445
|
+
"links" /* LINKS */,
|
|
446
|
+
"accountLinks" /* ACCOUNT_LINKS */,
|
|
447
|
+
"html" /* HTML */,
|
|
448
|
+
"timedHtml" /* TIMED_HTML */
|
|
449
|
+
],
|
|
450
|
+
defaultValue: "links",
|
|
451
|
+
localized: false,
|
|
452
|
+
defaultCollapsed: true
|
|
453
|
+
},
|
|
454
|
+
{
|
|
455
|
+
"@type": "@builder.io/core:Field",
|
|
456
|
+
name: "links",
|
|
457
|
+
friendlyName: "Links",
|
|
458
|
+
helperText: "Links for this dropdown",
|
|
459
|
+
type: "list",
|
|
460
|
+
localized: false,
|
|
461
|
+
defaultCollapsed: true,
|
|
462
|
+
subFields: [
|
|
463
|
+
{
|
|
464
|
+
"@type": "@builder.io/core:Field",
|
|
465
|
+
name: "itemClasses",
|
|
466
|
+
friendlyName: "Item Classes",
|
|
467
|
+
helperText: "CSS classes for the link item",
|
|
468
|
+
type: "text",
|
|
469
|
+
localized: false,
|
|
470
|
+
defaultCollapsed: true
|
|
471
|
+
},
|
|
472
|
+
{
|
|
473
|
+
"@type": "@builder.io/core:Field",
|
|
474
|
+
name: "loggedInOnly",
|
|
475
|
+
friendlyName: "Logged In Only",
|
|
476
|
+
helperText: "Display this link only when the user is logged in",
|
|
477
|
+
type: "boolean",
|
|
478
|
+
localized: false,
|
|
479
|
+
defaultCollapsed: true
|
|
480
|
+
},
|
|
481
|
+
{
|
|
482
|
+
"@type": "@builder.io/core:Field",
|
|
483
|
+
name: "loggedOutOnly",
|
|
484
|
+
friendlyName: "Logged Out Only",
|
|
485
|
+
helperText: "Display this link only when the user is logged out",
|
|
486
|
+
type: "boolean",
|
|
487
|
+
localized: false,
|
|
488
|
+
defaultCollapsed: true
|
|
489
|
+
},
|
|
490
|
+
{
|
|
491
|
+
"@type": "@builder.io/core:Field",
|
|
492
|
+
name: "text",
|
|
493
|
+
friendlyName: "Link Title",
|
|
494
|
+
helperText: "Title for the link",
|
|
495
|
+
type: "html",
|
|
496
|
+
localized: false,
|
|
497
|
+
defaultCollapsed: true
|
|
498
|
+
},
|
|
499
|
+
{
|
|
500
|
+
"@type": "@builder.io/core:Field",
|
|
501
|
+
name: "URL",
|
|
502
|
+
friendlyName: "URL",
|
|
503
|
+
helperText: "URL for the link",
|
|
504
|
+
type: "url",
|
|
505
|
+
localized: false,
|
|
506
|
+
defaultCollapsed: true
|
|
507
|
+
},
|
|
508
|
+
{
|
|
509
|
+
"@type": "@builder.io/core:Field",
|
|
510
|
+
name: "subLinksWrapperClasses",
|
|
511
|
+
friendlyName: "Sub Links Wrapper Classes",
|
|
512
|
+
helperText: "CSS classes for the sub-links wrapper",
|
|
513
|
+
type: "text",
|
|
514
|
+
localized: false,
|
|
515
|
+
defaultCollapsed: true
|
|
516
|
+
},
|
|
517
|
+
{
|
|
518
|
+
"@type": "@builder.io/core:Field",
|
|
519
|
+
name: "subLinks",
|
|
520
|
+
friendlyName: "Sub Links",
|
|
521
|
+
helperText: "Sub-links for this dropdown item",
|
|
522
|
+
type: "list",
|
|
523
|
+
localized: false,
|
|
524
|
+
defaultCollapsed: true,
|
|
525
|
+
subFields: [
|
|
526
|
+
{
|
|
527
|
+
"@type": "@builder.io/core:Field",
|
|
528
|
+
name: "text",
|
|
529
|
+
friendlyName: "Link Title",
|
|
530
|
+
helperText: "Title for the link",
|
|
531
|
+
type: "text",
|
|
532
|
+
localized: false,
|
|
533
|
+
defaultCollapsed: true
|
|
534
|
+
},
|
|
535
|
+
{
|
|
536
|
+
"@type": "@builder.io/core:Field",
|
|
537
|
+
name: "URL",
|
|
538
|
+
friendlyName: "Link Title",
|
|
539
|
+
helperText: "Title for the link",
|
|
540
|
+
type: "text",
|
|
541
|
+
localized: false,
|
|
542
|
+
defaultCollapsed: true
|
|
543
|
+
}
|
|
544
|
+
]
|
|
545
|
+
}
|
|
546
|
+
]
|
|
547
|
+
},
|
|
548
|
+
{
|
|
549
|
+
"@type": "@builder.io/core:Field",
|
|
550
|
+
name: "htmlContent",
|
|
551
|
+
friendlyName: "HTML Content",
|
|
552
|
+
helperText: "HTML content to display in the dropdown",
|
|
553
|
+
type: "html",
|
|
554
|
+
localized: false,
|
|
555
|
+
defaultCollapsed: true
|
|
556
|
+
},
|
|
557
|
+
{
|
|
558
|
+
"@type": "@builder.io/core:Field",
|
|
559
|
+
name: "inputs",
|
|
560
|
+
friendlyName: "Inputs",
|
|
561
|
+
helperText: "Inputs for the dropdown content",
|
|
562
|
+
type: "object",
|
|
563
|
+
localized: false,
|
|
564
|
+
required: true,
|
|
565
|
+
defaultCollapsed: true,
|
|
566
|
+
subFields: [
|
|
567
|
+
{
|
|
568
|
+
"@type": "@builder.io/core:Field",
|
|
569
|
+
name: "defaultHtml",
|
|
570
|
+
friendlyName: "Default HTML",
|
|
571
|
+
helperText: "Default HTML content that will be displayed",
|
|
572
|
+
type: "html",
|
|
573
|
+
localized: false,
|
|
574
|
+
defaultCollapsed: true
|
|
575
|
+
},
|
|
576
|
+
{
|
|
577
|
+
"@type": "@builder.io/core:Field",
|
|
578
|
+
name: "temporaryHtml",
|
|
579
|
+
friendlyName: "Temporary HTML",
|
|
580
|
+
helperText: "Temporary HTML content that will be displayed for a limited time",
|
|
581
|
+
type: "html",
|
|
582
|
+
localized: false,
|
|
583
|
+
defaultCollapsed: true
|
|
584
|
+
},
|
|
585
|
+
{
|
|
586
|
+
"@type": "@builder.io/core:Field",
|
|
587
|
+
name: "startTime",
|
|
588
|
+
friendlyName: "Start Time",
|
|
589
|
+
helperText: "Start time for the timed HTML content",
|
|
590
|
+
type: "timestamp",
|
|
591
|
+
localized: false,
|
|
592
|
+
defaultCollapsed: true
|
|
593
|
+
},
|
|
594
|
+
{
|
|
595
|
+
"@type": "@builder.io/core:Field",
|
|
596
|
+
name: "endTime",
|
|
597
|
+
friendlyName: "End Time",
|
|
598
|
+
helperText: "End time for the timed HTML content",
|
|
599
|
+
type: "timestamp",
|
|
600
|
+
localized: false,
|
|
601
|
+
defaultCollapsed: true
|
|
602
|
+
}
|
|
603
|
+
]
|
|
604
|
+
}
|
|
605
|
+
]
|
|
606
|
+
}
|
|
607
|
+
]
|
|
608
|
+
},
|
|
609
|
+
{
|
|
610
|
+
"@type": "@builder.io/core:Field",
|
|
611
|
+
name: "desktopMenu",
|
|
612
|
+
friendlyName: "Desktop Menu",
|
|
613
|
+
helperText: "Desktop menu configuration for the medium header",
|
|
614
|
+
type: "object",
|
|
615
|
+
localized: false,
|
|
616
|
+
defaultCollapsed: true,
|
|
617
|
+
subFields: [
|
|
618
|
+
{
|
|
619
|
+
"@type": "@builder.io/core:Field",
|
|
620
|
+
name: "logo",
|
|
621
|
+
friendlyName: "Logo",
|
|
622
|
+
helperText: "Logo for the desktop header",
|
|
623
|
+
type: "file",
|
|
624
|
+
showTemplatePicker: true,
|
|
625
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"],
|
|
626
|
+
localized: false,
|
|
627
|
+
defaultCollapsed: true
|
|
628
|
+
},
|
|
629
|
+
{
|
|
630
|
+
"@type": "@builder.io/core:Field",
|
|
631
|
+
name: "navClasses",
|
|
632
|
+
friendlyName: "Navigation Classes",
|
|
633
|
+
helperText: "CSS classes for the desktop navigation",
|
|
634
|
+
type: "text",
|
|
635
|
+
localized: false,
|
|
636
|
+
defaultCollapsed: true
|
|
637
|
+
},
|
|
638
|
+
{
|
|
639
|
+
"@type": "@builder.io/core:Field",
|
|
640
|
+
name: "content",
|
|
641
|
+
friendlyName: "Content",
|
|
642
|
+
helperText: "Content to display in the desktop header",
|
|
643
|
+
type: "list",
|
|
644
|
+
localized: false,
|
|
645
|
+
required: false,
|
|
646
|
+
defaultCollapsed: true,
|
|
647
|
+
subFields: [
|
|
648
|
+
{
|
|
649
|
+
"@type": "@builder.io/core:Field",
|
|
650
|
+
name: "type",
|
|
651
|
+
friendlyName: "Content Type",
|
|
652
|
+
helperText: "Select the type of content",
|
|
653
|
+
type: "select",
|
|
654
|
+
enum: [
|
|
655
|
+
"links" /* LINKS */,
|
|
656
|
+
"logo" /* LOGO */,
|
|
657
|
+
"accountLinks" /* ACCOUNT_LINKS */,
|
|
658
|
+
"cartCount" /* CART_COUNT */,
|
|
659
|
+
"html" /* HTML */
|
|
660
|
+
],
|
|
661
|
+
defaultValue: "links",
|
|
662
|
+
localized: false,
|
|
663
|
+
defaultCollapsed: true
|
|
664
|
+
},
|
|
665
|
+
{
|
|
666
|
+
"@type": "@builder.io/core:Field",
|
|
667
|
+
name: "wrapperClasses",
|
|
668
|
+
friendlyName: "Wrapper Classes",
|
|
669
|
+
helperText: "CSS classes for the wrapper",
|
|
670
|
+
type: "text",
|
|
671
|
+
localized: false,
|
|
672
|
+
defaultCollapsed: true
|
|
673
|
+
},
|
|
674
|
+
{
|
|
675
|
+
"@type": "@builder.io/core:Field",
|
|
676
|
+
name: "links",
|
|
677
|
+
friendlyName: "Links",
|
|
678
|
+
helperText: "Links for the desktop header",
|
|
679
|
+
type: "list",
|
|
680
|
+
localized: false,
|
|
681
|
+
defaultCollapsed: true,
|
|
682
|
+
subFields: [
|
|
683
|
+
{
|
|
684
|
+
"@type": "@builder.io/core:Field",
|
|
685
|
+
name: "text",
|
|
686
|
+
friendlyName: "Link Text",
|
|
687
|
+
helperText: "Text for the link",
|
|
688
|
+
type: "html",
|
|
689
|
+
localized: false,
|
|
690
|
+
defaultCollapsed: true
|
|
691
|
+
},
|
|
692
|
+
{
|
|
693
|
+
"@type": "@builder.io/core:Field",
|
|
694
|
+
name: "URL",
|
|
695
|
+
friendlyName: "URL",
|
|
696
|
+
helperText: "URL for the link",
|
|
697
|
+
type: "url",
|
|
698
|
+
localized: false,
|
|
699
|
+
defaultCollapsed: true
|
|
700
|
+
},
|
|
701
|
+
{
|
|
702
|
+
"@type": "@builder.io/core:Field",
|
|
703
|
+
name: "loggedInOnly",
|
|
704
|
+
friendlyName: "Logged In Only",
|
|
705
|
+
helperText: "Display this link only when the user is logged in",
|
|
706
|
+
type: "boolean",
|
|
707
|
+
localized: false,
|
|
708
|
+
defaultCollapsed: true
|
|
709
|
+
},
|
|
710
|
+
{
|
|
711
|
+
"@type": "@builder.io/core:Field",
|
|
712
|
+
name: "loggedOutOnly",
|
|
713
|
+
friendlyName: "Logged Out Only",
|
|
714
|
+
helperText: "Display this link only when the user is logged out",
|
|
715
|
+
type: "boolean",
|
|
716
|
+
localized: false,
|
|
717
|
+
defaultCollapsed: true
|
|
718
|
+
},
|
|
719
|
+
{
|
|
720
|
+
"@type": "@builder.io/core:Field",
|
|
721
|
+
name: "dropdownWrapperClasses",
|
|
722
|
+
friendlyName: "Dropdown Wrapper Classes",
|
|
723
|
+
helperText: "CSS classes for the dropdown wrapper",
|
|
724
|
+
type: "text",
|
|
725
|
+
localized: false,
|
|
726
|
+
defaultCollapsed: true
|
|
727
|
+
},
|
|
728
|
+
{
|
|
729
|
+
"@type": "@builder.io/core:Field",
|
|
730
|
+
name: "dropdownItemClasses",
|
|
731
|
+
friendlyName: "Dropdown Item Classes",
|
|
732
|
+
helperText: "CSS classes for the dropdown item",
|
|
733
|
+
type: "text",
|
|
734
|
+
localized: false,
|
|
735
|
+
defaultCollapsed: true
|
|
736
|
+
},
|
|
737
|
+
{
|
|
738
|
+
"@type": "@builder.io/core:Field",
|
|
739
|
+
name: "subLinks",
|
|
740
|
+
friendlyName: "Sub Links",
|
|
741
|
+
helperText: "Sub-links for this header item",
|
|
742
|
+
type: "list",
|
|
743
|
+
localized: false,
|
|
744
|
+
defaultCollapsed: true,
|
|
745
|
+
subFields: [
|
|
746
|
+
{
|
|
747
|
+
"@type": "@builder.io/core:Field",
|
|
748
|
+
name: "columnHeaderTitle",
|
|
749
|
+
friendlyName: "Column Header Title",
|
|
750
|
+
helperText: "Title for the column header",
|
|
751
|
+
type: "text",
|
|
752
|
+
localized: false,
|
|
753
|
+
defaultCollapsed: true
|
|
754
|
+
},
|
|
755
|
+
{
|
|
756
|
+
"@type": "@builder.io/core:Field",
|
|
757
|
+
name: "columnContentType",
|
|
758
|
+
friendlyName: "Column Content Type",
|
|
759
|
+
helperText: "Select the type of content for the column",
|
|
760
|
+
type: "select",
|
|
761
|
+
enum: ["links", "html", "timedHtml"],
|
|
762
|
+
defaultValue: "links",
|
|
763
|
+
localized: false,
|
|
764
|
+
defaultCollapsed: true
|
|
765
|
+
},
|
|
766
|
+
{
|
|
767
|
+
"@type": "@builder.io/core:Field",
|
|
768
|
+
name: "links",
|
|
769
|
+
friendlyName: "Links",
|
|
770
|
+
helperText: "Links for the column",
|
|
771
|
+
type: "list",
|
|
772
|
+
localized: false,
|
|
773
|
+
defaultCollapsed: true,
|
|
774
|
+
subFields: [
|
|
775
|
+
{
|
|
776
|
+
"@type": "@builder.io/core:Field",
|
|
777
|
+
name: "text",
|
|
778
|
+
friendlyName: "Text",
|
|
779
|
+
helperText: "Text for the link",
|
|
780
|
+
type: "text",
|
|
781
|
+
localized: false,
|
|
782
|
+
defaultCollapsed: true
|
|
783
|
+
},
|
|
784
|
+
{
|
|
785
|
+
"@type": "@builder.io/core:Field",
|
|
786
|
+
name: "URL",
|
|
787
|
+
friendlyName: "URL",
|
|
788
|
+
helperText: "URL for the link",
|
|
789
|
+
type: "url",
|
|
790
|
+
localized: false,
|
|
791
|
+
defaultCollapsed: true
|
|
792
|
+
}
|
|
793
|
+
]
|
|
794
|
+
},
|
|
795
|
+
{
|
|
796
|
+
"@type": "@builder.io/core:Field",
|
|
797
|
+
name: "content",
|
|
798
|
+
friendlyName: "Content",
|
|
799
|
+
helperText: "Content for the column",
|
|
800
|
+
type: "html",
|
|
801
|
+
localized: false,
|
|
802
|
+
defaultCollapsed: true
|
|
803
|
+
},
|
|
804
|
+
{
|
|
805
|
+
"@type": "@builder.io/core:Field",
|
|
806
|
+
name: "inputs",
|
|
807
|
+
friendlyName: "Inputs",
|
|
808
|
+
helperText: "Inputs for the dropdown content",
|
|
809
|
+
type: "object",
|
|
810
|
+
localized: false,
|
|
811
|
+
required: true,
|
|
812
|
+
defaultCollapsed: true,
|
|
813
|
+
subFields: [
|
|
814
|
+
{
|
|
815
|
+
"@type": "@builder.io/core:Field",
|
|
816
|
+
name: "defaultHtml",
|
|
817
|
+
friendlyName: "Default HTML",
|
|
818
|
+
helperText: "Default HTML content that will be displayed",
|
|
819
|
+
type: "html",
|
|
820
|
+
localized: false,
|
|
821
|
+
defaultCollapsed: true
|
|
822
|
+
},
|
|
823
|
+
{
|
|
824
|
+
"@type": "@builder.io/core:Field",
|
|
825
|
+
name: "temporaryHtml",
|
|
826
|
+
friendlyName: "Temporary HTML",
|
|
827
|
+
helperText: "Temporary HTML content that will be displayed for a limited time",
|
|
828
|
+
type: "html",
|
|
829
|
+
localized: false,
|
|
830
|
+
defaultCollapsed: true
|
|
831
|
+
},
|
|
832
|
+
{
|
|
833
|
+
"@type": "@builder.io/core:Field",
|
|
834
|
+
name: "startTime",
|
|
835
|
+
friendlyName: "Start Time",
|
|
836
|
+
helperText: "Start time for the timed HTML content",
|
|
837
|
+
type: "timestamp",
|
|
838
|
+
localized: false,
|
|
839
|
+
defaultCollapsed: true
|
|
840
|
+
},
|
|
841
|
+
{
|
|
842
|
+
"@type": "@builder.io/core:Field",
|
|
843
|
+
name: "endTime",
|
|
844
|
+
friendlyName: "End Time",
|
|
845
|
+
helperText: "End time for the timed HTML content",
|
|
846
|
+
type: "timestamp",
|
|
847
|
+
localized: false,
|
|
848
|
+
defaultCollapsed: true
|
|
849
|
+
}
|
|
850
|
+
]
|
|
851
|
+
}
|
|
852
|
+
]
|
|
853
|
+
}
|
|
854
|
+
]
|
|
855
|
+
},
|
|
856
|
+
{
|
|
857
|
+
"@type": "@builder.io/core:Field",
|
|
858
|
+
name: "accountLinksConfig",
|
|
859
|
+
friendlyName: "Account Links Config",
|
|
860
|
+
helperText: "",
|
|
861
|
+
type: "object",
|
|
862
|
+
localized: false,
|
|
863
|
+
defaultCollapsed: true,
|
|
864
|
+
subFields: [
|
|
865
|
+
{
|
|
866
|
+
"@type": "@builder.io/core:Field",
|
|
867
|
+
name: "dropdownWrapperClasses",
|
|
868
|
+
friendlyName: "Dropdown Wrapper Classes",
|
|
869
|
+
helperText: "CSS classes for the dropdown wrapper",
|
|
870
|
+
type: "text",
|
|
871
|
+
localized: false,
|
|
872
|
+
defaultCollapsed: true
|
|
873
|
+
},
|
|
874
|
+
{
|
|
875
|
+
"@type": "@builder.io/core:Field",
|
|
876
|
+
name: "dropdownItemClasses",
|
|
877
|
+
friendlyName: "Dropdown Item Classes",
|
|
878
|
+
helperText: "CSS classes for the dropdown item",
|
|
879
|
+
type: "text",
|
|
880
|
+
localized: false,
|
|
881
|
+
defaultCollapsed: true
|
|
882
|
+
}
|
|
883
|
+
]
|
|
884
|
+
},
|
|
885
|
+
{
|
|
886
|
+
"@type": "@builder.io/core:Field",
|
|
887
|
+
name: "htmlContent",
|
|
888
|
+
friendlyName: "HTML Content",
|
|
889
|
+
helperText: "HTML content to display in the header",
|
|
890
|
+
type: "html",
|
|
891
|
+
localized: false,
|
|
892
|
+
defaultCollapsed: true
|
|
893
|
+
}
|
|
894
|
+
]
|
|
895
|
+
}
|
|
896
|
+
]
|
|
897
|
+
},
|
|
898
|
+
{
|
|
899
|
+
"@type": "@builder.io/core:Field",
|
|
900
|
+
name: "bannersAboveHeader",
|
|
901
|
+
friendlyName: "Banners Above Header",
|
|
902
|
+
helperText: "Banners to display above the header",
|
|
903
|
+
type: "list",
|
|
904
|
+
localized: true,
|
|
905
|
+
defaultCollapsed: true,
|
|
906
|
+
subFields: [
|
|
907
|
+
{
|
|
908
|
+
"@type": "@builder.io/core:Field",
|
|
909
|
+
name: "wrapperClasses",
|
|
910
|
+
friendlyName: "Wrapper Classes",
|
|
911
|
+
helperText: "CSS classes for the banner wrapper",
|
|
912
|
+
type: "text",
|
|
913
|
+
localized: true,
|
|
914
|
+
defaultCollapsed: true
|
|
915
|
+
},
|
|
916
|
+
{
|
|
917
|
+
"@type": "@builder.io/core:Field",
|
|
918
|
+
name: "content",
|
|
919
|
+
friendlyName: "Banner Content",
|
|
920
|
+
helperText: "Content to display in the banner",
|
|
921
|
+
type: "html",
|
|
922
|
+
localized: true,
|
|
923
|
+
defaultCollapsed: true
|
|
924
|
+
}
|
|
925
|
+
]
|
|
926
|
+
},
|
|
927
|
+
{
|
|
928
|
+
"@type": "@builder.io/core:Field",
|
|
929
|
+
name: "contactUrl",
|
|
930
|
+
friendlyName: "Contact URL",
|
|
931
|
+
helperText: "URL for the contact page",
|
|
932
|
+
type: "url",
|
|
933
|
+
localized: true,
|
|
934
|
+
defaultCollapsed: true
|
|
935
|
+
}
|
|
936
|
+
]
|
|
937
|
+
},
|
|
938
|
+
mega: {
|
|
939
|
+
"@type": "@builder.io/core:Field",
|
|
940
|
+
name: "megaMenuConfig",
|
|
941
|
+
showIf: "return options.get('headerType') === 'MEGA'",
|
|
942
|
+
friendlyName: "Mega Menu Config",
|
|
943
|
+
type: "object",
|
|
944
|
+
defaultCollapsed: true,
|
|
945
|
+
localized: false,
|
|
946
|
+
subFields: [
|
|
947
|
+
{
|
|
948
|
+
"@type": "@builder.io/core:Field",
|
|
949
|
+
name: "showShippingMessage",
|
|
950
|
+
friendlyName: "Show Shipping Message",
|
|
951
|
+
helperText: "Display the free shipping message on the mega menu",
|
|
952
|
+
type: "boolean",
|
|
953
|
+
localized: true,
|
|
954
|
+
defaultCollapsed: true
|
|
955
|
+
},
|
|
956
|
+
{
|
|
957
|
+
"@type": "@builder.io/core:Field",
|
|
958
|
+
name: "mobileLinks",
|
|
959
|
+
friendlyName: "Mobile Links",
|
|
960
|
+
helperText: "Links to display in the mobile mega menu",
|
|
961
|
+
type: "list",
|
|
962
|
+
localized: true,
|
|
963
|
+
defaultCollapsed: true,
|
|
964
|
+
subFields: [
|
|
965
|
+
{
|
|
966
|
+
"@type": "@builder.io/core:Field",
|
|
967
|
+
name: "title",
|
|
968
|
+
friendlyName: "Mobile Link Title",
|
|
969
|
+
helperText: "Title for the mobile link",
|
|
970
|
+
type: "text",
|
|
971
|
+
localized: false,
|
|
972
|
+
defaultCollapsed: true
|
|
973
|
+
},
|
|
974
|
+
{
|
|
975
|
+
"@type": "@builder.io/core:Field",
|
|
976
|
+
name: "href",
|
|
977
|
+
friendlyName: "Link URL",
|
|
978
|
+
helperText: "URL for the mobile link",
|
|
979
|
+
type: "url",
|
|
980
|
+
localized: false,
|
|
981
|
+
required: false,
|
|
982
|
+
defaultCollapsed: true
|
|
983
|
+
},
|
|
984
|
+
{
|
|
985
|
+
"@type": "@builder.io/core:Field",
|
|
986
|
+
name: "expanded",
|
|
987
|
+
friendlyName: "Expanded",
|
|
988
|
+
helperText: "Indicates if the mobile link is expanded by default",
|
|
989
|
+
type: "boolean",
|
|
990
|
+
localized: false,
|
|
991
|
+
defaultCollapsed: true
|
|
992
|
+
},
|
|
993
|
+
{
|
|
994
|
+
"@type": "@builder.io/core:Field",
|
|
995
|
+
name: "links",
|
|
996
|
+
friendlyName: "Sub-Links",
|
|
997
|
+
helperText: "Sub-links for the mobile link",
|
|
998
|
+
type: "list",
|
|
999
|
+
localized: false,
|
|
1000
|
+
required: false,
|
|
1001
|
+
defaultCollapsed: true,
|
|
1002
|
+
subFields: [
|
|
1003
|
+
{
|
|
1004
|
+
"@type": "@builder.io/core:Field",
|
|
1005
|
+
name: "title",
|
|
1006
|
+
friendlyName: "Link Title",
|
|
1007
|
+
helperText: "Title for the link",
|
|
1008
|
+
type: "text",
|
|
1009
|
+
localized: false,
|
|
1010
|
+
defaultCollapsed: true
|
|
1011
|
+
},
|
|
1012
|
+
{
|
|
1013
|
+
"@type": "@builder.io/core:Field",
|
|
1014
|
+
name: "href",
|
|
1015
|
+
friendlyName: "Link URL",
|
|
1016
|
+
helperText: "URL for the link",
|
|
1017
|
+
type: "url",
|
|
1018
|
+
localized: false,
|
|
1019
|
+
required: true,
|
|
1020
|
+
defaultCollapsed: true
|
|
1021
|
+
}
|
|
1022
|
+
]
|
|
1023
|
+
}
|
|
1024
|
+
]
|
|
1025
|
+
},
|
|
1026
|
+
{
|
|
1027
|
+
"@type": "@builder.io/core:Field",
|
|
1028
|
+
name: "desktopShopNavLinks",
|
|
1029
|
+
friendlyName: "Desktop Shop Navigation Links",
|
|
1030
|
+
helperText: "Links to display in the desktop shop navigation",
|
|
1031
|
+
type: "list",
|
|
1032
|
+
localized: true,
|
|
1033
|
+
defaultCollapsed: true,
|
|
1034
|
+
subFields: [
|
|
1035
|
+
{
|
|
1036
|
+
"@type": "@builder.io/core:Field",
|
|
1037
|
+
name: "title",
|
|
1038
|
+
friendlyName: "Link Title",
|
|
1039
|
+
helperText: "Title for the desktop link",
|
|
1040
|
+
type: "text",
|
|
1041
|
+
localized: false,
|
|
1042
|
+
required: true,
|
|
1043
|
+
defaultCollapsed: true
|
|
1044
|
+
},
|
|
1045
|
+
{
|
|
1046
|
+
"@type": "@builder.io/core:Field",
|
|
1047
|
+
name: "links",
|
|
1048
|
+
friendlyName: "Links",
|
|
1049
|
+
helperText: "Links for the desktop navigation",
|
|
1050
|
+
type: "list",
|
|
1051
|
+
localized: false,
|
|
1052
|
+
required: false,
|
|
1053
|
+
defaultCollapsed: true,
|
|
1054
|
+
subFields: [
|
|
1055
|
+
{
|
|
1056
|
+
"@type": "@builder.io/core:Field",
|
|
1057
|
+
name: "title",
|
|
1058
|
+
friendlyName: "Link Title",
|
|
1059
|
+
helperText: "Title for the link",
|
|
1060
|
+
type: "text",
|
|
1061
|
+
localized: false,
|
|
1062
|
+
defaultCollapsed: true
|
|
1063
|
+
},
|
|
1064
|
+
{
|
|
1065
|
+
"@type": "@builder.io/core:Field",
|
|
1066
|
+
name: "href",
|
|
1067
|
+
friendlyName: "Link URL",
|
|
1068
|
+
helperText: "URL for the link",
|
|
1069
|
+
type: "url",
|
|
1070
|
+
localized: false,
|
|
1071
|
+
required: true,
|
|
1072
|
+
defaultCollapsed: true
|
|
1073
|
+
}
|
|
1074
|
+
]
|
|
1075
|
+
},
|
|
1076
|
+
{
|
|
1077
|
+
"@type": "@builder.io/core:Field",
|
|
1078
|
+
name: "shopAllLink",
|
|
1079
|
+
friendlyName: "Shop All Link",
|
|
1080
|
+
helperText: 'Link to the "Shop All" page',
|
|
1081
|
+
type: "object",
|
|
1082
|
+
localized: false,
|
|
1083
|
+
required: false,
|
|
1084
|
+
defaultCollapsed: true,
|
|
1085
|
+
subFields: [
|
|
1086
|
+
{
|
|
1087
|
+
"@type": "@builder.io/core:Field",
|
|
1088
|
+
name: "title",
|
|
1089
|
+
friendlyName: "Link Title",
|
|
1090
|
+
helperText: "Title for the link",
|
|
1091
|
+
type: "text",
|
|
1092
|
+
localized: false,
|
|
1093
|
+
defaultCollapsed: true
|
|
1094
|
+
},
|
|
1095
|
+
{
|
|
1096
|
+
"@type": "@builder.io/core:Field",
|
|
1097
|
+
name: "href",
|
|
1098
|
+
friendlyName: "Link URL",
|
|
1099
|
+
helperText: "URL for the link",
|
|
1100
|
+
type: "url",
|
|
1101
|
+
localized: false,
|
|
1102
|
+
required: true,
|
|
1103
|
+
defaultCollapsed: true
|
|
1104
|
+
}
|
|
1105
|
+
]
|
|
1106
|
+
}
|
|
1107
|
+
]
|
|
1108
|
+
}
|
|
1109
|
+
]
|
|
1110
|
+
},
|
|
1111
|
+
dmp: {
|
|
1112
|
+
"@type": "@builder.io/core:Field",
|
|
1113
|
+
name: "dmpHeaderConfig",
|
|
1114
|
+
showIf: "return options.get('headerType') === 'DMP'",
|
|
1115
|
+
friendlyName: "DMP Header Config",
|
|
1116
|
+
type: "object",
|
|
1117
|
+
defaultCollapsed: true,
|
|
1118
|
+
localized: false,
|
|
1119
|
+
subFields: [
|
|
1120
|
+
{
|
|
1121
|
+
"@type": "@builder.io/core:Field",
|
|
1122
|
+
name: "logoImage",
|
|
1123
|
+
friendlyName: "Logo Image",
|
|
1124
|
+
type: "file",
|
|
1125
|
+
showTemplatePicker: true,
|
|
1126
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"],
|
|
1127
|
+
required: false,
|
|
1128
|
+
localized: true,
|
|
1129
|
+
defaultCollapsed: true,
|
|
1130
|
+
helperText: "Image displayed in the header"
|
|
1131
|
+
},
|
|
1132
|
+
{
|
|
1133
|
+
"@type": "@builder.io/core:Field",
|
|
1134
|
+
name: "mobileLinks",
|
|
1135
|
+
friendlyName: "Mobile Links",
|
|
1136
|
+
helperText: "Links to display in the mobile dropdown menu",
|
|
1137
|
+
type: "list",
|
|
1138
|
+
localized: true,
|
|
1139
|
+
defaultCollapsed: true,
|
|
1140
|
+
subFields: [
|
|
1141
|
+
{
|
|
1142
|
+
"@type": "@builder.io/core:Field",
|
|
1143
|
+
name: "title",
|
|
1144
|
+
friendlyName: "Mobile Link Title",
|
|
1145
|
+
helperText: "Title for the mobile link",
|
|
1146
|
+
type: "text",
|
|
1147
|
+
localized: false,
|
|
1148
|
+
defaultCollapsed: true
|
|
1149
|
+
},
|
|
1150
|
+
{
|
|
1151
|
+
"@type": "@builder.io/core:Field",
|
|
1152
|
+
name: "href",
|
|
1153
|
+
friendlyName: "Link URL",
|
|
1154
|
+
helperText: "URL for the mobile link",
|
|
1155
|
+
type: "url",
|
|
1156
|
+
localized: false,
|
|
1157
|
+
required: false,
|
|
1158
|
+
defaultCollapsed: true
|
|
1159
|
+
}
|
|
1160
|
+
]
|
|
1161
|
+
},
|
|
1162
|
+
{
|
|
1163
|
+
"@type": "@builder.io/core:Field",
|
|
1164
|
+
name: "desktopLinks",
|
|
1165
|
+
friendlyName: "Desktop Links",
|
|
1166
|
+
helperText: "Links to display in the desktop menu",
|
|
1167
|
+
type: "list",
|
|
1168
|
+
localized: true,
|
|
1169
|
+
defaultCollapsed: true,
|
|
1170
|
+
subFields: [
|
|
1171
|
+
{
|
|
1172
|
+
"@type": "@builder.io/core:Field",
|
|
1173
|
+
name: "title",
|
|
1174
|
+
friendlyName: "Desktop Link Title",
|
|
1175
|
+
helperText: "Title for the desktop link",
|
|
1176
|
+
type: "text",
|
|
1177
|
+
localized: false,
|
|
1178
|
+
defaultCollapsed: true
|
|
1179
|
+
},
|
|
1180
|
+
{
|
|
1181
|
+
"@type": "@builder.io/core:Field",
|
|
1182
|
+
name: "href",
|
|
1183
|
+
friendlyName: "Link URL",
|
|
1184
|
+
helperText: "URL for the mobile link",
|
|
1185
|
+
type: "url",
|
|
1186
|
+
localized: false,
|
|
1187
|
+
required: false,
|
|
1188
|
+
defaultCollapsed: true
|
|
1189
|
+
}
|
|
1190
|
+
]
|
|
1191
|
+
}
|
|
1192
|
+
]
|
|
1193
|
+
}
|
|
1194
|
+
};
|
|
1195
|
+
var createHeaderConfig = () => {
|
|
1196
|
+
return {
|
|
1197
|
+
name: "header",
|
|
1198
|
+
friendlyName: "Header",
|
|
1199
|
+
type: "object",
|
|
1200
|
+
defaultCollapsed: true,
|
|
1201
|
+
subFields: [
|
|
1202
|
+
{
|
|
1203
|
+
name: "headerType",
|
|
1204
|
+
friendlyName: "Type",
|
|
1205
|
+
helperText: "Select the type of header to use",
|
|
1206
|
+
defaultCollapsed: true,
|
|
1207
|
+
type: "select",
|
|
1208
|
+
enum: ["BASIC" /* BASIC */, "MEDIUM" /* MEDIUM */, "MEGA" /* MEGA */, "NONE" /* NONE */, "DMP" /* DMP */],
|
|
1209
|
+
defaultValue: "MEDIUM"
|
|
1210
|
+
},
|
|
1211
|
+
headerOptions.basic,
|
|
1212
|
+
headerOptions.medium,
|
|
1213
|
+
headerOptions.mega,
|
|
1214
|
+
headerOptions.dmp
|
|
1215
|
+
]
|
|
1216
|
+
};
|
|
1217
|
+
};
|
|
1218
|
+
|
|
1219
|
+
// src/data/brand-config/sections/footer-config.ts
|
|
1220
|
+
var createFooterConfig = () => {
|
|
1221
|
+
return {
|
|
1222
|
+
name: "footer",
|
|
1223
|
+
"@type": "@builder.io/core:Field",
|
|
1224
|
+
friendlyName: "Footer",
|
|
1225
|
+
type: "object",
|
|
1226
|
+
defaultCollapsed: true,
|
|
1227
|
+
subFields: [
|
|
1228
|
+
{
|
|
1229
|
+
name: "footerType",
|
|
1230
|
+
friendlyName: "Type",
|
|
1231
|
+
type: "select",
|
|
1232
|
+
enum: ["BASIC" /* BASIC */, "MEGA" /* MEGA */, "NONE" /* NONE */],
|
|
1233
|
+
defaultValue: "BASIC" /* BASIC */,
|
|
1234
|
+
defaultCollapsed: true
|
|
1235
|
+
}
|
|
1236
|
+
]
|
|
1237
|
+
};
|
|
1238
|
+
};
|
|
1239
|
+
|
|
1240
|
+
// src/data/brand-config/sections/feature-config.ts
|
|
1241
|
+
var createFeatureConfig = (gridFilterModelId) => {
|
|
1242
|
+
return {
|
|
1243
|
+
name: "features",
|
|
1244
|
+
friendlyName: "Features",
|
|
1245
|
+
type: "object",
|
|
1246
|
+
defaultCollapsed: true,
|
|
1247
|
+
subFields: [
|
|
1248
|
+
{
|
|
1249
|
+
name: "productGridFilterType",
|
|
1250
|
+
friendlyName: "Product Grid Filter Type",
|
|
1251
|
+
type: "select",
|
|
1252
|
+
defaultCollapsed: true,
|
|
1253
|
+
helperText: `Select the type of filters to use. 'Dropdown' will display a drop down of categories, ingredients, use cases, and tags.
|
|
1254
|
+
'Stacked List' allows you to create your own filter groupings from amongst those four filter types.`,
|
|
1255
|
+
enum: ["Dropdown" /* DROPDOWN */, "Stacked List" /* STACKED_LIST */],
|
|
1256
|
+
defaultValue: "Dropdown"
|
|
1257
|
+
},
|
|
1258
|
+
{
|
|
1259
|
+
name: "productGridFilterGroups",
|
|
1260
|
+
friendlyName: "Product Grid Filter Groups",
|
|
1261
|
+
type: "list",
|
|
1262
|
+
defaultCollapsed: true,
|
|
1263
|
+
helperText: "Select the filter groups to use. They will be presented in the order entered",
|
|
1264
|
+
subFields: [
|
|
1265
|
+
{
|
|
1266
|
+
name: "filterConfig",
|
|
1267
|
+
friendlyName: "Product Grid Filter",
|
|
1268
|
+
type: "reference",
|
|
1269
|
+
defaultCollapsed: true,
|
|
1270
|
+
modelId: gridFilterModelId,
|
|
1271
|
+
helperText: "Select a product grid filter group to display",
|
|
1272
|
+
copyOnAdd: false
|
|
1273
|
+
}
|
|
1274
|
+
],
|
|
1275
|
+
showIf: `return options.get('productGridFilterType') === 'Custom'`
|
|
1276
|
+
},
|
|
1277
|
+
{
|
|
1278
|
+
name: "productGridHideRestricted",
|
|
1279
|
+
friendlyName: "Hide Restricted Products",
|
|
1280
|
+
helperText: `Hide restricted products from your product grid based on the user's selected country`,
|
|
1281
|
+
type: "boolean",
|
|
1282
|
+
localized: false,
|
|
1283
|
+
defaultCollapsed: true
|
|
1284
|
+
},
|
|
1285
|
+
{
|
|
1286
|
+
name: "productLinkPrefix",
|
|
1287
|
+
friendlyName: "Product Link Prefix",
|
|
1288
|
+
helperText: 'Set the prefix to append before product slugs throughout your site. For example, if you enter "p", all links from the product grid will be {website}/p/{product-slug}',
|
|
1289
|
+
type: "select",
|
|
1290
|
+
enum: ["/p" /* P */, "/product" /* PRODUCT */],
|
|
1291
|
+
localized: false,
|
|
1292
|
+
defaultCollapsed: true,
|
|
1293
|
+
defaultValue: "/p"
|
|
1294
|
+
},
|
|
1295
|
+
{
|
|
1296
|
+
name: "subscriptionAddOnsEnabled",
|
|
1297
|
+
friendlyName: "Subscription Add-Ons Enabled",
|
|
1298
|
+
helperText: "Enable or disable subscription add-ons for the brand",
|
|
1299
|
+
type: "boolean",
|
|
1300
|
+
localized: false,
|
|
1301
|
+
defaultCollapsed: true
|
|
1302
|
+
},
|
|
1303
|
+
{
|
|
1304
|
+
name: "shippingThresholdNotificationEnabled",
|
|
1305
|
+
friendlyName: "Shipping Threshold Notification Enabled",
|
|
1306
|
+
helperText: "Enable or disable shipping threshold notifications for the brand",
|
|
1307
|
+
type: "boolean",
|
|
1308
|
+
localized: true,
|
|
1309
|
+
defaultCollapsed: true
|
|
1310
|
+
},
|
|
1311
|
+
{
|
|
1312
|
+
name: "bundlingEnabled",
|
|
1313
|
+
friendlyName: "Enable Bundling Experience",
|
|
1314
|
+
helperText: "Enable or disable the bundling experience for the brand",
|
|
1315
|
+
type: "boolean",
|
|
1316
|
+
localized: false,
|
|
1317
|
+
defaultCollapsed: true
|
|
1318
|
+
}
|
|
1319
|
+
]
|
|
1320
|
+
};
|
|
1321
|
+
};
|
|
1322
|
+
|
|
1323
|
+
// src/data/brand-config/sections/support-config.ts
|
|
1324
|
+
var createSupportConfig = () => {
|
|
1325
|
+
return {
|
|
1326
|
+
name: "support",
|
|
1327
|
+
friendlyName: "Support Information",
|
|
1328
|
+
type: "object",
|
|
1329
|
+
defaultCollapsed: true,
|
|
1330
|
+
localized: false,
|
|
1331
|
+
subFields: [
|
|
1332
|
+
{
|
|
1333
|
+
name: "email",
|
|
1334
|
+
friendlyName: "Support Email",
|
|
1335
|
+
type: "text",
|
|
1336
|
+
required: true,
|
|
1337
|
+
localized: true,
|
|
1338
|
+
helperText: "Email address for customer support inquiries",
|
|
1339
|
+
defaultCollapsed: true
|
|
1340
|
+
},
|
|
1341
|
+
{
|
|
1342
|
+
name: "phone",
|
|
1343
|
+
friendlyName: "Support Phone Number",
|
|
1344
|
+
type: "text",
|
|
1345
|
+
required: true,
|
|
1346
|
+
localized: true,
|
|
1347
|
+
helperText: "Phone number for customer support inquiries",
|
|
1348
|
+
defaultCollapsed: true
|
|
1349
|
+
},
|
|
1350
|
+
{
|
|
1351
|
+
name: "phoneDisplay",
|
|
1352
|
+
friendlyName: "Support Phone Display",
|
|
1353
|
+
type: "text",
|
|
1354
|
+
required: true,
|
|
1355
|
+
localized: true,
|
|
1356
|
+
helperText: "Formatted phone number for display",
|
|
1357
|
+
defaultCollapsed: true
|
|
1358
|
+
},
|
|
1359
|
+
{
|
|
1360
|
+
name: "address",
|
|
1361
|
+
friendlyName: "Support Address",
|
|
1362
|
+
type: "object",
|
|
1363
|
+
required: true,
|
|
1364
|
+
localized: false,
|
|
1365
|
+
helperText: "Support address for customer inquiries",
|
|
1366
|
+
defaultCollapsed: true,
|
|
1367
|
+
subFields: [
|
|
1368
|
+
{
|
|
1369
|
+
name: "street",
|
|
1370
|
+
friendlyName: "Street",
|
|
1371
|
+
type: "text",
|
|
1372
|
+
required: true,
|
|
1373
|
+
helperText: "Street address for support",
|
|
1374
|
+
defaultCollapsed: true
|
|
1375
|
+
},
|
|
1376
|
+
{
|
|
1377
|
+
name: "city",
|
|
1378
|
+
friendlyName: "City",
|
|
1379
|
+
type: "text",
|
|
1380
|
+
required: true,
|
|
1381
|
+
helperText: "City for support address",
|
|
1382
|
+
defaultCollapsed: true
|
|
1383
|
+
},
|
|
1384
|
+
{
|
|
1385
|
+
name: "state",
|
|
1386
|
+
friendlyName: "State Code",
|
|
1387
|
+
type: "text",
|
|
1388
|
+
required: true,
|
|
1389
|
+
helperText: "State code for support address (e.g. CA)",
|
|
1390
|
+
defaultCollapsed: true
|
|
1391
|
+
},
|
|
1392
|
+
{
|
|
1393
|
+
name: "zipcode",
|
|
1394
|
+
friendlyName: "Zip Code",
|
|
1395
|
+
type: "text",
|
|
1396
|
+
required: true,
|
|
1397
|
+
helperText: "Zip code for support address",
|
|
1398
|
+
defaultCollapsed: true
|
|
1399
|
+
}
|
|
1400
|
+
]
|
|
1401
|
+
},
|
|
1402
|
+
{
|
|
1403
|
+
name: "addressString",
|
|
1404
|
+
friendlyName: "Support Address String",
|
|
1405
|
+
type: "text",
|
|
1406
|
+
required: false,
|
|
1407
|
+
localized: false,
|
|
1408
|
+
helperText: "The full support address as a string",
|
|
1409
|
+
defaultCollapsed: true
|
|
1410
|
+
}
|
|
1411
|
+
]
|
|
1412
|
+
};
|
|
1413
|
+
};
|
|
1414
|
+
|
|
1415
|
+
// src/data/brand-config/sections/page-config.ts
|
|
1416
|
+
var createPageConfig = () => {
|
|
1417
|
+
return {
|
|
1418
|
+
name: "pageConfig",
|
|
1419
|
+
friendlyName: "Page Configurations",
|
|
1420
|
+
type: "object",
|
|
1421
|
+
defaultCollapsed: true,
|
|
1422
|
+
subFields: [
|
|
1423
|
+
{
|
|
1424
|
+
name: "accountDetails",
|
|
1425
|
+
friendlyName: "Account Details Page",
|
|
1426
|
+
type: "object",
|
|
1427
|
+
defaultCollapsed: true,
|
|
1428
|
+
subFields: [
|
|
1429
|
+
{
|
|
1430
|
+
name: "birthdayBannerConfig",
|
|
1431
|
+
friendlyName: "Birthday Banner Configuration",
|
|
1432
|
+
type: "object",
|
|
1433
|
+
defaultCollapsed: true,
|
|
1434
|
+
subFields: [
|
|
1435
|
+
{
|
|
1436
|
+
name: "content",
|
|
1437
|
+
friendlyName: "Banner Content",
|
|
1438
|
+
type: "html",
|
|
1439
|
+
required: false,
|
|
1440
|
+
localized: true,
|
|
1441
|
+
defaultCollapsed: true
|
|
1442
|
+
},
|
|
1443
|
+
{
|
|
1444
|
+
name: "linkText",
|
|
1445
|
+
friendlyName: "Link Text",
|
|
1446
|
+
type: "text",
|
|
1447
|
+
localized: true,
|
|
1448
|
+
defaultCollapsed: true
|
|
1449
|
+
},
|
|
1450
|
+
{
|
|
1451
|
+
name: "linkUrl",
|
|
1452
|
+
friendlyName: "Link URL",
|
|
1453
|
+
type: "url",
|
|
1454
|
+
required: false,
|
|
1455
|
+
localized: true,
|
|
1456
|
+
defaultCollapsed: true
|
|
1457
|
+
},
|
|
1458
|
+
{
|
|
1459
|
+
name: "styles",
|
|
1460
|
+
friendlyName: "Styles",
|
|
1461
|
+
type: "object",
|
|
1462
|
+
defaultCollapsed: true,
|
|
1463
|
+
subFields: [
|
|
1464
|
+
{
|
|
1465
|
+
name: "display",
|
|
1466
|
+
friendlyName: "Display",
|
|
1467
|
+
type: "text",
|
|
1468
|
+
defaultCollapsed: true
|
|
1469
|
+
},
|
|
1470
|
+
{
|
|
1471
|
+
name: "alignItems",
|
|
1472
|
+
friendlyName: "Align Items",
|
|
1473
|
+
type: "text",
|
|
1474
|
+
defaultCollapsed: true
|
|
1475
|
+
},
|
|
1476
|
+
{
|
|
1477
|
+
name: "margin",
|
|
1478
|
+
friendlyName: "Margin",
|
|
1479
|
+
type: "text",
|
|
1480
|
+
defaultCollapsed: true
|
|
1481
|
+
},
|
|
1482
|
+
{
|
|
1483
|
+
name: "padding",
|
|
1484
|
+
friendlyName: "Padding",
|
|
1485
|
+
type: "text",
|
|
1486
|
+
defaultCollapsed: true
|
|
1487
|
+
},
|
|
1488
|
+
{
|
|
1489
|
+
name: "backgroundColor",
|
|
1490
|
+
friendlyName: "Background Color",
|
|
1491
|
+
type: "color",
|
|
1492
|
+
required: false,
|
|
1493
|
+
localized: false,
|
|
1494
|
+
defaultCollapsed: true
|
|
1495
|
+
},
|
|
1496
|
+
{
|
|
1497
|
+
name: "color",
|
|
1498
|
+
friendlyName: "Color",
|
|
1499
|
+
type: "color",
|
|
1500
|
+
required: false,
|
|
1501
|
+
localized: false,
|
|
1502
|
+
defaultCollapsed: true
|
|
1503
|
+
}
|
|
1504
|
+
]
|
|
1505
|
+
}
|
|
1506
|
+
]
|
|
1507
|
+
}
|
|
1508
|
+
]
|
|
1509
|
+
},
|
|
1510
|
+
{
|
|
1511
|
+
name: "cart",
|
|
1512
|
+
friendlyName: "Cart Page",
|
|
1513
|
+
type: "object",
|
|
1514
|
+
defaultCollapsed: true,
|
|
1515
|
+
localized: false,
|
|
1516
|
+
subFields: [
|
|
1517
|
+
{
|
|
1518
|
+
name: "continueShoppingUrl",
|
|
1519
|
+
friendlyName: "Continue Shopping URL",
|
|
1520
|
+
type: "url",
|
|
1521
|
+
required: false,
|
|
1522
|
+
localized: false,
|
|
1523
|
+
defaultCollapsed: true
|
|
1524
|
+
},
|
|
1525
|
+
{
|
|
1526
|
+
name: "imageContainerBGColor",
|
|
1527
|
+
friendlyName: "Background color for Image Container",
|
|
1528
|
+
type: "color",
|
|
1529
|
+
required: false,
|
|
1530
|
+
localized: false,
|
|
1531
|
+
defaultCollapsed: true
|
|
1532
|
+
},
|
|
1533
|
+
{
|
|
1534
|
+
name: "freeShippingBanner",
|
|
1535
|
+
friendlyName: "Free Shipping Banner Configuration",
|
|
1536
|
+
type: "object",
|
|
1537
|
+
defaultCollapsed: true,
|
|
1538
|
+
subFields: [
|
|
1539
|
+
{
|
|
1540
|
+
name: "isVisible",
|
|
1541
|
+
friendlyName: "Show Free Shipping Banner",
|
|
1542
|
+
type: "boolean",
|
|
1543
|
+
required: false,
|
|
1544
|
+
localized: true,
|
|
1545
|
+
defaultCollapsed: true
|
|
1546
|
+
},
|
|
1547
|
+
{
|
|
1548
|
+
name: "loggedOutBannerContent",
|
|
1549
|
+
friendlyName: "Logged Out Banner Content",
|
|
1550
|
+
type: "html",
|
|
1551
|
+
required: false,
|
|
1552
|
+
localized: true,
|
|
1553
|
+
defaultCollapsed: true
|
|
1554
|
+
},
|
|
1555
|
+
{
|
|
1556
|
+
name: "loggedInBannerContent",
|
|
1557
|
+
friendlyName: "Logged In Banner Content",
|
|
1558
|
+
type: "html",
|
|
1559
|
+
required: false,
|
|
1560
|
+
localized: true,
|
|
1561
|
+
defaultCollapsed: true
|
|
1562
|
+
},
|
|
1563
|
+
{
|
|
1564
|
+
name: "styles",
|
|
1565
|
+
friendlyName: "Styles",
|
|
1566
|
+
type: "object",
|
|
1567
|
+
defaultCollapsed: true,
|
|
1568
|
+
subFields: [
|
|
1569
|
+
{
|
|
1570
|
+
name: "backgroundColor",
|
|
1571
|
+
friendlyName: "Background Color",
|
|
1572
|
+
type: "color",
|
|
1573
|
+
required: false,
|
|
1574
|
+
localized: false,
|
|
1575
|
+
defaultCollapsed: true
|
|
1576
|
+
},
|
|
1577
|
+
{
|
|
1578
|
+
name: "color",
|
|
1579
|
+
friendlyName: "Color",
|
|
1580
|
+
type: "color",
|
|
1581
|
+
required: false,
|
|
1582
|
+
localized: false,
|
|
1583
|
+
defaultCollapsed: true
|
|
1584
|
+
}
|
|
1585
|
+
]
|
|
1586
|
+
}
|
|
1587
|
+
]
|
|
1588
|
+
},
|
|
1589
|
+
{
|
|
1590
|
+
name: "notices",
|
|
1591
|
+
friendlyName: "Cart Notices",
|
|
1592
|
+
type: "object",
|
|
1593
|
+
defaultCollapsed: true,
|
|
1594
|
+
subFields: [
|
|
1595
|
+
{
|
|
1596
|
+
name: "securePaymentNotice",
|
|
1597
|
+
friendlyName: "Secure Payment Notice",
|
|
1598
|
+
type: "object",
|
|
1599
|
+
defaultCollapsed: true,
|
|
1600
|
+
subFields: [
|
|
1601
|
+
{
|
|
1602
|
+
name: "isVisible",
|
|
1603
|
+
friendlyName: "Visible?",
|
|
1604
|
+
type: "boolean",
|
|
1605
|
+
localized: true,
|
|
1606
|
+
helperText: "Show the secure payment notice on the cart page",
|
|
1607
|
+
defaultCollapsed: true
|
|
1608
|
+
},
|
|
1609
|
+
{
|
|
1610
|
+
name: "text",
|
|
1611
|
+
friendlyName: "Text",
|
|
1612
|
+
type: "html",
|
|
1613
|
+
required: false,
|
|
1614
|
+
localized: true,
|
|
1615
|
+
helperText: "Content for the secure payment notice",
|
|
1616
|
+
defaultCollapsed: true
|
|
1617
|
+
},
|
|
1618
|
+
{
|
|
1619
|
+
name: "styles",
|
|
1620
|
+
friendlyName: "Styles",
|
|
1621
|
+
type: "object",
|
|
1622
|
+
helperText: "Styles for the secure payment notice",
|
|
1623
|
+
defaultCollapsed: true,
|
|
1624
|
+
subFields: [
|
|
1625
|
+
{
|
|
1626
|
+
name: "backgroundColor",
|
|
1627
|
+
friendlyName: "Background Color",
|
|
1628
|
+
type: "color",
|
|
1629
|
+
defaultCollapsed: true
|
|
1630
|
+
},
|
|
1631
|
+
{
|
|
1632
|
+
name: "color",
|
|
1633
|
+
friendlyName: "Color",
|
|
1634
|
+
type: "color",
|
|
1635
|
+
defaultCollapsed: true
|
|
1636
|
+
}
|
|
1637
|
+
]
|
|
1638
|
+
}
|
|
1639
|
+
]
|
|
1640
|
+
}
|
|
1641
|
+
]
|
|
1642
|
+
}
|
|
1643
|
+
]
|
|
1644
|
+
},
|
|
1645
|
+
{
|
|
1646
|
+
name: "checkout",
|
|
1647
|
+
friendlyName: "Checkout Page",
|
|
1648
|
+
type: "object",
|
|
1649
|
+
defaultCollapsed: true,
|
|
1650
|
+
localized: false,
|
|
1651
|
+
subFields: [
|
|
1652
|
+
{
|
|
1653
|
+
name: "freeShippingBanner",
|
|
1654
|
+
friendlyName: "Free Shipping Banner",
|
|
1655
|
+
type: "object",
|
|
1656
|
+
defaultCollapsed: true,
|
|
1657
|
+
subFields: [
|
|
1658
|
+
{
|
|
1659
|
+
name: "isVisible",
|
|
1660
|
+
friendlyName: "Visible?",
|
|
1661
|
+
type: "boolean",
|
|
1662
|
+
required: false,
|
|
1663
|
+
localized: true,
|
|
1664
|
+
helperText: "Show the free shipping banner on the checkout page",
|
|
1665
|
+
defaultCollapsed: true
|
|
1666
|
+
},
|
|
1667
|
+
{
|
|
1668
|
+
name: "loggedOutBannerContent",
|
|
1669
|
+
friendlyName: "Logged Out Banner Content",
|
|
1670
|
+
type: "html",
|
|
1671
|
+
required: false,
|
|
1672
|
+
localized: true,
|
|
1673
|
+
helperText: "Content for the free shipping banner when the user is not logged in",
|
|
1674
|
+
defaultCollapsed: true
|
|
1675
|
+
},
|
|
1676
|
+
{
|
|
1677
|
+
name: "loggedInBannerContent",
|
|
1678
|
+
friendlyName: "Logged In Banner Content",
|
|
1679
|
+
type: "html",
|
|
1680
|
+
required: false,
|
|
1681
|
+
localized: true,
|
|
1682
|
+
helperText: "Content for the free shipping banner when the user is logged in",
|
|
1683
|
+
defaultCollapsed: true
|
|
1684
|
+
}
|
|
1685
|
+
]
|
|
1686
|
+
},
|
|
1687
|
+
{
|
|
1688
|
+
name: "securePaymentNotice",
|
|
1689
|
+
friendlyName: "Secure Payment Notice",
|
|
1690
|
+
type: "object",
|
|
1691
|
+
defaultCollapsed: true,
|
|
1692
|
+
subFields: [
|
|
1693
|
+
{
|
|
1694
|
+
name: "isVisible",
|
|
1695
|
+
friendlyName: "Visible?",
|
|
1696
|
+
type: "boolean",
|
|
1697
|
+
required: false,
|
|
1698
|
+
localized: true,
|
|
1699
|
+
helperText: "Show the secure payment notice on the checkout page",
|
|
1700
|
+
defaultCollapsed: true
|
|
1701
|
+
},
|
|
1702
|
+
{
|
|
1703
|
+
name: "content",
|
|
1704
|
+
friendlyName: "Content",
|
|
1705
|
+
type: "html",
|
|
1706
|
+
required: false,
|
|
1707
|
+
localized: true,
|
|
1708
|
+
helperText: "Content for the secure payment notice",
|
|
1709
|
+
defaultCollapsed: true
|
|
1710
|
+
}
|
|
1711
|
+
]
|
|
1712
|
+
},
|
|
1713
|
+
{
|
|
1714
|
+
name: "autoSignUp",
|
|
1715
|
+
friendlyName: "Auto Sign Up",
|
|
1716
|
+
type: "object",
|
|
1717
|
+
defaultCollapsed: true,
|
|
1718
|
+
subFields: [
|
|
1719
|
+
{
|
|
1720
|
+
name: "isVisible",
|
|
1721
|
+
friendlyName: "Visible?",
|
|
1722
|
+
type: "boolean",
|
|
1723
|
+
required: false,
|
|
1724
|
+
localized: true,
|
|
1725
|
+
helperText: "Show the secure payment notice on the checkout page",
|
|
1726
|
+
defaultCollapsed: true
|
|
1727
|
+
},
|
|
1728
|
+
{
|
|
1729
|
+
name: "isChecked",
|
|
1730
|
+
friendlyName: "Checked by Default",
|
|
1731
|
+
type: "boolean",
|
|
1732
|
+
required: false,
|
|
1733
|
+
localized: true,
|
|
1734
|
+
helperText: "Whether the checkbox is checked by default",
|
|
1735
|
+
defaultCollapsed: true
|
|
1736
|
+
},
|
|
1737
|
+
{
|
|
1738
|
+
name: "labelText",
|
|
1739
|
+
friendlyName: "Label Text",
|
|
1740
|
+
type: "html",
|
|
1741
|
+
required: false,
|
|
1742
|
+
localized: true,
|
|
1743
|
+
helperText: "Text for the auto sign up checkbox",
|
|
1744
|
+
defaultCollapsed: true
|
|
1745
|
+
},
|
|
1746
|
+
{
|
|
1747
|
+
name: "helpModal",
|
|
1748
|
+
friendlyName: "Help Modal",
|
|
1749
|
+
type: "object",
|
|
1750
|
+
defaultCollapsed: true,
|
|
1751
|
+
subFields: [
|
|
1752
|
+
{
|
|
1753
|
+
name: "header",
|
|
1754
|
+
friendlyName: "Header",
|
|
1755
|
+
type: "html",
|
|
1756
|
+
required: false,
|
|
1757
|
+
localized: true,
|
|
1758
|
+
helperText: "Header content for the auto sign up help modal",
|
|
1759
|
+
defaultCollapsed: true
|
|
1760
|
+
},
|
|
1761
|
+
{
|
|
1762
|
+
name: "content",
|
|
1763
|
+
friendlyName: "Content",
|
|
1764
|
+
type: "html",
|
|
1765
|
+
required: false,
|
|
1766
|
+
localized: true,
|
|
1767
|
+
helperText: "Content for the auto sign up help modal",
|
|
1768
|
+
defaultCollapsed: true
|
|
1769
|
+
}
|
|
1770
|
+
]
|
|
1771
|
+
}
|
|
1772
|
+
]
|
|
1773
|
+
},
|
|
1774
|
+
{
|
|
1775
|
+
name: "smsOptIn",
|
|
1776
|
+
friendlyName: "SMS Opt In",
|
|
1777
|
+
helperText: "Use these settings to control whether you offer SMS sign up on the checkout form.",
|
|
1778
|
+
type: "object",
|
|
1779
|
+
defaultCollapsed: true,
|
|
1780
|
+
subFields: [
|
|
1781
|
+
{
|
|
1782
|
+
name: "isVisible",
|
|
1783
|
+
friendlyName: "Enabled?",
|
|
1784
|
+
type: "boolean",
|
|
1785
|
+
required: false,
|
|
1786
|
+
localized: true,
|
|
1787
|
+
helperText: "Show SMS opt-in at checkout to guests or returning customers who have not yet opted-in",
|
|
1788
|
+
defaultCollapsed: true
|
|
1789
|
+
},
|
|
1790
|
+
{
|
|
1791
|
+
name: "title",
|
|
1792
|
+
friendlyName: "Title",
|
|
1793
|
+
type: "text",
|
|
1794
|
+
required: false,
|
|
1795
|
+
localized: true,
|
|
1796
|
+
helperText: "The text to display on this section title",
|
|
1797
|
+
defaultCollapsed: true
|
|
1798
|
+
},
|
|
1799
|
+
{
|
|
1800
|
+
name: "content",
|
|
1801
|
+
friendlyName: "CTA Content",
|
|
1802
|
+
type: "html",
|
|
1803
|
+
required: false,
|
|
1804
|
+
localized: true,
|
|
1805
|
+
helperText: "Text for the SMS sign up CTA.",
|
|
1806
|
+
defaultCollapsed: true
|
|
1807
|
+
}
|
|
1808
|
+
]
|
|
1809
|
+
}
|
|
1810
|
+
]
|
|
1811
|
+
},
|
|
1812
|
+
{
|
|
1813
|
+
name: "orderDetails",
|
|
1814
|
+
friendlyName: "Order Details Page",
|
|
1815
|
+
type: "object",
|
|
1816
|
+
defaultCollapsed: true,
|
|
1817
|
+
localized: false,
|
|
1818
|
+
subFields: [
|
|
1819
|
+
{
|
|
1820
|
+
name: "title",
|
|
1821
|
+
friendlyName: "Title",
|
|
1822
|
+
type: "html",
|
|
1823
|
+
required: false,
|
|
1824
|
+
localized: true,
|
|
1825
|
+
helperText: "Title for the order details section on the checkout page",
|
|
1826
|
+
defaultCollapsed: true
|
|
1827
|
+
},
|
|
1828
|
+
{
|
|
1829
|
+
name: "tableHeaderStyle",
|
|
1830
|
+
friendlyName: "Table Header Style",
|
|
1831
|
+
type: "object",
|
|
1832
|
+
required: false,
|
|
1833
|
+
localized: false,
|
|
1834
|
+
helperText: "Style for the order details table header",
|
|
1835
|
+
defaultCollapsed: true,
|
|
1836
|
+
subFields: [
|
|
1837
|
+
{
|
|
1838
|
+
name: "color",
|
|
1839
|
+
friendlyName: "Color",
|
|
1840
|
+
type: "color",
|
|
1841
|
+
required: false,
|
|
1842
|
+
localized: false,
|
|
1843
|
+
helperText: "Text color for the order details table header",
|
|
1844
|
+
defaultCollapsed: true
|
|
1845
|
+
},
|
|
1846
|
+
{
|
|
1847
|
+
name: "backgroundColor",
|
|
1848
|
+
friendlyName: "Background Color",
|
|
1849
|
+
type: "color",
|
|
1850
|
+
required: false,
|
|
1851
|
+
localized: false,
|
|
1852
|
+
helperText: "Background color for the order details table header",
|
|
1853
|
+
defaultCollapsed: true
|
|
1854
|
+
}
|
|
1855
|
+
]
|
|
1856
|
+
},
|
|
1857
|
+
{
|
|
1858
|
+
name: "tableContentStyle",
|
|
1859
|
+
friendlyName: "Table Content Style",
|
|
1860
|
+
type: "object",
|
|
1861
|
+
required: false,
|
|
1862
|
+
localized: false,
|
|
1863
|
+
helperText: "Style for the order details table content",
|
|
1864
|
+
defaultCollapsed: true,
|
|
1865
|
+
subFields: [
|
|
1866
|
+
{
|
|
1867
|
+
name: "backgroundColor",
|
|
1868
|
+
friendlyName: "Background Color",
|
|
1869
|
+
type: "color",
|
|
1870
|
+
required: false,
|
|
1871
|
+
localized: false,
|
|
1872
|
+
helperText: "Background color for the order details table content",
|
|
1873
|
+
defaultCollapsed: true
|
|
1874
|
+
}
|
|
1875
|
+
]
|
|
1876
|
+
},
|
|
1877
|
+
{
|
|
1878
|
+
name: "buyItAgainButton",
|
|
1879
|
+
friendlyName: "Buy It Again Button",
|
|
1880
|
+
type: "object",
|
|
1881
|
+
required: false,
|
|
1882
|
+
localized: false,
|
|
1883
|
+
defaultCollapsed: true,
|
|
1884
|
+
helperText: 'Configuration for the "Buy It Again" button in the order details section',
|
|
1885
|
+
subFields: [
|
|
1886
|
+
{
|
|
1887
|
+
name: "text",
|
|
1888
|
+
friendlyName: "Button Text",
|
|
1889
|
+
type: "html",
|
|
1890
|
+
required: false,
|
|
1891
|
+
localized: true,
|
|
1892
|
+
helperText: 'Text to display on the "Buy It Again" button',
|
|
1893
|
+
defaultCollapsed: true
|
|
1894
|
+
},
|
|
1895
|
+
{
|
|
1896
|
+
name: "classes",
|
|
1897
|
+
friendlyName: "Classes",
|
|
1898
|
+
type: "text",
|
|
1899
|
+
required: false,
|
|
1900
|
+
localized: false,
|
|
1901
|
+
helperText: 'CSS classes to apply to the "Buy It Again" button',
|
|
1902
|
+
defaultCollapsed: true
|
|
1903
|
+
}
|
|
1904
|
+
]
|
|
1905
|
+
},
|
|
1906
|
+
{
|
|
1907
|
+
name: "reOrderAllButton",
|
|
1908
|
+
friendlyName: "Re-Order All Button",
|
|
1909
|
+
type: "object",
|
|
1910
|
+
required: false,
|
|
1911
|
+
localized: false,
|
|
1912
|
+
defaultCollapsed: true,
|
|
1913
|
+
helperText: 'Configuration for the "Re-Order All" button in the order details section',
|
|
1914
|
+
subFields: [
|
|
1915
|
+
{
|
|
1916
|
+
name: "text",
|
|
1917
|
+
friendlyName: "Button Text",
|
|
1918
|
+
type: "html",
|
|
1919
|
+
required: false,
|
|
1920
|
+
localized: true,
|
|
1921
|
+
helperText: 'Text to display on the "Re-Order All" button',
|
|
1922
|
+
defaultCollapsed: true
|
|
1923
|
+
},
|
|
1924
|
+
{
|
|
1925
|
+
name: "classes",
|
|
1926
|
+
friendlyName: "Classes",
|
|
1927
|
+
type: "text",
|
|
1928
|
+
required: false,
|
|
1929
|
+
localized: false,
|
|
1930
|
+
helperText: 'CSS classes to apply to the "Re-Order All" button',
|
|
1931
|
+
defaultCollapsed: true
|
|
1932
|
+
}
|
|
1933
|
+
]
|
|
1934
|
+
}
|
|
1935
|
+
]
|
|
1936
|
+
},
|
|
1937
|
+
{
|
|
1938
|
+
name: "resetPassword",
|
|
1939
|
+
friendlyName: "Reset Password Page",
|
|
1940
|
+
type: "object",
|
|
1941
|
+
defaultCollapsed: true,
|
|
1942
|
+
localized: false,
|
|
1943
|
+
subFields: [
|
|
1944
|
+
{
|
|
1945
|
+
name: "title",
|
|
1946
|
+
friendlyName: "Page Title",
|
|
1947
|
+
type: "html",
|
|
1948
|
+
required: false,
|
|
1949
|
+
localized: true,
|
|
1950
|
+
helperText: "Title for the reset password page",
|
|
1951
|
+
defaultCollapsed: true
|
|
1952
|
+
}
|
|
1953
|
+
]
|
|
1954
|
+
},
|
|
1955
|
+
{
|
|
1956
|
+
name: "subscriptionCancel",
|
|
1957
|
+
friendlyName: "Subscription Cancellation Page",
|
|
1958
|
+
type: "object",
|
|
1959
|
+
defaultCollapsed: true,
|
|
1960
|
+
localized: false,
|
|
1961
|
+
subFields: [
|
|
1962
|
+
{
|
|
1963
|
+
name: "cancelText",
|
|
1964
|
+
friendlyName: "Cancel Text",
|
|
1965
|
+
type: "html",
|
|
1966
|
+
required: false,
|
|
1967
|
+
localized: true,
|
|
1968
|
+
helperText: "Text displayed on the subscription cancellation page",
|
|
1969
|
+
defaultCollapsed: true
|
|
1970
|
+
},
|
|
1971
|
+
{
|
|
1972
|
+
name: "cancelReasons",
|
|
1973
|
+
friendlyName: "Cancel Reasons",
|
|
1974
|
+
type: "list",
|
|
1975
|
+
required: false,
|
|
1976
|
+
localized: true,
|
|
1977
|
+
defaultCollapsed: true,
|
|
1978
|
+
helperText: "List of reasons for subscription cancellation",
|
|
1979
|
+
subFields: [
|
|
1980
|
+
{
|
|
1981
|
+
name: "title",
|
|
1982
|
+
friendlyName: "Reason",
|
|
1983
|
+
type: "text",
|
|
1984
|
+
required: true,
|
|
1985
|
+
helperText: "The reason for cancellation.",
|
|
1986
|
+
localized: true,
|
|
1987
|
+
makeEntryTitle: true,
|
|
1988
|
+
defaultCollapsed: true
|
|
1989
|
+
},
|
|
1990
|
+
{
|
|
1991
|
+
name: "text",
|
|
1992
|
+
friendlyName: "Display Content",
|
|
1993
|
+
type: "html",
|
|
1994
|
+
required: false,
|
|
1995
|
+
helperText: "This is the content that will be displayed for this cancellation reason",
|
|
1996
|
+
localized: true,
|
|
1997
|
+
defaultCollapsed: true
|
|
1998
|
+
},
|
|
1999
|
+
{
|
|
2000
|
+
name: "identifier",
|
|
2001
|
+
friendlyName: "Identifier",
|
|
2002
|
+
type: "select",
|
|
2003
|
+
required: true,
|
|
2004
|
+
defaultCollapsed: true,
|
|
2005
|
+
helperText: "",
|
|
2006
|
+
enum: [
|
|
2007
|
+
"DoNotLike" /* DoNotLike */,
|
|
2008
|
+
"NotWorking" /* NotWorking */,
|
|
2009
|
+
"NoBenefits" /* NoBenefits */,
|
|
2010
|
+
"NoFitNoNeed" /* NoFitNoNeed */,
|
|
2011
|
+
"Budget" /* Budget */,
|
|
2012
|
+
"Mistake" /* Mistake */,
|
|
2013
|
+
"Try" /* Try */,
|
|
2014
|
+
"TooMuch" /* TooMuch */,
|
|
2015
|
+
"TravelMove" /* TravelMove */,
|
|
2016
|
+
"DoNotNeed" /* DoNotNeed */,
|
|
2017
|
+
"AnotherReason" /* AnotherReason */,
|
|
2018
|
+
"NotHelpingSkin" /* NotHelpingSkin */,
|
|
2019
|
+
"SkinImproved" /* SkinImproved */,
|
|
2020
|
+
"PetDoesNotLike" /* PetDoesNotLike */,
|
|
2021
|
+
"NotHelpingPet" /* NotHelpingPet */,
|
|
2022
|
+
"NoneGiven" /* NoneGiven */
|
|
2023
|
+
]
|
|
2024
|
+
},
|
|
2025
|
+
{
|
|
2026
|
+
name: "buttons",
|
|
2027
|
+
friendlyName: "Buttons",
|
|
2028
|
+
type: "list",
|
|
2029
|
+
required: false,
|
|
2030
|
+
defaultCollapsed: true,
|
|
2031
|
+
subFields: [
|
|
2032
|
+
{
|
|
2033
|
+
name: "text",
|
|
2034
|
+
friendlyName: "Button Text",
|
|
2035
|
+
type: "text",
|
|
2036
|
+
required: false,
|
|
2037
|
+
helperText: "Text to display on the button",
|
|
2038
|
+
defaultCollapsed: true
|
|
2039
|
+
},
|
|
2040
|
+
{
|
|
2041
|
+
name: "link",
|
|
2042
|
+
friendlyName: "Button Link",
|
|
2043
|
+
type: "url",
|
|
2044
|
+
required: false,
|
|
2045
|
+
helperText: "",
|
|
2046
|
+
defaultCollapsed: true
|
|
2047
|
+
},
|
|
2048
|
+
{
|
|
2049
|
+
name: "type",
|
|
2050
|
+
type: "select",
|
|
2051
|
+
friendlyName: "Button Type",
|
|
2052
|
+
required: false,
|
|
2053
|
+
helperText: "",
|
|
2054
|
+
enum: [
|
|
2055
|
+
"link" /* Link */,
|
|
2056
|
+
"update" /* Update */,
|
|
2057
|
+
"keep" /* Keep */,
|
|
2058
|
+
"continue" /* Continue */,
|
|
2059
|
+
"cancel" /* Cancel */
|
|
2060
|
+
],
|
|
2061
|
+
defaultValue: "link",
|
|
2062
|
+
defaultCollapsed: true
|
|
2063
|
+
}
|
|
2064
|
+
],
|
|
2065
|
+
helperText: "Buttons to display for this cancellation reason."
|
|
2066
|
+
}
|
|
2067
|
+
]
|
|
2068
|
+
}
|
|
2069
|
+
]
|
|
2070
|
+
},
|
|
2071
|
+
{
|
|
2072
|
+
name: "subscriptionEdit",
|
|
2073
|
+
friendlyName: "Subscription Edit",
|
|
2074
|
+
type: "object",
|
|
2075
|
+
defaultCollapsed: true,
|
|
2076
|
+
localized: false,
|
|
2077
|
+
subFields: [
|
|
2078
|
+
{
|
|
2079
|
+
name: "subscriptionItemDefaultImage",
|
|
2080
|
+
friendlyName: "Subscription Item Default Image",
|
|
2081
|
+
type: "file",
|
|
2082
|
+
showTemplatePicker: true,
|
|
2083
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"],
|
|
2084
|
+
required: false,
|
|
2085
|
+
localized: false,
|
|
2086
|
+
defaultCollapsed: true,
|
|
2087
|
+
helperText: "Default image to display for subscription items"
|
|
2088
|
+
},
|
|
2089
|
+
{
|
|
2090
|
+
name: "shipNow",
|
|
2091
|
+
friendlyName: "Ship Now",
|
|
2092
|
+
type: "object",
|
|
2093
|
+
required: false,
|
|
2094
|
+
defaultCollapsed: true,
|
|
2095
|
+
localized: false,
|
|
2096
|
+
subFields: [
|
|
2097
|
+
{
|
|
2098
|
+
name: "modalHeadlineContent",
|
|
2099
|
+
friendlyName: "Modal Headline Content",
|
|
2100
|
+
type: "html",
|
|
2101
|
+
required: true,
|
|
2102
|
+
helperText: "Headline text displayed in the Ship Now modal",
|
|
2103
|
+
localized: true,
|
|
2104
|
+
defaultCollapsed: true
|
|
2105
|
+
},
|
|
2106
|
+
{
|
|
2107
|
+
name: "modalContent",
|
|
2108
|
+
friendlyName: "Modal Content",
|
|
2109
|
+
type: "html",
|
|
2110
|
+
required: true,
|
|
2111
|
+
helperText: "Main content displayed in the Ship Now modal. You can use $FREQUENCY and it will be replaced with the frequency of the subscription.",
|
|
2112
|
+
localized: true,
|
|
2113
|
+
defaultCollapsed: true
|
|
2114
|
+
}
|
|
2115
|
+
]
|
|
2116
|
+
}
|
|
2117
|
+
]
|
|
2118
|
+
},
|
|
2119
|
+
{
|
|
2120
|
+
name: "upsell",
|
|
2121
|
+
friendlyName: "Upsell Page",
|
|
2122
|
+
type: "object",
|
|
2123
|
+
defaultCollapsed: true,
|
|
2124
|
+
localized: false,
|
|
2125
|
+
subFields: [
|
|
2126
|
+
{
|
|
2127
|
+
name: "mbgImage",
|
|
2128
|
+
friendlyName: "Money Back Guarantee Image",
|
|
2129
|
+
type: "file",
|
|
2130
|
+
showTemplatePicker: true,
|
|
2131
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"],
|
|
2132
|
+
required: false,
|
|
2133
|
+
localized: true,
|
|
2134
|
+
defaultCollapsed: true,
|
|
2135
|
+
helperText: "Image displayed on the upsell page for the money back guarantee"
|
|
2136
|
+
},
|
|
2137
|
+
{
|
|
2138
|
+
name: "mbgText",
|
|
2139
|
+
friendlyName: "Money Back Guarantee Text",
|
|
2140
|
+
type: "html",
|
|
2141
|
+
required: false,
|
|
2142
|
+
localized: true,
|
|
2143
|
+
defaultCollapsed: true,
|
|
2144
|
+
helperText: "Text displayed on the upsell page for the money back guarantee"
|
|
2145
|
+
}
|
|
2146
|
+
]
|
|
2147
|
+
}
|
|
2148
|
+
]
|
|
2149
|
+
};
|
|
2150
|
+
};
|
|
2151
|
+
|
|
2152
|
+
// src/data/brand-config/sections/cookie-config.ts
|
|
2153
|
+
var createCookieConfig = () => {
|
|
2154
|
+
return {
|
|
2155
|
+
name: "cookieConfig",
|
|
2156
|
+
friendlyName: "Cookie Configuration",
|
|
2157
|
+
type: "object",
|
|
2158
|
+
defaultCollapsed: true,
|
|
2159
|
+
subFields: [
|
|
2160
|
+
{
|
|
2161
|
+
name: "popupBanner",
|
|
2162
|
+
friendlyName: "Cookie Policy Popup Banner",
|
|
2163
|
+
type: "object",
|
|
2164
|
+
defaultCollapsed: true,
|
|
2165
|
+
helperText: "Configure the cookie policy popup banner",
|
|
2166
|
+
subFields: [
|
|
2167
|
+
{
|
|
2168
|
+
name: "content",
|
|
2169
|
+
friendlyName: "Content",
|
|
2170
|
+
type: "html",
|
|
2171
|
+
localized: true,
|
|
2172
|
+
defaultCollapsed: true,
|
|
2173
|
+
helperText: "Content for the cookie policy popup banner"
|
|
2174
|
+
},
|
|
2175
|
+
{
|
|
2176
|
+
name: "bannerStyles",
|
|
2177
|
+
friendlyName: "Banner Styles",
|
|
2178
|
+
type: "object",
|
|
2179
|
+
defaultCollapsed: true,
|
|
2180
|
+
subFields: [
|
|
2181
|
+
{
|
|
2182
|
+
name: "backgroundColor",
|
|
2183
|
+
friendlyName: "Background Color",
|
|
2184
|
+
type: "color",
|
|
2185
|
+
required: false,
|
|
2186
|
+
defaultCollapsed: true
|
|
2187
|
+
},
|
|
2188
|
+
{
|
|
2189
|
+
name: "borderRadius",
|
|
2190
|
+
friendlyName: "Border Radius",
|
|
2191
|
+
type: "text",
|
|
2192
|
+
required: false,
|
|
2193
|
+
defaultCollapsed: true
|
|
2194
|
+
}
|
|
2195
|
+
]
|
|
2196
|
+
},
|
|
2197
|
+
{
|
|
2198
|
+
name: "buttonStyles",
|
|
2199
|
+
friendlyName: "Button Styles",
|
|
2200
|
+
type: "object",
|
|
2201
|
+
defaultCollapsed: true,
|
|
2202
|
+
subFields: [
|
|
2203
|
+
{
|
|
2204
|
+
name: "backgroundColor",
|
|
2205
|
+
friendlyName: "Background Color",
|
|
2206
|
+
type: "color",
|
|
2207
|
+
required: false,
|
|
2208
|
+
defaultCollapsed: true
|
|
2209
|
+
},
|
|
2210
|
+
{
|
|
2211
|
+
name: "color",
|
|
2212
|
+
friendlyName: "Color",
|
|
2213
|
+
type: "color",
|
|
2214
|
+
required: false,
|
|
2215
|
+
defaultCollapsed: true
|
|
2216
|
+
}
|
|
2217
|
+
]
|
|
2218
|
+
}
|
|
2219
|
+
]
|
|
2220
|
+
}
|
|
2221
|
+
]
|
|
2222
|
+
};
|
|
2223
|
+
};
|
|
2224
|
+
|
|
2225
|
+
// src/data/brand-config/sections/general-config.ts
|
|
2226
|
+
var createGeneralConfig = (bannerModelId) => {
|
|
2227
|
+
return [
|
|
2228
|
+
{
|
|
2229
|
+
name: "brandDisplayName",
|
|
2230
|
+
friendlyName: "Brand Display Name",
|
|
2231
|
+
type: "text",
|
|
2232
|
+
defaultCollapsed: true,
|
|
2233
|
+
localized: false,
|
|
2234
|
+
required: true
|
|
2235
|
+
},
|
|
2236
|
+
{
|
|
2237
|
+
name: "images",
|
|
2238
|
+
friendlyName: "Brand Images",
|
|
2239
|
+
type: "object",
|
|
2240
|
+
defaultCollapsed: true,
|
|
2241
|
+
localized: false,
|
|
2242
|
+
subFields: [
|
|
2243
|
+
{
|
|
2244
|
+
name: "brandLogoSmall",
|
|
2245
|
+
friendlyName: "Logo (Small)",
|
|
2246
|
+
type: "file",
|
|
2247
|
+
showTemplatePicker: true,
|
|
2248
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"],
|
|
2249
|
+
localized: true,
|
|
2250
|
+
helperText: "Small logo for the brand",
|
|
2251
|
+
defaultCollapsed: true
|
|
2252
|
+
},
|
|
2253
|
+
{
|
|
2254
|
+
name: "brandLogoLarge",
|
|
2255
|
+
friendlyName: "Logo (Large)",
|
|
2256
|
+
type: "file",
|
|
2257
|
+
showTemplatePicker: true,
|
|
2258
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"],
|
|
2259
|
+
localized: true,
|
|
2260
|
+
helperText: "Large logo for the brand",
|
|
2261
|
+
defaultCollapsed: true
|
|
2262
|
+
},
|
|
2263
|
+
{
|
|
2264
|
+
name: "brandLogoFooter",
|
|
2265
|
+
friendlyName: "Logo (Footer)",
|
|
2266
|
+
type: "file",
|
|
2267
|
+
showTemplatePicker: true,
|
|
2268
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"],
|
|
2269
|
+
localized: true,
|
|
2270
|
+
helperText: "Footer logo for the brand",
|
|
2271
|
+
defaultCollapsed: true
|
|
2272
|
+
},
|
|
2273
|
+
{
|
|
2274
|
+
name: "bbbImage",
|
|
2275
|
+
friendlyName: "BBB Image",
|
|
2276
|
+
type: "file",
|
|
2277
|
+
showTemplatePicker: true,
|
|
2278
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"],
|
|
2279
|
+
localized: true,
|
|
2280
|
+
helperText: "BBB logo for the brand",
|
|
2281
|
+
defaultCollapsed: true
|
|
2282
|
+
},
|
|
2283
|
+
{
|
|
2284
|
+
name: "accesibilityLogo",
|
|
2285
|
+
friendlyName: "Accessibility Logo",
|
|
2286
|
+
type: "file",
|
|
2287
|
+
showTemplatePicker: true,
|
|
2288
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"],
|
|
2289
|
+
localized: true,
|
|
2290
|
+
helperText: "Accessibility logo for the brand",
|
|
2291
|
+
defaultCollapsed: true
|
|
2292
|
+
},
|
|
2293
|
+
{
|
|
2294
|
+
name: "brandLogoOffWhite",
|
|
2295
|
+
friendlyName: "Logo (Off-White)",
|
|
2296
|
+
type: "file",
|
|
2297
|
+
showTemplatePicker: true,
|
|
2298
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"],
|
|
2299
|
+
localized: true,
|
|
2300
|
+
helperText: "Off white logo for the brand",
|
|
2301
|
+
defaultCollapsed: true
|
|
2302
|
+
},
|
|
2303
|
+
{
|
|
2304
|
+
name: "defaultPetProfileImage",
|
|
2305
|
+
friendlyName: "Default Pet Profile Image",
|
|
2306
|
+
type: "file",
|
|
2307
|
+
showTemplatePicker: true,
|
|
2308
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"],
|
|
2309
|
+
localized: true,
|
|
2310
|
+
helperText: "Default image for pet profiles",
|
|
2311
|
+
defaultCollapsed: true
|
|
2312
|
+
},
|
|
2313
|
+
{
|
|
2314
|
+
name: "defaultCatProfileImage",
|
|
2315
|
+
friendlyName: "Default Cat Profile Image",
|
|
2316
|
+
type: "file",
|
|
2317
|
+
showTemplatePicker: true,
|
|
2318
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"],
|
|
2319
|
+
localized: true,
|
|
2320
|
+
helperText: "Default image for cat profiles",
|
|
2321
|
+
defaultCollapsed: true
|
|
2322
|
+
},
|
|
2323
|
+
{
|
|
2324
|
+
name: "defaultDogProfileImage",
|
|
2325
|
+
friendlyName: "Default Dog Profile Image",
|
|
2326
|
+
type: "file",
|
|
2327
|
+
showTemplatePicker: true,
|
|
2328
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"],
|
|
2329
|
+
localized: true,
|
|
2330
|
+
helperText: "Default image for dog profiles",
|
|
2331
|
+
defaultCollapsed: true
|
|
2332
|
+
},
|
|
2333
|
+
{
|
|
2334
|
+
name: "linklessPageHeaderLogo",
|
|
2335
|
+
friendlyName: "Linkless Header Image",
|
|
2336
|
+
type: "file",
|
|
2337
|
+
showTemplatePicker: true,
|
|
2338
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"],
|
|
2339
|
+
localized: true,
|
|
2340
|
+
helperText: "Logo Image for the linkless header",
|
|
2341
|
+
defaultCollapsed: true
|
|
2342
|
+
}
|
|
2343
|
+
]
|
|
2344
|
+
},
|
|
2345
|
+
{
|
|
2346
|
+
name: "links",
|
|
2347
|
+
friendlyName: "General Links",
|
|
2348
|
+
type: "object",
|
|
2349
|
+
defaultCollapsed: true,
|
|
2350
|
+
localized: false,
|
|
2351
|
+
subFields: [
|
|
2352
|
+
{
|
|
2353
|
+
name: "termsLink",
|
|
2354
|
+
friendlyName: "Terms of Service Link",
|
|
2355
|
+
type: "url",
|
|
2356
|
+
localized: false,
|
|
2357
|
+
helperText: "Link to the terms of service page",
|
|
2358
|
+
defaultCollapsed: true
|
|
2359
|
+
},
|
|
2360
|
+
{
|
|
2361
|
+
name: "subscriptionTermsLink",
|
|
2362
|
+
friendlyName: "Subscription Terms of Service Link",
|
|
2363
|
+
type: "url",
|
|
2364
|
+
localized: false,
|
|
2365
|
+
helperText: "Link to the subscription terms of service page",
|
|
2366
|
+
defaultCollapsed: true
|
|
2367
|
+
},
|
|
2368
|
+
{
|
|
2369
|
+
name: "privacyLink",
|
|
2370
|
+
friendlyName: "Privacy Policy Link",
|
|
2371
|
+
type: "url",
|
|
2372
|
+
localized: false,
|
|
2373
|
+
helperText: "Link to the privacy policy page",
|
|
2374
|
+
defaultCollapsed: true
|
|
2375
|
+
},
|
|
2376
|
+
{
|
|
2377
|
+
name: "ccpaLink",
|
|
2378
|
+
friendlyName: "CCPA Link",
|
|
2379
|
+
type: "url",
|
|
2380
|
+
localized: false,
|
|
2381
|
+
helperText: "Link to the CCPA page",
|
|
2382
|
+
defaultCollapsed: true
|
|
2383
|
+
},
|
|
2384
|
+
{
|
|
2385
|
+
name: "bbbLink",
|
|
2386
|
+
friendlyName: "BBB Link",
|
|
2387
|
+
type: "url",
|
|
2388
|
+
localized: false,
|
|
2389
|
+
helperText: "Link to the Better Business Bureau page",
|
|
2390
|
+
defaultCollapsed: true
|
|
2391
|
+
},
|
|
2392
|
+
{
|
|
2393
|
+
name: "accessibiltyLink",
|
|
2394
|
+
friendlyName: "Accessibility Link",
|
|
2395
|
+
type: "url",
|
|
2396
|
+
localized: false,
|
|
2397
|
+
helperText: "Link to the accessibility page",
|
|
2398
|
+
defaultCollapsed: true
|
|
2399
|
+
},
|
|
2400
|
+
{
|
|
2401
|
+
name: "socialMedia",
|
|
2402
|
+
friendlyName: "Social Media Links",
|
|
2403
|
+
type: "object",
|
|
2404
|
+
localized: false,
|
|
2405
|
+
helperText: "",
|
|
2406
|
+
defaultCollapsed: true,
|
|
2407
|
+
subFields: [
|
|
2408
|
+
{
|
|
2409
|
+
name: "twitter",
|
|
2410
|
+
friendlyName: "Twitter",
|
|
2411
|
+
type: "url",
|
|
2412
|
+
localized: false,
|
|
2413
|
+
helperText: "",
|
|
2414
|
+
defaultCollapsed: true
|
|
2415
|
+
},
|
|
2416
|
+
{
|
|
2417
|
+
name: "facebook",
|
|
2418
|
+
friendlyName: "Facebook",
|
|
2419
|
+
type: "url",
|
|
2420
|
+
localized: false,
|
|
2421
|
+
helperText: "",
|
|
2422
|
+
defaultCollapsed: true
|
|
2423
|
+
},
|
|
2424
|
+
{
|
|
2425
|
+
name: "youtube",
|
|
2426
|
+
friendlyName: "Youtube",
|
|
2427
|
+
type: "url",
|
|
2428
|
+
localized: false,
|
|
2429
|
+
helperText: "",
|
|
2430
|
+
defaultCollapsed: true
|
|
2431
|
+
},
|
|
2432
|
+
{
|
|
2433
|
+
name: "instagram",
|
|
2434
|
+
friendlyName: "Instagram",
|
|
2435
|
+
type: "url",
|
|
2436
|
+
localized: false,
|
|
2437
|
+
helperText: "",
|
|
2438
|
+
defaultCollapsed: true
|
|
2439
|
+
},
|
|
2440
|
+
{
|
|
2441
|
+
name: "pinterest",
|
|
2442
|
+
friendlyName: "Pinterest",
|
|
2443
|
+
type: "url",
|
|
2444
|
+
localized: false,
|
|
2445
|
+
helperText: "",
|
|
2446
|
+
defaultCollapsed: true
|
|
2447
|
+
},
|
|
2448
|
+
{
|
|
2449
|
+
name: "tiktok",
|
|
2450
|
+
friendlyName: "Tiktok",
|
|
2451
|
+
type: "url",
|
|
2452
|
+
localized: false,
|
|
2453
|
+
helperText: "",
|
|
2454
|
+
defaultCollapsed: true
|
|
2455
|
+
}
|
|
2456
|
+
]
|
|
2457
|
+
}
|
|
2458
|
+
]
|
|
2459
|
+
},
|
|
2460
|
+
{
|
|
2461
|
+
name: "banners",
|
|
2462
|
+
friendlyName: "Banners",
|
|
2463
|
+
helperText: `Select the banner(s) to display site-wide. These will be displayed in the
|
|
2464
|
+
order provided, and always above page-specific announcements`,
|
|
2465
|
+
type: "list",
|
|
2466
|
+
defaultCollapsed: true,
|
|
2467
|
+
localized: false,
|
|
2468
|
+
subFields: [
|
|
2469
|
+
{
|
|
2470
|
+
name: "banner",
|
|
2471
|
+
friendlyName: "Sitewide Banner",
|
|
2472
|
+
type: "reference",
|
|
2473
|
+
localized: false,
|
|
2474
|
+
helperText: "Select the banner to display.",
|
|
2475
|
+
defaultCollapsed: true,
|
|
2476
|
+
modelId: bannerModelId,
|
|
2477
|
+
copyOnAdd: false
|
|
2478
|
+
},
|
|
2479
|
+
{
|
|
2480
|
+
name: "alwaysShow",
|
|
2481
|
+
friendlyName: "Always Show?",
|
|
2482
|
+
type: "boolean",
|
|
2483
|
+
localized: false,
|
|
2484
|
+
helperText: 'By default, we hide sitewide banners on the classic "cart" pages. Use this setting to bypass those restrictions',
|
|
2485
|
+
defaultCollapsed: true
|
|
2486
|
+
}
|
|
2487
|
+
]
|
|
2488
|
+
}
|
|
2489
|
+
];
|
|
2490
|
+
};
|
|
2491
|
+
|
|
2492
|
+
// src/data/brand-config/index.ts
|
|
2493
|
+
var createBrandConfigModel = (gridFilterModelId, bannerModelId) => {
|
|
2494
|
+
return {
|
|
2495
|
+
name: "gh-brand-config",
|
|
2496
|
+
kind: "data",
|
|
2497
|
+
displayName: "Brand Configuration",
|
|
2498
|
+
helperText: "Manage global features and settings for your website",
|
|
2499
|
+
contentTitleField: void 0,
|
|
2500
|
+
fields: [
|
|
2501
|
+
...createGeneralConfig(bannerModelId),
|
|
2502
|
+
createHeaderConfig(),
|
|
2503
|
+
createFooterConfig(),
|
|
2504
|
+
createFeatureConfig(gridFilterModelId),
|
|
2505
|
+
createSupportConfig(),
|
|
2506
|
+
createPageConfig(),
|
|
2507
|
+
createCookieConfig()
|
|
2508
|
+
]
|
|
2509
|
+
};
|
|
2510
|
+
};
|
|
2511
|
+
|
|
2512
|
+
// src/data/blog-category.model.ts
|
|
2513
|
+
var createBlogCategoryModel = () => ({
|
|
2514
|
+
name: "blog-category",
|
|
2515
|
+
displayName: "Blog Category",
|
|
2516
|
+
kind: "data",
|
|
2517
|
+
helperText: "Category for blog categorization",
|
|
2518
|
+
contentTitleField: void 0,
|
|
2519
|
+
fields: [
|
|
2520
|
+
{
|
|
2521
|
+
name: "name",
|
|
2522
|
+
friendlyName: "Name",
|
|
2523
|
+
helperText: "Name of the category",
|
|
2524
|
+
type: "text",
|
|
2525
|
+
defaultCollapsed: false,
|
|
2526
|
+
localized: true,
|
|
2527
|
+
required: true
|
|
2528
|
+
},
|
|
2529
|
+
{
|
|
2530
|
+
name: "description",
|
|
2531
|
+
friendlyName: "Category Description",
|
|
2532
|
+
helperText: "Provide a description of the category. This may be used in components.",
|
|
2533
|
+
type: "html",
|
|
2534
|
+
defaultCollapsed: false,
|
|
2535
|
+
localized: true,
|
|
2536
|
+
required: false
|
|
2537
|
+
},
|
|
2538
|
+
{
|
|
2539
|
+
name: "slug",
|
|
2540
|
+
friendlyName: "Slug",
|
|
2541
|
+
helperText: "Path to use for linking to this category",
|
|
2542
|
+
type: "text",
|
|
2543
|
+
defaultCollapsed: false,
|
|
2544
|
+
localized: false,
|
|
2545
|
+
required: true
|
|
2546
|
+
},
|
|
2547
|
+
{
|
|
2548
|
+
name: "parentId",
|
|
2549
|
+
friendlyName: "Parent Category Id",
|
|
2550
|
+
helperText: "If this category is a child, provide the Id of the parent category",
|
|
2551
|
+
type: "text",
|
|
2552
|
+
required: false,
|
|
2553
|
+
defaultCollapsed: true,
|
|
2554
|
+
localized: false
|
|
2555
|
+
}
|
|
2556
|
+
]
|
|
2557
|
+
});
|
|
2558
|
+
|
|
2559
|
+
// src/data/blog-comment.model.ts
|
|
2560
|
+
var BlogCommentModel = {
|
|
2561
|
+
name: "blog-comment",
|
|
2562
|
+
displayName: "Blog Comment",
|
|
2563
|
+
kind: "data",
|
|
2564
|
+
helperText: `Comments on your website's blogs`,
|
|
2565
|
+
contentTitleField: void 0,
|
|
2566
|
+
fields: [
|
|
2567
|
+
{
|
|
2568
|
+
name: "name",
|
|
2569
|
+
friendlyName: "Name",
|
|
2570
|
+
helperText: "Name of the user who submitted this comment",
|
|
2571
|
+
type: "text",
|
|
2572
|
+
defaultCollapsed: false,
|
|
2573
|
+
localized: false,
|
|
2574
|
+
required: true
|
|
2575
|
+
},
|
|
2576
|
+
{
|
|
2577
|
+
name: "date",
|
|
2578
|
+
friendlyName: "Date",
|
|
2579
|
+
helperText: "Date this comment was submitted",
|
|
2580
|
+
type: "timestamp",
|
|
2581
|
+
defaultCollapsed: false,
|
|
2582
|
+
localized: false,
|
|
2583
|
+
required: true
|
|
2584
|
+
},
|
|
2585
|
+
{
|
|
2586
|
+
name: "status",
|
|
2587
|
+
friendlyName: "Status",
|
|
2588
|
+
helperText: `Select the status of this comment. Only Approved comments will be displayed`,
|
|
2589
|
+
type: "select",
|
|
2590
|
+
enum: ["Pending Approval", "Approved", "Rejected"],
|
|
2591
|
+
defaultValue: "Pending Approval",
|
|
2592
|
+
defaultCollapsed: false,
|
|
2593
|
+
localized: false,
|
|
2594
|
+
required: true
|
|
2595
|
+
},
|
|
2596
|
+
{
|
|
2597
|
+
type: "text",
|
|
2598
|
+
name: "email",
|
|
2599
|
+
friendlyName: "Email",
|
|
2600
|
+
required: false,
|
|
2601
|
+
defaultCollapsed: false
|
|
2602
|
+
},
|
|
2603
|
+
{
|
|
2604
|
+
type: "html",
|
|
2605
|
+
name: "comment",
|
|
2606
|
+
friendlyName: "Comment",
|
|
2607
|
+
helperText: "HTML content of the comment",
|
|
2608
|
+
required: true,
|
|
2609
|
+
defaultCollapsed: false
|
|
2610
|
+
},
|
|
2611
|
+
{
|
|
2612
|
+
name: "language",
|
|
2613
|
+
friendlyName: "Language",
|
|
2614
|
+
helperText: `The language code of this comment. Legacy comments are synced as 'en'`,
|
|
2615
|
+
type: "select",
|
|
2616
|
+
enum: ["en"],
|
|
2617
|
+
defaultCollapsed: true,
|
|
2618
|
+
localized: false,
|
|
2619
|
+
defaultValue: "en",
|
|
2620
|
+
required: true
|
|
2621
|
+
},
|
|
2622
|
+
{
|
|
2623
|
+
name: "locale",
|
|
2624
|
+
friendlyName: "Locale",
|
|
2625
|
+
helperText: `The country code of this comment. Legacy comments are synced as 'US'`,
|
|
2626
|
+
type: "select",
|
|
2627
|
+
enum: ["US"],
|
|
2628
|
+
defaultValue: "US",
|
|
2629
|
+
defaultCollapsed: true,
|
|
2630
|
+
localized: false,
|
|
2631
|
+
required: true
|
|
2632
|
+
},
|
|
2633
|
+
{
|
|
2634
|
+
name: "parentId",
|
|
2635
|
+
friendlyName: "Parent Comment Id",
|
|
2636
|
+
helperText: "If this comment is a reply, this is the Id of the parent",
|
|
2637
|
+
type: "text",
|
|
2638
|
+
required: false,
|
|
2639
|
+
defaultCollapsed: true
|
|
2640
|
+
},
|
|
2641
|
+
{
|
|
2642
|
+
name: "internal",
|
|
2643
|
+
friendlyName: "Brand Response",
|
|
2644
|
+
helperText: "Indicates that this is a comment provided by the brand (i.e. a response)",
|
|
2645
|
+
type: "boolean",
|
|
2646
|
+
defaultCollapsed: false,
|
|
2647
|
+
required: false
|
|
2648
|
+
}
|
|
2649
|
+
],
|
|
2650
|
+
hideFromUI: true
|
|
2651
|
+
};
|
|
2652
|
+
var createBlogCommentModel = (pageModelId) => {
|
|
2653
|
+
return {
|
|
2654
|
+
...BlogCommentModel,
|
|
2655
|
+
fields: [
|
|
2656
|
+
...BlogCommentModel.fields,
|
|
2657
|
+
{
|
|
2658
|
+
name: "blog",
|
|
2659
|
+
friendlyName: "Blog Post",
|
|
2660
|
+
helperText: "The blog that this comment is linked to",
|
|
2661
|
+
type: "reference",
|
|
2662
|
+
modelId: pageModelId,
|
|
2663
|
+
required: true,
|
|
2664
|
+
defaultCollapsed: false,
|
|
2665
|
+
copyOnAdd: false
|
|
2666
|
+
}
|
|
2667
|
+
]
|
|
2668
|
+
};
|
|
2669
|
+
};
|
|
2670
|
+
|
|
2671
|
+
// src/data/product.model.ts
|
|
2672
|
+
var createProductModel = (request) => {
|
|
2673
|
+
return {
|
|
2674
|
+
name: "product",
|
|
2675
|
+
displayName: "Product",
|
|
2676
|
+
kind: "data",
|
|
2677
|
+
helperText: "Product Catalog",
|
|
2678
|
+
contentTitleField: "name",
|
|
2679
|
+
fields: [
|
|
2680
|
+
{
|
|
2681
|
+
name: "displayName",
|
|
2682
|
+
friendlyName: "Display Name",
|
|
2683
|
+
type: "text",
|
|
2684
|
+
required: true,
|
|
2685
|
+
localized: true,
|
|
2686
|
+
defaultCollapsed: true,
|
|
2687
|
+
helperText: "This is the name that will be displayed to the customer"
|
|
2688
|
+
},
|
|
2689
|
+
{
|
|
2690
|
+
name: "featuredImage",
|
|
2691
|
+
friendlyName: "Featured Image",
|
|
2692
|
+
helperText: "Displayed on the product card",
|
|
2693
|
+
defaultCollapsed: true,
|
|
2694
|
+
type: "file",
|
|
2695
|
+
showTemplatePicker: true,
|
|
2696
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"]
|
|
2697
|
+
},
|
|
2698
|
+
{
|
|
2699
|
+
name: "secondaryImage",
|
|
2700
|
+
friendlyName: "Secondary Image",
|
|
2701
|
+
helperText: "Displayed on the product card hover for some grids",
|
|
2702
|
+
defaultCollapsed: true,
|
|
2703
|
+
type: "file",
|
|
2704
|
+
showTemplatePicker: true,
|
|
2705
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"]
|
|
2706
|
+
},
|
|
2707
|
+
{
|
|
2708
|
+
name: "subHeading",
|
|
2709
|
+
defaultCollapsed: true,
|
|
2710
|
+
friendlyName: "Product Headline",
|
|
2711
|
+
helperText: "Subheading (tagline) for the product, displayed on the product card",
|
|
2712
|
+
type: "text",
|
|
2713
|
+
localized: true
|
|
2714
|
+
},
|
|
2715
|
+
{
|
|
2716
|
+
name: "gridTagline",
|
|
2717
|
+
defaultCollapsed: true,
|
|
2718
|
+
friendlyName: "Grid Tagline",
|
|
2719
|
+
helperText: "By default, we use the Product Headline field. Use this to override the tagline when displayed on the product grid.",
|
|
2720
|
+
type: "text",
|
|
2721
|
+
required: false,
|
|
2722
|
+
localized: true
|
|
2723
|
+
},
|
|
2724
|
+
{
|
|
2725
|
+
name: "gridDescription",
|
|
2726
|
+
defaultCollapsed: true,
|
|
2727
|
+
friendlyName: "Grid Description",
|
|
2728
|
+
helperText: "A small description, used on some product grids as an additional sub-heading or tagline.",
|
|
2729
|
+
type: "text",
|
|
2730
|
+
required: false,
|
|
2731
|
+
localized: true
|
|
2732
|
+
},
|
|
2733
|
+
{
|
|
2734
|
+
name: "shortDescription",
|
|
2735
|
+
defaultCollapsed: true,
|
|
2736
|
+
friendlyName: "Short Description",
|
|
2737
|
+
helperText: "Short description of the product, typically displayed on the PDP",
|
|
2738
|
+
type: "html",
|
|
2739
|
+
required: false,
|
|
2740
|
+
localized: true
|
|
2741
|
+
},
|
|
2742
|
+
{
|
|
2743
|
+
name: "quote",
|
|
2744
|
+
friendlyName: "Quote",
|
|
2745
|
+
defaultCollapsed: true,
|
|
2746
|
+
helperText: "A quote provided by the brand guru or spokesperson",
|
|
2747
|
+
type: "html",
|
|
2748
|
+
localized: true,
|
|
2749
|
+
required: false
|
|
2750
|
+
},
|
|
2751
|
+
{
|
|
2752
|
+
name: "packagingLabels",
|
|
2753
|
+
friendlyName: "Packaging Labels",
|
|
2754
|
+
defaultCollapsed: true,
|
|
2755
|
+
type: "object",
|
|
2756
|
+
subFields: [
|
|
2757
|
+
{
|
|
2758
|
+
name: "singular",
|
|
2759
|
+
friendlyName: "Singular",
|
|
2760
|
+
defaultCollapsed: true,
|
|
2761
|
+
type: "text",
|
|
2762
|
+
required: true,
|
|
2763
|
+
localized: true,
|
|
2764
|
+
helperText: "Provides the name of the packaging for single product (e.g. Unit, Jar, etc.)"
|
|
2765
|
+
},
|
|
2766
|
+
{
|
|
2767
|
+
name: "plural",
|
|
2768
|
+
defaultCollapsed: true,
|
|
2769
|
+
friendlyName: "Plural",
|
|
2770
|
+
type: "text",
|
|
2771
|
+
required: true,
|
|
2772
|
+
localized: true,
|
|
2773
|
+
helperText: "Provides the name of the packaging for multiple quantities of the product (e.g. Units, Jars, etc.)"
|
|
2774
|
+
}
|
|
2775
|
+
]
|
|
2776
|
+
},
|
|
2777
|
+
{
|
|
2778
|
+
name: "hidden",
|
|
2779
|
+
friendlyName: "Hide Product",
|
|
2780
|
+
type: "boolean",
|
|
2781
|
+
required: false,
|
|
2782
|
+
localized: true,
|
|
2783
|
+
defaultCollapsed: true,
|
|
2784
|
+
helperText: "When true, this product will not be displayed in product grids or search results for this locale"
|
|
2785
|
+
},
|
|
2786
|
+
{
|
|
2787
|
+
name: "outOfStock",
|
|
2788
|
+
friendlyName: "Out of Stock",
|
|
2789
|
+
type: "boolean",
|
|
2790
|
+
required: false,
|
|
2791
|
+
defaultCollapsed: true,
|
|
2792
|
+
helperText: "Indicates whether this product is currently out of stock. When true, this product is not eligible for purchase."
|
|
2793
|
+
},
|
|
2794
|
+
{
|
|
2795
|
+
name: "cartOutOfStock",
|
|
2796
|
+
friendlyName: "Out of Stock (Site)",
|
|
2797
|
+
type: "boolean",
|
|
2798
|
+
required: false,
|
|
2799
|
+
defaultCollapsed: true,
|
|
2800
|
+
helperText: "Indicates that this product should be presented as out of stock on the site, even if it is not truly out of stock. This is used as an override for special cases where the product should not be purchasable on the site while remaining purchasable elsewhere."
|
|
2801
|
+
},
|
|
2802
|
+
{
|
|
2803
|
+
name: "upc",
|
|
2804
|
+
defaultCollapsed: true,
|
|
2805
|
+
friendlyName: "UPC Code",
|
|
2806
|
+
type: "text",
|
|
2807
|
+
required: false,
|
|
2808
|
+
helperText: "The UPC code of this product"
|
|
2809
|
+
},
|
|
2810
|
+
{
|
|
2811
|
+
name: "reviews",
|
|
2812
|
+
friendlyName: "Review Data",
|
|
2813
|
+
helperText: "Stores review data for this product. These values are automatically generated and should not be modified.",
|
|
2814
|
+
type: "object",
|
|
2815
|
+
defaultCollapsed: true,
|
|
2816
|
+
subFields: [
|
|
2817
|
+
{
|
|
2818
|
+
name: "id",
|
|
2819
|
+
defaultCollapsed: true,
|
|
2820
|
+
friendlyName: "Review ID",
|
|
2821
|
+
type: "text",
|
|
2822
|
+
required: true,
|
|
2823
|
+
localized: false,
|
|
2824
|
+
helperText: "ID used by the review service to identify this product. Do not modify this value."
|
|
2825
|
+
},
|
|
2826
|
+
{
|
|
2827
|
+
defaultCollapsed: true,
|
|
2828
|
+
name: "count",
|
|
2829
|
+
friendlyName: "Review Count",
|
|
2830
|
+
type: "number",
|
|
2831
|
+
defaultValue: 0,
|
|
2832
|
+
required: true,
|
|
2833
|
+
localized: false,
|
|
2834
|
+
helperText: "The number of reviews for this product. This value is automatically updated by the review service."
|
|
2835
|
+
},
|
|
2836
|
+
{
|
|
2837
|
+
name: "averageRating",
|
|
2838
|
+
friendlyName: "Average Rating",
|
|
2839
|
+
type: "number",
|
|
2840
|
+
defaultCollapsed: true,
|
|
2841
|
+
defaultValue: 0,
|
|
2842
|
+
required: true,
|
|
2843
|
+
localized: false,
|
|
2844
|
+
helperText: "The average rating for this product. This value is automatically updated by the review service."
|
|
2845
|
+
}
|
|
2846
|
+
]
|
|
2847
|
+
},
|
|
2848
|
+
{
|
|
2849
|
+
name: "tags",
|
|
2850
|
+
friendlyName: "Tags",
|
|
2851
|
+
type: "list",
|
|
2852
|
+
localized: true,
|
|
2853
|
+
defaultCollapsed: true,
|
|
2854
|
+
subFields: [
|
|
2855
|
+
{
|
|
2856
|
+
type: "reference",
|
|
2857
|
+
modelId: request.tagModelId,
|
|
2858
|
+
name: "tag",
|
|
2859
|
+
friendlyName: "Tag",
|
|
2860
|
+
copyOnAdd: false,
|
|
2861
|
+
defaultCollapsed: true
|
|
2862
|
+
}
|
|
2863
|
+
]
|
|
2864
|
+
},
|
|
2865
|
+
{
|
|
2866
|
+
name: "categories",
|
|
2867
|
+
friendlyName: "Categories",
|
|
2868
|
+
type: "list",
|
|
2869
|
+
localized: true,
|
|
2870
|
+
defaultCollapsed: true,
|
|
2871
|
+
subFields: [
|
|
2872
|
+
{
|
|
2873
|
+
type: "reference",
|
|
2874
|
+
modelId: request.categoryModelId,
|
|
2875
|
+
name: "category",
|
|
2876
|
+
friendlyName: "Category",
|
|
2877
|
+
copyOnAdd: false,
|
|
2878
|
+
defaultCollapsed: true
|
|
2879
|
+
}
|
|
2880
|
+
]
|
|
2881
|
+
},
|
|
2882
|
+
{
|
|
2883
|
+
name: "ingredients",
|
|
2884
|
+
friendlyName: "Ingredients",
|
|
2885
|
+
type: "list",
|
|
2886
|
+
localized: true,
|
|
2887
|
+
defaultCollapsed: true,
|
|
2888
|
+
subFields: [
|
|
2889
|
+
{
|
|
2890
|
+
type: "reference",
|
|
2891
|
+
modelId: request.ingredientsModelId,
|
|
2892
|
+
name: "ingredient",
|
|
2893
|
+
friendlyName: "Ingredient",
|
|
2894
|
+
copyOnAdd: false,
|
|
2895
|
+
defaultCollapsed: true
|
|
2896
|
+
}
|
|
2897
|
+
]
|
|
2898
|
+
},
|
|
2899
|
+
{
|
|
2900
|
+
name: "useCases",
|
|
2901
|
+
defaultCollapsed: true,
|
|
2902
|
+
friendlyName: "Use Cases",
|
|
2903
|
+
type: "list",
|
|
2904
|
+
localized: true,
|
|
2905
|
+
subFields: [
|
|
2906
|
+
{
|
|
2907
|
+
type: "reference",
|
|
2908
|
+
modelId: request.useCaseModelId,
|
|
2909
|
+
name: "useCase",
|
|
2910
|
+
friendlyName: "Use Case",
|
|
2911
|
+
copyOnAdd: false,
|
|
2912
|
+
defaultCollapsed: true
|
|
2913
|
+
}
|
|
2914
|
+
]
|
|
2915
|
+
},
|
|
2916
|
+
{
|
|
2917
|
+
name: "name",
|
|
2918
|
+
friendlyName: "Name",
|
|
2919
|
+
type: "text",
|
|
2920
|
+
required: true,
|
|
2921
|
+
defaultCollapsed: true,
|
|
2922
|
+
localized: false,
|
|
2923
|
+
helperText: "Internal name for the product, used for identification in the CMS"
|
|
2924
|
+
},
|
|
2925
|
+
{
|
|
2926
|
+
name: "gh",
|
|
2927
|
+
friendlyName: "Golden Hippo Integration Data",
|
|
2928
|
+
helperText: "Stores integration data for Golden Hippo. Do not modify any of these values.",
|
|
2929
|
+
type: "object",
|
|
2930
|
+
subFields: [
|
|
2931
|
+
{
|
|
2932
|
+
name: "slug",
|
|
2933
|
+
friendlyName: "Page Slug",
|
|
2934
|
+
type: "text",
|
|
2935
|
+
required: true,
|
|
2936
|
+
localized: false,
|
|
2937
|
+
defaultCollapsed: true,
|
|
2938
|
+
helperText: "This is the URL slug for this product. This value is unique and required for cross-environment development. Do not modify this value."
|
|
2939
|
+
},
|
|
2940
|
+
{
|
|
2941
|
+
name: "productionId",
|
|
2942
|
+
friendlyName: "Production ID",
|
|
2943
|
+
type: "text",
|
|
2944
|
+
required: true,
|
|
2945
|
+
localized: false,
|
|
2946
|
+
defaultCollapsed: true,
|
|
2947
|
+
helperText: "This is the unique identifier for this product in the production environment. Do not modify this value."
|
|
2948
|
+
},
|
|
2949
|
+
{
|
|
2950
|
+
name: "type",
|
|
2951
|
+
friendlyName: "Product Type",
|
|
2952
|
+
type: "select",
|
|
2953
|
+
required: true,
|
|
2954
|
+
localized: false,
|
|
2955
|
+
defaultCollapsed: true,
|
|
2956
|
+
enum: ["Product", "Bundle", "Trial Size"],
|
|
2957
|
+
defaultValue: "Product",
|
|
2958
|
+
helperText: "Product Type"
|
|
2959
|
+
}
|
|
2960
|
+
],
|
|
2961
|
+
defaultCollapsed: true,
|
|
2962
|
+
localized: false
|
|
2963
|
+
}
|
|
2964
|
+
]
|
|
2965
|
+
};
|
|
2966
|
+
};
|
|
2967
|
+
|
|
2968
|
+
// src/data/product-group.model.ts
|
|
2969
|
+
var createProductGroupModel = (productModelId) => {
|
|
2970
|
+
return {
|
|
2971
|
+
name: "product-group",
|
|
2972
|
+
displayName: "Product Group",
|
|
2973
|
+
kind: "data",
|
|
2974
|
+
helperText: "Groups related products together (e.g. flavors, trial sizes).",
|
|
2975
|
+
contentTitleField: "displayName",
|
|
2976
|
+
fields: [
|
|
2977
|
+
{
|
|
2978
|
+
name: "displayName",
|
|
2979
|
+
friendlyName: "Display Name",
|
|
2980
|
+
type: "text",
|
|
2981
|
+
required: true,
|
|
2982
|
+
defaultCollapsed: true,
|
|
2983
|
+
localized: true,
|
|
2984
|
+
helperText: "The display name of this product group."
|
|
2985
|
+
},
|
|
2986
|
+
{
|
|
2987
|
+
name: "featuredImage",
|
|
2988
|
+
friendlyName: "Featured Image",
|
|
2989
|
+
type: "file",
|
|
2990
|
+
defaultCollapsed: true,
|
|
2991
|
+
showTemplatePicker: true,
|
|
2992
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"],
|
|
2993
|
+
helperText: "The primary image of this product group."
|
|
2994
|
+
},
|
|
2995
|
+
{
|
|
2996
|
+
name: "subHeading",
|
|
2997
|
+
friendlyName: "Sub Heading",
|
|
2998
|
+
type: "text",
|
|
2999
|
+
required: false,
|
|
3000
|
+
defaultCollapsed: true,
|
|
3001
|
+
localized: true,
|
|
3002
|
+
helperText: "A short tagline displayed beneath the group name."
|
|
3003
|
+
},
|
|
3004
|
+
{
|
|
3005
|
+
name: "gridTagline",
|
|
3006
|
+
friendlyName: "Grid Tagline",
|
|
3007
|
+
type: "text",
|
|
3008
|
+
required: false,
|
|
3009
|
+
defaultCollapsed: true,
|
|
3010
|
+
localized: true,
|
|
3011
|
+
helperText: "A short tagline displayed on product grid cards."
|
|
3012
|
+
},
|
|
3013
|
+
{
|
|
3014
|
+
name: "shortDescription",
|
|
3015
|
+
friendlyName: "Short Description",
|
|
3016
|
+
type: "longText",
|
|
3017
|
+
required: false,
|
|
3018
|
+
defaultCollapsed: true,
|
|
3019
|
+
localized: true,
|
|
3020
|
+
helperText: "A short description of the product group."
|
|
3021
|
+
},
|
|
3022
|
+
{
|
|
3023
|
+
name: "products",
|
|
3024
|
+
friendlyName: "Products",
|
|
3025
|
+
type: "list",
|
|
3026
|
+
defaultCollapsed: true,
|
|
3027
|
+
helperText: "The products in this group.",
|
|
3028
|
+
subFields: [
|
|
3029
|
+
{
|
|
3030
|
+
name: "product",
|
|
3031
|
+
friendlyName: "Product",
|
|
3032
|
+
type: "reference",
|
|
3033
|
+
defaultCollapsed: false,
|
|
3034
|
+
modelId: productModelId,
|
|
3035
|
+
copyOnAdd: false
|
|
3036
|
+
},
|
|
3037
|
+
{
|
|
3038
|
+
name: "displayName",
|
|
3039
|
+
friendlyName: "Display Name",
|
|
3040
|
+
type: "text",
|
|
3041
|
+
defaultCollapsed: false,
|
|
3042
|
+
localized: true,
|
|
3043
|
+
helperText: "Override display name for this product in the group context."
|
|
3044
|
+
},
|
|
3045
|
+
{
|
|
3046
|
+
name: "isTrialSize",
|
|
3047
|
+
friendlyName: "Is Trial Size",
|
|
3048
|
+
type: "boolean",
|
|
3049
|
+
defaultCollapsed: false,
|
|
3050
|
+
helperText: "Whether this product is a trial size variant."
|
|
3051
|
+
}
|
|
3052
|
+
]
|
|
3053
|
+
},
|
|
3054
|
+
{
|
|
3055
|
+
name: "selectionLabel",
|
|
3056
|
+
friendlyName: "Selection Label",
|
|
3057
|
+
type: "text",
|
|
3058
|
+
required: false,
|
|
3059
|
+
defaultCollapsed: true,
|
|
3060
|
+
localized: true,
|
|
3061
|
+
helperText: 'Label for the product selector (e.g. "Choose your flavor").'
|
|
3062
|
+
},
|
|
3063
|
+
{
|
|
3064
|
+
name: "hidden",
|
|
3065
|
+
friendlyName: "Hide Group",
|
|
3066
|
+
type: "boolean",
|
|
3067
|
+
required: false,
|
|
3068
|
+
defaultCollapsed: true,
|
|
3069
|
+
localized: true,
|
|
3070
|
+
helperText: "When true, this product group will not be displayed."
|
|
3071
|
+
},
|
|
3072
|
+
{
|
|
3073
|
+
name: "gh",
|
|
3074
|
+
friendlyName: "Golden Hippo",
|
|
3075
|
+
type: "object",
|
|
3076
|
+
defaultCollapsed: true,
|
|
3077
|
+
subFields: [
|
|
3078
|
+
{
|
|
3079
|
+
name: "productionId",
|
|
3080
|
+
friendlyName: "Production ID",
|
|
3081
|
+
type: "text",
|
|
3082
|
+
defaultCollapsed: false,
|
|
3083
|
+
helperText: "The production environment content ID for this product group."
|
|
3084
|
+
},
|
|
3085
|
+
{
|
|
3086
|
+
name: "slug",
|
|
3087
|
+
friendlyName: "Slug",
|
|
3088
|
+
type: "text",
|
|
3089
|
+
defaultCollapsed: false,
|
|
3090
|
+
helperText: "URL slug for this product group."
|
|
3091
|
+
}
|
|
3092
|
+
]
|
|
3093
|
+
},
|
|
3094
|
+
{
|
|
3095
|
+
name: "groupType",
|
|
3096
|
+
friendlyName: "Group Type",
|
|
3097
|
+
type: "select",
|
|
3098
|
+
defaultCollapsed: true,
|
|
3099
|
+
enum: ["Flavor/Option Group" /* FlavorOptionGroup */, "Trial Group" /* TrialGroup */],
|
|
3100
|
+
helperText: "The type of product grouping."
|
|
3101
|
+
},
|
|
3102
|
+
{
|
|
3103
|
+
name: "name",
|
|
3104
|
+
friendlyName: "Group Name",
|
|
3105
|
+
type: "text",
|
|
3106
|
+
required: true,
|
|
3107
|
+
defaultCollapsed: true,
|
|
3108
|
+
localized: false,
|
|
3109
|
+
helperText: "The internal name for this product group."
|
|
3110
|
+
}
|
|
3111
|
+
]
|
|
3112
|
+
};
|
|
3113
|
+
};
|
|
3114
|
+
|
|
3115
|
+
// src/data/product-category.model.ts
|
|
3116
|
+
var createCategoryModel = () => ({
|
|
3117
|
+
name: "product-category",
|
|
3118
|
+
kind: "data",
|
|
3119
|
+
displayName: "Product Category",
|
|
3120
|
+
helperText: "Categories for products",
|
|
3121
|
+
contentTitleField: "name",
|
|
3122
|
+
fields: [
|
|
3123
|
+
{
|
|
3124
|
+
name: "name",
|
|
3125
|
+
friendlyName: "Category",
|
|
3126
|
+
type: "text",
|
|
3127
|
+
required: true,
|
|
3128
|
+
defaultCollapsed: true,
|
|
3129
|
+
localized: true
|
|
3130
|
+
},
|
|
3131
|
+
{
|
|
3132
|
+
name: "description",
|
|
3133
|
+
friendlyName: "Description",
|
|
3134
|
+
type: "longText",
|
|
3135
|
+
required: false,
|
|
3136
|
+
defaultCollapsed: true,
|
|
3137
|
+
localized: true
|
|
3138
|
+
},
|
|
3139
|
+
{
|
|
3140
|
+
name: "desktopImage",
|
|
3141
|
+
friendlyName: "Desktop Image",
|
|
3142
|
+
type: "file",
|
|
3143
|
+
defaultCollapsed: true,
|
|
3144
|
+
showTemplatePicker: true,
|
|
3145
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"]
|
|
3146
|
+
},
|
|
3147
|
+
{
|
|
3148
|
+
name: "mobileImage",
|
|
3149
|
+
defaultCollapsed: true,
|
|
3150
|
+
friendlyName: "Mobile Image",
|
|
3151
|
+
type: "file",
|
|
3152
|
+
showTemplatePicker: true,
|
|
3153
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"]
|
|
3154
|
+
},
|
|
3155
|
+
{
|
|
3156
|
+
name: "hidden",
|
|
3157
|
+
friendlyName: "Hide Category",
|
|
3158
|
+
type: "boolean",
|
|
3159
|
+
required: false,
|
|
3160
|
+
localized: true,
|
|
3161
|
+
defaultCollapsed: true,
|
|
3162
|
+
helperText: "When true, this category will not be displayed in product grids or search results for this locale"
|
|
3163
|
+
},
|
|
3164
|
+
{
|
|
3165
|
+
name: "slug",
|
|
3166
|
+
friendlyName: "Page Slug",
|
|
3167
|
+
type: "text",
|
|
3168
|
+
defaultCollapsed: true,
|
|
3169
|
+
helperText: 'If this category has a specific web page, provide the path here without a leading slash (e.g. "shop/supplements") for use in breadcrumb navigation. By default, the path "shop" will be used.',
|
|
3170
|
+
required: false,
|
|
3171
|
+
localized: false
|
|
3172
|
+
},
|
|
3173
|
+
{
|
|
3174
|
+
name: "searchKeys",
|
|
3175
|
+
friendlyName: "Search Keys",
|
|
3176
|
+
type: "Tags",
|
|
3177
|
+
defaultCollapsed: true,
|
|
3178
|
+
helperText: 'Used when building links (e.g. "products?category=[Search Key]")',
|
|
3179
|
+
required: false,
|
|
3180
|
+
localized: false
|
|
3181
|
+
}
|
|
3182
|
+
]
|
|
3183
|
+
});
|
|
3184
|
+
|
|
3185
|
+
// src/data/product-grid-filter-group.model.ts
|
|
3186
|
+
var createProductGridConfigModel = (models) => {
|
|
3187
|
+
return {
|
|
3188
|
+
name: "product-grid-filter-group",
|
|
3189
|
+
displayName: "Product Grid Filter Group",
|
|
3190
|
+
kind: "data",
|
|
3191
|
+
helperText: "Build filter group configurations. These can be applied in the brand configuration",
|
|
3192
|
+
contentTitleField: "displayName",
|
|
3193
|
+
fields: [
|
|
3194
|
+
{
|
|
3195
|
+
name: "displayName",
|
|
3196
|
+
friendlyName: "Display Name/Label",
|
|
3197
|
+
type: "text",
|
|
3198
|
+
localized: true,
|
|
3199
|
+
defaultCollapsed: false,
|
|
3200
|
+
helperText: "Provide a name to display for this grouping",
|
|
3201
|
+
makeEntryTitle: true
|
|
3202
|
+
},
|
|
3203
|
+
{
|
|
3204
|
+
name: "categories",
|
|
3205
|
+
friendlyName: "Categories",
|
|
3206
|
+
helperText: "Categories for this group",
|
|
3207
|
+
type: "list",
|
|
3208
|
+
defaultCollapsed: true,
|
|
3209
|
+
subFields: [
|
|
3210
|
+
{
|
|
3211
|
+
name: "category",
|
|
3212
|
+
friendlyName: "Category",
|
|
3213
|
+
type: "reference",
|
|
3214
|
+
modelId: models.categoryId,
|
|
3215
|
+
required: true,
|
|
3216
|
+
localized: false,
|
|
3217
|
+
copyOnAdd: true,
|
|
3218
|
+
defaultCollapsed: false
|
|
3219
|
+
// makeEntryTitle: true,
|
|
3220
|
+
}
|
|
3221
|
+
]
|
|
3222
|
+
},
|
|
3223
|
+
{
|
|
3224
|
+
name: "ingredients",
|
|
3225
|
+
friendlyName: "Ingredients",
|
|
3226
|
+
helperText: "Ingredients for this group",
|
|
3227
|
+
type: "list",
|
|
3228
|
+
defaultCollapsed: true,
|
|
3229
|
+
subFields: [
|
|
3230
|
+
{
|
|
3231
|
+
name: "ingredient",
|
|
3232
|
+
friendlyName: "Ingredient",
|
|
3233
|
+
type: "reference",
|
|
3234
|
+
modelId: models.ingredientId,
|
|
3235
|
+
required: true,
|
|
3236
|
+
localized: false,
|
|
3237
|
+
copyOnAdd: true,
|
|
3238
|
+
defaultCollapsed: false
|
|
3239
|
+
// makeEntryTitle: true,
|
|
3240
|
+
}
|
|
3241
|
+
]
|
|
3242
|
+
},
|
|
3243
|
+
{
|
|
3244
|
+
name: "useCases",
|
|
3245
|
+
friendlyName: "Use Cases",
|
|
3246
|
+
helperText: "Use Cases for this group",
|
|
3247
|
+
type: "list",
|
|
3248
|
+
defaultCollapsed: true,
|
|
3249
|
+
subFields: [
|
|
3250
|
+
{
|
|
3251
|
+
name: "useCase",
|
|
3252
|
+
friendlyName: "Use Case",
|
|
3253
|
+
type: "reference",
|
|
3254
|
+
modelId: models.useCaseId,
|
|
3255
|
+
required: true,
|
|
3256
|
+
localized: false,
|
|
3257
|
+
copyOnAdd: true,
|
|
3258
|
+
defaultCollapsed: false
|
|
3259
|
+
// makeEntryTitle: true,
|
|
3260
|
+
}
|
|
3261
|
+
],
|
|
3262
|
+
copyOnAdd: false
|
|
3263
|
+
},
|
|
3264
|
+
{
|
|
3265
|
+
name: "tags",
|
|
3266
|
+
friendlyName: "Tags",
|
|
3267
|
+
helperText: "Tags for this group",
|
|
3268
|
+
type: "list",
|
|
3269
|
+
defaultCollapsed: true,
|
|
3270
|
+
subFields: [
|
|
3271
|
+
{
|
|
3272
|
+
name: "tag",
|
|
3273
|
+
friendlyName: "Tag",
|
|
3274
|
+
type: "reference",
|
|
3275
|
+
modelId: models.tagId,
|
|
3276
|
+
required: true,
|
|
3277
|
+
localized: false,
|
|
3278
|
+
copyOnAdd: true,
|
|
3279
|
+
defaultCollapsed: false
|
|
3280
|
+
// makeEntryTitle: true,
|
|
3281
|
+
}
|
|
3282
|
+
],
|
|
3283
|
+
copyOnAdd: false
|
|
3284
|
+
},
|
|
3285
|
+
{
|
|
3286
|
+
name: "filterApplicationType",
|
|
3287
|
+
friendlyName: "Filter Application Type",
|
|
3288
|
+
type: "select",
|
|
3289
|
+
enum: ["Inclusive" /* Inclusive */, "Exclusive" /* Exclusive */],
|
|
3290
|
+
defaultValue: "Inclusive",
|
|
3291
|
+
required: false,
|
|
3292
|
+
defaultCollapsed: true,
|
|
3293
|
+
helperText: "Select how this filter is applied in relation to other filters. When set to Exclusive, ALL results must match a selected filter of this group."
|
|
3294
|
+
}
|
|
3295
|
+
]
|
|
3296
|
+
};
|
|
3297
|
+
};
|
|
3298
|
+
|
|
3299
|
+
// src/data/product-ingredient.model.ts
|
|
3300
|
+
var createIngredientsModel = () => ({
|
|
3301
|
+
name: "product-ingredient",
|
|
3302
|
+
displayName: "Product Ingredient",
|
|
3303
|
+
kind: "data",
|
|
3304
|
+
helperText: "Ingredients used in products",
|
|
3305
|
+
contentTitleField: "name",
|
|
3306
|
+
fields: [
|
|
3307
|
+
{
|
|
3308
|
+
"@type": "@builder.io/core:Field",
|
|
3309
|
+
name: "name",
|
|
3310
|
+
friendlyName: "Ingredient",
|
|
3311
|
+
type: "text",
|
|
3312
|
+
required: true,
|
|
3313
|
+
defaultCollapsed: true,
|
|
3314
|
+
localized: true,
|
|
3315
|
+
defaultValue: {
|
|
3316
|
+
"@type": "@builder.io/core:LocalizedValue"
|
|
3317
|
+
}
|
|
3318
|
+
},
|
|
3319
|
+
{
|
|
3320
|
+
"@type": "@builder.io/core:Field",
|
|
3321
|
+
name: "description",
|
|
3322
|
+
friendlyName: "Description",
|
|
3323
|
+
type: "longText",
|
|
3324
|
+
required: false,
|
|
3325
|
+
defaultCollapsed: true,
|
|
3326
|
+
localized: true,
|
|
3327
|
+
defaultValue: {
|
|
3328
|
+
"@type": "@builder.io/core:LocalizedValue"
|
|
3329
|
+
}
|
|
3330
|
+
},
|
|
3331
|
+
{
|
|
3332
|
+
"@type": "@builder.io/core:Field",
|
|
3333
|
+
name: "image",
|
|
3334
|
+
friendlyName: "Image",
|
|
3335
|
+
type: "file",
|
|
3336
|
+
showTemplatePicker: true,
|
|
3337
|
+
defaultCollapsed: true,
|
|
3338
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"]
|
|
3339
|
+
},
|
|
3340
|
+
{
|
|
3341
|
+
"@type": "@builder.io/core:Field",
|
|
3342
|
+
name: "shortDescription",
|
|
3343
|
+
friendlyName: "Short Description",
|
|
3344
|
+
type: "longText",
|
|
3345
|
+
required: false,
|
|
3346
|
+
defaultCollapsed: true,
|
|
3347
|
+
localized: true,
|
|
3348
|
+
defaultValue: {
|
|
3349
|
+
"@type": "@builder.io/core:LocalizedValue"
|
|
3350
|
+
}
|
|
3351
|
+
},
|
|
3352
|
+
{
|
|
3353
|
+
"@type": "@builder.io/core:Field",
|
|
3354
|
+
name: "searchKeys",
|
|
3355
|
+
friendlyName: "Search Keys",
|
|
3356
|
+
type: "Tags",
|
|
3357
|
+
defaultCollapsed: true,
|
|
3358
|
+
helperText: 'Used when building links (e.g. "products?category=[Search Key]")',
|
|
3359
|
+
required: false,
|
|
3360
|
+
localized: false
|
|
3361
|
+
}
|
|
3362
|
+
]
|
|
3363
|
+
});
|
|
3364
|
+
|
|
3365
|
+
// src/data/product-tag.model.ts
|
|
3366
|
+
var createProductTagModel = () => ({
|
|
3367
|
+
name: "product-tag",
|
|
3368
|
+
kind: "data",
|
|
3369
|
+
displayName: "Product Tag",
|
|
3370
|
+
helperText: "Provides a link between products across categories.",
|
|
3371
|
+
contentTitleField: "name",
|
|
3372
|
+
fields: [
|
|
3373
|
+
{
|
|
3374
|
+
name: "name",
|
|
3375
|
+
friendlyName: "Tag",
|
|
3376
|
+
type: "text",
|
|
3377
|
+
required: true,
|
|
3378
|
+
defaultCollapsed: true,
|
|
3379
|
+
localized: true
|
|
3380
|
+
},
|
|
3381
|
+
{
|
|
3382
|
+
name: "tagColor",
|
|
3383
|
+
friendlyName: "Color",
|
|
3384
|
+
type: "color",
|
|
3385
|
+
required: true,
|
|
3386
|
+
defaultCollapsed: true,
|
|
3387
|
+
localized: false,
|
|
3388
|
+
defaultValue: "gba(255, 233, 214, 1)"
|
|
3389
|
+
},
|
|
3390
|
+
{
|
|
3391
|
+
name: "hidden",
|
|
3392
|
+
friendlyName: "Hide Tag",
|
|
3393
|
+
type: "boolean",
|
|
3394
|
+
required: false,
|
|
3395
|
+
localized: true,
|
|
3396
|
+
defaultCollapsed: true,
|
|
3397
|
+
helperText: "When true, this tag will not be displayed in product grids or search results for this locale"
|
|
3398
|
+
},
|
|
3399
|
+
{
|
|
3400
|
+
name: "image",
|
|
3401
|
+
friendlyName: "Tag Image",
|
|
3402
|
+
type: "file",
|
|
3403
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"],
|
|
3404
|
+
required: false,
|
|
3405
|
+
localized: true,
|
|
3406
|
+
defaultCollapsed: true,
|
|
3407
|
+
helperText: "For product grids that support tag images, you may provide the image here."
|
|
3408
|
+
},
|
|
3409
|
+
{
|
|
3410
|
+
name: "pluralDisplayName",
|
|
3411
|
+
friendlyName: "Plural Display Name",
|
|
3412
|
+
defaultCollapsed: true,
|
|
3413
|
+
type: "text",
|
|
3414
|
+
helperText: 'This is used when grouping/filtering. Allows us to display "Favorites" instead of "Fave", for example.',
|
|
3415
|
+
required: false,
|
|
3416
|
+
localized: true
|
|
3417
|
+
}
|
|
3418
|
+
]
|
|
3419
|
+
});
|
|
3420
|
+
|
|
3421
|
+
// src/data/product-use-case.model.ts
|
|
3422
|
+
var createProductUseCaseModel = () => ({
|
|
3423
|
+
name: "product-use-case",
|
|
3424
|
+
kind: "data",
|
|
3425
|
+
displayName: "Product Use Case",
|
|
3426
|
+
helperText: "Provides a link between products used for the same goal.",
|
|
3427
|
+
contentTitleField: "name",
|
|
3428
|
+
fields: [
|
|
3429
|
+
{
|
|
3430
|
+
name: "name",
|
|
3431
|
+
defaultCollapsed: true,
|
|
3432
|
+
friendlyName: "Use Case",
|
|
3433
|
+
type: "text",
|
|
3434
|
+
required: true,
|
|
3435
|
+
localized: true
|
|
3436
|
+
},
|
|
3437
|
+
{
|
|
3438
|
+
name: "description",
|
|
3439
|
+
friendlyName: "Description",
|
|
3440
|
+
type: "longText",
|
|
3441
|
+
defaultCollapsed: true,
|
|
3442
|
+
required: false,
|
|
3443
|
+
localized: true
|
|
3444
|
+
},
|
|
3445
|
+
{
|
|
3446
|
+
name: "searchKeys",
|
|
3447
|
+
friendlyName: "Search Keys",
|
|
3448
|
+
type: "Tags",
|
|
3449
|
+
defaultCollapsed: true,
|
|
3450
|
+
helperText: 'Used when building links (e.g. "products?category=[Search Key]")',
|
|
3451
|
+
required: false,
|
|
3452
|
+
localized: false
|
|
3453
|
+
},
|
|
3454
|
+
{
|
|
3455
|
+
name: "image",
|
|
3456
|
+
friendlyName: "Image",
|
|
3457
|
+
defaultCollapsed: true,
|
|
3458
|
+
type: "file",
|
|
3459
|
+
showTemplatePicker: true,
|
|
3460
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"]
|
|
3461
|
+
},
|
|
3462
|
+
{
|
|
3463
|
+
name: "hidden",
|
|
3464
|
+
friendlyName: "Hide Use Case",
|
|
3465
|
+
type: "boolean",
|
|
3466
|
+
required: false,
|
|
3467
|
+
localized: true,
|
|
3468
|
+
defaultCollapsed: true,
|
|
3469
|
+
helperText: "When true, this use case will not be displayed in product grids or search results for this locale"
|
|
3470
|
+
}
|
|
3471
|
+
]
|
|
3472
|
+
});
|
|
3473
|
+
|
|
3474
|
+
// src/section/default-website-section.model.ts
|
|
3475
|
+
var createDefaultWebsiteSectionModel = (editUrl) => {
|
|
3476
|
+
return {
|
|
3477
|
+
name: "default-website-section",
|
|
3478
|
+
kind: "component",
|
|
3479
|
+
displayName: "Default Website Section",
|
|
3480
|
+
helperText: "Default section for the website",
|
|
3481
|
+
contentTitleField: void 0,
|
|
3482
|
+
fields: [
|
|
3483
|
+
{
|
|
3484
|
+
name: "sectionType",
|
|
3485
|
+
friendlyName: "Section Type",
|
|
3486
|
+
type: "select",
|
|
3487
|
+
required: true,
|
|
3488
|
+
localized: false,
|
|
3489
|
+
defaultCollapsed: true,
|
|
3490
|
+
enum: [
|
|
3491
|
+
"cartPageAboveSummaryContent",
|
|
3492
|
+
"cartPageBelowSummaryContent",
|
|
3493
|
+
"cartPageEmptyCartContent",
|
|
3494
|
+
"cartPageTopSectionContent",
|
|
3495
|
+
"gdprContent",
|
|
3496
|
+
"mainFooter",
|
|
3497
|
+
"offerSelectorAboveCTAContent",
|
|
3498
|
+
"offerSelectorBelowCTAContent",
|
|
3499
|
+
"subscriptionManagementNoSubsContent"
|
|
3500
|
+
],
|
|
3501
|
+
helperText: "Section Type"
|
|
3502
|
+
}
|
|
3503
|
+
],
|
|
3504
|
+
editingUrlLogic: "return `" + editUrl + "/builder-default-website-section?builder.preview=true&builder.frameEditing=true`"
|
|
3505
|
+
};
|
|
3506
|
+
};
|
|
3507
|
+
|
|
3508
|
+
// src/section/site-banner.model.ts
|
|
3509
|
+
var createSiteBannerModel = (editUrl) => {
|
|
3510
|
+
return {
|
|
3511
|
+
name: "banner",
|
|
3512
|
+
kind: "component",
|
|
3513
|
+
displayName: "Banner / Announcement",
|
|
3514
|
+
helperText: "Banners / Announcements to display on your website",
|
|
3515
|
+
contentTitleField: void 0,
|
|
3516
|
+
fields: [
|
|
3517
|
+
{
|
|
3518
|
+
name: "position",
|
|
3519
|
+
friendlyName: "Banner Position",
|
|
3520
|
+
type: "select",
|
|
3521
|
+
enum: ["Above Header" /* AboveHeader */, "Below Header" /* BelowHeader */],
|
|
3522
|
+
defaultValue: "Above Header",
|
|
3523
|
+
helperText: "Select where this banner should appear on the page",
|
|
3524
|
+
defaultCollapsed: true
|
|
3525
|
+
}
|
|
3526
|
+
],
|
|
3527
|
+
editingUrlLogic: "return `" + editUrl + "/builder-banner-section?builder.preview=true&builder.frameEditing=true`"
|
|
3528
|
+
};
|
|
3529
|
+
};
|
|
3530
|
+
|
|
3531
|
+
// src/page/page.model.ts
|
|
3532
|
+
var createPageModel = (props) => {
|
|
3533
|
+
const { productModelId, productGroupModelId, categoryModelId, bannerModelId, blogCategoryModelId, editUrl } = props;
|
|
3534
|
+
return {
|
|
3535
|
+
name: "page",
|
|
3536
|
+
displayName: "Page",
|
|
3537
|
+
kind: "page",
|
|
3538
|
+
helperText: "Default model for creating pages",
|
|
3539
|
+
contentTitleField: void 0,
|
|
3540
|
+
fields: [
|
|
3541
|
+
{
|
|
3542
|
+
name: "title",
|
|
3543
|
+
friendlyName: "Title",
|
|
3544
|
+
type: "text",
|
|
3545
|
+
required: true,
|
|
3546
|
+
helperText: "A short title for this page. If the SEO Page Title is not provided, this field is used for SEO. This field is not localized, so it is highly suggested to use the Heading.",
|
|
3547
|
+
defaultCollapsed: false
|
|
3548
|
+
},
|
|
3549
|
+
{
|
|
3550
|
+
name: "pageType",
|
|
3551
|
+
friendlyName: "Page Type",
|
|
3552
|
+
type: "select",
|
|
3553
|
+
defaultValue: "General" /* GENERAL */,
|
|
3554
|
+
required: true,
|
|
3555
|
+
helperText: "Select the type of page. This will determine which components are added automatically.",
|
|
3556
|
+
enum: ["General" /* GENERAL */, "Blog" /* BLOG */, "Product" /* PRODUCT */],
|
|
3557
|
+
defaultCollapsed: false
|
|
3558
|
+
},
|
|
3559
|
+
{
|
|
3560
|
+
name: "pdp",
|
|
3561
|
+
friendlyName: "Product Detail Page",
|
|
3562
|
+
type: "object",
|
|
3563
|
+
required: false,
|
|
3564
|
+
subFields: [
|
|
3565
|
+
{
|
|
3566
|
+
name: "type",
|
|
3567
|
+
friendlyName: "Type",
|
|
3568
|
+
type: "select",
|
|
3569
|
+
defaultValue: "Product" /* PRODUCT */,
|
|
3570
|
+
required: true,
|
|
3571
|
+
helperText: "",
|
|
3572
|
+
enum: ["Product" /* PRODUCT */, "Product Group" /* PRODUCT_GROUP */],
|
|
3573
|
+
defaultCollapsed: false
|
|
3574
|
+
},
|
|
3575
|
+
{
|
|
3576
|
+
name: "product",
|
|
3577
|
+
friendlyName: "Product",
|
|
3578
|
+
type: "reference",
|
|
3579
|
+
required: false,
|
|
3580
|
+
helperText: "Select the product to display",
|
|
3581
|
+
modelId: productModelId,
|
|
3582
|
+
copyOnAdd: true,
|
|
3583
|
+
showIf: "return options.get('type') === 'Product'",
|
|
3584
|
+
defaultCollapsed: false
|
|
3585
|
+
},
|
|
3586
|
+
{
|
|
3587
|
+
name: "productGroup",
|
|
3588
|
+
friendlyName: "Product Group",
|
|
3589
|
+
type: "reference",
|
|
3590
|
+
required: false,
|
|
3591
|
+
helperText: "",
|
|
3592
|
+
modelId: productGroupModelId,
|
|
3593
|
+
copyOnAdd: true,
|
|
3594
|
+
showIf: "return options.get('type') === 'Product Group'",
|
|
3595
|
+
defaultCollapsed: false
|
|
3596
|
+
},
|
|
3597
|
+
{
|
|
3598
|
+
name: "slides",
|
|
3599
|
+
friendlyName: "Product Slides",
|
|
3600
|
+
type: "list",
|
|
3601
|
+
required: false,
|
|
3602
|
+
subFields: [
|
|
3603
|
+
{
|
|
3604
|
+
name: "image",
|
|
3605
|
+
friendlyName: "Image",
|
|
3606
|
+
type: "file",
|
|
3607
|
+
required: true,
|
|
3608
|
+
helperText: "",
|
|
3609
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"],
|
|
3610
|
+
copyOnAdd: true,
|
|
3611
|
+
defaultCollapsed: false
|
|
3612
|
+
}
|
|
3613
|
+
],
|
|
3614
|
+
helperText: "Select the image slides to display for this product. If no slides are provided, the product's default image will be used.",
|
|
3615
|
+
copyOnAdd: true,
|
|
3616
|
+
defaultCollapsed: false
|
|
3617
|
+
},
|
|
3618
|
+
{
|
|
3619
|
+
name: "slideThumbs",
|
|
3620
|
+
friendlyName: "Product Slides Thumbnails",
|
|
3621
|
+
type: "list",
|
|
3622
|
+
required: false,
|
|
3623
|
+
subFields: [
|
|
3624
|
+
{
|
|
3625
|
+
name: "image",
|
|
3626
|
+
friendlyName: "Image",
|
|
3627
|
+
type: "file",
|
|
3628
|
+
required: true,
|
|
3629
|
+
helperText: "",
|
|
3630
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"],
|
|
3631
|
+
copyOnAdd: true,
|
|
3632
|
+
defaultCollapsed: false
|
|
3633
|
+
}
|
|
3634
|
+
],
|
|
3635
|
+
helperText: "Select the image thumbnails slides to display for this product. If no slides are provided, the Product Slides will be used",
|
|
3636
|
+
copyOnAdd: true,
|
|
3637
|
+
defaultCollapsed: false
|
|
3638
|
+
},
|
|
3639
|
+
{
|
|
3640
|
+
name: "sliderComponent",
|
|
3641
|
+
type: "select",
|
|
3642
|
+
enum: ["Slider A" /* SLIDER_A */, "Slider B" /* SLIDER_B */],
|
|
3643
|
+
friendlyName: "Slider Component",
|
|
3644
|
+
defaultValue: "Slider A" /* SLIDER_A */,
|
|
3645
|
+
required: false,
|
|
3646
|
+
helperText: "Select the style slider component to use for the product images",
|
|
3647
|
+
defaultCollapsed: false
|
|
3648
|
+
},
|
|
3649
|
+
{
|
|
3650
|
+
"@type": "@builder.io/core:Field",
|
|
3651
|
+
name: "hideNativeOfferSelector",
|
|
3652
|
+
friendlyName: "Hide Native Offer Selector",
|
|
3653
|
+
helperText: "Set to true to fully hide the native Offer Selector to provide your own (e.g. via VWO)",
|
|
3654
|
+
type: "boolean",
|
|
3655
|
+
localized: false,
|
|
3656
|
+
defaultCollapsed: true,
|
|
3657
|
+
advanced: true
|
|
3658
|
+
},
|
|
3659
|
+
{
|
|
3660
|
+
name: "offerSelector",
|
|
3661
|
+
friendlyName: "Offer Selector",
|
|
3662
|
+
type: "object",
|
|
3663
|
+
required: false,
|
|
3664
|
+
subFields: [
|
|
3665
|
+
{
|
|
3666
|
+
name: "osType",
|
|
3667
|
+
friendlyName: "Type",
|
|
3668
|
+
type: "select",
|
|
3669
|
+
defaultValue: "Vertical - Flavor Dropdown - Type Toggle" /* VERTICAL__FLAVOR_DROPDOWN__TYPE_TOGGLE */,
|
|
3670
|
+
required: false,
|
|
3671
|
+
helperText: "Select the type of offer selector to display",
|
|
3672
|
+
enum: [
|
|
3673
|
+
"Vertical" /* VERTICAL */,
|
|
3674
|
+
"Vertical - Flavor Dropdown - Type Toggle" /* VERTICAL__FLAVOR_DROPDOWN__TYPE_TOGGLE */,
|
|
3675
|
+
"Stacked - Flavor Buttons - Quantity Toggle" /* STACKED__FLAVOR_BUTTONS__QUANTITY_TOGGLE */
|
|
3676
|
+
],
|
|
3677
|
+
defaultCollapsed: false
|
|
3678
|
+
},
|
|
3679
|
+
{
|
|
3680
|
+
name: "features",
|
|
3681
|
+
friendlyName: "Features",
|
|
3682
|
+
type: "object",
|
|
3683
|
+
required: false,
|
|
3684
|
+
subFields: [
|
|
3685
|
+
{
|
|
3686
|
+
name: "defaultPurchaseType",
|
|
3687
|
+
friendlyName: "Default Purchase Type",
|
|
3688
|
+
type: "select",
|
|
3689
|
+
defaultValue: "One-Time Purchase" /* ONE_TIME */,
|
|
3690
|
+
required: false,
|
|
3691
|
+
helperText: "When both purchase options are available to the customer, this is the option that will be selected by default.",
|
|
3692
|
+
enum: ["One-Time Purchase" /* ONE_TIME */, "Subscription" /* SUBSCRIPTION */],
|
|
3693
|
+
defaultCollapsed: false
|
|
3694
|
+
},
|
|
3695
|
+
{
|
|
3696
|
+
name: "preferredQuantity",
|
|
3697
|
+
friendlyName: "Initial Offer Quantity",
|
|
3698
|
+
type: "number",
|
|
3699
|
+
defaultValue: 3,
|
|
3700
|
+
required: false,
|
|
3701
|
+
helperText: `Enter the quantity you would prefer users see first. If that quantity is not available,
|
|
3702
|
+
we will locate the closest quantity available (defaults to 3 if not set).`,
|
|
3703
|
+
defaultCollapsed: false
|
|
3704
|
+
},
|
|
3705
|
+
{
|
|
3706
|
+
name: "showSavings",
|
|
3707
|
+
friendlyName: "Show Savings?",
|
|
3708
|
+
type: "boolean",
|
|
3709
|
+
defaultValue: {
|
|
3710
|
+
Default: true
|
|
3711
|
+
},
|
|
3712
|
+
required: false,
|
|
3713
|
+
helperText: "",
|
|
3714
|
+
defaultCollapsed: false
|
|
3715
|
+
},
|
|
3716
|
+
{
|
|
3717
|
+
name: "savingsType",
|
|
3718
|
+
friendlyName: "Savings Type",
|
|
3719
|
+
type: "select",
|
|
3720
|
+
defaultValue: "percentage" /* PERCENT */,
|
|
3721
|
+
required: false,
|
|
3722
|
+
helperText: "When showing savings, display as a percentage or value saved.",
|
|
3723
|
+
enum: ["percentage" /* PERCENT */, "dollar" /* DOLLAR */],
|
|
3724
|
+
defaultCollapsed: false
|
|
3725
|
+
},
|
|
3726
|
+
{
|
|
3727
|
+
name: "showMemberPriceMessage",
|
|
3728
|
+
friendlyName: "Show Member Price Message",
|
|
3729
|
+
type: "boolean",
|
|
3730
|
+
defaultValue: {
|
|
3731
|
+
Default: true
|
|
3732
|
+
},
|
|
3733
|
+
required: false,
|
|
3734
|
+
helperText: "",
|
|
3735
|
+
defaultCollapsed: false
|
|
3736
|
+
},
|
|
3737
|
+
{
|
|
3738
|
+
name: "showSubscriptionPriceMessage",
|
|
3739
|
+
friendlyName: "Show Subscription Price Message",
|
|
3740
|
+
type: "boolean",
|
|
3741
|
+
defaultValue: {
|
|
3742
|
+
Default: true
|
|
3743
|
+
},
|
|
3744
|
+
required: false,
|
|
3745
|
+
helperText: "",
|
|
3746
|
+
defaultCollapsed: false
|
|
3747
|
+
},
|
|
3748
|
+
{
|
|
3749
|
+
name: "scrollToTopOffset",
|
|
3750
|
+
friendlyName: "Scroll to Top Offset (px)",
|
|
3751
|
+
type: "number",
|
|
3752
|
+
defaultValue: 170,
|
|
3753
|
+
required: false,
|
|
3754
|
+
helperText: 'The number of pixels to offset the Scroll to Top button. Note: The label for this button may be set in the "Labels" section.',
|
|
3755
|
+
defaultCollapsed: false
|
|
3756
|
+
},
|
|
3757
|
+
{
|
|
3758
|
+
name: "enableAnonymousSubscriptions",
|
|
3759
|
+
friendlyName: "Always Show Subscriptions",
|
|
3760
|
+
type: "boolean",
|
|
3761
|
+
defaultValue: {},
|
|
3762
|
+
required: false,
|
|
3763
|
+
helperText: "Enable this to present subscriptions (when available) to non-MyAccount visitors. By default, a user must be logged in to access this option.",
|
|
3764
|
+
defaultCollapsed: false,
|
|
3765
|
+
hidden: false,
|
|
3766
|
+
advanced: true
|
|
3767
|
+
}
|
|
3768
|
+
],
|
|
3769
|
+
helperText: "",
|
|
3770
|
+
defaultCollapsed: false
|
|
3771
|
+
},
|
|
3772
|
+
{
|
|
3773
|
+
name: "labels",
|
|
3774
|
+
friendlyName: "Labels",
|
|
3775
|
+
type: "object",
|
|
3776
|
+
defaultValue: {
|
|
3777
|
+
subscriptionOffer: {
|
|
3778
|
+
Default: "Or $PRICE when you subscribe & save"
|
|
3779
|
+
},
|
|
3780
|
+
subscriptionToggle: {
|
|
3781
|
+
Default: "Subscribe & save"
|
|
3782
|
+
},
|
|
3783
|
+
scrollButton: {
|
|
3784
|
+
Default: '<span class="material-icons">keyboard_arrow_up</span> Back to top'
|
|
3785
|
+
},
|
|
3786
|
+
actionButton: {
|
|
3787
|
+
Default: "ADD TO CART"
|
|
3788
|
+
},
|
|
3789
|
+
outOfStockFormSuccess: {
|
|
3790
|
+
Default: '<p class="text-center">We will notify you as soon as this item is back in stock.</p>'
|
|
3791
|
+
},
|
|
3792
|
+
otpToggle: {
|
|
3793
|
+
Default: "Single purchase"
|
|
3794
|
+
},
|
|
3795
|
+
flavorSelector: {
|
|
3796
|
+
Default: "Choose a flavor"
|
|
3797
|
+
},
|
|
3798
|
+
outOfStock: {
|
|
3799
|
+
Default: 'Sorry, we"re currently out of stock'
|
|
3800
|
+
},
|
|
3801
|
+
memberOffer: {
|
|
3802
|
+
Default: "Or pay member price of"
|
|
3803
|
+
}
|
|
3804
|
+
},
|
|
3805
|
+
required: false,
|
|
3806
|
+
subFields: [
|
|
3807
|
+
{
|
|
3808
|
+
name: "actionButton",
|
|
3809
|
+
friendlyName: "Action Button",
|
|
3810
|
+
type: "text",
|
|
3811
|
+
defaultValue: {
|
|
3812
|
+
Default: "ADD TO CART"
|
|
3813
|
+
},
|
|
3814
|
+
required: false,
|
|
3815
|
+
helperText: "",
|
|
3816
|
+
defaultCollapsed: false
|
|
3817
|
+
},
|
|
3818
|
+
{
|
|
3819
|
+
name: "subscriptionOffer",
|
|
3820
|
+
friendlyName: "Subscription Offer",
|
|
3821
|
+
type: "text",
|
|
3822
|
+
defaultValue: {
|
|
3823
|
+
Default: "Or $PRICE when you subscribe & save"
|
|
3824
|
+
},
|
|
3825
|
+
required: false,
|
|
3826
|
+
helperText: "Use $PRICE to represent the price, this will be automatically replaced.",
|
|
3827
|
+
defaultCollapsed: false
|
|
3828
|
+
},
|
|
3829
|
+
{
|
|
3830
|
+
name: "memberOffer",
|
|
3831
|
+
friendlyName: "Member Offer",
|
|
3832
|
+
type: "text",
|
|
3833
|
+
defaultValue: {
|
|
3834
|
+
Default: "Or pay member price of"
|
|
3835
|
+
},
|
|
3836
|
+
required: false,
|
|
3837
|
+
helperText: "",
|
|
3838
|
+
defaultCollapsed: false
|
|
3839
|
+
},
|
|
3840
|
+
{
|
|
3841
|
+
name: "subscriptionToggle",
|
|
3842
|
+
friendlyName: "Subscription Toggle",
|
|
3843
|
+
type: "text",
|
|
3844
|
+
defaultValue: {
|
|
3845
|
+
Default: "Subscribe & save"
|
|
3846
|
+
},
|
|
3847
|
+
required: false,
|
|
3848
|
+
helperText: "The label for the button when selecting a subscription",
|
|
3849
|
+
defaultCollapsed: false
|
|
3850
|
+
},
|
|
3851
|
+
{
|
|
3852
|
+
name: "otpToggle",
|
|
3853
|
+
friendlyName: "One-Time Purchase Toggle",
|
|
3854
|
+
type: "text",
|
|
3855
|
+
defaultValue: {
|
|
3856
|
+
Default: "Single purchase"
|
|
3857
|
+
},
|
|
3858
|
+
required: false,
|
|
3859
|
+
helperText: "The label for the button when selecting a single purchase (otp).",
|
|
3860
|
+
defaultCollapsed: false
|
|
3861
|
+
},
|
|
3862
|
+
{
|
|
3863
|
+
name: "outOfStock",
|
|
3864
|
+
friendlyName: "Out of Stock",
|
|
3865
|
+
type: "text",
|
|
3866
|
+
defaultValue: {
|
|
3867
|
+
Default: 'Sorry, we"re currently out of stock'
|
|
3868
|
+
},
|
|
3869
|
+
required: false,
|
|
3870
|
+
helperText: "The text to display when this product is marked as Out of Stock.",
|
|
3871
|
+
defaultCollapsed: false
|
|
3872
|
+
},
|
|
3873
|
+
{
|
|
3874
|
+
name: "outOfStockFormSuccess",
|
|
3875
|
+
friendlyName: "OOS Form Success Message",
|
|
3876
|
+
type: "html",
|
|
3877
|
+
defaultValue: {
|
|
3878
|
+
Default: '<p class="text-center">We will notify you as soon as this item is back in stock.</p>'
|
|
3879
|
+
},
|
|
3880
|
+
required: false,
|
|
3881
|
+
helperText: "The message displayed when a user requests to be notified when this product is back in stock.",
|
|
3882
|
+
defaultCollapsed: false
|
|
3883
|
+
},
|
|
3884
|
+
{
|
|
3885
|
+
name: "scrollButton",
|
|
3886
|
+
friendlyName: "Scroll Button Content",
|
|
3887
|
+
type: "html",
|
|
3888
|
+
defaultValue: {
|
|
3889
|
+
Default: '<span class="material-icons">keyboard_arrow_up</span> Back to top'
|
|
3890
|
+
},
|
|
3891
|
+
required: false,
|
|
3892
|
+
helperText: "",
|
|
3893
|
+
defaultCollapsed: false
|
|
3894
|
+
},
|
|
3895
|
+
{
|
|
3896
|
+
name: "flavorSelector",
|
|
3897
|
+
friendlyName: "Flavor / Option Selector",
|
|
3898
|
+
type: "text",
|
|
3899
|
+
defaultValue: {
|
|
3900
|
+
Default: "Choose a flavor"
|
|
3901
|
+
},
|
|
3902
|
+
required: false,
|
|
3903
|
+
helperText: "",
|
|
3904
|
+
defaultCollapsed: false
|
|
3905
|
+
}
|
|
3906
|
+
],
|
|
3907
|
+
helperText: "Customize the various labels on the offer selector",
|
|
3908
|
+
defaultCollapsed: false
|
|
3909
|
+
},
|
|
3910
|
+
{
|
|
3911
|
+
name: "bestSellerImage",
|
|
3912
|
+
friendlyName: "Best Seller Image",
|
|
3913
|
+
type: "file",
|
|
3914
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"],
|
|
3915
|
+
defaultValue: "https://cdn.builder.io/api/v1/image/assets%2Fcf992cf7343c4ca182a884e9a45f394e%2F3805efcc18184db8bccf74d5c5aaf891?format=webp",
|
|
3916
|
+
required: false,
|
|
3917
|
+
helperText: "The small image to display alongside the best seller offer",
|
|
3918
|
+
defaultCollapsed: true
|
|
3919
|
+
},
|
|
3920
|
+
{
|
|
3921
|
+
name: "bestValueImage",
|
|
3922
|
+
friendlyName: "Best Value Image",
|
|
3923
|
+
type: "file",
|
|
3924
|
+
defaultValue: "https://cdn.builder.io/api/v1/image/assets%2Fcf992cf7343c4ca182a884e9a45f394e%2F82105508987e4459bc4405617d4bee33",
|
|
3925
|
+
required: false,
|
|
3926
|
+
helperText: "The small image to display alongside the best value offer (highest quantity)",
|
|
3927
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"],
|
|
3928
|
+
defaultCollapsed: true
|
|
3929
|
+
},
|
|
3930
|
+
{
|
|
3931
|
+
name: "cssOverrides",
|
|
3932
|
+
friendlyName: "CSS Properties",
|
|
3933
|
+
type: "object",
|
|
3934
|
+
defaultValue: {},
|
|
3935
|
+
required: false,
|
|
3936
|
+
subFields: [
|
|
3937
|
+
{
|
|
3938
|
+
name: "signupOfferCustomCssProps",
|
|
3939
|
+
friendlyName: "Signup Offer CSS",
|
|
3940
|
+
type: "map",
|
|
3941
|
+
required: false,
|
|
3942
|
+
helperText: "",
|
|
3943
|
+
defaultCollapsed: false
|
|
3944
|
+
},
|
|
3945
|
+
{
|
|
3946
|
+
name: "signupOfferPriceCustomCssProps",
|
|
3947
|
+
friendlyName: "Signup Offer Price CSS",
|
|
3948
|
+
type: "map",
|
|
3949
|
+
required: false,
|
|
3950
|
+
helperText: "",
|
|
3951
|
+
defaultCollapsed: false
|
|
3952
|
+
}
|
|
3953
|
+
],
|
|
3954
|
+
helperText: "",
|
|
3955
|
+
defaultCollapsed: true
|
|
3956
|
+
}
|
|
3957
|
+
],
|
|
3958
|
+
helperText: "Configure the offer selector to display.",
|
|
3959
|
+
defaultCollapsed: true,
|
|
3960
|
+
showIf: "return !(options.get('hideNativeOfferSelector'))"
|
|
3961
|
+
},
|
|
3962
|
+
{
|
|
3963
|
+
name: "category",
|
|
3964
|
+
type: "reference",
|
|
3965
|
+
required: false,
|
|
3966
|
+
helperText: "Provide the category to display breadcrumb navigation",
|
|
3967
|
+
modelId: categoryModelId,
|
|
3968
|
+
copyOnAdd: true,
|
|
3969
|
+
friendlyName: "Category",
|
|
3970
|
+
defaultCollapsed: false
|
|
3971
|
+
}
|
|
3972
|
+
],
|
|
3973
|
+
helperText: "Configure the PDP options",
|
|
3974
|
+
showIf: "return options.get('pageType') === 'Product'",
|
|
3975
|
+
defaultCollapsed: false
|
|
3976
|
+
},
|
|
3977
|
+
{
|
|
3978
|
+
name: "blog",
|
|
3979
|
+
friendlyName: "Blog Configuration",
|
|
3980
|
+
type: "object",
|
|
3981
|
+
required: false,
|
|
3982
|
+
subFields: [
|
|
3983
|
+
{
|
|
3984
|
+
name: "title",
|
|
3985
|
+
friendlyName: "Blog Title",
|
|
3986
|
+
helperText: "Provide a title for this blog when shown on a grid or list. If not provided, the page title will be used.",
|
|
3987
|
+
type: "text",
|
|
3988
|
+
required: false,
|
|
3989
|
+
localized: true,
|
|
3990
|
+
defaultCollapsed: false
|
|
3991
|
+
},
|
|
3992
|
+
{
|
|
3993
|
+
name: "publicationDate",
|
|
3994
|
+
friendlyName: "Publication Date",
|
|
3995
|
+
type: "timestamp",
|
|
3996
|
+
helperText: "Provide the publication date, this is used for sorting.",
|
|
3997
|
+
required: true,
|
|
3998
|
+
localized: false,
|
|
3999
|
+
defaultCollapsed: false
|
|
4000
|
+
},
|
|
4001
|
+
{
|
|
4002
|
+
name: "snippet",
|
|
4003
|
+
friendlyName: "Blog Snippet",
|
|
4004
|
+
helperText: "Provide a snippet of the blog to display when shown on a grid or list. If not provided, we will attempt to use the page description or SEO description (if available)",
|
|
4005
|
+
type: "longText",
|
|
4006
|
+
required: false,
|
|
4007
|
+
localized: true,
|
|
4008
|
+
defaultCollapsed: false
|
|
4009
|
+
},
|
|
4010
|
+
{
|
|
4011
|
+
name: "author",
|
|
4012
|
+
friendlyName: "Blog Author",
|
|
4013
|
+
type: "text",
|
|
4014
|
+
helperText: "Provide an author for this blog to display when shown on a grid or list.",
|
|
4015
|
+
required: false,
|
|
4016
|
+
localized: false,
|
|
4017
|
+
defaultCollapsed: false
|
|
4018
|
+
},
|
|
4019
|
+
{
|
|
4020
|
+
name: "thumbnail",
|
|
4021
|
+
friendlyName: "Blog Thumbnail",
|
|
4022
|
+
type: "file",
|
|
4023
|
+
required: false,
|
|
4024
|
+
helperText: "Provide an image to display when shown on a grid or list. If not provided, we will attempt to use the SEO image (if available)",
|
|
4025
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"],
|
|
4026
|
+
copyOnAdd: true,
|
|
4027
|
+
defaultCollapsed: false
|
|
4028
|
+
},
|
|
4029
|
+
{
|
|
4030
|
+
name: "categories",
|
|
4031
|
+
friendlyName: "Blog Categories",
|
|
4032
|
+
type: "list",
|
|
4033
|
+
required: false,
|
|
4034
|
+
copyOnAdd: true,
|
|
4035
|
+
defaultCollapsed: true,
|
|
4036
|
+
subFields: [
|
|
4037
|
+
{
|
|
4038
|
+
name: "category",
|
|
4039
|
+
friendlyName: "Blog Category",
|
|
4040
|
+
type: "reference",
|
|
4041
|
+
modelId: blogCategoryModelId,
|
|
4042
|
+
required: true,
|
|
4043
|
+
defaultCollapsed: false,
|
|
4044
|
+
copyOnAdd: false
|
|
4045
|
+
}
|
|
4046
|
+
]
|
|
4047
|
+
}
|
|
4048
|
+
],
|
|
4049
|
+
helperText: "Configure the blog options",
|
|
4050
|
+
showIf: "return options.get('pageType') === 'Blog'",
|
|
4051
|
+
defaultCollapsed: true
|
|
4052
|
+
},
|
|
4053
|
+
{
|
|
4054
|
+
name: "heading",
|
|
4055
|
+
friendlyName: "SEO Page Title",
|
|
4056
|
+
type: "text",
|
|
4057
|
+
required: false,
|
|
4058
|
+
helperText: "Provide an alternate page title to use for SEO purposes (if blank, the page title is used)",
|
|
4059
|
+
defaultCollapsed: false
|
|
4060
|
+
},
|
|
4061
|
+
{
|
|
4062
|
+
name: "description",
|
|
4063
|
+
friendlyName: "SEO Description",
|
|
4064
|
+
type: "longText",
|
|
4065
|
+
required: false,
|
|
4066
|
+
helperText: "Set the page description for SEO here. This is automatically embedded in your page.",
|
|
4067
|
+
defaultCollapsed: true
|
|
4068
|
+
},
|
|
4069
|
+
{
|
|
4070
|
+
name: "seoImage",
|
|
4071
|
+
friendlyName: "SEO Image",
|
|
4072
|
+
type: "file",
|
|
4073
|
+
required: false,
|
|
4074
|
+
helperText: "Provide an image to be used for SEO purposes",
|
|
4075
|
+
allowedFileTypes: ["jpeg", "png", "svg", "webp"],
|
|
4076
|
+
copyOnAdd: true,
|
|
4077
|
+
defaultCollapsed: false
|
|
4078
|
+
},
|
|
4079
|
+
{
|
|
4080
|
+
name: "search",
|
|
4081
|
+
friendlyName: "Search Configuration",
|
|
4082
|
+
type: "object",
|
|
4083
|
+
required: false,
|
|
4084
|
+
subFields: [
|
|
4085
|
+
{
|
|
4086
|
+
name: "title",
|
|
4087
|
+
friendlyName: "Search Title",
|
|
4088
|
+
type: "text",
|
|
4089
|
+
required: false,
|
|
4090
|
+
helperText: "Used when showing this page in your site's search function. If no value is provided, the page title will be used.",
|
|
4091
|
+
defaultCollapsed: false
|
|
4092
|
+
},
|
|
4093
|
+
{
|
|
4094
|
+
name: "description",
|
|
4095
|
+
friendlyName: "Search Description",
|
|
4096
|
+
type: "text",
|
|
4097
|
+
required: false,
|
|
4098
|
+
helperText: "(Optional) Provide a description to be used when showing this page in search results. If no value is provided, the SEO description is used.",
|
|
4099
|
+
defaultCollapsed: false
|
|
4100
|
+
},
|
|
4101
|
+
{
|
|
4102
|
+
name: "hide",
|
|
4103
|
+
friendlyName: "Hide from Search",
|
|
4104
|
+
type: "boolean",
|
|
4105
|
+
required: false,
|
|
4106
|
+
helperText: "Use this to hide this page from search results. This does not prevent navigation to the page.",
|
|
4107
|
+
defaultCollapsed: false
|
|
4108
|
+
},
|
|
4109
|
+
{
|
|
4110
|
+
name: "content",
|
|
4111
|
+
friendlyName: "Content",
|
|
4112
|
+
type: "longText",
|
|
4113
|
+
required: false,
|
|
4114
|
+
helperText: "(Optional) Use this field to add keywords or phrases to assist in search results (e.g. related products, categories, key words, etc.)",
|
|
4115
|
+
defaultCollapsed: false
|
|
4116
|
+
}
|
|
4117
|
+
],
|
|
4118
|
+
helperText: "Configure how this page displays in your site's built-in search results. Pages will not show in search results if neither the SEO or Search information is configured. You may also elect to hide the page from search results.",
|
|
4119
|
+
defaultCollapsed: true
|
|
4120
|
+
},
|
|
4121
|
+
{
|
|
4122
|
+
"@type": "@builder.io/core:Field",
|
|
4123
|
+
name: "banners",
|
|
4124
|
+
friendlyName: "Banners",
|
|
4125
|
+
helperText: `Select the banner(s) to display on this page. These will be displayed in the
|
|
4126
|
+
order provided, but always below site-wide banners.`,
|
|
4127
|
+
type: "list",
|
|
4128
|
+
defaultCollapsed: true,
|
|
4129
|
+
localized: false,
|
|
4130
|
+
subFields: [
|
|
4131
|
+
{
|
|
4132
|
+
"@type": "@builder.io/core:Field",
|
|
4133
|
+
name: "banner",
|
|
4134
|
+
friendlyName: "Sitewide Banner",
|
|
4135
|
+
type: "reference",
|
|
4136
|
+
localized: false,
|
|
4137
|
+
helperText: "Select the banner to display.",
|
|
4138
|
+
defaultCollapsed: true,
|
|
4139
|
+
modelId: bannerModelId,
|
|
4140
|
+
copyOnAdd: false
|
|
4141
|
+
}
|
|
4142
|
+
]
|
|
4143
|
+
},
|
|
4144
|
+
{
|
|
4145
|
+
name: "disableStickyHeader",
|
|
4146
|
+
friendlyName: "Disable Sticky Header",
|
|
4147
|
+
helperText: "Disable the sticky header for this page only.",
|
|
4148
|
+
type: "boolean",
|
|
4149
|
+
localized: false,
|
|
4150
|
+
defaultCollapsed: true,
|
|
4151
|
+
advanced: true
|
|
4152
|
+
},
|
|
4153
|
+
{
|
|
4154
|
+
name: "showBundleDrawer",
|
|
4155
|
+
friendlyName: "Show Bundle Drawer",
|
|
4156
|
+
helperText: "Enable the bundle drawer for this page.",
|
|
4157
|
+
type: "boolean",
|
|
4158
|
+
localized: false,
|
|
4159
|
+
defaultCollapsed: true,
|
|
4160
|
+
advanced: true
|
|
4161
|
+
},
|
|
4162
|
+
{
|
|
4163
|
+
name: "robotsMeta",
|
|
4164
|
+
friendlyName: "Robots Meta",
|
|
4165
|
+
type: "object",
|
|
4166
|
+
required: false,
|
|
4167
|
+
helperText: "Settings for the robots meta tag.",
|
|
4168
|
+
subFields: [
|
|
4169
|
+
{
|
|
4170
|
+
name: "noIndex",
|
|
4171
|
+
friendlyName: "No Index",
|
|
4172
|
+
type: "boolean",
|
|
4173
|
+
required: false,
|
|
4174
|
+
defaultCollapsed: true,
|
|
4175
|
+
helperText: "Prevents pages from being indexed and displayed in search engine result pages"
|
|
4176
|
+
},
|
|
4177
|
+
{
|
|
4178
|
+
name: "noFollow",
|
|
4179
|
+
friendlyName: "No Follow",
|
|
4180
|
+
type: "boolean",
|
|
4181
|
+
required: false,
|
|
4182
|
+
defaultCollapsed: true,
|
|
4183
|
+
helperText: "Prevents search engines from following links on the pages"
|
|
4184
|
+
},
|
|
4185
|
+
{
|
|
4186
|
+
name: "noArchive",
|
|
4187
|
+
friendlyName: "No Archive",
|
|
4188
|
+
type: "boolean",
|
|
4189
|
+
required: false,
|
|
4190
|
+
defaultCollapsed: true,
|
|
4191
|
+
helperText: "Prevents search engines from showing Cached links for pages"
|
|
4192
|
+
},
|
|
4193
|
+
{
|
|
4194
|
+
name: "noImageIndex",
|
|
4195
|
+
friendlyName: "No Image Index",
|
|
4196
|
+
type: "boolean",
|
|
4197
|
+
required: false,
|
|
4198
|
+
defaultCollapsed: true,
|
|
4199
|
+
helperText: "This option prevents images on a page from being indexed by Google and other search engines"
|
|
4200
|
+
},
|
|
4201
|
+
{
|
|
4202
|
+
name: "noSnippet",
|
|
4203
|
+
friendlyName: "No Snippet",
|
|
4204
|
+
type: "boolean",
|
|
4205
|
+
required: false,
|
|
4206
|
+
defaultCollapsed: true,
|
|
4207
|
+
helperText: "Prevents a snippet from being shown in the search results"
|
|
4208
|
+
}
|
|
4209
|
+
],
|
|
4210
|
+
defaultCollapsed: true
|
|
4211
|
+
}
|
|
4212
|
+
],
|
|
4213
|
+
editingUrlLogic: "return `" + editUrl + "${targeting.urlPath}?builder.preview=true&builder.frameEditing=true`"
|
|
4214
|
+
};
|
|
4215
|
+
};
|
|
4216
|
+
|
|
4217
|
+
export { createBlogCategoryModel, createBlogCommentModel, createBrandConfigModel, createCategoryModel, createDefaultWebsiteSectionModel, createIngredientsModel, createPageModel, createProductGridConfigModel, createProductGroupModel, createProductModel, createProductTagModel, createProductUseCaseModel, createSiteBannerModel };
|
|
4218
|
+
//# sourceMappingURL=index.mjs.map
|
|
4219
|
+
//# sourceMappingURL=index.mjs.map
|