@goldenhippo/builder-cart-schemas 0.13.0 → 0.15.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.
Files changed (39) hide show
  1. package/dist/data/index.cjs +198 -5
  2. package/dist/data/index.cjs.map +1 -1
  3. package/dist/data/index.d.cts +17 -6
  4. package/dist/data/index.d.ts +17 -6
  5. package/dist/data/index.js +197 -6
  6. package/dist/data/index.js.map +1 -1
  7. package/dist/footer.model-DBIx8rYn.d.cts +16 -0
  8. package/dist/footer.model-DBIx8rYn.d.ts +16 -0
  9. package/dist/index.cjs +422 -7
  10. package/dist/index.cjs.map +1 -1
  11. package/dist/index.d.cts +6 -2
  12. package/dist/index.d.ts +6 -2
  13. package/dist/index.js +415 -8
  14. package/dist/index.js.map +1 -1
  15. package/dist/offer-selector-content.model-Dl8vC8iB.d.cts +27 -0
  16. package/dist/offer-selector-content.model-Dl8vC8iB.d.ts +27 -0
  17. package/dist/page/index.cjs +40 -1
  18. package/dist/page/index.cjs.map +1 -1
  19. package/dist/page/index.d.cts +2 -2
  20. package/dist/page/index.d.ts +2 -2
  21. package/dist/page/index.js +40 -1
  22. package/dist/page/index.js.map +1 -1
  23. package/dist/{product-group.model-CdiHDKd1.d.ts → product-group.model-B_Kl5ZHt.d.cts} +7 -2
  24. package/dist/{product-group.model-C4sXIyT3.d.cts → product-group.model-Bn5gr3l-.d.ts} +7 -2
  25. package/dist/profile-reference-rule.model-CUqyjlud.d.cts +40 -0
  26. package/dist/profile-reference-rule.model-CUqyjlud.d.ts +40 -0
  27. package/dist/section/index.cjs +92 -1
  28. package/dist/section/index.cjs.map +1 -1
  29. package/dist/section/index.d.cts +9 -13
  30. package/dist/section/index.d.ts +9 -13
  31. package/dist/section/index.js +88 -2
  32. package/dist/section/index.js.map +1 -1
  33. package/dist/utils/index.cjs +96 -0
  34. package/dist/utils/index.cjs.map +1 -0
  35. package/dist/utils/index.d.cts +26 -0
  36. package/dist/utils/index.d.ts +26 -0
  37. package/dist/utils/index.js +94 -0
  38. package/dist/utils/index.js.map +1 -0
  39. package/package.json +11 -1
@@ -12,6 +12,7 @@ var HeaderType = /* @__PURE__ */ ((HeaderType3) => {
12
12
  HeaderType3["LINKLESS"] = "LINKLESS";
13
13
  HeaderType3["NONE"] = "NONE";
14
14
  HeaderType3["DMP"] = "DMP";
15
+ HeaderType3["CMS"] = "CMS";
15
16
  return HeaderType3;
16
17
  })(HeaderType || {});
17
18
  var BasicHeaderCTAType = /* @__PURE__ */ ((BasicHeaderCTAType3) => {
@@ -1228,6 +1229,19 @@ var headerOptions = {
1228
1229
  ]
1229
1230
  }
1230
1231
  ]
1232
+ },
1233
+ cms: {
1234
+ "@type": "@builder.io/core:Field",
1235
+ name: "cmsHeaderConfig",
1236
+ showIf: "return options.get('headerType') === 'CMS'",
1237
+ friendlyName: "CMS Header Config",
1238
+ helperText: "Reference a header created in Builder CMS to use as the website header.",
1239
+ type: "reference",
1240
+ model: "header",
1241
+ copyOnAdd: false,
1242
+ localized: false,
1243
+ required: true,
1244
+ defaultCollapsed: true
1231
1245
  }
1232
1246
  };
1233
1247
  var createHeaderConfig = () => {
@@ -1249,14 +1263,16 @@ var createHeaderConfig = () => {
1249
1263
  "MEGA" /* MEGA */,
1250
1264
  "LINKLESS" /* LINKLESS */,
1251
1265
  "NONE" /* NONE */,
1252
- "DMP" /* DMP */
1266
+ "DMP" /* DMP */,
1267
+ "CMS" /* CMS */
1253
1268
  ],
1254
1269
  defaultValue: "MEDIUM"
1255
1270
  },
