@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.
Files changed (59) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +8 -8
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/bundle/ui-kit/BaseFiltration/BaseFiltrationContent.d.ts +6 -22
  5. package/bundle/ui-kit/BaseFiltration/renderFiltrationForm.d.ts +2 -2
  6. package/bundle/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.d.ts +3 -7
  7. package/dist/components/Footer/Contacts.js +5 -4
  8. package/dist/components/Footer/Contacts.js.map +1 -1
  9. package/dist/ui-kit/BaseFiltration/BaseFiltrationContent.d.ts +6 -22
  10. package/dist/ui-kit/BaseFiltration/renderFiltrationForm.d.ts +2 -2
  11. package/dist/ui-kit/BaseFiltration/renderFiltrationForm.js +1 -1
  12. package/dist/ui-kit/BaseFiltration/renderFiltrationForm.js.map +1 -1
  13. package/dist/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.d.ts +3 -7
  14. package/dist/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js +2 -2
  15. package/dist/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js.map +1 -1
  16. package/lib/components/Footer/Contacts.js +5 -4
  17. package/lib/components/Footer/Contacts.js.map +1 -1
  18. package/lib/ui-kit/BaseFiltration/BaseFiltrationContent.d.ts +6 -22
  19. package/lib/ui-kit/BaseFiltration/renderFiltrationForm.d.ts +2 -2
  20. package/lib/ui-kit/BaseFiltration/renderFiltrationForm.js +1 -1
  21. package/lib/ui-kit/BaseFiltration/renderFiltrationForm.js.map +1 -1
  22. package/lib/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.d.ts +3 -7
  23. package/lib/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js +2 -2
  24. package/lib/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js.map +1 -1
  25. package/mobile/bundle/bundle.umd.js +8 -8
  26. package/mobile/bundle/bundle.umd.min.js +1 -1
  27. package/mobile/bundle/ui-kit/BaseFiltration/BaseFiltrationContent.d.ts +6 -22
  28. package/mobile/bundle/ui-kit/BaseFiltration/renderFiltrationForm.d.ts +2 -2
  29. package/mobile/bundle/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.d.ts +3 -7
  30. package/mobile/dist/components/Footer/Contacts.js +5 -4
  31. package/mobile/dist/components/Footer/Contacts.js.map +1 -1
  32. package/mobile/dist/ui-kit/BaseFiltration/BaseFiltrationContent.d.ts +6 -22
  33. package/mobile/dist/ui-kit/BaseFiltration/renderFiltrationForm.d.ts +2 -2
  34. package/mobile/dist/ui-kit/BaseFiltration/renderFiltrationForm.js +1 -1
  35. package/mobile/dist/ui-kit/BaseFiltration/renderFiltrationForm.js.map +1 -1
  36. package/mobile/dist/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.d.ts +3 -7
  37. package/mobile/dist/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js +2 -2
  38. package/mobile/dist/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js.map +1 -1
  39. package/mobile/lib/components/Footer/Contacts.js +5 -4
  40. package/mobile/lib/components/Footer/Contacts.js.map +1 -1
  41. package/mobile/lib/ui-kit/BaseFiltration/BaseFiltrationContent.d.ts +6 -22
  42. package/mobile/lib/ui-kit/BaseFiltration/renderFiltrationForm.d.ts +2 -2
  43. package/mobile/lib/ui-kit/BaseFiltration/renderFiltrationForm.js +1 -1
  44. package/mobile/lib/ui-kit/BaseFiltration/renderFiltrationForm.js.map +1 -1
  45. package/mobile/lib/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.d.ts +3 -7
  46. package/mobile/lib/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js +2 -2
  47. package/mobile/lib/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js.map +1 -1
  48. package/mobile/src/components/DepositFiltration/DepositFiltration.example.json +2 -1
  49. package/mobile/src/components/Footer/Contacts.tsx +14 -9
  50. package/mobile/src/ui-kit/BaseFiltration/BaseFiltrationContent.ts +6 -24
  51. package/mobile/src/ui-kit/BaseFiltration/renderFiltrationForm.tsx +6 -3
  52. package/mobile/src/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.tsx +6 -11
  53. package/package.json +1 -1
  54. package/src/components/DepositFiltration/DepositFiltration.example.json +2 -1
  55. package/src/components/DepositFiltration/DepositFiltration.fixture.tsx +1 -0
  56. package/src/components/Footer/Contacts.tsx +14 -9
  57. package/src/ui-kit/BaseFiltration/BaseFiltrationContent.ts +6 -24
  58. package/src/ui-kit/BaseFiltration/renderFiltrationForm.tsx +6 -3
  59. 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, type StringEnum } from './BaseFiltrationContent';
