@redneckz/wildless-cms-uni-blocks 0.8.30 → 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 (245) hide show
  1. package/bin/migrateContentUnit.js +2 -5
  2. package/bin/migration-scripts/0.8.31.js +86 -0
  3. package/bundle/blocks.schema.json +1 -1
  4. package/bundle/bundle.umd.js +93 -22
  5. package/bundle/bundle.umd.min.js +1 -1
  6. package/bundle/components/Filtration/Filtration.d.ts +6 -0
  7. package/bundle/components/Filtration/FiltrationContent.d.ts +78 -0
  8. package/bundle/components/Filtration/FiltrationInner.d.ts +7 -0
  9. package/bundle/components/Filtration/checkShouldRenderBlock.d.ts +1 -0
  10. package/bundle/components/Filtration/renderFormItem.d.ts +4 -0
  11. package/bundle/content-page-repository/transformImgPath.d.ts +8 -0
  12. package/bundle/hooks/useForm.d.ts +12 -0
  13. package/bundle/model/JSXBlock.d.ts +2 -0
  14. package/bundle/ui-kit/ControlProps.d.ts +4 -0
  15. package/bundle/ui-kit/Foldable/DefaultFoldButton.d.ts +1 -0
  16. package/bundle/ui-kit/SlideCheckbox/SlideCheckbox.d.ts +3 -2
  17. package/bundle/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.d.ts +15 -0
  18. package/dist/components/ApplicationForm/renderSlideCheckboxes.js +1 -1
  19. package/dist/components/ApplicationForm/renderSlideCheckboxes.js.map +1 -1
  20. package/dist/components/Blocks.js +2 -0
  21. package/dist/components/Blocks.js.map +1 -1
  22. package/dist/components/Filtration/Filtration.d.ts +6 -0
  23. package/dist/components/Filtration/Filtration.js +17 -0
  24. package/dist/components/Filtration/Filtration.js.map +1 -0
  25. package/dist/components/Filtration/FiltrationContent.d.ts +78 -0
  26. package/dist/components/Filtration/FiltrationContent.js +2 -0
  27. package/dist/components/Filtration/FiltrationContent.js.map +1 -0
  28. package/dist/components/Filtration/FiltrationInner.d.ts +7 -0
  29. package/dist/components/Filtration/FiltrationInner.js +23 -0
  30. package/dist/components/Filtration/FiltrationInner.js.map +1 -0
  31. package/dist/components/Filtration/checkShouldRenderBlock.d.ts +1 -0
  32. package/dist/components/Filtration/checkShouldRenderBlock.js +11 -0
  33. package/dist/components/Filtration/checkShouldRenderBlock.js.map +1 -0
  34. package/dist/components/Filtration/renderFormItem.d.ts +4 -0
  35. package/dist/components/Filtration/renderFormItem.js +21 -0
  36. package/dist/components/Filtration/renderFormItem.js.map +1 -0
  37. package/dist/content-page-repository/transformImg.js +6 -6
  38. package/dist/content-page-repository/transformImg.js.map +1 -1
  39. package/dist/content-page-repository/transformImgPath.d.ts +8 -0
  40. package/{mobile/dist/content-page-repository/transformSrc.js → dist/content-page-repository/transformImgPath.js} +7 -5
  41. package/dist/content-page-repository/transformImgPath.js.map +1 -0
  42. package/dist/content-page-repository/transformPicture.js +3 -3
  43. package/dist/content-page-repository/transformPicture.js.map +1 -1
  44. package/dist/hooks/useForm.d.ts +12 -0
  45. package/dist/hooks/useForm.js +21 -0
  46. package/dist/hooks/useForm.js.map +1 -0
  47. package/dist/model/JSXBlock.d.ts +2 -0
  48. package/dist/ui-kit/ControlProps.d.ts +4 -0
  49. package/dist/ui-kit/ControlProps.js +2 -0
  50. package/dist/ui-kit/ControlProps.js.map +1 -0
  51. package/dist/ui-kit/Foldable/DefaultFoldButton.d.ts +1 -0
  52. package/dist/ui-kit/Foldable/DefaultFoldButton.js +5 -7
  53. package/dist/ui-kit/Foldable/DefaultFoldButton.js.map +1 -1
  54. package/dist/ui-kit/SlideCheckbox/SlideCheckbox.d.ts +3 -2
  55. package/dist/ui-kit/SlideCheckbox/SlideCheckbox.js +2 -2
  56. package/dist/ui-kit/SlideCheckbox/SlideCheckbox.js.map +1 -1
  57. package/dist/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.d.ts +15 -0
  58. package/dist/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js +19 -0
  59. package/dist/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js.map +1 -0
  60. package/lib/common.css +1 -1
  61. package/lib/components/ApplicationForm/renderSlideCheckboxes.js +1 -1
  62. package/lib/components/ApplicationForm/renderSlideCheckboxes.js.map +1 -1
  63. package/lib/components/Blocks.js +2 -0
  64. package/lib/components/Blocks.js.map +1 -1
  65. package/lib/components/Filtration/Filtration.d.ts +6 -0
  66. package/lib/components/Filtration/Filtration.fixture.d.ts +5 -0
  67. package/lib/components/Filtration/Filtration.js +15 -0
  68. package/lib/components/Filtration/Filtration.js.map +1 -0
  69. package/lib/components/Filtration/FiltrationContent.d.ts +78 -0
  70. package/lib/components/Filtration/FiltrationContent.js +2 -0
  71. package/lib/components/Filtration/FiltrationContent.js.map +1 -0
  72. package/lib/components/Filtration/FiltrationInner.d.ts +7 -0
  73. package/lib/components/Filtration/FiltrationInner.js +21 -0
  74. package/lib/components/Filtration/FiltrationInner.js.map +1 -0
  75. package/lib/components/Filtration/checkShouldRenderBlock.d.ts +1 -0
  76. package/lib/components/Filtration/checkShouldRenderBlock.js +8 -0
  77. package/lib/components/Filtration/checkShouldRenderBlock.js.map +1 -0
  78. package/lib/components/Filtration/renderFormItem.d.ts +4 -0
  79. package/lib/components/Filtration/renderFormItem.js +18 -0
  80. package/lib/components/Filtration/renderFormItem.js.map +1 -0
  81. package/lib/content-page-repository/transformImg.js +6 -6
  82. package/lib/content-page-repository/transformImg.js.map +1 -1
  83. package/lib/content-page-repository/transformImgPath.d.ts +8 -0
  84. package/lib/content-page-repository/{transformSrc.js → transformImgPath.js} +5 -3
  85. package/lib/content-page-repository/transformImgPath.js.map +1 -0
  86. package/lib/content-page-repository/transformPicture.js +3 -3
  87. package/lib/content-page-repository/transformPicture.js.map +1 -1
  88. package/lib/hooks/useForm.d.ts +12 -0
  89. package/lib/hooks/useForm.js +18 -0
  90. package/lib/hooks/useForm.js.map +1 -0
  91. package/lib/model/JSXBlock.d.ts +2 -0
  92. package/lib/ui-kit/ControlProps.d.ts +4 -0
  93. package/lib/ui-kit/ControlProps.js +2 -0
  94. package/lib/ui-kit/ControlProps.js.map +1 -0
  95. package/lib/ui-kit/Foldable/DefaultFoldButton.d.ts +1 -0
  96. package/lib/ui-kit/Foldable/DefaultFoldButton.js +5 -7
  97. package/lib/ui-kit/Foldable/DefaultFoldButton.js.map +1 -1
  98. package/lib/ui-kit/SlideCheckbox/SlideCheckbox.d.ts +3 -2
  99. package/lib/ui-kit/SlideCheckbox/SlideCheckbox.js +2 -2
  100. package/lib/ui-kit/SlideCheckbox/SlideCheckbox.js.map +1 -1
  101. package/lib/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.d.ts +15 -0
  102. package/lib/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js +17 -0
  103. package/lib/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js.map +1 -0
  104. package/mobile/bundle/bundle.umd.js +5 -8
  105. package/mobile/bundle/bundle.umd.min.js +1 -1
  106. package/mobile/bundle/components/Filtration/Filtration.d.ts +6 -0
  107. package/mobile/bundle/components/Filtration/FiltrationContent.d.ts +78 -0
  108. package/mobile/bundle/components/Filtration/FiltrationInner.d.ts +7 -0
  109. package/mobile/bundle/components/Filtration/checkShouldRenderBlock.d.ts +1 -0
  110. package/mobile/bundle/components/Filtration/renderFormItem.d.ts +4 -0
  111. package/mobile/bundle/content-page-repository/transformImgPath.d.ts +8 -0
  112. package/mobile/bundle/hooks/useForm.d.ts +12 -0
  113. package/mobile/bundle/model/JSXBlock.d.ts +2 -0
  114. package/mobile/bundle/ui-kit/ControlProps.d.ts +4 -0
  115. package/mobile/bundle/ui-kit/Foldable/DefaultFoldButton.d.ts +1 -0
  116. package/mobile/bundle/ui-kit/SlideCheckbox/SlideCheckbox.d.ts +3 -2
  117. package/mobile/bundle/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.d.ts +15 -0
  118. package/mobile/dist/components/ApplicationForm/renderSlideCheckboxes.js +1 -1
  119. package/mobile/dist/components/ApplicationForm/renderSlideCheckboxes.js.map +1 -1
  120. package/mobile/dist/components/Filtration/Filtration.d.ts +6 -0
  121. package/mobile/dist/components/Filtration/Filtration.js +17 -0
  122. package/mobile/dist/components/Filtration/Filtration.js.map +1 -0
  123. package/mobile/dist/components/Filtration/FiltrationContent.d.ts +78 -0
  124. package/mobile/dist/components/Filtration/FiltrationContent.js +2 -0
  125. package/mobile/dist/components/Filtration/FiltrationContent.js.map +1 -0
  126. package/mobile/dist/components/Filtration/FiltrationInner.d.ts +7 -0
  127. package/mobile/dist/components/Filtration/FiltrationInner.js +23 -0
  128. package/mobile/dist/components/Filtration/FiltrationInner.js.map +1 -0
  129. package/mobile/dist/components/Filtration/checkShouldRenderBlock.d.ts +1 -0
  130. package/mobile/dist/components/Filtration/checkShouldRenderBlock.js +11 -0
  131. package/mobile/dist/components/Filtration/checkShouldRenderBlock.js.map +1 -0
  132. package/mobile/dist/components/Filtration/renderFormItem.d.ts +4 -0
  133. package/mobile/dist/components/Filtration/renderFormItem.js +21 -0
  134. package/mobile/dist/components/Filtration/renderFormItem.js.map +1 -0
  135. package/mobile/dist/content-page-repository/transformImg.js +6 -6
  136. package/mobile/dist/content-page-repository/transformImg.js.map +1 -1
  137. package/mobile/dist/content-page-repository/transformImgPath.d.ts +8 -0
  138. package/{dist/content-page-repository/transformSrc.js → mobile/dist/content-page-repository/transformImgPath.js} +7 -5
  139. package/mobile/dist/content-page-repository/transformImgPath.js.map +1 -0
  140. package/mobile/dist/content-page-repository/transformPicture.js +3 -3
  141. package/mobile/dist/content-page-repository/transformPicture.js.map +1 -1
  142. package/mobile/dist/hooks/useForm.d.ts +12 -0
  143. package/mobile/dist/hooks/useForm.js +21 -0
  144. package/mobile/dist/hooks/useForm.js.map +1 -0
  145. package/mobile/dist/model/JSXBlock.d.ts +2 -0
  146. package/mobile/dist/ui-kit/ControlProps.d.ts +4 -0
  147. package/mobile/dist/ui-kit/ControlProps.js +2 -0
  148. package/mobile/dist/ui-kit/ControlProps.js.map +1 -0
  149. package/mobile/dist/ui-kit/Foldable/DefaultFoldButton.d.ts +1 -0
  150. package/mobile/dist/ui-kit/Foldable/DefaultFoldButton.js +5 -7
  151. package/mobile/dist/ui-kit/Foldable/DefaultFoldButton.js.map +1 -1
  152. package/mobile/dist/ui-kit/SlideCheckbox/SlideCheckbox.d.ts +3 -2
  153. package/mobile/dist/ui-kit/SlideCheckbox/SlideCheckbox.js +2 -2
  154. package/mobile/dist/ui-kit/SlideCheckbox/SlideCheckbox.js.map +1 -1
  155. package/mobile/dist/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.d.ts +15 -0
  156. package/mobile/dist/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js +19 -0
  157. package/mobile/dist/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js.map +1 -0
  158. package/mobile/lib/components/ApplicationForm/renderSlideCheckboxes.js +1 -1
  159. package/mobile/lib/components/ApplicationForm/renderSlideCheckboxes.js.map +1 -1
  160. package/mobile/lib/components/Filtration/Filtration.d.ts +6 -0
  161. package/mobile/lib/components/Filtration/Filtration.js +15 -0
  162. package/mobile/lib/components/Filtration/Filtration.js.map +1 -0
  163. package/mobile/lib/components/Filtration/FiltrationContent.d.ts +78 -0
  164. package/mobile/lib/components/Filtration/FiltrationContent.js +2 -0
  165. package/mobile/lib/components/Filtration/FiltrationContent.js.map +1 -0
  166. package/mobile/lib/components/Filtration/FiltrationInner.d.ts +7 -0
  167. package/mobile/lib/components/Filtration/FiltrationInner.js +21 -0
  168. package/mobile/lib/components/Filtration/FiltrationInner.js.map +1 -0
  169. package/mobile/lib/components/Filtration/checkShouldRenderBlock.d.ts +1 -0
  170. package/mobile/lib/components/Filtration/checkShouldRenderBlock.js +8 -0
  171. package/mobile/lib/components/Filtration/checkShouldRenderBlock.js.map +1 -0
  172. package/mobile/lib/components/Filtration/renderFormItem.d.ts +4 -0
  173. package/mobile/lib/components/Filtration/renderFormItem.js +18 -0
  174. package/mobile/lib/components/Filtration/renderFormItem.js.map +1 -0
  175. package/mobile/lib/content-page-repository/transformImg.js +6 -6
  176. package/mobile/lib/content-page-repository/transformImg.js.map +1 -1
  177. package/mobile/lib/content-page-repository/transformImgPath.d.ts +8 -0
  178. package/mobile/lib/content-page-repository/{transformSrc.js → transformImgPath.js} +5 -3
  179. package/mobile/lib/content-page-repository/transformImgPath.js.map +1 -0
  180. package/mobile/lib/content-page-repository/transformPicture.js +3 -3
  181. package/mobile/lib/content-page-repository/transformPicture.js.map +1 -1
  182. package/mobile/lib/hooks/useForm.d.ts +12 -0
  183. package/mobile/lib/hooks/useForm.js +18 -0
  184. package/mobile/lib/hooks/useForm.js.map +1 -0
  185. package/mobile/lib/model/JSXBlock.d.ts +2 -0
  186. package/mobile/lib/ui-kit/ControlProps.d.ts +4 -0
  187. package/mobile/lib/ui-kit/ControlProps.js +2 -0
  188. package/mobile/lib/ui-kit/ControlProps.js.map +1 -0
  189. package/mobile/lib/ui-kit/Foldable/DefaultFoldButton.d.ts +1 -0
  190. package/mobile/lib/ui-kit/Foldable/DefaultFoldButton.js +5 -7
  191. package/mobile/lib/ui-kit/Foldable/DefaultFoldButton.js.map +1 -1
  192. package/mobile/lib/ui-kit/SlideCheckbox/SlideCheckbox.d.ts +3 -2
  193. package/mobile/lib/ui-kit/SlideCheckbox/SlideCheckbox.js +2 -2
  194. package/mobile/lib/ui-kit/SlideCheckbox/SlideCheckbox.js.map +1 -1
  195. package/mobile/lib/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.d.ts +15 -0
  196. package/mobile/lib/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js +17 -0
  197. package/mobile/lib/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js.map +1 -0
  198. package/mobile/src/components/ApplicationForm/renderSlideCheckboxes.tsx +4 -4
  199. package/mobile/src/components/Filtration/Filtration.example.json +37 -0
  200. package/mobile/src/components/Filtration/Filtration.tsx +41 -0
  201. package/mobile/src/components/Filtration/Filtration.ui.json +1 -0
  202. package/mobile/src/components/Filtration/FiltrationContent.ts +87 -0
  203. package/mobile/src/components/Filtration/FiltrationInner.tsx +67 -0
  204. package/mobile/src/components/Filtration/checkShouldRenderBlock.ts +18 -0
  205. package/mobile/src/components/Filtration/renderFormItem.tsx +36 -0
  206. package/mobile/src/content-page-repository/transformImg.ts +6 -9
  207. package/mobile/src/content-page-repository/{transformSrc.ts → transformImgPath.ts} +12 -3
  208. package/mobile/src/content-page-repository/transformPicture.ts +3 -6
  209. package/mobile/src/hooks/useForm.ts +29 -0
  210. package/mobile/src/model/JSXBlock.ts +2 -0
  211. package/mobile/src/ui-kit/ControlProps.ts +4 -0
  212. package/mobile/src/ui-kit/Foldable/DefaultFoldButton.tsx +10 -4
  213. package/mobile/src/ui-kit/SlideCheckbox/SlideCheckbox.tsx +26 -23
  214. package/mobile/src/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.tsx +44 -0
  215. package/package.json +2 -1
  216. package/src/components/ApplicationForm/renderSlideCheckboxes.tsx +4 -4
  217. package/src/components/Blocks.ts +2 -0
  218. package/src/components/Filtration/Filtration.example.json +37 -0
  219. package/src/components/Filtration/Filtration.fixture.tsx +147 -0
  220. package/src/components/Filtration/Filtration.tsx +41 -0
  221. package/src/components/Filtration/Filtration.ui.json +1 -0
  222. package/src/components/Filtration/FiltrationContent.ts +87 -0
  223. package/src/components/Filtration/FiltrationInner.tsx +67 -0
  224. package/src/components/Filtration/checkShouldRenderBlock.ts +18 -0
  225. package/src/components/Filtration/renderFormItem.tsx +36 -0
  226. package/src/content-page-repository/transformImg.ts +6 -9
  227. package/src/content-page-repository/{transformSrc.ts → transformImgPath.ts} +12 -3
  228. package/src/content-page-repository/transformPicture.ts +3 -6
  229. package/src/hooks/useForm.ts +29 -0
  230. package/src/model/JSXBlock.ts +2 -0
  231. package/src/ui-kit/ControlProps.ts +4 -0
  232. package/src/ui-kit/Foldable/DefaultFoldButton.tsx +10 -4
  233. package/src/ui-kit/SlideCheckbox/SlideCheckbox.fixture.tsx +1 -1
  234. package/src/ui-kit/SlideCheckbox/SlideCheckbox.tsx +26 -23
  235. package/src/ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.tsx +44 -0
  236. package/bundle/content-page-repository/transformSrc.d.ts +0 -3
  237. package/dist/content-page-repository/transformSrc.d.ts +0 -3
  238. package/dist/content-page-repository/transformSrc.js.map +0 -1
  239. package/lib/content-page-repository/transformSrc.d.ts +0 -3
  240. package/lib/content-page-repository/transformSrc.js.map +0 -1
  241. package/mobile/bundle/content-page-repository/transformSrc.d.ts +0 -3
  242. package/mobile/dist/content-page-repository/transformSrc.d.ts +0 -3
  243. package/mobile/dist/content-page-repository/transformSrc.js.map +0 -1
  244. package/mobile/lib/content-page-repository/transformSrc.d.ts +0 -3
  245. package/mobile/lib/content-page-repository/transformSrc.js.map +0 -1
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
2
+ import { SlideCheckboxGroup } from '../../ui-kit/SlideCheckboxGroup/SlideCheckboxGroup.js';
3
+ import { Text } from '../../ui-kit/Text/Text.js';
4
+ export const renderFormItem = (filtrationSchema, register) => (key) => {
5
+ const item = filtrationSchema[key];
6
+ const type = item?.type;
7
+ switch (type) {
8
+ case 'string':
9
+ return renderRadioButtons(key, register)(item);
10
+ default:
11
+ return null;
12
+ }
13
+ };
14
+ const renderRadioButtons = (key, register) => (item) => {
15
+ const options = item?.enum?.map((e, i) => ({ value: e, title: item?.enumNames?.[i] || '' })) || [];
16
+ return (_jsxs("div", { role: "radiogroup", children: [item?.title ? (_jsx("div", { className: "mb-4", children: _jsx(Text, { size: "text-m", font: "font-light", color: "text-secondary-text", children: item.title }) })) : null, _jsx(SlideCheckboxGroup, { items: options, multiple: false, ...register(key) })] }, key));
17
+ };
18
+ //# sourceMappingURL=renderFormItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderFormItem.js","sourceRoot":"","sources":["../../../src/components/Filtration/renderFormItem.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AACxF,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAG9C,MAAM,CAAC,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;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,eAAK,IAAI,EAAC,YAAY,aACnB,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,EAAE,KAAK,KAAM,QAAQ,CAAC,GAAG,CAAC,GAAI,KARhD,GAAG,CASzB,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -3,7 +3,7 @@ import path from 'path';
3
3
  import sharp from 'sharp';
