@redneckz/wildless-cms-uni-blocks 0.14.938 → 0.14.940
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/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +26 -50
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/CashbackCalculator/CashbackCalculatorContent.d.ts +0 -2
- package/bundle/components/CashbackCalculator/useCashbackCalculator.d.ts +1 -1
- package/dist/components/ApplicationLeadForm/ApplicationLeadForm.js +3 -1
- package/dist/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
- package/dist/components/CashbackCalculator/CashbackCalculator.js +3 -3
- package/dist/components/CashbackCalculator/CashbackCalculator.js.map +1 -1
- package/dist/components/CashbackCalculator/CashbackCalculatorContent.d.ts +0 -2
- package/dist/components/CashbackCalculator/CashbackCalculatorResult.js +4 -3
- package/dist/components/CashbackCalculator/CashbackCalculatorResult.js.map +1 -1
- package/dist/components/CashbackCalculator/CashbackCategory.js +8 -8
- package/dist/components/CashbackCalculator/CashbackCategory.js.map +1 -1
- package/dist/components/CashbackCalculator/useCashbackCalculator.d.ts +1 -1
- package/dist/components/CashbackCalculator/useCashbackCalculator.js +4 -30
- package/dist/components/CashbackCalculator/useCashbackCalculator.js.map +1 -1
- package/dist/components/ContentPage/ContentPage.js +3 -3
- package/dist/components/ContentPage/ContentPage.js.map +1 -1
- package/dist/components/TabsLayout/TabsLayout.js +4 -2
- package/dist/components/TabsLayout/TabsLayout.js.map +1 -1
- package/lib/components/ApplicationLeadForm/ApplicationLeadForm.js +3 -1
- package/lib/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
- package/lib/components/CashbackCalculator/CashbackCalculator.fixture.d.ts +0 -1
- package/lib/components/CashbackCalculator/CashbackCalculator.js +3 -3
- package/lib/components/CashbackCalculator/CashbackCalculator.js.map +1 -1
- package/lib/components/CashbackCalculator/CashbackCalculatorContent.d.ts +0 -2
- package/lib/components/CashbackCalculator/CashbackCalculatorResult.js +4 -3
- package/lib/components/CashbackCalculator/CashbackCalculatorResult.js.map +1 -1
- package/lib/components/CashbackCalculator/CashbackCategory.js +8 -8
- package/lib/components/CashbackCalculator/CashbackCategory.js.map +1 -1
- package/lib/components/CashbackCalculator/useCashbackCalculator.d.ts +1 -1
- package/lib/components/CashbackCalculator/useCashbackCalculator.js +4 -30
- package/lib/components/CashbackCalculator/useCashbackCalculator.js.map +1 -1
- package/lib/components/ContentPage/ContentPage.js +3 -3
- package/lib/components/ContentPage/ContentPage.js.map +1 -1
- package/lib/components/TabsLayout/TabsLayout.js +4 -2
- package/lib/components/TabsLayout/TabsLayout.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +26 -50
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/CashbackCalculator/CashbackCalculatorContent.d.ts +0 -2
- package/mobile/bundle/components/CashbackCalculator/useCashbackCalculator.d.ts +1 -1
- package/mobile/dist/components/ApplicationLeadForm/ApplicationLeadForm.js +3 -1
- package/mobile/dist/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
- package/mobile/dist/components/CashbackCalculator/CashbackCalculator.js +3 -3
- package/mobile/dist/components/CashbackCalculator/CashbackCalculator.js.map +1 -1
- package/mobile/dist/components/CashbackCalculator/CashbackCalculatorContent.d.ts +0 -2
- package/mobile/dist/components/CashbackCalculator/CashbackCalculatorResult.js +4 -3
- package/mobile/dist/components/CashbackCalculator/CashbackCalculatorResult.js.map +1 -1
- package/mobile/dist/components/CashbackCalculator/CashbackCategory.js +8 -8
- package/mobile/dist/components/CashbackCalculator/CashbackCategory.js.map +1 -1
- package/mobile/dist/components/CashbackCalculator/useCashbackCalculator.d.ts +1 -1
- package/mobile/dist/components/CashbackCalculator/useCashbackCalculator.js +4 -30
- package/mobile/dist/components/CashbackCalculator/useCashbackCalculator.js.map +1 -1
- package/mobile/dist/components/ContentPage/ContentPage.js +3 -3
- package/mobile/dist/components/ContentPage/ContentPage.js.map +1 -1
- package/mobile/dist/components/TabsLayout/TabsLayout.js +4 -2
- package/mobile/dist/components/TabsLayout/TabsLayout.js.map +1 -1
- package/mobile/lib/components/ApplicationLeadForm/ApplicationLeadForm.js +3 -1
- package/mobile/lib/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
- package/mobile/lib/components/CashbackCalculator/CashbackCalculator.js +3 -3
- package/mobile/lib/components/CashbackCalculator/CashbackCalculator.js.map +1 -1
- package/mobile/lib/components/CashbackCalculator/CashbackCalculatorContent.d.ts +0 -2
- package/mobile/lib/components/CashbackCalculator/CashbackCalculatorResult.js +4 -3
- package/mobile/lib/components/CashbackCalculator/CashbackCalculatorResult.js.map +1 -1
- package/mobile/lib/components/CashbackCalculator/CashbackCategory.js +8 -8
- package/mobile/lib/components/CashbackCalculator/CashbackCategory.js.map +1 -1
- package/mobile/lib/components/CashbackCalculator/useCashbackCalculator.d.ts +1 -1
- package/mobile/lib/components/CashbackCalculator/useCashbackCalculator.js +4 -30
- package/mobile/lib/components/CashbackCalculator/useCashbackCalculator.js.map +1 -1
- package/mobile/lib/components/ContentPage/ContentPage.js +3 -3
- package/mobile/lib/components/ContentPage/ContentPage.js.map +1 -1
- package/mobile/lib/components/TabsLayout/TabsLayout.js +4 -2
- package/mobile/lib/components/TabsLayout/TabsLayout.js.map +1 -1
- package/mobile/src/components/ApplicationLeadForm/ApplicationLeadForm.tsx +3 -1
- package/mobile/src/components/CashbackCalculator/CashbackCalculator.tsx +4 -12
- package/mobile/src/components/CashbackCalculator/CashbackCalculatorContent.ts +0 -2
- package/mobile/src/components/CashbackCalculator/CashbackCalculatorResult.tsx +7 -11
- package/mobile/src/components/CashbackCalculator/CashbackCategory.tsx +11 -11
- package/mobile/src/components/CashbackCalculator/useCashbackCalculator.ts +4 -33
- package/mobile/src/components/ContentPage/ContentPage.tsx +10 -5
- package/mobile/src/components/TabsLayout/TabsLayout.tsx +7 -2
- package/package.json +1 -1
- package/src/components/ApplicationLeadForm/ApplicationLeadForm.tsx +3 -1
- package/src/components/CashbackCalculator/CashbackCalculator.fixture.mobile.tsx +1 -6
- package/src/components/CashbackCalculator/CashbackCalculator.fixture.tsx +0 -13
- package/src/components/CashbackCalculator/CashbackCalculator.tsx +4 -12
- package/src/components/CashbackCalculator/CashbackCalculatorContent.ts +0 -2
- package/src/components/CashbackCalculator/CashbackCalculatorResult.tsx +7 -11
- package/src/components/CashbackCalculator/CashbackCategory.tsx +11 -11
- package/src/components/CashbackCalculator/useCashbackCalculator.ts +4 -33
- package/src/components/ContentPage/ContentPage.tsx +10 -5
- package/src/components/TabsLayout/TabsLayout.tsx +7 -2
|
@@ -21,15 +21,7 @@ const INFO_BLOCK_HTML = `<p>Полученные баллы можно конв
|
|
|
21
21
|
interface CashbackCalculatorProps extends CashbackCalculatorContent, UniBlockProps {}
|
|
22
22
|
|
|
23
23
|
export const CashbackCalculator = JSX<CashbackCalculatorProps>(
|
|
24
|
-
({
|
|
25
|
-
maxInputRange = 300000,
|
|
26
|
-
image,
|
|
27
|
-
deleteImage,
|
|
28
|
-
infoImage,
|
|
29
|
-
isMultiple = false,
|
|
30
|
-
className = '',
|
|
31
|
-
...rest
|
|
32
|
-
}) => {
|
|
24
|
+
({ maxInputRange = 300000, image, deleteImage, infoImage, className = '', ...rest }) => {
|
|
33
25
|
const {
|
|
34
26
|
cashbacks,
|
|
35
27
|
categories,
|
|
@@ -37,7 +29,7 @@ export const CashbackCalculator = JSX<CashbackCalculatorProps>(
|
|
|
37
29
|
onChangeCashback,
|
|
38
30
|
onDeleteCashback,
|
|
39
31
|
onResetCashback,
|
|
40
|
-
} = useCashbackCalculator(
|
|
32
|
+
} = useCashbackCalculator();
|
|
41
33
|
|
|
42
34
|
const img = image?.src ? (
|
|
43
35
|
<Img image={image} className="hidden w-full @xl:block" imageClassName="justify-self-center" />
|
|
@@ -50,8 +42,8 @@ export const CashbackCalculator = JSX<CashbackCalculatorProps>(
|
|
|
50
42
|
{...rest}
|
|
51
43
|
>
|
|
52
44
|
<Headline
|
|
53
|
-
title="Калькулятор
|
|
54
|
-
description="
|
|
45
|
+
title="Калькулятор расчета баллов"
|
|
46
|
+
description="Можно выбрать не более 5 категорий, одна из них из повышенной категории"
|
|
55
47
|
headlineVersion="XL"
|
|
56
48
|
isEmbedded={true}
|
|
57
49
|
/>
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import { Heading } from '../../ui-kit/Heading/Heading';
|
|
3
|
+
import { RichText } from '../../ui-kit/RichText/RichText';
|
|
2
4
|
import { Text } from '../../ui-kit/Text/Text';
|
|
3
5
|
import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
|
|
4
6
|
import { toLocalNumberFormat } from '../../utils/toLocalNumberFormat';
|
|
5
|
-
import { Headline } from '../Headline/Headline';
|
|
6
7
|
import { type Cashback } from './CashbackCalculatorContent';
|
|
7
8
|
|
|
8
9
|
const MAX_MONTH_CASHBACK = 5000;
|
|
@@ -22,9 +23,9 @@ const ResultText = JSX<ResultTextProps>(({ text, value }) => (
|
|
|
22
23
|
<Text size="text-m" color="text-primary-text" font="font-light">
|
|
23
24
|
{text}
|
|
24
25
|
</Text>
|
|
25
|
-
<div className="w-full text-2xl bg-main-gray px-4 py-3 rounded-md">
|
|
26
|
-
value
|
|
27
|
-
|
|
26
|
+
<div className="w-full text-2xl bg-main-gray px-4 py-3 rounded-md">
|
|
27
|
+
{toLocalNumberFormat()(value)}
|
|
28
|
+
</div>
|
|
28
29
|
</div>
|
|
29
30
|
));
|
|
30
31
|
|
|
@@ -33,13 +34,8 @@ export const CashbackCalculatorResult = JSX<CashbackCalculatorResultProps>(({ ca
|
|
|
33
34
|
|
|
34
35
|
return (
|
|
35
36
|
<div className="w-full flex flex-col gap-lg">
|
|
36
|
-
<
|
|
37
|
-
|
|
38
|
-
description="Категории кешбэка предварительно"
|
|
39
|
-
headlineVersion="XS"
|
|
40
|
-
isEmbedded={true}
|
|
41
|
-
align="text-left"
|
|
42
|
-
/>
|
|
37
|
+
<Heading className="text-left" headingType="h5" as="h2" title="Результат расчета" />
|
|
38
|
+
<RichText __html='Категории покупок для расчета баллов предварительные.<br />Подробнее по условиям и начислениям можно узнать во вкладке <a href="#docs">документы</a>' />
|
|
43
39
|
<div className="flex flex-col @xs:flex-row gap-lg">
|
|
44
40
|
<ResultText text="Баллов в месяц" value={mounth} />
|
|
45
41
|
<ResultText text="Баллов в год" value={year} />
|
|
@@ -12,34 +12,34 @@ import { type Cashback } from './CashbackCalculatorContent';
|
|
|
12
12
|
|
|
13
13
|
const AllPercentCategories: Option[] = [
|
|
14
14
|
{
|
|
15
|
-
text: 'Категория
|
|
15
|
+
text: 'Категория 1,5%',
|
|
16
16
|
key: '1.5',
|
|
17
17
|
},
|
|
18
18
|
{
|
|
19
|
-
text: 'Категория
|
|
19
|
+
text: 'Категория 3%',
|
|
20
20
|
key: '3',
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
|
-
text: 'Категория
|
|
23
|
+
text: 'Категория 5%',
|
|
24
24
|
key: '5',
|
|
25
25
|
},
|
|
26
26
|
{
|
|
27
|
-
text: 'Категория
|
|
27
|
+
text: 'Категория 10%',
|
|
28
28
|
key: '10',
|
|
29
29
|
},
|
|
30
30
|
{
|
|
31
|
-
text: 'Категория
|
|
31
|
+
text: 'Категория 15%',
|
|
32
32
|
key: '15',
|
|
33
33
|
},
|
|
34
34
|
];
|
|
35
35
|
|
|
36
36
|
const PercentCategoriesWithoutIncreased: Option[] = [
|
|
37
37
|
{
|
|
38
|
-
text: 'Категория
|
|
38
|
+
text: 'Категория 1,5%',
|
|
39
39
|
key: '1.5',
|
|
40
40
|
},
|
|
41
41
|
{
|
|
42
|
-
text: 'Категория
|
|
42
|
+
text: 'Категория 3%',
|
|
43
43
|
key: '3',
|
|
44
44
|
},
|
|
45
45
|
];
|
|
@@ -84,13 +84,13 @@ export const CashbackCategory = JSX<CashbackCategoryProps>(
|
|
|
84
84
|
<div className="w-full space-y-m">
|
|
85
85
|
<div className="space-y-xs">
|
|
86
86
|
<Text size="text-m" color="text-primary-text" font="font-light">
|
|
87
|
-
Выберите категорию
|
|
87
|
+
Выберите категорию
|
|
88
88
|
</Text>
|
|
89
89
|
<div className="flex gap-m">
|
|
90
90
|
<Select
|
|
91
91
|
className="w-full"
|
|
92
92
|
isManualInput={isMainCashback}
|
|
93
|
-
placeholder="Выберите
|
|
93
|
+
placeholder="Выберите категорию"
|
|
94
94
|
options={getPercentCategories(isMainCashback, showIncreasedPercents)}
|
|
95
95
|
value={cashback.percent}
|
|
96
96
|
onChange={onChangePercent}
|
|
@@ -109,8 +109,8 @@ export const CashbackCategory = JSX<CashbackCategoryProps>(
|
|
|
109
109
|
</div>
|
|
110
110
|
{categories?.length && !isMainCashback ? (
|
|
111
111
|
<Select
|
|
112
|
-
label="Выберите
|
|
113
|
-
placeholder="Выберите
|
|
112
|
+
label="Выберите категорию покупок"
|
|
113
|
+
placeholder="Выберите категорию покупок"
|
|
114
114
|
options={categories}
|
|
115
115
|
value={currentCategory}
|
|
116
116
|
onChange={setCurrentCategory}
|
|
@@ -4,49 +4,20 @@ import { type DictionaryItem } from '../../retail/model/LeadFormData';
|
|
|
4
4
|
import { type Option } from '../../ui-kit/Select/Option';
|
|
5
5
|
import { type Cashback } from './CashbackCalculatorContent';
|
|
6
6
|
|
|
7
|
-
const DEFAULT_MULTIPLE_CASHBACK: Cashback[] = [
|
|
8
|
-
{
|
|
9
|
-
id: 0,
|
|
10
|
-
percent: {
|
|
11
|
-
text: 'Категория на кешбэк 1%',
|
|
12
|
-
key: '1',
|
|
13
|
-
},
|
|
14
|
-
sum: 5000,
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
id: 1,
|
|
18
|
-
percent: {
|
|
19
|
-
text: 'Категория на кешбэк 1,5%',
|
|
20
|
-
key: '1.5',
|
|
21
|
-
},
|
|
22
|
-
sum: 5000,
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
id: 2,
|
|
26
|
-
percent: {
|
|
27
|
-
text: 'Категория на кешбэк 1,5%',
|
|
28
|
-
key: '1.5',
|
|
29
|
-
},
|
|
30
|
-
sum: 5000,
|
|
31
|
-
},
|
|
32
|
-
];
|
|
33
|
-
|
|
34
7
|
const DEFAULT_CASHBACK: Cashback[] = [
|
|
35
8
|
{
|
|
36
9
|
id: 0,
|
|
37
10
|
percent: {
|
|
38
|
-
text: 'Категория
|
|
11
|
+
text: 'Категория 1% "На всё"',
|
|
39
12
|
key: '1',
|
|
40
13
|
},
|
|
41
14
|
sum: 5000,
|
|
42
15
|
},
|
|
43
16
|
];
|
|
44
17
|
|
|
45
|
-
export const useCashbackCalculator = (
|
|
18
|
+
export const useCashbackCalculator = () => {
|
|
46
19
|
const { data } = useLeadFormData('CASHBACK_CATEGORY');
|
|
47
|
-
const [cashbacks, setCashbacks] = useState<Cashback[]>(
|
|
48
|
-
isMultiple ? DEFAULT_MULTIPLE_CASHBACK : DEFAULT_CASHBACK,
|
|
49
|
-
);
|
|
20
|
+
const [cashbacks, setCashbacks] = useState<Cashback[]>(DEFAULT_CASHBACK);
|
|
50
21
|
|
|
51
22
|
const categories: Option[] =
|
|
52
23
|
data?.map((_: DictionaryItem) => ({
|
|
@@ -60,7 +31,7 @@ export const useCashbackCalculator = (isMultiple: boolean) => {
|
|
|
60
31
|
{
|
|
61
32
|
id: _[_.length - 1].id + 1,
|
|
62
33
|
percent: {
|
|
63
|
-
text: 'Категория
|
|
34
|
+
text: 'Категория 1,5%',
|
|
64
35
|
key: '1.5',
|
|
65
36
|
},
|
|
66
37
|
sum: 5000,
|
|
@@ -46,8 +46,13 @@ export const ContentPage = JSX<ContentPageProps>(
|
|
|
46
46
|
return (
|
|
47
47
|
<div data-theme={data.colorPalette || 'pc'}>
|
|
48
48
|
<section className={style('@container relative', data.style, className)}>
|
|
49
|
-
{
|
|
50
|
-
<div
|
|
49
|
+
{slots?.[HEADER_SLOT]?.length ? (
|
|
50
|
+
<div
|
|
51
|
+
className={style(
|
|
52
|
+
{ hidden: isFrame },
|
|
53
|
+
'relative z-10 mb-lg shadow-[0_8px_32px_0px_#00000014]',
|
|
54
|
+
)}
|
|
55
|
+
>
|
|
51
56
|
{renderBlocksList(slots?.[HEADER_SLOT], { ...options, slotName: HEADER_SLOT })}
|
|
52
57
|
</div>
|
|
53
58
|
) : null}
|
|
@@ -61,8 +66,8 @@ export const ContentPage = JSX<ContentPageProps>(
|
|
|
61
66
|
renderBlocksList(slots?.[FOOTER_SLOT], { ...options, slotName: FOOTER_SLOT })}
|
|
62
67
|
</div>
|
|
63
68
|
</section>
|
|
64
|
-
{
|
|
65
|
-
<div className=
|
|
69
|
+
{slots?.[STICKY_FOOTER_SLOT]?.length ? (
|
|
70
|
+
<div className={style({ hidden: isFrame }, 'fixed w-full bottom-0 left-0 z-[100]')}>
|
|
66
71
|
{renderBlocksList(slots?.[STICKY_FOOTER_SLOT], {
|
|
67
72
|
...options,
|
|
68
73
|
slotName: STICKY_FOOTER_SLOT,
|
|
@@ -71,7 +76,7 @@ export const ContentPage = JSX<ContentPageProps>(
|
|
|
71
76
|
) : null}
|
|
72
77
|
<DialogManager />
|
|
73
78
|
<PopupManager />
|
|
74
|
-
<CookiePopup __html={resolvedPageContent?.cookieContent?.__html} />
|
|
79
|
+
{!isFrame ? <CookiePopup __html={resolvedPageContent?.cookieContent?.__html} /> : null}
|
|
75
80
|
</div>
|
|
76
81
|
);
|
|
77
82
|
},
|
|
@@ -6,6 +6,7 @@ import { BlockWrapper } from '../../ui-kit/BlockWrapper';
|
|
|
6
6
|
import { type TabItemBase } from '../../ui-kit/TabsControl/TabItem';
|
|
7
7
|
import { UniBlock } from '../../UniBlock/UniBlock';
|
|
8
8
|
import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
|
|
9
|
+
import { isIFrame } from '../../utils/isIFrame';
|
|
9
10
|
import { style } from '../../utils/style';
|
|
10
11
|
import { renderTabsLayout } from './renderTabsLayout';
|
|
11
12
|
import { type GroupTab, type Tab, type TabsLayoutContent } from './TabsLayoutContent';
|
|
@@ -30,6 +31,7 @@ export const TabsLayout = UniBlock<TabsLayoutProps>(
|
|
|
30
31
|
}) => {
|
|
31
32
|
const id = getId(block || {});
|
|
32
33
|
const router = useRouter();
|
|
34
|
+
const isFrame = isIFrame();
|
|
33
35
|
const isEveryLink = tabs.every((_) => _?.type === 'link');
|
|
34
36
|
const query = new URLSearchParams(decodeURIComponent(globalThis?.location?.search || ''));
|
|
35
37
|
const tabId = getTabId(id);
|
|
@@ -75,7 +77,10 @@ export const TabsLayout = UniBlock<TabsLayoutProps>(
|
|
|
75
77
|
|
|
76
78
|
return (
|
|
77
79
|
<BlockWrapper
|
|
78
|
-
className={style(
|
|
80
|
+
className={style(
|
|
81
|
+
{ [STICKY_STYLE]: [isSticky, isEveryLink, !isFrame].every(Boolean) },
|
|
82
|
+
className,
|
|
83
|
+
)} // Sticky is only used for type links
|
|
79
84
|
defaultPadding="p-0"
|
|
80
85
|
block={block}
|
|
81
86
|
{...rest}
|
|
@@ -83,7 +88,7 @@ export const TabsLayout = UniBlock<TabsLayoutProps>(
|
|
|
83
88
|
{renderTabsLayout({
|
|
84
89
|
className: style({
|
|
85
90
|
'pb-1': [block?.slots, tabsType === 'default'].every(Boolean),
|
|
86
|
-
[STICKY_STYLE]: [isSticky, !isEveryLink].every(Boolean),
|
|
91
|
+
[STICKY_STYLE]: [isSticky, !isEveryLink, !isFrame].every(Boolean),
|
|
87
92
|
}),
|
|
88
93
|
items: getItems(tabs, tabsCounted),
|
|
89
94
|
activeItem,
|