@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
@@ -1,5 +1,6 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import type { ColorPalette } from '../../model/ContentPageDef';
3
+ import { style } from '../../utils/style';
3
4
  import type { IconName } from '../Icon/IconProps';
4
5
  import { Img } from '../Img/Img';
5
6
  import type { FoldablePartProps } from './FoldablePartProps';
@@ -9,25 +10,30 @@ interface DefaultFoldButtonProps {
9
10
  label: string;
10
11
  icon: IconName;
11
12
  dataTheme?: ColorPalette;
13
+ disabled?: boolean;
12
14
  onClick?: () => void;
13
15
  }
14
16
 
15
17
  export const DefaultFoldButton = JSX<DefaultFoldButtonProps>(
16
- ({ className = '', label, icon, dataTheme = '', onClick }) => {
18
+ ({ className = '', label, icon, dataTheme = '', disabled = false, onClick }) => {
17
19
  const STATE_STYLE =
18
20
  'hover:bg-primary-hover focus:border-primary-text active:bg-primary-active outline-none';
19
21
  const DIMENSIONS_STYLE = 'flex justify-center w-full px-0 py-5';
20
22
 
21
23
  return (
22
24
  <button
23
- className={[
25
+ className={style(
24
26
  'border border-transparent bg-primary-main font-sans text-white cursor-pointer',
25
27
  STATE_STYLE,
26
28
  DIMENSIONS_STYLE,
29
+ disabled
30
+ ? 'bg-main-divider text-main-disabled cursor-not-allowed hover:bg-main-divider active:bg-main-divider'
31
+ : '',
27
32
  className,
28
- ].join(' ')}
29
- data-theme={dataTheme}
33
+ )}
30
34
  onClick={onClick}
35
+ disabled={disabled}
36
+ data-theme={dataTheme}
31
37
  >
32
38
  <span className="text-h4 pr-3">{label}</span>
33
39
  {icon ? (
@@ -3,7 +3,7 @@ import { SlideCheckbox } from './SlideCheckbox';
3
3
  export default {
4
4
  primary: (
5
5
  <div className="bg-white">
6
- <SlideCheckbox checked={true} text={'Checkbox'} />
6
+ <SlideCheckbox value={true} text={'Checkbox'} />
7
7
  </div>
8
8
  ),
9
9
  };
@@ -1,33 +1,36 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import { Text } from '../../ui-kit/Text/Text';
2
+ import { Text } from '../Text/Text';
3
3
 
4
4
  interface SlideCheckboxProps {
5
- checked?: boolean;
5
+ value?: boolean;
6
6
  text?: string;
7
- onClick?: () => void;
7
+ type?: 'checkbox' | 'radio';
8
+ onChange?: (value: boolean) => void;
8
9
  }
9
- export const SlideCheckbox = JSX<SlideCheckboxProps>(({ checked, text, onClick }) => (
10
- <div
11
- role="checkbox"
12
- aria-checked={checked}
13
- className="flex justify-start items-center w-full cursor-pointer mb-4"
14
- onClick={() => onClick && onClick()}
15
- >
10
+ export const SlideCheckbox = JSX<SlideCheckboxProps>(
11
+ ({ value = false, text, type = 'checkbox', onChange }) => (
16
12
  <div
17
- className={`relative duration-300 w-9 h-5 mr-3 rounded rounded-2xl ${
18
- checked ? 'bg-primary-main' : 'bg-main-divider'
19
- }`}
13
+ role={type}
14
+ aria-checked={value}
15
+ className="flex justify-start items-center w-full cursor-pointer mb-4"
16
+ onClick={() => onChange && onChange(!value)}
20
17
  >
21
18
  <div
22
- className={`absolute opacity-80 duration-500 top-0.5 w-4 h-4 bg-white rounded rounded-full ${
23
- checked ? 'left-[50%]' : 'left-[5%]'
19
+ className={`relative flex-shrink-0 duration-300 w-9 h-5 mr-3 rounded-2xl ${
20
+ value ? 'bg-primary-main' : 'bg-main-divider'
24
21
  }`}
25
- />
22
+ >
23
+ <div
24
+ className={`absolute opacity-80 duration-500 top-0.5 w-4 h-4 bg-white rounded-full ${
25
+ value ? 'left-[50%]' : 'left-[5%]'
26
+ }`}
27
+ />
28
+ </div>
29
+ <div>
30
+ <Text size="text-m" font="font-light" color="text-primary-text">
31
+ {text}
32
+ </Text>
33
+ </div>
26
34
  </div>
27
- <div>
28
- <Text size="text-m" font="font-light" color="text-primary-text">
29
- {text}
30
- </Text>
31
- </div>
32
- </div>
33
- ));
35
+ ),
36
+ );
@@ -0,0 +1,44 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import type { ControlProps } from '../ControlProps';
3
+ import { SlideCheckbox } from '../SlideCheckbox/SlideCheckbox';
4
+
5
+ type SlideCheckboxGroupItem = {
6
+ value: string;
7
+ title: string;
8
+ };
9
+
10
+ interface SlideCheckboxGroupProps extends ControlProps<string> {
11
+ multiple: false;
12
+ items: SlideCheckboxGroupItem[];
13
+ }
14
+
15
+ interface MultipleSlideCheckboxGroupProps extends ControlProps<string[]> {
16
+ multiple: true;
17
+ items: SlideCheckboxGroupItem[];
18
+ }
19
+
20
+ export const SlideCheckboxGroup = JSX<SlideCheckboxGroupProps | MultipleSlideCheckboxGroupProps>(
21
+ ({ value, onChange, items = [], multiple }) => {
22
+ const handleChange = (newValue: string) => {
23
+ if (multiple) {
24
+ const hasAlready = value?.includes(newValue);
25
+ onChange &&
26
+ onChange(
27
+ hasAlready ? value?.filter((v) => v !== newValue) : [...(value || []), newValue],
28
+ );
29
+ } else {
30
+ onChange && onChange(value === newValue ? undefined : newValue);
31
+ }
32
+ };
33
+
34
+ return items.map((item) => (
35
+ <SlideCheckbox
36
+ key={item.value}
37
+ text={item.title}
38
+ value={[value].flatMap((_) => _).includes(item.value)}
39
+ onChange={() => handleChange(item.value)}
40
+ type={multiple ? 'checkbox' : 'radio'}
41
+ />
42
+ ));
43
+ },
44
+ );