1256
1271
  headerOptions.basic,
1257
1272
  headerOptions.medium,
1258
1273
  headerOptions.mega,
1259
- headerOptions.dmp
1274
+ headerOptions.dmp,
1275
+ headerOptions.cms
1260
1276
  ]
1261
1277
  };
1262
1278
  };
@@ -1266,6 +1282,7 @@ var FooterType = /* @__PURE__ */ ((FooterType3) => {
1266
1282
  FooterType3["BASIC"] = "BASIC";
1267
1283
  FooterType3["MEGA"] = "MEGA";
1268
1284
  FooterType3["NONE"] = "NONE";
1285
+ FooterType3["CMS"] = "CMS";
1269
1286
  return FooterType3;
1270
1287
  })(FooterType || {});
1271
1288
  var createFooterConfig = () => {
@@ -1281,10 +1298,23 @@ var createFooterConfig = () => {
1281
1298
  name: "footerType",
1282
1299
  friendlyName: "Footer Type",
1283
1300
  type: "select",
1284
- enum: ["BASIC" /* BASIC */, "MEGA" /* MEGA */, "NONE" /* NONE */],
1301
+ enum: ["BASIC" /* BASIC */, "MEGA" /* MEGA */, "NONE" /* NONE */, "CMS" /* CMS */],
1285
1302
  defaultValue: "BASIC" /* BASIC */,
1286
1303
  defaultCollapsed: true,
1287
1304
  helperText: "Choose the footer layout style for the website"
1305
+ },
1306
+ {
1307
+ "@type": "@builder.io/core:Field",
1308
+ name: "cmsFooterConfig",
1309
+ showIf: "return options.get('footerType') === 'CMS'",
1310
+ friendlyName: "CMS Footer Config",
1311
+ helperText: "Reference a footer created in Builder CMS to use as the website footer.",
1312
+ type: "reference",
1313
+ model: "footer",
1314
+ copyOnAdd: false,
1315
+ localized: false,
1316
+ required: true,
1317
+ defaultCollapsed: true
1288
1318
  }
1289
1319
  ]
1290
1320
  };
