@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,31 @@
1
+ export declare const Header: import("styled-components/dist/types").IStyledComponentBase<"web", 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
+ }> & string;
4
+ export declare const HeaderInner: import("styled-components/dist/types").IStyledComponentBase<"web", 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
+ }> & string;
7
+ export declare const MobileOnly: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("preact").JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
8
+ style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
9
+ }> & string;
10
+ export declare const DesktopOnly: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("preact").JSX.HTMLAttributes<HTMLDivElement>, "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;
13
+ export declare const HeaderTop: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("preact").JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
14
+ style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
15
+ }> & string;
16
+ export declare const UserPanelWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("preact").JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
17
+ style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
18
+ }> & string;
19
+ export declare const ExtraButtonsMobileWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("preact").JSX.HTMLAttributes<HTMLDivElement>, "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
+ export declare const ExtraButtonsDesktopWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("preact").JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
23
+ style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
24
+ }> & string;
25
+ export declare const EntryPanelWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("preact").JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
26
+ style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
27
+ }> & string;
28
+ export declare const HeaderLeftButtons: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("preact").JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
29
+ style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
30
+ }> & string;
31
+ //# sourceMappingURL=styled.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../src/header/styled.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,MAAM;;WAgBlB,CAAA;AAED,eAAO,MAAM,WAAW;;WAWvB,CAAA;AASD,eAAO,MAAM,UAAU;;WAMtB,CAAA;AAED,eAAO,MAAM,WAAW;;WAMvB,CAAA;AAED,eAAO,MAAM,SAAS;;WAcrB,CAAA;AAED,eAAO,MAAM,gBAAgB;;WAK5B,CAAA;AAED,eAAO,MAAM,yBAAyB;;WAWrC,CAAA;AAED,eAAO,MAAM,0BAA0B;;WAEtC,CAAA;AAED,eAAO,MAAM,iBAAiB;;WAO7B,CAAA;AAED,eAAO,MAAM,iBAAiB;;WAiB7B,CAAA"}
@@ -0,0 +1,87 @@
1
+ import { styled, css } from "styled-components";
2
+ import { screenMinS, screenMinM, screenMaxM, screenMaxS } from "@foxford/ui";
3
+ import { NAVIGATION_HEADER_TOP_DESKTOP_MIN_HEIGHT } from "../shared/constants.js";
4
+ import { BASE_ZINDEX } from "../shared/z-index.js";
5
+ const Header = styled.div.withConfig({
6
+ displayName: "styled__Header",
7
+ componentId: "sc-dceth5-0"
8
+ })(["position:relative;", " padding:12px;box-shadow:0px 2px 4px rgba(0,0,0,0.08);z-index:", ";", " ", ""], ({
9
+ theme
10
+ }) => css`
11
+ background-color: ${theme.colors.white};
12
+ `, BASE_ZINDEX.NAVIGATION + 1, screenMinS()`
13
+ padding: 16px;
14
+ `, screenMinM()`
15
+ padding: 20px 36px;
16
+ `);
17
+ const HeaderInner = styled.div.withConfig({
18
+ displayName: "styled__HeaderInner",
19
+ componentId: "sc-dceth5-1"
20
+ })(["position:relative;display:flex;align-items:center;justify-content:space-between;max-width:1208px;margin:0 auto;", ""], screenMinM()`
21
+ display: block;
22
+ `);
23
+ const MobileOnly = styled.div.withConfig({
24
+ displayName: "styled__MobileOnly",
25
+ componentId: "sc-dceth5-2"
26
+ })(["display:contents;", ""], screenMinM()`
27
+ display: none;
28
+ `);
29
+ const DesktopOnly = styled.div.withConfig({
30
+ displayName: "styled__DesktopOnly",
31
+ componentId: "sc-dceth5-3"
32
+ })(["display:none;", ""], screenMinM()`
33
+ display: contents;
34
+ `);
35
+ const HeaderTop = styled.div.withConfig({
36
+ displayName: "styled__HeaderTop",
37
+ componentId: "sc-dceth5-4"
38
+ })(["display:flex;align-items:center;justify-content:space-between;min-height:", "px;", ""], NAVIGATION_HEADER_TOP_DESKTOP_MIN_HEIGHT, screenMinS()`
39
+ position: relative;
40
+ ${({
41
+ theme
42
+ }) => css`
43
+ background-color: ${theme.colors.white};
44
+ box-shadow: 0px 10px 15px 2px ${theme.colors.white};
45
+ `}
46
+ z-index: ${BASE_ZINDEX.NAVIGATION + 2};
47
+ `);
48
+ const UserPanelWrapper = styled.div.withConfig({
49
+ displayName: "styled__UserPanelWrapper",
50
+ componentId: "sc-dceth5-5"
51
+ })(["display:flex;align-items:center;margin-left:auto;padding-left:40px;"]);
52
+ const ExtraButtonsMobileWrapper = styled.div.withConfig({
53
+ displayName: "styled__ExtraButtonsMobileWrapper",
54
+ componentId: "sc-dceth5-6"
55
+ })(["position:absolute;top:calc(100% + 12px);right:0;display:flex;z-index:", ";transition:bottom 0.2s ease;", ""], BASE_ZINDEX.NAVIGATION + 3, screenMinS()`
56
+ top: calc(100% + 16px);
57
+ `);
58
+ const ExtraButtonsDesktopWrapper = styled.div.withConfig({
59
+ displayName: "styled__ExtraButtonsDesktopWrapper",
60
+ componentId: "sc-dceth5-7"
61
+ })(["margin-right:24px;"]);
62
+ const EntryPanelWrapper = styled.div.withConfig({
63
+ displayName: "styled__EntryPanelWrapper",
64
+ componentId: "sc-dceth5-8"
65
+ })(["display:flex;align-items:center;& > :not(:last-child){margin-right:12px;}"]);
66
+ const HeaderLeftButtons = styled.div.withConfig({
67
+ displayName: "styled__HeaderLeftButtons",
68
+ componentId: "sc-dceth5-9"
69
+ })(["display:flex;align-items:center;&& > * + *{margin-left:8px;border-radius:48px;padding:10px;", " ", "}"], screenMaxM()`
70
+ background-color: ${({
71
+ theme
72
+ }) => theme.colors["bg-onmain-tertiary"]};
73
+ `, screenMaxS()`
74
+ padding: 8px;
75
+ `);
76
+ export {
77
+ DesktopOnly,
78
+ EntryPanelWrapper,
79
+ ExtraButtonsDesktopWrapper,
80
+ ExtraButtonsMobileWrapper,
81
+ Header,
82
+ HeaderInner,
83
+ HeaderLeftButtons,
84
+ HeaderTop,
85
+ MobileOnly,
86
+ UserPanelWrapper
87
+ };
@@ -0,0 +1,40 @@
1
+ import type { EntryPanelProps } from './molecules/entry-panel';
2
+ import type { MenuProps } from './molecules/menu';
3
+ import type { OneClickMenuItem } from './molecules/oneclick-menu';
4
+ import type { UserPanelProps } from './molecules/user-panel';
5
+ import type { ReactNode } from 'react';
6
+ /**
7
+ * Слоты `Navigation` — именованные точки расширения разметки. Компонент не знает, откуда
8
+ * взялось содержимое: в core это вложенное место федерации (`header:actionsButton`),
9
+ * в виджете — то, что передали в `mount({ slots })`.
10
+ */
11
+ export interface NavigationSlots {
12
+ /** Место у правого края шапки — рядом с кнопкой меню (mobile) и в HeaderTop (desktop). */
13
+ actionsButton?: ReactNode;
14
+ }
15
+ export interface NavigationProps {
16
+ /** Кобрендинговый логотип вместо обычного — как в подвале. */
17
+ cobranding?: boolean;
18
+ /** Данные для EntryPanel — рендерится в трёх местах (mobile top, desktop UserPanelWrapper, внутри Menu). */
19
+ entryPanel: EntryPanelProps;
20
+ externatFreeAccessLink?: string;
21
+ hasOneClickMenu?: boolean;
22
+ isLoggedIn: boolean;
23
+ menu: Omit<MenuProps, 'entryPanel' | 'onClose' | 'open' | 'origin' | 'topOffset'>;
24
+ menuOpen: boolean;
25
+ offsetTop?: number;
26
+ oneClickMenuItems?: OneClickMenuItem[];
27
+ onExternatCallbackClick?: () => void;
28
+ onExternatFreeAccessClick?: () => void;
29
+ onMenuToggle: () => void;
30
+ onOnboardingClick?: () => void;
31
+ onSegmentItemClick?: (itemId: string) => void;
32
+ origin?: string;
33
+ selectedOneClickMenuItemId?: string;
34
+ showExternatButtons?: boolean;
35
+ showOnboardingButton?: boolean;
36
+ showOnboardingMobileButton?: boolean;
37
+ slots?: NavigationSlots;
38
+ userPanel?: UserPanelProps;
39
+ }
40
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/header/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,0FAA0F;IAC1F,aAAa,CAAC,EAAE,SAAS,CAAA;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,8DAA8D;IAC9D,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,4GAA4G;IAC5G,UAAU,EAAE,eAAe,CAAA;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,UAAU,EAAE,OAAO,CAAA;IACnB,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC,CAAA;IACjF,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAA;IACtC,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAA;IACpC,yBAAyB,CAAC,EAAE,MAAM,IAAI,CAAA;IACtC,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,0BAA0B,CAAC,EAAE,MAAM,CAAA;IACnC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,0BAA0B,CAAC,EAAE,OAAO,CAAA;IACpC,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,SAAS,CAAC,EAAE,cAAc,CAAA;CAC3B"}
package/index.d.ts ADDED
@@ -0,0 +1,25 @@
1
+ export { Footer } from './footer/footer';
2
+ export { Navigation } from './header/navigation';
3
+ export { Link } from './shared/link';
4
+ export { CONTEXT_OF_USE, SELECTOR_IDS } from './shared/constants';
5
+ export { theme } from './shared/theme';
6
+ export { NavigationTheme } from './shared/theme-provider';
7
+ export { Bonuses } from './header/molecules/bonuses';
8
+ export { ProfileInfo } from './header/atoms/profile-info';
9
+ export { ProfileMenuItem } from './header/atoms/profile-menu-item';
10
+ export { PupilSelectButton } from './header/molecules/pupil-select-button';
11
+ export type { FooterMenuItem } from './footer/molecules/footer-menu';
12
+ export type { City } from './footer/molecules/geoposition';
13
+ export type { FooterContacts, FooterProps, FooterSlots, FooterSocialLink } from './footer/types';
14
+ export type { MenuList, MenuListItemData, MenuSegment } from './header/molecules/menu';
15
+ export type { OneClickMenuItem } from './header/molecules/oneclick-menu';
16
+ export type { ProfileMenuProps } from './header/molecules/profile-menu';
17
+ export type { Pupil } from './header/molecules/pupil-select-menu';
18
+ export type { UserPanelProps, UserPanelTopMenuItem } from './header/molecules/user-panel';
19
+ export type { ProfileMenuItemProps } from './header/atoms/profile-menu-item';
20
+ export type { EntryPanelProps } from './header/molecules/entry-panel';
21
+ export type { NavigationProps, NavigationSlots } from './header/types';
22
+ export type { ContextOfUse } from './shared/constants';
23
+ export type { LinkProps } from './shared/link';
24
+ export type { Theme } from './shared/theme';
25
+ //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAIzD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAE1E,YAAY,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AACpE,YAAY,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAA;AAC1D,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAChG,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACtF,YAAY,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACxE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AACvE,YAAY,EAAE,KAAK,EAAE,MAAM,sCAAsC,CAAA;AACjE,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACzF,YAAY,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AAC5E,YAAY,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AACrE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACtE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,YAAY,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA"}
package/index.js ADDED
@@ -0,0 +1,23 @@
1
+ import { Footer } from "./footer/footer.js";
2
+ import { Navigation } from "./header/navigation.js";
3
+ import { Link } from "./shared/link.js";
4
+ import { CONTEXT_OF_USE, SELECTOR_IDS } from "./shared/constants.js";
5
+ import { theme } from "./shared/theme.js";
6
+ import { NavigationTheme } from "./shared/theme-provider.js";
7
+ import { Bonuses } from "./header/molecules/bonuses/index.js";
8
+ import { ProfileInfo } from "./header/atoms/profile-info/index.js";
9
+ import { ProfileMenuItem } from "./header/atoms/profile-menu-item/index.js";
10
+ import { PupilSelectButton } from "./header/molecules/pupil-select-button/index.js";
11
+ export {
12
+ Bonuses,
13
+ CONTEXT_OF_USE,
14
+ Footer,
15
+ Link,
16
+ Navigation,
17
+ NavigationTheme,
18
+ ProfileInfo,
19
+ ProfileMenuItem,
20
+ PupilSelectButton,
21
+ SELECTOR_IDS,
22
+ theme
23
+ };
package/package.json ADDED
@@ -0,0 +1,55 @@
1
+ {
2
+ "name": "@foxford/navigation-ui",
3
+ "version": "1.0.0",
4
+ "description": "Презентационная вёрстка шапки и подвала портала Фоксфорда",
5
+ "keywords": [
6
+ "foxford",
7
+ "navigation",
8
+ "header",
9
+ "footer",
10
+ "ui"
11
+ ],
12
+ "license": "MIT",
13
+ "author": "Foxford Co",
14
+ "maintainers": [
15
+ {
16
+ "name": "Roman Olin",
17
+ "email": "r.v.olin@foxford.ru",
18
+ "team": "core-frontend"
19
+ }
20
+ ],
21
+ "type": "module",
22
+ "dependencies": {
23
+ "react-aim-menu": "^1.3.0",
24
+ "@foxford/qr-code": "^1.3.0"
25
+ },
26
+ "peerDependencies": {
27
+ "@foxford/ui": "^2",
28
+ "preact": ">=10",
29
+ "react": ">=17",
30
+ "react-dom": ">=17",
31
+ "styled-components": ">=6"
32
+ },
33
+ "main": "./index.js",
34
+ "module": "./index.js",
35
+ "exports": {
36
+ ".": {
37
+ "types": "./index.d.ts",
38
+ "import": "./index.js",
39
+ "default": "./index.js"
40
+ }
41
+ },
42
+ "files": [
43
+ "README.mdx",
44
+ "_virtual",
45
+ "footer",
46
+ "header",
47
+ "index.d.ts",
48
+ "index.d.ts.map",
49
+ "index.js",
50
+ "package.json",
51
+ "shared"
52
+ ],
53
+ "sha": "7733b66d",
54
+ "scripts": {}
55
+ }
@@ -0,0 +1,86 @@
1
+ export declare const CONTEXT_OF_USE: {
2
+ readonly EXTERNAT: "externat";
3
+ readonly MEDIA: "media";
4
+ readonly PORTAL: "portal";
5
+ };
6
+ export type ContextOfUse = (typeof CONTEXT_OF_USE)[keyof typeof CONTEXT_OF_USE];
7
+ export declare const NAVIGATION_KIND: {
8
+ readonly AGENT: "agent";
9
+ readonly BASE: "base";
10
+ readonly ELEMENTARY: "elementary";
11
+ readonly PARENT: "parent";
12
+ };
13
+ export type NavigationKindValue = (typeof NAVIGATION_KIND)[keyof typeof NAVIGATION_KIND];
14
+ export declare const MENU_KIND_TO_HIGHLIGHT: {
15
+ readonly ONE_CLICK_MENU: "oneClickMenu";
16
+ readonly SEGMENT_LIST: "segmentList";
17
+ readonly USER_MENU: "userMenu";
18
+ };
19
+ export declare const GOV_LINK = "https://reestr.digital.gov.ru/reestr/1164547/";
20
+ export declare const NAVIGATION_BOTTOM_MENU_MOBILE_HEIGHT = 64;
21
+ export declare const DURATION_MENU_ANIMATION = 100;
22
+ export declare const NAVIGATION_HEADER_TOP_DESKTOP_MIN_HEIGHT = 48;
23
+ /**
24
+ * Сколько места шапка занимает в потоке — по брейкпоинтам, в пикселях.
25
+ *
26
+ * Числа не на глаз: это сумма отступов `Header` (12 / 16 / 20 px) и высоты строки, которую
27
+ * задаёт самый высокий её элемент — кнопка меню (32 px до S, 40 px от S) и `HeaderTop`
28
+ * (`min-height` 48 px от M). Одноклик-меню добавляется отдельным слагаемым: 30 px отступа
29
+ * сверху, 16 px строки, 6 px снизу.
30
+ *
31
+ * Нужны затем, что содержимое шапки лежит в `position: fixed` и высоты в потоке не имеет:
32
+ * без этой брони страница до загрузки скриптов начинается под шапкой. Замер по факту
33
+ * (`Container`) уточняет её, но происходит уже на клиенте — до него работает только CSS.
34
+ */
35
+ export declare const NAVIGATION_HEIGHT: {
36
+ /** До брейкпоинта S. */
37
+ readonly base: 56;
38
+ /** От M. */
39
+ readonly desktop: 88;
40
+ /** Слагаемое к `desktop`, когда включено «меню в один клик». */
41
+ readonly oneClickMenu: 52;
42
+ /** От S до M. */
43
+ readonly tablet: 72;
44
+ };
45
+ export declare const TRANSFORM_NAVIGATION_TIME = 0.2;
46
+ export declare const ALLOWED_PAGES_FOR_ONBOARDING_BUTTONS: string[];
47
+ export declare const SELECTOR_IDS: {
48
+ readonly FOOTER: "foxNavFooter";
49
+ readonly HEADER_TOP: "foxNavHeaderTop";
50
+ readonly LOGIN_BUTTON: "foxNavLoginButton";
51
+ readonly LOGO: "foxNavLogo";
52
+ readonly LOGOUT_BUTTON_MOBILE: "foxNavLogoutButtonMobile";
53
+ readonly MENU_BUTTON: "foxNavMenuButton";
54
+ readonly NAVIGATION: "foxNav";
55
+ readonly ONE_CLICK_MENU: "foxNavOneClickMenu";
56
+ readonly PHONE_BUTTON_MOBILE: "foxNavPhoneButtonMobile";
57
+ readonly PROFILE_MENU: "foxNavProfileMenu";
58
+ readonly PROFILE_MENU_ACHIEVEMENTS: "foxNavProfileMenuAchievements";
59
+ readonly PROFILE_MENU_ATTESTATION: "foxNavProfileMenuAttestation";
60
+ readonly PROFILE_MENU_BONUSES: "foxNavProfileMenuBonuses";
61
+ readonly PROFILE_MENU_CART: "foxNavProfileMenuCart";
62
+ readonly PROFILE_MENU_EXTERNAL_REVIEWS: "foxNavExternalReviews";
63
+ readonly PROFILE_MENU_EXTERNSHIP: "foxNavProfileMenuExternship";
64
+ readonly PROFILE_MENU_EXTERNSHIP_ELEMENTARY: "foxNavProfileMenuExternshipElementary";
65
+ readonly PROFILE_MENU_FAMILY: "foxNavProfileMenuFamily";
66
+ readonly PROFILE_MENU_LOGOUT: "foxNavProfileMenuLogout";
67
+ readonly PROFILE_MENU_MY_TRIAL_EXAMS: "foxNavProfileMenuMyTrialExams";
68
+ readonly PROFILE_MENU_ONBOARDING: "foxNavProfileMenuOnboarding";
69
+ readonly PROFILE_MENU_PAYMENTS: "foxNavProfileMenuPayments";
70
+ readonly PROFILE_MENU_PROGRESS: "foxNavProfileMenuProgress";
71
+ readonly PROFILE_MENU_SETTINGS: "foxNavProfileMenuSettings";
72
+ readonly PROFILE_MENU_SOCIALIZATION: "foxNavProfileMenuSocialization";
73
+ readonly SEGMENT_CONTENT: "foxNavSegmentContent";
74
+ readonly SEGMENT_CONTENT_TITLE: "foxNavSegmentContentTitle";
75
+ readonly SEGMENT_LIST: "foxNavSegmentList";
76
+ readonly SOCIALIZATION_LANDING: "foxNavProfileMenuSocializationLanding";
77
+ readonly TOP_MENU_CALENDAR: "foxNavUserPanelCalendar";
78
+ readonly TOP_MENU_CART: "foxNavUserPanelCart";
79
+ readonly TOP_MENU_DASHBOARD: "foxNavUserPanelDashboard";
80
+ readonly TOP_MENU_PLAN: "foxNavUserPanelPlan";
81
+ readonly TOP_MENU_PROFILE: "foxNavUserPanelProfile";
82
+ readonly TOP_MENU_REFERRALS: "foxNavUserPanelReferrals";
83
+ readonly USER_PANEL: "foxNavUserPanel";
84
+ readonly USER_PANEL_WRAPPER_MOBILE: "foxNavUserPanelWrapperMobile";
85
+ };
86
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,cAAc;;;;CAIjB,CAAA;AAEV,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAA;AAE/E,eAAO,MAAM,eAAe;;;;;CAKlB,CAAA;AAEV,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAA;AAExF,eAAO,MAAM,sBAAsB;;;;CAIzB,CAAA;AAEV,eAAO,MAAM,QAAQ,kDAAkD,CAAA;AAEvE,eAAO,MAAM,oCAAoC,KAAK,CAAA;AAEtD,eAAO,MAAM,uBAAuB,MAAM,CAAA;AAE1C,eAAO,MAAM,wCAAwC,KAAK,CAAA;AAE1D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB;IAC5B,wBAAwB;;IAExB,YAAY;;IAEZ,gEAAgE;;IAEhE,iBAAiB;;CAET,CAAA;AAEV,eAAO,MAAM,yBAAyB,MAAM,CAAA;AAE5C,eAAO,MAAM,oCAAoC,UAAc,CAAA;AAE/D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCf,CAAA"}
@@ -0,0 +1,69 @@
1
+ const CONTEXT_OF_USE = {
2
+ EXTERNAT: "externat",
3
+ MEDIA: "media",
4
+ PORTAL: "portal"
5
+ };
6
+ const GOV_LINK = "https://reestr.digital.gov.ru/reestr/1164547/";
7
+ const NAVIGATION_BOTTOM_MENU_MOBILE_HEIGHT = 64;
8
+ const DURATION_MENU_ANIMATION = 100;
9
+ const NAVIGATION_HEADER_TOP_DESKTOP_MIN_HEIGHT = 48;
10
+ const NAVIGATION_HEIGHT = {
11
+ /** До брейкпоинта S. */
12
+ base: 56,
13
+ /** От M. */
14
+ desktop: 88,
15
+ /** Слагаемое к `desktop`, когда включено «меню в один клик». */
16
+ oneClickMenu: 52,
17
+ /** От S до M. */
18
+ tablet: 72
19
+ };
20
+ const TRANSFORM_NAVIGATION_TIME = 0.2;
21
+ const SELECTOR_IDS = {
22
+ FOOTER: "foxNavFooter",
23
+ HEADER_TOP: "foxNavHeaderTop",
24
+ LOGIN_BUTTON: "foxNavLoginButton",
25
+ LOGO: "foxNavLogo",
26
+ LOGOUT_BUTTON_MOBILE: "foxNavLogoutButtonMobile",
27
+ MENU_BUTTON: "foxNavMenuButton",
28
+ NAVIGATION: "foxNav",
29
+ ONE_CLICK_MENU: "foxNavOneClickMenu",
30
+ PHONE_BUTTON_MOBILE: "foxNavPhoneButtonMobile",
31
+ PROFILE_MENU: "foxNavProfileMenu",
32
+ PROFILE_MENU_ACHIEVEMENTS: "foxNavProfileMenuAchievements",
33
+ PROFILE_MENU_ATTESTATION: "foxNavProfileMenuAttestation",
34
+ PROFILE_MENU_BONUSES: "foxNavProfileMenuBonuses",
35
+ PROFILE_MENU_CART: "foxNavProfileMenuCart",
36
+ PROFILE_MENU_EXTERNAL_REVIEWS: "foxNavExternalReviews",
37
+ PROFILE_MENU_EXTERNSHIP: "foxNavProfileMenuExternship",
38
+ PROFILE_MENU_EXTERNSHIP_ELEMENTARY: "foxNavProfileMenuExternshipElementary",
39
+ PROFILE_MENU_FAMILY: "foxNavProfileMenuFamily",
40
+ PROFILE_MENU_LOGOUT: "foxNavProfileMenuLogout",
41
+ PROFILE_MENU_MY_TRIAL_EXAMS: "foxNavProfileMenuMyTrialExams",
42
+ PROFILE_MENU_ONBOARDING: "foxNavProfileMenuOnboarding",
43
+ PROFILE_MENU_PAYMENTS: "foxNavProfileMenuPayments",
44
+ PROFILE_MENU_PROGRESS: "foxNavProfileMenuProgress",
45
+ PROFILE_MENU_SETTINGS: "foxNavProfileMenuSettings",
46
+ PROFILE_MENU_SOCIALIZATION: "foxNavProfileMenuSocialization",
47
+ SEGMENT_CONTENT: "foxNavSegmentContent",
48
+ SEGMENT_CONTENT_TITLE: "foxNavSegmentContentTitle",
49
+ SEGMENT_LIST: "foxNavSegmentList",
50
+ SOCIALIZATION_LANDING: "foxNavProfileMenuSocializationLanding",
51
+ TOP_MENU_CALENDAR: "foxNavUserPanelCalendar",
52
+ TOP_MENU_CART: "foxNavUserPanelCart",
53
+ TOP_MENU_DASHBOARD: "foxNavUserPanelDashboard",
54
+ TOP_MENU_PLAN: "foxNavUserPanelPlan",
55
+ TOP_MENU_PROFILE: "foxNavUserPanelProfile",
56
+ TOP_MENU_REFERRALS: "foxNavUserPanelReferrals",
57
+ USER_PANEL: "foxNavUserPanel",
58
+ USER_PANEL_WRAPPER_MOBILE: "foxNavUserPanelWrapperMobile"
59
+ };
60
+ export {
61
+ CONTEXT_OF_USE,
62
+ DURATION_MENU_ANIMATION,
63
+ GOV_LINK,
64
+ NAVIGATION_BOTTOM_MENU_MOBILE_HEIGHT,
65
+ NAVIGATION_HEADER_TOP_DESKTOP_MIN_HEIGHT,
66
+ NAVIGATION_HEIGHT,
67
+ SELECTOR_IDS,
68
+ TRANSFORM_NAVIGATION_TIME
69
+ };
@@ -0,0 +1,9 @@
1
+ import type { AnchorHTMLAttributes, ReactNode } from 'react';
2
+ export interface LinkProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'href'> {
3
+ children?: ReactNode;
4
+ href?: string;
5
+ }
6
+ export declare const Link: import("preact").FunctionalComponent<import("react-dom/src").PropsWithoutRef<LinkProps> & {
7
+ ref?: import("preact").Ref<HTMLAnchorElement> | undefined;
8
+ }>;
9
+ //# sourceMappingURL=link.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../src/shared/link.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAU5D,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACtF,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAWD,eAAO,MAAM,IAAI;;EAMf,CAAA"}
package/shared/link.js ADDED
@@ -0,0 +1,56 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var __objRest = (source, exclude) => {
21
+ var target = {};
22
+ for (var prop in source)
23
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
24
+ target[prop] = source[prop];
25
+ if (source != null && __getOwnPropSymbols)
26
+ for (var prop of __getOwnPropSymbols(source)) {
27
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
28
+ target[prop] = source[prop];
29
+ }
30
+ return target;
31
+ };
32
+ import { forwardRef } from "react";
33
+ import { styled } from "styled-components";
34
+ import { jsx } from "preact/jsx-runtime";
35
+ const StyledLink = styled.a.withConfig({
36
+ displayName: "link__StyledLink",
37
+ componentId: "sc-19sb9ec-0"
38
+ })(["color:inherit;text-decoration:none;"]);
39
+ const Link = forwardRef(function Link2(_a, ref) {
40
+ var _b = _a, {
41
+ children,
42
+ href
43
+ } = _b, rest = __objRest(_b, [
44
+ "children",
45
+ "href"
46
+ ]);
47
+ return jsx(StyledLink, __spreadProps(__spreadValues({
48
+ href,
49
+ ref
50
+ }, rest), {
51
+ children
52
+ }));
53
+ });
54
+ export {
55
+ Link
56
+ };
@@ -0,0 +1,3 @@
1
+ /** Номер для показа; в `href="tel:"` идёт исходная строка, как и в легаси. */
2
+ export declare function formatPhone(phone: string): string;
3
+ //# sourceMappingURL=phone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phone.d.ts","sourceRoot":"","sources":["../../src/shared/phone.ts"],"names":[],"mappings":"AASA,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAYjD"}
@@ -0,0 +1,10 @@
1
+ const PHONE_GROUPS = /(?:(\d{1,}?))??(?:(\d{1,3}?))??(?:(\d{1,3}?))??(?:(\d{2}))??(\d{2})$/;
2
+ function formatPhone(phone) {
3
+ return phone.replace(PHONE_GROUPS, (_all, country, operator, prefix, pair, tail) => {
4
+ const parts = [country ? `${country} ` : "", operator ? `${operator} ` : "", prefix ? `${prefix}-` : "", pair ? `${pair}-` : "", tail];
5
+ return parts.join("");
6
+ });
7
+ }
8
+ export {
9
+ formatPhone
10
+ };
@@ -0,0 +1,6 @@
1
+ import type { ReactNode } from 'react';
2
+ export interface NavigationThemeProps {
3
+ children: ReactNode;
4
+ }
5
+ export declare function NavigationTheme({ children }: NavigationThemeProps): import("preact").JSX.Element;
6
+ //# sourceMappingURL=theme-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-provider.d.ts","sourceRoot":"","sources":["../../src/shared/theme-provider.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAqBtC,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,EAAE,oBAAoB,gCAKjE"}
@@ -0,0 +1,27 @@
1
+ import { ThemeProvider, MediaProvider, MediaMediator } from "@foxford/ui";
2
+ import { theme } from "./theme.js";
3
+ import { jsx } from "preact/jsx-runtime";
4
+ let mediaMediator = null;
5
+ function getMediaMediator() {
6
+ if (typeof window === "undefined" || typeof window.matchMedia !== "function") {
7
+ return null;
8
+ }
9
+ mediaMediator != null ? mediaMediator : mediaMediator = MediaMediator.create(theme.breakpoints);
10
+ return mediaMediator;
11
+ }
12
+ function NavigationTheme({
13
+ children
14
+ }) {
15
+ const mediator = getMediaMediator();
16
+ const themed = jsx(ThemeProvider, {
17
+ theme,
18
+ children
19
+ });
20
+ return mediator === null ? themed : jsx(MediaProvider, {
21
+ value: mediator,
22
+ children: themed
23
+ });
24
+ }
25
+ export {
26
+ NavigationTheme
27
+ };