@escapenavigator/types 1.10.143 → 1.10.144

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.
@@ -3,6 +3,7 @@ export declare class QueryClientDto {
3
3
  lastGame?: [string, string];
4
4
  birthday?: [string, string];
5
5
  gamesCount?: string[];
6
+ visitsCount?: 'exactly_1' | 'exactly_2' | 'more_2' | 'more_3' | 'more_4';
6
7
  selectedMonth?: string | number;
7
8
  blockedClient?: 'blocked' | 'not_blocked';
8
9
  alowedToAds?: 'allowed' | 'not_allowed';
@@ -38,6 +38,11 @@ __decorate([
38
38
  (0, class_transformer_1.Transform)(({ value }) => (typeof value === 'object' ? value : ['', ''])),
39
39
  __metadata("design:type", Array)
40
40
  ], QueryClientDto.prototype, "gamesCount", void 0);
41
+ __decorate([
42
+ (0, class_validator_1.IsOptional)(),
43
+ (0, class_transformer_1.Expose)(),
44
+ __metadata("design:type", String)
45
+ ], QueryClientDto.prototype, "visitsCount", void 0);
41
46
  __decorate([
42
47
  (0, class_validator_1.IsOptional)(),
43
48
  (0, class_transformer_1.Expose)(),
@@ -133,8 +133,36 @@ export declare const isEmailContentJsonV2: (raw: unknown) => raw is EmailContent
133
133
  */
134
134
  export declare const DEFAULT_EMAIL_THEME: EmailThemeV2;
135
135
  export declare const createEmptyEmailContent: () => EmailContentJsonV2;
136
+ /**
137
+ * Локализуемые строки seed-шаблона (`createDefaultEmailContent`).
138
+ * Пакет `types` без i18n, поэтому строки приходят сверху из app-слоя
139
+ * (хелпер `useDefaultEmailTexts` в `components/email-builder`). Если
140
+ * не переданы — используются RU-дефолты (см. `DEFAULT_EMAIL_TEXTS`).
141
+ */
142
+ export type DefaultEmailTexts = {
143
+ /** H1-заголовок письма. */
144
+ heading: string;
145
+ /** Текст ПОСЛЕ переменной названия компании (начинается с ", "). */
146
+ intro: string;
147
+ /** Абзац-подсказка про «/» и «@». */
148
+ tryEditing: string;
149
+ /** Подпись на кнопке-примере. */
150
+ buttonText: string;
151
+ /** Приглушённый абзац о развитии редактора. */
152
+ feedback: string;
153
+ /** Строка подписи («С уважением,»). */
154
+ signoff: string;
155
+ /** Подпись команды («Команда Escape Navigator»). */
156
+ team: string;
157
+ /** Лейбл inline-переменной названия компании. */
158
+ companyLabel: string;
159
+ };
160
+ /** RU-дефолты seed-шаблона — fallback, если `texts` не передан. */
161
+ export declare const DEFAULT_EMAIL_TEXTS: DefaultEmailTexts;
136
162
  export type CreateDefaultEmailContentOptions = {
137
163
  logo?: string | null;
164
+ /** Локализованные строки seed-шаблона. По умолчанию — RU. */
165
+ texts?: Partial<DefaultEmailTexts>;
138
166
  };
139
167
  /**
140
168
  * Image-нода с предустановленным логотипом. Используется и в seed'е
@@ -11,7 +11,7 @@
11
11
  * for transactional emails that are NOT user-editable.
12
12
  */
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.EmailScope = exports.normalizeEmailTheme = exports.createDefaultEmailContent = exports.createLogoNode = exports.createEmptyEmailContent = exports.DEFAULT_EMAIL_THEME = exports.isEmailContentJsonV2 = exports.resolveEmailThemeColors = exports.deriveEmailTextColors = exports.EMAIL_CONTENT_VERSION_V2 = void 0;
14
+ exports.EmailScope = exports.normalizeEmailTheme = exports.createDefaultEmailContent = exports.createLogoNode = exports.DEFAULT_EMAIL_TEXTS = exports.createEmptyEmailContent = exports.DEFAULT_EMAIL_THEME = exports.isEmailContentJsonV2 = exports.resolveEmailThemeColors = exports.deriveEmailTextColors = exports.EMAIL_CONTENT_VERSION_V2 = void 0;
15
15
  exports.EMAIL_CONTENT_VERSION_V2 = 'v2';
16
16
  /**
17
17
  * Compute the relative luminance of an opaque hex color in [0, 1].
@@ -156,6 +156,25 @@ const createEmptyEmailContent = () => ({
156
156
  theme: exports.DEFAULT_EMAIL_THEME,
157
157
  });
158
158
  exports.createEmptyEmailContent = createEmptyEmailContent;
159
+ /** RU-дефолты seed-шаблона — fallback, если `texts` не передан. */
160
+ exports.DEFAULT_EMAIL_TEXTS = {
161
+ heading: 'Email конструктор 2.0',
162
+ intro: ', готовы преобразить email-коммуникацию? ' +
163
+ 'Встречайте мощный редактор писем, который ' +
164
+ 'помогает быстро и красиво готовить рассылки ' +
165
+ 'клиентам.',
166
+ tryEditing: 'Попробуйте отредактировать этот шаблон, или ' +
167
+ 'начните с чистого листа — нажмите «/» в любом ' +
168
+ 'месте, чтобы вставить блок, и «@» — чтобы ' +
169
+ 'добавить переменную клиента.',
170
+ buttonText: 'Пример кнопки →',
171
+ feedback: 'Делитесь идеями и улучшениями — мы ' +
172
+ 'постоянно развиваем редактор, чтобы ' +
173
+ 'делать ваш маркетинг проще.',
174
+ signoff: 'С уважением,',
175
+ team: 'Команда Escape Navigator',
176
+ companyLabel: 'Название компании',
177
+ };
159
178
  /**
160
179
  * Бренд, используемый в `alt`/`title` для логотипа. Захардкожен — это
161
180
  * не персонализированное имя профиля (которое подставляется через
@@ -193,6 +212,7 @@ const createLogoNode = (logo) => {
193
212
  exports.createLogoNode = createLogoNode;
194
213
  const createDefaultEmailContent = (options = {}) => {
195
214
  const { logo } = options;
215
+ const txt = Object.assign(Object.assign({}, exports.DEFAULT_EMAIL_TEXTS), options.texts);
196
216
  const content = [];
197
217
  const logoNode = (0, exports.createLogoNode)(logo);
198
218
  if (logoNode)
@@ -200,7 +220,7 @@ const createDefaultEmailContent = (options = {}) => {
200
220
  content.push({
201
221
  type: 'heading',
202
222
  attrs: { level: 1, textAlign: 'left' },
203
- content: [{ type: 'text', text: 'Email конструктор 2.0' }],
223
+ content: [{ type: 'text', text: txt.heading }],
204
224
  }, {
205
225
  type: 'paragraph',
206
226
  attrs: { textAlign: 'left' },
@@ -221,7 +241,7 @@ const createDefaultEmailContent = (options = {}) => {
221
241
  type: 'variable',
222
242
  attrs: {
223
243
  id: 'profile.title',
224
- label: 'Название компании',
244
+ label: txt.companyLabel,
225
245
  fallback: null,
226
246
  required: false,
227
247
  hideDefaultValue: false,
@@ -229,10 +249,7 @@ const createDefaultEmailContent = (options = {}) => {
229
249
  },
230
250
  {
231
251
  type: 'text',
232
- text: ', готовы преобразить email-коммуникацию? ' +
233
- 'Встречайте мощный редактор писем, который ' +
234
- 'помогает быстро и красиво готовить рассылки ' +
235
- 'клиентам.',
252
+ text: txt.intro,
236
253
  },
237
254
  ],
238
255
  }, {
@@ -241,16 +258,13 @@ const createDefaultEmailContent = (options = {}) => {
241
258
  content: [
242
259
  {
243
260
  type: 'text',
244
- text: 'Попробуйте отредактировать этот шаблон, или ' +
245
- 'начните с чистого листа — нажмите «/» в любом ' +
246
- 'месте, чтобы вставить блок, и «@» — чтобы ' +
247
- 'добавить переменную клиента.',
261
+ text: txt.tryEditing,
248
262
  },
249
263
  ],
250
264
  }, {
251
265
  type: 'button',
252
266
  attrs: {
253
- text: 'Пример кнопки →',
267
+ text: txt.buttonText,
254
268
  url: '',
255
269
  alignment: 'left',
256
270
  variant: 'filled',
@@ -266,9 +280,7 @@ const createDefaultEmailContent = (options = {}) => {
266
280
  content: [
267
281
  {
268
282
  type: 'text',
269
- text: 'Делитесь идеями и улучшениями — мы ' +
270
- 'постоянно развиваем редактор, чтобы ' +
271
- 'делать ваш маркетинг проще.',
283
+ text: txt.feedback,
272
284
  marks: [MUTED_TEXT_MARK],
273
285
  },
274
286
  ],
@@ -276,9 +288,9 @@ const createDefaultEmailContent = (options = {}) => {
276
288
  type: 'paragraph',
277
289
  attrs: { textAlign: 'left' },
278
290
  content: [
279
- { type: 'text', text: уважением,' },
291
+ { type: 'text', text: txt.signoff },
280
292
  { type: 'hardBreak' },
281
- { type: 'text', text: 'Команда Escape Navigator' },
293
+ { type: 'text', text: txt.team },
282
294
  ],
283
295
  });
284
296
  return {