@voyantjs/promotions-ui 0.89.0 → 0.92.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.
@@ -1 +1 @@
1
- {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAEzD,eAAO,MAAM,cAAc,EAAE,oBAiJ5B,CAAA"}
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAEzD,eAAO,MAAM,cAAc,EAAE,oBAuJ5B,CAAA"}
package/dist/i18n/en.js CHANGED
@@ -26,6 +26,8 @@ export const promotionsUiEn = {
26
26
  destinations: "Destinations",
27
27
  markets: "Markets",
28
28
  audiences: "Audiences",
29
+ fare_codes: "Fare codes",
30
+ cabin_grades: "Cabin grades",
29
31
  },
30
32
  audienceLabels: {
31
33
  staff: "Staff",
@@ -79,6 +81,8 @@ export const promotionsUiEn = {
79
81
  destinationsScope: "{count} {noun}",
80
82
  marketsScope: "Markets: {markets}",
81
83
  audiencesScope: "Audiences: {audiences}",
84
+ fareCodesScope: "Fare codes: {fareCodes}",
85
+ cabinGradesScope: "Cabin grades: {cabinGradeCodes}",
82
86
  productNouns: { singular: "product", plural: "products" },
83
87
  categoryNouns: { singular: "category", plural: "categories" },
84
88
  destinationNouns: { singular: "destination", plural: "destinations" },
@@ -127,6 +131,8 @@ export const promotionsUiEn = {
127
131
  categoryIds: "Add category references",
128
132
  destinationIds: "Add destination references",
129
133
  marketIds: "Add market references",
134
+ fareCodes: "Add fare codes",
135
+ cabinGradeCodes: "Add cabin grade codes",
130
136
  },
131
137
  hints: {
132
138
  globalScope: "Applies to every product.",
@@ -57,6 +57,8 @@ export type PromotionsUiMessages = {
57
57
  destinationsScope: string;
58
58
  marketsScope: string;
59
59
  audiencesScope: string;
60
+ fareCodesScope: string;
61
+ cabinGradesScope: string;
60
62
  productNouns: {
61
63
  singular: string;
62
64
  plural: string;
@@ -114,6 +116,8 @@ export type PromotionsUiMessages = {
114
116
  categoryIds: string;
115
117
  destinationIds: string;
116
118
  marketIds: string;
119
+ fareCodes: string;
120
+ cabinGradeCodes: string;
117
121
  };
118
122
  hints: {
119
123
  globalScope: string;
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/i18n/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/i18n/messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,+BAA+B,EAC/B,0BAA0B,EAC1B,yBAAyB,EAC1B,MAAM,4BAA4B,CAAA;AAEnC,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAA;QACd,MAAM,EAAE,MAAM,CAAA;QACd,WAAW,EAAE,MAAM,CAAA;QACnB,MAAM,EAAE,MAAM,CAAA;QACd,MAAM,EAAE,MAAM,CAAA;QACd,kBAAkB,EAAE,MAAM,CAAC,YAAY,GAAG,cAAc,EAAE,MAAM,CAAC,CAAA;QACjE,qBAAqB,EAAE,MAAM,CAAC,+BAA+B,EAAE,MAAM,CAAC,CAAA;QACtE,YAAY,EAAE,MAAM,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAA;QACxD,eAAe,EAAE,MAAM,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAA;QAC1D,cAAc,EAAE,MAAM,CAAC,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,EAAE,MAAM,CAAC,CAAA;KAC9E,CAAA;IACD,cAAc,EAAE;QACd,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;QACnB,YAAY,EAAE,MAAM,CAAA;QACpB,WAAW,EAAE,MAAM,CAAA;QACnB,iBAAiB,EAAE,MAAM,CAAA;QACzB,eAAe,EAAE,MAAM,CAAA;QACvB,QAAQ,EAAE,MAAM,CAAA;QAChB,iBAAiB,EAAE,MAAM,CAAA;QACzB,WAAW,EAAE,MAAM,CAAA;QACnB,gBAAgB,EAAE,MAAM,CAAA;QACxB,SAAS,EAAE,MAAM,CAAA;QACjB,wBAAwB,EAAE,MAAM,CAAA;QAChC,aAAa,EAAE,MAAM,CAAA;QACrB,YAAY,EAAE,MAAM,CAAA;QACpB,UAAU,EAAE,MAAM,CAAA;QAClB,gBAAgB,EAAE,MAAM,CAAA;QACxB,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE;YACP,IAAI,EAAE,MAAM,CAAA;YACZ,IAAI,EAAE,MAAM,CAAA;YACZ,KAAK,EAAE,MAAM,CAAA;YACb,QAAQ,EAAE,MAAM,CAAA;YAChB,QAAQ,EAAE,MAAM,CAAA;YAChB,IAAI,EAAE,MAAM,CAAA;YACZ,MAAM,EAAE,MAAM,CAAA;SACf,CAAA;QACD,MAAM,EAAE;YACN,IAAI,EAAE,MAAM,CAAA;YACZ,IAAI,EAAE,MAAM,CAAA;YACZ,SAAS,EAAE,MAAM,CAAA;SAClB,CAAA;QACD,UAAU,EAAE;YACV,OAAO,EAAE,MAAM,CAAA;YACf,QAAQ,EAAE,MAAM,CAAA;YAChB,IAAI,EAAE,MAAM,CAAA;YACZ,IAAI,EAAE,MAAM,CAAA;SACb,CAAA;QACD,SAAS,EAAE;YACT,WAAW,EAAE,MAAM,CAAA;YACnB,aAAa,EAAE,MAAM,CAAA;YACrB,eAAe,EAAE,MAAM,CAAA;YACvB,iBAAiB,EAAE,MAAM,CAAA;YACzB,YAAY,EAAE,MAAM,CAAA;YACpB,cAAc,EAAE,MAAM,CAAA;YACtB,cAAc,EAAE,MAAM,CAAA;YACtB,gBAAgB,EAAE,MAAM,CAAA;YACxB,YAAY,EAAE;gBACZ,QAAQ,EAAE,MAAM,CAAA;gBAChB,MAAM,EAAE,MAAM,CAAA;aACf,CAAA;YACD,aAAa,EAAE;gBACb,QAAQ,EAAE,MAAM,CAAA;gBAChB,MAAM,EAAE,MAAM,CAAA;aACf,CAAA;YACD,gBAAgB,EAAE;gBAChB,QAAQ,EAAE,MAAM,CAAA;gBAChB,MAAM,EAAE,MAAM,CAAA;aACf,CAAA;YACD,iBAAiB,EAAE,MAAM,CAAA;YACzB,OAAO,EAAE,MAAM,CAAA;YACf,KAAK,EAAE,MAAM,CAAA;YACb,IAAI,EAAE,MAAM,CAAA;YACZ,KAAK,EAAE,MAAM,CAAA;YACb,MAAM,EAAE,MAAM,CAAA;SACf,CAAA;KACF,CAAA;IACD,eAAe,EAAE;QACf,MAAM,EAAE;YACN,MAAM,EAAE,MAAM,CAAA;YACd,IAAI,EAAE,MAAM,CAAA;SACb,CAAA;QACD,WAAW,EAAE,MAAM,CAAA;QACnB,MAAM,EAAE;YACN,IAAI,EAAE,MAAM,CAAA;YACZ,IAAI,EAAE,MAAM,CAAA;YACZ,WAAW,EAAE,MAAM,CAAA;YACnB,IAAI,EAAE,MAAM,CAAA;YACZ,OAAO,EAAE,MAAM,CAAA;YACf,MAAM,EAAE,MAAM,CAAA;YACd,QAAQ,EAAE,MAAM,CAAA;YAChB,KAAK,EAAE,MAAM,CAAA;YACb,QAAQ,EAAE,MAAM,CAAA;YAChB,SAAS,EAAE,MAAM,CAAA;YACjB,SAAS,EAAE,MAAM,CAAA;YACjB,UAAU,EAAE,MAAM,CAAA;YAClB,IAAI,EAAE,MAAM,CAAA;YACZ,MAAM,EAAE,MAAM,CAAA;YACd,SAAS,EAAE,MAAM,CAAA;YACjB,MAAM,EAAE,MAAM,CAAA;SACf,CAAA;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,MAAM,CAAA;YACZ,IAAI,EAAE,MAAM,CAAA;YACZ,WAAW,EAAE,MAAM,CAAA;YACnB,OAAO,EAAE,MAAM,CAAA;YACf,MAAM,EAAE,MAAM,CAAA;YACd,QAAQ,EAAE,MAAM,CAAA;YAChB,IAAI,EAAE,MAAM,CAAA;YACZ,MAAM,EAAE,MAAM,CAAA;YACd,UAAU,EAAE,MAAM,CAAA;YAClB,WAAW,EAAE,MAAM,CAAA;YACnB,cAAc,EAAE,MAAM,CAAA;YACtB,SAAS,EAAE,MAAM,CAAA;YACjB,SAAS,EAAE,MAAM,CAAA;YACjB,eAAe,EAAE,MAAM,CAAA;SACxB,CAAA;QACD,KAAK,EAAE;YACL,WAAW,EAAE,MAAM,CAAA;YACnB,iBAAiB,EAAE,MAAM,CAAA;SAC1B,CAAA;QACD,UAAU,EAAE;YACV,YAAY,EAAE,MAAM,CAAA;YACpB,YAAY,EAAE,MAAM,CAAA;YACpB,uBAAuB,EAAE,MAAM,CAAA;YAC/B,sBAAsB,EAAE,MAAM,CAAA;YAC9B,gBAAgB,EAAE,MAAM,CAAA;YACxB,YAAY,EAAE,MAAM,CAAA;YACpB,kBAAkB,EAAE,MAAM,CAAA;SAC3B,CAAA;KACF,CAAA;CACF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ro.d.ts","sourceRoot":"","sources":["../../src/i18n/ro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAEzD,eAAO,MAAM,cAAc,EAAE,oBAiJ5B,CAAA"}
1
+ {"version":3,"file":"ro.d.ts","sourceRoot":"","sources":["../../src/i18n/ro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAEzD,eAAO,MAAM,cAAc,EAAE,oBAuJ5B,CAAA"}
package/dist/i18n/ro.js CHANGED
@@ -26,6 +26,8 @@ export const promotionsUiRo = {
26
26
  destinations: "Destinatii",
27
27
  markets: "Piete",
28
28
  audiences: "Audiente",
29
+ fare_codes: "Coduri tarifare",
30
+ cabin_grades: "Grade cabine",
29
31
  },
30
32
  audienceLabels: {
31
33
  staff: "Echipa",
@@ -79,6 +81,8 @@ export const promotionsUiRo = {
79
81
  destinationsScope: "{count} {noun}",
80
82
  marketsScope: "Piete: {markets}",
81
83
  audiencesScope: "Audiente: {audiences}",
84
+ fareCodesScope: "Coduri tarifare: {fareCodes}",
85
+ cabinGradesScope: "Grade cabine: {cabinGradeCodes}",
82
86
  productNouns: { singular: "produs", plural: "produse" },
83
87
  categoryNouns: { singular: "categorie", plural: "categorii" },
84
88
  destinationNouns: { singular: "destinatie", plural: "destinatii" },
@@ -127,6 +131,8 @@ export const promotionsUiRo = {
127
131
  categoryIds: "Adauga referinte de categorii",
128
132
  destinationIds: "Adauga referinte de destinatii",
129
133
  marketIds: "Adauga referinte de piete",
134
+ fareCodes: "Adauga coduri tarifare",
135
+ cabinGradeCodes: "Adauga coduri de grade cabine",
130
136
  },
131
137
  hints: {
132
138
  globalScope: "Se aplica tuturor produselor.",
@@ -1 +1 @@
1
- {"version":3,"file":"promotion-dialog.d.ts","sourceRoot":"","sources":["../src/promotion-dialog.tsx"],"names":[],"mappings":"AAaA,OAAO,EACL,KAAK,sBAAsB,EAO5B,MAAM,4BAA4B,CAAA;AA2BnC,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,oDAAoD;IACpD,KAAK,CAAC,EAAE,sBAAsB,CAAA;CAC/B;AA4KD,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,oBAAoB,2CAySlF"}
1
+ {"version":3,"file":"promotion-dialog.d.ts","sourceRoot":"","sources":["../src/promotion-dialog.tsx"],"names":[],"mappings":"AAaA,OAAO,EACL,KAAK,sBAAsB,EAO5B,MAAM,4BAA4B,CAAA;AA2BnC,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,oDAAoD;IACpD,KAAK,CAAC,EAAE,sBAAsB,CAAA;CAC/B;AAsLD,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,oBAAoB,2CA2SlF"}
@@ -24,6 +24,8 @@ const SCOPE_KINDS = [
24
24
  "destinations",
25
25
  "markets",
26
26
  "audiences",
27
+ "fare_codes",
28
+ "cabin_grades",
27
29
  ];
28
30
  const AUDIENCE_OPTIONS = [
29
31
  "staff",
@@ -81,6 +83,10 @@ function scopeIdsToString(scope) {
81
83
  return scope.destinationIds.join(", ");
82
84
  case "markets":
83
85
  return scope.marketIds.join(", ");
86
+ case "fare_codes":
87
+ return scope.fareCodes.join(", ");
88
+ case "cabin_grades":
89
+ return scope.cabinGradeCodes.join(", ");
84
90
  default:
85
91
  return "";
86
92
  }
@@ -103,6 +109,10 @@ function buildScope(state) {
103
109
  return { kind: "markets", marketIds: parseIds(state.scopeIds) };
104
110
  case "audiences":
105
111
  return { kind: "audiences", audiences: state.scopeAudiences };
112
+ case "fare_codes":
113
+ return { kind: "fare_codes", fareCodes: parseIds(state.scopeIds) };
114
+ case "cabin_grades":
115
+ return { kind: "cabin_grades", cabinGradeCodes: parseIds(state.scopeIds) };
106
116
  }
107
117
  }
108
118
  function parseIds(raw) {
@@ -204,7 +214,9 @@ export function PromotionDialog({ open, onOpenChange, offer }) {
204
214
  }, children: [_jsx(SelectTrigger, { children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { children: SCOPE_KINDS.map((kind) => (_jsx(SelectItem, { value: kind, children: messages.common.scopeKindLabels[kind] }, kind))) })] }), state.scopeKind === "global" ? (_jsx("p", { className: "text-sm text-muted-foreground", children: dialogMessages.hints.globalScope })) : null, (state.scopeKind === "products" ||
205
215
  state.scopeKind === "categories" ||
206
216
  state.scopeKind === "destinations" ||
207
- state.scopeKind === "markets") && (_jsxs("div", { className: "grid gap-1.5", children: [_jsx(Label, { htmlFor: "promotion-scope-ids", children: formatMessage(dialogMessages.fields.scopeIds, {
217
+ state.scopeKind === "markets" ||
218
+ state.scopeKind === "fare_codes" ||
219
+ state.scopeKind === "cabin_grades") && (_jsxs("div", { className: "grid gap-1.5", children: [_jsx(Label, { htmlFor: "promotion-scope-ids", children: formatMessage(dialogMessages.fields.scopeIds, {
208
220
  scope: scopeIdsLabel(state.scopeKind, messages.common.scopeKindLabels),
209
221
  }) }), _jsx(Input, { id: "promotion-scope-ids", value: state.scopeIds, onChange: (e) => setField("scopeIds", e.target.value), placeholder: scopeIdsPlaceholder(state.scopeKind, dialogMessages.placeholders) })] })), state.scopeKind === "audiences" && (_jsxs("div", { className: "grid gap-2", children: [_jsx(Label, { children: dialogMessages.fields.audiences }), _jsx("div", { className: "flex flex-wrap gap-3", children: AUDIENCE_OPTIONS.map((audience) => {
210
222
  const selected = state.scopeAudiences.includes(audience);
@@ -233,5 +245,9 @@ function scopeIdsPlaceholder(kind, placeholders) {
233
245
  return placeholders.destinationIds;
234
246
  case "markets":
235
247
  return placeholders.marketIds;
248
+ case "fare_codes":
249
+ return placeholders.fareCodes;
250
+ case "cabin_grades":
251
+ return placeholders.cabinGradeCodes;
236
252
  }
237
253
  }
@@ -46,10 +46,19 @@ export declare function loadPromotionsPage(queryClient: QueryClient, client?: Pa
46
46
  } | {
47
47
  kind: "audiences";
48
48
  audiences: ("staff" | "customer" | "partner" | "supplier")[];
49
+ } | {
50
+ kind: "fare_codes";
51
+ fareCodes: string[];
52
+ } | {
53
+ kind: "cabin_grades";
54
+ cabinGradeCodes: string[];
49
55
  };
50
56
  conditions: {
51
- [x: string]: unknown;
52
57
  minPax?: number | undefined;
58
+ pastGuestOnly?: boolean | undefined;
59
+ soloTravelerOnly?: boolean | undefined;
60
+ childTravelerOnly?: boolean | undefined;
61
+ familyOnly?: boolean | undefined;
53
62
  };
54
63
  validFrom: string | null;
55
64
  validUntil: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"promotions-page.d.ts","sourceRoot":"","sources":["../src/promotions-page.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAExD,OAAO,EAKL,KAAK,sBAAsB,EAG3B,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EAEzB,MAAM,4BAA4B,CAAA;AAyBnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AA4BtC,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,KAAK,CAAC,EAAE,sBAAsB,CAAA;IAC9B,SAAS,EAAE,MAAM,IAAI,CAAA;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,eAAe,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,sBAAsB,KAAK,IAAI,CAAA;IAClF,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,0BAA0B,KAAK,SAAS,CAAA;CACzE;AAED,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,WAAW,EACxB,MAAM,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,EACzC,KAAK,GAAE,mBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAQhC;AAED,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,QAA4B,EAC5B,eAAe,EACf,qBAAqB,GACtB,GAAE,mBAAwB,2CAwV1B"}
1
+ {"version":3,"file":"promotions-page.d.ts","sourceRoot":"","sources":["../src/promotions-page.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAExD,OAAO,EAKL,KAAK,sBAAsB,EAG3B,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EAEzB,MAAM,4BAA4B,CAAA;AAyBnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AA8BtC,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,KAAK,CAAC,EAAE,sBAAsB,CAAA;IAC9B,SAAS,EAAE,MAAM,IAAI,CAAA;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,eAAe,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,sBAAsB,KAAK,IAAI,CAAA;IAClF,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,0BAA0B,KAAK,SAAS,CAAA;CACzE;AAED,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,WAAW,EACxB,MAAM,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,EACzC,KAAK,GAAE,mBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAQhC;AAED,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,QAA4B,EAC5B,eAAe,EACf,qBAAqB,GACtB,GAAE,mBAAwB,2CAwV1B"}
@@ -18,6 +18,8 @@ const scopeKinds = [
18
18
  "destinations",
19
19
  "markets",
20
20
  "audiences",
21
+ "fare_codes",
22
+ "cabin_grades",
21
23
  ];
22
24
  const applicationModes = ["auto", "code"];
23
25
  const statusFilters = ["active", "scheduled", "expired", "archived"];
@@ -166,6 +168,14 @@ function summarizeScope(scope, messages) {
166
168
  .map((audience) => messages.common.audienceLabels[audience])
167
169
  .join(", "),
168
170
  });
171
+ case "fare_codes":
172
+ return formatMessage(summary.fareCodesScope, {
173
+ fareCodes: scope.fareCodes.join(", "),
174
+ });
175
+ case "cabin_grades":
176
+ return formatMessage(summary.cabinGradesScope, {
177
+ cabinGradeCodes: scope.cabinGradeCodes.join(", "),
178
+ });
169
179
  }
170
180
  }
171
181
  function summarizeDiscount(offer, messages) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voyantjs/promotions-ui",
3
- "version": "0.89.0",
3
+ "version": "0.92.0",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -41,11 +41,11 @@
41
41
  "react": "^19.0.0",
42
42
  "react-dom": "^19.0.0",
43
43
  "zod": "^4.3.6",
44
- "@voyantjs/promotions-react": "0.89.0",
45
- "@voyantjs/ui": "0.89.0"
44
+ "@voyantjs/promotions-react": "0.92.0",
45
+ "@voyantjs/ui": "0.92.0"
46
46
  },
47
47
  "dependencies": {
48
- "@voyantjs/i18n": "0.89.0"
48
+ "@voyantjs/i18n": "0.92.0"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@tanstack/react-query": "^5.100.11",
@@ -57,9 +57,9 @@
57
57
  "typescript": "^6.0.2",
58
58
  "vitest": "^4.1.2",
59
59
  "zod": "^4.3.6",
60
- "@voyantjs/i18n": "0.89.0",
61
- "@voyantjs/promotions-react": "0.89.0",
62
- "@voyantjs/ui": "0.89.0",
60
+ "@voyantjs/i18n": "0.92.0",
61
+ "@voyantjs/promotions-react": "0.92.0",
62
+ "@voyantjs/ui": "0.92.0",
63
63
  "@voyantjs/voyant-typescript-config": "0.1.0"
64
64
  },
65
65
  "files": [