@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
@@ -57,6 +57,7 @@ const SCHEMA: DepositFiltrationContent['filtrationSchema'] = {
57
57
  enum: ['rub', 'usd', 'eur'],
58
58
  enumNames: ['Рубль', 'Доллар', 'Евро'],
59
59
  },
60
+ single: true,
60
61
  },
61
62
  options: {
62
63
  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