@redneckz/wildless-cms-uni-blocks 0.14.1057 → 0.14.1059
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.
- package/bin/migration-scripts/0.14.1058.js +21 -0
- package/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +12 -12
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/model/LinkProps.d.ts +0 -2
- package/bundle/ui-kit/LinkButton/LinkButtonContent.d.ts +4 -0
- package/dist/model/LinkProps.d.ts +0 -2
- package/dist/ui-kit/LinkButton/LinkButton.js +9 -9
- package/dist/ui-kit/LinkButton/LinkButton.js.map +1 -1
- package/dist/ui-kit/LinkButton/LinkButtonContent.d.ts +4 -0
- package/dist/ui-kit/UserSurveyDialog/useUserSurveyDialog.js +2 -2
- package/dist/ui-kit/UserSurveyDialog/useUserSurveyDialog.js.map +1 -1
- package/lib/model/LinkProps.d.ts +0 -2
- package/lib/ui-kit/LinkButton/LinkButton.js +9 -9
- package/lib/ui-kit/LinkButton/LinkButton.js.map +1 -1
- package/lib/ui-kit/LinkButton/LinkButtonContent.d.ts +4 -0
- package/lib/ui-kit/UserSurveyDialog/useUserSurveyDialog.js +2 -2
- package/lib/ui-kit/UserSurveyDialog/useUserSurveyDialog.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +12 -12
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/model/LinkProps.d.ts +0 -2
- package/mobile/bundle/ui-kit/LinkButton/LinkButtonContent.d.ts +4 -0
- package/mobile/dist/model/LinkProps.d.ts +0 -2
- package/mobile/dist/ui-kit/LinkButton/LinkButton.js +9 -9
- package/mobile/dist/ui-kit/LinkButton/LinkButton.js.map +1 -1
- package/mobile/dist/ui-kit/LinkButton/LinkButtonContent.d.ts +4 -0
- package/mobile/dist/ui-kit/UserSurveyDialog/useUserSurveyDialog.js +2 -2
- package/mobile/dist/ui-kit/UserSurveyDialog/useUserSurveyDialog.js.map +1 -1
- package/mobile/lib/model/LinkProps.d.ts +0 -2
- package/mobile/lib/ui-kit/LinkButton/LinkButton.js +9 -9
- package/mobile/lib/ui-kit/LinkButton/LinkButton.js.map +1 -1
- package/mobile/lib/ui-kit/LinkButton/LinkButtonContent.d.ts +4 -0
- package/mobile/lib/ui-kit/UserSurveyDialog/useUserSurveyDialog.js +2 -2
- package/mobile/lib/ui-kit/UserSurveyDialog/useUserSurveyDialog.js.map +1 -1
- package/mobile/src/model/LinkProps.ts +0 -2
- package/mobile/src/ui-kit/LinkButton/LinkButton.tsx +11 -10
- package/mobile/src/ui-kit/LinkButton/LinkButtonContent.ts +4 -0
- package/mobile/src/ui-kit/UserSurveyDialog/useUserSurveyDialog.ts +2 -2
- package/package.json +1 -1
- package/src/components/ButtonsBlock/ButtonsBlock.fixture.tsx +2 -1
- package/src/model/LinkProps.ts +0 -2
- package/src/ui-kit/LinkButton/LinkButton.tsx +11 -10
- package/src/ui-kit/LinkButton/LinkButtonContent.ts +4 -0
- package/src/ui-kit/UserSurveyDialog/useUserSurveyDialog.ts +2 -2
|
@@ -14,8 +14,6 @@ export declare type Target = '' | '_self' | '_blank' | '_parent' | '_top';
|
|
|
14
14
|
export declare type HrefProps = {
|
|
15
15
|
/** @title URL (href) */
|
|
16
16
|
href?: string;
|
|
17
|
-
/** @title Дополнительные ссылки для A/B-тестирования */
|
|
18
|
-
additionalHrefs?: string[];
|
|
19
17
|
};
|
|
20
18
|
export declare type LinkCommonProps = HrefProps & {
|
|
21
19
|
/** @default "" */
|
|
@@ -6,6 +6,10 @@ export interface ButtonCommonContent extends LinkProps {
|
|
|
6
6
|
version?: LinkButtonVersion;
|
|
7
7
|
/** @title Метод */
|
|
8
8
|
method?: 'LINK' | 'POST';
|
|
9
|
+
/** @title Дополнительная ссылка для A/B-тестирования */
|
|
10
|
+
additionalHref?: string;
|
|
11
|
+
/** @title Вероятность перехода по дополнительной ссылке в % */
|
|
12
|
+
chance?: 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100;
|
|
9
13
|
}
|
|
10
14
|
/** @deprecated */
|
|
11
15
|
/**
|
|
@@ -14,8 +14,6 @@ export declare type Target = '' | '_self' | '_blank' | '_parent' | '_top';
|
|
|
14
14
|
export declare type HrefProps = {
|
|
15
15
|
/** @title URL (href) */
|
|
16
16
|
href?: string;
|
|
17
|
-
/** @title Дополнительные ссылки для A/B-тестирования */
|
|
18
|
-
additionalHrefs?: string[];
|
|
19
17
|
};
|
|
20
18
|
export declare type LinkCommonProps = HrefProps & {
|
|
21
19
|
/** @default "" */
|
|
@@ -11,15 +11,15 @@ const getDisabledButtonClasses_1 = require("./getDisabledButtonClasses");
|
|
|
11
11
|
const getRegularButtonClasses_1 = require("./getRegularButtonClasses");
|
|
12
12
|
const useFormSubmit_1 = require("./useFormSubmit");
|
|
13
13
|
/** @deprecated */
|
|
14
|
-
exports.LinkButton = (0, uni_jsx_1.JSX)(({ disabled, children, method = 'LINK', href, id,
|
|
14
|
+
exports.LinkButton = (0, uni_jsx_1.JSX)(({ disabled, children, method = 'LINK', href, id, additionalHref, chance, ...rest }) => {
|
|
15
15
|
const [currentLink, setCurrentLink] = (0, hooks_1.useState)();
|
|
16
16
|
const handleFormSubmit = (0, useFormSubmit_1.useFormSubmit)({ method, href });
|
|
17
17
|
const linksStore = (0, useLocalStore_1.useLocalStore)();
|
|
18
18
|
(0, hooks_1.useEffect)(() => {
|
|
19
|
-
|
|
19
|
+
additionalHref && saveLinksToStore({ linksStore, href, id, additionalHref, chance });
|
|
20
20
|
const adjustedHref = (linksStore.links || []).find((store) => store.id === id)?.lastLink;
|
|
21
21
|
setCurrentLink(adjustedHref ?? href);
|
|
22
|
-
}, [
|
|
22
|
+
}, [additionalHref, href]);
|
|
23
23
|
const link = (0, useLink_1.useLink)();
|
|
24
24
|
const adjustedProps = link({ onClick: handleFormSubmit, href: currentLink, ...rest });
|
|
25
25
|
const buttonInner = children ?? (0, jsx_runtime_1.jsx)(ButtonInner_1.ButtonInner, { ...adjustedProps });
|
|
@@ -27,22 +27,22 @@ exports.LinkButton = (0, uni_jsx_1.JSX)(({ disabled, children, method = 'LINK',
|
|
|
27
27
|
});
|
|
28
28
|
const RegularButton = (0, uni_jsx_1.JSX)(({ className = '', href, rel, target, ariaLabel, version, rounded, onClick, type, data, children, text, }) => ((0, jsx_runtime_1.jsx)("a", { className: (0, getRegularButtonClasses_1.getRegularButtonClasses)({ className, version, rounded }), href: href, rel: rel, target: target, "aria-label": ariaLabel || `Ссылка на ${text}`, role: href ? 'link' : 'button', onClick: onClick, type: type, ...(0, dataAttributes_1.getAspectsAttributes)(data), children: children })));
|
|
29
29
|
const DisabledButton = (0, uni_jsx_1.JSX)(({ className, ariaLabel, version, rounded, children }) => ((0, jsx_runtime_1.jsx)("button", { type: "button", "aria-disabled": "true", "aria-label": ariaLabel, tabIndex: -1, className: (0, getDisabledButtonClasses_1.getDisabledButtonClasses)({ className, rounded, version }), children: children })));
|
|
30
|
-
const getRandomHref = (href = '',
|
|
31
|
-
const
|
|
32
|
-
return
|
|
30
|
+
const getRandomHref = (href = '', additionalHref = '', chance = 50) => {
|
|
31
|
+
const randomNumber = Math.random() * 100;
|
|
32
|
+
return randomNumber < chance ? additionalHref : href;
|
|
33
33
|
};
|
|
34
34
|
// Отсчитываем 7 длей с текущей даты
|
|
35
35
|
const getTimeAfter7days = () => Date.now() + 7 * 24 * 60 * 60 * 1000;
|
|
36
36
|
// Сохраняем или заменяем рандомную ссылку в localStorage
|
|
37
|
-
const saveLinksToStore = ({ linksStore, id, href,
|
|
37
|
+
const saveLinksToStore = ({ linksStore, id, href, additionalHref, chance }) => {
|
|
38
38
|
const buttonLinkStore = (linksStore.links || []).find((store) => store.id === id);
|
|
39
39
|
// Если хранилища вообще нет
|
|
40
40
|
if (!linksStore.links) {
|
|
41
41
|
linksStore.links = [];
|
|
42
42
|
}
|
|
43
|
-
if ((!buttonLinkStore || buttonLinkStore.nextDueAt <= Date.now()) &&
|
|
43
|
+
if ((!buttonLinkStore || buttonLinkStore.nextDueAt <= Date.now()) && additionalHref) {
|
|
44
44
|
// Получаем рандомную ссылку
|
|
45
|
-
const randomHref = getRandomHref(href,
|
|
45
|
+
const randomHref = getRandomHref(href, additionalHref, chance);
|
|
46
46
|
// При наличии ссылки для этой кнопки в хранилище удаляем этот элемент из массива ссылок
|
|
47
47
|
const updatedLinks = linksStore.links?.filter((item) => item.id !== id);
|
|
48
48
|
// Добавляем новый элемент
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkButton.js","sourceRoot":"","sources":["../../../src/ui-kit/LinkButton/LinkButton.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,uDAAkE;AAClE,6EAA0E;AAC1E,iDAA8C;AAC9C,+DAAkE;AAClE,+CAA4C;AAC5C,yEAAsE;AACtE,uEAAoE;AAGpE,mDAAgD;
|
|
1
|
+
{"version":3,"file":"LinkButton.js","sourceRoot":"","sources":["../../../src/ui-kit/LinkButton/LinkButton.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,10 @@ export interface ButtonCommonContent extends LinkProps {
|
|
|
6
6
|
version?: LinkButtonVersion;
|
|
7
7
|
/** @title Метод */
|
|
8
8
|
method?: 'LINK' | 'POST';
|
|
9
|
+
/** @title Дополнительная ссылка для A/B-тестирования */
|
|
10
|
+
additionalHref?: string;
|
|
11
|
+
/** @title Вероятность перехода по дополнительной ссылке в % */
|
|
12
|
+
chance?: 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100;
|
|
9
13
|
}
|
|
10
14
|
/** @deprecated */
|
|
11
15
|
/**
|
|
@@ -18,7 +18,7 @@ const useUserSurveyDialog = (withoutTimer = false) => {
|
|
|
18
18
|
? Date.now() - Number.parseInt(sessionStore.surveyTimerStart)
|
|
19
19
|
: 0;
|
|
20
20
|
const isShowSurvey = !isSurveySkipped &&
|
|
21
|
-
!isOtherLanguagePortal &&
|
|
21
|
+
!isOtherLanguagePortal() &&
|
|
22
22
|
(!userSurveyStore.userSurvey || userSurveyStore.userSurvey?.nextDueAt <= Date.now());
|
|
23
23
|
const handleSkipSurvey = (0, hooks_1.useCallback)(() => {
|
|
24
24
|
sessionStore.isSurveySkipped = true;
|
|
@@ -60,6 +60,6 @@ const useUserSurveyDialog = (withoutTimer = false) => {
|
|
|
60
60
|
exports.useUserSurveyDialog = useUserSurveyDialog;
|
|
61
61
|
const isOtherLanguagePortal = () => {
|
|
62
62
|
const regexp = new RegExp('^/(cn|en)($|/.*)');
|
|
63
|
-
return regexp.test(globalThis
|
|
63
|
+
return regexp.test(globalThis?.location?.pathname);
|
|
64
64
|
};
|
|
65
65
|
//# sourceMappingURL=useUserSurveyDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUserSurveyDialog.js","sourceRoot":"","sources":["../../../src/ui-kit/UserSurveyDialog/useUserSurveyDialog.ts"],"names":[],"mappings":";;AAAA,uDAAqE;AACrE,6EAA0E;AAC1E,iFAA8E;AAC9E,2CAAwC;AACxC,0DAAuD;AACvD,yDAAsD;AAGtD,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAQ5B,4CAA4C;AACrC,MAAM,mBAAmB,GAAG,CAAC,YAAY,GAAG,KAAK,EAAE,EAAE;IAC1D,MAAM,gBAAgB,GAAG,IAAA,qBAAS,EAAC,mCAAgB,CAAC,CAAC;IACrD,MAAM,eAAe,GAAG,IAAA,6BAAa,GAAwB,CAAC;IAC9D,MAAM,YAAY,GAAG,IAAA,iCAAe,GAAoB,CAAC;IACzD,MAAM,WAAW,GAAG,YAAY,CAAC,aAAa,CAAC;IAC/C,MAAM,eAAe,GAAG,YAAY,CAAC,eAAe,CAAC;IACrD,MAAM,WAAW,GAAG,YAAY,CAAC,gBAAgB;QAC/C,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,gBAAgB,CAAC;QAC7D,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,YAAY,GAChB,CAAC,eAAe;QAChB,CAAC,qBAAqB;
|
|
1
|
+
{"version":3,"file":"useUserSurveyDialog.js","sourceRoot":"","sources":["../../../src/ui-kit/UserSurveyDialog/useUserSurveyDialog.ts"],"names":[],"mappings":";;AAAA,uDAAqE;AACrE,6EAA0E;AAC1E,iFAA8E;AAC9E,2CAAwC;AACxC,0DAAuD;AACvD,yDAAsD;AAGtD,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAQ5B,4CAA4C;AACrC,MAAM,mBAAmB,GAAG,CAAC,YAAY,GAAG,KAAK,EAAE,EAAE;IAC1D,MAAM,gBAAgB,GAAG,IAAA,qBAAS,EAAC,mCAAgB,CAAC,CAAC;IACrD,MAAM,eAAe,GAAG,IAAA,6BAAa,GAAwB,CAAC;IAC9D,MAAM,YAAY,GAAG,IAAA,iCAAe,GAAoB,CAAC;IACzD,MAAM,WAAW,GAAG,YAAY,CAAC,aAAa,CAAC;IAC/C,MAAM,eAAe,GAAG,YAAY,CAAC,eAAe,CAAC;IACrD,MAAM,WAAW,GAAG,YAAY,CAAC,gBAAgB;QAC/C,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,gBAAgB,CAAC;QAC7D,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,YAAY,GAChB,CAAC,eAAe;QAChB,CAAC,qBAAqB,EAAE;QACxB,CAAC,CAAC,eAAe,CAAC,UAAU,IAAI,eAAe,CAAC,UAAU,EAAE,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAEvF,MAAM,gBAAgB,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QACxC,YAAY,CAAC,eAAe,GAAG,IAAI,CAAC;IACtC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,oBAAoB,GAAG,IAAA,mBAAW,EAAC,CAAC,mBAAmB,GAAG,KAAK,EAAE,EAAE;QACvE,gBAAgB,CAAC,IAAI,CAAC;YACpB,aAAa,EAAE;gBACb,IAAI,EAAE,0CAA0C;aACjD;YACD,mBAAmB;YACnB,MAAM,EAAE,gBAAgB;SACzB,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,sBAAsB,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QAC9C,IAAI,YAAY,EAAE;YAChB,WAAW,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;YACzC,oBAAoB,CAAC,IAAI,CAAC,CAAC;SAC5B;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;IAEhC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,0GAA0G;QAC1G,IAAI,CAAC,YAAY,IAAI,YAAY,EAAE;YACjC,uDAAuD;YACvD,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE;gBAClC,YAAY,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;aACvD;YACD,wDAAwD;YACxD,MAAM,OAAO,GAAG,UAAU,CAAC,oBAAoB,EAAE,KAAK,GAAG,WAAW,CAAC,CAAC;YACtE,YAAY,CAAC,aAAa,GAAG,OAAO,CAAC;YAErC,OAAO,GAAG,EAAE;gBACV,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,YAAY,CAAC,aAAa,GAAG,IAAI,CAAC;YACpC,CAAC,CAAC;SACH;QAED,OAAO,WAAI,CAAC;IACd,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,OAAO,sBAAsB,CAAC;AAChC,CAAC,CAAC;AAxDW,QAAA,mBAAmB,uBAwD9B;AAEF,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACjC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAE9C,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AACrD,CAAC,CAAC"}
|
package/lib/model/LinkProps.d.ts
CHANGED
|
@@ -14,8 +14,6 @@ export declare type Target = '' | '_self' | '_blank' | '_parent' | '_top';
|
|
|
14
14
|
export declare type HrefProps = {
|
|
15
15
|
/** @title URL (href) */
|
|
16
16
|
href?: string;
|
|
17
|
-
/** @title Дополнительные ссылки для A/B-тестирования */
|
|
18
|
-
additionalHrefs?: string[];
|
|
19
17
|
};
|
|
20
18
|
export declare type LinkCommonProps = HrefProps & {
|
|
21
19
|
/** @default "" */
|
|
@@ -9,15 +9,15 @@ import { getDisabledButtonClasses } from './getDisabledButtonClasses.js';
|
|
|
9
9
|
import { getRegularButtonClasses } from './getRegularButtonClasses.js';
|
|
10
10
|
import { useFormSubmit } from './useFormSubmit.js';
|
|
11
11
|
/** @deprecated */
|
|
12
|
-
export const LinkButton = JSX(({ disabled, children, method = 'LINK', href, id,
|
|
12
|
+
export const LinkButton = JSX(({ disabled, children, method = 'LINK', href, id, additionalHref, chance, ...rest }) => {
|
|
13
13
|
const [currentLink, setCurrentLink] = useState();
|
|
14
14
|
const handleFormSubmit = useFormSubmit({ method, href });
|
|
15
15
|
const linksStore = useLocalStore();
|
|
16
16
|
useEffect(() => {
|
|
17
|
-
|
|
17
|
+
additionalHref && saveLinksToStore({ linksStore, href, id, additionalHref, chance });
|
|
18
18
|
const adjustedHref = (linksStore.links || []).find((store) => store.id === id)?.lastLink;
|
|
19
19
|
setCurrentLink(adjustedHref ?? href);
|
|
20
|
-
}, [
|
|
20
|
+
}, [additionalHref, href]);
|
|
21
21
|
const link = useLink();
|
|
22
22
|
const adjustedProps = link({ onClick: handleFormSubmit, href: currentLink, ...rest });
|
|
23
23
|
const buttonInner = children ?? _jsx(ButtonInner, { ...adjustedProps });
|
|
@@ -25,22 +25,22 @@ export const LinkButton = JSX(({ disabled, children, method = 'LINK', href, id,
|
|
|
25
25
|
});
|
|
26
26
|
const RegularButton = JSX(({ className = '', href, rel, target, ariaLabel, version, rounded, onClick, type, data, children, text, }) => (_jsx("a", { className: getRegularButtonClasses({ className, version, rounded }), href: href, rel: rel, target: target, "aria-label": ariaLabel || `Ссылка на ${text}`, role: href ? 'link' : 'button', onClick: onClick, type: type, ...getAspectsAttributes(data), children: children })));
|
|
27
27
|
const DisabledButton = JSX(({ className, ariaLabel, version, rounded, children }) => (_jsx("button", { type: "button", "aria-disabled": "true", "aria-label": ariaLabel, tabIndex: -1, className: getDisabledButtonClasses({ className, rounded, version }), children: children })));
|
|
28
|
-
const getRandomHref = (href = '',
|
|
29
|
-
const
|
|
30
|
-
return
|
|
28
|
+
const getRandomHref = (href = '', additionalHref = '', chance = 50) => {
|
|
29
|
+
const randomNumber = Math.random() * 100;
|
|
30
|
+
return randomNumber < chance ? additionalHref : href;
|
|
31
31
|
};
|
|
32
32
|
// Отсчитываем 7 длей с текущей даты
|
|
33
33
|
const getTimeAfter7days = () => Date.now() + 7 * 24 * 60 * 60 * 1000;
|
|
34
34
|
// Сохраняем или заменяем рандомную ссылку в localStorage
|
|
35
|
-
const saveLinksToStore = ({ linksStore, id, href,
|
|
35
|
+
const saveLinksToStore = ({ linksStore, id, href, additionalHref, chance }) => {
|
|
36
36
|
const buttonLinkStore = (linksStore.links || []).find((store) => store.id === id);
|
|
37
37
|
// Если хранилища вообще нет
|
|
38
38
|
if (!linksStore.links) {
|
|
39
39
|
linksStore.links = [];
|
|
40
40
|
}
|
|
41
|
-
if ((!buttonLinkStore || buttonLinkStore.nextDueAt <= Date.now()) &&
|
|
41
|
+
if ((!buttonLinkStore || buttonLinkStore.nextDueAt <= Date.now()) && additionalHref) {
|
|
42
42
|
// Получаем рандомную ссылку
|
|
43
|
-
const randomHref = getRandomHref(href,
|
|
43
|
+
const randomHref = getRandomHref(href, additionalHref, chance);
|
|
44
44
|
// При наличии ссылки для этой кнопки в хранилище удаляем этот элемент из массива ссылок
|
|
45
45
|
const updatedLinks = linksStore.links?.filter((item) => item.id !== id);
|
|
46
46
|
// Добавляем новый элемент
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkButton.js","sourceRoot":"","sources":["../../../src/ui-kit/LinkButton/LinkButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"LinkButton.js","sourceRoot":"","sources":["../../../src/ui-kit/LinkButton/LinkButton.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,10 @@ export interface ButtonCommonContent extends LinkProps {
|
|
|
6
6
|
version?: LinkButtonVersion;
|
|
7
7
|
/** @title Метод */
|
|
8
8
|
method?: 'LINK' | 'POST';
|
|
9
|
+
/** @title Дополнительная ссылка для A/B-тестирования */
|
|
10
|
+
additionalHref?: string;
|
|
11
|
+
/** @title Вероятность перехода по дополнительной ссылке в % */
|
|
12
|
+
chance?: 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100;
|
|
9
13
|
}
|
|
10
14
|
/** @deprecated */
|
|
11
15
|
/**
|
|
@@ -16,7 +16,7 @@ export const useUserSurveyDialog = (withoutTimer = false) => {
|
|
|
16
16
|
? Date.now() - Number.parseInt(sessionStore.surveyTimerStart)
|
|
17
17
|
: 0;
|
|
18
18
|
const isShowSurvey = !isSurveySkipped &&
|
|
19
|
-
!isOtherLanguagePortal &&
|
|
19
|
+
!isOtherLanguagePortal() &&
|
|
20
20
|
(!userSurveyStore.userSurvey || userSurveyStore.userSurvey?.nextDueAt <= Date.now());
|
|
21
21
|
const handleSkipSurvey = useCallback(() => {
|
|
22
22
|
sessionStore.isSurveySkipped = true;
|
|
@@ -57,6 +57,6 @@ export const useUserSurveyDialog = (withoutTimer = false) => {
|
|
|
57
57
|
};
|
|
58
58
|
const isOtherLanguagePortal = () => {
|
|
59
59
|
const regexp = new RegExp('^/(cn|en)($|/.*)');
|
|
60
|
-
return regexp.test(globalThis
|
|
60
|
+
return regexp.test(globalThis?.location?.pathname);
|
|
61
61
|
};
|
|
62
62
|
//# sourceMappingURL=useUserSurveyDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUserSurveyDialog.js","sourceRoot":"","sources":["../../../src/ui-kit/UserSurveyDialog/useUserSurveyDialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAQ5B,4CAA4C;AAC5C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,YAAY,GAAG,KAAK,EAAE,EAAE;IAC1D,MAAM,gBAAgB,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACrD,MAAM,eAAe,GAAG,aAAa,EAAwB,CAAC;IAC9D,MAAM,YAAY,GAAG,eAAe,EAAoB,CAAC;IACzD,MAAM,WAAW,GAAG,YAAY,CAAC,aAAa,CAAC;IAC/C,MAAM,eAAe,GAAG,YAAY,CAAC,eAAe,CAAC;IACrD,MAAM,WAAW,GAAG,YAAY,CAAC,gBAAgB;QAC/C,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,gBAAgB,CAAC;QAC7D,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,YAAY,GAChB,CAAC,eAAe;QAChB,CAAC,qBAAqB;
|
|
1
|
+
{"version":3,"file":"useUserSurveyDialog.js","sourceRoot":"","sources":["../../../src/ui-kit/UserSurveyDialog/useUserSurveyDialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAQ5B,4CAA4C;AAC5C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,YAAY,GAAG,KAAK,EAAE,EAAE;IAC1D,MAAM,gBAAgB,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACrD,MAAM,eAAe,GAAG,aAAa,EAAwB,CAAC;IAC9D,MAAM,YAAY,GAAG,eAAe,EAAoB,CAAC;IACzD,MAAM,WAAW,GAAG,YAAY,CAAC,aAAa,CAAC;IAC/C,MAAM,eAAe,GAAG,YAAY,CAAC,eAAe,CAAC;IACrD,MAAM,WAAW,GAAG,YAAY,CAAC,gBAAgB;QAC/C,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,gBAAgB,CAAC;QAC7D,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,YAAY,GAChB,CAAC,eAAe;QAChB,CAAC,qBAAqB,EAAE;QACxB,CAAC,CAAC,eAAe,CAAC,UAAU,IAAI,eAAe,CAAC,UAAU,EAAE,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAEvF,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;QACxC,YAAY,CAAC,eAAe,GAAG,IAAI,CAAC;IACtC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,oBAAoB,GAAG,WAAW,CAAC,CAAC,mBAAmB,GAAG,KAAK,EAAE,EAAE;QACvE,gBAAgB,CAAC,IAAI,CAAC;YACpB,aAAa,EAAE;gBACb,IAAI,EAAE,0CAA0C;aACjD;YACD,mBAAmB;YACnB,MAAM,EAAE,gBAAgB;SACzB,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,sBAAsB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9C,IAAI,YAAY,EAAE;YAChB,WAAW,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;YACzC,oBAAoB,CAAC,IAAI,CAAC,CAAC;SAC5B;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;IAEhC,SAAS,CAAC,GAAG,EAAE;QACb,0GAA0G;QAC1G,IAAI,CAAC,YAAY,IAAI,YAAY,EAAE;YACjC,uDAAuD;YACvD,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE;gBAClC,YAAY,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;aACvD;YACD,wDAAwD;YACxD,MAAM,OAAO,GAAG,UAAU,CAAC,oBAAoB,EAAE,KAAK,GAAG,WAAW,CAAC,CAAC;YACtE,YAAY,CAAC,aAAa,GAAG,OAAO,CAAC;YAErC,OAAO,GAAG,EAAE;gBACV,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,YAAY,CAAC,aAAa,GAAG,IAAI,CAAC;YACpC,CAAC,CAAC;SACH;QAED,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,OAAO,sBAAsB,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACjC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAE9C,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AACrD,CAAC,CAAC"}
|
|
@@ -714,15 +714,15 @@
|
|
|
714
714
|
}, [method, href]);
|
|
715
715
|
|
|
716
716
|
/** @deprecated */
|
|
717
|
-
const LinkButton = JSX(({ disabled, children, method = 'LINK', href, id,
|
|
717
|
+
const LinkButton = JSX(({ disabled, children, method = 'LINK', href, id, additionalHref, chance, ...rest }) => {
|
|
718
718
|
const [currentLink, setCurrentLink] = useState();
|
|
719
719
|
const handleFormSubmit = useFormSubmit({ method, href });
|
|
720
720
|
const linksStore = useLocalStore();
|
|
721
721
|
useEffect(() => {
|
|
722
|
-
|
|
722
|
+
additionalHref && saveLinksToStore({ linksStore, href, id, additionalHref, chance });
|
|
723
723
|
const adjustedHref = (linksStore.links || []).find((store) => store.id === id)?.lastLink;
|
|
724
724
|
setCurrentLink(adjustedHref ?? href);
|
|
725
|
-
}, [
|
|
725
|
+
}, [additionalHref, href]);
|
|
726
726
|
const link = useLink();
|
|
727
727
|
const adjustedProps = link({ onClick: handleFormSubmit, href: currentLink, ...rest });
|
|
728
728
|
const buttonInner = children ?? jsx(ButtonInner, { ...adjustedProps });
|
|
@@ -730,22 +730,22 @@
|
|
|
730
730
|
});
|
|
731
731
|
const RegularButton = JSX(({ className = '', href, rel, target, ariaLabel, version, rounded, onClick, type, data, children, text, }) => (jsx("a", { className: getRegularButtonClasses({ className, version, rounded }), href: href, rel: rel, target: target, "aria-label": ariaLabel || `Ссылка на ${text}`, role: href ? 'link' : 'button', onClick: onClick, type: type, ...getAspectsAttributes(data), children: children })));
|
|
732
732
|
const DisabledButton = JSX(({ className, ariaLabel, version, rounded, children }) => (jsx("button", { type: "button", "aria-disabled": "true", "aria-label": ariaLabel, tabIndex: -1, className: getDisabledButtonClasses({ className, rounded, version }), children: children })));
|
|
733
|
-
const getRandomHref = (href = '',
|
|
734
|
-
const
|
|
735
|
-
return
|
|
733
|
+
const getRandomHref = (href = '', additionalHref = '', chance = 50) => {
|
|
734
|
+
const randomNumber = Math.random() * 100;
|
|
735
|
+
return randomNumber < chance ? additionalHref : href;
|
|
736
736
|
};
|
|
737
737
|
// Отсчитываем 7 длей с текущей даты
|
|
738
738
|
const getTimeAfter7days = () => Date.now() + 7 * 24 * 60 * 60 * 1000;
|
|
739
739
|
// Сохраняем или заменяем рандомную ссылку в localStorage
|
|
740
|
-
const saveLinksToStore = ({ linksStore, id, href,
|
|
740
|
+
const saveLinksToStore = ({ linksStore, id, href, additionalHref, chance }) => {
|
|
741
741
|
const buttonLinkStore = (linksStore.links || []).find((store) => store.id === id);
|
|
742
742
|
// Если хранилища вообще нет
|
|
743
743
|
if (!linksStore.links) {
|
|
744
744
|
linksStore.links = [];
|
|
745
745
|
}
|
|
746
|
-
if ((!buttonLinkStore || buttonLinkStore.nextDueAt <= Date.now()) &&
|
|
746
|
+
if ((!buttonLinkStore || buttonLinkStore.nextDueAt <= Date.now()) && additionalHref) {
|
|
747
747
|
// Получаем рандомную ссылку
|
|
748
|
-
const randomHref = getRandomHref(href,
|
|
748
|
+
const randomHref = getRandomHref(href, additionalHref, chance);
|
|
749
749
|
// При наличии ссылки для этой кнопки в хранилище удаляем этот элемент из массива ссылок
|
|
750
750
|
const updatedLinks = linksStore.links?.filter((item) => item.id !== id);
|
|
751
751
|
// Добавляем новый элемент
|
|
@@ -2049,7 +2049,7 @@
|
|
|
2049
2049
|
? Date.now() - Number.parseInt(sessionStore.surveyTimerStart)
|
|
2050
2050
|
: 0;
|
|
2051
2051
|
const isShowSurvey = !isSurveySkipped &&
|
|
2052
|
-
!isOtherLanguagePortal &&
|
|
2052
|
+
!isOtherLanguagePortal() &&
|
|
2053
2053
|
(!userSurveyStore.userSurvey || userSurveyStore.userSurvey?.nextDueAt <= Date.now());
|
|
2054
2054
|
const handleSkipSurvey = useCallback(() => {
|
|
2055
2055
|
sessionStore.isSurveySkipped = true;
|
|
@@ -2090,7 +2090,7 @@
|
|
|
2090
2090
|
};
|
|
2091
2091
|
const isOtherLanguagePortal = () => {
|
|
2092
2092
|
const regexp = new RegExp('^/(cn|en)($|/.*)');
|
|
2093
|
-
return regexp.test(globalThis
|
|
2093
|
+
return regexp.test(globalThis?.location?.pathname);
|
|
2094
2094
|
};
|
|
2095
2095
|
|
|
2096
2096
|
const SERVICE_TYPES = [{ key: 'ULTRASERVICE', text: 'Ультра' }];
|
|
@@ -14588,7 +14588,7 @@
|
|
|
14588
14588
|
slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
|
|
14589
14589
|
});
|
|
14590
14590
|
|
|
14591
|
-
const packageVersion = "0.14.
|
|
14591
|
+
const packageVersion = "0.14.1058";
|
|
14592
14592
|
|
|
14593
14593
|
exports.Blocks = Blocks;
|
|
14594
14594
|
exports.ContentPage = ContentPage;
|