@@ -1294,6 +1324,7 @@ var createFooterConfig = () => {
1294
1324
  var ProductGridFilterType = /* @__PURE__ */ ((ProductGridFilterType3) => {
1295
1325
  ProductGridFilterType3["DROPDOWN"] = "Dropdown";
1296
1326
  ProductGridFilterType3["STACKED_LIST"] = "Stacked List";
1327
+ ProductGridFilterType3["HORIZONTAL_LIST"] = "Horizontal List";
1297
1328
  return ProductGridFilterType3;
1298
1329
  })(ProductGridFilterType || {});
1299
1330
  var ProductLinkPrefix = /* @__PURE__ */ ((ProductLinkPrefix3) => {
@@ -1315,8 +1346,13 @@ var createFeatureConfig = (gridFilterModelId) => {
1315
1346
  type: "select",
1316
1347
  defaultCollapsed: true,
1317
1348
  helperText: `Select the type of filters to use. 'Dropdown' will display a drop down of categories, ingredients, use cases, and tags.
1318
- 'Stacked List' allows you to create your own filter groupings from amongst those four filter types.`,
1319
- enum: ["Dropdown" /* DROPDOWN */, "Stacked List" /* STACKED_LIST */],
1349
+ 'Stacked List' allows you to create your own filter groupings from amongst those four filter types.
1350
+ 'Horizontal List' displays Product Categories only horizontally; click to filter on page or navigate option available.`,
1351
+ enum: [
1352
+ "Dropdown" /* DROPDOWN */,
1353
+ "Stacked List" /* STACKED_LIST */,
1354
+ "Horizontal List" /* HORIZONTAL_LIST */
1355
+ ],
1320
1356
  defaultValue: "Dropdown"
1321
1357
  },
1322
1358
  {
@@ -2993,6 +3029,161 @@ var createProductGroupModel = (productModelId, sectionModelId) => {
2993
3029
  };
2994
3030
  };
2995
3031
 
3032
+ // src/data/profile-reference-rule.model.ts
3033
+ var ProfileFieldReference = /* @__PURE__ */ ((ProfileFieldReference2) => {
3034
+ ProfileFieldReference2["Age"] = "Age";
3035
+ ProfileFieldReference2["Gender"] = "Gender";
3036
+ ProfileFieldReference2["Weight"] = "Weight";
3037
+ ProfileFieldReference2["Type"] = "Type";
3038
+ ProfileFieldReference2["Breed"] = "Breed";
3039
+ ProfileFieldReference2["HealthConditions"] = "Health Conditions";
3040
+ return ProfileFieldReference2;
3041
+ })(ProfileFieldReference || {});
3042
+ var createProfileReferenceRuleModel = () => {
3043
+ return {
3044
+ name: "profile-reference-rule",
3045
+ displayName: "Profile Reference Rule",
3046
+ kind: "data",
3047
+ helperText: "Apply profile-based personalization by associating tags, ingredients, etc. to profile properties.",
3048
+ contentTitleField: "displayName",
3049
+ fields: [
3050
+ {
3051
+ name: "displayName",
3052
+ friendlyName: "Rule Name",
3053
+ type: "text",
3054
+ required: true,
3055
+ defaultCollapsed: false,
3056
+ localized: true,
3057
+ helperText: "The name of this profile reference rule."
3058
+ },
3059
+ {
3060
+ name: "referenceType",
3061
+ friendlyName: "Reference Type",
3062
+ type: "select",
3063
+ required: true,
3064
+ defaultCollapsed: false,
3065
+ enum: [
3066
+ "Tag" /* Tag */,
3067
+ "Ingredient" /* Ingredient */,
3068
+ "Category" /* Category */,
3069
+ "UseCase" /* UseCase */
3070
+ ],
3071
+ helperText: "The type of content reference to apply when this rule is triggered.",
3072
+ defaultValue: "Tag" /* Tag */
3073
+ },
3074
+ {
3075
+ name: "tagReference",
3076
+ friendlyName: "Tag",
3077
+ type: "reference",
3078
+ required: 'return options.get("referenceType") === "Tag"',
3079
+ showIf: `return options.get("referenceType") === "Tag"`,
3080
+ defaultCollapsed: false,
3081
+ helperText: "The content reference to apply when this rule is triggered.",
3082
+ copyOnAdd: true,
3083
+ model: "product-tag"
3084
+ },
3085
+ {
3086
+ name: "ingredientReference",
3087
+ friendlyName: "Ingredient",
3088
+ type: "reference",
3089
+ required: `return options.get("referenceType") === "Ingredient"`,
3090
+ showIf: `return options.get("referenceType") === "Ingredient"`,
3091
+ defaultCollapsed: false,
3092
+ helperText: "The content reference to apply when this rule is triggered.",
3093
+ copyOnAdd: true,
3094
+ model: "product-ingredient"
3095
+ },
3096
+ {
3097
+ name: "categoryReference",
3098
+ friendlyName: "Category",
3099
+ type: "reference",
3100
+ required: `return options.get("referenceType") === "Category"`,
3101
+ showIf: `return options.get("referenceType") === "Category"`,
3102
+ defaultCollapsed: false,
3103
+ helperText: "The content reference to apply when this rule is triggered.",
3104
+ copyOnAdd: true,
3105
+ model: "product-category"
3106
+ },
3107
+ {
3108
+ name: "useCaseReference",
3109
+ friendlyName: "Use Case",
3110
+ type: "reference",
3111
+ required: `return options.get("referenceType") === "UseCase"`,
3112
+ showIf: `return options.get("referenceType") === "UseCase"`,
3113
+ defaultCollapsed: false,
3114
+ helperText: "The content reference to apply when this rule is triggered.",
3115
+ copyOnAdd: true,
3116
+ model: "product-use-case"
3117
+ },
3118
+ {
3119
+ name: "applicationRules",
3120
+ type: "list",
3121
+ friendlyName: "Application Rules",
3122
+ required: true,
3123
+ defaultCollapsed: false,
3124
+ helperText: "The rules that determine when the linked reference should be applied. These rules are evaluated together, so all rules must be satisfied for the reference to be applied.",
3125
+ subFields: [
3126
+ {
3127
+ name: "profileField",
3128
+ friendlyName: "Profile Field",
3129
+ type: "select",
3130
+ required: true,
3131
+ defaultCollapsed: false,
3132
+ enum: [
3133
+ "Age" /* Age */,
3134
+ "Gender" /* Gender */,
3135
+ "Weight" /* Weight */,
3136
+ "Type" /* Type */,
3137
+ "Breed" /* Breed */,
3138
+ "Health Conditions" /* HealthConditions */
3139
+ ],
3140
+ helperText: "The profile field to evaluate for this rule."
3141
+ },
3142
+ {
3143
+ name: "stringOperator",
3144
+ friendlyName: "Operator",
3145
+ type: "select",
3146
+ required: `return ["Gender", "Type", "Breed", "Health Conditions"].includes(options.get('profileField') ?? '')`,
3147
+ showIf: `return ["Gender", "Type", "Breed", "Health Conditions"].includes(options.get('profileField') ?? '')`,
3148
+ defaultCollapsed: false,
3149
+ enum: ["is", "is not", "contains", "does not contain"],
3150
+ helperText: "The operator to use when evaluating the profile field."
3151
+ },
3152
+ {
3153
+ name: "numberOperator",
3154
+ friendlyName: "Operator",
3155
+ type: "select",
3156
+ required: `return ['Age', 'Weight'].includes(options.get('profileField') ?? '')`,
3157
+ showIf: `return ['Age', 'Weight'].includes(options.get('profileField') ?? '')`,
3158
+ defaultCollapsed: false,
3159
+ enum: ["equals", "not equals", "greater than", "less than"],
3160
+ helperText: "The operator to use when evaluating the profile field."
3161
+ },
3162
+ {
3163
+ name: "numberValue",
3164
+ friendlyName: "Value",
3165
+ type: "number",
3166
+ defaultValue: 0,
3167
+ required: `return ['Age', 'Weight'].includes(options.get('profileField') ?? '')`,
3168
+ showIf: `return ['Age', 'Weight'].includes(options.get('profileField') ?? '')`,
3169
+ defaultCollapsed: false,
3170
+ helperText: "The numeric value to compare against the profile field."
3171
+ },
3172
+ {
3173
+ name: "stringValue",
3174
+ friendlyName: "Value",
3175
+ type: "text",
3176
+ required: `return ["Gender", "Type", "Breed", "Health Conditions"].includes(options.get('profileField') ?? '')`,
3177
+ showIf: `return ["Gender", "Type", "Breed", "Health Conditions"].includes(options.get('profileField') ?? '')`,
3178
+ defaultCollapsed: false,
3179
+ helperText: "The string value to compare against the profile field. Case insensitive."
3180
+ }
3181
+ ]
3182
+ }
3183
+ ]
3184
+ };
3185
+ };
3186
+
2996
3187
  // src/data/product-grid-filter-group.model.ts
2997
3188
  var FilterApplicationType = /* @__PURE__ */ ((FilterApplicationType2) => {
2998
3189
  FilterApplicationType2["Inclusive"] = "Inclusive";
@@ -3145,6 +3336,7 @@ exports.MediumHeaderDropdownType = MediumHeaderDropdownType;
3145
3336
  exports.ProductGridFilterType = ProductGridFilterType;
3146
3337
  exports.ProductGroupType = ProductGroupType;
3147
3338
  exports.ProductLinkPrefix = ProductLinkPrefix;
3339
+ exports.ProfileFieldReference = ProfileFieldReference;
3148
3340
  exports.SubscriptionCancelButtonType = SubscriptionCancelButtonType;
3149
3341
  exports.SubscriptionCancelReasons = SubscriptionCancelReasons;
3150
3342
  exports.createBlogCategoryModel = createBlogCategoryModel;
@@ -3152,5 +3344,6 @@ exports.createBlogCommentModel = createBlogCommentModel;
3152
3344
  exports.createBrandConfigModel = createBrandConfigModel;
3153
3345
  exports.createProductGridConfigModel = createProductGridConfigModel;
3154
3346
  exports.createProductGroupModel = createProductGroupModel;
3347
+ exports.createProfileReferenceRuleModel = createProfileReferenceRuleModel;
3155
3348
  //# sourceMappingURL=index.cjs.map
3156
3349
  //# sourceMappingURL=index.cjs.map