profinansy-ui-lib 4.1.53 → 4.1.55

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.
@@ -38,6 +38,13 @@ export interface IQuizTargetFunnelTildaSubmit {
38
38
  startParamPrefix: string;
39
39
  };
40
40
  }
41
+ /** Тексты финального шага — зависят от воронки (урок / уроки / лекция) */
42
+ export interface IQuizTargetFunnelFinalCopy {
43
+ title: string;
44
+ subtitle: string;
45
+ telegramText: string;
46
+ maxText: string;
47
+ }
41
48
  /** Целевая воронка (автовебинар) по результатам квиза */
42
49
  export interface IQuizTargetFunnel {
43
50
  id: TQuizTargetFunnelId;
@@ -59,6 +66,8 @@ export interface IQuizTargetFunnel {
59
66
  /** Правая колонка, текст между полями и кнопкой */
60
67
  formGiftText?: string;
61
68
  submitButtonText: string;
69
+ /** Финал после отправки формы */
70
+ final: IQuizTargetFunnelFinalCopy;
62
71
  }
63
72
  export interface IQuizFunnelManagerLink {
64
73
  label: string;
@@ -13,10 +13,18 @@ export declare const getQuizFunnelMetrikaOfferVariant: (variant: TQuizFunnelOffe
13
13
  export declare const QUIZ_FUNNEL_FAB_LABEL = "\u0417\u0430\u0431\u0440\u0430\u0442\u044C \u043F\u043E\u0434\u0430\u0440\u043E\u043A";
14
14
  /** Код баннера в content API: GET /modal/list?code=quiz_funnel */
15
15
  export declare const QUIZ_FUNNEL_BANNER_CODE = "quiz_funnel";
16
- /** UTM-метка квиза — форма, Bitrix, enKod, Tilda, мессенджеры */
16
+ /** UTM-метка квиза — форма, Bitrix, enKod, Tilda (кнопки финала — отдельно) */
17
17
  export declare const QUIZ_FUNNEL_UTM_TERM = "quiz1";
18
- /** utm_source=quiz — фиксированная метка квиза (перезаписывает utm_source со страницы) */
18
+ /** utm_source=quiz — форма / CRM (перезаписывает utm_source со страницы) */
19
19
  export declare const QUIZ_FUNNEL_UTM_SOURCE = "quiz";
20
+ /** UTM кнопок Telegram / Max на финале — пакет ТЗ, только сайт */
21
+ export declare const QUIZ_FUNNEL_MESSENGER_UTM_PARAMS: {
22
+ readonly utm_source: "profinansy.ru";
23
+ readonly utm_medium: "quiz";
24
+ readonly utm_campaign: "quiz";
25
+ readonly utm_content: "quiz";
26
+ readonly utm_term: "quiz";
27
+ };
20
28
  /** Уже было автооткрытие (гость и authorized; сохраняется после логина) */
21
29
  export declare const QUIZ_FUNNEL_AUTO_OPENED_STORAGE_KEY = "quiz_funnel_auto_opened";
22
30
  /** Квиз пройден до финального шага */
@@ -43,21 +51,13 @@ export declare const normalizeQuizFunnelPathname: (pathname: string) => string;
43
51
  export declare const isQuizFunnelPathExcluded: (pathname: string) => boolean;
44
52
  /** @deprecated используйте QUIZ_FUNNEL_STEP_IMAGES.intro */
45
53
  export declare const QUIZ_FUNNEL_INTRO_IMAGE_URL = "https://storage.yandexcloud.net/public-files.profinansy.ru/images/quiz-modal-intro.png";
46
- /** Текст над ссылками на менеджера под формой */
47
- export declare const QUIZ_FUNNEL_MANAGER_HINT = "\u041E\u0441\u0442\u0430\u043B\u0438\u0441\u044C \u0432\u043E\u043F\u0440\u043E\u0441\u044B? \u041D\u0430\u043F\u0438\u0448\u0438\u0442\u0435 \u043C\u0435\u043D\u0435\u0434\u0436\u0435\u0440\u0443 pro.finansy";
48
- /** Ссылки «задать вопрос» в тултипе менеджера */
54
+ /** Текст над ссылками службы заботы на финале */
55
+ export declare const QUIZ_FUNNEL_MANAGER_HINT = "\u041E\u0441\u0442\u0430\u043B\u0438\u0441\u044C \u0432\u043E\u043F\u0440\u043E\u0441\u044B? \u041D\u0430\u043F\u0438\u0448\u0438\u0442\u0435 \u0432 \u0441\u043B\u0443\u0436\u0431\u0443 \u0437\u0430\u0431\u043E\u0442\u044B pro.finansy";
56
+ /** Ссылка «задать вопрос» в тултипе службы заботы */
49
57
  export declare const QUIZ_FUNNEL_MANAGER_LINKS: readonly [{
50
- readonly label: "Задать вопрос в Телеграм";
51
- readonly href: "https://telegram.me/profinansy_assist_bot";
58
+ readonly label: "Задать вопрос в Telegram";
59
+ readonly href: "https://t.me/profinansy_help_bot?start=start";
52
60
  readonly messenger: "telegram";
53
- }, {
54
- readonly label: "Задать вопрос в Ватсапп";
55
- readonly href: "https://wa.me/79818115676?text=%D0%A5%D0%BE%D1%87%D1%83";
56
- readonly messenger: "whatsapp";
57
- }, {
58
- readonly label: "Задать вопрос в Макс";
59
- readonly href: "https://max.ru/id9703096398_1_bot";
60
- readonly messenger: "max";
61
61
  }];
62
62
  /** A/B офферы на первом экране квиза */
63
63
  export declare const QUIZ_INTRO_OFFERS: Record<TQuizFunnelOfferVariant, IQuizFunnelCopy['intro']>;
@@ -33,9 +33,12 @@ export declare const QUIZ_FUNNEL_METRIKA_GOALS: {
33
33
  readonly registration5minSuccess: "quiz_registration_5min_success";
34
34
  readonly debtTgClick: "quiz_debt_tg_click";
35
35
  readonly debtVkClick: "quiz_debt_vk_click";
36
+ readonly debtMaxClick: "quiz_debt_max_click";
36
37
  readonly ways7TgClick: "quiz_7ways_tg_click";
37
38
  readonly ways7VkClick: "quiz_7ways_vk_click";
39
+ readonly ways7MaxClick: "quiz_7ways_max_click";
38
40
  readonly obligTgClick: "quiz_oblig_tg_click";
41
+ readonly obligMaxClick: "quiz_oblig_max_click";
39
42
  readonly min5TgClick: "quiz_5min_tg_click";
40
43
  readonly min5MaxClick: "quiz_5min_max_click";
41
44
  };
@@ -1,4 +1,4 @@
1
- export { QUIZ_FUNNEL_AUTO_OPENED_STORAGE_KEY, QUIZ_FUNNEL_BANNER_CODE, QUIZ_FUNNEL_COMPLETED_STORAGE_KEY, QUIZ_FUNNEL_COPY_DEFAULT, QUIZ_FUNNEL_DISMISSED_STORAGE_KEY, QUIZ_FUNNEL_EXCLUDED_PATHS, QUIZ_FUNNEL_INTRO_IMAGE_URL, QUIZ_FUNNEL_MANAGER_LINKS, QUIZ_FUNNEL_MANAGER_HINT, QUIZ_FUNNEL_FAB_LABEL, QUIZ_FUNNEL_OFFER_STORAGE_KEY, QUIZ_FUNNEL_INTRO_AB_TEST_ENABLED, QUIZ_FUNNEL_UTM_TERM, QUIZ_FUNNEL_UTM_SOURCE, QUIZ_INTRO_OFFERS, getQuizFunnelIntroOfferVariant, getQuizFunnelMetrikaOfferVariant, clearQuizFunnelCompleted, clearQuizFunnelDismissed, isQuizFunnelPathExcluded, markQuizFunnelAutoOpened, markQuizFunnelCompleted, markQuizFunnelDismissed, normalizeQuizFunnelPathname, wasQuizFunnelAutoOpened, wasQuizFunnelCompleted, wasQuizFunnelDismissed, shouldShowQuizFunnelFab } from './QuizFunnel.const';
1
+ export { QUIZ_FUNNEL_AUTO_OPENED_STORAGE_KEY, QUIZ_FUNNEL_BANNER_CODE, QUIZ_FUNNEL_COMPLETED_STORAGE_KEY, QUIZ_FUNNEL_COPY_DEFAULT, QUIZ_FUNNEL_DISMISSED_STORAGE_KEY, QUIZ_FUNNEL_EXCLUDED_PATHS, QUIZ_FUNNEL_INTRO_IMAGE_URL, QUIZ_FUNNEL_MANAGER_LINKS, QUIZ_FUNNEL_MANAGER_HINT, QUIZ_FUNNEL_FAB_LABEL, QUIZ_FUNNEL_OFFER_STORAGE_KEY, QUIZ_FUNNEL_INTRO_AB_TEST_ENABLED, QUIZ_FUNNEL_UTM_TERM, QUIZ_FUNNEL_UTM_SOURCE, QUIZ_FUNNEL_MESSENGER_UTM_PARAMS, QUIZ_INTRO_OFFERS, getQuizFunnelIntroOfferVariant, getQuizFunnelMetrikaOfferVariant, clearQuizFunnelCompleted, clearQuizFunnelDismissed, isQuizFunnelPathExcluded, markQuizFunnelAutoOpened, markQuizFunnelCompleted, markQuizFunnelDismissed, normalizeQuizFunnelPathname, wasQuizFunnelAutoOpened, wasQuizFunnelCompleted, wasQuizFunnelDismissed, shouldShowQuizFunnelFab } from './QuizFunnel.const';
2
2
  export { QUIZ_FUNNEL_METRIKA_GOALS } from './QuizFunnel.metrika.const';
3
3
  export type { TQuizFunnelMetrikaGoalKey } from './QuizFunnel.metrika.const';
4
4
  export { QUIZ_FUNNEL_COMPACT_BREAKPOINT, QUIZ_FUNNEL_MODAL_MAX_WIDTH, QUIZ_FUNNEL_PHONE_DROPDOWN_MAX_HEIGHT, QUIZ_FUNNEL_STEP_IMAGES, getQuizFunnelModalMaxWidth, getQuizFunnelQuestionImage } from './QuizFunnel.layout.const';
@@ -17,9 +17,9 @@ export type { IQuizBitrixDealCheckPayload, IQuizBitrixDealSubmitBasePayload, IQu
17
17
  export { QUIZ_FUNNEL_BITRIX_DEAL_URL } from '../../../api/quizFunnel/quizFunnel.bitrix.const';
18
18
  export { QUIZ_FUNNEL_TILDA_SAVE_CONTACT_URL } from '../../../api/quizFunnel/quizFunnel.tilda.const';
19
19
  export type { IQuizFunnelTildaContactQuery, IQuizFunnelTildaSaveContactResponse } from '../../../api/quizFunnel/quizFunnel.tilda.typed';
20
- export { QUIZ_FUNNEL_AUTO_OPENED_STORAGE_KEY, QUIZ_FUNNEL_BANNER_CODE, QUIZ_FUNNEL_INTRO_AB_TEST_ENABLED, QUIZ_FUNNEL_UTM_TERM, QUIZ_FUNNEL_UTM_SOURCE, QUIZ_FUNNEL_COMPLETED_STORAGE_KEY, QUIZ_FUNNEL_DISMISSED_STORAGE_KEY, QUIZ_FUNNEL_EXCLUDED_PATHS, QUIZ_FUNNEL_INTRO_IMAGE_URL, QUIZ_FUNNEL_MANAGER_LINKS, getQuizFunnelIntroOfferVariant, getQuizFunnelMetrikaOfferVariant, clearQuizFunnelCompleted, clearQuizFunnelDismissed, isQuizFunnelPathExcluded, markQuizFunnelAutoOpened, markQuizFunnelCompleted, markQuizFunnelDismissed, normalizeQuizFunnelPathname, wasQuizFunnelAutoOpened, wasQuizFunnelCompleted, wasQuizFunnelDismissed, shouldShowQuizFunnelFab } from './constants';
20
+ export { QUIZ_FUNNEL_AUTO_OPENED_STORAGE_KEY, QUIZ_FUNNEL_BANNER_CODE, QUIZ_FUNNEL_INTRO_AB_TEST_ENABLED, QUIZ_FUNNEL_UTM_TERM, QUIZ_FUNNEL_UTM_SOURCE, QUIZ_FUNNEL_MESSENGER_UTM_PARAMS, QUIZ_FUNNEL_COMPLETED_STORAGE_KEY, QUIZ_FUNNEL_DISMISSED_STORAGE_KEY, QUIZ_FUNNEL_EXCLUDED_PATHS, QUIZ_FUNNEL_INTRO_IMAGE_URL, QUIZ_FUNNEL_MANAGER_LINKS, getQuizFunnelIntroOfferVariant, getQuizFunnelMetrikaOfferVariant, clearQuizFunnelCompleted, clearQuizFunnelDismissed, isQuizFunnelPathExcluded, markQuizFunnelAutoOpened, markQuizFunnelCompleted, markQuizFunnelDismissed, normalizeQuizFunnelPathname, wasQuizFunnelAutoOpened, wasQuizFunnelCompleted, wasQuizFunnelDismissed, shouldShowQuizFunnelFab } from './constants';
21
21
  export { QUIZ_FUNNEL_METRIKA_GOALS } from './constants';
22
22
  export { createTrackQuizFunnelMetrika, trackQuizFunnelMetrika } from './utils';
23
23
  export type { IQuizFunnelProps, TQuizFunnelMetrikaGoalsOverride } from './QuizFunnel.typed';
24
24
  export type { TQuizFunnelMetrikaGoalKey } from './constants';
25
- export type { IQuizTargetFunnel, IQuizTargetFunnelCrmPayload, IQuizTargetFunnelMessengerRedirects, IQuizTargetFunnelTildaSubmit, TQuizFunnelAnswersById, TQuizFunnelCrmValue, TQuizTargetFunnelId } from './QuizFunnel.typed';
25
+ export type { IQuizTargetFunnel, IQuizTargetFunnelCrmPayload, IQuizTargetFunnelFinalCopy, IQuizTargetFunnelMessengerRedirects, IQuizTargetFunnelTildaSubmit, TQuizFunnelAnswersById, TQuizFunnelCrmValue, TQuizTargetFunnelId } from './QuizFunnel.typed';
@@ -1,11 +1,10 @@
1
- import { IQuizTargetFunnel, TQuizFunnelAnswersById, TQuizTargetFunnelId } from '../QuizFunnel.typed';
2
- export declare const QUIZ_TARGET_FUNNELS: Record<TQuizTargetFunnelId, IQuizTargetFunnel>;
1
+ import { IQuizTargetFunnel, TQuizFunnelAnswersById } from '../QuizFunnel.typed';
2
+ export declare const QUIZ_TARGET_FUNNELS: Record<IQuizTargetFunnel['id'], IQuizTargetFunnel>;
3
3
  /**
4
- * Приоритет правил как в таблице маршрутизации:
5
- * 1. В3 = «Кредиты и долги»
6
- * 2. В1 = «Избавиться от долгов»
7
- * 3. В2 = 4 или 5, В1 5, В3 ≠ 5
8
- * 4. В1 = 4, В2 = 1–3, В3 ≠ 5
9
- * 5. В1 = 1–3, В2 = 1–3, В3 ≠ 5
4
+ * Приоритет правил ТЗ WEB FE:
5
+ * 1. В3 = 5 или В1 = 5 → Долговая разгрузка
6
+ * 2. иначе В2 = 4 или 5 → 7 способов
7
+ * 3. иначе В3 = 1 Экономика России (akcii_obligacii)
8
+ * 4. иначе ОФЗ (obligacionnaya_zarplata)
10
9
  */
11
10
  export declare const resolveQuizTargetFunnel: (answers: TQuizFunnelAnswersById) => IQuizTargetFunnel;
@@ -10,7 +10,7 @@ export declare const getQuizFunnelTildaUtmSearch: (search?: string) => string;
10
10
  export declare const getQuizFunnelFixedUtmParams: () => Record<string, string>;
11
11
  /** utm_term=quiz1, utm_source=quiz + опционально UTM со страницы (query-строка без ?) */
12
12
  export declare const appendQuizFunnelUtmTermToSearch: (utmSearch?: string) => string;
13
- /** extraParams для ссылок Telegram / VK / Max */
13
+ /** extraParams для ссылок Telegram / Max на финале (пакет ТЗ, сайт) */
14
14
  export declare const getQuizFunnelMessengerUtmParams: () => Record<string, string>;
15
15
  /** Добавить query к URL, hash сохраняется в конце */
16
16
  export declare const addQuizFunnelQueryToUrl: (url: string, query: string) => string;
@@ -20,8 +20,8 @@ export declare const addQuizFunnelQueryToUrl: (url: string, query: string) => st
20
20
  */
21
21
  export declare const addQuizFunnelUlidToStart: (url: string, ulid: string) => string;
22
22
  /**
23
- * Salebot: utm_source=quiz, utm_term=quiz1, ulid utm_medium.
24
- * Пример: …_1?utm_source=quiz&utm_medium={ulid}&utm_term=quiz1
23
+ * Salebot: UTM из extraParams (пакет ТЗ), ulid отдельный query,
24
+ * чтобы не затирать utm_medium=quiz.
25
25
  */
26
26
  export declare const isQuizFunnelSalebotMessengerUrl: (url: string) => boolean;
27
27
  export declare const buildQuizFunnelSalebotRedirectUrl: (baseUrl: string, params: Record<string, string>) => string;