@redneckz/wildless-cms-uni-blocks 0.8.31 → 0.9.0

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 (197) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +93 -22
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/bundle/components/Filtration/Filtration.d.ts +6 -0
  5. package/bundle/components/Filtration/FiltrationContent.d.ts +78 -0
  6. package/bundle/components/Filtration/FiltrationInner.d.ts +7 -0
  7. package/bundle/components/Filtration/checkShouldRenderBlock.d.ts +1 -0
  8. package/bundle/components/Filtration/renderFormItem.d.ts +4 -0
  9. package/bundle/hooks/useForm.d.ts +12 -0
  10. package/bundle/model/JSXBlock.d.ts +2 -0
  11. package/bundle/ui-kit/ControlProps.d.ts +4 -0
  12. package/bundle/ui-kit/Foldable/DefaultFoldButton.d.ts +1 -0
  13. package/bundle/ui-kit/SlideCheckbox/SlideCheckbox.d.ts +3 -2
  14. package/bundle/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.d.ts +15 -0
  15. package/dist/components/ApplicationForm/renderSlideCheckboxes.js +1 -1
  16. package/dist/components/ApplicationForm/renderSlideCheckboxes.js.map +1 -1
  17. package/dist/components/Blocks.js +2 -0
  18. package/dist/components/Blocks.js.map +1 -1
  19. package/dist/components/Filtration/Filtration.d.ts +6 -0
  20. package/dist/components/Filtration/Filtration.js +17 -0
  21. package/dist/components/Filtration/Filtration.js.map +1 -0
  22. package/dist/components/Filtration/FiltrationContent.d.ts +78 -0
  23. package/dist/components/Filtration/FiltrationContent.js +2 -0
  24. package/dist/components/Filtration/FiltrationContent.js.map +1 -0
  25. package/dist/components/Filtration/FiltrationInner.d.ts +7 -0
  26. package/dist/components/Filtration/FiltrationInner.js +23 -0
  27. package/dist/components/Filtration/FiltrationInner.js.map +1 -0
  28. package/dist/components/Filtration/checkShouldRenderBlock.d.ts +1 -0
  29. package/dist/components/Filtration/checkShouldRenderBlock.js +11 -0
  30. package/dist/components/Filtration/checkShouldRenderBlock.js.map +1 -0
  31. package/dist/components/Filtration/renderFormItem.d.ts +4 -0
  32. package/dist/components/Filtration/renderFormItem.js +21 -0
  33. package/dist/components/Filtration/renderFormItem.js.map +1 -0
  34. package/dist/hooks/useForm.d.ts +12 -0
  35. package/dist/hooks/useForm.js +21 -0
  36. package/dist/hooks/useForm.js.map +1 -0
  37. package/dist/model/JSXBlock.d.ts +2 -0
  38. package/dist/ui-kit/ControlProps.d.ts +4 -0
  39. package/dist/ui-kit/ControlProps.js +2 -0
  40. package/dist/ui-kit/ControlProps.js.map +1 -0
  41. package/dist/ui-kit/Foldable/DefaultFoldButton.d.ts +1 -0
  42. package/dist/ui-kit/Foldable/DefaultFoldButton.js +5 -7
  43. package/dist/ui-kit/Foldable/DefaultFoldButton.js.map +1 -1
  44. package/dist/ui-kit/SlideCheckbox/SlideCheckbox.d.ts +3 -2
  45. package/dist/ui-kit/SlideCheckbox/SlideCheckbox.js +2 -2
  46. package/dist/ui-kit/SlideCheckbox/SlideCheckbox.js.map +1 -1
  47. package/dist/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.d.ts +15 -0
  48. package/dist/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js +19 -0
  49. package/dist/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js.map +1 -0
  50. package/lib/common.css +1 -1
  51. package/lib/components/ApplicationForm/renderSlideCheckboxes.js +1 -1
  52. package/lib/components/ApplicationForm/renderSlideCheckboxes.js.map +1 -1
  53. package/lib/components/Blocks.js +2 -0
  54. package/lib/components/Blocks.js.map +1 -1
  55. package/lib/components/Filtration/Filtration.d.ts +6 -0
  56. package/lib/components/Filtration/Filtration.fixture.d.ts +5 -0
  57. package/lib/components/Filtration/Filtration.js +15 -0
  58. package/lib/components/Filtration/Filtration.js.map +1 -0
  59. package/lib/components/Filtration/FiltrationContent.d.ts +78 -0
  60. package/lib/components/Filtration/FiltrationContent.js +2 -0
  61. package/lib/components/Filtration/FiltrationContent.js.map +1 -0
  62. package/lib/components/Filtration/FiltrationInner.d.ts +7 -0
  63. package/lib/components/Filtration/FiltrationInner.js +21 -0
  64. package/lib/components/Filtration/FiltrationInner.js.map +1 -0
  65. package/lib/components/Filtration/checkShouldRenderBlock.d.ts +1 -0
  66. package/lib/components/Filtration/checkShouldRenderBlock.js +8 -0
  67. package/lib/components/Filtration/checkShouldRenderBlock.js.map +1 -0
  68. package/lib/components/Filtration/renderFormItem.d.ts +4 -0
  69. package/lib/components/Filtration/renderFormItem.js +18 -0
  70. package/lib/components/Filtration/renderFormItem.js.map +1 -0
  71. package/lib/hooks/useForm.d.ts +12 -0
  72. package/lib/hooks/useForm.js +18 -0
  73. package/lib/hooks/useForm.js.map +1 -0
  74. package/lib/model/JSXBlock.d.ts +2 -0
  75. package/lib/ui-kit/ControlProps.d.ts +4 -0
  76. package/lib/ui-kit/ControlProps.js +2 -0
  77. package/lib/ui-kit/ControlProps.js.map +1 -0
  78. package/lib/ui-kit/Foldable/DefaultFoldButton.d.ts +1 -0
  79. package/lib/ui-kit/Foldable/DefaultFoldButton.js +5 -7
  80. package/lib/ui-kit/Foldable/DefaultFoldButton.js.map +1 -1
  81. package/lib/ui-kit/SlideCheckbox/SlideCheckbox.d.ts +3 -2
  82. package/lib/ui-kit/SlideCheckbox/SlideCheckbox.js +2 -2
  83. package/lib/ui-kit/SlideCheckbox/SlideCheckbox.js.map +1 -1
  84. package/lib/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.d.ts +15 -0
  85. package/lib/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js +17 -0
  86. package/lib/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js.map +1 -0
  87. package/mobile/bundle/bundle.umd.js +5 -8
  88. package/mobile/bundle/bundle.umd.min.js +1 -1
  89. package/mobile/bundle/components/Filtration/Filtration.d.ts +6 -0
  90. package/mobile/bundle/components/Filtration/FiltrationContent.d.ts +78 -0
  91. package/mobile/bundle/components/Filtration/FiltrationInner.d.ts +7 -0
  92. package/mobile/bundle/components/Filtration/checkShouldRenderBlock.d.ts +1 -0
  93. package/mobile/bundle/components/Filtration/renderFormItem.d.ts +4 -0
  94. package/mobile/bundle/hooks/useForm.d.ts +12 -0
  95. package/mobile/bundle/model/JSXBlock.d.ts +2 -0
  96. package/mobile/bundle/ui-kit/ControlProps.d.ts +4 -0
  97. package/mobile/bundle/ui-kit/Foldable/DefaultFoldButton.d.ts +1 -0
  98. package/mobile/bundle/ui-kit/SlideCheckbox/SlideCheckbox.d.ts +3 -2
  99. package/mobile/bundle/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.d.ts +15 -0
  100. package/mobile/dist/components/ApplicationForm/renderSlideCheckboxes.js +1 -1
  101. package/mobile/dist/components/ApplicationForm/renderSlideCheckboxes.js.map +1 -1
  102. package/mobile/dist/components/Filtration/Filtration.d.ts +6 -0
  103. package/mobile/dist/components/Filtration/Filtration.js +17 -0
  104. package/mobile/dist/components/Filtration/Filtration.js.map +1 -0
  105. package/mobile/dist/components/Filtration/FiltrationContent.d.ts +78 -0
  106. package/mobile/dist/components/Filtration/FiltrationContent.js +2 -0
  107. package/mobile/dist/components/Filtration/FiltrationContent.js.map +1 -0
  108. package/mobile/dist/components/Filtration/FiltrationInner.d.ts +7 -0
  109. package/mobile/dist/components/Filtration/FiltrationInner.js +23 -0
  110. package/mobile/dist/components/Filtration/FiltrationInner.js.map +1 -0
  111. package/mobile/dist/components/Filtration/checkShouldRenderBlock.d.ts +1 -0
  112. package/mobile/dist/components/Filtration/checkShouldRenderBlock.js +11 -0
  113. package/mobile/dist/components/Filtration/checkShouldRenderBlock.js.map +1 -0
  114. package/mobile/dist/components/Filtration/renderFormItem.d.ts +4 -0
  115. package/mobile/dist/components/Filtration/renderFormItem.js +21 -0
  116. package/mobile/dist/components/Filtration/renderFormItem.js.map +1 -0
  117. package/mobile/dist/hooks/useForm.d.ts +12 -0
  118. package/mobile/dist/hooks/useForm.js +21 -0
  119. package/mobile/dist/hooks/useForm.js.map +1 -0
  120. package/mobile/dist/model/JSXBlock.d.ts +2 -0
  121. package/mobile/dist/ui-kit/ControlProps.d.ts +4 -0
  122. package/mobile/dist/ui-kit/ControlProps.js +2 -0
  123. package/mobile/dist/ui-kit/ControlProps.js.map +1 -0
  124. package/mobile/dist/ui-kit/Foldable/DefaultFoldButton.d.ts +1 -0
  125. package/mobile/dist/ui-kit/Foldable/DefaultFoldButton.js +5 -7
  126. package/mobile/dist/ui-kit/Foldable/DefaultFoldButton.js.map +1 -1
  127. package/mobile/dist/ui-kit/SlideCheckbox/SlideCheckbox.d.ts +3 -2
  128. package/mobile/dist/ui-kit/SlideCheckbox/SlideCheckbox.js +2 -2
  129. package/mobile/dist/ui-kit/SlideCheckbox/SlideCheckbox.js.map +1 -1
  130. package/mobile/dist/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.d.ts +15 -0
  131. package/mobile/dist/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js +19 -0
  132. package/mobile/dist/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js.map +1 -0
  133. package/mobile/lib/components/ApplicationForm/renderSlideCheckboxes.js +1 -1
  134. package/mobile/lib/components/ApplicationForm/renderSlideCheckboxes.js.map +1 -1
  135. package/mobile/lib/components/Filtration/Filtration.d.ts +6 -0
  136. package/mobile/lib/components/Filtration/Filtration.js +15 -0
  137. package/mobile/lib/components/Filtration/Filtration.js.map +1 -0
  138. package/mobile/lib/components/Filtration/FiltrationContent.d.ts +78 -0
  139. package/mobile/lib/components/Filtration/FiltrationContent.js +2 -0
  140. package/mobile/lib/components/Filtration/FiltrationContent.js.map +1 -0
  141. package/mobile/lib/components/Filtration/FiltrationInner.d.ts +7 -0
  142. package/mobile/lib/components/Filtration/FiltrationInner.js +21 -0
  143. package/mobile/lib/components/Filtration/FiltrationInner.js.map +1 -0
  144. package/mobile/lib/components/Filtration/checkShouldRenderBlock.d.ts +1 -0
  145. package/mobile/lib/components/Filtration/checkShouldRenderBlock.js +8 -0
  146. package/mobile/lib/components/Filtration/checkShouldRenderBlock.js.map +1 -0
  147. package/mobile/lib/components/Filtration/renderFormItem.d.ts +4 -0
  148. package/mobile/lib/components/Filtration/renderFormItem.js +18 -0
  149. package/mobile/lib/components/Filtration/renderFormItem.js.map +1 -0
  150. package/mobile/lib/hooks/useForm.d.ts +12 -0
  151. package/mobile/lib/hooks/useForm.js +18 -0
  152. package/mobile/lib/hooks/useForm.js.map +1 -0
  153. package/mobile/lib/model/JSXBlock.d.ts +2 -0
  154. package/mobile/lib/ui-kit/ControlProps.d.ts +4 -0
  155. package/mobile/lib/ui-kit/ControlProps.js +2 -0
  156. package/mobile/lib/ui-kit/ControlProps.js.map +1 -0
  157. package/mobile/lib/ui-kit/Foldable/DefaultFoldButton.d.ts +1 -0
  158. package/mobile/lib/ui-kit/Foldable/DefaultFoldButton.js +5 -7
  159. package/mobile/lib/ui-kit/Foldable/DefaultFoldButton.js.map +1 -1
  160. package/mobile/lib/ui-kit/SlideCheckbox/SlideCheckbox.d.ts +3 -2
  161. package/mobile/lib/ui-kit/SlideCheckbox/SlideCheckbox.js +2 -2
  162. package/mobile/lib/ui-kit/SlideCheckbox/SlideCheckbox.js.map +1 -1
  163. package/mobile/lib/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.d.ts +15 -0
  164. package/mobile/lib/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js +17 -0
  165. package/mobile/lib/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js.map +1 -0
  166. package/mobile/src/components/ApplicationForm/renderSlideCheckboxes.tsx +4 -4
  167. package/mobile/src/components/Filtration/Filtration.example.json +37 -0
  168. package/mobile/src/components/Filtration/Filtration.tsx +41 -0
  169. package/mobile/src/components/Filtration/Filtration.ui.json +1 -0
  170. package/mobile/src/components/Filtration/FiltrationContent.ts +87 -0
  171. package/mobile/src/components/Filtration/FiltrationInner.tsx +67 -0
  172. package/mobile/src/components/Filtration/checkShouldRenderBlock.ts +18 -0
  173. package/mobile/src/components/Filtration/renderFormItem.tsx +36 -0
  174. package/mobile/src/hooks/useForm.ts +29 -0
  175. package/mobile/src/model/JSXBlock.ts +2 -0
  176. package/mobile/src/ui-kit/ControlProps.ts +4 -0
  177. package/mobile/src/ui-kit/Foldable/DefaultFoldButton.tsx +10 -4
  178. package/mobile/src/ui-kit/SlideCheckbox/SlideCheckbox.tsx +26 -23
  179. package/mobile/src/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.tsx +44 -0
  180. package/package.json +2 -1
  181. package/src/components/ApplicationForm/renderSlideCheckboxes.tsx +4 -4
  182. package/src/components/Blocks.ts +2 -0
  183. package/src/components/Filtration/Filtration.example.json +37 -0
  184. package/src/components/Filtration/Filtration.fixture.tsx +147 -0
  185. package/src/components/Filtration/Filtration.tsx +41 -0
  186. package/src/components/Filtration/Filtration.ui.json +1 -0
  187. package/src/components/Filtration/FiltrationContent.ts +87 -0
  188. package/src/components/Filtration/FiltrationInner.tsx +67 -0
  189. package/src/components/Filtration/checkShouldRenderBlock.ts +18 -0
  190. package/src/components/Filtration/renderFormItem.tsx +36 -0
  191. package/src/hooks/useForm.ts +29 -0
  192. package/src/model/JSXBlock.ts +2 -0
  193. package/src/ui-kit/ControlProps.ts +4 -0
  194. package/src/ui-kit/Foldable/DefaultFoldButton.tsx +10 -4
  195. package/src/ui-kit/SlideCheckbox/SlideCheckbox.fixture.tsx +1 -1
  196. package/src/ui-kit/SlideCheckbox/SlideCheckbox.tsx +26 -23
  197. package/src/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.tsx +44 -0
