@redneckz/wildless-cms-uni-blocks 0.3.62 → 0.3.64

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 (288) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +87 -26
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/cosmos-static/icons/AirPlane.svg +1 -0
  5. package/cosmos-static/icons/CarIcon.svg +1 -0
  6. package/cosmos-static/icons/CinemaIcon.svg +1 -0
  7. package/cosmos-static/icons/DocsIcon.svg +1 -0
  8. package/cosmos-static/icons/PowerIcon.svg +1 -0
  9. package/cosmos-static/icons/PumpkinIcon.svg +1 -0
  10. package/cosmos-static/icons/SoundIcon.svg +1 -0
  11. package/cosmos-static/icons/WateringCan.svg +1 -0
  12. package/dist/components/Accordion/Accordion.js +7 -2
  13. package/dist/components/Accordion/Accordion.js.map +1 -1
  14. package/dist/components/Accordion/AccordionContent.d.ts +3 -0
  15. package/dist/components/BaseTile/BaseTileProps.d.ts +1 -9
  16. package/dist/components/BenefitsBlock/BenefitsBlock.js +3 -3
  17. package/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  18. package/dist/components/BlockContent.d.ts +2 -1
  19. package/dist/components/Blocks.d.ts +1 -0
  20. package/dist/components/Blocks.js +2 -0
  21. package/dist/components/Blocks.js.map +1 -1
  22. package/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.d.ts +5 -0
  23. package/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.js +14 -0
  24. package/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.js.map +1 -0
  25. package/dist/components/BonusBenefitsBlock/BonusBenefitsBlockContent.d.ts +21 -0
  26. package/dist/components/BonusBenefitsBlock/BonusBenefitsBlockContent.js +2 -0
  27. package/dist/components/BonusBenefitsBlock/BonusBenefitsBlockContent.js.map +1 -0
  28. package/dist/components/BonusBenefitsBlock/getElementsColsValue.d.ts +1 -0
  29. package/dist/components/BonusBenefitsBlock/getElementsColsValue.js +17 -0
  30. package/dist/components/BonusBenefitsBlock/getElementsColsValue.js.map +1 -0
  31. package/dist/components/Headline/HeadlineContent.d.ts +1 -1
  32. package/dist/components/Headline/constants.d.ts +1 -1
  33. package/dist/components/LinkDocs/LinkDocsContent.d.ts +1 -1
  34. package/dist/components/OtherProducts/OtherProductsContent.d.ts +1 -1
  35. package/dist/components/OtherProducts/OtherProductsItem.d.ts +1 -2
  36. package/dist/components/OtherProducts/OtherProductsItem.js +10 -7
  37. package/dist/components/OtherProducts/OtherProductsItem.js.map +1 -1
  38. package/dist/components/TariffsTable/TariffsTable.js +8 -3
  39. package/dist/components/TariffsTable/TariffsTable.js.map +1 -1
  40. package/dist/components/TariffsTable/TariffsTableContent.d.ts +7 -5
  41. package/dist/content-page-repository/ContentPageRepository.js +1 -1
  42. package/dist/content-page-repository/ContentPageRepository.js.map +1 -1
  43. package/dist/icons/IconName.d.ts +22 -6
  44. package/dist/icons/IconName.js +18 -2
  45. package/dist/icons/IconName.js.map +1 -1
  46. package/dist/model/AlignType.d.ts +9 -0
  47. package/dist/model/AlignType.js +2 -0
  48. package/dist/model/AlignType.js.map +1 -0
  49. package/dist/model/VNode.d.ts +1 -0
  50. package/dist/model/VNode.js +2 -0
  51. package/dist/model/VNode.js.map +1 -0
  52. package/dist/types.d.ts +1 -0
  53. package/dist/ui-kit/Foldable/Foldable.d.ts +20 -0
  54. package/dist/ui-kit/Foldable/Foldable.js +22 -0
  55. package/dist/ui-kit/Foldable/Foldable.js.map +1 -0
  56. package/dist/ui-kit/Foldable/useActiveHandler.d.ts +11 -0
  57. package/dist/ui-kit/Foldable/useActiveHandler.js +22 -0
  58. package/dist/ui-kit/Foldable/useActiveHandler.js.map +1 -0
  59. package/lib/common.css +1 -1
  60. package/lib/components/Accordion/Accordion.fixture.d.ts +1 -0
  61. package/lib/components/Accordion/Accordion.js +7 -2
  62. package/lib/components/Accordion/Accordion.js.map +1 -1
  63. package/lib/components/Accordion/AccordionContent.d.ts +3 -0
  64. package/lib/components/BaseTile/BaseTileProps.d.ts +1 -9
  65. package/lib/components/BenefitsBlock/BenefitsBlock.js +3 -3
  66. package/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  67. package/lib/components/BlockContent.d.ts +2 -1
  68. package/lib/components/Blocks.d.ts +1 -0
  69. package/lib/components/Blocks.js +2 -0
  70. package/lib/components/Blocks.js.map +1 -1
  71. package/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.d.ts +5 -0
  72. package/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.fixture.d.ts +4 -0
  73. package/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.js +12 -0
  74. package/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.js.map +1 -0
  75. package/lib/components/BonusBenefitsBlock/BonusBenefitsBlockContent.d.ts +21 -0
  76. package/lib/components/BonusBenefitsBlock/BonusBenefitsBlockContent.js +2 -0
  77. package/lib/components/BonusBenefitsBlock/BonusBenefitsBlockContent.js.map +1 -0
  78. package/lib/components/BonusBenefitsBlock/getElementsColsValue.d.ts +1 -0
  79. package/lib/components/BonusBenefitsBlock/getElementsColsValue.js +14 -0
  80. package/lib/components/BonusBenefitsBlock/getElementsColsValue.js.map +1 -0
  81. package/lib/components/Headline/HeadlineContent.d.ts +1 -1
  82. package/lib/components/Headline/constants.d.ts +1 -1
  83. package/lib/components/LinkDocs/LinkDocsContent.d.ts +1 -1
  84. package/lib/components/OtherProducts/OtherProductsContent.d.ts +1 -1
  85. package/lib/components/OtherProducts/OtherProductsItem.d.ts +1 -2
  86. package/lib/components/OtherProducts/OtherProductsItem.js +11 -8
  87. package/lib/components/OtherProducts/OtherProductsItem.js.map +1 -1
  88. package/lib/components/TariffsTable/TariffsTable.js +8 -3
  89. package/lib/components/TariffsTable/TariffsTable.js.map +1 -1
  90. package/lib/components/TariffsTable/TariffsTableContent.d.ts +7 -5
  91. package/lib/content-page-repository/ContentPageRepository.js +1 -1
  92. package/lib/content-page-repository/ContentPageRepository.js.map +1 -1
  93. package/lib/icons/IconName.d.ts +22 -6
  94. package/lib/icons/IconName.js +18 -2
  95. package/lib/icons/IconName.js.map +1 -1
  96. package/lib/model/AlignType.d.ts +9 -0
  97. package/lib/model/AlignType.js +2 -0
  98. package/lib/model/AlignType.js.map +1 -0
  99. package/lib/model/VNode.d.ts +1 -0
  100. package/lib/model/VNode.js +2 -0
  101. package/lib/model/VNode.js.map +1 -0
  102. package/lib/types.d.ts +1 -0
  103. package/lib/ui-kit/Foldable/Foldable.d.ts +20 -0
  104. package/lib/ui-kit/Foldable/Foldable.js +20 -0
  105. package/lib/ui-kit/Foldable/Foldable.js.map +1 -0
  106. package/lib/ui-kit/Foldable/useActiveHandler.d.ts +11 -0
  107. package/lib/ui-kit/Foldable/useActiveHandler.js +19 -0
  108. package/lib/ui-kit/Foldable/useActiveHandler.js.map +1 -0
  109. package/mobile/bundle/bundle.umd.js +18 -2
  110. package/mobile/bundle/bundle.umd.min.js +1 -1
  111. package/mobile/dist/components/Accordion/AccordionContent.d.ts +3 -0
  112. package/mobile/dist/components/BaseTile/BaseTileProps.d.ts +1 -9
  113. package/mobile/dist/components/BenefitsBlock/BenefitsBlock.js +3 -3
  114. package/mobile/dist/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  115. package/mobile/dist/components/BlockContent.d.ts +2 -1
  116. package/mobile/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.d.ts +5 -0
  117. package/mobile/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.js +14 -0
  118. package/mobile/dist/components/BonusBenefitsBlock/BonusBenefitsBlock.js.map +1 -0
  119. package/mobile/dist/components/BonusBenefitsBlock/BonusBenefitsBlockContent.d.ts +21 -0
  120. package/mobile/dist/components/BonusBenefitsBlock/BonusBenefitsBlockContent.js +2 -0
  121. package/mobile/dist/components/BonusBenefitsBlock/BonusBenefitsBlockContent.js.map +1 -0
  122. package/mobile/dist/components/BonusBenefitsBlock/getElementsColsValue.d.ts +1 -0
  123. package/mobile/dist/components/BonusBenefitsBlock/getElementsColsValue.js +17 -0
  124. package/mobile/dist/components/BonusBenefitsBlock/getElementsColsValue.js.map +1 -0
  125. package/mobile/dist/components/Headline/HeadlineContent.d.ts +1 -1
  126. package/mobile/dist/components/Headline/constants.d.ts +1 -1
  127. package/mobile/dist/components/LinkDocs/LinkDocsContent.d.ts +1 -1
  128. package/mobile/dist/components/OtherProducts/OtherProductsContent.d.ts +1 -1
  129. package/mobile/dist/components/OtherProducts/OtherProductsItem.d.ts +1 -2
  130. package/mobile/dist/components/OtherProducts/OtherProductsItem.js +10 -7
  131. package/mobile/dist/components/OtherProducts/OtherProductsItem.js.map +1 -1
  132. package/mobile/dist/components/TariffsTable/TariffsTableContent.d.ts +7 -5
  133. package/mobile/dist/content-page-repository/ContentPageRepository.js +1 -1
  134. package/mobile/dist/content-page-repository/ContentPageRepository.js.map +1 -1
  135. package/mobile/dist/icons/IconName.d.ts +22 -6
  136. package/mobile/dist/icons/IconName.js +18 -2
  137. package/mobile/dist/icons/IconName.js.map +1 -1
  138. package/mobile/dist/model/AlignType.d.ts +9 -0
  139. package/mobile/dist/model/AlignType.js +2 -0
  140. package/mobile/dist/model/AlignType.js.map +1 -0
  141. package/mobile/dist/model/VNode.d.ts +1 -0
  142. package/mobile/dist/model/VNode.js +2 -0
  143. package/mobile/dist/model/VNode.js.map +1 -0
  144. package/mobile/dist/types.d.ts +1 -0
  145. package/mobile/dist/ui-kit/Foldable/Foldable.d.ts +20 -0
  146. package/mobile/dist/ui-kit/Foldable/Foldable.js +22 -0
  147. package/mobile/dist/ui-kit/Foldable/Foldable.js.map +1 -0
  148. package/mobile/dist/ui-kit/Foldable/useActiveHandler.d.ts +11 -0
  149. package/mobile/dist/ui-kit/Foldable/useActiveHandler.js +22 -0
  150. package/mobile/dist/ui-kit/Foldable/useActiveHandler.js.map +1 -0
  151. package/mobile/lib/components/Accordion/AccordionContent.d.ts +3 -0
  152. package/mobile/lib/components/BaseTile/BaseTileProps.d.ts +1 -9
  153. package/mobile/lib/components/BenefitsBlock/BenefitsBlock.js +3 -3
  154. package/mobile/lib/components/BenefitsBlock/BenefitsBlock.js.map +1 -1
  155. package/mobile/lib/components/BlockContent.d.ts +2 -1
  156. package/mobile/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.d.ts +5 -0
  157. package/mobile/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.js +12 -0
  158. package/mobile/lib/components/BonusBenefitsBlock/BonusBenefitsBlock.js.map +1 -0
  159. package/mobile/lib/components/BonusBenefitsBlock/BonusBenefitsBlockContent.d.ts +21 -0
  160. package/mobile/lib/components/BonusBenefitsBlock/BonusBenefitsBlockContent.js +2 -0
  161. package/mobile/lib/components/BonusBenefitsBlock/BonusBenefitsBlockContent.js.map +1 -0
  162. package/mobile/lib/components/BonusBenefitsBlock/getElementsColsValue.d.ts +1 -0
  163. package/mobile/lib/components/BonusBenefitsBlock/getElementsColsValue.js +14 -0
  164. package/mobile/lib/components/BonusBenefitsBlock/getElementsColsValue.js.map +1 -0
  165. package/mobile/lib/components/Headline/HeadlineContent.d.ts +1 -1
  166. package/mobile/lib/components/Headline/constants.d.ts +1 -1
  167. package/mobile/lib/components/LinkDocs/LinkDocsContent.d.ts +1 -1
  168. package/mobile/lib/components/OtherProducts/OtherProductsContent.d.ts +1 -1
  169. package/mobile/lib/components/OtherProducts/OtherProductsItem.d.ts +1 -2
  170. package/mobile/lib/components/OtherProducts/OtherProductsItem.js +11 -8
  171. package/mobile/lib/components/OtherProducts/OtherProductsItem.js.map +1 -1
  172. package/mobile/lib/components/TariffsTable/TariffsTableContent.d.ts +7 -5
  173. package/mobile/lib/content-page-repository/ContentPageRepository.js +1 -1
  174. package/mobile/lib/content-page-repository/ContentPageRepository.js.map +1 -1
  175. package/mobile/lib/icons/IconName.d.ts +22 -6
  176. package/mobile/lib/icons/IconName.js +18 -2
  177. package/mobile/lib/icons/IconName.js.map +1 -1
  178. package/mobile/lib/model/AlignType.d.ts +9 -0
  179. package/mobile/lib/model/AlignType.js +2 -0
  180. package/mobile/lib/model/AlignType.js.map +1 -0
  181. package/mobile/lib/model/VNode.d.ts +1 -0
  182. package/mobile/lib/model/VNode.js +2 -0
  183. package/mobile/lib/model/VNode.js.map +1 -0
  184. package/mobile/lib/types.d.ts +1 -0
  185. package/mobile/lib/ui-kit/Foldable/Foldable.d.ts +20 -0
  186. package/mobile/lib/ui-kit/Foldable/Foldable.js +20 -0
  187. package/mobile/lib/ui-kit/Foldable/Foldable.js.map +1 -0
  188. package/mobile/lib/ui-kit/Foldable/useActiveHandler.d.ts +11 -0
  189. package/mobile/lib/ui-kit/Foldable/useActiveHandler.js +19 -0
  190. package/mobile/lib/ui-kit/Foldable/useActiveHandler.js.map +1 -0
  191. package/mobile/src/components/Accordion/AccordionContent.ts +3 -0
  192. package/mobile/src/components/BaseTile/BaseTileProps.ts +1 -10
  193. package/mobile/src/components/BenefitsBlock/BenefitsBlock.tsx +6 -8
  194. package/mobile/src/components/BlockContent.ts +3 -1
  195. package/mobile/src/components/BonusBenefitsBlock/BonusBenefitsBlock.example.json +54 -0
  196. package/mobile/src/components/BonusBenefitsBlock/BonusBenefitsBlock.tsx +49 -0
  197. package/mobile/src/components/BonusBenefitsBlock/BonusBenefitsBlockContent.ts +23 -0
  198. package/mobile/src/components/BonusBenefitsBlock/getElementsColsValue.ts +12 -0
  199. package/mobile/src/components/Headline/HeadlineContent.ts +1 -1
  200. package/mobile/src/components/Headline/constants.ts +1 -1
  201. package/mobile/src/components/LinkDocs/LinkDocsContent.ts +1 -1
  202. package/mobile/src/components/OtherProducts/OtherProductsContent.ts +1 -1
  203. package/mobile/src/components/OtherProducts/OtherProductsItem.tsx +33 -23
  204. package/mobile/src/components/TariffsTable/TariffsTableContent.ts +7 -5
  205. package/mobile/src/content-page-repository/ContentPageRepository.ts +1 -1
  206. package/mobile/src/icons/AirPlane.svg +98 -0
  207. package/mobile/src/icons/ArrowUpIcon.svg +1 -1
  208. package/mobile/src/icons/ArrowsRewindRight.svg +1 -1
  209. package/mobile/src/icons/CarIcon.svg +466 -0
  210. package/mobile/src/icons/CinemaIcon.svg +274 -0
  211. package/mobile/src/icons/DocsIcon.svg +238 -0
  212. package/mobile/src/icons/IconName.ts +4 -4
  213. package/mobile/src/icons/PowerIcon.svg +135 -0
  214. package/mobile/src/icons/PumpkinIcon.svg +236 -0
  215. package/mobile/src/icons/SoundIcon.svg +113 -0
  216. package/mobile/src/icons/WateringCan.svg +497 -0
  217. package/mobile/src/model/AlignType.ts +9 -0
  218. package/mobile/src/model/VNode.ts +1 -0
  219. package/mobile/src/types.ts +1 -0
  220. package/mobile/src/ui-kit/Foldable/Foldable.tsx +81 -0
  221. package/mobile/src/ui-kit/Foldable/useActiveHandler.ts +34 -0
  222. package/package.json +1 -1
  223. package/src/components/Accordion/Accordion.fixture.tsx +24 -2
  224. package/src/components/Accordion/Accordion.tsx +23 -2
  225. package/src/components/Accordion/AccordionContent.ts +3 -0
  226. package/src/components/BaseTile/BaseTileProps.ts +1 -10
  227. package/src/components/BenefitsBlock/BenefitsBlock.tsx +6 -8
  228. package/src/components/BlockContent.ts +3 -1
  229. package/src/components/Blocks.ts +2 -0
  230. package/src/components/BonusBenefitsBlock/BonusBenefitsBlock.example.json +54 -0
  231. package/src/components/BonusBenefitsBlock/BonusBenefitsBlock.fixture.tsx +50 -0
  232. package/src/components/BonusBenefitsBlock/BonusBenefitsBlock.tsx +49 -0
  233. package/src/components/BonusBenefitsBlock/BonusBenefitsBlockContent.ts +23 -0
  234. package/src/components/BonusBenefitsBlock/getElementsColsValue.ts +12 -0
  235. package/src/components/Headline/HeadlineContent.ts +1 -1
  236. package/src/components/Headline/constants.ts +1 -1
  237. package/src/components/LinkDocs/LinkDocs.tsx +1 -1
  238. package/src/components/LinkDocs/LinkDocsContent.ts +1 -1
  239. package/src/components/OtherProducts/OtherProductsContent.ts +1 -1
  240. package/src/components/OtherProducts/OtherProductsItem.tsx +33 -23
  241. package/src/components/TariffsTable/TariffsTable.fixture.tsx +4 -1
  242. package/src/components/TariffsTable/TariffsTable.tsx +55 -18
  243. package/src/components/TariffsTable/TariffsTableContent.ts +7 -5
  244. package/src/content-page-repository/ContentPageRepository.ts +1 -1
  245. package/src/icons/AirPlane.svg +98 -0
  246. package/src/icons/ArrowUpIcon.svg +1 -1
  247. package/src/icons/ArrowsRewindRight.svg +1 -1
  248. package/src/icons/CarIcon.svg +466 -0
  249. package/src/icons/CinemaIcon.svg +274 -0
  250. package/src/icons/DocsIcon.svg +238 -0
  251. package/src/icons/IconName.ts +28 -4
  252. package/src/icons/PowerIcon.svg +135 -0
  253. package/src/icons/PumpkinIcon.svg +236 -0
  254. package/src/icons/SoundIcon.svg +113 -0
  255. package/src/icons/WateringCan.svg +497 -0
  256. package/src/model/AlignType.ts +9 -0
  257. package/src/model/VNode.ts +1 -0
  258. package/src/types.ts +1 -0
  259. package/src/ui-kit/Foldable/Foldable.tsx +81 -0
  260. package/src/ui-kit/Foldable/useActiveHandler.ts +34 -0
  261. package/dist/components/OtherProducts/OtherProductsItemInner.d.ts +0 -2
  262. package/dist/components/OtherProducts/OtherProductsItemInner.js +0 -10
  263. package/dist/components/OtherProducts/OtherProductsItemInner.js.map +0 -1
  264. package/dist/components/OtherProducts/useActiveHandler.d.ts +0 -7
  265. package/dist/components/OtherProducts/useActiveHandler.js +0 -21
  266. package/dist/components/OtherProducts/useActiveHandler.js.map +0 -1
  267. package/lib/components/OtherProducts/OtherProductsItemInner.d.ts +0 -2
  268. package/lib/components/OtherProducts/OtherProductsItemInner.js +0 -8
  269. package/lib/components/OtherProducts/OtherProductsItemInner.js.map +0 -1
  270. package/lib/components/OtherProducts/useActiveHandler.d.ts +0 -7
  271. package/lib/components/OtherProducts/useActiveHandler.js +0 -18
  272. package/lib/components/OtherProducts/useActiveHandler.js.map +0 -1
  273. package/mobile/dist/components/OtherProducts/OtherProductsItemInner.d.ts +0 -2
  274. package/mobile/dist/components/OtherProducts/OtherProductsItemInner.js +0 -10
  275. package/mobile/dist/components/OtherProducts/OtherProductsItemInner.js.map +0 -1
  276. package/mobile/dist/components/OtherProducts/useActiveHandler.d.ts +0 -7
  277. package/mobile/dist/components/OtherProducts/useActiveHandler.js +0 -21
  278. package/mobile/dist/components/OtherProducts/useActiveHandler.js.map +0 -1
  279. package/mobile/lib/components/OtherProducts/OtherProductsItemInner.d.ts +0 -2
  280. package/mobile/lib/components/OtherProducts/OtherProductsItemInner.js +0 -8
  281. package/mobile/lib/components/OtherProducts/OtherProductsItemInner.js.map +0 -1
  282. package/mobile/lib/components/OtherProducts/useActiveHandler.d.ts +0 -7
  283. package/mobile/lib/components/OtherProducts/useActiveHandler.js +0 -18
  284. package/mobile/lib/components/OtherProducts/useActiveHandler.js.map +0 -1
  285. package/mobile/src/components/OtherProducts/OtherProductsItemInner.tsx +0 -14
  286. package/mobile/src/components/OtherProducts/useActiveHandler.ts +0 -24
  287. package/src/components/OtherProducts/OtherProductsItemInner.tsx +0 -14
  288. package/src/components/OtherProducts/useActiveHandler.ts +0 -24
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @title Выравнивание
3
+ * @enumNames [
4
+ * "По левому краю",
5
+ * "По центру",
6
+ * "По правому краю"
7
+ * ]
8
+ */
9
+ export type AlignType = 'left' | 'center' | 'right';
@@ -0,0 +1 @@
1
+ export type VNode = unknown;
package/src/types.ts CHANGED
@@ -50,6 +50,7 @@ export interface ContentPageDef extends ContentPageMeta {
50
50
  slots?: SlotsMap;
51
51
  likeControl?: boolean;
52
52
  colorPalette?: ColorPalette;
53
+ _customPageType?: string;
53
54
  }
