@goldenhippo/builder-cart-schemas 0.7.0 → 0.9.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.
@@ -5,6 +5,38 @@ var builderSharedSchemas = require('@goldenhippo/builder-shared-schemas');
5
5
  // src/data/index.ts
6
6
 
7
7
  // src/data/brand-config/sections/header-config.ts
8
+ var HeaderType = /* @__PURE__ */ ((HeaderType3) => {
9
+ HeaderType3["BASIC"] = "BASIC";
10
+ HeaderType3["MEDIUM"] = "MEDIUM";
11
+ HeaderType3["MEGA"] = "MEGA";
12
+ HeaderType3["LINKLESS"] = "LINKLESS";
13
+ HeaderType3["NONE"] = "NONE";
14
+ HeaderType3["DMP"] = "DMP";
15
+ return HeaderType3;
16
+ })(HeaderType || {});
17
+ var BasicHeaderCTAType = /* @__PURE__ */ ((BasicHeaderCTAType3) => {
18
+ BasicHeaderCTAType3["PRIMARY"] = "primary";
19
+ BasicHeaderCTAType3["SECONDARY"] = "secondary";
20
+ BasicHeaderCTAType3["OUTLINE"] = "outline";
21
+ BasicHeaderCTAType3["LINK"] = "link";
22
+ return BasicHeaderCTAType3;
23
+ })(BasicHeaderCTAType || {});
24
+ var MediumHeaderDropdownType = /* @__PURE__ */ ((MediumHeaderDropdownType3) => {
25
+ MediumHeaderDropdownType3["SEARCH"] = "search";
26
+ MediumHeaderDropdownType3["LINKS"] = "links";
27
+ MediumHeaderDropdownType3["ACCOUNT_LINKS"] = "accountLinks";
28
+ MediumHeaderDropdownType3["HTML"] = "html";
29
+ MediumHeaderDropdownType3["TIMED_HTML"] = "timedHtml";
30
+ return MediumHeaderDropdownType3;
31
+ })(MediumHeaderDropdownType || {});
32
+ var MediumHeaderDesktopContentType = /* @__PURE__ */ ((MediumHeaderDesktopContentType3) => {
33
+ MediumHeaderDesktopContentType3["LINKS"] = "links";
34
+ MediumHeaderDesktopContentType3["LOGO"] = "logo";
35
+ MediumHeaderDesktopContentType3["ACCOUNT_LINKS"] = "accountLinks";
36
+ MediumHeaderDesktopContentType3["CART_COUNT"] = "cartCount";
37
+ MediumHeaderDesktopContentType3["HTML"] = "html";
38
+ return MediumHeaderDesktopContentType3;
39
+ })(MediumHeaderDesktopContentType || {});
8
40
  var headerOptions = {
9
41
  basic: {
10
42
  name: "basicHeaderConfig",
@@ -1211,7 +1243,14 @@ var createHeaderConfig = () => {
1211
1243
  helperText: "Select the type of header to use",
1212
1244
  defaultCollapsed: true,
1213
1245
  type: "select",
1214
- enum: ["BASIC" /* BASIC */, "MEDIUM" /* MEDIUM */, "MEGA" /* MEGA */, "NONE" /* NONE */, "DMP" /* DMP */],
1246
+ enum: [
1247
+ "BASIC" /* BASIC */,
1248
+ "MEDIUM" /* MEDIUM */,
1249
+ "MEGA" /* MEGA */,
1250
+ "LINKLESS" /* LINKLESS */,
1251
+ "NONE" /* NONE */,
1252
+ "DMP" /* DMP */
1253
+ ],
1215
1254
  defaultValue: "MEDIUM"
1216
1255
  },
1217
1256
  headerOptions.basic,
@@ -1223,6 +1262,12 @@ var createHeaderConfig = () => {
1223
1262
  };
1224
1263
 
1225
1264
  // src/data/brand-config/sections/footer-config.ts
1265
+ var FooterType = /* @__PURE__ */ ((FooterType3) => {
1266
+ FooterType3["BASIC"] = "BASIC";
1267
+ FooterType3["MEGA"] = "MEGA";
1268
+ FooterType3["NONE"] = "NONE";
1269
+ return FooterType3;
1270
+ })(FooterType || {});
1226
1271
  var createFooterConfig = () => {
1227
1272
  return {
1228
1273
  name: "footer",
@@ -1230,26 +1275,39 @@ var createFooterConfig = () => {
1230
1275
  friendlyName: "Footer",
1231
1276
  type: "object",
1232
1277
  defaultCollapsed: true,
1278
+ helperText: "Footer layout and content settings",
1233
1279
  subFields: [
1234
1280
  {
1235
1281
  name: "footerType",
1236
- friendlyName: "Type",
1282
+ friendlyName: "Footer Type",
1237
1283
  type: "select",
1238
1284
  enum: ["BASIC" /* BASIC */, "MEGA" /* MEGA */, "NONE" /* NONE */],
1239
1285
  defaultValue: "BASIC" /* BASIC */,
1240
- defaultCollapsed: true
1286
+ defaultCollapsed: true,
1287
+ helperText: "Choose the footer layout style for the website"
1241
1288
  }
1242
1289
  ]
1243
1290
  };
1244
1291
  };
1245
1292
 
1246
1293
  // src/data/brand-config/sections/feature-config.ts
1294
+ var ProductGridFilterType = /* @__PURE__ */ ((ProductGridFilterType3) => {
1295
+ ProductGridFilterType3["DROPDOWN"] = "Dropdown";
1296
+ ProductGridFilterType3["STACKED_LIST"] = "Stacked List";
1297
+ return ProductGridFilterType3;
1298
+ })(ProductGridFilterType || {});
1299
+ var ProductLinkPrefix = /* @__PURE__ */ ((ProductLinkPrefix3) => {
1300
+ ProductLinkPrefix3["P"] = "/p";
1301
+ ProductLinkPrefix3["PRODUCT"] = "/product";
1302
+ return ProductLinkPrefix3;
1303
+ })(ProductLinkPrefix || {});
1247
1304
  var createFeatureConfig = (gridFilterModelId) => {
1248
1305
  return {
1249
1306
  name: "features",
1250
1307
  friendlyName: "Features",
1251
1308
  type: "object",
1252
1309
  defaultCollapsed: true,
1310
+ helperText: "Enable or disable site-wide features and behaviors",
1253
1311
  subFields: [
1254
1312
  {
1255
1313
  name: "productGridFilterType",
@@ -1329,6 +1387,22 @@ var createFeatureConfig = (gridFilterModelId) => {
1329
1387
  type: "boolean",
1330
1388
  localized: false,
1331
1389
  defaultCollapsed: true
1390
+ },
1391
+ {
1392
+ name: "subscriptionExperience",
1393
+ friendlyName: "Subscription Experience",
1394
+ type: "select",
1395
+ enum: ["Classic", "Version 2"],
1396
+ defaultValue: "Classic",
1397
+ defaultCollapsed: false,
1398
+ helperText: "Select the subscription management experience for customers"
1399
+ },
1400
+ {
1401
+ name: "useDefaultFrequencies",
1402
+ friendlyName: "Use Default Frequencies",
1403
+ type: "boolean",
1404
+ helperText: "When enabled, the selected frequency on an Offer Selector is calculated based on the product and quantity selected.",
1405
+ defaultCollapsed: false
1332
1406
  }
1333
1407
  ]
1334
1408
  };
@@ -1342,6 +1416,7 @@ var createSupportConfig = () => {
1342
1416
  type: "object",
1343
1417
  defaultCollapsed: true,
1344
1418
  localized: false,
1419
+ helperText: "Contact information displayed to customers on the website",
1345
1420
  subFields: [
1346
1421
  {
1347
1422
  name: "email",
@@ -1427,6 +1502,33 @@ var createSupportConfig = () => {
1427
1502
  };
1428
1503
 
1429
1504
  // src/data/brand-config/sections/page-config.ts
1505
+ var SubscriptionCancelReasons = /* @__PURE__ */ ((SubscriptionCancelReasons3) => {
1506
+ SubscriptionCancelReasons3["DoNotLike"] = "DoNotLike";
1507
+ SubscriptionCancelReasons3["NotWorking"] = "NotWorking";
1508
+ SubscriptionCancelReasons3["NoBenefits"] = "NoBenefits";
1509
+ SubscriptionCancelReasons3["NoFitNoNeed"] = "NoFitNoNeed";
1510
+ SubscriptionCancelReasons3["Budget"] = "Budget";
1511
+ SubscriptionCancelReasons3["Mistake"] = "Mistake";
1512
+ SubscriptionCancelReasons3["Try"] = "Try";
1513
+ SubscriptionCancelReasons3["TooMuch"] = "TooMuch";
1514
+ SubscriptionCancelReasons3["TravelMove"] = "TravelMove";
1515
+ SubscriptionCancelReasons3["DoNotNeed"] = "DoNotNeed";
1516
+ SubscriptionCancelReasons3["AnotherReason"] = "AnotherReason";
1517
+ SubscriptionCancelReasons3["NotHelpingSkin"] = "NotHelpingSkin";
1518
+ SubscriptionCancelReasons3["SkinImproved"] = "SkinImproved";
1519
+ SubscriptionCancelReasons3["PetDoesNotLike"] = "PetDoesNotLike";
1520
+ SubscriptionCancelReasons3["NotHelpingPet"] = "NotHelpingPet";
1521
+ SubscriptionCancelReasons3["NoneGiven"] = "NoneGiven";
1522
+ return SubscriptionCancelReasons3;
1523
+ })(SubscriptionCancelReasons || {});
1524
+ var SubscriptionCancelButtonType = /* @__PURE__ */ ((SubscriptionCancelButtonType3) => {
1525
+ SubscriptionCancelButtonType3["Link"] = "link";
1526
+ SubscriptionCancelButtonType3["Update"] = "update";
1527
+ SubscriptionCancelButtonType3["Keep"] = "keep";
1528
+ SubscriptionCancelButtonType3["Continue"] = "continue";
1529
+ SubscriptionCancelButtonType3["Cancel"] = "cancel";
1530
+ return SubscriptionCancelButtonType3;
1531
+ })(SubscriptionCancelButtonType || {});
1430
1532
  var createPageConfig = () => {
1431
1533
  return {
1432
1534
  name: "pageConfig",
@@ -2016,7 +2118,7 @@ var createPageConfig = () => {
2016
2118
  type: "select",
2017
2119
  required: true,
2018
2120
  defaultCollapsed: true,
2019
- helperText: "",
2121
+ helperText: "System identifier for this cancellation reason \u2014 used for analytics tracking",
2020
2122
  enum: [
2021
2123
  "DoNotLike" /* DoNotLike */,
2022
2124
  "NotWorking" /* NotWorking */,
@@ -2056,7 +2158,7 @@ var createPageConfig = () => {
2056
2158
  friendlyName: "Button Link",
2057
2159
  type: "url",
2058
2160
  required: false,
2059
- helperText: "",
2161
+ helperText: "URL to navigate to when this button is clicked",
2060
2162
  defaultCollapsed: true
2061
2163
  },
2062
2164
  {
@@ -2064,7 +2166,7 @@ var createPageConfig = () => {
2064
2166
  type: "select",
2065
2167
  friendlyName: "Button Type",
2066
2168
  required: false,
2067
- helperText: "",
2169
+ helperText: "Determines the button behavior \u2014 links navigate away, while other types trigger actions",
2068
2170
  enum: [
2069
2171
  "link" /* Link */,
2070
2172
  "update" /* Update */,
@@ -2170,6 +2272,7 @@ var createCookieConfig = () => {
2170
2272
  friendlyName: "Cookie Configuration",
2171
2273
  type: "object",
2172
2274
  defaultCollapsed: true,
2275
+ helperText: "Settings for the cookie consent popup displayed to visitors",
2173
2276
  subFields: [
2174
2277
  {
2175
2278
  name: "popupBanner",
@@ -2245,7 +2348,8 @@ var createGeneralConfig = (bannerModelId) => {
2245
2348
  type: "text",
2246
2349
  defaultCollapsed: true,
2247
2350
  localized: false,
2248
- required: true
2351
+ required: true,
2352
+ helperText: "The brand name displayed across the website"
2249
2353
  },
2250
2354
  {
2251
2355
  name: "images",
@@ -2253,6 +2357,7 @@ var createGeneralConfig = (bannerModelId) => {
2253
2357
  type: "object",
2254
2358
  defaultCollapsed: true,
2255
2359
  localized: false,
2360
+ helperText: "Logo and brand images used throughout the website",
2256
2361
  subFields: [
2257
2362
  {
2258
2363
  name: "brandLogoSmall",
@@ -2362,6 +2467,7 @@ var createGeneralConfig = (bannerModelId) => {
2362
2467
  type: "object",
2363
2468
  defaultCollapsed: true,
2364
2469
  localized: false,
2470
+ helperText: "Links to legal pages and external profiles",
2365
2471
  subFields: [
2366
2472
  {
2367
2473
  name: "termsLink",
@@ -2416,15 +2522,15 @@ var createGeneralConfig = (bannerModelId) => {
2416
2522
  friendlyName: "Social Media Links",
2417
2523
  type: "object",
2418
2524
  localized: false,
2419
- helperText: "",
2525
+ helperText: "Links to the brand's social media profiles",
2420
2526
  defaultCollapsed: true,
2421
2527
  subFields: [
2422
2528
  {
2423
2529
  name: "twitter",
2424
- friendlyName: "Twitter",
2530
+ friendlyName: "Twitter / X",
2425
2531
  type: "url",
2426
2532
  localized: false,
2427
- helperText: "",
2533
+ helperText: "Link to the brand's Twitter/X profile",
2428
2534
  defaultCollapsed: true
2429
2535
  },
2430
2536
  {
@@ -2432,15 +2538,15 @@ var createGeneralConfig = (bannerModelId) => {
2432
2538
  friendlyName: "Facebook",
2433
2539
  type: "url",
2434
2540
  localized: false,
2435
- helperText: "",
2541
+ helperText: "Link to the brand's Facebook page",
2436
2542
  defaultCollapsed: true
2437
2543
  },
2438
2544
  {
2439
2545
  name: "youtube",
2440
- friendlyName: "Youtube",
2546
+ friendlyName: "YouTube",
2441
2547
  type: "url",
2442
2548
  localized: false,
2443
- helperText: "",
2549
+ helperText: "Link to the brand's YouTube channel",
2444
2550
  defaultCollapsed: true
2445
2551
  },
2446
2552
  {
@@ -2448,7 +2554,7 @@ var createGeneralConfig = (bannerModelId) => {
2448
2554
  friendlyName: "Instagram",
2449
2555
  type: "url",
2450
2556
  localized: false,
2451
- helperText: "",
2557
+ helperText: "Link to the brand's Instagram profile",
2452
2558
  defaultCollapsed: true
2453
2559
  },
2454
2560
  {
@@ -2456,15 +2562,15 @@ var createGeneralConfig = (bannerModelId) => {
2456
2562
  friendlyName: "Pinterest",
2457
2563
  type: "url",
2458
2564
  localized: false,
2459
- helperText: "",
2565
+ helperText: "Link to the brand's Pinterest profile",
2460
2566
  defaultCollapsed: true
2461
2567
  },
2462
2568
  {
2463
2569
  name: "tiktok",
2464
- friendlyName: "Tiktok",
2570
+ friendlyName: "TikTok",
2465
2571
  type: "url",
2466
2572
  localized: false,
2467
- helperText: "",
2573
+ helperText: "Link to the brand's TikTok profile",
2468
2574
  defaultCollapsed: true
2469
2575
  }
2470
2576
  ]
@@ -2518,7 +2624,31 @@ var createBrandConfigModel = (gridFilterModelId, bannerModelId) => {
2518
2624
  createFeatureConfig(gridFilterModelId),
2519
2625
  createSupportConfig(),
2520
2626
  createPageConfig(),
2521
- createCookieConfig()
2627
+ createCookieConfig(),
2628
+ {
2629
+ name: "seo",
2630
+ friendlyName: "SEO",
2631
+ type: "object",
2632
+ defaultCollapsed: true,
2633
+ localized: false,
2634
+ helperText: "Search engine optimization settings for the brand",
2635
+ subFields: [
2636
+ {
2637
+ name: "description",
2638
+ friendlyName: "Site Description",
2639
+ type: "longText",
2640
+ defaultCollapsed: false,
2641
+ helperText: "Default meta description for the website, used when pages do not provide their own"
2642
+ },
2643
+ {
2644
+ name: "knowsAbout",
2645
+ friendlyName: "Topics",
2646
+ type: "Tags",
2647
+ defaultCollapsed: false,
2648
+ helperText: "Topics the brand is knowledgeable about, used in structured data for search engines"
2649
+ }
2650
+ ]
2651
+ }
2522
2652
  ]
2523
2653
  };
2524
2654
  };
@@ -2612,7 +2742,8 @@ var BlogCommentModel = {
2612
2742
  name: "email",
2613
2743
  friendlyName: "Email",
2614
2744
  required: false,
2615
- defaultCollapsed: false
2745
+ defaultCollapsed: false,
2746
+ helperText: "Email address of the commenter"
2616
2747
  },
2617
2748
  {
2618
2749
  type: "html",
@@ -2688,7 +2819,7 @@ var ProductGroupType = /* @__PURE__ */ ((ProductGroupType2) => {
2688
2819
  ProductGroupType2["TrialGroup"] = "Trial Group";
2689
2820
  return ProductGroupType2;
2690
2821
  })(ProductGroupType || {});
2691
- var createProductGroupModel = (productModelId) => {
2822
+ var createProductGroupModel = (productModelId, sectionModelId) => {
2692
2823
  return {
2693
2824
  name: "product-group",
2694
2825
  displayName: "Product Group",
@@ -2735,7 +2866,7 @@ var createProductGroupModel = (productModelId) => {
2735
2866
  {
2736
2867
  name: "shortDescription",
2737
2868
  friendlyName: "Short Description",
2738
- type: "longText",
2869
+ type: "html",
2739
2870
  required: false,
2740
2871
  defaultCollapsed: true,
2741
2872
  localized: true,
@@ -2754,7 +2885,8 @@ var createProductGroupModel = (productModelId) => {
2754
2885
  type: "reference",
2755
2886
  defaultCollapsed: false,
2756
2887
  modelId: productModelId,
2757
- copyOnAdd: false
2888
+ copyOnAdd: false,
2889
+ helperText: "Select a product to include in this group"
2758
2890
  },
2759
2891
  {
2760
2892
  name: "displayName",
@@ -2788,7 +2920,7 @@ var createProductGroupModel = (productModelId) => {
2788
2920
  type: "boolean",
2789
2921
  required: false,
2790
2922
  defaultCollapsed: true,
2791
- localized: true,
2923
+ localized: false,
2792
2924
  helperText: "When true, this product group will not be displayed."
2793
2925
  },
2794
2926
  {
@@ -2796,6 +2928,7 @@ var createProductGroupModel = (productModelId) => {
2796
2928
  friendlyName: "Golden Hippo",
2797
2929
  type: "object",
2798
2930
  defaultCollapsed: true,
2931
+ helperText: "Integration data for Golden Hippo. Do not modify these values.",
2799
2932
  subFields: [
2800
2933
  {
2801
2934
  name: "productionId",
@@ -2829,6 +2962,16 @@ var createProductGroupModel = (productModelId) => {
2829
2962
  defaultCollapsed: true,
2830
2963
  localized: false,
2831
2964
  helperText: "The internal name for this product group."
2965
+ },
2966
+ {
2967
+ name: "informationCallout",
2968
+ friendlyName: "Information Callout",
2969
+ type: "reference",
2970
+ required: false,
2971
+ modelId: sectionModelId,
2972
+ copyOnAdd: true,
2973
+ defaultCollapsed: false,
2974
+ helperText: "Optional content section displayed alongside this product group"
2832
2975
  }
2833
2976
  ]
2834
2977
  };
@@ -2872,7 +3015,8 @@ var createProductGridConfigModel = (models) => {
2872
3015
  required: true,
2873
3016
  localized: false,
2874
3017
  copyOnAdd: true,
2875
- defaultCollapsed: false
3018
+ defaultCollapsed: false,
3019
+ helperText: "Select a category to include in this filter group"
2876
3020
  // makeEntryTitle: true,
2877
3021
  }
2878
3022
  ]
@@ -2892,7 +3036,8 @@ var createProductGridConfigModel = (models) => {
2892
3036
  required: true,
2893
3037
  localized: false,
2894
3038
  copyOnAdd: true,
2895
- defaultCollapsed: false
3039
+ defaultCollapsed: false,
3040
+ helperText: "Select an ingredient to include in this filter group"
2896
3041
  // makeEntryTitle: true,
2897
3042
  }
2898
3043
  ]
@@ -2912,7 +3057,8 @@ var createProductGridConfigModel = (models) => {
2912
3057
  required: true,
2913
3058
  localized: false,
2914
3059
  copyOnAdd: true,
2915
- defaultCollapsed: false
3060
+ defaultCollapsed: false,
3061
+ helperText: "Select a use case to include in this filter group"
2916
3062
  // makeEntryTitle: true,
2917
3063
  }
2918
3064
  ],
@@ -2933,7 +3079,8 @@ var createProductGridConfigModel = (models) => {
2933
3079
  required: true,
2934
3080
  localized: false,
2935
3081
  copyOnAdd: true,
2936
- defaultCollapsed: false
3082
+ defaultCollapsed: false,
3083
+ helperText: "Select a tag to include in this filter group"
2937
3084
  // makeEntryTitle: true,
2938
3085
  }
2939
3086
  ],
@@ -2973,8 +3120,17 @@ Object.defineProperty(exports, "createProductUseCaseModel", {
2973
3120
  enumerable: true,
2974
3121
  get: function () { return builderSharedSchemas.createProductUseCaseModel; }
2975
3122
  });
3123
+ exports.BasicHeaderCTAType = BasicHeaderCTAType;
2976
3124
  exports.FilterApplicationType = FilterApplicationType;
3125
+ exports.FooterType = FooterType;
3126
+ exports.HeaderType = HeaderType;
3127
+ exports.MediumHeaderDesktopContentType = MediumHeaderDesktopContentType;
3128
+ exports.MediumHeaderDropdownType = MediumHeaderDropdownType;
3129
+ exports.ProductGridFilterType = ProductGridFilterType;
2977
3130
  exports.ProductGroupType = ProductGroupType;
3131
+ exports.ProductLinkPrefix = ProductLinkPrefix;
3132
+ exports.SubscriptionCancelButtonType = SubscriptionCancelButtonType;
3133
+ exports.SubscriptionCancelReasons = SubscriptionCancelReasons;
2978
3134
  exports.createBlogCategoryModel = createBlogCategoryModel;
2979
3135
  exports.createBlogCommentModel = createBlogCommentModel;
2980
3136
  exports.createBrandConfigModel = createBrandConfigModel;