@redneckz/wildless-cms-uni-blocks 0.14.119 → 0.14.121
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 +8 -8
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/ui-kit/BaseFiltration/BaseFiltrationContent.d.ts +6 -22
- package/bundle/ui-kit/BaseFiltration/renderFiltrationForm.d.ts +2 -2
- package/bundle/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.d.ts +3 -7
- package/dist/components/Footer/Contacts.js +5 -4
- package/dist/components/Footer/Contacts.js.map +1 -1
- package/dist/ui-kit/BaseFiltration/BaseFiltrationContent.d.ts +6 -22
- package/dist/ui-kit/BaseFiltration/renderFiltrationForm.d.ts +2 -2
- package/dist/ui-kit/BaseFiltration/renderFiltrationForm.js +1 -1
- package/dist/ui-kit/BaseFiltration/renderFiltrationForm.js.map +1 -1
- package/dist/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.d.ts +3 -7
- package/dist/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js +2 -2
- package/dist/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js.map +1 -1
- package/lib/components/Footer/Contacts.js +5 -4
- package/lib/components/Footer/Contacts.js.map +1 -1
- package/lib/ui-kit/BaseFiltration/BaseFiltrationContent.d.ts +6 -22
- package/lib/ui-kit/BaseFiltration/renderFiltrationForm.d.ts +2 -2
- package/lib/ui-kit/BaseFiltration/renderFiltrationForm.js +1 -1
- package/lib/ui-kit/BaseFiltration/renderFiltrationForm.js.map +1 -1
- package/lib/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.d.ts +3 -7
- package/lib/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js +2 -2
- package/lib/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +8 -8
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/ui-kit/BaseFiltration/BaseFiltrationContent.d.ts +6 -22
- package/mobile/bundle/ui-kit/BaseFiltration/renderFiltrationForm.d.ts +2 -2
- package/mobile/bundle/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.d.ts +3 -7
- package/mobile/dist/components/Footer/Contacts.js +5 -4
- package/mobile/dist/components/Footer/Contacts.js.map +1 -1
- package/mobile/dist/ui-kit/BaseFiltration/BaseFiltrationContent.d.ts +6 -22
- package/mobile/dist/ui-kit/BaseFiltration/renderFiltrationForm.d.ts +2 -2
- package/mobile/dist/ui-kit/BaseFiltration/renderFiltrationForm.js +1 -1
- package/mobile/dist/ui-kit/BaseFiltration/renderFiltrationForm.js.map +1 -1
- package/mobile/dist/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.d.ts +3 -7
- package/mobile/dist/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js +2 -2
- package/mobile/dist/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js.map +1 -1
- package/mobile/lib/components/Footer/Contacts.js +5 -4
- package/mobile/lib/components/Footer/Contacts.js.map +1 -1
- package/mobile/lib/ui-kit/BaseFiltration/BaseFiltrationContent.d.ts +6 -22
- package/mobile/lib/ui-kit/BaseFiltration/renderFiltrationForm.d.ts +2 -2
- package/mobile/lib/ui-kit/BaseFiltration/renderFiltrationForm.js +1 -1
- package/mobile/lib/ui-kit/BaseFiltration/renderFiltrationForm.js.map +1 -1
- package/mobile/lib/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.d.ts +3 -7
- package/mobile/lib/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js +2 -2
- package/mobile/lib/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js.map +1 -1
- package/mobile/src/components/DepositFiltration/DepositFiltration.example.json +2 -1
- package/mobile/src/components/Footer/Contacts.tsx +14 -9
- package/mobile/src/ui-kit/BaseFiltration/BaseFiltrationContent.ts +6 -24
- package/mobile/src/ui-kit/BaseFiltration/renderFiltrationForm.tsx +6 -3
- package/mobile/src/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.tsx +6 -11
- package/package.json +1 -1
- package/src/components/DepositFiltration/DepositFiltration.example.json +2 -1
- package/src/components/DepositFiltration/DepositFiltration.fixture.tsx +1 -0
- package/src/components/Footer/Contacts.tsx +14 -9
- package/src/ui-kit/BaseFiltration/BaseFiltrationContent.ts +6 -24
- package/src/ui-kit/BaseFiltration/renderFiltrationForm.tsx +6 -3
- package/src/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.tsx +6 -11
|
@@ -12,16 +12,6 @@ declare type Enum = string[];
|
|
|
12
12
|
* @title Имена
|
|
13
13
|
*/
|
|
14
14
|
declare type EnumNames = string[];
|
|
15
|
-
export declare type StringEnum = {
|
|
16
|
-
title?: Title;
|
|
17
|
-
/**
|
|
18
|
-
* @default string
|
|
19
|
-
* @hidden
|
|
20
|
-
*/
|
|
21
|
-
type?: 'string';
|
|
22
|
-
enum?: Enum;
|
|
23
|
-
enumNames?: EnumNames;
|
|
24
|
-
};
|
|
25
15
|
export declare type StringArray = {
|
|
26
16
|
title?: Title;
|
|
27
17
|
/**
|
|
@@ -29,6 +19,10 @@ export declare type StringArray = {
|
|
|
29
19
|
* @hidden
|
|
30
20
|
*/
|
|
31
21
|
type?: 'array';
|
|
22
|
+
/** @title Минимальное количество */
|
|
23
|
+
minItems?: number;
|
|
24
|
+
/** @title Максимальное количество */
|
|
25
|
+
maxItems?: number;
|
|
32
26
|
/** @title */
|
|
33
27
|
items?: {
|
|
34
28
|
/**
|
|
@@ -39,6 +33,8 @@ export declare type StringArray = {
|
|
|
39
33
|
enum?: Enum;
|
|
40
34
|
enumNames?: EnumNames;
|
|
41
35
|
};
|
|
36
|
+
/** @title В подборщике выбирается только одна опция */
|
|
37
|
+
single?: boolean;
|
|
42
38
|
};
|
|
43
39
|
export declare type NumberValue = {
|
|
44
40
|
title?: Title;
|
|
@@ -63,18 +59,6 @@ export declare type NumberRange = {
|
|
|
63
59
|
max?: NumberValue;
|
|
64
60
|
};
|
|
65
61
|
};
|
|
66
|
-
export declare type FiltrationSchema = {
|
|
67
|
-
/** @title Валюта */
|
|
68
|
-
currency?: StringArray;
|
|
69
|
-
/** @title Опции */
|
|
70
|
-
options?: StringArray;
|
|
71
|
-
/** @title Выплата процентов */
|
|
72
|
-
percents?: StringArray;
|
|
73
|
-
/** @hidden */
|
|
74
|
-
sum?: NumberValue;
|
|
75
|
-
/** @hidden */
|
|
76
|
-
period?: NumberRange;
|
|
77
|
-
};
|
|
78
62
|
/**
|
|
79
63
|
* @title Кнопка сброса
|
|
80
64
|
*/
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { type FormFieldRegisterer } from '../../hooks/useForm';
|
|
3
3
|
import { type VNode } from '../../model/VNode';
|
|
4
|
-
import { type BaseFiltrationInnerContent, type NumberRange, type NumberValue, type StringArray
|
|
5
|
-
declare type SchemaItem = StringArray |
|
|
4
|
+
import { type BaseFiltrationInnerContent, type NumberRange, type NumberValue, type StringArray } from './BaseFiltrationContent';
|
|
5
|
+
declare type SchemaItem = StringArray | NumberRange | NumberValue;
|
|
6
6
|
declare type FiltrationSchema = Record<string, SchemaItem>;
|
|
7
7
|
interface RenderFiltrationFormProps {
|
|
8
8
|
field: FormFieldRegisterer<any>;
|
|
@@ -3,13 +3,9 @@ declare type SlideCheckboxGroupItem = {
|
|
|
3
3
|
value: string;
|
|
4
4
|
title: string;
|
|
5
5
|
};
|
|
6
|
-
interface SlideCheckboxGroupProps extends ControlProps<string> {
|
|
7
|
-
multiple
|
|
6
|
+
interface SlideCheckboxGroupProps extends ControlProps<string[]> {
|
|
7
|
+
multiple?: boolean;
|
|
8
8
|
items?: SlideCheckboxGroupItem[];
|
|
9
9
|
}
|
|
10
|
-
|
|
11
|
-
multiple: true;
|
|
12
|
-
items?: SlideCheckboxGroupItem[];
|
|
13
|
-
}
|
|
14
|
-
export declare const SlideCheckboxGroup: import("@redneckz/uni-jsx").UNIComponent<SlideCheckboxGroupProps | MultipleSlideCheckboxGroupProps, any, any>;
|
|
10
|
+
export declare const SlideCheckboxGroup: import("@redneckz/uni-jsx").UNIComponent<SlideCheckboxGroupProps, any, any>;
|
|
15
11
|
export {};
|
|
@@ -3,16 +3,17 @@ exports.Contacts = void 0;
|
|
|
3
3
|
const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
|
|
4
4
|
const uni_jsx_1 = require("@redneckz/uni-jsx");
|
|
5
5
|
const LinkButton_1 = require("../../ui-kit/LinkButton/LinkButton");
|
|
6
|
+
const Paragraph_1 = require("../../ui-kit/Paragraph/Paragraph");
|
|
6
7
|
const Text_1 = require("../../ui-kit/Text/Text");
|
|
7
8
|
exports.Contacts = (0, uni_jsx_1.JSX)(({ className = '', items }) => ((0, jsx_runtime_1.jsxs)("div", { className: className, children: [items?.length ? items.map(renderContactsGroup) : null, (0, jsx_runtime_1.jsx)(LinkButton_1.LinkButton, { version: "primary", className: "w-full", href: "https://old.rshb.ru/feedback/question/", target: "_blank", ariaLabel: "\u041E\u0431\u0440\u0430\u0442\u043D\u0430\u044F \u0441\u0432\u044F\u0437\u044C", text: "\u041E\u0431\u0440\u0430\u0442\u043D\u0430\u044F \u0441\u0432\u044F\u0437\u044C" })] })));
|
|
8
|
-
const renderContactsGroup = (item, i) => ((0, jsx_runtime_1.jsxs)("div", { className: "mb-m", children: [(0, jsx_runtime_1.jsx)("div", {
|
|
9
|
-
const renderContact = (item, index) => ((0, jsx_runtime_1.jsxs)("div", { className: "
|
|
9
|
+
const renderContactsGroup = (item, i) => ((0, jsx_runtime_1.jsxs)("div", { className: "mb-m space-y-m", children: [(0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)(Text_1.Text, { size: "text-l", font: "font-medium", children: item?.title }) }), (0, jsx_runtime_1.jsx)("div", { className: "space-y-m", children: item.items?.map(renderContact) })] }, String(i)));
|
|
10
|
+
const renderContact = (item, index) => ((0, jsx_runtime_1.jsxs)("div", { className: "space-y-2xs", children: [(0, jsx_runtime_1.jsx)("div", { children: renderText(item.type, item.text) }), (0, jsx_runtime_1.jsx)(Paragraph_1.Paragraph, { size: "text-s", font: "font-light", color: "text-secondary-text", children: item.description })] }, String(index)));
|
|
10
11
|
const renderText = (type, text = '') => {
|
|
11
12
|
switch (type) {
|
|
12
13
|
case 'tel':
|
|
13
|
-
return ((0, jsx_runtime_1.jsx)("a", { className: "text-
|
|
14
|
+
return ((0, jsx_runtime_1.jsx)("a", { className: "text-primary-text hover:text-primary-main no-underline", href: `tel:${formatTel(text)}`, children: (0, jsx_runtime_1.jsx)(Text_1.Text, { size: "text-h6", children: text }) }));
|
|
14
15
|
case 'email':
|
|
15
|
-
return ((0, jsx_runtime_1.jsx)("a", { className: "
|
|
16
|
+
return ((0, jsx_runtime_1.jsx)("a", { className: "no-underline", href: `mailto:${text}`, children: (0, jsx_runtime_1.jsx)(Paragraph_1.Paragraph, { size: "text-xl", font: "font-light", color: "text-primary-text", children: text }) }));
|
|
16
17
|
default:
|
|
17
18
|
return (0, jsx_runtime_1.jsx)("span", { children: text });
|
|
18
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Contacts.js","sourceRoot":"","sources":["../../../src/components/Footer/Contacts.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,mEAAgE;AAChE,iDAA8C;AAQjC,QAAA,QAAQ,GAAG,IAAA,aAAG,EAAgB,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACxE,iCAAK,SAAS,EAAE,SAAS,aACtB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,EACtD,uBAAC,uBAAU,IACT,OAAO,EAAC,SAAS,EACjB,SAAS,EAAC,QAAQ,EAClB,IAAI,EAAC,wCAAwC,EAC7C,MAAM,EAAC,QAAQ,EACf,SAAS,EAAC,iFAAgB,EAC1B,IAAI,EAAC,iFAAgB,GACrB,IACE,CACP,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,CAAC,IAAkB,EAAE,CAAS,EAAE,EAAE,CAAC,CAC7D,iCAAK,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"Contacts.js","sourceRoot":"","sources":["../../../src/components/Footer/Contacts.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,mEAAgE;AAChE,gEAA6D;AAC7D,iDAA8C;AAQjC,QAAA,QAAQ,GAAG,IAAA,aAAG,EAAgB,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACxE,iCAAK,SAAS,EAAE,SAAS,aACtB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,EACtD,uBAAC,uBAAU,IACT,OAAO,EAAC,SAAS,EACjB,SAAS,EAAC,QAAQ,EAClB,IAAI,EAAC,wCAAwC,EAC7C,MAAM,EAAC,QAAQ,EACf,SAAS,EAAC,iFAAgB,EAC1B,IAAI,EAAC,iFAAgB,GACrB,IACE,CACP,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,CAAC,IAAkB,EAAE,CAAS,EAAE,EAAE,CAAC,CAC7D,iCAAK,SAAS,EAAC,gBAAgB,aAC7B,0CACE,uBAAC,WAAI,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,aAAa,YACnC,IAAI,EAAE,KAAK,GACP,GACH,EACN,gCAAK,SAAS,EAAC,WAAW,YAAE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,aAAa,CAAC,GAAO,KAN9B,MAAM,CAAC,CAAC,CAAC,CAOxC,CACP,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,IAAiB,EAAE,KAAa,EAAE,EAAE,CAAC,CAC1D,iCAAK,SAAS,EAAC,aAAa,aAC1B,0CAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAO,EAC7C,uBAAC,qBAAS,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,YAAY,EAAC,KAAK,EAAC,qBAAqB,YACnE,IAAI,CAAC,WAAW,GACP,KAJoB,MAAM,CAAC,KAAK,CAAC,CAKzC,CACP,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,IAAyB,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE;IAC1D,QAAQ,IAAI,EAAE;QACZ,KAAK,KAAK;YACR,OAAO,CACL,8BACE,SAAS,EAAC,wDAAwD,EAClE,IAAI,EAAE,OAAO,SAAS,CAAC,IAAI,CAAC,EAAE,YAE9B,uBAAC,WAAI,IAAC,IAAI,EAAC,SAAS,YAAE,IAAI,GAAQ,GAChC,CACL,CAAC;QACJ,KAAK,OAAO;YACV,OAAO,CACL,8BAAG,SAAS,EAAC,cAAc,EAAC,IAAI,EAAE,UAAU,IAAI,EAAE,YAChD,uBAAC,qBAAS,IAAC,IAAI,EAAC,SAAS,EAAC,IAAI,EAAC,YAAY,EAAC,KAAK,EAAC,mBAAmB,YAClE,IAAI,GACK,GACV,CACL,CAAC;QACJ;YACE,OAAO,2CAAO,IAAI,GAAQ,CAAC;KAC9B;AACH,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC"}
|
|
@@ -12,16 +12,6 @@ declare type Enum = string[];
|
|
|
12
12
|
* @title Имена
|
|
13
13
|
*/
|
|
14
14
|
declare type EnumNames = string[];
|
|
15
|
-
export declare type StringEnum = {
|
|
16
|
-
title?: Title;
|
|
17
|
-
/**
|
|
18
|
-
* @default string
|
|
19
|
-
* @hidden
|
|
20
|
-
*/
|
|
21
|
-
type?: 'string';
|
|
22
|
-
enum?: Enum;
|
|
23
|
-
enumNames?: EnumNames;
|
|
24
|
-
};
|
|
25
15
|
export declare type StringArray = {
|
|
26
16
|
title?: Title;
|
|
27
17
|
/**
|
|
@@ -29,6 +19,10 @@ export declare type StringArray = {
|
|
|
29
19
|
* @hidden
|
|
30
20
|
*/
|
|
31
21
|
type?: 'array';
|
|
22
|
+
/** @title Минимальное количество */
|
|
23
|
+
minItems?: number;
|
|
24
|
+
/** @title Максимальное количество */
|
|
25
|
+
maxItems?: number;
|
|
32
26
|
/** @title */
|
|
33
27
|
items?: {
|
|
34
28
|
/**
|
|
@@ -39,6 +33,8 @@ export declare type StringArray = {
|
|
|
39
33
|
enum?: Enum;
|
|
40
34
|
enumNames?: EnumNames;
|
|
41
35
|
};
|
|
36
|
+
/** @title В подборщике выбирается только одна опция */
|
|
37
|
+
single?: boolean;
|
|
42
38
|
};
|
|
43
39
|
export declare type NumberValue = {
|
|
44
40
|
title?: Title;
|
|
@@ -63,18 +59,6 @@ export declare type NumberRange = {
|
|
|
63
59
|
max?: NumberValue;
|
|
64
60
|
};
|
|
65
61
|
};
|
|
66
|
-
export declare type FiltrationSchema = {
|
|
67
|
-
/** @title Валюта */
|
|
68
|
-
currency?: StringArray;
|
|
69
|
-
/** @title Опции */
|
|
70
|
-
options?: StringArray;
|
|
71
|
-
/** @title Выплата процентов */
|
|
72
|
-
percents?: StringArray;
|
|
73
|
-
/** @hidden */
|
|
74
|
-
sum?: NumberValue;
|
|
75
|
-
/** @hidden */
|
|
76
|
-
period?: NumberRange;
|
|
77
|
-
};
|
|
78
62
|
/**
|
|
79
63
|
* @title Кнопка сброса
|
|
80
64
|
*/
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { type FormFieldRegisterer } from '../../hooks/useForm';
|
|
3
3
|
import { type VNode } from '../../model/VNode';
|
|
4
|
-
import { type BaseFiltrationInnerContent, type NumberRange, type NumberValue, type StringArray
|
|
5
|
-
declare type SchemaItem = StringArray |
|
|
4
|
+
import { type BaseFiltrationInnerContent, type NumberRange, type NumberValue, type StringArray } from './BaseFiltrationContent';
|
|
5
|
+
declare type SchemaItem = StringArray | NumberRange | NumberValue;
|
|
6
6
|
declare type FiltrationSchema = Record<string, SchemaItem>;
|
|
7
7
|
interface RenderFiltrationFormProps {
|
|
8
8
|
field: FormFieldRegisterer<any>;
|
|
@@ -18,6 +18,6 @@ const renderFormItem = (field) => ([key, item]) => {
|
|
|
18
18
|
const renderCheckboxes = (key, field) => (item) => {
|
|
19
19
|
const options = item?.items?.enum?.map((e, i) => ({ value: e, title: item?.items?.enumNames?.[i] || '' })) ||
|
|
20
20
|
[];
|
|
21
|
-
return ((0, jsx_runtime_1.jsxs)("div", { children: [item?.title ? ((0, jsx_runtime_1.jsx)("div", { className: "mb-m", children: (0, jsx_runtime_1.jsx)(Text_1.Text, { size: "text-m", font: "font-light", color: "text-secondary-text", children: item.title }) })) : null, (0, jsx_runtime_1.jsx)(SlideCheckboxGroup_1.SlideCheckboxGroup, { items: options, multiple:
|
|
21
|
+
return ((0, jsx_runtime_1.jsxs)("div", { children: [item?.title ? ((0, jsx_runtime_1.jsx)("div", { className: "mb-m", children: (0, jsx_runtime_1.jsx)(Text_1.Text, { size: "text-m", font: "font-light", color: "text-secondary-text", children: item.title }) })) : null, (0, jsx_runtime_1.jsx)(SlideCheckboxGroup_1.SlideCheckboxGroup, { items: options, multiple: !item?.single, ...field(key) })] }, key));
|
|
22
22
|
};
|
|
23
23
|
//# sourceMappingURL=renderFiltrationForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderFiltrationForm.js","sourceRoot":"","sources":["../../../src/ui-kit/BaseFiltration/renderFiltrationForm.tsx"],"names":[],"mappings":";;;AAEA,6CAA0C;AAC1C,iFAA8E;AAC9E,uCAAoC;
|
|
1
|
+
{"version":3,"file":"renderFiltrationForm.js","sourceRoot":"","sources":["../../../src/ui-kit/BaseFiltration/renderFiltrationForm.tsx"],"names":[],"mappings":";;;AAEA,6CAA0C;AAC1C,iFAA8E;AAC9E,uCAAoC;AAmB7B,MAAM,oBAAoB,GAAG,CAAC,EACnC,KAAK,EACL,KAAK,EACL,gBAAgB,EAChB,WAAW,EACX,QAAQ,GACkB,EAAE,EAAE,CAAC,CAC/B,kCAAM,SAAS,EAAC,6EAA6E,aAC3F,iCAAK,SAAS,EAAC,qCAAqC,aACjD,QAAQ,EACR,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IACxD,EACL,WAAW,CAAC,CAAC,CAAC,CACb,0CACE,uBAAC,eAAM,IAAC,SAAS,EAAC,4BAA4B,EAAC,OAAO,EAAE,KAAK,YAC1D,WAAW,EAAE,IAAI,GACX,GACL,CACP,CAAC,CAAC,CAAC,IAAI,IACH,CACR,CAAC;AApBW,QAAA,oBAAoB,wBAoB/B;AAEF,MAAM,cAAc,GAClB,CAAC,KAA+B,EAAE,EAAE,CACpC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAuB,EAAE,EAAE;IACpC,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC;IAExB,QAAQ,IAAI,EAAE;QACZ,KAAK,OAAO;YACV,OAAO,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5C;YACE,OAAO,IAAI,CAAC;KACf;AACH,CAAC,CAAC;AAEJ,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAE,KAA+B,EAAE,EAAE,CAAC,CAAC,IAAkB,EAAE,EAAE;IAChG,MAAM,OAAO,GACX,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1F,EAAE,CAAC;IAEL,OAAO,CACL,4CACG,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CACb,gCAAK,SAAS,EAAC,MAAM,YACnB,uBAAC,WAAI,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,YAAY,EAAC,KAAK,EAAC,qBAAqB,YAC9D,IAAI,CAAC,KAAK,GACN,GACH,CACP,CAAC,CAAC,CAAC,IAAI,EACR,uBAAC,uCAAkB,IACjB,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KACnB,KAAK,CAA+B,GAAG,CAAC,GAC5C,KAZM,GAAG,CAaP,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -3,13 +3,9 @@ declare type SlideCheckboxGroupItem = {
|
|
|
3
3
|
value: string;
|
|
4
4
|
title: string;
|
|
5
5
|
};
|
|
6
|
-
interface SlideCheckboxGroupProps extends ControlProps<string> {
|
|
7
|
-
multiple
|
|
6
|
+
interface SlideCheckboxGroupProps extends ControlProps<string[]> {
|
|
7
|
+
multiple?: boolean;
|
|
8
8
|
items?: SlideCheckboxGroupItem[];
|
|
9
9
|
}
|
|
10
|
-
|
|
11
|
-
multiple: true;
|
|
12
|
-
items?: SlideCheckboxGroupItem[];
|
|
13
|
-
}
|
|
14
|
-
export declare const SlideCheckboxGroup: import("@redneckz/uni-jsx").UNIComponent<SlideCheckboxGroupProps | MultipleSlideCheckboxGroupProps, any, any>;
|
|
10
|
+
export declare const SlideCheckboxGroup: import("@redneckz/uni-jsx").UNIComponent<SlideCheckboxGroupProps, any, any>;
|
|
15
11
|
export {};
|
|
@@ -8,12 +8,12 @@ exports.SlideCheckboxGroup = (0, uni_jsx_1.JSX)(({ value, onChange, items = [],
|
|
|
8
8
|
if (!onChange) {
|
|
9
9
|
return;
|
|
10
10
|
}
|
|
11
|
+
const hasAlready = value?.includes(newValue);
|
|
11
12
|
if (multiple) {
|
|
12
|
-
const hasAlready = value?.includes(newValue);
|
|
13
13
|
onChange(hasAlready ? (value || []).filter((v) => v !== newValue) : [...(value || []), newValue]);
|
|
14
14
|
}
|
|
15
15
|
else {
|
|
16
|
-
onChange(
|
|
16
|
+
onChange(hasAlready ? [] : [newValue]);
|
|
17
17
|
}
|
|
18
18
|
};
|
|
19
19
|
return items.map((item) => ((0, jsx_runtime_1.jsx)(SlideCheckbox_1.SlideCheckbox, { text: item?.title, value: [value].flatMap((_) => _).includes(item.value), onChange: () => handleChange(item.value), type: multiple ? 'checkbox' : 'radio' }, item.value)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlideCheckboxGroup.js","sourceRoot":"","sources":["../../../src/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AAExC,kEAA+D;
|
|
1
|
+
{"version":3,"file":"SlideCheckboxGroup.js","sourceRoot":"","sources":["../../../src/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AAExC,kEAA+D;AAYlD,QAAA,kBAAkB,GAAG,IAAA,aAAG,EACnC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC5C,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAE,EAAE;QACxC,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QAED,MAAM,UAAU,GAAG,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,QAAQ,EAAE;YACZ,QAAQ,CACN,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CACxF,CAAC;SACH;aAAM;YACL,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;SACxC;IACH,CAAC,CAAC;IAEF,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACzB,uBAAC,6BAAa,IAEZ,IAAI,EAAE,IAAI,EAAE,KAAK,EACjB,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EACrD,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EACxC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,IAJhC,IAAI,CAAC,KAAK,CAKf,CACH,CAAC,CAAC;AACL,CAAC,CACF,CAAC"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
|
|
2
2
|
import { JSX } from '@redneckz/uni-jsx';
|
|
3
3
|
import { LinkButton } from '../../ui-kit/LinkButton/LinkButton.js';
|
|
4
|
+
import { Paragraph } from '../../ui-kit/Paragraph/Paragraph.js';
|
|
4
5
|
import { Text } from '../../ui-kit/Text/Text.js';
|
|
5
6
|
export const Contacts = JSX(({ className = '', items }) => (_jsxs("div", { className: className, children: [items?.length ? items.map(renderContactsGroup) : null, _jsx(LinkButton, { version: "primary", className: "w-full", href: "https://old.rshb.ru/feedback/question/", target: "_blank", ariaLabel: "\u041E\u0431\u0440\u0430\u0442\u043D\u0430\u044F \u0441\u0432\u044F\u0437\u044C", text: "\u041E\u0431\u0440\u0430\u0442\u043D\u0430\u044F \u0441\u0432\u044F\u0437\u044C" })] })));
|
|
6
|
-
const renderContactsGroup = (item, i) => (_jsxs("div", { className: "mb-m", children: [_jsx("div", {
|
|
7
|
-
const renderContact = (item, index) => (_jsxs("div", { className: "
|
|
7
|
+
const renderContactsGroup = (item, i) => (_jsxs("div", { className: "mb-m space-y-m", children: [_jsx("div", { children: _jsx(Text, { size: "text-l", font: "font-medium", children: item?.title }) }), _jsx("div", { className: "space-y-m", children: item.items?.map(renderContact) })] }, String(i)));
|
|
8
|
+
const renderContact = (item, index) => (_jsxs("div", { className: "space-y-2xs", children: [_jsx("div", { children: renderText(item.type, item.text) }), _jsx(Paragraph, { size: "text-s", font: "font-light", color: "text-secondary-text", children: item.description })] }, String(index)));
|
|
8
9
|
const renderText = (type, text = '') => {
|
|
9
10
|
switch (type) {
|
|
10
11
|
case 'tel':
|
|
11
|
-
return (_jsx("a", { className: "text-
|
|
12
|
+
return (_jsx("a", { className: "text-primary-text hover:text-primary-main no-underline", href: `tel:${formatTel(text)}`, children: _jsx(Text, { size: "text-h6", children: text }) }));
|
|
12
13
|
case 'email':
|
|
13
|
-
return (_jsx("a", { className: "
|
|
14
|
+
return (_jsx("a", { className: "no-underline", href: `mailto:${text}`, children: _jsx(Paragraph, { size: "text-xl", font: "font-light", color: "text-primary-text", children: text }) }));
|
|
14
15
|
default:
|
|
15
16
|
return _jsx("span", { children: text });
|
|
16
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Contacts.js","sourceRoot":"","sources":["../../../src/components/Footer/Contacts.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAQ9C,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAgB,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACxE,eAAK,SAAS,EAAE,SAAS,aACtB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,EACtD,KAAC,UAAU,IACT,OAAO,EAAC,SAAS,EACjB,SAAS,EAAC,QAAQ,EAClB,IAAI,EAAC,wCAAwC,EAC7C,MAAM,EAAC,QAAQ,EACf,SAAS,EAAC,iFAAgB,EAC1B,IAAI,EAAC,iFAAgB,GACrB,IACE,CACP,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,CAAC,IAAkB,EAAE,CAAS,EAAE,EAAE,CAAC,CAC7D,eAAK,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"Contacts.js","sourceRoot":"","sources":["../../../src/components/Footer/Contacts.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAQ9C,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAgB,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACxE,eAAK,SAAS,EAAE,SAAS,aACtB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,EACtD,KAAC,UAAU,IACT,OAAO,EAAC,SAAS,EACjB,SAAS,EAAC,QAAQ,EAClB,IAAI,EAAC,wCAAwC,EAC7C,MAAM,EAAC,QAAQ,EACf,SAAS,EAAC,iFAAgB,EAC1B,IAAI,EAAC,iFAAgB,GACrB,IACE,CACP,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,CAAC,IAAkB,EAAE,CAAS,EAAE,EAAE,CAAC,CAC7D,eAAK,SAAS,EAAC,gBAAgB,aAC7B,wBACE,KAAC,IAAI,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,aAAa,YACnC,IAAI,EAAE,KAAK,GACP,GACH,EACN,cAAK,SAAS,EAAC,WAAW,YAAE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,aAAa,CAAC,GAAO,KAN9B,MAAM,CAAC,CAAC,CAAC,CAOxC,CACP,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,IAAiB,EAAE,KAAa,EAAE,EAAE,CAAC,CAC1D,eAAK,SAAS,EAAC,aAAa,aAC1B,wBAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAO,EAC7C,KAAC,SAAS,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,YAAY,EAAC,KAAK,EAAC,qBAAqB,YACnE,IAAI,CAAC,WAAW,GACP,KAJoB,MAAM,CAAC,KAAK,CAAC,CAKzC,CACP,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,IAAyB,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE;IAC1D,QAAQ,IAAI,EAAE;QACZ,KAAK,KAAK;YACR,OAAO,CACL,YACE,SAAS,EAAC,wDAAwD,EAClE,IAAI,EAAE,OAAO,SAAS,CAAC,IAAI,CAAC,EAAE,YAE9B,KAAC,IAAI,IAAC,IAAI,EAAC,SAAS,YAAE,IAAI,GAAQ,GAChC,CACL,CAAC;QACJ,KAAK,OAAO;YACV,OAAO,CACL,YAAG,SAAS,EAAC,cAAc,EAAC,IAAI,EAAE,UAAU,IAAI,EAAE,YAChD,KAAC,SAAS,IAAC,IAAI,EAAC,SAAS,EAAC,IAAI,EAAC,YAAY,EAAC,KAAK,EAAC,mBAAmB,YAClE,IAAI,GACK,GACV,CACL,CAAC;QACJ;YACE,OAAO,yBAAO,IAAI,GAAQ,CAAC;KAC9B;AACH,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC"}
|
|
@@ -12,16 +12,6 @@ declare type Enum = string[];
|
|
|
12
12
|
* @title Имена
|
|
13
13
|
*/
|
|
14
14
|
declare type EnumNames = string[];
|
|
15
|
-
export declare type StringEnum = {
|
|
16
|
-
title?: Title;
|
|
17
|
-
/**
|
|
18
|
-
* @default string
|
|
19
|
-
* @hidden
|
|
20
|
-
*/
|
|
21
|
-
type?: 'string';
|
|
22
|
-
enum?: Enum;
|
|
23
|
-
enumNames?: EnumNames;
|
|
24
|
-
};
|
|
25
15
|
export declare type StringArray = {
|
|
26
16
|
title?: Title;
|
|
27
17
|
/**
|
|
@@ -29,6 +19,10 @@ export declare type StringArray = {
|
|
|
29
19
|
* @hidden
|
|
30
20
|
*/
|
|
31
21
|
type?: 'array';
|
|
22
|
+
/** @title Минимальное количество */
|
|
23
|
+
minItems?: number;
|
|
24
|
+
/** @title Максимальное количество */
|
|
25
|
+
maxItems?: number;
|
|
32
26
|
/** @title */
|
|
33
27
|
items?: {
|
|
34
28
|
/**
|
|
@@ -39,6 +33,8 @@ export declare type StringArray = {
|
|
|
39
33
|
enum?: Enum;
|
|
40
34
|
enumNames?: EnumNames;
|
|
41
35
|
};
|
|
36
|
+
/** @title В подборщике выбирается только одна опция */
|
|
37
|
+
single?: boolean;
|
|
42
38
|
};
|
|
43
39
|
export declare type NumberValue = {
|
|
44
40
|
title?: Title;
|
|
@@ -63,18 +59,6 @@ export declare type NumberRange = {
|
|
|
63
59
|
max?: NumberValue;
|
|
64
60
|
};
|
|
65
61
|
};
|
|
66
|
-
export declare type FiltrationSchema = {
|
|
67
|
-
/** @title Валюта */
|
|
68
|
-
currency?: StringArray;
|
|
69
|
-
/** @title Опции */
|
|
70
|
-
options?: StringArray;
|
|
71
|
-
/** @title Выплата процентов */
|
|
72
|
-
percents?: StringArray;
|
|
73
|
-
/** @hidden */
|
|
74
|
-
sum?: NumberValue;
|
|
75
|
-
/** @hidden */
|
|
76
|
-
period?: NumberRange;
|
|
77
|
-
};
|
|
78
62
|
/**
|
|
79
63
|
* @title Кнопка сброса
|
|
80
64
|
*/
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { type FormFieldRegisterer } from '../../hooks/useForm';
|
|
3
3
|
import { type VNode } from '../../model/VNode';
|
|
4
|
-
import { type BaseFiltrationInnerContent, type NumberRange, type NumberValue, type StringArray
|
|
5
|
-
declare type SchemaItem = StringArray |
|
|
4
|
+
import { type BaseFiltrationInnerContent, type NumberRange, type NumberValue, type StringArray } from './BaseFiltrationContent';
|
|
5
|
+
declare type SchemaItem = StringArray | NumberRange | NumberValue;
|
|
6
6
|
declare type FiltrationSchema = Record<string, SchemaItem>;
|
|
7
7
|
interface RenderFiltrationFormProps {
|
|
8
8
|
field: FormFieldRegisterer<any>;
|
|
@@ -15,6 +15,6 @@ const renderFormItem = (field) => ([key, item]) => {
|
|
|
15
15
|
const renderCheckboxes = (key, field) => (item) => {
|
|
16
16
|
const options = item?.items?.enum?.map((e, i) => ({ value: e, title: item?.items?.enumNames?.[i] || '' })) ||
|
|
17
17
|
[];
|
|
18
|
-
return (_jsxs("div", { children: [item?.title ? (_jsx("div", { className: "mb-m", children: _jsx(Text, { size: "text-m", font: "font-light", color: "text-secondary-text", children: item.title }) })) : null, _jsx(SlideCheckboxGroup, { items: options, multiple:
|
|
18
|
+
return (_jsxs("div", { children: [item?.title ? (_jsx("div", { className: "mb-m", children: _jsx(Text, { size: "text-m", font: "font-light", color: "text-secondary-text", children: item.title }) })) : null, _jsx(SlideCheckboxGroup, { items: options, multiple: !item?.single, ...field(key) })] }, key));
|
|
19
19
|
};
|
|
20
20
|
//# sourceMappingURL=renderFiltrationForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderFiltrationForm.js","sourceRoot":"","sources":["../../../src/ui-kit/BaseFiltration/renderFiltrationForm.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"renderFiltrationForm.js","sourceRoot":"","sources":["../../../src/ui-kit/BaseFiltration/renderFiltrationForm.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAmBpC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EACnC,KAAK,EACL,KAAK,EACL,gBAAgB,EAChB,WAAW,EACX,QAAQ,GACkB,EAAE,EAAE,CAAC,CAC/B,gBAAM,SAAS,EAAC,6EAA6E,aAC3F,eAAK,SAAS,EAAC,qCAAqC,aACjD,QAAQ,EACR,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IACxD,EACL,WAAW,CAAC,CAAC,CAAC,CACb,wBACE,KAAC,MAAM,IAAC,SAAS,EAAC,4BAA4B,EAAC,OAAO,EAAE,KAAK,YAC1D,WAAW,EAAE,IAAI,GACX,GACL,CACP,CAAC,CAAC,CAAC,IAAI,IACH,CACR,CAAC;AAEF,MAAM,cAAc,GAClB,CAAC,KAA+B,EAAE,EAAE,CACpC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAuB,EAAE,EAAE;IACpC,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC;IAExB,QAAQ,IAAI,EAAE;QACZ,KAAK,OAAO;YACV,OAAO,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5C;YACE,OAAO,IAAI,CAAC;KACf;AACH,CAAC,CAAC;AAEJ,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAE,KAA+B,EAAE,EAAE,CAAC,CAAC,IAAkB,EAAE,EAAE;IAChG,MAAM,OAAO,GACX,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1F,EAAE,CAAC;IAEL,OAAO,CACL,0BACG,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CACb,cAAK,SAAS,EAAC,MAAM,YACnB,KAAC,IAAI,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,YAAY,EAAC,KAAK,EAAC,qBAAqB,YAC9D,IAAI,CAAC,KAAK,GACN,GACH,CACP,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,kBAAkB,IACjB,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KACnB,KAAK,CAA+B,GAAG,CAAC,GAC5C,KAZM,GAAG,CAaP,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -3,13 +3,9 @@ declare type SlideCheckboxGroupItem = {
|
|
|
3
3
|
value: string;
|
|
4
4
|
title: string;
|
|
5
5
|
};
|
|
6
|
-
interface SlideCheckboxGroupProps extends ControlProps<string> {
|
|
7
|
-
multiple
|
|
6
|
+
interface SlideCheckboxGroupProps extends ControlProps<string[]> {
|
|
7
|
+
multiple?: boolean;
|
|
8
8
|
items?: SlideCheckboxGroupItem[];
|
|
9
9
|
}
|
|
10
|
-
|
|
11
|
-
multiple: true;
|
|
12
|
-
items?: SlideCheckboxGroupItem[];
|
|
13
|
-
}
|
|
14
|
-
export declare const SlideCheckboxGroup: import("@redneckz/uni-jsx").UNIComponent<SlideCheckboxGroupProps | MultipleSlideCheckboxGroupProps, any, any>;
|
|
10
|
+
export declare const SlideCheckboxGroup: import("@redneckz/uni-jsx").UNIComponent<SlideCheckboxGroupProps, any, any>;
|
|
15
11
|
export {};
|
|
@@ -6,12 +6,12 @@ export const SlideCheckboxGroup = JSX(({ value, onChange, items = [], multiple }
|
|
|
6
6
|
if (!onChange) {
|
|
7
7
|
return;
|
|
8
8
|
}
|
|
9
|
+
const hasAlready = value?.includes(newValue);
|
|
9
10
|
if (multiple) {
|
|
10
|
-
const hasAlready = value?.includes(newValue);
|
|
11
11
|
onChange(hasAlready ? (value || []).filter((v) => v !== newValue) : [...(value || []), newValue]);
|
|
12
12
|
}
|
|
13
13
|
else {
|
|
14
|
-
onChange(
|
|
14
|
+
onChange(hasAlready ? [] : [newValue]);
|
|
15
15
|
}
|
|
16
16
|
};
|
|
17
17
|
return items.map((item) => (_jsx(SlideCheckbox, { text: item?.title, value: [value].flatMap((_) => _).includes(item.value), onChange: () => handleChange(item.value), type: multiple ? 'checkbox' : 'radio' }, item.value)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlideCheckboxGroup.js","sourceRoot":"","sources":["../../../src/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"SlideCheckboxGroup.js","sourceRoot":"","sources":["../../../src/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAY/D,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CACnC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC5C,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAE,EAAE;QACxC,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QAED,MAAM,UAAU,GAAG,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,QAAQ,EAAE;YACZ,QAAQ,CACN,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CACxF,CAAC;SACH;aAAM;YACL,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;SACxC;IACH,CAAC,CAAC;IAEF,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACzB,KAAC,aAAa,IAEZ,IAAI,EAAE,IAAI,EAAE,KAAK,EACjB,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EACrD,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EACxC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,IAJhC,IAAI,CAAC,KAAK,CAKf,CACH,CAAC,CAAC;AACL,CAAC,CACF,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
2
|
import { LinkButton } from '../../ui-kit/LinkButton/LinkButton';
|
|
3
|
+
import { Paragraph } from '../../ui-kit/Paragraph/Paragraph';
|
|
3
4
|
import { Text } from '../../ui-kit/Text/Text';
|
|
4
5
|
import { type ContactGroup, type ContactInfo } from './FooterContent';
|
|
5
6
|
|
|
@@ -23,20 +24,22 @@ export const Contacts = JSX<ContactsProps>(({ className = '', items }) => (
|
|
|
23
24
|
));
|
|
24
25
|
|
|
25
26
|
const renderContactsGroup = (item: ContactGroup, i: number) => (
|
|
26
|
-
<div className="mb-m" key={String(i)}>
|
|
27
|
-
<div
|
|
27
|
+
<div className="mb-m space-y-m" key={String(i)}>
|
|
28
|
+
<div>
|
|
28
29
|
<Text size="text-l" font="font-medium">
|
|
29
30
|
{item?.title}
|
|
30
31
|
</Text>
|
|
31
32
|
</div>
|
|
32
|
-
<div>{item.items?.map(renderContact)}</div>
|
|
33
|
+
<div className="space-y-m">{item.items?.map(renderContact)}</div>
|
|
33
34
|
</div>
|
|
34
35
|
);
|
|
35
36
|
|
|
36
37
|
const renderContact = (item: ContactInfo, index: number) => (
|
|
37
|
-
<div className="
|
|
38
|
+
<div className="space-y-2xs" key={String(index)}>
|
|
38
39
|
<div>{renderText(item.type, item.text)}</div>
|
|
39
|
-
<
|
|
40
|
+
<Paragraph size="text-s" font="font-light" color="text-secondary-text">
|
|
41
|
+
{item.description}
|
|
42
|
+
</Paragraph>
|
|
40
43
|
</div>
|
|
41
44
|
);
|
|
42
45
|
|
|
@@ -45,16 +48,18 @@ const renderText = (type: ContactInfo['type'], text = '') => {
|
|
|
45
48
|
case 'tel':
|
|
46
49
|
return (
|
|
47
50
|
<a
|
|
48
|
-
className="text-
|
|
51
|
+
className="text-primary-text hover:text-primary-main no-underline"
|
|
49
52
|
href={`tel:${formatTel(text)}`}
|
|
50
53
|
>
|
|
51
|
-
{text}
|
|
54
|
+
<Text size="text-h6">{text}</Text>
|
|
52
55
|
</a>
|
|
53
56
|
);
|
|
54
57
|
case 'email':
|
|
55
58
|
return (
|
|
56
|
-
<a className="
|
|
57
|
-
|
|
59
|
+
<a className="no-underline" href={`mailto:${text}`}>
|
|
60
|
+
<Paragraph size="text-xl" font="font-light" color="text-primary-text">
|
|
61
|
+
{text}
|
|
62
|
+
</Paragraph>
|
|
58
63
|
</a>
|
|
59
64
|
);
|
|
60
65
|
default:
|
|
@@ -16,17 +16,6 @@ type Enum = string[];
|
|
|
16
16
|
*/
|
|
17
17
|
type EnumNames = string[];
|
|
18
18
|
|
|
19
|
-
export type StringEnum = {
|
|
20
|
-
title?: Title;
|
|
21
|
-
/**
|
|
22
|
-
* @default string
|
|
23
|
-
* @hidden
|
|
24
|
-
*/
|
|
25
|
-
type?: 'string';
|
|
26
|
-
enum?: Enum;
|
|
27
|
-
enumNames?: EnumNames;
|
|
28
|
-
};
|
|
29
|
-
|
|
30
19
|
export type StringArray = {
|
|
31
20
|
title?: Title;
|
|
32
21
|
/**
|
|
@@ -34,6 +23,10 @@ export type StringArray = {
|
|
|
34
23
|
* @hidden
|
|
35
24
|
*/
|
|
36
25
|
type?: 'array';
|
|
26
|
+
/** @title Минимальное количество */
|
|
27
|
+
minItems?: number;
|
|
28
|
+
/** @title Максимальное количество */
|
|
29
|
+
maxItems?: number;
|
|
37
30
|
/** @title */
|
|
38
31
|
items?: {
|
|
39
32
|
/**
|
|
@@ -44,6 +37,8 @@ export type StringArray = {
|
|
|
44
37
|
enum?: Enum;
|
|
45
38
|
enumNames?: EnumNames;
|
|
46
39
|
};
|
|
40
|
+
/** @title В подборщике выбирается только одна опция */
|
|
41
|
+
single?: boolean;
|
|
47
42
|
};
|
|
48
43
|
|
|
49
44
|
export type NumberValue = {
|
|
@@ -71,19 +66,6 @@ export type NumberRange = {
|
|
|
71
66
|
};
|
|
72
67
|
};
|
|
73
68
|
|
|
74
|
-
export type FiltrationSchema = {
|
|
75
|
-
/** @title Валюта */
|
|
76
|
-
currency?: StringArray;
|
|
77
|
-
/** @title Опции */
|
|
78
|
-
options?: StringArray;
|
|
79
|
-
/** @title Выплата процентов */
|
|
80
|
-
percents?: StringArray;
|
|
81
|
-
/** @hidden */
|
|
82
|
-
sum?: NumberValue;
|
|
83
|
-
/** @hidden */
|
|
84
|
-
period?: NumberRange;
|
|
85
|
-
};
|
|
86
|
-
|
|
87
69
|
/**
|
|
88
70
|
* @title Кнопка сброса
|
|
89
71
|
*/
|
|
@@ -8,10 +8,9 @@ import {
|
|
|
8
8
|
type NumberRange,
|
|
9
9
|
type NumberValue,
|
|
10
10
|
type StringArray,
|
|
11
|
-
type StringEnum,
|
|
12
11
|
} from './BaseFiltrationContent';
|
|
13
12
|
|
|
14
|
-
type SchemaItem = StringArray |
|
|
13
|
+
type SchemaItem = StringArray | NumberRange | NumberValue;
|
|
15
14
|
type FiltrationSchema = Record<string, SchemaItem>;
|
|
16
15
|
|
|
17
16
|
interface RenderFiltrationFormProps {
|
|
@@ -71,7 +70,11 @@ const renderCheckboxes = (key: string, field: FormFieldRegisterer<any>) => (item
|
|
|
71
70
|
</Text>
|
|
72
71
|
</div>
|
|
73
72
|
) : null}
|
|
74
|
-
<SlideCheckboxGroup
|
|
73
|
+
<SlideCheckboxGroup
|
|
74
|
+
items={options}
|
|
75
|
+
multiple={!item?.single}
|
|
76
|
+
{...field<string, string[] | undefined>(key)}
|
|
77
|
+
/>
|
|
75
78
|
</div>
|
|
76
79
|
);
|
|
77
80
|
};
|
|
@@ -7,31 +7,26 @@ type SlideCheckboxGroupItem = {
|
|
|
7
7
|
title: string;
|
|
8
8
|
};
|
|
9
9
|
|
|
10
|
-
interface SlideCheckboxGroupProps extends ControlProps<string> {
|
|
11
|
-
multiple
|
|
10
|
+
interface SlideCheckboxGroupProps extends ControlProps<string[]> {
|
|
11
|
+
multiple?: boolean;
|
|
12
12
|
items?: SlideCheckboxGroupItem[];
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
multiple: true;
|
|
17
|
-
items?: SlideCheckboxGroupItem[];
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export const SlideCheckboxGroup = JSX<SlideCheckboxGroupProps | MultipleSlideCheckboxGroupProps>(
|
|
15
|
+
export const SlideCheckboxGroup = JSX<SlideCheckboxGroupProps>(
|
|
21
16
|
({ value, onChange, items = [], multiple }) => {
|
|
22
17
|
const handleChange = (newValue: string) => {
|
|
23
18
|
if (!onChange) {
|
|
24
19
|
return;
|
|
25
20
|
}
|
|
26
21
|
|
|
27
|
-
|
|
28
|
-
const hasAlready = value?.includes(newValue);
|
|
22
|
+
const hasAlready = value?.includes(newValue);
|
|
29
23
|
|
|
24
|
+
if (multiple) {
|
|
30
25
|
onChange(
|
|
31
26
|
hasAlready ? (value || []).filter((v) => v !== newValue) : [...(value || []), newValue],
|
|
32
27
|
);
|
|
33
28
|
} else {
|
|
34
|
-
onChange(
|
|
29
|
+
onChange(hasAlready ? [] : [newValue]);
|
|
35
30
|
}
|
|
36
31
|
};
|
|
37
32
|
|
package/package.json
CHANGED