5
- declare type SchemaItem = StringArray | StringEnum | NumberRange | NumberValue;
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: false;
6
+ interface SlideCheckboxGroupProps extends ControlProps<string[]> {
7
+ multiple?: boolean;
8
8
  items?: SlideCheckboxGroupItem[];
9
9
  }
10
- interface MultipleSlideCheckboxGroupProps extends ControlProps<string[]> {
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", { className: "mb-m", children: (0, jsx_runtime_1.jsx)(Text_1.Text, { size: "text-l", font: "font-medium", children: item?.title }) }), (0, jsx_runtime_1.jsx)("div", { children: item.items?.map(renderContact) })] }, String(i)));
9
- const renderContact = (item, index) => ((0, jsx_runtime_1.jsxs)("div", { className: "mb-m", children: [(0, jsx_runtime_1.jsx)("div", { children: renderText(item.type, item.text) }), (0, jsx_runtime_1.jsx)("div", { className: "mt-2xs text-s font-light text-secondary-text", children: item.description })] }, String(index)));
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-h6 text-primary-text hover:text-primary-main no-underline", href: `tel:${formatTel(text)}`, children: 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: "text-xl font-light text-primary-text no-underline", href: `mailto:${text}`, children: text }));
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,MAAM,aACnB,gCAAK,SAAS,EAAC,MAAM,YACnB,uBAAC,WAAI,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,aAAa,YACnC,IAAI,EAAE,KAAK,GACP,GACH,EACN,0CAAM,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,aAAa,CAAC,GAAO,KANlB,MAAM,CAAC,CAAC,CAAC,CAO9B,CACP,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,IAAiB,EAAE,KAAa,EAAE,EAAE,CAAC,CAC1D,iCAAK,SAAS,EAAC,MAAM,aACnB,0CAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAO,EAC7C,gCAAK,SAAS,EAAC,8CAA8C,YAAE,IAAI,CAAC,WAAW,GAAO,KAF7D,MAAM,CAAC,KAAK,CAAC,CAGlC,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,gEAAgE,EAC1E,IAAI,EAAE,OAAO,SAAS,CAAC,IAAI,CAAC,EAAE,YAE7B,IAAI,GACH,CACL,CAAC;QACJ,KAAK,OAAO;YACV,OAAO,CACL,8BAAG,SAAS,EAAC,mDAAmD,EAAC,IAAI,EAAE,UAAU,IAAI,EAAE,YACpF,IAAI,GACH,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"}
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, type StringEnum } from './BaseFiltrationContent';
5
- declare type SchemaItem = StringArray | StringEnum | NumberRange | NumberValue;
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: true, ...field(key) })] }, key));
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;AAoB7B,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,IAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,WAAK,KAAK,CAA+B,GAAG,CAAC,GAAI,KARrF,GAAG,CASP,CACP,CAAC;AACJ,CAAC,CAAC"}
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: false;
6
+ interface SlideCheckboxGroupProps extends ControlProps<string[]> {
7
+ multiple?: boolean;
8
8
  items?: SlideCheckboxGroupItem[];
9
9
  }
