@alfalab/core-components-universal-modal 3.0.2 → 3.0.3-alfasans

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 (348) hide show
  1. package/Component.responsive.js +1 -2
  2. package/Component.responsive.js.map +1 -1
  3. package/Context.d.ts +3 -0
  4. package/Context.js +3 -0
  5. package/Context.js.map +1 -1
  6. package/components/content/base-content/index.css +1 -1
  7. package/components/content/base-content/index.module.css.js +1 -1
  8. package/components/content/desktop/Component.desktop.js +2 -2
  9. package/components/content/desktop/Component.desktop.js.map +1 -1
  10. package/components/content/desktop/desktop.css +2 -2
  11. package/components/content/desktop/desktop.module.css.js +1 -1
  12. package/components/content/mobile/mobile.css +3 -3
  13. package/components/content/mobile/mobile.module.css.js +1 -1
  14. package/components/footer/base-footer/index.css +3 -3
  15. package/components/footer/base-footer/index.module.css.js +1 -1
  16. package/components/footer/desktop/Component.desktop.js +6 -4
  17. package/components/footer/desktop/Component.desktop.js.map +1 -1
  18. package/components/footer/desktop/desktop.css +1 -1
  19. package/components/footer/desktop/desktop.module.css.js +1 -1
  20. package/components/footer/desktop/layout.css +9 -9
  21. package/components/footer/desktop/layout.module.css.js +1 -1
  22. package/components/footer/mobile/layout.mobile.css +8 -8
  23. package/components/footer/mobile/layout.mobile.module.css.js +1 -1
  24. package/components/footer/mobile/mobile.css +2 -2
  25. package/components/footer/mobile/mobile.module.css.js +1 -1
  26. package/components/header/base-header/index.css +4 -4
  27. package/components/header/base-header/index.module.css.js +1 -1
  28. package/components/header/base-header/useBaseHeader.d.ts +10 -0
  29. package/components/header/base-header/useBaseHeader.js +33 -0
  30. package/components/header/base-header/useBaseHeader.js.map +1 -0
  31. package/components/header/desktop/Component.desktop.js +9 -17
  32. package/components/header/desktop/Component.desktop.js.map +1 -1
  33. package/components/header/desktop/desktop.css +16 -11
  34. package/components/header/desktop/desktop.module.css.js +1 -1
  35. package/components/header/mobile/Component.mobile.js +16 -28
  36. package/components/header/mobile/Component.mobile.js.map +1 -1
  37. package/components/header/mobile/mobile.css +12 -9
  38. package/components/header/mobile/mobile.module.css.js +1 -1
  39. package/cssm/Component.responsive.js +1 -2
  40. package/cssm/Component.responsive.js.map +1 -1
  41. package/cssm/Context.d.ts +3 -0
  42. package/cssm/Context.js +3 -0
  43. package/cssm/Context.js.map +1 -1
  44. package/cssm/components/content/desktop/Component.desktop.js +2 -2
  45. package/cssm/components/content/desktop/Component.desktop.js.map +1 -1
  46. package/cssm/components/footer/desktop/Component.desktop.js +6 -4
  47. package/cssm/components/footer/desktop/Component.desktop.js.map +1 -1
  48. package/cssm/components/header/base-header/useBaseHeader.d.ts +11 -0
  49. package/cssm/components/header/base-header/useBaseHeader.js +33 -0
  50. package/cssm/components/header/base-header/useBaseHeader.js.map +1 -0
  51. package/cssm/components/header/desktop/Component.desktop.js +9 -17
  52. package/cssm/components/header/desktop/Component.desktop.js.map +1 -1
  53. package/cssm/components/header/desktop/desktop.module.css +11 -6
  54. package/cssm/components/header/mobile/Component.mobile.js +16 -28
  55. package/cssm/components/header/mobile/Component.mobile.js.map +1 -1
  56. package/cssm/components/header/mobile/mobile.module.css +9 -6
  57. package/cssm/desktop/Component.desktop.js +7 -16
  58. package/cssm/desktop/Component.desktop.js.map +1 -1
  59. package/{context/universal-modal-context.d.ts → cssm/desktop/context/index.d.ts} +1 -2
  60. package/cssm/{context/universal-modal-context.js → desktop/context/index.js} +2 -4
  61. package/cssm/desktop/context/index.js.map +1 -0
  62. package/cssm/desktop/hooks/use-modal-highlighted.js +2 -2
  63. package/cssm/desktop/hooks/use-modal-highlighted.js.map +1 -1
  64. package/cssm/desktop/types/context.d.ts +2 -0
  65. package/cssm/desktop/types/context.js +3 -0
  66. package/cssm/desktop/types/context.js.map +1 -0
  67. package/cssm/index.js +1 -2
  68. package/cssm/index.js.map +1 -1
  69. package/cssm/mobile/Component.mobile.js +0 -1
  70. package/cssm/mobile/Component.mobile.js.map +1 -1
  71. package/cssm/mobile/index.js +1 -2
  72. package/cssm/mobile/index.js.map +1 -1
  73. package/cssm/typings/index.d.ts +0 -9
  74. package/desktop/Component.desktop.js +7 -16
  75. package/desktop/Component.desktop.js.map +1 -1
  76. package/desktop/components/center-modal/index.css +521 -521
  77. package/desktop/components/center-modal/index.module.css.js +1 -1
  78. package/desktop/components/center-modal/transitions/safari-transitions.css +7 -7
  79. package/desktop/components/center-modal/transitions/safari-transitions.module.css.js +1 -1
  80. package/desktop/components/center-modal/transitions/transitions.css +7 -7
  81. package/desktop/components/center-modal/transitions/transitions.module.css.js +1 -1
  82. package/desktop/components/modal-content/modal-content.css +4 -4
  83. package/desktop/components/modal-content/modal-content.module.css.js +1 -1
  84. package/desktop/components/side-modal/index.css +523 -523
  85. package/desktop/components/side-modal/index.module.css.js +1 -1
  86. package/desktop/components/side-modal/transitions/transitions.css +71 -71
  87. package/desktop/components/side-modal/transitions/transitions.module.css.js +1 -1
  88. package/{esm/context/universal-modal-context.d.ts → desktop/context/index.d.ts} +1 -2
  89. package/{context/universal-modal-context.js → desktop/context/index.js} +2 -4
  90. package/desktop/context/index.js.map +1 -0
  91. package/desktop/hooks/use-modal-highlighted.js +2 -2
  92. package/desktop/hooks/use-modal-highlighted.js.map +1 -1
  93. package/desktop/styles/transitions/full-size-backdrop-transitions.css +13 -13
  94. package/desktop/styles/transitions/full-size-backdrop-transitions.module.css.js +1 -1
  95. package/desktop/styles/transitions/full-size-vertical-bottom-transitions.css +7 -7
  96. package/desktop/styles/transitions/full-size-vertical-bottom-transitions.module.css.js +1 -1
  97. package/desktop/styles/transitions/full-size-vertical-center-transitions.css +7 -7
  98. package/desktop/styles/transitions/full-size-vertical-center-transitions.module.css.js +1 -1
  99. package/desktop/styles/transitions/full-size-vertical-top-transitions.css +7 -7
  100. package/desktop/styles/transitions/full-size-vertical-top-transitions.module.css.js +1 -1
  101. package/desktop/types/context.d.ts +2 -0
  102. package/desktop/types/context.js +3 -0
  103. package/desktop/types/context.js.map +1 -0
  104. package/esm/Component.responsive.js +1 -2
  105. package/esm/Component.responsive.js.map +1 -1
  106. package/esm/Context.d.ts +3 -0
  107. package/esm/Context.js +3 -0
  108. package/esm/Context.js.map +1 -1
  109. package/esm/components/content/base-content/index.css +1 -1
  110. package/esm/components/content/base-content/index.module.css.js +1 -1
  111. package/esm/components/content/desktop/Component.desktop.js +2 -2
  112. package/esm/components/content/desktop/Component.desktop.js.map +1 -1
  113. package/esm/components/content/desktop/desktop.css +2 -2
  114. package/esm/components/content/desktop/desktop.module.css.js +1 -1
  115. package/esm/components/content/mobile/mobile.css +3 -3
  116. package/esm/components/content/mobile/mobile.module.css.js +1 -1
  117. package/esm/components/footer/base-footer/index.css +3 -3
  118. package/esm/components/footer/base-footer/index.module.css.js +1 -1
  119. package/esm/components/footer/desktop/Component.desktop.js +4 -2
  120. package/esm/components/footer/desktop/Component.desktop.js.map +1 -1
  121. package/esm/components/footer/desktop/desktop.css +1 -1
  122. package/esm/components/footer/desktop/desktop.module.css.js +1 -1
  123. package/esm/components/footer/desktop/layout.css +9 -9
  124. package/esm/components/footer/desktop/layout.module.css.js +1 -1
  125. package/esm/components/footer/mobile/layout.mobile.css +8 -8
  126. package/esm/components/footer/mobile/layout.mobile.module.css.js +1 -1
  127. package/esm/components/footer/mobile/mobile.css +2 -2
  128. package/esm/components/footer/mobile/mobile.module.css.js +1 -1
  129. package/esm/components/header/base-header/index.css +4 -4
  130. package/esm/components/header/base-header/index.module.css.js +1 -1
  131. package/esm/components/header/base-header/useBaseHeader.d.ts +11 -0
  132. package/esm/components/header/base-header/useBaseHeader.js +29 -0
  133. package/esm/components/header/base-header/useBaseHeader.js.map +1 -0
  134. package/esm/components/header/desktop/Component.desktop.js +10 -18
  135. package/esm/components/header/desktop/Component.desktop.js.map +1 -1
  136. package/esm/components/header/desktop/desktop.css +16 -11
  137. package/esm/components/header/desktop/desktop.module.css.js +1 -1
  138. package/esm/components/header/mobile/Component.mobile.js +17 -29
  139. package/esm/components/header/mobile/Component.mobile.js.map +1 -1
  140. package/esm/components/header/mobile/mobile.css +12 -9
  141. package/esm/components/header/mobile/mobile.module.css.js +1 -1
  142. package/esm/desktop/Component.desktop.js +7 -16
  143. package/esm/desktop/Component.desktop.js.map +1 -1
  144. package/esm/desktop/components/center-modal/index.css +521 -521
  145. package/esm/desktop/components/center-modal/index.module.css.js +1 -1
  146. package/esm/desktop/components/center-modal/transitions/safari-transitions.css +7 -7
  147. package/esm/desktop/components/center-modal/transitions/safari-transitions.module.css.js +1 -1
  148. package/esm/desktop/components/center-modal/transitions/transitions.css +7 -7
  149. package/esm/desktop/components/center-modal/transitions/transitions.module.css.js +1 -1
  150. package/esm/desktop/components/modal-content/modal-content.css +4 -4
  151. package/esm/desktop/components/modal-content/modal-content.module.css.js +1 -1
  152. package/esm/desktop/components/side-modal/index.css +523 -523
  153. package/esm/desktop/components/side-modal/index.module.css.js +1 -1
  154. package/esm/desktop/components/side-modal/transitions/transitions.css +71 -71
  155. package/esm/desktop/components/side-modal/transitions/transitions.module.css.js +1 -1
  156. package/{modern/context/universal-modal-context.d.ts → esm/desktop/context/index.d.ts} +1 -2
  157. package/esm/{context/universal-modal-context.js → desktop/context/index.js} +2 -4
  158. package/esm/desktop/context/index.js.map +1 -0
  159. package/esm/desktop/hooks/use-modal-highlighted.js +2 -2
  160. package/esm/desktop/hooks/use-modal-highlighted.js.map +1 -1
  161. package/esm/desktop/styles/transitions/full-size-backdrop-transitions.css +13 -13
  162. package/esm/desktop/styles/transitions/full-size-backdrop-transitions.module.css.js +1 -1
  163. package/esm/desktop/styles/transitions/full-size-vertical-bottom-transitions.css +7 -7
  164. package/esm/desktop/styles/transitions/full-size-vertical-bottom-transitions.module.css.js +1 -1
  165. package/esm/desktop/styles/transitions/full-size-vertical-center-transitions.css +7 -7
  166. package/esm/desktop/styles/transitions/full-size-vertical-center-transitions.module.css.js +1 -1
  167. package/esm/desktop/styles/transitions/full-size-vertical-top-transitions.css +7 -7
  168. package/esm/desktop/styles/transitions/full-size-vertical-top-transitions.module.css.js +1 -1
  169. package/esm/desktop/types/context.d.ts +2 -0
  170. package/esm/desktop/types/context.js +2 -0
  171. package/esm/desktop/types/context.js.map +1 -0
  172. package/esm/index.js +1 -2
  173. package/esm/index.js.map +1 -1
  174. package/esm/mobile/Component.mobile.js +0 -1
  175. package/esm/mobile/Component.mobile.js.map +1 -1
  176. package/esm/mobile/index.js +1 -2
  177. package/esm/mobile/index.js.map +1 -1
  178. package/esm/mobile/mobile.css +3 -3
  179. package/esm/mobile/mobile.module.css.js +1 -1
  180. package/esm/mobile/transitions/right-side-transitions.mobile.css +7 -7
  181. package/esm/mobile/transitions/right-side-transitions.mobile.module.css.js +1 -1
  182. package/esm/mobile/transitions/transitions.mobile.css +7 -7
  183. package/esm/mobile/transitions/transitions.mobile.module.css.js +1 -1
  184. package/esm/typings/index.d.ts +0 -9
  185. package/index.js +1 -2
  186. package/index.js.map +1 -1
  187. package/mobile/Component.mobile.js +0 -1
  188. package/mobile/Component.mobile.js.map +1 -1
  189. package/mobile/index.js +1 -2
  190. package/mobile/index.js.map +1 -1
  191. package/mobile/mobile.css +3 -3
  192. package/mobile/mobile.module.css.js +1 -1
  193. package/mobile/transitions/right-side-transitions.mobile.css +7 -7
  194. package/mobile/transitions/right-side-transitions.mobile.module.css.js +1 -1
  195. package/mobile/transitions/transitions.mobile.css +7 -7
  196. package/mobile/transitions/transitions.mobile.module.css.js +1 -1
  197. package/modern/Component.responsive.js +1 -2
  198. package/modern/Component.responsive.js.map +1 -1
  199. package/modern/Context.d.ts +3 -0
  200. package/modern/Context.js +3 -0
  201. package/modern/Context.js.map +1 -1
  202. package/modern/components/content/base-content/index.css +1 -1
  203. package/modern/components/content/base-content/index.module.css.js +1 -1
  204. package/modern/components/content/desktop/Component.desktop.js +2 -2
  205. package/modern/components/content/desktop/Component.desktop.js.map +1 -1
  206. package/modern/components/content/desktop/desktop.css +2 -2
  207. package/modern/components/content/desktop/desktop.module.css.js +1 -1
  208. package/modern/components/content/mobile/mobile.css +3 -3
  209. package/modern/components/content/mobile/mobile.module.css.js +1 -1
  210. package/modern/components/footer/base-footer/index.css +3 -3
  211. package/modern/components/footer/base-footer/index.module.css.js +1 -1
  212. package/modern/components/footer/desktop/Component.desktop.js +4 -2
  213. package/modern/components/footer/desktop/Component.desktop.js.map +1 -1
  214. package/modern/components/footer/desktop/desktop.css +1 -1
  215. package/modern/components/footer/desktop/desktop.module.css.js +1 -1
  216. package/modern/components/footer/desktop/layout.css +9 -9
  217. package/modern/components/footer/desktop/layout.module.css.js +1 -1
  218. package/modern/components/footer/mobile/layout.mobile.css +8 -8
  219. package/modern/components/footer/mobile/layout.mobile.module.css.js +1 -1
  220. package/modern/components/footer/mobile/mobile.css +2 -2
  221. package/modern/components/footer/mobile/mobile.module.css.js +1 -1
  222. package/modern/components/header/base-header/index.css +4 -4
  223. package/modern/components/header/base-header/index.module.css.js +1 -1
  224. package/modern/components/header/base-header/useBaseHeader.d.ts +11 -0
  225. package/modern/components/header/base-header/useBaseHeader.js +25 -0
  226. package/modern/components/header/base-header/useBaseHeader.js.map +1 -0
  227. package/modern/components/header/desktop/Component.desktop.js +10 -14
  228. package/modern/components/header/desktop/Component.desktop.js.map +1 -1
  229. package/modern/components/header/desktop/desktop.css +16 -11
  230. package/modern/components/header/desktop/desktop.module.css.js +1 -1
  231. package/modern/components/header/mobile/Component.mobile.js +11 -18
  232. package/modern/components/header/mobile/Component.mobile.js.map +1 -1
  233. package/modern/components/header/mobile/mobile.css +12 -9
  234. package/modern/components/header/mobile/mobile.module.css.js +1 -1
  235. package/modern/desktop/Component.desktop.js +7 -15
  236. package/modern/desktop/Component.desktop.js.map +1 -1
  237. package/modern/desktop/components/center-modal/index.css +521 -521
  238. package/modern/desktop/components/center-modal/index.module.css.js +1 -1
  239. package/modern/desktop/components/center-modal/transitions/safari-transitions.css +7 -7
  240. package/modern/desktop/components/center-modal/transitions/safari-transitions.module.css.js +1 -1
  241. package/modern/desktop/components/center-modal/transitions/transitions.css +7 -7
  242. package/modern/desktop/components/center-modal/transitions/transitions.module.css.js +1 -1
  243. package/modern/desktop/components/modal-content/modal-content.css +4 -4
  244. package/modern/desktop/components/modal-content/modal-content.module.css.js +1 -1
  245. package/modern/desktop/components/side-modal/index.css +523 -523
  246. package/modern/desktop/components/side-modal/index.module.css.js +1 -1
  247. package/modern/desktop/components/side-modal/transitions/transitions.css +71 -71
  248. package/modern/desktop/components/side-modal/transitions/transitions.module.css.js +1 -1
  249. package/{cssm/context/universal-modal-context.d.ts → modern/desktop/context/index.d.ts} +1 -2
  250. package/{moderncssm/context/universal-modal-context.js → modern/desktop/context/index.js} +2 -4
  251. package/modern/desktop/context/index.js.map +1 -0
  252. package/modern/desktop/hooks/use-modal-highlighted.js +2 -2
  253. package/modern/desktop/hooks/use-modal-highlighted.js.map +1 -1
  254. package/modern/desktop/styles/transitions/full-size-backdrop-transitions.css +13 -13
  255. package/modern/desktop/styles/transitions/full-size-backdrop-transitions.module.css.js +1 -1
  256. package/modern/desktop/styles/transitions/full-size-vertical-bottom-transitions.css +7 -7
  257. package/modern/desktop/styles/transitions/full-size-vertical-bottom-transitions.module.css.js +1 -1
  258. package/modern/desktop/styles/transitions/full-size-vertical-center-transitions.css +7 -7
  259. package/modern/desktop/styles/transitions/full-size-vertical-center-transitions.module.css.js +1 -1
  260. package/modern/desktop/styles/transitions/full-size-vertical-top-transitions.css +7 -7
  261. package/modern/desktop/styles/transitions/full-size-vertical-top-transitions.module.css.js +1 -1
  262. package/modern/desktop/types/context.d.ts +2 -0
  263. package/modern/desktop/types/context.js +2 -0
  264. package/modern/desktop/types/context.js.map +1 -0
  265. package/modern/index.js +1 -2
  266. package/modern/index.js.map +1 -1
  267. package/modern/mobile/Component.mobile.js +0 -1
  268. package/modern/mobile/Component.mobile.js.map +1 -1
  269. package/modern/mobile/index.js +1 -2
  270. package/modern/mobile/index.js.map +1 -1
  271. package/modern/mobile/mobile.css +3 -3
  272. package/modern/mobile/mobile.module.css.js +1 -1
  273. package/modern/mobile/transitions/right-side-transitions.mobile.css +7 -7
  274. package/modern/mobile/transitions/right-side-transitions.mobile.module.css.js +1 -1
  275. package/modern/mobile/transitions/transitions.mobile.css +7 -7
  276. package/modern/mobile/transitions/transitions.mobile.module.css.js +1 -1
  277. package/modern/typings/index.d.ts +0 -9
  278. package/moderncssm/Component.responsive.js +1 -2
  279. package/moderncssm/Component.responsive.js.map +1 -1
  280. package/moderncssm/Context.d.ts +3 -0
  281. package/moderncssm/Context.js +3 -0
  282. package/moderncssm/Context.js.map +1 -1
  283. package/moderncssm/components/content/desktop/Component.desktop.js +2 -2
  284. package/moderncssm/components/content/desktop/Component.desktop.js.map +1 -1
  285. package/moderncssm/components/footer/desktop/Component.desktop.js +4 -2
  286. package/moderncssm/components/footer/desktop/Component.desktop.js.map +1 -1
  287. package/moderncssm/components/header/base-header/useBaseHeader.d.ts +11 -0
  288. package/moderncssm/components/header/base-header/useBaseHeader.js +25 -0
  289. package/moderncssm/components/header/base-header/useBaseHeader.js.map +1 -0
  290. package/moderncssm/components/header/desktop/Component.desktop.js +10 -14
  291. package/moderncssm/components/header/desktop/Component.desktop.js.map +1 -1
  292. package/moderncssm/components/header/desktop/desktop.module.css +8 -4
  293. package/moderncssm/components/header/mobile/Component.mobile.js +11 -18
  294. package/moderncssm/components/header/mobile/Component.mobile.js.map +1 -1
  295. package/moderncssm/components/header/mobile/mobile.module.css +6 -4
  296. package/moderncssm/desktop/Component.desktop.js +7 -15
  297. package/moderncssm/desktop/Component.desktop.js.map +1 -1
  298. package/moderncssm/desktop/context/index.d.ts +2 -0
  299. package/{modern/context/universal-modal-context.js → moderncssm/desktop/context/index.js} +2 -4
  300. package/moderncssm/desktop/context/index.js.map +1 -0
  301. package/moderncssm/desktop/hooks/use-modal-highlighted.js +2 -2
  302. package/moderncssm/desktop/hooks/use-modal-highlighted.js.map +1 -1
  303. package/moderncssm/desktop/types/context.d.ts +2 -0
  304. package/moderncssm/desktop/types/context.js +2 -0
  305. package/moderncssm/desktop/types/context.js.map +1 -0
  306. package/moderncssm/index.js +1 -2
  307. package/moderncssm/index.js.map +1 -1
  308. package/moderncssm/mobile/Component.mobile.js +0 -1
  309. package/moderncssm/mobile/Component.mobile.js.map +1 -1
  310. package/moderncssm/mobile/index.js +1 -2
  311. package/moderncssm/mobile/index.js.map +1 -1
  312. package/moderncssm/typings/index.d.ts +0 -9
  313. package/package.json +9 -9
  314. package/src/Context.ts +3 -0
  315. package/src/components/content/desktop/Component.desktop.tsx +2 -2
  316. package/src/components/footer/desktop/Component.desktop.tsx +4 -2
  317. package/src/components/header/base-header/useBaseHeader.ts +40 -0
  318. package/src/components/header/desktop/Component.desktop.tsx +10 -17
  319. package/src/components/header/mobile/Component.mobile.tsx +22 -38
  320. package/src/desktop/Component.desktop.tsx +8 -17
  321. package/src/desktop/context/index.ts +7 -0
  322. package/src/desktop/hooks/use-modal-highlighted.ts +5 -3
  323. package/src/desktop/types/context.ts +3 -0
  324. package/src/typings/index.ts +0 -10
  325. package/typings/index.d.ts +0 -9
  326. package/context/universal-modal-context.js.map +0 -1
  327. package/cssm/context/universal-modal-context.js.map +0 -1
  328. package/cssm/desktop/utils/check-header-and-footer.d.ts +0 -5
  329. package/cssm/desktop/utils/check-header-and-footer.js +0 -27
  330. package/cssm/desktop/utils/check-header-and-footer.js.map +0 -1
  331. package/desktop/utils/check-header-and-footer.d.ts +0 -5
  332. package/desktop/utils/check-header-and-footer.js +0 -27
  333. package/desktop/utils/check-header-and-footer.js.map +0 -1
  334. package/esm/context/universal-modal-context.js.map +0 -1
  335. package/esm/desktop/utils/check-header-and-footer.d.ts +0 -5
  336. package/esm/desktop/utils/check-header-and-footer.js +0 -23
  337. package/esm/desktop/utils/check-header-and-footer.js.map +0 -1
  338. package/modern/context/universal-modal-context.js.map +0 -1
  339. package/modern/desktop/utils/check-header-and-footer.d.ts +0 -5
  340. package/modern/desktop/utils/check-header-and-footer.js +0 -23
  341. package/modern/desktop/utils/check-header-and-footer.js.map +0 -1
  342. package/moderncssm/context/universal-modal-context.d.ts +0 -3
  343. package/moderncssm/context/universal-modal-context.js.map +0 -1
  344. package/moderncssm/desktop/utils/check-header-and-footer.d.ts +0 -5
  345. package/moderncssm/desktop/utils/check-header-and-footer.js +0 -23
  346. package/moderncssm/desktop/utils/check-header-and-footer.js.map +0 -1
  347. package/src/context/universal-modal-context.ts +0 -9
  348. package/src/desktop/utils/check-header-and-footer.ts +0 -30