@@ -0,0 +1,6 @@
1
+ import type { JSXBlock, UniBlockProps } from '../../model/JSXBlock';
2
+ import type { FiltrationContent } from './FiltrationContent';
3
+ interface FiltrationProps extends FiltrationContent, UniBlockProps {
4
+ }
5
+ export declare const Filtration: JSXBlock<FiltrationProps>;
6
+ export {};
@@ -0,0 +1,78 @@
1
+ import type { ButtonVersion } from '../../model/ButtonVersion';
2
+ /**
3
+ * @title Заголовок
4
+ */
5
+ declare type Title = string;
6
+ /**
7
+ * @title Ключи
8
+ */
9
+ declare type Enum = string[];
10
+ /**
11
+ * @title Имена
12
+ */
13
+ declare type EnumNames = string[];
14
+ export declare type StringEnum = {
15
+ title?: Title;
16
+ /**
17
+ * @default string
18
+ * @hidden
19
+ */
20
+ type?: 'string';
21
+ enum?: Enum;
22
+ enumNames?: EnumNames;
23
+ };
24
+ export declare type StringArray = {
25
+ title?: Title;
26
+ /**
27
+ * @default array
28
+ * @hidden
29
+ */
30
+ type?: 'array';
31
+ items?: {
32
+ /**
33
+ * @default string
34
+ * @hidden
35
+ */
36
+ type?: 'string';
37
+ enum?: Enum;
38
+ enumNames?: EnumNames;
39
+ };
40
+ };
41
+ export declare type FiltrationSchema = {
42
+ /** @title Тип недвижимости */
43
+ propertyType?: StringEnum;
44
+ /** @title Этап строительства */
45
+ stage?: StringEnum;
46
+ /** @title Категории */
47
+ categories?: StringEnum;
48
+ /** @title Дополнительно */
49
+ extraOptions?: StringEnum;
50
+ };
51
+ /**
52
+ * @title Кнопка сброса
53
+ */
54
+ export declare type ResetButton = {
55
+ /**
56
+ * @title Текст кнопки
57
+ */
58
+ text: string;
59
+ /**
60
+ * @title Цвет кнопки
61
+ */
62
+ buttonVersion: ButtonVersion;
63
+ };
64
+ export interface FiltrationInnerContent {
65
+ /** @title Название кнопки */
66
+ label?: string;
67
+ /** @title Количество отображаемых предметов */
68
+ topItemsCount?: number;
69
+ }
70
+ /**
71
+ * @title Фильтрация
72
+ */
73
+ export interface FiltrationContent extends FiltrationInnerContent {
74
+ /** @title Параметры фильтрации */
75
+ filtrationSchema?: FiltrationSchema;
76
+ resetButton?: ResetButton;
77
+ }
78
+ export {};
@@ -0,0 +1,7 @@
1
+ import type { UniBlockProps } from '../../model/JSXBlock';
2
+ import type { FiltrationInnerContent } from './FiltrationContent';
3
+ interface FiltrationInnerProps extends FiltrationInnerContent, UniBlockProps {
4
+ filtrationState?: Record<string, any>;
5
+ }
6
+ export declare const FiltrationInner: import("@redneckz/uni-jsx").UNIComponent<FiltrationInnerProps, any, any>;
7
+ export {};
@@ -0,0 +1 @@
1
+ export declare const checkShouldRenderBlock: (pattern: Record<string, any>, target: Record<string, any>) => boolean;
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import type { FormElementRegisterer } from '../../hooks/useForm';
3
+ import type { FiltrationSchema } from './FiltrationContent';
4
+ export declare const renderFormItem: (filtrationSchema: FiltrationSchema, register: FormElementRegisterer) => (key: string) => JSX.Element | null;
@@ -0,0 +1,12 @@
1
+ export declare type FormElementRegisterer = ReturnType<typeof useForm>['register'];
2
+ export declare const useForm: <FormState extends Record<string, any>>(initialState?: Partial<FormState>) => {
3
+ formState: Partial<FormState>;
4
+ register: <FieldName extends keyof FormState>(fieldName: FieldName) => {
5
+ value?: undefined;
6
+ onChange?: undefined;
7
+ } | {
8
+ value: Partial<FormState>[FieldName];
9
+ onChange: Partial<Record<keyof FormState, () => void>>[FieldName];
10
+ };
11
+ resetForm: () => void;
12
+ };
@@ -1,4 +1,5 @@
1
1
  import type { UNIComponent } from '@redneckz/uni-jsx';