4
4
  import util from 'util';
5
5
  import { isPictureSizeEmpty } from '../utils/isPictureSizeEmpty.js';
6
- import { transformSrc } from './transformSrc.js';
6
+ import { transformImgPath } from './transformImgPath.js';
7
7
  const mkdir = util.promisify(fs.mkdir);
8
8
  export async function transformImg({ pagePath, src, containerSize, transformationOptions, }) {
9
9
  if (!src) {
@@ -27,16 +27,16 @@ export async function transformImg({ pagePath, src, containerSize, transformatio
27
27
  if (format) {
28
28
  chain = chain.toFormat(format, options);
29
29
  }
30
- const transformedSrc = transformSrc(src, transformationOptions);
31
- const transformedImgPath = `${publicDir}/${path.relative(contentDir, `${path.dirname(pagePath)}/${transformedSrc}`)}`;
32
- await mkdir(path.dirname(transformedImgPath), { recursive: true });
30
+ const transformedImgPath = transformImgPath(src, { pageDir, contentDir }, transformationOptions);
31
+ const imgPublicPath = path.join(publicDir, transformedImgPath);
32
+ await mkdir(path.dirname(imgPublicPath), { recursive: true });
33
33
  try {
34
- await chain.toFile(transformedImgPath);
34
+ await chain.toFile(imgPublicPath);
35
35
  }
36
36
  catch (e) {
37
37
  console.error(e);
38
38
  }
39
- return transformedSrc;
39
+ return transformedImgPath;
40
40
  }
41
41
  function createBackgroundImageChain({ width, height }) {
42
42
  const channels = 4;
@@ -1 +1 @@
1
- {"version":3,"file":"transformImg.js","sourceRoot":"","sources":["../../src/content-page-repository/transformImg.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transformImg.js","sourceRoot":"","sources":["../../src/content-page-repository/transformImg.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { ImgSource } from '../model/Picture';
2
+ import type { TransformationOptions } from './TransformationOptions';
3
+ interface DirectoryParams {
4
+ pageDir: string;
5
+ contentDir: string;
6
+ }
7
+ export declare function transformImgPath(src: string, { pageDir, contentDir }: DirectoryParams, { format, size }: TransformationOptions & ImgSource): string;
8
+ export {};
@@ -1,14 +1,16 @@
1
1
  import path from 'path';
2
2
  import { isPictureSizeEmpty } from '../utils/isPictureSizeEmpty.js';
3
- export function transformSrc(src, { format, size }) {
3
+ export function transformImgPath(src, { pageDir, contentDir }, { format, size }) {
4
4
  const noTransform = isPictureSizeEmpty(size) && !format;
5
5
  if (noTransform) {
6
6
  return src;
7
7
  }
8
+ const imgPath = path.relative(contentDir, path.join(pageDir, src));
9
+ const imgDir = path.dirname(imgPath);
8
10
  const fileName = path.basename(src, path.extname(src));
9
11
  const fileSizes = [size?.width, size?.height].filter(Boolean);
10
12
  const suffix = fileSizes.length ? `-${fileSizes.join('-')}` : '';
11
13
  const ext = format ? String(format) : 'webp';
12
- return `${fileName}${suffix}.${ext}`;
14
+ return path.join(imgDir, `${fileName}${suffix}.${ext}`);
13
15
  }
14
- //# sourceMappingURL=transformSrc.js.map
16
+ //# sourceMappingURL=transformImgPath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformImgPath.js","sourceRoot":"","sources":["../../src/content-page-repository/transformImgPath.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAQjE,MAAM,UAAU,gBAAgB,CAC9B,GAAW,EACX,EAAE,OAAO,EAAE,UAAU,EAAmB,EACxC,EAAE,MAAM,EAAE,IAAI,EAAqC;IAEnD,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IACxD,IAAI,WAAW,EAAE;QACf,OAAO,GAAG,CAAC;KACZ;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAErC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAE7C,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC;AAC1D,CAAC"}
@@ -9,7 +9,7 @@ export async function transformPicture(pagePath, picture, options) {
9
9
  src,
10
10
  transformationOptions: { ...options, ...picture },
11
11
  });
12
- const { width, height } = await sharp(path.resolve(options.publicDir, path.relative(options.contentDir, `${path.dirname(pagePath)}/${transformedPicture}`))).metadata();
12
+ const { width, height } = await sharp(path.resolve(options.publicDir, transformedPicture)).metadata();
13
13
  const containerSize = width && height ? { width, height } : undefined;
14
14
  const transformedSources = await Promise.all(sources.map((_) => transformImg({
15
15
  pagePath,
@@ -19,10 +19,10 @@ export async function transformPicture(pagePath, picture, options) {
19
19
  })));
20
20
  return {
21
21
  ...picture,
22
- src: transformedPicture,
22
+ src: path.join('/', transformedPicture),
23
23
  sources: transformedSources.map((_, i) => ({
24
24
  ...sources[i],
25
- src: _,
25
+ src: path.join('/', _),
26
26
  size: { width, height },
27
27
  })),
28
28
  };
@@ -1 +1 @@
1
- {"version":3,"file":"transformPicture.js","sourceRoot":"","sources":["../../src/content-page-repository/transformPicture.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAgB,EAChB,OAAgB,EAChB,OAA8B;IAE9B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IACtC,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;IAE/B,MAAM,kBAAkB,GAAG,MAAM,YAAY,CAAC;QAC5C,QAAQ;QACR,GAAG;QACH,qBAAqB,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,EAAE;KAClD,CAAC,CAAC;IAEH,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CACnC,IAAI,CAAC,OAAO,CACV,OAAO,CAAC,SAAS,EACjB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,kBAAkB,EAAE,CAAC,CACrF,CACF,CAAC,QAAQ,EAAE,CAAC;IAEb,MAAM,aAAa,GAAG,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAEtE,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC1C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAChB,YAAY,CAAC;QACX,QAAQ;QACR,GAAG;QACH,aAAa;QACb,qBAAqB,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,CAAC,EAAE;KAC5C,CAAC,CACH,CACF,CAAC;IAEF,OAAO;QACL,GAAG,OAAO;QACV,GAAG,EAAE,kBAAkB;QACvB,OAAO,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACzC,GAAG,OAAO,CAAC,CAAC,CAAC;YACb,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;SACxB,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"transformPicture.js","sourceRoot":"","sources":["../../src/content-page-repository/transformPicture.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAgB,EAChB,OAAgB,EAChB,OAA8B;IAE9B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IACtC,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;IAE/B,MAAM,kBAAkB,GAAG,MAAM,YAAY,CAAC;QAC5C,QAAQ;QACR,GAAG;QACH,qBAAqB,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,EAAE;KAClD,CAAC,CAAC;IAEH,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CACnC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,kBAAkB,CAAC,CACpD,CAAC,QAAQ,EAAE,CAAC;IAEb,MAAM,aAAa,GAAG,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAEtE,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC1C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAChB,YAAY,CAAC;QACX,QAAQ;QACR,GAAG;QACH,aAAa;QACb,qBAAqB,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,CAAC,EAAE;KAC5C,CAAC,CACH,CACF,CAAC;IAEF,OAAO;QACL,GAAG,OAAO;QACV,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,kBAAkB,CAAC;QACvC,OAAO,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACzC,GAAG,OAAO,CAAC,CAAC,CAAC;YACb,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACtB,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;SACxB,CAAC,CAAC;KACJ,CAAC;AACJ,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,18 @@
1
+ import { useCallback, useRef, useState } from '@redneckz/uni-jsx/lib/hooks';
2
+ export const useForm = (initialState = {}) => {
3
+ const [formState, setFormState] = useState(initialState);
4
+ const handlersMap = useRef({});
5
+ const register = (fieldName) => {
6
+ if (!handlersMap.current) {
7
+ return {};
8
+ }
9
+ const handler = (value) => {
10
+ setFormState((prev) => ({ ...prev, [fieldName]: value }));
11
+ };
12
+ handlersMap.current[fieldName] ||= handler;
13
+ return { value: formState?.[fieldName], onChange: handlersMap.current[fieldName] };
14
+ };
15
+ const resetForm = useCallback(() => setFormState({}), []);
16
+ return { formState, register, resetForm };
17
+ };
18
+ //# sourceMappingURL=useForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useForm.js","sourceRoot":"","sources":["../../src/hooks/useForm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAI5E,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,eAAmC,EAAE,EACrC,EAAE;IACF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAqB,YAAY,CAAC,CAAC;IAE7E,MAAM,WAAW,GAAG,MAAM,CAA+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,WAAW,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAE1D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AAC5C,CAAC,CAAC"}
@@ -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
+ export {};
2
+ //# sourceMappingURL=ControlProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ControlProps.js","sourceRoot":"","sources":["../../src/ui-kit/ControlProps.ts"],"names":[],"mappings":""}
@@ -6,6 +6,7 @@ interface DefaultFoldButtonProps {
6
6
  label: string;
7
7
  icon: IconName;
8
8
  dataTheme?: ColorPalette;
9
+ disabled?: boolean;
9
10
  onClick?: () => void;
10
11
  }
11
12
  export declare const DefaultFoldButton: import("@redneckz/uni-jsx").UNIComponent<DefaultFoldButtonProps, any, any>;
@@ -1,15 +1,13 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
2
2
  import { JSX } from '@redneckz/uni-jsx';
3
+ import { style } from '../../utils/style.js';
3
4
  import { Img } from '../Img/Img.js';
4
- export const DefaultFoldButton = JSX(({ className = '', label, icon, dataTheme = '', onClick }) => {
5
+ export const DefaultFoldButton = JSX(({ className = '', label, icon, dataTheme = '', disabled = false, onClick }) => {
5
6
  const STATE_STYLE = 'hover:bg-primary-hover focus:border-primary-text active:bg-primary-active outline-none';
6
7
  const DIMENSIONS_STYLE = 'flex justify-center w-full px-0 py-5';
7
- return (_jsxs("button", { className: [
8
- 'border border-transparent bg-primary-main font-sans text-white cursor-pointer',
9
- STATE_STYLE,
10
- DIMENSIONS_STYLE,
11
- className,
12
- ].join(' '), "data-theme": dataTheme, onClick: onClick, children: [_jsx("span", { className: "text-h4 pr-3", children: label }), icon ? (_jsx(Img, { image: {
8
+ return (_jsxs("button", { className: style('border border-transparent bg-primary-main font-sans text-white cursor-pointer', STATE_STYLE, DIMENSIONS_STYLE, disabled
9
+ ? 'bg-main-divider text-main-disabled cursor-not-allowed hover:bg-main-divider active:bg-main-divider'
10
+ : '', className), onClick: onClick, disabled: disabled, "data-theme": dataTheme, children: [_jsx("span", { className: "text-h4 pr-3", children: label }), icon ? (_jsx(Img, { image: {
13
11
  icon,
14
12
  iconVersion: 'white',
15
13
  }, 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,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAGxC,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAWjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAClC,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,kBACE,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,eAAM,SAAS,EAAC,cAAc,YAAE,KAAK,GAAQ,EAC5C,IAAI,CAAC,CAAC,CAAC,CACN,KAAC,GAAG,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;AAEF,MAAM,CAAC,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,KAAC,iBAAiB,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"}
1
+ {"version":3,"file":"DefaultFoldButton.js","sourceRoot":"","sources":["../../../src/ui-kit/Foldable/DefaultFoldButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAYjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAClC,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,kBACE,SAAS,EAAE,KAAK,CACd,+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,eAAM,SAAS,EAAC,cAAc,YAAE,KAAK,GAAQ,EAC5C,IAAI,CAAC,CAAC,CAAC,CACN,KAAC,GAAG,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;AAEF,MAAM,CAAC,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,KAAC,iBAAiB,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"}
@@ -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 {};
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
2
2
  import { JSX } from '@redneckz/uni-jsx';
3
- import { Text } from '../../ui-kit/Text/Text.js';
4
- export const SlideCheckbox = JSX(({ checked, text, onClick }) => (_jsxs("div", { role: "checkbox", "aria-checked": checked, className: "flex justify-start items-center w-full cursor-pointer mb-4", onClick: () => onClick && onClick(), children: [_jsx("div", { className: `relative duration-300 w-9 h-5 mr-3 rounded rounded-2xl ${checked ? 'bg-primary-main' : 'bg-main-divider'}`, children: _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%]'}` }) }), _jsx("div", { children: _jsx(Text, { size: "text-m", font: "font-light", color: "text-primary-text", children: text }) })] })));
3
+ import { Text } from '../Text/Text.js';
4
+ export const SlideCheckbox = JSX(({ value = false, text, type = 'checkbox', onChange }) => (_jsxs("div", { role: type, "aria-checked": value, className: "flex justify-start items-center w-full cursor-pointer mb-4", onClick: () => onChange && onChange(!value), children: [_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: _jsx("div", { className: `absolute opacity-80 duration-500 top-0.5 w-4 h-4 bg-white rounded-full ${value ? 'left-[50%]' : 'left-[5%]'}` }) }), _jsx("div", { children: _jsx(Text, { size: "text-m", font: "font-light", color: "text-primary-text", children: text }) })] })));
5
5
  //# sourceMappingURL=SlideCheckbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SlideCheckbox.js","sourceRoot":"","sources":["../../../src/ui-kit/SlideCheckbox/SlideCheckbox.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAO9C,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAqB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CACnF,eACE,IAAI,EAAC,UAAU,kBACD,OAAO,EACrB,SAAS,EAAC,4DAA4D,EACtE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,IAAI,OAAO,EAAE,aAEnC,cACE,SAAS,EAAE,0DACT,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAChC,EAAE,YAEF,cACE,SAAS,EAAE,kFACT,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAC3B,EAAE,GACF,GACE,EACN,wBACE,KAAC,IAAI,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,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAQpC,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAC9B,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CACxD,eACE,IAAI,EAAE,IAAI,kBACI,KAAK,EACnB,SAAS,EAAC,4DAA4D,EACtE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,KAAK,CAAC,aAE3C,cACE,SAAS,EAAE,gEACT,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAC9B,EAAE,YAEF,cACE,SAAS,EAAE,0EACT,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WACzB,EAAE,GACF,GACE,EACN,wBACE,KAAC,IAAI,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 {};
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx } from "@redneckz/uni-jsx/jsx-runtime";
2
+ import { JSX } from '@redneckz/uni-jsx';
3
+ import { SlideCheckbox } from '../SlideCheckbox/SlideCheckbox.js';
4
+ export const SlideCheckboxGroup = JSX(({ value, onChange, items = [], multiple }) => {
5
+ const handleChange = (newValue) => {
6
+ if (multiple) {
7
+ const hasAlready = value?.includes(newValue);
8
+ onChange &&
9
+ onChange(hasAlready ? value?.filter((v) => v !== newValue) : [...(value || []), newValue]);
10
+ }
11
+ else {
12
+ onChange && onChange(value === newValue ? undefined : newValue);
13
+ }
14
+ };
15
+ 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)));
16
+ });
17
+ //# sourceMappingURL=SlideCheckboxGroup.js.map
@@ -0,0 +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,QAAQ,EAAE;YACZ,MAAM,UAAU,GAAG,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC7C,QAAQ;gBACN,QAAQ,CACN,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CACjF,CAAC;SACL;aAAM;YACL,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;SACjE;IACH,CAAC,CAAC;IAEF,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACzB,KAAC,aAAa,IAEZ,IAAI,EAAE,IAAI,CAAC,KAAK,EAChB,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"}
@@ -1183,15 +1183,12 @@
1183
1183
  return content || defaultContent;
1184
1184
  }
1185
1185
 
1186
- const DefaultFoldButton = JSX(({ className = '', label, icon, dataTheme = '', onClick }) => {
1186
+ const DefaultFoldButton = JSX(({ className = '', label, icon, dataTheme = '', disabled = false, onClick }) => {
1187
1187
  const STATE_STYLE = 'hover:bg-primary-hover focus:border-primary-text active:bg-primary-active outline-none';
1188
1188
  const DIMENSIONS_STYLE = 'flex justify-center w-full px-0 py-5';
1189
- return (jsxs("button", { className: [
1190
- 'border border-transparent bg-primary-main font-sans text-white cursor-pointer',
1191
- STATE_STYLE,
1192
- DIMENSIONS_STYLE,
1193
- className,
1194
- ].join(' '), "data-theme": dataTheme, onClick: onClick, children: [jsx("span", { className: "text-h4 pr-3", children: label }), icon ? (jsx(Img, { image: {
1189
+ return (jsxs("button", { className: style('border border-transparent bg-primary-main font-sans text-white cursor-pointer', STATE_STYLE, DIMENSIONS_STYLE, disabled
1190
+ ? 'bg-main-divider text-main-disabled cursor-not-allowed hover:bg-main-divider active:bg-main-divider'
1191
+ : '', className), onClick: onClick, disabled: disabled, "data-theme": dataTheme, children: [jsx("span", { className: "text-h4 pr-3", children: label }), icon ? (jsx(Img, { image: {
1195
1192
  icon,
1196
1193
  iconVersion: 'white',
1197
1194
  }, className: "flex-shrink-0 my-auto", width: "20", height: "20", asSVG: true })) : null] }));
@@ -1902,7 +1899,7 @@
1902
1899
  return (list) => list.reduce((acc, el, i) => (acc.length ? acc.concat({ ...sep, key: i }, el) : [el]), []);
1903
1900
  }
1904
1901
 
1905
- const packageVersion = "0.8.30";
1902
+ const packageVersion = "0.9.0";
1906
1903
 
1907
1904
  exports.Blocks = Blocks;
1908
1905
  exports.ContentPage = ContentPage;