@goldenhippo/builder-cart-schemas 0.16.0 → 0.18.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.
@@ -1439,6 +1439,16 @@ var createFeatureConfig = (gridFilterModelId) => {
1439
1439
  type: "boolean",
1440
1440
  helperText: "When enabled, the selected frequency on an Offer Selector is calculated based on the product and quantity selected.",
1441
1441
  defaultCollapsed: false
1442
+ },
1443
+ {
1444
+ name: "recommendationConfig",
1445
+ friendlyName: "Recommendation Config",
1446
+ type: "reference",
1447
+ model: "recommendation-config",
1448
+ localized: false,
1449
+ defaultCollapsed: false,
1450
+ copyOnAdd: false,
1451
+ helperText: "Select the global recommendation config used to generate product recommendations site-wide."
1442
1452
  }
1443
1453
  ]
1444
1454
  };
@@ -3039,6 +3049,12 @@ var ProfileFieldReference = /* @__PURE__ */ ((ProfileFieldReference2) => {
3039
3049
  ProfileFieldReference2["HealthConditions"] = "Health Conditions";
3040
3050
  return ProfileFieldReference2;
3041
3051
  })(ProfileFieldReference || {});
3052
+ var ProfileReferenceApplicationType = /* @__PURE__ */ ((ProfileReferenceApplicationType2) => {
3053
+ ProfileReferenceApplicationType2["Exclusive"] = "exclusive";
3054
+ ProfileReferenceApplicationType2["Preferred"] = "preferred";
3055
+ ProfileReferenceApplicationType2["Required"] = "required";
3056
+ return ProfileReferenceApplicationType2;
3057
+ })(ProfileReferenceApplicationType || {});
3042
3058
  var createProfileReferenceRuleModel = () => {
3043
3059
  return {
3044
3060
  name: "profile-reference-rule",
@@ -3056,6 +3072,20 @@ var createProfileReferenceRuleModel = () => {
3056
3072
  localized: true,
3057
3073
  helperText: "The name of this profile reference rule."
3058
3074
  },
3075
+ {
3076
+ name: "applicationType",
3077
+ friendlyName: "Application Type",
3078
+ type: "select",
3079
+ required: true,
3080
+ defaultCollapsed: false,
3081
+ enum: [
3082
+ "exclusive" /* Exclusive */,
3083
+ "preferred" /* Preferred */,
3084
+ "required" /* Required */
3085
+ ],
3086
+ defaultValue: "preferred" /* Preferred */,
3087
+ helperText: "How this rule is applied relative to other rules."
3088
+ },
3059
3089
  {
3060
3090
  name: "referenceType",
3061
3091
  friendlyName: "Reference Type",
@@ -3184,6 +3214,97 @@ var createProfileReferenceRuleModel = () => {
3184
3214
  };
3185
3215
  };
3186
3216
 
3217
+ // src/data/recommendation-config.model.ts
3218
+ var createRecommendationConfigModel = () => {
3219
+ return {
3220
+ name: "recommendation-config",
3221
+ displayName: "Recommendation Config",
3222
+ kind: "data",
3223
+ helperText: "Configuration for how product recommendations are generated.",
3224
+ contentTitleField: "displayName",
3225
+ fields: [
3226
+ {
3227
+ name: "displayName",
3228
+ friendlyName: "Display Name",
3229
+ type: "text",
3230
+ required: true,
3231
+ defaultCollapsed: false,
3232
+ localized: false,
3233
+ helperText: "The name of this recommendation config.",
3234
+ makeEntryTitle: true
3235
+ },
3236
+ {
3237
+ name: "recommendations",
3238
+ friendlyName: "Recommendations",
3239
+ type: "list",
3240
+ required: true,
3241
+ defaultCollapsed: false,
3242
+ helperText: "Each item defines a single recommendation slot. The number of items determines how many recommendations are generated.",
3243
+ subFields: [
3244
+ {
3245
+ name: "label",
3246
+ friendlyName: "Label",
3247
+ type: "text",
3248
+ required: false,
3249
+ localized: true,
3250
+ defaultCollapsed: false,
3251
+ helperText: "Label for this recommendation slot."
3252
+ },
3253
+ {
3254
+ name: "showResult",
3255
+ friendlyName: "Show Result",
3256
+ type: "boolean",
3257
+ required: false,
3258
+ defaultValue: true,
3259
+ defaultCollapsed: false,
3260
+ helperText: "When true, the result of this recommendation is displayed."
3261
+ },
3262
+ {
3263
+ name: "requiredTags",
3264
+ friendlyName: "Required Tags",
3265
+ type: "list",
3266
+ required: false,
3267
+ defaultCollapsed: false,
3268
+ helperText: "Tags that the recommended product must have. Leave empty to allow any tag.",
3269
+ subFields: [
3270
+ {
3271
+ name: "tag",
3272
+ friendlyName: "Tag",
3273
+ type: "reference",
3274
+ model: "product-tag",
3275
+ required: true,
3276
+ copyOnAdd: true,
3277
+ defaultCollapsed: false,
3278
+ helperText: "Select a tag the recommendation must have."
3279
+ }
3280
+ ]
3281
+ },
3282
+ {
3283
+ name: "excludedTags",
3284
+ friendlyName: "Excluded Tags",
3285
+ type: "list",
3286
+ required: false,
3287
+ defaultCollapsed: false,
3288
+ helperText: "Tags that the recommended product must NOT have.",
3289
+ subFields: [
3290
+ {
3291
+ name: "tag",
3292
+ friendlyName: "Tag",
3293
+ type: "reference",
3294
+ model: "product-tag",
3295
+ required: true,
3296
+ copyOnAdd: true,
3297
+ defaultCollapsed: false,
3298
+ helperText: "Select a tag the recommendation must not have."
3299
+ }
3300
+ ]
3301
+ }
3302
+ ]
3303
+ }
3304
+ ]
3305
+ };
3306
+ };
3307
+
3187
3308
  // src/data/product-grid-filter-group.model.ts
3188
3309
  var FilterApplicationType = /* @__PURE__ */ ((FilterApplicationType2) => {
3189
3310
  FilterApplicationType2["Inclusive"] = "Inclusive";
@@ -3337,6 +3458,7 @@ exports.ProductGridFilterType = ProductGridFilterType;
3337
3458
  exports.ProductGroupType = ProductGroupType;
3338
3459
  exports.ProductLinkPrefix = ProductLinkPrefix;
3339
3460
  exports.ProfileFieldReference = ProfileFieldReference;
3461
+ exports.ProfileReferenceApplicationType = ProfileReferenceApplicationType;
3340
3462
  exports.SubscriptionCancelButtonType = SubscriptionCancelButtonType;
3341
3463
  exports.SubscriptionCancelReasons = SubscriptionCancelReasons;
3342
3464
  exports.createBlogCategoryModel = createBlogCategoryModel;
@@ -3345,5 +3467,6 @@ exports.createBrandConfigModel = createBrandConfigModel;
3345
3467
  exports.createProductGridConfigModel = createProductGridConfigModel;
3346
3468
  exports.createProductGroupModel = createProductGroupModel;
3347
3469
  exports.createProfileReferenceRuleModel = createProfileReferenceRuleModel;
3470
+ exports.createRecommendationConfigModel = createRecommendationConfigModel;
3348
3471
  //# sourceMappingURL=index.cjs.map
3349
3472
  //# sourceMappingURL=index.cjs.map