2
+ import type { JSONSchema7Definition } from 'json-schema';
2
3
  import type { BlockRendererOptions } from '../BlockRenderer/BlockRendererOptions';
3
4
  import type { SlotName } from './BlockDecorator';
4
5
  import type { BlockVersion } from './BlockVersion';
@@ -22,5 +23,6 @@ export declare type JSXBlock<BlockProps extends UniBlockProps = UniBlockProps> =
22
23
  include?: string[];
23
24
  exclude?: string[];
24
25
  };
26
+ childSchema?: (content: BlockDef['content']) => Record<string, JSONSchema7Definition>;
25
27
  slots?: (props: BlockProps) => SlotName[];
26
28
  };
@@ -0,0 +1,4 @@
1
+ export interface ControlProps<T> {
2
+ value?: T;
3
+ onChange?: (value: T | undefined) => void;
4
+ }
@@ -7,6 +7,7 @@ interface DefaultFoldButtonProps {
7
7
  label: string;
8
8
  icon: IconName;
9
9
  dataTheme?: ColorPalette;
10
+ disabled?: boolean;
10
11
  onClick?: () => void;
11
12
  }
12
13
  export declare const DefaultFoldButton: import("@redneckz/uni-jsx").UNIComponent<DefaultFoldButtonProps, any, any>;
@@ -1,7 +1,8 @@
1
1
  interface SlideCheckboxProps {
2
- checked?: boolean;
2
+ value?: boolean;
3
3
  text?: string;
4
- onClick?: () => void;
4
+ type?: 'checkbox' | 'radio';
5
+ onChange?: (value: boolean) => void;
5
6
  }
6
7
  export declare const SlideCheckbox: import("@redneckz/uni-jsx").UNIComponent<SlideCheckboxProps, any, any>;
7
8
  export {};
