@foxford/navigation-ui 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (350) hide show
  1. package/README.mdx +115 -0
  2. package/_virtual/preload-helper.js +57 -0
  3. package/footer/atoms/accordeon/assets/arrow-down.svg +1 -0
  4. package/footer/atoms/accordeon/index.d.ts +7 -0
  5. package/footer/atoms/accordeon/index.d.ts.map +1 -0
  6. package/footer/atoms/accordeon/index.js +23 -0
  7. package/footer/atoms/accordeon/styled.d.ts +20 -0
  8. package/footer/atoms/accordeon/styled.d.ts.map +1 -0
  9. package/footer/atoms/accordeon/styled.js +73 -0
  10. package/footer/atoms/license-link/index.d.ts +6 -0
  11. package/footer/atoms/license-link/index.d.ts.map +1 -0
  12. package/footer/atoms/license-link/index.js +17 -0
  13. package/footer/atoms/license-link/styled.d.ts +14 -0
  14. package/footer/atoms/license-link/styled.d.ts.map +1 -0
  15. package/footer/atoms/license-link/styled.js +19 -0
  16. package/footer/atoms/logo-sk/assets/sk_logo.svg +1 -0
  17. package/footer/atoms/logo-sk/index.d.ts +5 -0
  18. package/footer/atoms/logo-sk/index.d.ts.map +1 -0
  19. package/footer/atoms/logo-sk/index.js +16 -0
  20. package/footer/atoms/logo-sk/styled.d.ts +11 -0
  21. package/footer/atoms/logo-sk/styled.d.ts.map +1 -0
  22. package/footer/atoms/logo-sk/styled.js +15 -0
  23. package/footer/atoms/social-link/index.d.ts +8 -0
  24. package/footer/atoms/social-link/index.d.ts.map +1 -0
  25. package/footer/atoms/social-link/index.js +35 -0
  26. package/footer/contacts-column.d.ts +5 -0
  27. package/footer/contacts-column.d.ts.map +1 -0
  28. package/footer/contacts-column.js +105 -0
  29. package/footer/footer.d.ts +3 -0
  30. package/footer/footer.d.ts.map +1 -0
  31. package/footer/footer.js +77 -0
  32. package/footer/molecules/app-info/assets/fox-logo.svg +1 -0
  33. package/footer/molecules/app-info/index.d.ts +9 -0
  34. package/footer/molecules/app-info/index.d.ts.map +1 -0
  35. package/footer/molecules/app-info/index.js +59 -0
  36. package/footer/molecules/app-info/styled.d.ts +31 -0
  37. package/footer/molecules/app-info/styled.d.ts.map +1 -0
  38. package/footer/molecules/app-info/styled.js +101 -0
  39. package/footer/molecules/footer-logo/assets/logo-cobranding.svg +1 -0
  40. package/footer/molecules/footer-logo/assets/logo.svg +1 -0
  41. package/footer/molecules/footer-logo/index.d.ts +6 -0
  42. package/footer/molecules/footer-logo/index.d.ts.map +1 -0
  43. package/footer/molecules/footer-logo/index.js +27 -0
  44. package/footer/molecules/footer-menu/index.d.ts +12 -0
  45. package/footer/molecules/footer-menu/index.d.ts.map +1 -0
  46. package/footer/molecules/footer-menu/index.js +29 -0
  47. package/footer/molecules/geoposition/city-dialog-styled.d.ts +7 -0
  48. package/footer/molecules/geoposition/city-dialog-styled.d.ts.map +1 -0
  49. package/footer/molecules/geoposition/city-dialog-styled.js +30 -0
  50. package/footer/molecules/geoposition/city-dialog.d.ts +10 -0
  51. package/footer/molecules/geoposition/city-dialog.d.ts.map +1 -0
  52. package/footer/molecules/geoposition/city-dialog.js +85 -0
  53. package/footer/molecules/geoposition/index.d.ts +9 -0
  54. package/footer/molecules/geoposition/index.d.ts.map +1 -0
  55. package/footer/molecules/geoposition/index.js +41 -0
  56. package/footer/molecules/geoposition/styled.d.ts +8 -0
  57. package/footer/molecules/geoposition/styled.d.ts.map +1 -0
  58. package/footer/molecules/geoposition/styled.js +21 -0
  59. package/footer/molecules/geoposition/types.d.ts +5 -0
  60. package/footer/molecules/geoposition/types.d.ts.map +1 -0
  61. package/footer/molecules/onboarding-banner/assets/fox-table.svg +1 -0
  62. package/footer/molecules/onboarding-banner/index.d.ts +5 -0
  63. package/footer/molecules/onboarding-banner/index.d.ts.map +1 -0
  64. package/footer/molecules/onboarding-banner/index.js +45 -0
  65. package/footer/molecules/onboarding-banner/styled.d.ts +11 -0
  66. package/footer/molecules/onboarding-banner/styled.d.ts.map +1 -0
  67. package/footer/molecules/onboarding-banner/styled.js +40 -0
  68. package/footer/styled.d.ts +47 -0
  69. package/footer/styled.d.ts.map +1 -0
  70. package/footer/styled.js +121 -0
  71. package/footer/sub-footer-areas.d.ts +26 -0
  72. package/footer/sub-footer-areas.d.ts.map +1 -0
  73. package/footer/sub-footer-areas.js +96 -0
  74. package/footer/sub-footer-styled.d.ts +6 -0
  75. package/footer/sub-footer-styled.d.ts.map +1 -0
  76. package/footer/sub-footer-styled.js +70 -0
  77. package/footer/sub-footer.d.ts +5 -0
  78. package/footer/sub-footer.d.ts.map +1 -0
  79. package/footer/sub-footer.js +57 -0
  80. package/footer/types.d.ts +45 -0
  81. package/footer/types.d.ts.map +1 -0
  82. package/header/atoms/action-button/index.d.ts +16 -0
  83. package/header/atoms/action-button/index.d.ts.map +1 -0
  84. package/header/atoms/action-button/index.js +57 -0
  85. package/header/atoms/action-button/styled.d.ts +16 -0
  86. package/header/atoms/action-button/styled.d.ts.map +1 -0
  87. package/header/atoms/action-button/styled.js +75 -0
  88. package/header/atoms/avatar/index.d.ts +7 -0
  89. package/header/atoms/avatar/index.d.ts.map +1 -0
  90. package/header/atoms/avatar/index.js +16 -0
  91. package/header/atoms/avatar/styled.d.ts +7 -0
  92. package/header/atoms/avatar/styled.d.ts.map +1 -0
  93. package/header/atoms/avatar/styled.js +24 -0
  94. package/header/atoms/back-button/index.d.ts +5 -0
  95. package/header/atoms/back-button/index.d.ts.map +1 -0
  96. package/header/atoms/back-button/index.js +19 -0
  97. package/header/atoms/back-button/styled.d.ts +4 -0
  98. package/header/atoms/back-button/styled.d.ts.map +1 -0
  99. package/header/atoms/back-button/styled.js +12 -0
  100. package/header/atoms/bonus-button/index.d.ts +2 -0
  101. package/header/atoms/bonus-button/index.d.ts.map +1 -0
  102. package/header/atoms/bonus-button/index.js +13 -0
  103. package/header/atoms/close-button/index.d.ts +5 -0
  104. package/header/atoms/close-button/index.d.ts.map +1 -0
  105. package/header/atoms/close-button/index.js +13 -0
  106. package/header/atoms/close-button/styled.d.ts +4 -0
  107. package/header/atoms/close-button/styled.d.ts.map +1 -0
  108. package/header/atoms/close-button/styled.js +13 -0
  109. package/header/atoms/list-item/index.d.ts +12 -0
  110. package/header/atoms/list-item/index.d.ts.map +1 -0
  111. package/header/atoms/list-item/index.js +36 -0
  112. package/header/atoms/list-item/styled.d.ts +25 -0
  113. package/header/atoms/list-item/styled.d.ts.map +1 -0
  114. package/header/atoms/list-item/styled.js +51 -0
  115. package/header/atoms/list-spacer/index.d.ts +5 -0
  116. package/header/atoms/list-spacer/index.d.ts.map +1 -0
  117. package/header/atoms/list-spacer/index.js +18 -0
  118. package/header/atoms/list-title/index.d.ts +7 -0
  119. package/header/atoms/list-title/index.d.ts.map +1 -0
  120. package/header/atoms/list-title/index.js +24 -0
  121. package/header/atoms/list-title/styled.d.ts +11 -0
  122. package/header/atoms/list-title/styled.d.ts.map +1 -0
  123. package/header/atoms/list-title/styled.js +31 -0
  124. package/header/atoms/login-button/index.d.ts +2 -0
  125. package/header/atoms/login-button/index.d.ts.map +1 -0
  126. package/header/atoms/login-button/index.js +15 -0
  127. package/header/atoms/logout-button/index.d.ts +5 -0
  128. package/header/atoms/logout-button/index.d.ts.map +1 -0
  129. package/header/atoms/logout-button/index.js +16 -0
  130. package/header/atoms/onboarding-segment-item/assets/fox.svg +1 -0
  131. package/header/atoms/onboarding-segment-item/index.d.ts +5 -0
  132. package/header/atoms/onboarding-segment-item/index.d.ts.map +1 -0
  133. package/header/atoms/onboarding-segment-item/index.js +22 -0
  134. package/header/atoms/onboarding-segment-item/styled.d.ts +16 -0
  135. package/header/atoms/onboarding-segment-item/styled.d.ts.map +1 -0
  136. package/header/atoms/onboarding-segment-item/styled.js +34 -0
  137. package/header/atoms/profile-balance/index.d.ts +12 -0
  138. package/header/atoms/profile-balance/index.d.ts.map +1 -0
  139. package/header/atoms/profile-balance/index.js +37 -0
  140. package/header/atoms/profile-balance/styled.d.ts +10 -0
  141. package/header/atoms/profile-balance/styled.d.ts.map +1 -0
  142. package/header/atoms/profile-balance/styled.js +19 -0
  143. package/header/atoms/profile-info/index.d.ts +9 -0
  144. package/header/atoms/profile-info/index.d.ts.map +1 -0
  145. package/header/atoms/profile-info/index.js +32 -0
  146. package/header/atoms/profile-info/styled.d.ts +4 -0
  147. package/header/atoms/profile-info/styled.d.ts.map +1 -0
  148. package/header/atoms/profile-info/styled.js +8 -0
  149. package/header/atoms/profile-menu-item/index.d.ts +13 -0
  150. package/header/atoms/profile-menu-item/index.d.ts.map +1 -0
  151. package/header/atoms/profile-menu-item/index.js +52 -0
  152. package/header/atoms/profile-menu-item/styled.d.ts +15 -0
  153. package/header/atoms/profile-menu-item/styled.d.ts.map +1 -0
  154. package/header/atoms/profile-menu-item/styled.js +47 -0
  155. package/header/atoms/scrollbar/index.d.ts +6 -0
  156. package/header/atoms/scrollbar/index.d.ts.map +1 -0
  157. package/header/atoms/scrollbar/index.js +33 -0
  158. package/header/atoms/scrollbar/styled.d.ts +4 -0
  159. package/header/atoms/scrollbar/styled.d.ts.map +1 -0
  160. package/header/atoms/scrollbar/styled.js +15 -0
  161. package/header/atoms/segment-list-item/index.d.ts +8 -0
  162. package/header/atoms/segment-list-item/index.d.ts.map +1 -0
  163. package/header/atoms/segment-list-item/index.js +21 -0
  164. package/header/atoms/segment-list-item/styled.d.ts +6 -0
  165. package/header/atoms/segment-list-item/styled.d.ts.map +1 -0
  166. package/header/atoms/segment-list-item/styled.js +22 -0
  167. package/header/atoms/segment-title/index.d.ts +8 -0
  168. package/header/atoms/segment-title/index.d.ts.map +1 -0
  169. package/header/atoms/segment-title/index.js +18 -0
  170. package/header/atoms/segment-title/styled.d.ts +8 -0
  171. package/header/atoms/segment-title/styled.d.ts.map +1 -0
  172. package/header/atoms/segment-title/styled.js +32 -0
  173. package/header/atoms/user-profile/index.d.ts +9 -0
  174. package/header/atoms/user-profile/index.d.ts.map +1 -0
  175. package/header/atoms/user-profile/index.js +46 -0
  176. package/header/atoms/user-profile/styled.d.ts +14 -0
  177. package/header/atoms/user-profile/styled.d.ts.map +1 -0
  178. package/header/atoms/user-profile/styled.js +41 -0
  179. package/header/header-desktop.d.ts +5 -0
  180. package/header/header-desktop.d.ts.map +1 -0
  181. package/header/header-desktop.js +79 -0
  182. package/header/header-mobile.d.ts +5 -0
  183. package/header/header-mobile.d.ts.map +1 -0
  184. package/header/header-mobile.js +66 -0
  185. package/header/molecules/adaptive-button/index.d.ts +6 -0
  186. package/header/molecules/adaptive-button/index.d.ts.map +1 -0
  187. package/header/molecules/adaptive-button/index.js +16 -0
  188. package/header/molecules/bonuses/index.d.ts +7 -0
  189. package/header/molecules/bonuses/index.d.ts.map +1 -0
  190. package/header/molecules/bonuses/index.js +40 -0
  191. package/header/molecules/bonuses/styled.d.ts +16 -0
  192. package/header/molecules/bonuses/styled.d.ts.map +1 -0
  193. package/header/molecules/bonuses/styled.js +38 -0
  194. package/header/molecules/cart-button/index.d.ts +9 -0
  195. package/header/molecules/cart-button/index.d.ts.map +1 -0
  196. package/header/molecules/cart-button/styled.d.ts +6 -0
  197. package/header/molecules/cart-button/styled.d.ts.map +1 -0
  198. package/header/molecules/container/index.d.ts +11 -0
  199. package/header/molecules/container/index.d.ts.map +1 -0
  200. package/header/molecules/container/index.js +38 -0
  201. package/header/molecules/container/styled.d.ts +11 -0
  202. package/header/molecules/container/styled.d.ts.map +1 -0
  203. package/header/molecules/container/styled.js +43 -0
  204. package/header/molecules/entry-panel/index.d.ts +8 -0
  205. package/header/molecules/entry-panel/index.d.ts.map +1 -0
  206. package/header/molecules/entry-panel/index.js +27 -0
  207. package/header/molecules/entry-panel/styled.d.ts +10 -0
  208. package/header/molecules/entry-panel/styled.d.ts.map +1 -0
  209. package/header/molecules/entry-panel/styled.js +21 -0
  210. package/header/molecules/externat-buttons/index.d.ts +8 -0
  211. package/header/molecules/externat-buttons/index.d.ts.map +1 -0
  212. package/header/molecules/externat-buttons/index.js +36 -0
  213. package/header/molecules/externat-buttons/styled.d.ts +30 -0
  214. package/header/molecules/externat-buttons/styled.d.ts.map +1 -0
  215. package/header/molecules/externat-buttons/styled.js +94 -0
  216. package/header/molecules/header-logo/assets/foxford.svg +1 -0
  217. package/header/molecules/header-logo/assets/foxford_mobile.svg +1 -0
  218. package/header/molecules/header-logo/assets/logo-cobranding.svg +1 -0
  219. package/header/molecules/header-logo/base-logo.d.ts +2 -0
  220. package/header/molecules/header-logo/base-logo.d.ts.map +1 -0
  221. package/header/molecules/header-logo/base-logo.js +24 -0
  222. package/header/molecules/header-logo/cobranding-logo.d.ts +2 -0
  223. package/header/molecules/header-logo/cobranding-logo.d.ts.map +1 -0
  224. package/header/molecules/header-logo/cobranding-logo.js +29 -0
  225. package/header/molecules/header-logo/index.d.ts +7 -0
  226. package/header/molecules/header-logo/index.d.ts.map +1 -0
  227. package/header/molecules/header-logo/index.js +20 -0
  228. package/header/molecules/header-logo/styled.d.ts +23 -0
  229. package/header/molecules/header-logo/styled.d.ts.map +1 -0
  230. package/header/molecules/header-logo/styled.js +46 -0
  231. package/header/molecules/list/index.d.ts +7 -0
  232. package/header/molecules/list/index.d.ts.map +1 -0
  233. package/header/molecules/list/index.js +45 -0
  234. package/header/molecules/list/styled.d.ts +4 -0
  235. package/header/molecules/list/styled.d.ts.map +1 -0
  236. package/header/molecules/list/styled.js +8 -0
  237. package/header/molecules/menu/index.d.ts +17 -0
  238. package/header/molecules/menu/index.d.ts.map +1 -0
  239. package/header/molecules/menu/index.js +163 -0
  240. package/header/molecules/menu/panel-styled.d.ts +24 -0
  241. package/header/molecules/menu/panel-styled.d.ts.map +1 -0
  242. package/header/molecules/menu/panel-styled.js +105 -0
  243. package/header/molecules/menu/segment-content-styled.d.ts +13 -0
  244. package/header/molecules/menu/segment-content-styled.d.ts.map +1 -0
  245. package/header/molecules/menu/segment-content-styled.js +39 -0
  246. package/header/molecules/menu/segment-content.d.ts +7 -0
  247. package/header/molecules/menu/segment-content.d.ts.map +1 -0
  248. package/header/molecules/menu/segment-content.js +42 -0
  249. package/header/molecules/menu/styled.d.ts +23 -0
  250. package/header/molecules/menu/styled.d.ts.map +1 -0
  251. package/header/molecules/menu/styled.js +81 -0
  252. package/header/molecules/menu/types.d.ts +32 -0
  253. package/header/molecules/menu/types.d.ts.map +1 -0
  254. package/header/molecules/menu-button/index.d.ts +6 -0
  255. package/header/molecules/menu-button/index.d.ts.map +1 -0
  256. package/header/molecules/menu-button/index.js +29 -0
  257. package/header/molecules/menu-button/styled.d.ts +22 -0
  258. package/header/molecules/menu-button/styled.d.ts.map +1 -0
  259. package/header/molecules/menu-button/styled.js +74 -0
  260. package/header/molecules/onboarding-button/index.d.ts +6 -0
  261. package/header/molecules/onboarding-button/index.d.ts.map +1 -0
  262. package/header/molecules/onboarding-button/index.js +23 -0
  263. package/header/molecules/onboarding-button/styled.d.ts +15 -0
  264. package/header/molecules/onboarding-button/styled.d.ts.map +1 -0
  265. package/header/molecules/onboarding-button/styled.js +74 -0
  266. package/header/molecules/oneclick-menu/index.d.ts +14 -0
  267. package/header/molecules/oneclick-menu/index.d.ts.map +1 -0
  268. package/header/molecules/oneclick-menu/index.js +28 -0
  269. package/header/molecules/oneclick-menu/styled.d.ts +19 -0
  270. package/header/molecules/oneclick-menu/styled.d.ts.map +1 -0
  271. package/header/molecules/oneclick-menu/styled.js +49 -0
  272. package/header/molecules/phone-button/index.d.ts +5 -0
  273. package/header/molecules/phone-button/index.d.ts.map +1 -0
  274. package/header/molecules/phone-button/index.js +15 -0
  275. package/header/molecules/profile-menu/index.d.ts +19 -0
  276. package/header/molecules/profile-menu/index.d.ts.map +1 -0
  277. package/header/molecules/profile-menu/index.js +74 -0
  278. package/header/molecules/profile-menu/styled.d.ts +9 -0
  279. package/header/molecules/profile-menu/styled.d.ts.map +1 -0
  280. package/header/molecules/profile-menu/styled.js +23 -0
  281. package/header/molecules/profile-menu-button-tooltip/assets/arrow.svg +1 -0
  282. package/header/molecules/profile-menu-button-tooltip/index.d.ts +5 -0
  283. package/header/molecules/profile-menu-button-tooltip/index.d.ts.map +1 -0
  284. package/header/molecules/profile-menu-button-tooltip/index.js +13 -0
  285. package/header/molecules/profile-menu-button-tooltip/styled.d.ts +6 -0
  286. package/header/molecules/profile-menu-button-tooltip/styled.d.ts.map +1 -0
  287. package/header/molecules/profile-menu-button-tooltip/styled.js +56 -0
  288. package/header/molecules/pupil-select-button/index.d.ts +8 -0
  289. package/header/molecules/pupil-select-button/index.d.ts.map +1 -0
  290. package/header/molecules/pupil-select-button/index.js +54 -0
  291. package/header/molecules/pupil-select-menu/index.d.ts +15 -0
  292. package/header/molecules/pupil-select-menu/index.d.ts.map +1 -0
  293. package/header/molecules/pupil-select-menu/index.js +59 -0
  294. package/header/molecules/pupil-select-menu/styled.d.ts +7 -0
  295. package/header/molecules/pupil-select-menu/styled.d.ts.map +1 -0
  296. package/header/molecules/pupil-select-menu/styled.js +26 -0
  297. package/header/molecules/segment-list/index.d.ts +8 -0
  298. package/header/molecules/segment-list/index.d.ts.map +1 -0
  299. package/header/molecules/segment-list/index.js +32 -0
  300. package/header/molecules/segment-list/styled.d.ts +14 -0
  301. package/header/molecules/segment-list/styled.d.ts.map +1 -0
  302. package/header/molecules/segment-list/styled.js +20 -0
  303. package/header/molecules/user-panel/index.d.ts +32 -0
  304. package/header/molecules/user-panel/index.d.ts.map +1 -0
  305. package/header/molecules/user-panel/index.js +114 -0
  306. package/header/molecules/user-panel/styled.d.ts +16 -0
  307. package/header/molecules/user-panel/styled.d.ts.map +1 -0
  308. package/header/molecules/user-panel/styled.js +41 -0
  309. package/header/molecules/user-panel-mobile/index.d.ts +3 -0
  310. package/header/molecules/user-panel-mobile/index.d.ts.map +1 -0
  311. package/header/molecules/user-panel-mobile/index.js +56 -0
  312. package/header/molecules/user-panel-mobile/styled.d.ts +6 -0
  313. package/header/molecules/user-panel-mobile/styled.d.ts.map +1 -0
  314. package/header/molecules/user-panel-mobile/styled.js +16 -0
  315. package/header/navigation.d.ts +3 -0
  316. package/header/navigation.d.ts.map +1 -0
  317. package/header/navigation.js +64 -0
  318. package/header/styled.d.ts +31 -0
  319. package/header/styled.d.ts.map +1 -0
  320. package/header/styled.js +87 -0
  321. package/header/types.d.ts +40 -0
  322. package/header/types.d.ts.map +1 -0
  323. package/index.d.ts +25 -0
  324. package/index.d.ts.map +1 -0
  325. package/index.js +23 -0
  326. package/package.json +55 -0
  327. package/shared/constants.d.ts +86 -0
  328. package/shared/constants.d.ts.map +1 -0
  329. package/shared/constants.js +69 -0
  330. package/shared/link.d.ts +9 -0
  331. package/shared/link.d.ts.map +1 -0
  332. package/shared/link.js +56 -0
  333. package/shared/phone.d.ts +3 -0
  334. package/shared/phone.d.ts.map +1 -0
  335. package/shared/phone.js +10 -0
  336. package/shared/theme-provider.d.ts +6 -0
  337. package/shared/theme-provider.d.ts.map +1 -0
  338. package/shared/theme-provider.js +27 -0
  339. package/shared/theme.d.ts +77 -0
  340. package/shared/theme.d.ts.map +1 -0
  341. package/shared/theme.js +29 -0
  342. package/shared/use-outside-click.d.ts +3 -0
  343. package/shared/use-outside-click.d.ts.map +1 -0
  344. package/shared/use-outside-click.js +22 -0
  345. package/shared/use-scroll-direction.d.ts +4 -0
  346. package/shared/use-scroll-direction.d.ts.map +1 -0
  347. package/shared/use-scroll-direction.js +22 -0
  348. package/shared/z-index.d.ts +5 -0
  349. package/shared/z-index.d.ts.map +1 -0
  350. package/shared/z-index.js +7 -0