54
55
 
55
56
  export interface UniBlockProps {
@@ -0,0 +1,81 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { ContentPageContext } from '../../components/ContentPage/ContentPageContext';
3
+ import type { VNode } from '../../model/VNode';
4
+ import { ColorPalette } from '../../types';
5
+ import { clamp } from '../../utils/clamp';
6
+ import { Icon } from '../Icon/Icon';
7
+ import { foldableBlockClassNames, useActiveHandler } from './useActiveHandler';
8
+
9
+ export type FoldableBlocks = VNode[];
10
+ export type Render = (_: VNode, isActive: boolean) => VNode;
11
+ export interface FoldableProps {
12
+ context: ContentPageContext;
13
+ foldButtonLabel?: string;
14
+ hiddenBlocksNum?: number;
15
+ blocks?: FoldableBlocks;
16
+ foldButtonClasses?: string;
17
+ foldButtonDataTheme?: ColorPalette;
18
+ isUnfolded?: boolean;
19
+ render?: Render;
20
+ }
21
+
22
+ export interface RenderBlocksParams {
23
+ blocksToHide: number;
24
+ isActive: boolean;
25
+ }
26
+
27
+ export const Foldable = JSX<FoldableProps>(
28
+ ({
29
+ blocks = [],
30
+ context,
31
+ hiddenBlocksNum = 0,
32
+ foldButtonClasses,
33
+ foldButtonLabel,
34
+ foldButtonDataTheme,
35
+ isUnfolded,
36
+ render = (_) => _,
37
+ }) => {
38
+ const blocksToHide = clamp(hiddenBlocksNum, 0, blocks.length);
39
+
40
+ const { icon, handleToggle, isActive } = useActiveHandler({
41
+ context,
42
+ initialState: isUnfolded,
43
+ });
44
+
45
+ return blocks ? (
46
+ <div>
47
+ {renderBlocks(blocks, render, { blocksToHide, isActive })}
48
+ {hiddenBlocksNum ? (
49
+ <button
50
+ className={
51
+ foldButtonClasses ||
52
+ 'border-none bg-primary-main px-0 py-[26px] mb-[1px] w-full font-sans text-white text-base flex justify-center cursor-pointer'
53
+ }
54
+ data-theme={foldButtonDataTheme}
55
+ onClick={handleToggle}
56
+ >
57
+ <span className="pr-3">{isActive ? 'Скрыть' : foldButtonLabel}</span>
58
+ <Icon name={icon} width="20" height="20" asSVG />
59
+ </button>
60
+ ) : null}
61
+ </div>
62
+ ) : null;
63
+ },
64
+ );
65
+
66
+ const renderBlocks = (
67
+ blocks: FoldableBlocks,
68
+ render: Render,
69
+ { blocksToHide, isActive }: RenderBlocksParams,
70
+ ) => {
71
+ const visibleBlocks = blocks.slice(0, blocks.length - blocksToHide);
72
+ const hiddenBlocks = blocks.slice(-blocksToHide);
73
+
74
+ return render(
75
+ <div>
76
+ {visibleBlocks}
77
+ <div className={foldableBlockClassNames}>{hiddenBlocks}</div>
78
+ </div>,
79
+ isActive,
80
+ );
81
+ };
@@ -0,0 +1,34 @@
1
+ import { ContentPageContext } from '../../components/ContentPage/ContentPageContext';
2
+ import type { IconName } from '../../icons/IconName';
3
+
4
+ export const foldableBlockClassNames = 'transition-all duration-300 max-h-0 overflow-hidden';
5
+
6
+ export interface ActiveHandler {
7
+ context: ContentPageContext;
8
+ initialState?: boolean;
9
+ }
10
+
11
+ export const useActiveHandler = ({ context, initialState = false }: ActiveHandler) => {
12
+ const [isActive, setIsActive] = context.useState(initialState);
13
+ const icon: IconName = isActive ? 'ArrowUpIcon' : 'ArrowDownIcon';
14
+
15
+ const handleToggle = (e: MouseEvent) => {
16
+ const currentTarget = e.currentTarget as HTMLElement;
17
+
18
+ if (!currentTarget) {
19
+ return;
20
+ }
21
+
22
+ setIsActive(!isActive);
23
+ const wrapperBlock = currentTarget.previousSibling as HTMLElement;
24
+ const contentBlock = wrapperBlock.getElementsByClassName(
25
+ foldableBlockClassNames,
26
+ )[0] as HTMLElement;
27
+
28
+ contentBlock.style.maxHeight = contentBlock.style.maxHeight
29
+ ? ''
30
+ : `${contentBlock.scrollHeight}px`;
31
+ };
32
+
33
+ return { icon, handleToggle, isActive };
34
+ };
@@ -1,2 +0,0 @@
1
- import type { BlockItemProps } from './OtherProductsItem';
2
- export declare const OtherProductsItemInner: (props: import("@redneckz/uni-jsx").PropsWithChildren<BlockItemProps, any>, context?: any) => any;
@@ -1,10 +0,0 @@
1
- Object.defineProperty(exports, "__esModule", { value: true });
2
- exports.OtherProductsItemInner = void 0;
3
- const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
4
- const uni_jsx_1 = require("@redneckz/uni-jsx");
5
- const renderBlocksList_1 = require("../../ui-kit/BlocksList/renderBlocksList");
6
- exports.OtherProductsItemInner = (0, uni_jsx_1.JSX)(({ blocks, columns = 1, context }) => {
7
- const className = 'box-border p-5';
8
- return ((0, jsx_runtime_1.jsx)("div", { className: "transition-all duration-300 max-h-0 overflow-hidden", children: (0, jsx_runtime_1.jsx)("div", { className: `box-border w-full p-9 ${columns > 1 ? 'flex flex-wrap' : ''}`, children: (0, renderBlocksList_1.renderBlocksList)({ context, className, columns, blocks }) }) }));
9
- });
10
- //# sourceMappingURL=OtherProductsItemInner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OtherProductsItemInner.js","sourceRoot":"","sources":["../../../src/components/OtherProducts/OtherProductsItemInner.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AAExC,+EAA4E;AAE/D,QAAA,sBAAsB,GAAG,IAAA,aAAG,EAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IAC7F,MAAM,SAAS,GAAG,gBAAgB,CAAC;IACnC,OAAO,CACL,gCAAK,SAAS,EAAC,qDAAqD,YAClE,gCAAK,SAAS,EAAE,yBAAyB,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,YAC3E,IAAA,mCAAgB,EAAC,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,GACtD,GACF,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- import { ActiveHandler } from '../../ui-kit/BlocksList/BlocksListProps';
2
- export declare const useActiveHandler: ({ context, blocks, initialState }: ActiveHandler) => {
3
- isActive: boolean;
4
- hasContent: number | undefined;
5
- icon: "ArrowDownIcon" | "ArrowUpIcon";
6
- handleToggle: (e: MouseEvent) => void;
7
- };
@@ -1,21 +0,0 @@
1
- Object.defineProperty(exports, "__esModule", { value: true });
2
- exports.useActiveHandler = void 0;
3
- const useActiveHandler = ({ context, blocks, initialState = false }) => {
4
- const [isActive, setIsActive] = context.useState(initialState);
5
- const hasContent = blocks?.length;
6
- const icon = isActive ? 'ArrowUpIcon' : 'ArrowDownIcon';
7
- const getContentBlock = ({ currentTarget }) => currentTarget.previousSibling;
8
- const handleToggle = (e) => {
9
- if (!hasContent) {
10
- return;
11
- }
12
- setIsActive(!isActive);
13
- const contentBlock = getContentBlock(e);
14
- contentBlock.style.maxHeight = contentBlock.style.maxHeight
15
- ? null
16
- : `${contentBlock.scrollHeight}px`;
17
- };
18
- return { isActive, hasContent, icon, handleToggle };
19
- };
20
- exports.useActiveHandler = useActiveHandler;
21
- //# sourceMappingURL=useActiveHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useActiveHandler.js","sourceRoot":"","sources":["../../../src/components/OtherProducts/useActiveHandler.ts"],"names":[],"mappings":";;AAGO,MAAM,gBAAgB,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,GAAG,KAAK,EAAiB,EAAE,EAAE;IAC3F,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,MAAM,EAAE,MAAM,CAAC;IAClC,MAAM,IAAI,GAAa,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC;IAElE,MAAM,eAAe,GAAG,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC;IAE7E,MAAM,YAAY,GAAG,CAAC,CAAa,EAAE,EAAE;QACrC,IAAI,CAAC,UAAU,EAAE;YACf,OAAO;SACR;QAED,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC;QACvB,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACxC,YAAY,CAAC,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS;YACzD,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,GAAG,YAAY,CAAC,YAAY,IAAI,CAAC;IACvC,CAAC,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;AACtD,CAAC,CAAC;AApBW,QAAA,gBAAgB,oBAoB3B"}
@@ -1,2 +0,0 @@
1
- import type { BlockItemProps } from './OtherProductsItem';
2
- export declare const OtherProductsItemInner: (props: import("@redneckz/uni-jsx").PropsWithChildren<BlockItemProps, any>, context?: any) => any;
@@ -1,8 +0,0 @@
1
- import { jsx as _jsx } from "@redneckz/uni-jsx/jsx-runtime";
2
- import { JSX } from '@redneckz/uni-jsx';
3
- import { renderBlocksList } from '../../ui-kit/BlocksList/renderBlocksList.js';
4
- export const OtherProductsItemInner = JSX(({ blocks, columns = 1, context }) => {
5
- const className = 'box-border p-5';
6
- return (_jsx("div", { className: "transition-all duration-300 max-h-0 overflow-hidden", children: _jsx("div", { className: `box-border w-full p-9 ${columns > 1 ? 'flex flex-wrap' : ''}`, children: renderBlocksList({ context, className, columns, blocks }) }) }));
7
- });
8
- //# sourceMappingURL=OtherProductsItemInner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OtherProductsItemInner.js","sourceRoot":"","sources":["../../../src/components/OtherProducts/OtherProductsItemInner.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAE5E,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IAC7F,MAAM,SAAS,GAAG,gBAAgB,CAAC;IACnC,OAAO,CACL,cAAK,SAAS,EAAC,qDAAqD,YAClE,cAAK,SAAS,EAAE,yBAAyB,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,YAC3E,gBAAgB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,GACtD,GACF,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- import { ActiveHandler } from '../../ui-kit/BlocksList/BlocksListProps';
2
- export declare const useActiveHandler: ({ context, blocks, initialState }: ActiveHandler) => {
3
- isActive: boolean;
4
- hasContent: number | undefined;
5
- icon: "ArrowDownIcon" | "ArrowUpIcon";
6
- handleToggle: (e: MouseEvent) => void;
7
- };
@@ -1,18 +0,0 @@
1
- export const useActiveHandler = ({ context, blocks, initialState = false }) => {
2
- const [isActive, setIsActive] = context.useState(initialState);
3
- const hasContent = blocks?.length;
4
- const icon = isActive ? 'ArrowUpIcon' : 'ArrowDownIcon';
5
- const getContentBlock = ({ currentTarget }) => currentTarget.previousSibling;
6
- const handleToggle = (e) => {
7
- if (!hasContent) {
8
- return;
9
- }
10
- setIsActive(!isActive);
11
- const contentBlock = getContentBlock(e);
12
- contentBlock.style.maxHeight = contentBlock.style.maxHeight
13
- ? null
14
- : `${contentBlock.scrollHeight}px`;
15
- };
16
- return { isActive, hasContent, icon, handleToggle };
17
- };
18
- //# sourceMappingURL=useActiveHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useActiveHandler.js","sourceRoot":"","sources":["../../../src/components/OtherProducts/useActiveHandler.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,GAAG,KAAK,EAAiB,EAAE,EAAE;IAC3F,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,MAAM,EAAE,MAAM,CAAC;IAClC,MAAM,IAAI,GAAa,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC;IAElE,MAAM,eAAe,GAAG,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC;IAE7E,MAAM,YAAY,GAAG,CAAC,CAAa,EAAE,EAAE;QACrC,IAAI,CAAC,UAAU,EAAE;YACf,OAAO;SACR;QAED,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC;QACvB,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACxC,YAAY,CAAC,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS;YACzD,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,GAAG,YAAY,CAAC,YAAY,IAAI,CAAC;IACvC,CAAC,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;AACtD,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- import type { BlockItemProps } from './OtherProductsItem';
2
- export declare const OtherProductsItemInner: (props: import("@redneckz/uni-jsx").PropsWithChildren<BlockItemProps, any>, context?: any) => any;
@@ -1,10 +0,0 @@
1
- Object.defineProperty(exports, "__esModule", { value: true });
2
- exports.OtherProductsItemInner = void 0;
3
- const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
4
- const uni_jsx_1 = require("@redneckz/uni-jsx");
5
- const renderBlocksList_1 = require("../../ui-kit/BlocksList/renderBlocksList");
6
- exports.OtherProductsItemInner = (0, uni_jsx_1.JSX)(({ blocks, columns = 1, context }) => {
7
- const className = 'box-border p-5';
8
- return ((0, jsx_runtime_1.jsx)("div", { className: "transition-all duration-300 max-h-0 overflow-hidden", children: (0, jsx_runtime_1.jsx)("div", { className: `box-border w-full p-9 ${columns > 1 ? 'flex flex-wrap' : ''}`, children: (0, renderBlocksList_1.renderBlocksList)({ context, className, columns, blocks }) }) }));
9
- });
10
- //# sourceMappingURL=OtherProductsItemInner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OtherProductsItemInner.js","sourceRoot":"","sources":["../../../src/components/OtherProducts/OtherProductsItemInner.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AAExC,+EAA4E;AAE/D,QAAA,sBAAsB,GAAG,IAAA,aAAG,EAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IAC7F,MAAM,SAAS,GAAG,gBAAgB,CAAC;IACnC,OAAO,CACL,gCAAK,SAAS,EAAC,qDAAqD,YAClE,gCAAK,SAAS,EAAE,yBAAyB,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,YAC3E,IAAA,mCAAgB,EAAC,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,GACtD,GACF,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- import { ActiveHandler } from '../../ui-kit/BlocksList/BlocksListProps';
2
- export declare const useActiveHandler: ({ context, blocks, initialState }: ActiveHandler) => {
3
- isActive: boolean;
4
- hasContent: number | undefined;
5
- icon: "ArrowDownIcon" | "ArrowUpIcon";
6
- handleToggle: (e: MouseEvent) => void;
7
- };
@@ -1,21 +0,0 @@
1
- Object.defineProperty(exports, "__esModule", { value: true });
2
- exports.useActiveHandler = void 0;
3
- const useActiveHandler = ({ context, blocks, initialState = false }) => {
4
- const [isActive, setIsActive] = context.useState(initialState);
5
- const hasContent = blocks?.length;
6
- const icon = isActive ? 'ArrowUpIcon' : 'ArrowDownIcon';
7
- const getContentBlock = ({ currentTarget }) => currentTarget.previousSibling;
8
- const handleToggle = (e) => {
9
- if (!hasContent) {
10
- return;
11
- }
12
- setIsActive(!isActive);
13
- const contentBlock = getContentBlock(e);
14
- contentBlock.style.maxHeight = contentBlock.style.maxHeight
15
- ? null
16
- : `${contentBlock.scrollHeight}px`;
17
- };
18
- return { isActive, hasContent, icon, handleToggle };
19
- };
20
- exports.useActiveHandler = useActiveHandler;
21
- //# sourceMappingURL=useActiveHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useActiveHandler.js","sourceRoot":"","sources":["../../../src/components/OtherProducts/useActiveHandler.ts"],"names":[],"mappings":";;AAGO,MAAM,gBAAgB,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,GAAG,KAAK,EAAiB,EAAE,EAAE;IAC3F,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,MAAM,EAAE,MAAM,CAAC;IAClC,MAAM,IAAI,GAAa,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC;IAElE,MAAM,eAAe,GAAG,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC;IAE7E,MAAM,YAAY,GAAG,CAAC,CAAa,EAAE,EAAE;QACrC,IAAI,CAAC,UAAU,EAAE;YACf,OAAO;SACR;QAED,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC;QACvB,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACxC,YAAY,CAAC,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS;YACzD,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,GAAG,YAAY,CAAC,YAAY,IAAI,CAAC;IACvC,CAAC,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;AACtD,CAAC,CAAC;AApBW,QAAA,gBAAgB,oBAoB3B"}
@@ -1,2 +0,0 @@
1
- import type { BlockItemProps } from './OtherProductsItem';
2
- export declare const OtherProductsItemInner: (props: import("@redneckz/uni-jsx").PropsWithChildren<BlockItemProps, any>, context?: any) => any;
@@ -1,8 +0,0 @@
1
- import { jsx as _jsx } from "@redneckz/uni-jsx/jsx-runtime";
2
- import { JSX } from '@redneckz/uni-jsx';
3
- import { renderBlocksList } from '../../ui-kit/BlocksList/renderBlocksList.js';
4
- export const OtherProductsItemInner = JSX(({ blocks, columns = 1, context }) => {
5
- const className = 'box-border p-5';
6
- return (_jsx("div", { className: "transition-all duration-300 max-h-0 overflow-hidden", children: _jsx("div", { className: `box-border w-full p-9 ${columns > 1 ? 'flex flex-wrap' : ''}`, children: renderBlocksList({ context, className, columns, blocks }) }) }));
7
- });
8
- //# sourceMappingURL=OtherProductsItemInner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OtherProductsItemInner.js","sourceRoot":"","sources":["../../../src/components/OtherProducts/OtherProductsItemInner.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAE5E,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IAC7F,MAAM,SAAS,GAAG,gBAAgB,CAAC;IACnC,OAAO,CACL,cAAK,SAAS,EAAC,qDAAqD,YAClE,cAAK,SAAS,EAAE,yBAAyB,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,YAC3E,gBAAgB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,GACtD,GACF,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- import { ActiveHandler } from '../../ui-kit/BlocksList/BlocksListProps';
2
- export declare const useActiveHandler: ({ context, blocks, initialState }: ActiveHandler) => {
3
- isActive: boolean;
4
- hasContent: number | undefined;
5
- icon: "ArrowDownIcon" | "ArrowUpIcon";
6
- handleToggle: (e: MouseEvent) => void;
7
- };
@@ -1,18 +0,0 @@
1
- export const useActiveHandler = ({ context, blocks, initialState = false }) => {
2
- const [isActive, setIsActive] = context.useState(initialState);
3
- const hasContent = blocks?.length;
4
- const icon = isActive ? 'ArrowUpIcon' : 'ArrowDownIcon';
5
- const getContentBlock = ({ currentTarget }) => currentTarget.previousSibling;
6
- const handleToggle = (e) => {
7
- if (!hasContent) {
8
- return;
9
- }
10
- setIsActive(!isActive);
11
- const contentBlock = getContentBlock(e);
12
- contentBlock.style.maxHeight = contentBlock.style.maxHeight
13
- ? null
14
- : `${contentBlock.scrollHeight}px`;
15
- };
16
- return { isActive, hasContent, icon, handleToggle };
17
- };
18
- //# sourceMappingURL=useActiveHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useActiveHandler.js","sourceRoot":"","sources":["../../../src/components/OtherProducts/useActiveHandler.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,GAAG,KAAK,EAAiB,EAAE,EAAE;IAC3F,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,MAAM,EAAE,MAAM,CAAC;IAClC,MAAM,IAAI,GAAa,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC;IAElE,MAAM,eAAe,GAAG,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC;IAE7E,MAAM,YAAY,GAAG,CAAC,CAAa,EAAE,EAAE;QACrC,IAAI,CAAC,UAAU,EAAE;YACf,OAAO;SACR;QAED,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC;QACvB,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACxC,YAAY,CAAC,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS;YACzD,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,GAAG,YAAY,CAAC,YAAY,IAAI,CAAC;IACvC,CAAC,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;AACtD,CAAC,CAAC"}
@@ -1,14 +0,0 @@
1
- import { JSX } from '@redneckz/uni-jsx';
2
- import type { BlockItemProps } from './OtherProductsItem';
3
- import { renderBlocksList } from '../../ui-kit/BlocksList/renderBlocksList';
4
-
5
- export const OtherProductsItemInner = JSX<BlockItemProps>(({ blocks, columns = 1, context }) => {
6
- const className = 'box-border p-5';
7
- return (
8
- <div className="transition-all duration-300 max-h-0 overflow-hidden">
9
- <div className={`box-border w-full p-9 ${columns > 1 ? 'flex flex-wrap' : ''}`}>
10
- {renderBlocksList({ context, className, columns, blocks })}
11
- </div>
12
- </div>
13
- );
14
- });
@@ -1,24 +0,0 @@
1
- import type { IconName } from '../../icons/IconName';
2
- import { ActiveHandler } from '../../ui-kit/BlocksList/BlocksListProps';
3
-
4
- export const useActiveHandler = ({ context, blocks, initialState = false }: ActiveHandler) => {
5
- const [isActive, setIsActive] = context.useState(initialState);
6
- const hasContent = blocks?.length;
7
- const icon: IconName = isActive ? 'ArrowUpIcon' : 'ArrowDownIcon';
8
-
9
- const getContentBlock = ({ currentTarget }) => currentTarget.previousSibling;
10
-
11
- const handleToggle = (e: MouseEvent) => {
12
- if (!hasContent) {
13
- return;
14
- }
15
-
16
- setIsActive(!isActive);
17
- const contentBlock = getContentBlock(e);
18
- contentBlock.style.maxHeight = contentBlock.style.maxHeight
19
- ? null
20
- : `${contentBlock.scrollHeight}px`;
21
- };
22
-
23
- return { isActive, hasContent, icon, handleToggle };
24
- };
@@ -1,14 +0,0 @@
1
- import { JSX } from '@redneckz/uni-jsx';
2
- import type { BlockItemProps } from './OtherProductsItem';
3
- import { renderBlocksList } from '../../ui-kit/BlocksList/renderBlocksList';
4
-
5
- export const OtherProductsItemInner = JSX<BlockItemProps>(({ blocks, columns = 1, context }) => {
6
- const className = 'box-border p-5';
7
- return (
8
- <div className="transition-all duration-300 max-h-0 overflow-hidden">
9
- <div className={`box-border w-full p-9 ${columns > 1 ? 'flex flex-wrap' : ''}`}>
10
- {renderBlocksList({ context, className, columns, blocks })}
11
- </div>
12
- </div>
13
- );
14
- });
@@ -1,24 +0,0 @@
1
- import type { IconName } from '../../icons/IconName';
2
- import { ActiveHandler } from '../../ui-kit/BlocksList/BlocksListProps';
3
-
4
- export const useActiveHandler = ({ context, blocks, initialState = false }: ActiveHandler) => {
5
- const [isActive, setIsActive] = context.useState(initialState);
6
- const hasContent = blocks?.length;
7
- const icon: IconName = isActive ? 'ArrowUpIcon' : 'ArrowDownIcon';
8
-
9
- const getContentBlock = ({ currentTarget }) => currentTarget.previousSibling;
10
-
11
- const handleToggle = (e: MouseEvent) => {
12
- if (!hasContent) {
13
- return;
14
- }
15
-
16
- setIsActive(!isActive);
17
- const contentBlock = getContentBlock(e);
18
- contentBlock.style.maxHeight = contentBlock.style.maxHeight
19
- ? null
20
- : `${contentBlock.scrollHeight}px`;
21
- };
22
-
23
- return { isActive, hasContent, icon, handleToggle };
24
- };