@@ -0,0 +1,15 @@
1
+ import type { ControlProps } from '../ControlProps';
2
+ declare type SlideCheckboxGroupItem = {
3
+ value: string;
4
+ title: string;
5
+ };
6
+ interface SlideCheckboxGroupProps extends ControlProps<string> {
7
+ multiple: false;
8
+ items: SlideCheckboxGroupItem[];
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>;
15
+ export {};
@@ -2,6 +2,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
2
2
  exports.renderSlideCheckboxes = void 0;
3
3
  const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
4
4
  const SlideCheckbox_1 = require("../../ui-kit/SlideCheckbox/SlideCheckbox");
5
- const renderSlideCheckboxes = ({ onlineСheckout, posTerminal, handleChange, }) => ((0, jsx_runtime_1.jsxs)("div", { className: "mb-5", children: [(0, jsx_runtime_1.jsx)(SlideCheckbox_1.SlideCheckbox, { checked: onlineСheckout, text: "\u0425\u043E\u0447\u0443 \u043A\u0443\u043F\u0438\u0442\u044C \u043E\u043D\u043B\u0430\u0439\u043D-\u043A\u0430\u0441\u0441\u0443", onClick: () => handleChange({ onlineСheckout: !onlineСheckout }) }), (0, jsx_runtime_1.jsx)(SlideCheckbox_1.SlideCheckbox, { checked: posTerminal, text: "\u0425\u043E\u0447\u0443 \u043A\u0443\u043F\u0438\u0442\u044C POS-\u0442\u0435\u0440\u043C\u0438\u043D\u0430\u043B", onClick: () => handleChange({ posTerminal: !posTerminal }) })] }));
5
+ const renderSlideCheckboxes = ({ onlineСheckout, posTerminal, handleChange, }) => ((0, jsx_runtime_1.jsxs)("div", { className: "mb-5", children: [(0, jsx_runtime_1.jsx)(SlideCheckbox_1.SlideCheckbox, { value: onlineСheckout, text: "\u0425\u043E\u0447\u0443 \u043A\u0443\u043F\u0438\u0442\u044C \u043E\u043D\u043B\u0430\u0439\u043D-\u043A\u0430\u0441\u0441\u0443", onChange: () => handleChange({ onlineСheckout: !onlineСheckout }) }), (0, jsx_runtime_1.jsx)(SlideCheckbox_1.SlideCheckbox, { value: posTerminal, text: "\u0425\u043E\u0447\u0443 \u043A\u0443\u043F\u0438\u0442\u044C POS-\u0442\u0435\u0440\u043C\u0438\u043D\u0430\u043B", onChange: () => handleChange({ posTerminal: !posTerminal }) })] }));
6
6
  exports.renderSlideCheckboxes = renderSlideCheckboxes;
7
7
  //# sourceMappingURL=renderSlideCheckboxes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderSlideCheckboxes.js","sourceRoot":"","sources":["../../../src/components/ApplicationForm/renderSlideCheckboxes.tsx"],"names":[],"mappings":";;;AAAA,4EAAyE;AAUlE,MAAM,qBAAqB,GAAG,CAAC,EACpC,cAAc,EACd,WAAW,EACX,YAAY,GACS,EAAE,EAAE,CAAC,CAC1B,iCAAK,SAAS,EAAC,MAAM,aACnB,uBAAC,6BAAa,IACZ,OAAO,EAAE,cAAc,EACvB,IAAI,EAAC,mIAA0B,EAC/B,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC,cAAc,EAAE,CAAC,GAChE,EACF,uBAAC,6BAAa,IACZ,OAAO,EAAE,WAAW,EACpB,IAAI,EAAC,oHAA0B,EAC/B,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,WAAW,EAAE,CAAC,GAC1D,IACE,CACP,CAAC;AAjBW,QAAA,qBAAqB,yBAiBhC"}
1
+ {"version":3,"file":"renderSlideCheckboxes.js","sourceRoot":"","sources":["../../../src/components/ApplicationForm/renderSlideCheckboxes.tsx"],"names":[],"mappings":";;;AAAA,4EAAyE;AAUlE,MAAM,qBAAqB,GAAG,CAAC,EACpC,cAAc,EACd,WAAW,EACX,YAAY,GACS,EAAE,EAAE,CAAC,CAC1B,iCAAK,SAAS,EAAC,MAAM,aACnB,uBAAC,6BAAa,IACZ,KAAK,EAAE,cAAc,EACrB,IAAI,EAAC,mIAA0B,EAC/B,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC,cAAc,EAAE,CAAC,GACjE,EACF,uBAAC,6BAAa,IACZ,KAAK,EAAE,WAAW,EAClB,IAAI,EAAC,oHAA0B,EAC/B,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,WAAW,EAAE,CAAC,GAC3D,IACE,CACP,CAAC;AAjBW,QAAA,qBAAqB,yBAiBhC"}
@@ -24,6 +24,7 @@ const ComparisonTable_1 = require("./ComparisonTable/ComparisonTable");
24
24
  const ContactsBlock_1 = require("./ContactsBlock/ContactsBlock");
25
25
  const ErrorBlock_1 = require("./ErrorBlock/ErrorBlock");
26
26
  const ExchangeRateTile_1 = require("./ExchangeRateTile/ExchangeRateTile");
27
+ const Filtration_1 = require("./Filtration/Filtration");
27
28
  const Footer_1 = require("./Footer/Footer");
28
29
  const GracePeriod_1 = require("./GracePeriod/GracePeriod");
29
30
  const Header_1 = require("./Header/Header");
@@ -80,6 +81,7 @@ exports.Blocks = {
80
81
  ContactsBlock: ContactsBlock_1.ContactsBlock,
81
82
  ErrorBlock: ErrorBlock_1.ErrorBlock,
82
83
  ExchangeRateTile: ExchangeRateTile_1.ExchangeRateTile,
84
+ Filtration: Filtration_1.Filtration,
83
85
  Footer: Footer_1.Footer,
84
86
  GracePeriod: GracePeriod_1.GracePeriod,
85
87
  Header: Header_1.Header,
@@ -1 +1 @@
1
- {"version":3,"file":"Blocks.js","sourceRoot":"","sources":["../../src/components/Blocks.ts"],"names":[],"mappings":";;AACA,qDAAkD;AAClD,uEAAoE;AACpE,iEAA8D;AAC9D,yCAAsC;AACtC,gFAA6E;AAC7E,iEAA8D;AAC9D,2DAAwD;AACxD,wDAAqD;AACrD,8DAA2D;AAC3D,kDAA+C;AAC/C,+FAA4F;AAC5F,8DAA2D;AAC3D,mFAAgF;AAChF,6EAA0E;AAC1E,4FAAyF;AACzF,iEAA8D;AAC9D,mFAAgF;AAChF,sFAAmF;AACnF,wGAAqG;AACrG,mFAAgF;AAChF,uEAAoE;AACpE,iEAA8D;AAC9D,wDAAqD;AACrD,0EAAuE;AACvE,4CAAyC;AACzC,2DAAwD;AACxD,4CAAyC;AACzC,kDAA+C;AAC/C,0EAAuE;AACvE,kDAA+C;AAC/C,sFAAmF;AACnF,oEAAiE;AACjE,kDAA+C;AAC/C,iEAA8D;AAC9D,qDAAkD;AAClD,mFAAgF;AAChF,oEAAiE;AACjE,2DAAwD;AACxD,2DAAwD;AACxD,8DAA2D;AAC3D,oEAAiE;AACjE,2DAAwD;AACxD,qDAAkD;AAClD,oEAAiE;AACjE,iEAA8D;AAC9D,wDAAqD;AACrD,6EAA0E;AAC1E,wDAAqD;AACrD,yFAAsF;AACtF,sCAAmC;AACnC,8DAA2D;AAC3D,qDAAkD;AAClD,sCAAmC;AACnC,oEAAiE;AACjE,yCAAsC;AAEzB,QAAA,MAAM,GAAmB;IACpC,SAAS,EAAT,qBAAS;IACT,eAAe,EAAf,iCAAe;IACf,aAAa,EAAb,6BAAa;IACb,KAAK,EAAL,aAAK;IACL,kBAAkB,EAAlB,uCAAkB;IAClB,aAAa,EAAb,6BAAa;IACb,WAAW,EAAX,yBAAW;IACX,UAAU,EAAV,uBAAU;IACV,YAAY,EAAZ,2BAAY;IACZ,QAAQ,EAAR,mBAAQ;IACR,uBAAuB,EAAvB,iDAAuB;IACvB,YAAY,EAAZ,2BAAY;IACZ,mBAAmB,EAAnB,yCAAmB;IACnB,iBAAiB,EAAjB,qCAAiB;IACjB,sBAAsB,EAAtB,+CAAsB;IACtB,aAAa,EAAb,6BAAa;IACb,mBAAmB,EAAnB,yCAAmB;IACnB,oBAAoB,EAApB,2CAAoB;IACpB,0BAA0B,EAA1B,uDAA0B;IAC1B,mBAAmB,EAAnB,yCAAmB;IACnB,eAAe,EAAf,iCAAe;IACf,aAAa,EAAb,6BAAa;IACb,UAAU,EAAV,uBAAU;IACV,gBAAgB,EAAhB,mCAAgB;IAChB,MAAM,EAAN,eAAM;IACN,WAAW,EAAX,yBAAW;IACX,MAAM,EAAN,eAAM;IACN,QAAQ,EAAR,mBAAQ;IACR,gBAAgB,EAAhB,mCAAgB;IAChB,QAAQ,EAAR,mBAAQ;IACR,oBAAoB,EAApB,2CAAoB;IACpB,cAAc,EAAd,+BAAc;IACd,QAAQ,EAAR,mBAAQ;IACR,aAAa,EAAb,6BAAa;IACb,SAAS,EAAT,qBAAS;IACT,mBAAmB,EAAnB,yCAAmB;IACnB,cAAc,EAAd,+BAAc;IACd,WAAW,EAAX,yBAAW;IACX,WAAW,EAAX,yBAAW;IACX,YAAY,EAAZ,2BAAY;IACZ,cAAc,EAAd,+BAAc;IACd,WAAW,EAAX,yBAAW;IACX,SAAS,EAAT,qBAAS;IACT,cAAc,EAAd,+BAAc;IACd,aAAa,EAAb,6BAAa;IACb,UAAU,EAAV,uBAAU;IACV,iBAAiB,EAAjB,qCAAiB;IACjB,UAAU,EAAV,uBAAU;IACV,qBAAqB,EAArB,6CAAqB;IACrB,IAAI,EAAJ,WAAI;IACJ,YAAY,EAAZ,2BAAY;IACZ,SAAS,EAAT,qBAAS;IACT,IAAI,EAAJ,WAAI;IACJ,cAAc,EAAd,+BAAc;IACd,KAAK,EAAL,aAAK;CACN,CAAC"}
1
+ {"version":3,"file":"Blocks.js","sourceRoot":"","sources":["../../src/components/Blocks.ts"],"names":[],"mappings":";;AACA,qDAAkD;AAClD,uEAAoE;AACpE,iEAA8D;AAC9D,yCAAsC;AACtC,gFAA6E;AAC7E,iEAA8D;AAC9D,2DAAwD;AACxD,wDAAqD;AACrD,8DAA2D;AAC3D,kDAA+C;AAC/C,+FAA4F;AAC5F,8DAA2D;AAC3D,mFAAgF;AAChF,6EAA0E;AAC1E,4FAAyF;AACzF,iEAA8D;AAC9D,mFAAgF;AAChF,sFAAmF;AACnF,wGAAqG;AACrG,mFAAgF;AAChF,uEAAoE;AACpE,iEAA8D;AAC9D,wDAAqD;AACrD,0EAAuE;AACvE,wDAAqD;AACrD,4CAAyC;AACzC,2DAAwD;AACxD,4CAAyC;AACzC,kDAA+C;AAC/C,0EAAuE;AACvE,kDAA+C;AAC/C,sFAAmF;AACnF,oEAAiE;AACjE,kDAA+C;AAC/C,iEAA8D;AAC9D,qDAAkD;AAClD,mFAAgF;AAChF,oEAAiE;AACjE,2DAAwD;AACxD,2DAAwD;AACxD,8DAA2D;AAC3D,oEAAiE;AACjE,2DAAwD;AACxD,qDAAkD;AAClD,oEAAiE;AACjE,iEAA8D;AAC9D,wDAAqD;AACrD,6EAA0E;AAC1E,wDAAqD;AACrD,yFAAsF;AACtF,sCAAmC;AACnC,8DAA2D;AAC3D,qDAAkD;AAClD,sCAAmC;AACnC,oEAAiE;AACjE,yCAAsC;AAEzB,QAAA,MAAM,GAAmB;IACpC,SAAS,EAAT,qBAAS;IACT,eAAe,EAAf,iCAAe;IACf,aAAa,EAAb,6BAAa;IACb,KAAK,EAAL,aAAK;IACL,kBAAkB,EAAlB,uCAAkB;IAClB,aAAa,EAAb,6BAAa;IACb,WAAW,EAAX,yBAAW;IACX,UAAU,EAAV,uBAAU;IACV,YAAY,EAAZ,2BAAY;IACZ,QAAQ,EAAR,mBAAQ;IACR,uBAAuB,EAAvB,iDAAuB;IACvB,YAAY,EAAZ,2BAAY;IACZ,mBAAmB,EAAnB,yCAAmB;IACnB,iBAAiB,EAAjB,qCAAiB;IACjB,sBAAsB,EAAtB,+CAAsB;IACtB,aAAa,EAAb,6BAAa;IACb,mBAAmB,EAAnB,yCAAmB;IACnB,oBAAoB,EAApB,2CAAoB;IACpB,0BAA0B,EAA1B,uDAA0B;IAC1B,mBAAmB,EAAnB,yCAAmB;IACnB,eAAe,EAAf,iCAAe;IACf,aAAa,EAAb,6BAAa;IACb,UAAU,EAAV,uBAAU;IACV,gBAAgB,EAAhB,mCAAgB;IAChB,UAAU,EAAV,uBAAU;IACV,MAAM,EAAN,eAAM;IACN,WAAW,EAAX,yBAAW;IACX,MAAM,EAAN,eAAM;IACN,QAAQ,EAAR,mBAAQ;IACR,gBAAgB,EAAhB,mCAAgB;IAChB,QAAQ,EAAR,mBAAQ;IACR,oBAAoB,EAApB,2CAAoB;IACpB,cAAc,EAAd,+BAAc;IACd,QAAQ,EAAR,mBAAQ;IACR,aAAa,EAAb,6BAAa;IACb,SAAS,EAAT,qBAAS;IACT,mBAAmB,EAAnB,yCAAmB;IACnB,cAAc,EAAd,+BAAc;IACd,WAAW,EAAX,yBAAW;IACX,WAAW,EAAX,yBAAW;IACX,YAAY,EAAZ,2BAAY;IACZ,cAAc,EAAd,+BAAc;IACd,WAAW,EAAX,yBAAW;IACX,SAAS,EAAT,qBAAS;IACT,cAAc,EAAd,+BAAc;IACd,aAAa,EAAb,6BAAa;IACb,UAAU,EAAV,uBAAU;IACV,iBAAiB,EAAjB,qCAAiB;IACjB,UAAU,EAAV,uBAAU;IACV,qBAAqB,EAArB,6CAAqB;IACrB,IAAI,EAAJ,WAAI;IACJ,YAAY,EAAZ,2BAAY;IACZ,SAAS,EAAT,qBAAS;IACT,IAAI,EAAJ,WAAI;IACJ,cAAc,EAAd,+BAAc;IACd,KAAK,EAAL,aAAK;CACN,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { JSXBlock, UniBlockProps } from '../../model/JSXBlock';
2
+ import type { FiltrationContent } from './FiltrationContent';
3
+ interface FiltrationProps extends FiltrationContent, UniBlockProps {
4
+ }
5
+ export declare const Filtration: JSXBlock<FiltrationProps>;
6
+ export {};
@@ -0,0 +1,17 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ exports.Filtration = void 0;
3
+ const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
4
+ const uni_jsx_1 = require("@redneckz/uni-jsx");
5
+ const useForm_1 = require("../../hooks/useForm");
6
+ const BlockWrapper_1 = require("../../ui-kit/BlockWrapper");
7
+ const Button_1 = require("../../ui-kit/Button/Button");
8
+ const style_1 = require("../../utils/style");
9
+ const FiltrationInner_1 = require("./FiltrationInner");
10
+ const renderFormItem_1 = require("./renderFormItem");
11
+ exports.Filtration = (0, uni_jsx_1.JSX)(({ className, filtrationSchema = {}, resetButton, ...rest }) => {
12
+ const { formState, register, resetForm } = (0, useForm_1.useForm)();
13
+ return ((0, jsx_runtime_1.jsxs)(BlockWrapper_1.BlockWrapper, { className: (0, style_1.style)('p-9', className), ...rest, children: [(0, jsx_runtime_1.jsxs)("form", { className: "flex justify-between", children: [(0, jsx_runtime_1.jsx)("div", { className: "flex gap-11", children: Object.keys(filtrationSchema).map((0, renderFormItem_1.renderFormItem)(filtrationSchema, register)) }), resetButton ? ((0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)(Button_1.Button, { className: "w-72", text: resetButton.text, version: resetButton.buttonVersion, onClick: resetForm }) })) : null] }), (0, jsx_runtime_1.jsx)(FiltrationInner_1.FiltrationInner, { filtrationState: formState, ...rest })] }));
14
+ });
15
+ exports.Filtration.childrenTypes = ['ProductTile'];
16
+ exports.Filtration.childSchema = (content) => content?.filtrationSchema || {};
17
+ //# sourceMappingURL=Filtration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Filtration.js","sourceRoot":"","sources":["../../../src/components/Filtration/Filtration.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,iDAA8C;AAE9C,4DAAyD;AACzD,uDAAoD;AACpD,6CAA0C;AAE1C,uDAAoD;AACpD,qDAAkD;AAIrC,QAAA,UAAU,GAA8B,IAAA,aAAG,EACtD,CAAC,EAAE,SAAS,EAAE,gBAAgB,GAAG,EAAE,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;IAC7D,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAA,iBAAO,GAAE,CAAC;IAErD,OAAO,CACL,wBAAC,2BAAY,IAAC,SAAS,EAAE,IAAA,aAAK,EAAC,KAAK,EAAE,SAAS,CAAC,KAAM,IAAI,aACxD,kCAAM,SAAS,EAAC,sBAAsB,aACpC,gCAAK,SAAS,EAAC,aAAa,YACzB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,IAAA,+BAAc,EAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,GAC1E,EACL,WAAW,CAAC,CAAC,CAAC,CACb,0CACE,uBAAC,eAAM,IACL,SAAS,EAAC,MAAM,EAChB,IAAI,EAAE,WAAW,CAAC,IAAI,EACtB,OAAO,EAAE,WAAW,CAAC,aAAa,EAClC,OAAO,EAAE,SAAS,GAClB,GACE,CACP,CAAC,CAAC,CAAC,IAAI,IACH,EACP,uBAAC,iCAAe,IAAC,eAAe,EAAE,SAAS,KAAM,IAAI,GAAI,IAC5C,CAChB,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,kBAAU,CAAC,aAAa,GAAG,CAAC,aAAa,CAAC,CAAC;AAC3C,kBAAU,CAAC,WAAW,GAAG,CAAC,OAA2B,EAAE,EAAE,CAAC,OAAO,EAAE,gBAAgB,IAAI,EAAE,CAAC"}
@@ -0,0 +1,78 @@
1
+ import type { ButtonVersion } from '../../model/ButtonVersion';
2
+ /**
3
+ * @title Заголовок
4
+ */
5
+ declare type Title = string;
6
+ /**
7
+ * @title Ключи
8
+ */
9
+ declare type Enum = string[];
10
+ /**
11
+ * @title Имена
12
+ */
13
+ declare type EnumNames = string[];
14
+ export declare type StringEnum = {
15
+ title?: Title;
16
+ /**
17
+ * @default string
18
+ * @hidden
19
+ */
20
+ type?: 'string';
21
+ enum?: Enum;
22
+ enumNames?: EnumNames;
23
+ };
24
+ export declare type StringArray = {
25
+ title?: Title;
26
+ /**
27
+ * @default array
28
+ * @hidden
29
+ */
30
+ type?: 'array';
31
+ items?: {
32
+ /**
33
+ * @default string
34
+ * @hidden
35
+ */
36
+ type?: 'string';
37
+ enum?: Enum;
38
+ enumNames?: EnumNames;
39
+ };
40
+ };
41
+ export declare type FiltrationSchema = {
42
+ /** @title Тип недвижимости */
43
+ propertyType?: StringEnum;
44
+ /** @title Этап строительства */
45
+ stage?: StringEnum;
46
+ /** @title Категории */
47
+ categories?: StringEnum;
48
+ /** @title Дополнительно */
49
+ extraOptions?: StringEnum;
50
+ };
51
+ /**
52
+ * @title Кнопка сброса
53
+ */
54
+ export declare type ResetButton = {
55
+ /**
56
+ * @title Текст кнопки
57
+ */
58
+ text: string;
59
+ /**
60
+ * @title Цвет кнопки
61
+ */
62
+ buttonVersion: ButtonVersion;
63
+ };
64
+ export interface FiltrationInnerContent {
65
+ /** @title Название кнопки */
66
+ label?: string;
67
+ /** @title Количество отображаемых предметов */
68
+ topItemsCount?: number;
69
+ }
70
+ /**
71
+ * @title Фильтрация
72
+ */
73
+ export interface FiltrationContent extends FiltrationInnerContent {
74
+ /** @title Параметры фильтрации */
75
+ filtrationSchema?: FiltrationSchema;
76
+ resetButton?: ResetButton;
77
+ }
78
+ export {};
@@ -0,0 +1,2 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ //# sourceMappingURL=FiltrationContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FiltrationContent.js","sourceRoot":"","sources":["../../../src/components/Filtration/FiltrationContent.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import type { UniBlockProps } from '../../model/JSXBlock';
2
+ import type { FiltrationInnerContent } from './FiltrationContent';
3
+ interface FiltrationInnerProps extends FiltrationInnerContent, UniBlockProps {
4
+ filtrationState?: Record<string, any>;
5
+ }
6
+ export declare const FiltrationInner: import("@redneckz/uni-jsx").UNIComponent<FiltrationInnerProps, any, any>;
7
+ export {};
@@ -0,0 +1,23 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ exports.FiltrationInner = void 0;
3
+ const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
4
+ const uni_jsx_1 = require("@redneckz/uni-jsx");
5
+ const renderBlockList_1 = require("../../BlockRenderer/renderBlockList");
6
+ const DefaultFoldButton_1 = require("../../ui-kit/Foldable/DefaultFoldButton");
7
+ const Foldable_1 = require("../../ui-kit/Foldable/Foldable");
8
+ const FoldableSection_1 = require("../../ui-kit/Foldable/FoldableSection");
9
+ const style_1 = require("../../utils/style");
10
+ const ErrorBlock_1 = require("../ErrorBlock/ErrorBlock");
11
+ const checkShouldRenderBlock_1 = require("./checkShouldRenderBlock");
12
+ const ICONS = ['ArrowDownIcon', 'ArrowUpIcon'];
13
+ const resultsGridStyle = 'grid grid-cols-12 gap-1 border-box';
14
+ exports.FiltrationInner = (0, uni_jsx_1.JSX)(({ label = '', filtrationState = {}, topItemsCount = 0, block, ...rest }) => {
15
+ const blocksToRender = block?.blocks?.filter((b) => (0, checkShouldRenderBlock_1.checkShouldRenderBlock)(filtrationState, b.content || {})) || [];
16
+ const [visibleBlocks, hiddenBlocks] = topItemsCount > 0
17
+ ? [blocksToRender.slice(0, topItemsCount), blocksToRender.slice(topItemsCount)]
18
+ : [blocksToRender, []];
19
+ return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { className: (0, style_1.style)(blocksToRender.length ? 'hidden' : ''), children: (0, jsx_runtime_1.jsx)(ErrorBlock_1.ErrorBlock, { error: { errorContentType: 'Image' }, title: "\u041D\u0435\u0442 \u043F\u043E\u0434\u0445\u043E\u0434\u044F\u0449\u0435\u0439 \u0438\u043F\u043E\u0442\u0435\u0447\u043D\u043E\u0439 \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u044B", subtitle: "\u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440\u044B" }) }), (0, jsx_runtime_1.jsxs)("div", { className: (0, style_1.style)(blocksToRender.length ? '' : 'hidden'), children: [(0, jsx_runtime_1.jsx)("div", { className: resultsGridStyle, children: (0, renderBlockList_1.renderBlocksList)(visibleBlocks, { ...rest.options, parent: block }) }), (0, jsx_runtime_1.jsx)(Foldable_1.Foldable, { renderFoldableSection: ({ isUnfolded }) => {
20
+ return ((0, jsx_runtime_1.jsx)(FoldableSection_1.FoldableSection, { className: resultsGridStyle, isUnfolded: isUnfolded, children: (0, renderBlockList_1.renderBlocksList)(hiddenBlocks, { ...rest.options, parent: block }) }));
21
+ }, renderFoldButton: ({ isUnfolded, onToggle }) => ((0, jsx_runtime_1.jsx)(DefaultFoldButton_1.DefaultFoldButton, { className: "mt-11", disabled: topItemsCount > hiddenBlocks.length, label: label, icon: ICONS[Number(isUnfolded)], dataTheme: rest.options?.page?.colorPalette, onClick: onToggle })) })] })] }));
22
+ });
23
+ //# sourceMappingURL=FiltrationInner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FiltrationInner.js","sourceRoot":"","sources":["../../../src/components/Filtration/FiltrationInner.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,yEAAuE;AAGvE,+EAA4E;AAC5E,6DAA0D;AAC1D,2EAAwE;AACxE,6CAA0C;AAC1C,yDAAsD;AACtD,qEAAkE;AAGlE,MAAM,KAAK,GAAe,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;AAE3D,MAAM,gBAAgB,GAAG,oCAAoC,CAAC;AAMjD,QAAA,eAAe,GAAG,IAAA,aAAG,EAChC,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,eAAe,GAAG,EAAE,EAAE,aAAa,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;IAC1E,MAAM,cAAc,GAClB,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,+CAAsB,EAAC,eAAe,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAE/F,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC,GACjC,aAAa,GAAG,CAAC;QACf,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IAE3B,OAAO,CACL,4CACE,gCAAK,SAAS,EAAE,IAAA,aAAK,EAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,YAC1D,uBAAC,uBAAU,IACT,KAAK,EAAE,EAAE,gBAAgB,EAAE,OAAO,EAAE,EACpC,KAAK,EAAC,+LAAoC,EAC1C,QAAQ,EAAC,0JAA6B,GACtC,GACE,EACN,iCAAK,SAAS,EAAE,IAAA,aAAK,EAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAC1D,gCAAK,SAAS,EAAE,gBAAgB,YAC7B,IAAA,kCAAgB,EAAC,aAAa,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAChE,EACN,uBAAC,mBAAQ,IACP,qBAAqB,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE;4BACxC,OAAO,CACL,uBAAC,iCAAe,IAAC,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,YACjE,IAAA,kCAAgB,EAAC,YAAY,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GACnD,CACnB,CAAC;wBACJ,CAAC,EACD,gBAAgB,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC9C,uBAAC,qCAAiB,IAChB,SAAS,EAAC,OAAO,EACjB,QAAQ,EAAE,aAAa,GAAG,YAAY,CAAC,MAAM,EAC7C,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAC/B,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,YAAY,EAC3C,OAAO,EAAE,QAAQ,GACjB,CACH,GACD,IACE,IACF,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const checkShouldRenderBlock: (pattern: Record<string, any>, target: Record<string, any>) => boolean;
@@ -0,0 +1,11 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ exports.checkShouldRenderBlock = void 0;
3
+ const isSingularFieldMatch = (key, pattern) => (target) => pattern[key] === undefined || pattern[key] === target[key];
4
+ const isMultipleFieldMatch = (key, pattern) => (target) => pattern[key] === undefined || pattern[key]?.every((_) => target[key]?.includes(_));
5
+ const checkShouldRenderBlock = (pattern, target) => Object.entries(pattern)
6
+ .map(([key, subPattern]) => Array.isArray(subPattern)
7
+ ? isMultipleFieldMatch(key, pattern)
8
+ : isSingularFieldMatch(key, pattern))
9
+ .every((predicate) => predicate(target));
10
+ exports.checkShouldRenderBlock = checkShouldRenderBlock;
11
+ //# sourceMappingURL=checkShouldRenderBlock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkShouldRenderBlock.js","sourceRoot":"","sources":["../../../src/components/Filtration/checkShouldRenderBlock.ts"],"names":[],"mappings":";;AAAA,MAAM,oBAAoB,GACxB,CAAsD,GAAW,EAAE,OAAU,EAAE,EAAE,CACjF,CAAC,MAAS,EAAE,EAAE,CACZ,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC;AAE/D,MAAM,oBAAoB,GACxB,CAAwD,GAAW,EAAE,OAAU,EAAE,EAAE,CACnF,CAAC,MAAS,EAAE,EAAE,CACZ,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAEhF,MAAM,sBAAsB,GAAG,CAAC,OAA4B,EAAE,MAA2B,EAAE,EAAE,CAClG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;KACpB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE,CACzB,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;IACvB,CAAC,CAAC,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC;IACpC,CAAC,CAAC,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,CACvC;KACA,KAAK,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAPhC,QAAA,sBAAsB,0BAOU"}
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import type { FormElementRegisterer } from '../../hooks/useForm';
3
+ import type { FiltrationSchema } from './FiltrationContent';
4
+ export declare const renderFormItem: (filtrationSchema: FiltrationSchema, register: FormElementRegisterer) => (key: string) => JSX.Element | null;
@@ -0,0 +1,21 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ exports.renderFormItem = void 0;
3
+ const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
4
+ const SlideCheckboxGroup_1 = require("../../ui-kit/SlideCheckboxGroup/SlideCheckboxGroup");
5
+ const Text_1 = require("../../ui-kit/Text/Text");
6
+ const renderFormItem = (filtrationSchema, register) => (key) => {
7
+ const item = filtrationSchema[key];
8
+ const type = item?.type;
9
+ switch (type) {
10
+ case 'string':
11
+ return renderRadioButtons(key, register)(item);
12
+ default:
13
+ return null;
14
+ }
15
+ };
16
+ exports.renderFormItem = renderFormItem;
17
+ const renderRadioButtons = (key, register) => (item) => {
18
+ const options = item?.enum?.map((e, i) => ({ value: e, title: item?.enumNames?.[i] || '' })) || [];
19
+ return ((0, jsx_runtime_1.jsxs)("div", { role: "radiogroup", children: [item?.title ? ((0, jsx_runtime_1.jsx)("div", { className: "mb-4", 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: false, ...register(key) })] }, key));
20
+ };
21
+ //# sourceMappingURL=renderFormItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderFormItem.js","sourceRoot":"","sources":["../../../src/components/Filtration/renderFormItem.tsx"],"names":[],"mappings":";;;AACA,2FAAwF;AACxF,iDAA8C;AAGvC,MAAM,cAAc,GACzB,CAAC,gBAAkC,EAAE,QAA+B,EAAE,EAAE,CAAC,CAAC,GAAW,EAAE,EAAE;IACvF,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAoC,CAAC,CAAC;IACpE,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC;IAExB,QAAQ,IAAI,EAAE;QACZ,KAAK,QAAQ;YACX,OAAO,kBAAkB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;QACjD;YACE,OAAO,IAAI,CAAC;KACf;AACH,CAAC,CAAC;AAXS,QAAA,cAAc,kBAWvB;AAEJ,MAAM,kBAAkB,GACtB,CAAC,GAAW,EAAE,QAA+B,EAAE,EAAE,CAAC,CAAC,IAAiB,EAAE,EAAE;IACtE,MAAM,OAAO,GACX,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAErF,OAAO,CACL,iCAAK,IAAI,EAAC,YAAY,aACnB,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,EAAE,KAAK,KAAM,QAAQ,CAAC,GAAG,CAAC,GAAI,KARhD,GAAG,CASzB,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ export declare type FormElementRegisterer = ReturnType<typeof useForm>['register'];
2
+ export declare const useForm: <FormState extends Record<string, any>>(initialState?: Partial<FormState>) => {
3
+ formState: Partial<FormState>;
4
+ register: <FieldName extends keyof FormState>(fieldName: FieldName) => {
5
+ value?: undefined;
6
+ onChange?: undefined;
7
+ } | {
8
+ value: Partial<FormState>[FieldName];
9
+ onChange: Partial<Record<keyof FormState, () => void>>[FieldName];
10
+ };
11
+ resetForm: () => void;
12
+ };
@@ -0,0 +1,21 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ exports.useForm = void 0;
3
+ const hooks_1 = require("@redneckz/uni-jsx/lib/hooks");
4
+ const useForm = (initialState = {}) => {
5
+ const [formState, setFormState] = (0, hooks_1.useState)(initialState);
6
+ const handlersMap = (0, hooks_1.useRef)({});
7
+ const register = (fieldName) => {
8
+ if (!handlersMap.current) {
9
+ return {};
10
+ }
11
+ const handler = (value) => {
12
+ setFormState((prev) => ({ ...prev, [fieldName]: value }));
13
+ };
14
+ handlersMap.current[fieldName] ||= handler;
15
+ return { value: formState?.[fieldName], onChange: handlersMap.current[fieldName] };
16
+ };
17
+ const resetForm = (0, hooks_1.useCallback)(() => setFormState({}), []);
18
+ return { formState, register, resetForm };
19
+ };
20
+ exports.useForm = useForm;
21
+ //# sourceMappingURL=useForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useForm.js","sourceRoot":"","sources":["../../src/hooks/useForm.ts"],"names":[],"mappings":";;AAAA,uDAA4E;AAIrE,MAAM,OAAO,GAAG,CACrB,eAAmC,EAAE,EACrC,EAAE;IACF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAqB,YAAY,CAAC,CAAC;IAE7E,MAAM,WAAW,GAAG,IAAA,cAAM,EAA+C,EAAE,CAAC,CAAC;IAE7E,MAAM,QAAQ,GAAG,CAAoC,SAAoB,EAAE,EAAE;QAC3E,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;YACxB,OAAO,EAAE,CAAC;SACX;QAED,MAAM,OAAO,GAAG,CAAC,KAA4B,EAAE,EAAE;YAC/C,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC;QAEF,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC;QAE3C,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;IACrF,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAE1D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AAC5C,CAAC,CAAC;AAxBW,QAAA,OAAO,WAwBlB"}
@@ -1,4 +1,5 @@
1
1
  import type { UNIComponent } from '@redneckz/uni-jsx';
2
+ import type { JSONSchema7Definition } from 'json-schema';
2
3
  import type { BlockRendererOptions } from '../BlockRenderer/BlockRendererOptions';
3
4
  import type { SlotName } from './BlockDecorator';
4
5
  import type { BlockVersion } from './BlockVersion';
@@ -22,5 +23,6 @@ export declare type JSXBlock<BlockProps extends UniBlockProps = UniBlockProps> =
22
23
  include?: string[];
23
24
  exclude?: string[];
24
25
  };
