@goldenhippo/builder-cart-schemas 0.16.0 → 0.17.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.
@@ -3039,6 +3039,12 @@ var ProfileFieldReference = /* @__PURE__ */ ((ProfileFieldReference2) => {
3039
3039
  ProfileFieldReference2["HealthConditions"] = "Health Conditions";
3040
3040
  return ProfileFieldReference2;
3041
3041
  })(ProfileFieldReference || {});
3042
+ var ProfileReferenceApplicationType = /* @__PURE__ */ ((ProfileReferenceApplicationType2) => {
3043
+ ProfileReferenceApplicationType2["Exclusive"] = "exclusive";
3044
+ ProfileReferenceApplicationType2["Preferred"] = "preferred";
3045
+ ProfileReferenceApplicationType2["Required"] = "required";
3046
+ return ProfileReferenceApplicationType2;
3047
+ })(ProfileReferenceApplicationType || {});
3042
3048
  var createProfileReferenceRuleModel = () => {
3043
3049
  return {
3044
3050
  name: "profile-reference-rule",
@@ -3056,6 +3062,20 @@ var createProfileReferenceRuleModel = () => {
3056
3062
  localized: true,
3057
3063
  helperText: "The name of this profile reference rule."
3058
3064
  },
3065
+ {
3066
+ name: "applicationType",
3067
+ friendlyName: "Application Type",
3068
+ type: "select",
3069
+ required: true,
3070
+ defaultCollapsed: false,
3071
+ enum: [
3072
+ "exclusive" /* Exclusive */,
3073
+ "preferred" /* Preferred */,
3074
+ "required" /* Required */
3075
+ ],
3076
+ defaultValue: "preferred" /* Preferred */,
3077
+ helperText: "How this rule is applied relative to other rules."
3078
+ },
3059
3079
  {
3060
3080
  name: "referenceType",
3061
3081
  friendlyName: "Reference Type",
@@ -3184,6 +3204,97 @@ var createProfileReferenceRuleModel = () => {
3184
3204
  };
3185
3205
  };
3186
3206
 
3207
+ // src/data/recommendation-config.model.ts
3208
+ var createRecommendationConfigModel = () => {
3209
+ return {
3210
+ name: "recommendation-config",
3211
+ displayName: "Recommendation Config",
3212
+ kind: "data",
3213
+ helperText: "Configuration for how product recommendations are generated.",
3214
+ contentTitleField: "displayName",
3215
+ fields: [
3216
+ {
3217
+ name: "displayName",
3218
+ friendlyName: "Display Name",
3219
+ type: "text",
3220
+ required: true,
3221
+ defaultCollapsed: false,
3222
+ localized: false,
3223
+ helperText: "The name of this recommendation config.",
3224
+ makeEntryTitle: true
3225
+ },
3226
+ {
3227
+ name: "recommendations",
3228
+ friendlyName: "Recommendations",
3229
+ type: "list",
3230
+ required: true,
3231
+ defaultCollapsed: false,
3232
+ helperText: "Each item defines a single recommendation slot. The number of items determines how many recommendations are generated.",
3233
+ subFields: [
3234
+ {
3235
+ name: "label",
3236
+ friendlyName: "Label",
3237
+ type: "text",
3238
+ required: false,
3239
+ localized: true,
3240
+ defaultCollapsed: false,
3241
+ helperText: "Label for this recommendation slot."
3242
+ },
3243
+ {
3244
+ name: "showResult",
3245
+ friendlyName: "Show Result",
3246
+ type: "boolean",
3247
+ required: false,
3248
+ defaultValue: true,
3249
+ defaultCollapsed: false,
3250
+ helperText: "When true, the result of this recommendation is displayed."
3251
+ },
3252
+ {
3253
+ name: "requiredTags",
3254
+ friendlyName: "Required Tags",
3255
+ type: "list",
3256
+ required: false,
3257
+ defaultCollapsed: false,
3258
+ helperText: "Tags that the recommended product must have. Leave empty to allow any tag.",
3259
+ subFields: [
3260
+ {
3261
+ name: "tag",
3262
+ friendlyName: "Tag",
3263
+ type: "reference",
3264
+ model: "product-tag",
3265
+ required: true,
3266
+ copyOnAdd: true,
3267
+ defaultCollapsed: false,
3268
+ helperText: "Select a tag the recommendation must have."
3269
+ }
3270
+ ]
3271
+ },
3272
+ {
3273
+ name: "excludedTags",
3274
+ friendlyName: "Excluded Tags",
3275
+ type: "list",
3276
+ required: false,
3277
+ defaultCollapsed: false,
3278
+ helperText: "Tags that the recommended product must NOT have.",
3279
+ subFields: [
3280
+ {
3281
+ name: "tag",
3282
+ friendlyName: "Tag",
3283
+ type: "reference",
3284
+ model: "product-tag",
3285
+ required: true,
3286
+ copyOnAdd: true,
3287
+ defaultCollapsed: false,
3288
+ helperText: "Select a tag the recommendation must not have."
3289
+ }
3290
+ ]
3291
+ }
3292
+ ]
3293
+ }
3294
+ ]
3295
+ };
3296
+ };
3297
+
3187
3298
  // src/data/product-grid-filter-group.model.ts
3188
3299
  var FilterApplicationType = /* @__PURE__ */ ((FilterApplicationType2) => {
3189
3300
  FilterApplicationType2["Inclusive"] = "Inclusive";
@@ -3337,6 +3448,7 @@ exports.ProductGridFilterType = ProductGridFilterType;
3337
3448
  exports.ProductGroupType = ProductGroupType;
3338
3449
  exports.ProductLinkPrefix = ProductLinkPrefix;
3339
3450
  exports.ProfileFieldReference = ProfileFieldReference;
3451
+ exports.ProfileReferenceApplicationType = ProfileReferenceApplicationType;
3340
3452
  exports.SubscriptionCancelButtonType = SubscriptionCancelButtonType;
3341
3453
  exports.SubscriptionCancelReasons = SubscriptionCancelReasons;
3342
3454
  exports.createBlogCategoryModel = createBlogCategoryModel;
@@ -3345,5 +3457,6 @@ exports.createBrandConfigModel = createBrandConfigModel;
3345
3457
  exports.createProductGridConfigModel = createProductGridConfigModel;
3346
3458
  exports.createProductGroupModel = createProductGroupModel;
3347
3459
  exports.createProfileReferenceRuleModel = createProfileReferenceRuleModel;
3460
+ exports.createRecommendationConfigModel = createRecommendationConfigModel;
3348
3461
  //# sourceMappingURL=index.cjs.map
3349
3462
  //# sourceMappingURL=index.cjs.map