@@ -1,26 +1,22 @@
1
- import React, { forwardRef, useContext, useRef } from 'react';
1
+ import React, { forwardRef } from 'react';
2
2
  import cn from 'classnames';
3
3
  import { NavigationBarPrivate } from '@alfalab/core-components-navigation-bar-private/moderncssm';
4
4
  import { getDataTestId } from '@alfalab/core-components-shared/moderncssm';
5
- import { ModalContext } from '../../../Context.js';
6
- import { UniversalModalContext } from '../../../context/universal-modal-context.js';
5
+ import { useBaseHeader } from '../base-header/useBaseHeader.js';
7
6
  import styles from '../base-header/index.module.css';
8
7
  import desktopStyles from './desktop.module.css';
9
8
 
10
9
  const HeaderDesktop = forwardRef((props, ref) => {
11
10
  const { className, children, title, sticky, bigTitle = false, titleClassName, dataTestId, bottomAddonsClassName, onClose, ...restProps } = props;
12
- const { componentRef, onClose: handleCloseByContext } = useContext(ModalContext);
13
- const { modalHeaderHighlighted } = useContext(UniversalModalContext);
14
- const titleRef = useRef(null);
15
- const hasContent = Boolean(title || children || restProps.bottomAddons);
16
- const handleClose = (...args) => {
17
- if (onClose) {
18
- return onClose(...args);
19
- }
20
- return handleCloseByContext(...args);
21
- };
11
+ const { bottomAddons } = restProps;
12
+ const { headerHighlighted, hasContent, componentRef, titleRef, handleClose } = useBaseHeader({
13
+ title,
14
+ children,
15
+ bottomAddons,
16
+ onClose,
17
+ });
22
18
  return (React.createElement(NavigationBarPrivate, { ...restProps, ref: ref, view: 'desktop', dataTestId: getDataTestId(dataTestId, 'header'), dataName: 'modalHeaderDesktop', sticky: sticky, title: title, className: cn(styles.header, desktopStyles.header, className, {
23
- [styles.highlighted]: sticky && modalHeaderHighlighted && hasContent,
19
+ [styles.highlighted]: sticky && headerHighlighted && hasContent,
24
20
  [styles.sticky]: sticky,
25
21
  [styles.hasContent]: hasContent,
26
22
  [desktopStyles.medium]: bigTitle,
@@ -1 +1 @@
1
- {"version":3,"file":"Component.desktop.js","sources":["../../../../src/components/header/desktop/Component.desktop.tsx"],"sourcesContent":["import React, { forwardRef, useContext, useRef } from 'react';\nimport cn from 'classnames';\n\nimport {\n NavigationBarPrivate,\n type NavigationBarPrivateProps,\n} from '@alfalab/core-components-navigation-bar-private';\nimport { getDataTestId } from '@alfalab/core-components-shared';\n\nimport { ModalContext } from '../../../Context';\nimport { UniversalModalContext } from '../../../context/universal-modal-context';\n\nimport styles from '../base-header/index.module.css';\nimport desktopStyles from './desktop.module.css';\n\nexport interface HeaderDesktopProps\n extends Omit<\n NavigationBarPrivateProps,\n 'size' | 'view' | 'parentRef' | 'titleSize' | 'subtitle'\n > {\n /**\n * Заголовок в шапке крупного размера\n * @default false\n */\n bigTitle?: boolean;\n}\n\nexport const HeaderDesktop = forwardRef<HTMLDivElement, HeaderDesktopProps>((props, ref) => {\n const {\n className,\n children,\n title,\n sticky,\n bigTitle = false,\n titleClassName,\n dataTestId,\n bottomAddonsClassName,\n onClose,\n ...restProps\n } = props;\n\n const { componentRef, onClose: handleCloseByContext } = useContext(ModalContext);\n const { modalHeaderHighlighted } = useContext(UniversalModalContext);\n\n const titleRef = useRef<HTMLDivElement>(null);\n\n const hasContent = Boolean(title || children || restProps.bottomAddons);\n\n const handleClose: NavigationBarPrivateProps['onClose'] = (...args) => {\n if (onClose) {\n return onClose(...args);\n }\n\n return handleCloseByContext(...args);\n };\n\n return (\n <NavigationBarPrivate\n {...restProps}\n ref={ref}\n view='desktop'\n dataTestId={getDataTestId(dataTestId, 'header')}\n dataName='modalHeaderDesktop'\n sticky={sticky}\n title={title}\n className={cn(styles.header, desktopStyles.header, className, {\n [styles.highlighted]: sticky && modalHeaderHighlighted && hasContent,\n [styles.sticky]: sticky,\n [styles.hasContent]: hasContent,\n [desktopStyles.medium]: bigTitle,\n })}\n bottomAddonsClassName={cn(desktopStyles.bottomAddons, bottomAddonsClassName)}\n scrollableParentRef={componentRef}\n titleClassName={cn(desktopStyles.headerTitle, titleClassName)}\n titleRef={titleRef}\n onClose={handleClose}\n >\n {children}\n </NavigationBarPrivate>\n );\n});\n\nHeaderDesktop.displayName = 'HeaderDesktop';\n"],"names":[],"mappings":";;;;;;;;;AA2Ba,MAAA,aAAa,GAAG,UAAU,CAAqC,CAAC,KAAK,EAAE,GAAG,KAAI;IACvF,MAAM,EACF,SAAS,EACT,QAAQ,EACR,KAAK,EACL,MAAM,EACN,QAAQ,GAAG,KAAK,EAChB,cAAc,EACd,UAAU,EACV,qBAAqB,EACrB,OAAO,EACP,GAAG,SAAS,EACf,GAAG,KAAK;AAET,IAAA,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,oBAAoB,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC;IAChF,MAAM,EAAE,sBAAsB,EAAE,GAAG,UAAU,CAAC,qBAAqB,CAAC;AAEpE,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAiB,IAAI,CAAC;AAE7C,IAAA,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,IAAI,QAAQ,IAAI,SAAS,CAAC,YAAY,CAAC;AAEvE,IAAA,MAAM,WAAW,GAAyC,CAAC,GAAG,IAAI,KAAI;AAClE,QAAA,IAAI,OAAO,EAAE;AACT,YAAA,OAAO,OAAO,CAAC,GAAG,IAAI,CAAC;AAC1B;AAED,QAAA,OAAO,oBAAoB,CAAC,GAAG,IAAI,CAAC;AACxC,KAAC;IAED,QACI,oBAAC,oBAAoB,EAAA,EAAA,GACb,SAAS,EACb,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,SAAS,EACd,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,EAC/C,QAAQ,EAAC,oBAAoB,EAC7B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE;YAC1D,CAAC,MAAM,CAAC,WAAW,GAAG,MAAM,IAAI,sBAAsB,IAAI,UAAU;AACpE,YAAA,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM;AACvB,YAAA,CAAC,MAAM,CAAC,UAAU,GAAG,UAAU;AAC/B,YAAA,CAAC,aAAa,CAAC,MAAM,GAAG,QAAQ;AACnC,SAAA,CAAC,EACF,qBAAqB,EAAE,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,qBAAqB,CAAC,EAC5E,mBAAmB,EAAE,YAAY,EACjC,cAAc,EAAE,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,cAAc,CAAC,EAC7D,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,WAAW,IAEnB,QAAQ,CACU;AAE/B,CAAC;AAED,aAAa,CAAC,WAAW,GAAG,eAAe;;;;"}
1
+ {"version":3,"file":"Component.desktop.js","sources":["../../../../src/components/header/desktop/Component.desktop.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport cn from 'classnames';\n\nimport {\n NavigationBarPrivate,\n type NavigationBarPrivateProps,\n} from '@alfalab/core-components-navigation-bar-private';\nimport { getDataTestId } from '@alfalab/core-components-shared';\n\nimport { useBaseHeader } from '../base-header/useBaseHeader';\n\nimport styles from '../base-header/index.module.css';\nimport desktopStyles from './desktop.module.css';\n\nexport interface HeaderDesktopProps\n extends Omit<\n NavigationBarPrivateProps,\n 'size' | 'view' | 'parentRef' | 'titleSize' | 'subtitle'\n > {\n /**\n * Заголовок в шапке крупного размера\n * @default false\n */\n bigTitle?: boolean;\n}\n\nexport const HeaderDesktop = forwardRef<HTMLDivElement, HeaderDesktopProps>((props, ref) => {\n const {\n className,\n children,\n title,\n sticky,\n bigTitle = false,\n titleClassName,\n dataTestId,\n bottomAddonsClassName,\n onClose,\n ...restProps\n } = props;\n\n const { bottomAddons } = restProps;\n\n const { headerHighlighted, hasContent, componentRef, titleRef, handleClose } = useBaseHeader({\n title,\n children,\n bottomAddons,\n onClose,\n });\n\n return (\n <NavigationBarPrivate\n {...restProps}\n ref={ref}\n view='desktop'\n dataTestId={getDataTestId(dataTestId, 'header')}\n dataName='modalHeaderDesktop'\n sticky={sticky}\n title={title}\n className={cn(styles.header, desktopStyles.header, className, {\n [styles.highlighted]: sticky && headerHighlighted && hasContent,\n [styles.sticky]: sticky,\n [styles.hasContent]: hasContent,\n [desktopStyles.medium]: bigTitle,\n })}\n bottomAddonsClassName={cn(desktopStyles.bottomAddons, bottomAddonsClassName)}\n scrollableParentRef={componentRef}\n titleClassName={cn(desktopStyles.headerTitle, titleClassName)}\n titleRef={titleRef}\n onClose={handleClose}\n >\n {children}\n </NavigationBarPrivate>\n );\n});\n\nHeaderDesktop.displayName = 'HeaderDesktop';\n"],"names":[],"mappings":";;;;;;;;AA0Ba,MAAA,aAAa,GAAG,UAAU,CAAqC,CAAC,KAAK,EAAE,GAAG,KAAI;IACvF,MAAM,EACF,SAAS,EACT,QAAQ,EACR,KAAK,EACL,MAAM,EACN,QAAQ,GAAG,KAAK,EAChB,cAAc,EACd,UAAU,EACV,qBAAqB,EACrB,OAAO,EACP,GAAG,SAAS,EACf,GAAG,KAAK;AAET,IAAA,MAAM,EAAE,YAAY,EAAE,GAAG,SAAS;AAElC,IAAA,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC;QACzF,KAAK;QACL,QAAQ;QACR,YAAY;QACZ,OAAO;AACV,KAAA,CAAC;IAEF,QACI,oBAAC,oBAAoB,EAAA,EAAA,GACb,SAAS,EACb,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,SAAS,EACd,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,EAC/C,QAAQ,EAAC,oBAAoB,EAC7B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE;YAC1D,CAAC,MAAM,CAAC,WAAW,GAAG,MAAM,IAAI,iBAAiB,IAAI,UAAU;AAC/D,YAAA,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM;AACvB,YAAA,CAAC,MAAM,CAAC,UAAU,GAAG,UAAU;AAC/B,YAAA,CAAC,aAAa,CAAC,MAAM,GAAG,QAAQ;AACnC,SAAA,CAAC,EACF,qBAAqB,EAAE,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,qBAAqB,CAAC,EAC5E,mBAAmB,EAAE,YAAY,EACjC,cAAc,EAAE,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,cAAc,CAAC,EAC7D,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,WAAW,IAEnB,QAAQ,CACU;AAE/B,CAAC;AAED,aAAa,CAAC,WAAW,GAAG,eAAe;;;;"}
@@ -8,7 +8,8 @@
8
8
  font-size: 22px;
9
9
  line-height: 26px;
10
10
  font-weight: 700;
11
- font-family: var(--font-family-system);
11
+ letter-spacing: 0.2px;
12
+ font-family: var(--font-family-alfasans);
12
13
  padding: 11px var(--gap-12);
13
14
  }
14
15
 
@@ -16,7 +17,8 @@
16
17
  font-size: 22px;
17
18
  line-height: 26px;
18
19
  font-weight: 700;
19
- font-family: var(--font-family-system);
20
+ letter-spacing: 0.2px;
21
+ font-family: var(--font-family-alfasans);
20
22
  padding: var(--gap-6) var(--gap-12) var(--gap-16);
21
23
  }
22
24
 
@@ -24,7 +26,8 @@
24
26
  font-size: 30px;
25
27
  line-height: 36px;
26
28
  font-weight: 700;
27
- font-family: var(--font-family-system);
29
+ letter-spacing: 0.1px;
30
+ font-family: var(--font-family-alfasans);
28
31
  padding: var(--gap-6) var(--gap-12) var(--gap-16);
29
32
  }
30
33
 
@@ -32,5 +35,6 @@
32
35
  font-size: 30px;
33
36
  line-height: 36px;
34
37
  font-weight: 700;
35
- font-family: var(--font-family-system);
38
+ letter-spacing: 0.1px;
39
+ font-family: var(--font-family-alfasans);
36
40
  }
@@ -1,27 +1,20 @@
1
- import React, { useContext, useRef, useEffect } from 'react';
1
+ import React from 'react';
2
2
  import cn from 'classnames';
3
3
  import { NavigationBarPrivate } from '@alfalab/core-components-navigation-bar-private/moderncssm';
4
4
  import { getDataTestId } from '@alfalab/core-components-shared/moderncssm';
5
- import { ModalContext } from '../../../Context.js';
5
+ import { useBaseHeader } from '../base-header/useBaseHeader.js';
6
6
  import styles from '../base-header/index.module.css';
7
7
  import mobileStyles from './mobile.module.css';
8
8
 
9
- const HeaderMobile = ({ className, children, contentClassName, title, sticky, dataTestId, bottomAddonsClassName, onClose, ...restProps }) => {
10
- const { setHasHeader, headerHighlighted, componentRef, onClose: handleCloseByContext, } = useContext(ModalContext);
11
- const titleRef = useRef(null);
12
- const hasContent = Boolean(title || children || restProps.bottomAddons);
13
- const handleClose = (...args) => {
14
- if (onClose) {
15
- return onClose(...args);
16
- }
17
- return handleCloseByContext(...args);
18
- };
19
- useEffect(() => {
20
- setHasHeader(true);
21
- return () => {
22
- setHasHeader(false);
23
- };
24
- }, [setHasHeader]);
9
+ const HeaderMobile = (props) => {
10
+ const { className, children, contentClassName, title, sticky, dataTestId, bottomAddonsClassName, onClose, ...restProps } = props;
11
+ const { bottomAddons } = restProps;
12
+ const { headerHighlighted, hasContent, componentRef, titleRef, handleClose } = useBaseHeader({
13
+ title,
14
+ children,
15
+ bottomAddons,
16
+ onClose,
17
+ });
25
18
  return (React.createElement(NavigationBarPrivate, { ...restProps, view: 'mobile', dataTestId: getDataTestId(dataTestId, 'header'), sticky: sticky, title: title, className: cn(styles.header, mobileStyles.header, className, {
26
19
  [styles.highlighted]: sticky && headerHighlighted && hasContent,
27
20
  [styles.sticky]: sticky,
@@ -1 +1 @@
1
- {"version":3,"file":"Component.mobile.js","sources":["../../../../src/components/header/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { type FC, useContext, useEffect, useRef } from 'react';\nimport cn from 'classnames';\n\nimport {\n NavigationBarPrivate,\n type NavigationBarPrivateProps,\n} from '@alfalab/core-components-navigation-bar-private';\nimport { getDataTestId } from '@alfalab/core-components-shared';\n\nimport { ModalContext } from '../../../Context';\n\nimport styles from '../base-header/index.module.css';\nimport mobileStyles from './mobile.module.css';\n\nexport type HeaderMobileProps = Omit<NavigationBarPrivateProps, 'size' | 'view' | 'parentRef'>;\n\nexport const HeaderMobile: FC<HeaderMobileProps> = ({\n className,\n children,\n contentClassName,\n title,\n sticky,\n dataTestId,\n bottomAddonsClassName,\n onClose,\n ...restProps\n}) => {\n const {\n setHasHeader,\n headerHighlighted,\n componentRef,\n onClose: handleCloseByContext,\n } = useContext(ModalContext);\n\n const titleRef = useRef<HTMLDivElement>(null);\n\n const hasContent = Boolean(title || children || restProps.bottomAddons);\n\n const handleClose: NavigationBarPrivateProps['onClose'] = (...args) => {\n if (onClose) {\n return onClose(...args);\n }\n\n return handleCloseByContext(...args);\n };\n\n useEffect(() => {\n setHasHeader(true);\n\n return () => {\n setHasHeader(false);\n };\n }, [setHasHeader]);\n\n return (\n <NavigationBarPrivate\n {...restProps}\n view='mobile'\n dataTestId={getDataTestId(dataTestId, 'header')}\n sticky={sticky}\n title={title}\n className={cn(styles.header, mobileStyles.header, className, {\n [styles.highlighted]: sticky && headerHighlighted && hasContent,\n [styles.sticky]: sticky,\n [styles.hasContent]: hasContent,\n })}\n contentClassName={cn(mobileStyles.content, contentClassName)}\n bottomAddonsClassName={cn(mobileStyles.bottomAddons, bottomAddonsClassName)}\n scrollableParentRef={componentRef}\n titleRef={titleRef}\n onClose={handleClose}\n >\n {children}\n </NavigationBarPrivate>\n );\n};\n"],"names":[],"mappings":";;;;;;;;AAgBa,MAAA,YAAY,GAA0B,CAAC,EAChD,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,KAAK,EACL,MAAM,EACN,UAAU,EACV,qBAAqB,EACrB,OAAO,EACP,GAAG,SAAS,EACf,KAAI;AACD,IAAA,MAAM,EACF,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,OAAO,EAAE,oBAAoB,GAChC,GAAG,UAAU,CAAC,YAAY,CAAC;AAE5B,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAiB,IAAI,CAAC;AAE7C,IAAA,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,IAAI,QAAQ,IAAI,SAAS,CAAC,YAAY,CAAC;AAEvE,IAAA,MAAM,WAAW,GAAyC,CAAC,GAAG,IAAI,KAAI;AAClE,QAAA,IAAI,OAAO,EAAE;AACT,YAAA,OAAO,OAAO,CAAC,GAAG,IAAI,CAAC;AAC1B;AAED,QAAA,OAAO,oBAAoB,CAAC,GAAG,IAAI,CAAC;AACxC,KAAC;IAED,SAAS,CAAC,MAAK;QACX,YAAY,CAAC,IAAI,CAAC;AAElB,QAAA,OAAO,MAAK;YACR,YAAY,CAAC,KAAK,CAAC;AACvB,SAAC;AACL,KAAC,EAAE,CAAC,YAAY,CAAC,CAAC;AAElB,IAAA,QACI,KAAC,CAAA,aAAA,CAAA,oBAAoB,OACb,SAAS,EACb,IAAI,EAAC,QAAQ,EACb,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,EAC/C,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE;YACzD,CAAC,MAAM,CAAC,WAAW,GAAG,MAAM,IAAI,iBAAiB,IAAI,UAAU;AAC/D,YAAA,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM;AACvB,YAAA,CAAC,MAAM,CAAC,UAAU,GAAG,UAAU;AAClC,SAAA,CAAC,EACF,gBAAgB,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAC5D,qBAAqB,EAAE,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,qBAAqB,CAAC,EAC3E,mBAAmB,EAAE,YAAY,EACjC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,WAAW,IAEnB,QAAQ,CACU;AAE/B;;;;"}
1
+ {"version":3,"file":"Component.mobile.js","sources":["../../../../src/components/header/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { type FC } from 'react';\nimport cn from 'classnames';\n\nimport {\n NavigationBarPrivate,\n type NavigationBarPrivateProps,\n} from '@alfalab/core-components-navigation-bar-private';\nimport { getDataTestId } from '@alfalab/core-components-shared';\n\nimport { useBaseHeader } from '../base-header/useBaseHeader';\n\nimport styles from '../base-header/index.module.css';\nimport mobileStyles from './mobile.module.css';\n\nexport type HeaderMobileProps = Omit<NavigationBarPrivateProps, 'size' | 'view' | 'parentRef'>;\n\nexport const HeaderMobile: FC<HeaderMobileProps> = (props) => {\n const {\n className,\n children,\n contentClassName,\n title,\n sticky,\n dataTestId,\n bottomAddonsClassName,\n onClose,\n ...restProps\n } = props;\n\n const { bottomAddons } = restProps;\n\n const { headerHighlighted, hasContent, componentRef, titleRef, handleClose } = useBaseHeader({\n title,\n children,\n bottomAddons,\n onClose,\n });\n\n return (\n <NavigationBarPrivate\n {...restProps}\n view='mobile'\n dataTestId={getDataTestId(dataTestId, 'header')}\n sticky={sticky}\n title={title}\n className={cn(styles.header, mobileStyles.header, className, {\n [styles.highlighted]: sticky && headerHighlighted && hasContent,\n [styles.sticky]: sticky,\n [styles.hasContent]: hasContent,\n })}\n contentClassName={cn(mobileStyles.content, contentClassName)}\n bottomAddonsClassName={cn(mobileStyles.bottomAddons, bottomAddonsClassName)}\n scrollableParentRef={componentRef}\n titleRef={titleRef}\n onClose={handleClose}\n >\n {children}\n </NavigationBarPrivate>\n );\n};\n"],"names":[],"mappings":";;;;;;;;AAgBa,MAAA,YAAY,GAA0B,CAAC,KAAK,KAAI;IACzD,MAAM,EACF,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,KAAK,EACL,MAAM,EACN,UAAU,EACV,qBAAqB,EACrB,OAAO,EACP,GAAG,SAAS,EACf,GAAG,KAAK;AAET,IAAA,MAAM,EAAE,YAAY,EAAE,GAAG,SAAS;AAElC,IAAA,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC;QACzF,KAAK;QACL,QAAQ;QACR,YAAY;QACZ,OAAO;AACV,KAAA,CAAC;AAEF,IAAA,QACI,KAAC,CAAA,aAAA,CAAA,oBAAoB,OACb,SAAS,EACb,IAAI,EAAC,QAAQ,EACb,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,EAC/C,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE;YACzD,CAAC,MAAM,CAAC,WAAW,GAAG,MAAM,IAAI,iBAAiB,IAAI,UAAU;AAC/D,YAAA,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM;AACvB,YAAA,CAAC,MAAM,CAAC,UAAU,GAAG,UAAU;AAClC,SAAA,CAAC,EACF,gBAAgB,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAC5D,qBAAqB,EAAE,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,qBAAqB,CAAC,EAC3E,mBAAmB,EAAE,YAAY,EACjC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,WAAW,IAEnB,QAAQ,CACU;AAE/B;;;;"}
@@ -7,8 +7,9 @@
7
7
  .content {
8
8
  font-size: 20px;
9
9
  line-height: 28px;
10
- font-weight: 600;
11
- font-family: var(--font-family-system);
10
+ font-weight: 500;
11
+ letter-spacing: -0.15px;
12
+ font-family: var(--font-family-alfasans);
12
13
  padding: 0 var(--gap-12);
13
14
  min-height: 40px;
14
15
  justify-content: center;
@@ -17,7 +18,8 @@
17
18
  .bottomAddons {
18
19
  font-size: 20px;
19
20
  line-height: 28px;
20
- font-weight: 600;
21
- font-family: var(--font-family-system);
21
+ font-weight: 500;
22
+ letter-spacing: -0.15px;
23
+ font-family: var(--font-family-alfasans);
22
24
  padding: var(--gap-6) var(--gap-16);
23
25
  }
@@ -1,4 +1,4 @@
1
- import React, { forwardRef, useState, useMemo } from 'react';
1
+ import React, { forwardRef, useMemo } from 'react';
2
2
  import '@alfalab/core-components-mq/moderncssm';
3
3
  import { ContentDesktop } from '../components/content/desktop/Component.desktop.js';
4
4
  import 'classnames';
@@ -16,24 +16,16 @@ import { HeaderDesktop } from '../components/header/desktop/Component.desktop.js
16
16
  import '@alfalab/core-components-navigation-bar-private/moderncssm';
17
17
  import '../components/header/base-header/index.module.css';
18
18
  import '../components/header/mobile/mobile.module.css';
19
- import { UniversalModalContext } from '../context/universal-modal-context.js';
20
19
  import { CenterModal } from './components/center-modal/center-modal.js';
21
20
  import { SideModal } from './components/side-modal/side-modal.js';
22
- import { checkHeaderAndFooter } from './utils/check-header-and-footer.js';
21
+ import { UniversalModalContext } from './context/index.js';
23
22
 
24
- const UniversalModalDesktopComponent = forwardRef(({ children, horizontalAlign = 'center', ...restProps }, ref) => {
25
- const [modalHeaderHighlighted, setModalHeaderHighlighted] = useState(false);
26
- const [modalFooterHighlighted, setModalFooterHighlighted] = useState(false);
27
- const { hasHeader, hasFooter } = checkHeaderAndFooter(children);
23
+ const UniversalModalDesktopComponent = forwardRef((props, ref) => {
24
+ const { children, horizontalAlign = 'center', ...restProps } = props;
25
+ const { width = 500 } = restProps;
28
26
  const contextValue = useMemo(() => ({
29
- modalWidth: restProps.width,
30
- modalHeaderHighlighted,
31
- modalFooterHighlighted,
32
- hasHeader,
33
- hasFooter,
34
- setModalHeaderHighlighted,
35
- setModalFooterHighlighted,
36
- }), [restProps.width, modalHeaderHighlighted, modalFooterHighlighted, hasHeader, hasFooter]);
27
+ width,
28
+ }), [width]);
37
29
  const renderModal = () => {
38
30
  if (horizontalAlign === 'center') {
39
31
  return (React.createElement(CenterModal, { ...restProps, ref: ref, horizontalAlign: horizontalAlign }, children));
@@ -1 +1 @@
1
- {"version":3,"file":"Component.desktop.js","sources":["../../src/desktop/Component.desktop.tsx"],"sourcesContent":["import React, { forwardRef, useMemo, useState } from 'react';\n\nimport { ContentDesktop } from '../components/content';\nimport { FooterDesktop } from '../components/footer';\nimport { HeaderDesktop } from '../components/header';\nimport { UniversalModalContext } from '../context/universal-modal-context';\nimport { type UniversalModalContextType } from '../typings';\n\nimport { CenterModal } from './components/center-modal';\nimport { SideModal } from './components/side-modal';\nimport { type UniversalModalDesktopProps } from './types/props';\nimport { checkHeaderAndFooter } from './utils/check-header-and-footer';\n\nexport const UniversalModalDesktopComponent = forwardRef<\n HTMLDivElement,\n UniversalModalDesktopProps\n>(({ children, horizontalAlign = 'center', ...restProps }, ref) => {\n const [modalHeaderHighlighted, setModalHeaderHighlighted] = useState<boolean>(false);\n const [modalFooterHighlighted, setModalFooterHighlighted] = useState<boolean>(false);\n\n const { hasHeader, hasFooter } = checkHeaderAndFooter(children);\n\n const contextValue = useMemo<UniversalModalContextType>(\n () => ({\n modalWidth: restProps.width,\n modalHeaderHighlighted,\n modalFooterHighlighted,\n hasHeader,\n hasFooter,\n setModalHeaderHighlighted,\n setModalFooterHighlighted,\n }),\n [restProps.width, modalHeaderHighlighted, modalFooterHighlighted, hasHeader, hasFooter],\n );\n\n const renderModal = () => {\n if (horizontalAlign === 'center') {\n return (\n <CenterModal {...restProps} ref={ref} horizontalAlign={horizontalAlign}>\n {children}\n </CenterModal>\n );\n }\n\n return (\n <SideModal {...restProps} ref={ref} horizontalAlign={horizontalAlign}>\n {children}\n </SideModal>\n );\n };\n\n return (\n <UniversalModalContext.Provider value={contextValue}>\n {renderModal()}\n </UniversalModalContext.Provider>\n );\n});\n\nexport const UniversalModalDesktop = Object.assign(UniversalModalDesktopComponent, {\n Header: HeaderDesktop,\n Content: ContentDesktop,\n Footer: FooterDesktop,\n});\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;MAaa,8BAA8B,GAAG,UAAU,CAGtD,CAAC,EAAE,QAAQ,EAAE,eAAe,GAAG,QAAQ,EAAE,GAAG,SAAS,EAAE,EAAE,GAAG,KAAI;IAC9D,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC;IACpF,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC;IAEpF,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,oBAAoB,CAAC,QAAQ,CAAC;AAE/D,IAAA,MAAM,YAAY,GAAG,OAAO,CACxB,OAAO;QACH,UAAU,EAAE,SAAS,CAAC,KAAK;QAC3B,sBAAsB;QACtB,sBAAsB;QACtB,SAAS;QACT,SAAS;QACT,yBAAyB;QACzB,yBAAyB;AAC5B,KAAA,CAAC,EACF,CAAC,SAAS,CAAC,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,SAAS,EAAE,SAAS,CAAC,CAC1F;IAED,MAAM,WAAW,GAAG,MAAK;QACrB,IAAI,eAAe,KAAK,QAAQ,EAAE;AAC9B,YAAA,QACI,KAAC,CAAA,aAAA,CAAA,WAAW,EAAK,EAAA,GAAA,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,eAAe,EAAE,eAAe,IACjE,QAAQ,CACC;AAErB;AAED,QAAA,QACI,KAAC,CAAA,aAAA,CAAA,SAAS,EAAK,EAAA,GAAA,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,eAAe,EAAE,eAAe,IAC/D,QAAQ,CACD;AAEpB,KAAC;AAED,IAAA,QACI,KAAA,CAAA,aAAA,CAAC,qBAAqB,CAAC,QAAQ,EAAC,EAAA,KAAK,EAAE,YAAY,EAC9C,EAAA,WAAW,EAAE,CACe;AAEzC,CAAC;MAEY,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,8BAA8B,EAAE;AAC/E,IAAA,MAAM,EAAE,aAAa;AACrB,IAAA,OAAO,EAAE,cAAc;AACvB,IAAA,MAAM,EAAE,aAAa;AACxB,CAAA;;;;"}
1
+ {"version":3,"file":"Component.desktop.js","sources":["../../src/desktop/Component.desktop.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from 'react';\n\nimport { ContentDesktop } from '../components/content';\nimport { FooterDesktop } from '../components/footer';\nimport { HeaderDesktop } from '../components/header';\n\nimport { CenterModal } from './components/center-modal';\nimport { SideModal } from './components/side-modal';\nimport { type UniversalModalContextType } from './types/context';\nimport { type UniversalModalDesktopProps } from './types/props';\nimport { UniversalModalContext } from './context';\n\nexport const UniversalModalDesktopComponent = forwardRef<\n HTMLDivElement,\n UniversalModalDesktopProps\n>((props, ref) => {\n const { children, horizontalAlign = 'center', ...restProps } = props;\n const { width = 500 } = restProps;\n\n const contextValue = useMemo<UniversalModalContextType>(\n () => ({\n width,\n }),\n [width],\n );\n\n const renderModal = () => {\n if (horizontalAlign === 'center') {\n return (\n <CenterModal {...restProps} ref={ref} horizontalAlign={horizontalAlign}>\n {children}\n </CenterModal>\n );\n }\n\n return (\n <SideModal {...restProps} ref={ref} horizontalAlign={horizontalAlign}>\n {children}\n </SideModal>\n );\n };\n\n return (\n <UniversalModalContext.Provider value={contextValue}>\n {renderModal()}\n </UniversalModalContext.Provider>\n );\n});\n\nexport const UniversalModalDesktop = Object.assign(UniversalModalDesktopComponent, {\n Header: HeaderDesktop,\n Content: ContentDesktop,\n Footer: FooterDesktop,\n});\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAYa,MAAA,8BAA8B,GAAG,UAAU,CAGtD,CAAC,KAAK,EAAE,GAAG,KAAI;AACb,IAAA,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK;AACpE,IAAA,MAAM,EAAE,KAAK,GAAG,GAAG,EAAE,GAAG,SAAS;AAEjC,IAAA,MAAM,YAAY,GAAG,OAAO,CACxB,OAAO;QACH,KAAK;AACR,KAAA,CAAC,EACF,CAAC,KAAK,CAAC,CACV;IAED,MAAM,WAAW,GAAG,MAAK;QACrB,IAAI,eAAe,KAAK,QAAQ,EAAE;AAC9B,YAAA,QACI,KAAC,CAAA,aAAA,CAAA,WAAW,EAAK,EAAA,GAAA,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,eAAe,EAAE,eAAe,IACjE,QAAQ,CACC;AAErB;AAED,QAAA,QACI,KAAC,CAAA,aAAA,CAAA,SAAS,EAAK,EAAA,GAAA,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,eAAe,EAAE,eAAe,IAC/D,QAAQ,CACD;AAEpB,KAAC;AAED,IAAA,QACI,KAAA,CAAA,aAAA,CAAC,qBAAqB,CAAC,QAAQ,EAAC,EAAA,KAAK,EAAE,YAAY,EAC9C,EAAA,WAAW,EAAE,CACe;AAEzC,CAAC;MAEY,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,8BAA8B,EAAE;AAC/E,IAAA,MAAM,EAAE,aAAa;AACrB,IAAA,OAAO,EAAE,cAAc;AACvB,IAAA,MAAM,EAAE,aAAa;AACxB,CAAA;;;;"}
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const UniversalModalContext: import("react").Context<Required<Pick<import("..").UniversalModalDesktopProps, "width">>>;
@@ -1,10 +1,8 @@
1
1
  import { createContext } from 'react';
2
2
 
3
3
  const UniversalModalContext = createContext({
4
- modalWidth: 500,
5
- hasFooter: false,
6
- hasHeader: false,
4
+ width: 500,
7
5
  });
8
6
 
9
7
  export { UniversalModalContext };
10
- //# sourceMappingURL=universal-modal-context.js.map
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/desktop/context/index.ts"],"sourcesContent":["import { createContext } from 'react';\n\nimport { type UniversalModalContextType } from '../types/context';\n\nexport const UniversalModalContext = createContext<UniversalModalContextType>({\n width: 500,\n});\n"],"names":[],"mappings":";;AAIO,MAAM,qBAAqB,GAAG,aAAa,CAA4B;AAC1E,IAAA,KAAK,EAAE,GAAG;AACb,CAAA;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { useContext, useEffect } from 'react';
2
- import { UniversalModalContext } from '../../context/universal-modal-context.js';
2
+ import { ModalContext } from '../../Context.js';
3
3
 
4
4
  /**
5
5
  * Расчет overlap состояния
@@ -7,7 +7,7 @@ import { UniversalModalContext } from '../../context/universal-modal-context.js'
7
7
  */
8
8
  const useModalHighlighted = (params) => {
9
9
  const { scrollbarContentNodeRef, scrollableNodeRef } = params;
10
- const { setModalHeaderHighlighted, setModalFooterHighlighted } = useContext(UniversalModalContext);
10
+ const { setHeaderHighlighted: setModalHeaderHighlighted, setFooterHighlighted: setModalFooterHighlighted, } = useContext(ModalContext);
11
11
  const handleScroll = (e) => {
12
12
  const target = e.target;
13
13
  const { scrollTop, scrollHeight, clientHeight } = target;
@@ -1 +1 @@
1
- {"version":3,"file":"use-modal-highlighted.js","sources":["../../../src/desktop/hooks/use-modal-highlighted.ts"],"sourcesContent":["import { type RefObject, useContext, useEffect } from 'react';\n\nimport { type ScrollbarProps } from '@alfalab/core-components-scrollbar';\n\nimport { UniversalModalContext } from '../../context/universal-modal-context';\n\ninterface Params {\n scrollbarContentNodeRef: RefObject<HTMLDivElement>;\n scrollableNodeRef: RefObject<HTMLDivElement>;\n}\n\n/**\n * Расчет overlap состояния\n * Этот функционал есть в base-modal, но так как в desktop версии используется кастомный scroll необходимо обрабатывать это в ручную\n */\nexport const useModalHighlighted = (params: Params) => {\n const { scrollbarContentNodeRef, scrollableNodeRef } = params;\n\n const { setModalHeaderHighlighted, setModalFooterHighlighted } =\n useContext(UniversalModalContext);\n\n const handleScroll: ScrollbarProps['onContentScroll'] = (e) => {\n const target = e.target as HTMLDivElement;\n const { scrollTop, scrollHeight, clientHeight } = target;\n\n const isElementFullScrolled = scrollHeight - scrollTop === clientHeight;\n\n if (setModalHeaderHighlighted) {\n setModalHeaderHighlighted(scrollTop > 0);\n }\n\n if (setModalFooterHighlighted) {\n setModalFooterHighlighted(!isElementFullScrolled);\n }\n };\n\n // Очищаем overlap значения в контексте\n useEffect(\n () => () => {\n if (setModalHeaderHighlighted) {\n setModalHeaderHighlighted(false);\n }\n\n if (setModalFooterHighlighted) {\n setModalFooterHighlighted(false);\n }\n },\n [setModalHeaderHighlighted, setModalFooterHighlighted],\n );\n\n // Расчет overlap футера при resize событии\n useEffect(() => {\n const resizeObserver = new ResizeObserver(() => {\n const contentHeight = scrollbarContentNodeRef.current?.clientHeight || 0;\n const wrapperHeight = scrollableNodeRef.current?.clientHeight || 0;\n\n if (setModalFooterHighlighted) {\n setModalFooterHighlighted(contentHeight > wrapperHeight);\n }\n });\n\n if (scrollbarContentNodeRef.current) {\n resizeObserver.observe(scrollbarContentNodeRef.current);\n }\n\n return () => {\n resizeObserver.disconnect();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [setModalFooterHighlighted]);\n\n return { handleScroll };\n};\n"],"names":[],"mappings":";;;AAWA;;;AAGG;AACU,MAAA,mBAAmB,GAAG,CAAC,MAAc,KAAI;AAClD,IAAA,MAAM,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,GAAG,MAAM;IAE7D,MAAM,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,GAC1D,UAAU,CAAC,qBAAqB,CAAC;AAErC,IAAA,MAAM,YAAY,GAAsC,CAAC,CAAC,KAAI;AAC1D,QAAA,MAAM,MAAM,GAAG,CAAC,CAAC,MAAwB;QACzC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,MAAM;AAExD,QAAA,MAAM,qBAAqB,GAAG,YAAY,GAAG,SAAS,KAAK,YAAY;AAEvE,QAAA,IAAI,yBAAyB,EAAE;AAC3B,YAAA,yBAAyB,CAAC,SAAS,GAAG,CAAC,CAAC;AAC3C;AAED,QAAA,IAAI,yBAAyB,EAAE;AAC3B,YAAA,yBAAyB,CAAC,CAAC,qBAAqB,CAAC;AACpD;AACL,KAAC;;AAGD,IAAA,SAAS,CACL,MAAM,MAAK;AACP,QAAA,IAAI,yBAAyB,EAAE;YAC3B,yBAAyB,CAAC,KAAK,CAAC;AACnC;AAED,QAAA,IAAI,yBAAyB,EAAE;YAC3B,yBAAyB,CAAC,KAAK,CAAC;AACnC;AACL,KAAC,EACD,CAAC,yBAAyB,EAAE,yBAAyB,CAAC,CACzD;;IAGD,SAAS,CAAC,MAAK;AACX,QAAA,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,MAAK;YAC3C,MAAM,aAAa,GAAG,uBAAuB,CAAC,OAAO,EAAE,YAAY,IAAI,CAAC;YACxE,MAAM,aAAa,GAAG,iBAAiB,CAAC,OAAO,EAAE,YAAY,IAAI,CAAC;AAElE,YAAA,IAAI,yBAAyB,EAAE;AAC3B,gBAAA,yBAAyB,CAAC,aAAa,GAAG,aAAa,CAAC;AAC3D;AACL,SAAC,CAAC;QAEF,IAAI,uBAAuB,CAAC,OAAO,EAAE;AACjC,YAAA,cAAc,CAAC,OAAO,CAAC,uBAAuB,CAAC,OAAO,CAAC;AAC1D;AAED,QAAA,OAAO,MAAK;YACR,cAAc,CAAC,UAAU,EAAE;AAC/B,SAAC;;AAEL,KAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC;IAE/B,OAAO,EAAE,YAAY,EAAE;AAC3B;;;;"}
1
+ {"version":3,"file":"use-modal-highlighted.js","sources":["../../../src/desktop/hooks/use-modal-highlighted.ts"],"sourcesContent":["import { type RefObject, useContext, useEffect } from 'react';\n\nimport { type ScrollbarProps } from '@alfalab/core-components-scrollbar';\n\nimport { ModalContext } from '../../Context';\n\ninterface Params {\n scrollbarContentNodeRef: RefObject<HTMLDivElement>;\n scrollableNodeRef: RefObject<HTMLDivElement>;\n}\n\n/**\n * Расчет overlap состояния\n * Этот функционал есть в base-modal, но так как в desktop версии используется кастомный scroll необходимо обрабатывать это в ручную\n */\nexport const useModalHighlighted = (params: Params) => {\n const { scrollbarContentNodeRef, scrollableNodeRef } = params;\n\n const {\n setHeaderHighlighted: setModalHeaderHighlighted,\n setFooterHighlighted: setModalFooterHighlighted,\n } = useContext(ModalContext);\n\n const handleScroll: ScrollbarProps['onContentScroll'] = (e) => {\n const target = e.target as HTMLDivElement;\n const { scrollTop, scrollHeight, clientHeight } = target;\n\n const isElementFullScrolled = scrollHeight - scrollTop === clientHeight;\n\n if (setModalHeaderHighlighted) {\n setModalHeaderHighlighted(scrollTop > 0);\n }\n\n if (setModalFooterHighlighted) {\n setModalFooterHighlighted(!isElementFullScrolled);\n }\n };\n\n // Очищаем overlap значения в контексте\n useEffect(\n () => () => {\n if (setModalHeaderHighlighted) {\n setModalHeaderHighlighted(false);\n }\n\n if (setModalFooterHighlighted) {\n setModalFooterHighlighted(false);\n }\n },\n [setModalHeaderHighlighted, setModalFooterHighlighted],\n );\n\n // Расчет overlap футера при resize событии\n useEffect(() => {\n const resizeObserver = new ResizeObserver(() => {\n const contentHeight = scrollbarContentNodeRef.current?.clientHeight || 0;\n const wrapperHeight = scrollableNodeRef.current?.clientHeight || 0;\n\n if (setModalFooterHighlighted) {\n setModalFooterHighlighted(contentHeight > wrapperHeight);\n }\n });\n\n if (scrollbarContentNodeRef.current) {\n resizeObserver.observe(scrollbarContentNodeRef.current);\n }\n\n return () => {\n resizeObserver.disconnect();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [setModalFooterHighlighted]);\n\n return { handleScroll };\n};\n"],"names":[],"mappings":";;;AAWA;;;AAGG;AACU,MAAA,mBAAmB,GAAG,CAAC,MAAc,KAAI;AAClD,IAAA,MAAM,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,GAAG,MAAM;AAE7D,IAAA,MAAM,EACF,oBAAoB,EAAE,yBAAyB,EAC/C,oBAAoB,EAAE,yBAAyB,GAClD,GAAG,UAAU,CAAC,YAAY,CAAC;AAE5B,IAAA,MAAM,YAAY,GAAsC,CAAC,CAAC,KAAI;AAC1D,QAAA,MAAM,MAAM,GAAG,CAAC,CAAC,MAAwB;QACzC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,MAAM;AAExD,QAAA,MAAM,qBAAqB,GAAG,YAAY,GAAG,SAAS,KAAK,YAAY;AAEvE,QAAA,IAAI,yBAAyB,EAAE;AAC3B,YAAA,yBAAyB,CAAC,SAAS,GAAG,CAAC,CAAC;AAC3C;AAED,QAAA,IAAI,yBAAyB,EAAE;AAC3B,YAAA,yBAAyB,CAAC,CAAC,qBAAqB,CAAC;AACpD;AACL,KAAC;;AAGD,IAAA,SAAS,CACL,MAAM,MAAK;AACP,QAAA,IAAI,yBAAyB,EAAE;YAC3B,yBAAyB,CAAC,KAAK,CAAC;AACnC;AAED,QAAA,IAAI,yBAAyB,EAAE;YAC3B,yBAAyB,CAAC,KAAK,CAAC;AACnC;AACL,KAAC,EACD,CAAC,yBAAyB,EAAE,yBAAyB,CAAC,CACzD;;IAGD,SAAS,CAAC,MAAK;AACX,QAAA,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,MAAK;YAC3C,MAAM,aAAa,GAAG,uBAAuB,CAAC,OAAO,EAAE,YAAY,IAAI,CAAC;YACxE,MAAM,aAAa,GAAG,iBAAiB,CAAC,OAAO,EAAE,YAAY,IAAI,CAAC;AAElE,YAAA,IAAI,yBAAyB,EAAE;AAC3B,gBAAA,yBAAyB,CAAC,aAAa,GAAG,aAAa,CAAC;AAC3D;AACL,SAAC,CAAC;QAEF,IAAI,uBAAuB,CAAC,OAAO,EAAE;AACjC,YAAA,cAAc,CAAC,OAAO,CAAC,uBAAuB,CAAC,OAAO,CAAC;AAC1D;AAED,QAAA,OAAO,MAAK;YACR,cAAc,CAAC,UAAU,EAAE;AAC/B,SAAC;;AAEL,KAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC;IAE/B,OAAO,EAAE,YAAY,EAAE;AAC3B;;;;"}
@@ -0,0 +1,2 @@
1
+ import { type UniversalModalDesktopProps } from './props';
2
+ export declare type UniversalModalContextType = Required<Pick<UniversalModalDesktopProps, 'width'>>;
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -2,9 +2,8 @@ export { UniversalModal, UniversalModalResponsive } from './Component.responsive
2
2
  export { ContentResponsive } from './components/content/responsive/Component.responsive.js';
3
3
  import 'react';
4
4
  import 'classnames';
5
- import './context/universal-modal-context.js';
6
- import '@alfalab/core-components-shared/moderncssm';
7
5
  import '@alfalab/core-components-base-modal/moderncssm';
6
+ import '@alfalab/core-components-shared/moderncssm';
8
7
  import './components/content/base-content/index.module.css';
9
8
  import './components/content/desktop/desktop.module.css';
10
9
  import './components/content/mobile/mobile.module.css';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;"}
@@ -2,7 +2,6 @@ import React, { forwardRef } from 'react';
2
2
  import cn from 'classnames';
3
3
  import { BaseModal } from '@alfalab/core-components-base-modal/moderncssm';
4
4
  import '@alfalab/core-components-mq/moderncssm';
5
- import '../context/universal-modal-context.js';
6
5
  import '@alfalab/core-components-shared/moderncssm';
7
6
  import '../components/content/base-content/index.module.css';
8
7
  import '../components/content/desktop/desktop.module.css';
@@ -1 +1 @@
1
- {"version":3,"file":"Component.mobile.js","sources":["../../src/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport cn from 'classnames';\n\nimport { BaseModal } from '@alfalab/core-components-base-modal';\n\nimport { ContentMobile } from '../components/content';\nimport { FooterMobile } from '../components/footer';\nimport { HeaderMobile } from '../components/header';\n\nimport { type UniversalModalMobileProps } from './types/props';\n\nimport styles from './mobile.module.css';\nimport rightSideTransitions from './transitions/right-side-transitions.mobile.module.css';\nimport transitions from './transitions/transitions.mobile.module.css';\n\nexport const UniversalModalMobileComponent = forwardRef<HTMLDivElement, UniversalModalMobileProps>(\n (props, ref) => {\n const { children, className, dataTestId, appearance = 'bottom', ...restProps } = props;\n\n return (\n <BaseModal\n {...restProps}\n dataTestId={dataTestId}\n ref={ref}\n transitionProps={{\n timeout: appearance === 'right' ? 360 : 200,\n classNames: appearance === 'right' ? rightSideTransitions : transitions,\n ...restProps.transitionProps,\n }}\n className={cn(className, styles.component)}\n scrollHandler='content'\n contentClassName={styles.content}\n >\n {children}\n </BaseModal>\n );\n },\n);\n\nexport const UniversalModalMobile = Object.assign(UniversalModalMobileComponent, {\n Header: HeaderMobile,\n Content: ContentMobile,\n Footer: FooterMobile,\n});\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAea,MAAA,6BAA6B,GAAG,UAAU,CACnD,CAAC,KAAK,EAAE,GAAG,KAAI;AACX,IAAA,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,GAAG,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK;AAEtF,IAAA,QACI,KAAA,CAAA,aAAA,CAAC,SAAS,EAAA,EAAA,GACF,SAAS,EACb,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,GAAG,EACR,eAAe,EAAE;YACb,OAAO,EAAE,UAAU,KAAK,OAAO,GAAG,GAAG,GAAG,GAAG;YAC3C,UAAU,EAAE,UAAU,KAAK,OAAO,GAAG,oBAAoB,GAAG,WAAW;YACvE,GAAG,SAAS,CAAC,eAAe;SAC/B,EACD,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,EAC1C,aAAa,EAAC,SAAS,EACvB,gBAAgB,EAAE,MAAM,CAAC,OAAO,EAE/B,EAAA,QAAQ,CACD;AAEpB,CAAC;MAGQ,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,6BAA6B,EAAE;AAC7E,IAAA,MAAM,EAAE,YAAY;AACpB,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,MAAM,EAAE,YAAY;AACvB,CAAA;;;;"}
1
+ {"version":3,"file":"Component.mobile.js","sources":["../../src/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport cn from 'classnames';\n\nimport { BaseModal } from '@alfalab/core-components-base-modal';\n\nimport { ContentMobile } from '../components/content';\nimport { FooterMobile } from '../components/footer';\nimport { HeaderMobile } from '../components/header';\n\nimport { type UniversalModalMobileProps } from './types/props';\n\nimport styles from './mobile.module.css';\nimport rightSideTransitions from './transitions/right-side-transitions.mobile.module.css';\nimport transitions from './transitions/transitions.mobile.module.css';\n\nexport const UniversalModalMobileComponent = forwardRef<HTMLDivElement, UniversalModalMobileProps>(\n (props, ref) => {\n const { children, className, dataTestId, appearance = 'bottom', ...restProps } = props;\n\n return (\n <BaseModal\n {...restProps}\n dataTestId={dataTestId}\n ref={ref}\n transitionProps={{\n timeout: appearance === 'right' ? 360 : 200,\n classNames: appearance === 'right' ? rightSideTransitions : transitions,\n ...restProps.transitionProps,\n }}\n className={cn(className, styles.component)}\n scrollHandler='content'\n contentClassName={styles.content}\n >\n {children}\n </BaseModal>\n );\n },\n);\n\nexport const UniversalModalMobile = Object.assign(UniversalModalMobileComponent, {\n Header: HeaderMobile,\n Content: ContentMobile,\n Footer: FooterMobile,\n});\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAea,MAAA,6BAA6B,GAAG,UAAU,CACnD,CAAC,KAAK,EAAE,GAAG,KAAI;AACX,IAAA,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,GAAG,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK;AAEtF,IAAA,QACI,KAAA,CAAA,aAAA,CAAC,SAAS,EAAA,EAAA,GACF,SAAS,EACb,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,GAAG,EACR,eAAe,EAAE;YACb,OAAO,EAAE,UAAU,KAAK,OAAO,GAAG,GAAG,GAAG,GAAG;YAC3C,UAAU,EAAE,UAAU,KAAK,OAAO,GAAG,oBAAoB,GAAG,WAAW;YACvE,GAAG,SAAS,CAAC,eAAe;SAC/B,EACD,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,EAC1C,aAAa,EAAC,SAAS,EACvB,gBAAgB,EAAE,MAAM,CAAC,OAAO,EAE/B,EAAA,QAAQ,CACD;AAEpB,CAAC;MAGQ,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,6BAA6B,EAAE;AAC7E,IAAA,MAAM,EAAE,YAAY;AACpB,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,MAAM,EAAE,YAAY;AACvB,CAAA;;;;"}
@@ -8,9 +8,8 @@ export { FooterMobile } from '../components/footer/mobile/Component.mobile.js';
8
8
  import 'react';
9
9
  import '@alfalab/core-components-mq/moderncssm';
10
10
  import 'classnames';
11
- import '../context/universal-modal-context.js';
12
- import '@alfalab/core-components-shared/moderncssm';
13
11
  import '@alfalab/core-components-base-modal/moderncssm';
12
+ import '@alfalab/core-components-shared/moderncssm';
14
13
  import '../components/content/base-content/index.module.css';
15
14
  import '../components/content/desktop/desktop.module.css';
16
15
  export { ContentMobile } from '../components/content/mobile/Component.mobile.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
@@ -1,14 +1,5 @@
1
1
  import { type UniversalModalDesktopProps } from '../desktop';
2
2
  import { type UniversalModalMobileProps } from '../mobile';
3
- export interface UniversalModalContextType {
4
- modalWidth: UniversalModalDesktopProps['width'];
5
- modalHeaderHighlighted?: boolean;
6
- modalFooterHighlighted?: boolean;
7
- hasHeader: boolean;
8
- hasFooter: boolean;
9
- setModalHeaderHighlighted?: (value: boolean) => void;
10
- setModalFooterHighlighted?: (value: boolean) => void;
11
- }
12
3
  export interface UniversalModalResponsiveProps extends UniversalModalDesktopProps, UniversalModalMobileProps {
13
4
  /**
14
5
  * Контрольная точка, с нее начинается desktop версия
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alfalab/core-components-universal-modal",
3
- "version": "3.0.2",
3
+ "version": "3.0.3-alfasans",
4
4
  "description": "UniversalModal component",
5
5
  "keywords": [],
6
6
  "license": "MIT",
@@ -10,12 +10,12 @@
10
10
  "main": "index.js",
11
11
  "module": "./esm/index.js",
12
12
  "dependencies": {
13
- "@alfalab/core-components-backdrop": "^5.0.1",
14
- "@alfalab/core-components-base-modal": "^7.0.1",
15
- "@alfalab/core-components-mq": "^6.0.1",
16
- "@alfalab/core-components-navigation-bar-private": "^2.0.1",
17
- "@alfalab/core-components-scrollbar": "^5.0.1",
18
- "@alfalab/core-components-shared": "^2.0.1",
13
+ "@alfalab/core-components-backdrop": "5.0.1-alfasans",
14
+ "@alfalab/core-components-base-modal": "7.1.0-alfasans",
15
+ "@alfalab/core-components-mq": "6.0.1-alfasans",
16
+ "@alfalab/core-components-navigation-bar-private": "2.0.2-alfasans",
17
+ "@alfalab/core-components-scrollbar": "5.0.1-alfasans",
18
+ "@alfalab/core-components-shared": "2.0.1-alfasans",
19
19
  "@types/react-transition-group": "^4.4.12",
20
20
  "classnames": "^2.5.1",
21
21
  "react-merge-refs": "^1.1.0",
@@ -30,6 +30,6 @@
30
30
  "access": "public",
31
31
  "directory": "dist"
32
32
  },
33
- "themesVersion": "15.0.1",
34
- "varsVersion": "11.0.1"
33
+ "themesVersion": "15.0.1-alfasans",
34
+ "varsVersion": "11.0.1-alfasans"
35
35
  }
package/src/Context.ts CHANGED
@@ -1,3 +1,6 @@
1
1
  import { BaseModalContext } from '@alfalab/core-components-base-modal';
2
2
 
3
+ /**
4
+ * @deprecated Некоторые параметры могут не соответствовать реальным состояниям компонента
5
+ */
3
6
  export const ModalContext = BaseModalContext;
@@ -1,7 +1,7 @@
1
1
  import React, { type FC, useContext } from 'react';
2
2
  import cn from 'classnames';
3
3
 
4
- import { UniversalModalContext } from '../../../context/universal-modal-context';
4
+ import { ModalContext } from '../../../Context';
5
5
  import { BaseContent, type ContentProps } from '../base-content/base-content';
6
6
 
7
7
  import styles from './desktop.module.css';
@@ -14,7 +14,7 @@ export interface ContentDesktopProps extends ContentProps {
14
14
  }
15
15
 
16
16
  export const ContentDesktop: FC<ContentDesktopProps> = ({ className, ...restProps }) => {
17
- const { hasHeader, hasFooter } = useContext(UniversalModalContext);
17
+ const { hasHeader, hasFooter } = useContext(ModalContext);
18
18
 
19
19
  return (
20
20
  <BaseContent
@@ -1,8 +1,9 @@
1
1
  import React, { forwardRef, useContext } from 'react';
2
2
  import cn from 'classnames';
3
3
 
4
- import { UniversalModalContext } from '../../../context/universal-modal-context';
4
+ import { ModalContext } from '../../../Context';
5
5
  import { FOOTER_MEDIUM_BREAKPOINT } from '../../../desktop/constants';
6
+ import { UniversalModalContext } from '../../../desktop/context';
6
7
  import { BaseFooter, type FooterProps } from '../base-footer/base-footer';
7
8
 
8
9
  import styles from './desktop.module.css';
@@ -17,7 +18,8 @@ export interface FooterDesktopProps extends FooterProps {
17
18
 
18
19
  export const FooterDesktop = forwardRef<HTMLDivElement, FooterDesktopProps>((props, ref) => {
19
20
  const { className, sticky, layout = 'start', ...restProps } = props;
20
- const { modalWidth = 500, modalFooterHighlighted } = useContext(UniversalModalContext);
21
+ const { width: modalWidth } = useContext(UniversalModalContext);
22
+ const { footerHighlighted: modalFooterHighlighted } = useContext(ModalContext);
21
23
 
22
24
  const isMiddle = modalWidth === 'fullWidth' || modalWidth >= FOOTER_MEDIUM_BREAKPOINT;
23
25
 
@@ -0,0 +1,40 @@
1
+ import { useContext, useEffect, useRef } from 'react';
2
+
3
+ import { type NavigationBarPrivateProps } from '@alfalab/core-components-navigation-bar-private';
4
+
5
+ import { ModalContext } from '../../../Context';
6
+
7
+ type Params = Pick<NavigationBarPrivateProps, 'title' | 'children' | 'bottomAddons' | 'onClose'>;
8
+
9
+ export const useBaseHeader = (params: Params) => {
10
+ const { title, children, bottomAddons, onClose } = params;
11
+
12
+ const {
13
+ componentRef,
14
+ headerHighlighted,
15
+ onClose: handleCloseByContext,
16
+ setHasHeader,
17
+ } = useContext(ModalContext);
18
+
19
+ const titleRef = useRef<HTMLDivElement>(null);
20
+
21
+ const hasContent = Boolean(title || children || bottomAddons);
22
+
23
+ const handleClose: NavigationBarPrivateProps['onClose'] = (...args) => {
24
+ if (onClose) {
25
+ return onClose(...args);
26
+ }
27
+
28
+ return handleCloseByContext(...args);
29
+ };
30
+
31
+ useEffect(() => {
32
+ setHasHeader(true);
33
+
34
+ return () => {
35
+ setHasHeader(false);
36
+ };
37
+ }, [setHasHeader]);
38
+
39
+ return { headerHighlighted, hasContent, componentRef, titleRef, handleClose };
40
+ };
@@ -1,4 +1,4 @@
1
- import React, { forwardRef, useContext, useRef } from 'react';
1
+ import React, { forwardRef } from 'react';
2
2
  import cn from 'classnames';
3
3
 
4
4
  import {
@@ -7,8 +7,7 @@ import {
7
7
  } from '@alfalab/core-components-navigation-bar-private';
8
8
  import { getDataTestId } from '@alfalab/core-components-shared';
9
9
 
10
- import { ModalContext } from '../../../Context';
11
- import { UniversalModalContext } from '../../../context/universal-modal-context';
10
+ import { useBaseHeader } from '../base-header/useBaseHeader';
12
11
 
13
12
  import styles from '../base-header/index.module.css';
14
13
  import desktopStyles from './desktop.module.css';
@@ -39,20 +38,14 @@ export const HeaderDesktop = forwardRef<HTMLDivElement, HeaderDesktopProps>((pro
39
38
  ...restProps
40
39
  } = props;
41
40
 
42
- const { componentRef, onClose: handleCloseByContext } = useContext(ModalContext);
43
- const { modalHeaderHighlighted } = useContext(UniversalModalContext);
41
+ const { bottomAddons } = restProps;
44
42
 
45
- const titleRef = useRef<HTMLDivElement>(null);
46
-
47
- const hasContent = Boolean(title || children || restProps.bottomAddons);
48
-
49
- const handleClose: NavigationBarPrivateProps['onClose'] = (...args) => {
50
- if (onClose) {
51
- return onClose(...args);
52
- }
53
-
54
- return handleCloseByContext(...args);
55
- };
43
+ const { headerHighlighted, hasContent, componentRef, titleRef, handleClose } = useBaseHeader({
44
+ title,
45
+ children,
46
+ bottomAddons,
47
+ onClose,
48
+ });
56
49
 
57
50
  return (
58
51
  <NavigationBarPrivate
@@ -64,7 +57,7 @@ export const HeaderDesktop = forwardRef<HTMLDivElement, HeaderDesktopProps>((pro
64
57
  sticky={sticky}
65
58
  title={title}
66
59
  className={cn(styles.header, desktopStyles.header, className, {
67
- [styles.highlighted]: sticky && modalHeaderHighlighted && hasContent,
60
+ [styles.highlighted]: sticky && headerHighlighted && hasContent,
68
61
  [styles.sticky]: sticky,
69
62
  [styles.hasContent]: hasContent,
70
63
  [desktopStyles.medium]: bigTitle,