10
- interface MultipleSlideCheckboxGroupProps extends ControlProps<string[]> {
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(value === newValue ? '' : newValue);
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;AAiBlD,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,IAAI,QAAQ,EAAE;YACZ,MAAM,UAAU,GAAG,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAE7C,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,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;SAC9C;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
+ {"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", { className: "mb-m", children: _jsx(Text, { size: "text-l", font: "font-medium", children: item?.title }) }), _jsx("div", { children: item.items?.map(renderContact) })] }, String(i)));
7
- const renderContact = (item, index) => (_jsxs("div", { className: "mb-m", children: [_jsx("div", { children: renderText(item.type, item.text) }), _jsx("div", { className: "mt-2xs text-s font-light text-secondary-text", children: item.description })] }, String(index)));
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-h6 text-primary-text hover:text-primary-main no-underline", href: `tel:${formatTel(text)}`, children: 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: "text-xl font-light text-primary-text no-underline", href: `mailto:${text}`, children: text }));
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,MAAM,aACnB,cAAK,SAAS,EAAC,MAAM,YACnB,KAAC,IAAI,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,aAAa,YACnC,IAAI,EAAE,KAAK,GACP,GACH,EACN,wBAAM,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,aAAa,CAAC,GAAO,KANlB,MAAM,CAAC,CAAC,CAAC,CAO9B,CACP,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,IAAiB,EAAE,KAAa,EAAE,EAAE,CAAC,CAC1D,eAAK,SAAS,EAAC,MAAM,aACnB,wBAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAO,EAC7C,cAAK,SAAS,EAAC,8CAA8C,YAAE,IAAI,CAAC,WAAW,GAAO,KAF7D,MAAM,CAAC,KAAK,CAAC,CAGlC,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,gEAAgE,EAC1E,IAAI,EAAE,OAAO,SAAS,CAAC,IAAI,CAAC,EAAE,YAE7B,IAAI,GACH,CACL,CAAC;QACJ,KAAK,OAAO;YACV,OAAO,CACL,YAAG,SAAS,EAAC,mDAAmD,EAAC,IAAI,EAAE,UAAU,IAAI,EAAE,YACpF,IAAI,GACH,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"}
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, type StringEnum } from './BaseFiltrationContent';
5
- declare type SchemaItem = StringArray | StringEnum | NumberRange | NumberValue;
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: true, ...field(key) })] }, key));
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;AAoBpC,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,IAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,WAAK,KAAK,CAA+B,GAAG,CAAC,GAAI,KARrF,GAAG,CASP,CACP,CAAC;AACJ,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: false;
6
+ interface SlideCheckboxGroupProps extends ControlProps<string[]> {
7
+ multiple?: boolean;
8
8
  items?: SlideCheckboxGroupItem[];
9
9
  }
10
- interface MultipleSlideCheckboxGroupProps extends ControlProps<string[]> {
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(value === newValue ? '' : newValue);
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;AAiB/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,IAAI,QAAQ,EAAE;YACZ,MAAM,UAAU,GAAG,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAE7C,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,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;SAC9C;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
+ {"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"}
@@ -8,7 +8,8 @@
8
8
  "type": "string",
9
9
  "enum": ["rub", "usd", "eur"],
10
10
  "enumNames": ["Рубль", "Доллар", "Евро"]
11
- }
11
+ },
12
+ "single": true
12
13
  },
13
14
  "options": {
14
15
  "title": "Опции",
@@ -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 className="mb-m">
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="mb-m" key={String(index)}>
38
+ <div className="space-y-2xs" key={String(index)}>
38
39
  <div>{renderText(item.type, item.text)}</div>
39
- <div className="mt-2xs text-s font-light text-secondary-text">{item.description}</div>
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-h6 text-primary-text hover:text-primary-main no-underline"
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="text-xl font-light text-primary-text no-underline" href={`mailto:${text}`}>
57
- {text}
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 | StringEnum | NumberRange | NumberValue;
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 items={options} multiple {...field<string, string[] | undefined>(key)} />
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: false;
10
+ interface SlideCheckboxGroupProps extends ControlProps<string[]> {
11
+ multiple?: boolean;
12
12
  items?: SlideCheckboxGroupItem[];
13
13
  }
14
14
 
15
- interface MultipleSlideCheckboxGroupProps extends ControlProps<string[]> {
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
- if (multiple) {
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(value === newValue ? '' : newValue);
29
+ onChange(hasAlready ? [] : [newValue]);
35
30
  }
36
31
  };
37
32
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redneckz/wildless-cms-uni-blocks",
3
- "version": "0.14.119",
3
+ "version": "0.14.121",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "author": "ЦК",
@@ -8,7 +8,8 @@
8
8
  "type": "string",
9
9
  "enum": ["rub", "usd", "eur"],
10
10
  "enumNames": ["Рубль", "Доллар", "Евро"]
11
- }
11
+ },
12
+ "single": true
12
13
  },
13
14
  "options": {
14
15
  "title": "Опции",