26
+ childSchema?: (content: BlockDef['content']) => Record<string, JSONSchema7Definition>;
25
27
  slots?: (props: BlockProps) => SlotName[];
26
28
  };
@@ -0,0 +1,4 @@
1
+ export interface ControlProps<T> {
2
+ value?: T;
3
+ onChange?: (value: T | undefined) => void;
4
+ }
@@ -0,0 +1,2 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ //# sourceMappingURL=ControlProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ControlProps.js","sourceRoot":"","sources":["../../src/ui-kit/ControlProps.ts"],"names":[],"mappings":""}
@@ -7,6 +7,7 @@ interface DefaultFoldButtonProps {
7
7
  label: string;
8
8
  icon: IconName;
9
9
  dataTheme?: ColorPalette;
10
+ disabled?: boolean;
10
11
  onClick?: () => void;
11
12
  }
12
13
  export declare const DefaultFoldButton: import("@redneckz/uni-jsx").UNIComponent<DefaultFoldButtonProps, any, any>;
@@ -2,16 +2,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
2
2
  exports.renderDefaultFoldButton = exports.DefaultFoldButton = 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
+ const style_1 = require("../../utils/style");
5
6
  const Img_1 = require("../Img/Img");
6
- exports.DefaultFoldButton = (0, uni_jsx_1.JSX)(({ className = '', label, icon, dataTheme = '', onClick }) => {
7
+ exports.DefaultFoldButton = (0, uni_jsx_1.JSX)(({ className = '', label, icon, dataTheme = '', disabled = false, onClick }) => {
7
8
  const STATE_STYLE = 'hover:bg-primary-hover focus:border-primary-text active:bg-primary-active outline-none';
8
9
  const DIMENSIONS_STYLE = 'flex justify-center w-full px-0 py-5';
9
- return ((0, jsx_runtime_1.jsxs)("button", { className: [
10
- 'border border-transparent bg-primary-main font-sans text-white cursor-pointer',
11
- STATE_STYLE,
12
- DIMENSIONS_STYLE,
13
- className,
14
- ].join(' '), "data-theme": dataTheme, onClick: onClick, children: [(0, jsx_runtime_1.jsx)("span", { className: "text-h4 pr-3", children: label }), icon ? ((0, jsx_runtime_1.jsx)(Img_1.Img, { image: {
10
+ return ((0, jsx_runtime_1.jsxs)("button", { className: (0, style_1.style)('border border-transparent bg-primary-main font-sans text-white cursor-pointer', STATE_STYLE, DIMENSIONS_STYLE, disabled
11
+ ? 'bg-main-divider text-main-disabled cursor-not-allowed hover:bg-main-divider active:bg-main-divider'
12
+ : '', className), onClick: onClick, disabled: disabled, "data-theme": dataTheme, children: [(0, jsx_runtime_1.jsx)("span", { className: "text-h4 pr-3", children: label }), icon ? ((0, jsx_runtime_1.jsx)(Img_1.Img, { image: {
15
13
  icon,
16
14
  iconVersion: 'white',
17
15
  }, className: "flex-shrink-0 my-auto", width: "20", height: "20", asSVG: true })) : null] }));
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultFoldButton.js","sourceRoot":"","sources":["../../../src/ui-kit/Foldable/DefaultFoldButton.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AAGxC,oCAAiC;AAWpB,QAAA,iBAAiB,GAAG,IAAA,aAAG,EAClC,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;IAC3D,MAAM,WAAW,GACf,wFAAwF,CAAC;IAC3F,MAAM,gBAAgB,GAAG,sCAAsC,CAAC;IAEhE,OAAO,CACL,oCACE,SAAS,EAAE;YACT,+EAA+E;YAC/E,WAAW;YACX,gBAAgB;YAChB,SAAS;SACV,CAAC,IAAI,CAAC,GAAG,CAAC,gBACC,SAAS,EACrB,OAAO,EAAE,OAAO,aAEhB,iCAAM,SAAS,EAAC,cAAc,YAAE,KAAK,GAAQ,EAC5C,IAAI,CAAC,CAAC,CAAC,CACN,uBAAC,SAAG,IACF,KAAK,EAAE;oBACL,IAAI;oBACJ,WAAW,EAAE,OAAO;iBACrB,EACD,SAAS,EAAC,uBAAuB,EACjC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,KAAK,SACL,CACH,CAAC,CAAC,CAAC,IAAI,IACD,CACV,CAAC;AACJ,CAAC,CACF,CAAC;AAEK,MAAM,uBAAuB,GAAG,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAqB,EAAE,EAAE;IACrF,MAAM,MAAM,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACxC,MAAM,KAAK,GAAe,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IAE3D,OAAO,CACL,uBAAC,yBAAiB,IAChB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EACjC,OAAO,EAAE,QAAQ,GACjB,CACH,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,uBAAuB,2BAWlC"}
1
+ {"version":3,"file":"DefaultFoldButton.js","sourceRoot":"","sources":["../../../src/ui-kit/Foldable/DefaultFoldButton.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AAExC,6CAA0C;AAE1C,oCAAiC;AAYpB,QAAA,iBAAiB,GAAG,IAAA,aAAG,EAClC,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,GAAG,EAAE,EAAE,QAAQ,GAAG,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;IAC7E,MAAM,WAAW,GACf,wFAAwF,CAAC;IAC3F,MAAM,gBAAgB,GAAG,sCAAsC,CAAC;IAEhE,OAAO,CACL,oCACE,SAAS,EAAE,IAAA,aAAK,EACd,+EAA+E,EAC/E,WAAW,EACX,gBAAgB,EAChB,QAAQ;YACN,CAAC,CAAC,oGAAoG;YACtG,CAAC,CAAC,EAAE,EACN,SAAS,CACV,EACD,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,gBACN,SAAS,aAErB,iCAAM,SAAS,EAAC,cAAc,YAAE,KAAK,GAAQ,EAC5C,IAAI,CAAC,CAAC,CAAC,CACN,uBAAC,SAAG,IACF,KAAK,EAAE;oBACL,IAAI;oBACJ,WAAW,EAAE,OAAO;iBACrB,EACD,SAAS,EAAC,uBAAuB,EACjC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,KAAK,SACL,CACH,CAAC,CAAC,CAAC,IAAI,IACD,CACV,CAAC;AACJ,CAAC,CACF,CAAC;AAEK,MAAM,uBAAuB,GAAG,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAqB,EAAE,EAAE;IACrF,MAAM,MAAM,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACxC,MAAM,KAAK,GAAe,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IAE3D,OAAO,CACL,uBAAC,yBAAiB,IAChB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EACjC,OAAO,EAAE,QAAQ,GACjB,CACH,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,uBAAuB,2BAWlC"}
@@ -1,7 +1,8 @@
1
1
  interface SlideCheckboxProps {
2
- checked?: boolean;
2
+ value?: boolean;
3
3
  text?: string;
4
- onClick?: () => void;
4
+ type?: 'checkbox' | 'radio';
5
+ onChange?: (value: boolean) => void;
5
6
  }
6
7
  export declare const SlideCheckbox: import("@redneckz/uni-jsx").UNIComponent<SlideCheckboxProps, any, any>;
7
8
  export {};
@@ -2,6 +2,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
2
2
  exports.SlideCheckbox = 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
- const Text_1 = require("../../ui-kit/Text/Text");
6
- exports.SlideCheckbox = (0, uni_jsx_1.JSX)(({ checked, text, onClick }) => ((0, jsx_runtime_1.jsxs)("div", { role: "checkbox", "aria-checked": checked, className: "flex justify-start items-center w-full cursor-pointer mb-4", onClick: () => onClick && onClick(), children: [(0, jsx_runtime_1.jsx)("div", { className: `relative duration-300 w-9 h-5 mr-3 rounded rounded-2xl ${checked ? 'bg-primary-main' : 'bg-main-divider'}`, children: (0, jsx_runtime_1.jsx)("div", { className: `absolute opacity-80 duration-500 top-0.5 w-4 h-4 bg-white rounded rounded-full ${checked ? 'left-[50%]' : 'left-[5%]'}` }) }), (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)(Text_1.Text, { size: "text-m", font: "font-light", color: "text-primary-text", children: text }) })] })));
5
+ const Text_1 = require("../Text/Text");
6
+ exports.SlideCheckbox = (0, uni_jsx_1.JSX)(({ value = false, text, type = 'checkbox', onChange }) => ((0, jsx_runtime_1.jsxs)("div", { role: type, "aria-checked": value, className: "flex justify-start items-center w-full cursor-pointer mb-4", onClick: () => onChange && onChange(!value), children: [(0, jsx_runtime_1.jsx)("div", { className: `relative flex-shrink-0 duration-300 w-9 h-5 mr-3 rounded-2xl ${value ? 'bg-primary-main' : 'bg-main-divider'}`, children: (0, jsx_runtime_1.jsx)("div", { className: `absolute opacity-80 duration-500 top-0.5 w-4 h-4 bg-white rounded-full ${value ? 'left-[50%]' : 'left-[5%]'}` }) }), (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)(Text_1.Text, { size: "text-m", font: "font-light", color: "text-primary-text", children: text }) })] })));
7
7
  //# sourceMappingURL=SlideCheckbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SlideCheckbox.js","sourceRoot":"","sources":["../../../src/ui-kit/SlideCheckbox/SlideCheckbox.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,iDAA8C;AAOjC,QAAA,aAAa,GAAG,IAAA,aAAG,EAAqB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CACnF,iCACE,IAAI,EAAC,UAAU,kBACD,OAAO,EACrB,SAAS,EAAC,4DAA4D,EACtE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,IAAI,OAAO,EAAE,aAEnC,gCACE,SAAS,EAAE,0DACT,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAChC,EAAE,YAEF,gCACE,SAAS,EAAE,kFACT,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAC3B,EAAE,GACF,GACE,EACN,0CACE,uBAAC,WAAI,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,YAAY,EAAC,KAAK,EAAC,mBAAmB,YAC5D,IAAI,GACA,GACH,IACF,CACP,CAAC,CAAC"}
1
+ {"version":3,"file":"SlideCheckbox.js","sourceRoot":"","sources":["../../../src/ui-kit/SlideCheckbox/SlideCheckbox.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,uCAAoC;AAQvB,QAAA,aAAa,GAAG,IAAA,aAAG,EAC9B,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CACxD,iCACE,IAAI,EAAE,IAAI,kBACI,KAAK,EACnB,SAAS,EAAC,4DAA4D,EACtE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,KAAK,CAAC,aAE3C,gCACE,SAAS,EAAE,gEACT,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAC9B,EAAE,YAEF,gCACE,SAAS,EAAE,0EACT,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WACzB,EAAE,GACF,GACE,EACN,0CACE,uBAAC,WAAI,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,YAAY,EAAC,KAAK,EAAC,mBAAmB,YAC5D,IAAI,GACA,GACH,IACF,CACP,CACF,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { ControlProps } from '../ControlProps';
2
+ declare type SlideCheckboxGroupItem = {
3
+ value: string;
4
+ title: string;
5
+ };
6
+ interface SlideCheckboxGroupProps extends ControlProps<string> {
7
+ multiple: false;
8
+ items: SlideCheckboxGroupItem[];
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>;
15
+ export {};