@@ -0,0 +1,22 @@
1
+ import type { IconProps } from '@foxford/ui';
2
+ import type { ComponentType } from 'react';
3
+ export declare const Root: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<import("preact").JSX.ButtonHTMLAttributes<HTMLButtonElement>, "style"> & {
4
+ style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
5
+ }, {
6
+ $active: boolean;
7
+ }>> & string;
8
+ export declare const IconWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("preact").JSX.HTMLAttributes<HTMLSpanElement>, "style"> & {
9
+ style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
10
+ }> & string;
11
+ export declare const Icon: ComponentType<IconProps & {
12
+ $active: boolean;
13
+ }>;
14
+ export declare const FakeIcon: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<import("preact").JSX.HTMLAttributes<HTMLSpanElement>, "style"> & {
15
+ style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
16
+ }, {
17
+ $active: boolean;
18
+ }>> & string;
19
+ export declare const Text: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("preact").JSX.HTMLAttributes<HTMLSpanElement>, "style"> & {
20
+ style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
21
+ }> & string;
22
+ //# sourceMappingURL=styled.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/menu-button/styled.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAK1C,eAAO,MAAM,IAAI;;;aAA4B,OAAO;YAiDnD,CAAA;AAcD,eAAO,MAAM,WAAW;;WAGvB,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,aAAa,CAAC,SAAS,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAGhE,CAAA;AAED,eAAO,MAAM,QAAQ;;;aAA0B,OAAO;YAqBrD,CAAA;AAKD,eAAO,MAAM,IAAI;;WAYhB,CAAA"}
@@ -0,0 +1,74 @@
1
+ import { styled, css } from "styled-components";
2
+ import { screenMaxS, screenMaxXs, screenMinS, Icon as Icon$1 } from "@foxford/ui";
3
+ const Root = styled.button.withConfig({
4
+ displayName: "styled__Root",
5
+ componentId: "sc-13r4epo-0"
6
+ })(["display:inline-flex;justify-content:center;align-items:center;border-radius:40px;height:40px;margin:0;padding:0 24px;outline:none;overflow:visible;font:inherit;font-size:14px;font-weight:700;line-height:normal;transition:background-color linear 0.3s;cursor:pointer;-webkit-font-smoothing:inherit;-moz-osx-font-smoothing:inherit;-webkit-appearance:none;", " ", " &::-moz-focus-inner{border:0;padding:0;}", ""], screenMaxS()`
7
+ height: 32px;
8
+ padding: 0 6px;
9
+ `, screenMaxXs()`
10
+ width: 32px;
11
+ padding: 0;
12
+ `, ({
13
+ theme
14
+ }) => css`
15
+ background-color: ${theme.colors.zeus};
16
+ border: none;
17
+ color: ${theme.colors.white};
18
+ font-size: 12px;
19
+
20
+ ${screenMinS()`
21
+ font-size: 14px;
22
+ `}
23
+
24
+ &:hover {
25
+ background-color: ${theme.colors.mineShaft};
26
+ }
27
+ `);
28
+ const iconLine = css`
29
+ content: '';
30
+ position: absolute;
31
+ left: 0;
32
+ height: 1px;
33
+ width: 100%;
34
+ transition: transform 0.4s;
35
+ ${({
36
+ theme
37
+ }) => css`
38
+ background-color: ${theme.colors.white};
39
+ `}
40
+ `;
41
+ const IconWrapper = styled.span.withConfig({
42
+ displayName: "styled__IconWrapper",
43
+ componentId: "sc-13r4epo-1"
44
+ })(["position:relative;display:inline-flex;"]);
45
+ const Icon = styled(Icon$1).withConfig({
46
+ displayName: "styled__Icon",
47
+ componentId: "sc-13r4epo-2"
48
+ })(["transition:0.4s;opacity:", ";"], ({
49
+ $active
50
+ }) => $active ? 0 : 1);
51
+ const FakeIcon = styled.span.withConfig({
52
+ displayName: "styled__FakeIcon",
53
+ componentId: "sc-13r4epo-3"
54
+ })(["display:inline-block;position:absolute;top:5px;left:0;width:20px;height:11px;opacity:", ";transition:opacity 0.4s;&::before{", " top:0;transform:", ";}&::after{", " bottom:0;transform:", ";}"], ({
55
+ $active
56
+ }) => $active ? 1 : 0, iconLine, ({
57
+ $active
58
+ }) => `translateY(${$active ? "5px" : "0"}) rotate(${$active ? "-45deg" : "0"})`, iconLine, ({
59
+ $active
60
+ }) => `translateY(${$active ? "-5px" : "0"}) rotate(${$active ? "45deg" : "0"})`);
61
+ const Text = styled.span.withConfig({
62
+ displayName: "styled__Text",
63
+ componentId: "sc-13r4epo-4"
64
+ })(["display:none;padding-top:1px;margin-left:4px;color:inherit;font-size:inherit;transition:color 0.4s;", ""], screenMinS()`
65
+ display: inline-block;
66
+ margin-left: 10px;
67
+ `);
68
+ export {
69
+ FakeIcon,
70
+ Icon,
71
+ IconWrapper,
72
+ Root,
73
+ Text
74
+ };
@@ -0,0 +1,6 @@
1
+ export interface OnboardingButtonProps {
2
+ mobile?: boolean;
3
+ onClick?: () => void;
4
+ }
5
+ export declare function OnboardingButton({ mobile, onClick }: OnboardingButtonProps): import("preact").JSX.Element;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/onboarding-button/index.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB;AAID,wBAAgB,gBAAgB,CAAC,EAAE,MAAc,EAAE,OAAO,EAAE,EAAE,qBAAqB,gCAclF"}
@@ -0,0 +1,23 @@
1
+ import { FreeAccessButtonMobile, FreeAccessButtonDesktop } from "./styled.js";
2
+ import { jsx } from "preact/jsx-runtime";
3
+ const ONBOARDING_URL = "/onboarding?chat=1";
4
+ function OnboardingButton({
5
+ mobile = false,
6
+ onClick
7
+ }) {
8
+ if (mobile) {
9
+ return jsx(FreeAccessButtonMobile, {
10
+ href: ONBOARDING_URL,
11
+ onClick,
12
+ children: "Подобрать занятия"
13
+ });
14
+ }
15
+ return jsx(FreeAccessButtonDesktop, {
16
+ href: ONBOARDING_URL,
17
+ onClick,
18
+ children: "Подобрать занятия"
19
+ });
20
+ }
21
+ export {
22
+ OnboardingButton
23
+ };
@@ -0,0 +1,15 @@
1
+ export declare const FreeAccessButtonMobile: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("react-dom/src").PropsWithoutRef<import("../../..").LinkProps> & {
2
+ ref?: import("preact").Ref<HTMLAnchorElement> | undefined;
3
+ }, "style"> & {
4
+ style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
5
+ }> & string & Omit<import("preact").FunctionalComponent<import("react-dom/src").PropsWithoutRef<import("../../..").LinkProps> & {
6
+ ref?: import("preact").Ref<HTMLAnchorElement> | undefined;
7
+ }>, keyof import("preact").Component<any, {}>>;
8
+ export declare const FreeAccessButtonDesktop: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("react-dom/src").PropsWithoutRef<import("../../..").LinkProps> & {
9
+ ref?: import("preact").Ref<HTMLAnchorElement> | undefined;
10
+ }, "style"> & {
11
+ style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
12
+ }> & string & Omit<import("preact").FunctionalComponent<import("react-dom/src").PropsWithoutRef<import("../../..").LinkProps> & {
13
+ ref?: import("preact").Ref<HTMLAnchorElement> | undefined;
14
+ }>, keyof import("preact").Component<any, {}>>;
15
+ //# sourceMappingURL=styled.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/onboarding-button/styled.ts"],"names":[],"mappings":"AAoDA,eAAO,MAAM,sBAAsB;;;;;;8CAElC,CAAA;AAED,eAAO,MAAM,uBAAuB;;;;;;8CAEnC,CAAA"}
@@ -0,0 +1,74 @@
1
+ import { css, styled } from "styled-components";
2
+ import { screenMinS } from "@foxford/ui";
3
+ import { Link } from "../../../shared/link.js";
4
+ const mobileButtonStyles = css`
5
+ display: block;
6
+ box-sizing: border-box;
7
+ height: 24px;
8
+ min-width: 143px;
9
+ padding-right: 8px;
10
+ padding-left: 8px;
11
+ border-radius: 0 0 5px 5px;
12
+ background-color: ${({
13
+ theme
14
+ }) => theme.colors.orangePeel};
15
+ color: ${({
16
+ theme
17
+ }) => theme.colors.white};
18
+ font-size: 14px;
19
+ line-height: 24px;
20
+ font-weight: bold;
21
+ text-align: center;
22
+ text-decoration: none;
23
+
24
+ ${screenMinS()`
25
+ height: 30px;
26
+ min-width: 183px;
27
+ font-size: 16px;
28
+ line-height: 30px;
29
+ `}
30
+ `;
31
+ const desktopButtonStyles = css`
32
+ display: block;
33
+ box-sizing: border-box;
34
+ height: 40px;
35
+ padding-right: 15px;
36
+ padding-left: 15px;
37
+ border: 1px solid ${({
38
+ theme
39
+ }) => theme.colors.orangePeel};
40
+ border-radius: 40px;
41
+ background-color: ${({
42
+ theme
43
+ }) => theme.colors.white};
44
+ color: ${({
45
+ theme
46
+ }) => theme.colors.mineShaft};
47
+ font-size: 14px;
48
+ line-height: 40px;
49
+ font-weight: bold;
50
+ text-align: center;
51
+ text-decoration: none;
52
+ transition: linear 0.3s;
53
+
54
+ &:hover {
55
+ background-color: ${({
56
+ theme
57
+ }) => theme.colors.orangePeel};
58
+ color: ${({
59
+ theme
60
+ }) => theme.colors.white};
61
+ }
62
+ `;
63
+ const FreeAccessButtonMobile = styled(Link).withConfig({
64
+ displayName: "styled__FreeAccessButtonMobile",
65
+ componentId: "sc-1ui6rm6-0"
66
+ })(["", ""], mobileButtonStyles);
67
+ const FreeAccessButtonDesktop = styled(Link).withConfig({
68
+ displayName: "styled__FreeAccessButtonDesktop",
69
+ componentId: "sc-1ui6rm6-1"
70
+ })(["", ""], desktopButtonStyles);
71
+ export {
72
+ FreeAccessButtonDesktop,
73
+ FreeAccessButtonMobile
74
+ };
@@ -0,0 +1,14 @@
1
+ export interface OneClickMenuItem {
2
+ id: string;
3
+ title: string;
4
+ url: string;
5
+ }
6
+ export interface OneClickMenuProps {
7
+ hide?: boolean;
8
+ isMenuOpen: boolean;
9
+ items: OneClickMenuItem[];
10
+ onItemClick?: (id: string) => void;
11
+ selectedItemId?: string;
12
+ }
13
+ export declare function OneClickMenu({ hide, isMenuOpen, items, onItemClick, selectedItemId }: OneClickMenuProps): import("preact").JSX.Element | null;
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/oneclick-menu/index.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,UAAU,EAAE,OAAO,CAAA;IACnB,KAAK,EAAE,gBAAgB,EAAE,CAAA;IACzB,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,wBAAgB,YAAY,CAAC,EAAE,IAAY,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE,iBAAiB,uCAoB/G"}
@@ -0,0 +1,28 @@
1
+ import { Root, CurrentItem, Item } from "./styled.js";
2
+ import { jsx } from "preact/jsx-runtime";
3
+ function OneClickMenu({
4
+ hide = false,
5
+ isMenuOpen,
6
+ items,
7
+ onItemClick,
8
+ selectedItemId
9
+ }) {
10
+ if (items.length === 0) {
11
+ return null;
12
+ }
13
+ return jsx(Root, {
14
+ $hide: hide,
15
+ $isMenuOpen: isMenuOpen,
16
+ children: items.map((item) => item.id === selectedItemId ? jsx(CurrentItem, {
17
+ $hide: hide,
18
+ children: item.title
19
+ }, item.id) : jsx(Item, {
20
+ href: item.url,
21
+ onClick: () => onItemClick == null ? void 0 : onItemClick(item.id),
22
+ children: item.title
23
+ }, item.id))
24
+ });
25
+ }
26
+ export {
27
+ OneClickMenu
28
+ };
@@ -0,0 +1,19 @@
1
+ export declare const Root: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<import("preact").JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
2
+ style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
3
+ }, {
4
+ $hide: boolean;
5
+ $isMenuOpen: boolean;
6
+ }>> & string;
7
+ export declare const Item: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("react-dom/src").PropsWithoutRef<import("../../..").LinkProps> & {
8
+ ref?: import("preact").Ref<HTMLAnchorElement> | undefined;
9
+ }, "style"> & {
10
+ style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
11
+ }> & string & Omit<import("preact").FunctionalComponent<import("react-dom/src").PropsWithoutRef<import("../../..").LinkProps> & {
12
+ ref?: import("preact").Ref<HTMLAnchorElement> | undefined;
13
+ }>, keyof import("preact").Component<any, {}>>;
14
+ export declare const CurrentItem: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<import("preact").JSX.HTMLAttributes<HTMLSpanElement>, "style"> & {
15
+ style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
16
+ }, {
17
+ $hide: boolean;
18
+ }>> & string;
19
+ //# sourceMappingURL=styled.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/oneclick-menu/styled.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,IAAI;;;WAAuB,OAAO;iBAAe,OAAO;YAcpE,CAAA;AAED,eAAO,MAAM,IAAI;;;;;;8CAUhB,CAAA;AAED,eAAO,MAAM,WAAW;;;WAAwB,OAAO;YAoBtD,CAAA"}
@@ -0,0 +1,49 @@
1
+ import { css, styled } from "styled-components";
2
+ import { DURATION_MENU_ANIMATION } from "../../../shared/constants.js";
3
+ import { Link } from "../../../shared/link.js";
4
+ import { BASE_ZINDEX } from "../../../shared/z-index.js";
5
+ const itemText = css`
6
+ font-size: 16px;
7
+ line-height: 1;
8
+ `;
9
+ const Root = styled.div.withConfig({
10
+ displayName: "styled__Root",
11
+ componentId: "sc-ncuvzh-0"
12
+ })(["position:relative;display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-top:", ";margin-bottom:6px;opacity:", ";transition:margin linear 0.15s,opacity linear ", "ms ", ";z-index:", ";"], ({
13
+ $hide
14
+ }) => $hide ? "-22px" : "30px", ({
15
+ $isMenuOpen
16
+ }) => $isMenuOpen ? 0 : 1, DURATION_MENU_ANIMATION, ({
17
+ $isMenuOpen
18
+ }) => $isMenuOpen ? "0s" : `${DURATION_MENU_ANIMATION * 2 + 100}ms`, BASE_ZINDEX.NAVIGATION + 1);
19
+ const Item = styled(Link).withConfig({
20
+ displayName: "styled__Item",
21
+ componentId: "sc-ncuvzh-1"
22
+ })(["", " transition:color 0.3s;", ""], itemText, ({
23
+ theme
24
+ }) => css`
25
+ color: ${theme.colors.mineShaft};
26
+
27
+ &:hover {
28
+ color: ${theme.colors.accent};
29
+ }
30
+ `);
31
+ const CurrentItem = styled.span.withConfig({
32
+ displayName: "styled__CurrentItem",
33
+ componentId: "sc-ncuvzh-2"
34
+ })(["", " position:relative;", " &:before{content:'';position:absolute;bottom:-26px;left:0;width:100%;height:4px;", " opacity:", ";transition:opacity 0.3s;}"], itemText, ({
35
+ theme
36
+ }) => css`
37
+ color: ${theme.colors.accent};
38
+ `, ({
39
+ theme
40
+ }) => css`
41
+ background-color: ${theme.colors.accent};
42
+ `, ({
43
+ $hide
44
+ }) => $hide ? "0" : "1");
45
+ export {
46
+ CurrentItem,
47
+ Item,
48
+ Root
49
+ };
@@ -0,0 +1,5 @@
1
+ export interface PhoneButtonProps {
2
+ number: string;
3
+ }
4
+ export declare function PhoneButton({ number }: PhoneButtonProps): import("preact").JSX.Element;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/phone-button/index.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAA;CACf;AAED,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,gBAAgB,gCAEvD"}
@@ -0,0 +1,15 @@
1
+ import { SELECTOR_IDS } from "../../../shared/constants.js";
2
+ import { ActionButton } from "../../atoms/action-button/index.js";
3
+ import { jsx } from "preact/jsx-runtime";
4
+ function PhoneButton({
5
+ number
6
+ }) {
7
+ return jsx(ActionButton, {
8
+ icon: "phoneCall",
9
+ id: SELECTOR_IDS.PHONE_BUTTON_MOBILE,
10
+ url: `tel:${number}`
11
+ });
12
+ }
13
+ export {
14
+ PhoneButton
15
+ };
@@ -0,0 +1,19 @@
1
+ import type { ProfileMenuItemProps } from '../../atoms/profile-menu-item';
2
+ import type { ReactNode } from 'react';
3
+ export interface ProfileMenuProps {
4
+ /**
5
+ * Встаёт НА МЕСТО пункта «Фоксики» в списке — так же, как в легаси, где этот пункт
6
+ * подменялся отдельным компонентом с балансом и бейджем. Не передан — пункт рисуется
7
+ * обычной строкой меню (случай агента).
8
+ */
9
+ bonusesSlot?: ReactNode;
10
+ /** Пункты над разделителем: онбординг, подарок за отзыв. */
11
+ headItems?: ProfileMenuItemProps[];
12
+ headSpacing?: number;
13
+ items: ProfileMenuItemProps[];
14
+ open: boolean;
15
+ profileInfoSlot?: ReactNode;
16
+ pupilSelectSlot?: ReactNode;
17
+ }
18
+ export declare function ProfileMenu({ bonusesSlot, headItems, headSpacing, items, open, profileInfoSlot, pupilSelectSlot, }: ProfileMenuProps): import("preact").JSX.Element;
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/profile-menu/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,oBAAoB,EAAE,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,oBAAoB,EAAE,CAAA;IAC7B,IAAI,EAAE,OAAO,CAAA;IACb,eAAe,CAAC,EAAE,SAAS,CAAA;IAC3B,eAAe,CAAC,EAAE,SAAS,CAAA;CAC5B;AAID,wBAAgB,WAAW,CAAC,EAC1B,WAAW,EACX,SAAc,EACd,WAAgB,EAChB,KAAK,EACL,IAAI,EACJ,eAAe,EACf,eAAe,GAChB,EAAE,gBAAgB,gCA2DlB"}
@@ -0,0 +1,74 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
4
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __spreadValues = (a, b) => {
7
+ for (var prop in b || (b = {}))
8
+ if (__hasOwnProp.call(b, prop))
9
+ __defNormalProp(a, prop, b[prop]);
10
+ if (__getOwnPropSymbols)
11
+ for (var prop of __getOwnPropSymbols(b)) {
12
+ if (__propIsEnum.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ }
15
+ return a;
16
+ };
17
+ import { useRef, useState, useEffect, Fragment } from "react";
18
+ import { Scrollable, Spacer } from "@foxford/ui";
19
+ import { Root, PROFILE_MENU_PADDING, PROFILE_MENU_OFFSET_BOTTOM } from "./styled.js";
20
+ import { SELECTOR_IDS, NAVIGATION_BOTTOM_MENU_MOBILE_HEIGHT } from "../../../shared/constants.js";
21
+ import { ProfileMenuItem } from "../../atoms/profile-menu-item/index.js";
22
+ import { jsxs, jsx } from "preact/jsx-runtime";
23
+ function ProfileMenu({
24
+ bonusesSlot,
25
+ headItems = [],
26
+ headSpacing = 12,
27
+ items,
28
+ open,
29
+ profileInfoSlot,
30
+ pupilSelectSlot
31
+ }) {
32
+ const pupilSelectRef = useRef(null);
33
+ const profileInfoRef = useRef(null);
34
+ const [maxHeight, setMaxHeight] = useState("100dvh");
35
+ useEffect(() => {
36
+ const navigation = document.getElementById(SELECTOR_IDS.NAVIGATION);
37
+ const observed = [navigation, pupilSelectRef.current, profileInfoRef.current].filter((node) => node !== null);
38
+ const heightOf = (node) => {
39
+ var _a;
40
+ return (_a = node == null ? void 0 : node.getBoundingClientRect().height) != null ? _a : 0;
41
+ };
42
+ const recalculate = () => {
43
+ const occupied = heightOf(navigation) + NAVIGATION_BOTTOM_MENU_MOBILE_HEIGHT + heightOf(pupilSelectRef.current) + heightOf(profileInfoRef.current) + PROFILE_MENU_PADDING * 2 + (PROFILE_MENU_OFFSET_BOTTOM - NAVIGATION_BOTTOM_MENU_MOBILE_HEIGHT);
44
+ setMaxHeight(`calc(100dvh - ${String(occupied)}px)`);
45
+ };
46
+ const observer = new ResizeObserver(recalculate);
47
+ observed.forEach((node) => observer.observe(node));
48
+ return () => observer.disconnect();
49
+ }, []);
50
+ return jsxs(Root, {
51
+ $isOpen: open,
52
+ id: SELECTOR_IDS.PROFILE_MENU,
53
+ children: [jsx("div", {
54
+ ref: pupilSelectRef,
55
+ children: pupilSelectSlot
56
+ }), jsx("div", {
57
+ ref: profileInfoRef,
58
+ children: profileInfoSlot
59
+ }), jsxs(Scrollable, {
60
+ autoHeight: true,
61
+ autoHeightMax: maxHeight,
62
+ autoHide: true,
63
+ universal: true,
64
+ children: [headItems.map((item) => jsx(ProfileMenuItem, __spreadValues({}, item), item.id)), jsx(Spacer, {
65
+ marginBottom: headSpacing
66
+ }), items.map((item) => item.id === SELECTOR_IDS.PROFILE_MENU_BONUSES && bonusesSlot !== void 0 ? jsx(Fragment, {
67
+ children: bonusesSlot
68
+ }, item.id) : jsx(ProfileMenuItem, __spreadValues({}, item), item.id))]
69
+ })]
70
+ });
71
+ }
72
+ export {
73
+ ProfileMenu
74
+ };
@@ -0,0 +1,9 @@
1
+ export declare const PROFILE_MENU_PADDING = 20;
2
+ /** Отступ снизу — часть расчёта максимальной высоты прокрутки, как в легаси. */
3
+ export declare const PROFILE_MENU_OFFSET_BOTTOM = 15;
4
+ export declare const Root: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<import("preact").JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
5
+ style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
6
+ }, {
7
+ $isOpen: boolean;
8
+ }>> & string;
9
+ //# sourceMappingURL=styled.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/profile-menu/styled.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,oBAAoB,KAAK,CAAA;AAEtC,gFAAgF;AAChF,eAAO,MAAM,0BAA0B,KAAK,CAAA;AAE5C,eAAO,MAAM,IAAI;;;aAAyB,OAAO;YAiBhD,CAAA"}
@@ -0,0 +1,23 @@
1
+ import { styled, css } from "styled-components";
2
+ import { DURATION_MENU_ANIMATION } from "../../../shared/constants.js";
3
+ import { BASE_ZINDEX } from "../../../shared/z-index.js";
4
+ const PROFILE_MENU_PADDING = 20;
5
+ const PROFILE_MENU_OFFSET_BOTTOM = 15;
6
+ const Root = styled.div.withConfig({
7
+ displayName: "styled__Root",
8
+ componentId: "sc-1n48uts-0"
9
+ })(["position:absolute;top:calc(100% + 32px);right:0;border-radius:10px;box-shadow:0px 6px 20px rgba(0,0,0,0.1);width:290px;z-index:", ";overflow:hidden;", ""], BASE_ZINDEX.NAVIGATION + 3, ({
10
+ $isOpen,
11
+ theme
12
+ }) => css`
13
+ padding: ${PROFILE_MENU_PADDING}px;
14
+ background-color: ${theme.colors.white};
15
+ pointer-events: ${$isOpen ? "auto" : "none"};
16
+ opacity: ${$isOpen ? 1 : 0};
17
+ transition: opacity ${DURATION_MENU_ANIMATION}ms linear ${$isOpen ? `${DURATION_MENU_ANIMATION * 2}ms` : "0s"};
18
+ `);
19
+ export {
20
+ PROFILE_MENU_OFFSET_BOTTOM,
21
+ PROFILE_MENU_PADDING,
22
+ Root
23
+ };
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="12" fill="none"><path fill="#fff" fill-rule="evenodd" d="M10.707 4.707a1 1 0 0 0-1.414 0L2 12h16l-7.293-7.293Z" clip-rule="evenodd"/></svg>
@@ -0,0 +1,5 @@
1
+ export interface ProfileMenuButtonTooltipProps {
2
+ text?: string;
3
+ }
4
+ export declare function ProfileMenuButtonTooltip({ text }: ProfileMenuButtonTooltipProps): import("preact").JSX.Element;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/profile-menu-button-tooltip/index.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,6BAA6B;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,wBAAgB,wBAAwB,CAAC,EAAE,IAAI,EAAE,EAAE,6BAA6B,gCAE/E"}
@@ -0,0 +1,13 @@
1
+ import { Root } from "./styled.js";
2
+ import { jsx } from "preact/jsx-runtime";
3
+ function ProfileMenuButtonTooltip({
4
+ text
5
+ }) {
6
+ return jsx(Root, {
7
+ $open: text !== void 0,
8
+ children: text != null ? text : ""
9
+ });
10
+ }
11
+ export {
12
+ ProfileMenuButtonTooltip
13
+ };
@@ -0,0 +1,6 @@
1
+ export declare const Root: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<import("preact").JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
2
+ style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
3
+ }, {
4
+ $open: boolean;
5
+ }>> & string;
6
+ //# sourceMappingURL=styled.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/profile-menu-button-tooltip/styled.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,IAAI;;;WAAuB,OAAO;YA6C9C,CAAA"}
@@ -0,0 +1,56 @@
1
+ import { styled, css } from "styled-components";
2
+ import { screenMinM } from "@foxford/ui";
3
+ import arrow from "./assets/arrow.svg";
4
+ const Root = styled.div.withConfig({
5
+ displayName: "styled__Root",
6
+ componentId: "sc-1tfgp9l-0"
7
+ })(["", ""], ({
8
+ $open,
9
+ theme
10
+ }) => css`
11
+ position: absolute;
12
+ top: -12px;
13
+ right: 0;
14
+ transform: translateY(-100%);
15
+ padding: 12px 16px;
16
+ border-radius: 5px;
17
+ width: 201px;
18
+ font-size: 16px;
19
+ line-height: 1.5;
20
+ color: ${theme.colors.mineShaft};
21
+ background-color: ${theme.colors.white};
22
+ box-shadow:
23
+ 0px 4px 8px 0px rgba(0, 0, 0, 0.08),
24
+ 0px -2px 8px 0px rgba(0, 0, 0, 0.08);
25
+ opacity: ${$open ? 1 : 0};
26
+ pointer-events: ${$open ? "auto" : "none"};
27
+ transition: opacity ${$open ? 0.3 : 0}s;
28
+
29
+ ${screenMinM()`
30
+ top: initial;
31
+ right: -15px;
32
+ bottom: -12px;
33
+ transform: translateY(100%);
34
+ `}
35
+
36
+ &:before {
37
+ content: '';
38
+ position: absolute;
39
+ bottom: 0;
40
+ right: 13px;
41
+ transform: translateY(100%) rotate(180deg);
42
+ width: 20px;
43
+ height: 12px;
44
+ background: url(${arrow}) no-repeat 0 0;
45
+
46
+ ${screenMinM()`
47
+ top: 0;
48
+ bottom: initial;
49
+ right: 25px;
50
+ transform: translateY(-100%);
51
+ `}
52
+ }
53
+ `);
54
+ export {
55
+ Root
56
+ };
@@ -0,0 +1,8 @@
1
+ export interface PupilSelectButtonProps {
2
+ isViewingAsPupil?: boolean;
3
+ onOpenPupilList?: () => void;
4
+ onSignOutFromPupil?: () => void;
5
+ pupilCount?: number;
6
+ }
7
+ export declare function PupilSelectButton({ isViewingAsPupil, onOpenPupilList, onSignOutFromPupil, pupilCount, }: PupilSelectButtonProps): import("preact").JSX.Element | null;
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/pupil-select-button/index.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,sBAAsB;IACrC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAID,wBAAgB,iBAAiB,CAAC,EAChC,gBAAwB,EACxB,eAAe,EACf,kBAAkB,EAClB,UAAc,GACf,EAAE,sBAAsB,uCAyCxB"}