@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:
|
|
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:
|
|
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:
|
|
293
|
+
{ type: 'text', text: txt.team },
|
|
282
294
|
],
|
|
283
295
|
});
|
|
284
296
|
return {
|