@foxford/navigation-ui 1.0.0 → 1.0.1

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 (109) hide show
  1. package/README.mdx +48 -4
  2. package/footer/contacts-column.d.ts.map +1 -1
  3. package/footer/contacts-column.js +80 -48
  4. package/footer/contacts-styled.d.ts +44 -0
  5. package/footer/contacts-styled.d.ts.map +1 -0
  6. package/footer/contacts-styled.js +120 -0
  7. package/footer/footer.d.ts.map +1 -1
  8. package/footer/footer.js +3 -3
  9. package/footer/molecules/geoposition/index.js +1 -3
  10. package/footer/styled.d.ts +0 -22
  11. package/footer/styled.d.ts.map +1 -1
  12. package/footer/styled.js +7 -42
  13. package/footer/types.d.ts +6 -6
  14. package/footer/types.d.ts.map +1 -1
  15. package/header/atoms/action-button/assets/elementary/calendar.svg +1 -0
  16. package/header/atoms/action-button/assets/elementary/catalog.svg +1 -0
  17. package/header/atoms/action-button/assets/elementary/dashboard.svg +1 -0
  18. package/header/atoms/action-button/assets/elementary/externship.svg +1 -0
  19. package/header/atoms/action-button/assets/elementary/main.svg +1 -0
  20. package/header/atoms/action-button/assets/elementary/room.svg +1 -0
  21. package/header/atoms/action-button/elementary-icons.d.ts +14 -0
  22. package/header/atoms/action-button/elementary-icons.d.ts.map +1 -0
  23. package/header/atoms/action-button/elementary-icons.js +21 -0
  24. package/header/atoms/action-button/index.d.ts +5 -3
  25. package/header/atoms/action-button/index.d.ts.map +1 -1
  26. package/header/atoms/action-button/index.js +23 -4
  27. package/header/atoms/grades-list-item/index.d.ts +10 -0
  28. package/header/atoms/grades-list-item/index.d.ts.map +1 -0
  29. package/header/atoms/grades-list-item/index.js +21 -0
  30. package/header/atoms/grades-list-item/styled.d.ts +14 -0
  31. package/header/atoms/grades-list-item/styled.d.ts.map +1 -0
  32. package/header/atoms/grades-list-item/styled.js +27 -0
  33. package/header/atoms/profile-menu-item/index.d.ts +3 -1
  34. package/header/atoms/profile-menu-item/index.d.ts.map +1 -1
  35. package/header/atoms/profile-menu-item/index.js +2 -0
  36. package/header/atoms/profile-menu-item/styled.d.ts +4 -2
  37. package/header/atoms/profile-menu-item/styled.d.ts.map +1 -1
  38. package/header/atoms/profile-menu-item/styled.js +3 -1
  39. package/header/atoms/prolongation-title/assets/arrow.svg +1 -0
  40. package/header/atoms/prolongation-title/assets/lightning.svg +1 -0
  41. package/header/atoms/prolongation-title/index.d.ts +10 -0
  42. package/header/atoms/prolongation-title/index.d.ts.map +1 -0
  43. package/header/atoms/prolongation-title/index.js +44 -0
  44. package/header/atoms/prolongation-title/styled.d.ts +14 -0
  45. package/header/atoms/prolongation-title/styled.d.ts.map +1 -0
  46. package/header/atoms/prolongation-title/styled.js +38 -0
  47. package/header/header-desktop.d.ts +2 -2
  48. package/header/header-desktop.d.ts.map +1 -1
  49. package/header/header-desktop.js +16 -41
  50. package/header/header-mobile.d.ts +2 -2
  51. package/header/header-mobile.d.ts.map +1 -1
  52. package/header/header-mobile.js +3 -18
  53. package/header/molecules/cart-button/index.js +25 -0
  54. package/header/molecules/cart-button/styled.d.ts.map +1 -1
  55. package/header/molecules/cart-button/styled.js +14 -0
  56. package/header/molecules/container/index.d.ts +5 -1
  57. package/header/molecules/container/index.d.ts.map +1 -1
  58. package/header/molecules/container/index.js +5 -3
  59. package/header/molecules/entry-panel/index.d.ts +4 -1
  60. package/header/molecules/entry-panel/index.d.ts.map +1 -1
  61. package/header/molecules/entry-panel/index.js +26 -5
  62. package/header/molecules/list/index.d.ts.map +1 -1
  63. package/header/molecules/list/index.js +5 -1
  64. package/header/molecules/menu/segment-content.d.ts.map +1 -1
  65. package/header/molecules/menu/segment-content.js +20 -3
  66. package/header/molecules/menu/types.d.ts +18 -0
  67. package/header/molecules/menu/types.d.ts.map +1 -1
  68. package/header/molecules/support-button/index.d.ts +5 -0
  69. package/header/molecules/support-button/index.d.ts.map +1 -0
  70. package/header/molecules/support-button/index.js +108 -0
  71. package/header/molecules/support-button/modal.d.ts +9 -0
  72. package/header/molecules/support-button/modal.d.ts.map +1 -0
  73. package/header/molecules/support-button/modal.js +122 -0
  74. package/header/molecules/support-button/styled.d.ts +31 -0
  75. package/header/molecules/support-button/styled.d.ts.map +1 -0
  76. package/header/molecules/support-button/styled.js +43 -0
  77. package/header/molecules/support-button/theme.d.ts +5 -0
  78. package/header/molecules/support-button/theme.d.ts.map +1 -0
  79. package/header/molecules/support-button/theme.js +40 -0
  80. package/header/molecules/support-button/types.d.ts +20 -0
  81. package/header/molecules/support-button/types.d.ts.map +1 -0
  82. package/header/molecules/user-panel/index.d.ts +10 -3
  83. package/header/molecules/user-panel/index.d.ts.map +1 -1
  84. package/header/molecules/user-panel/index.js +48 -36
  85. package/header/molecules/user-panel/styled.d.ts +15 -0
  86. package/header/molecules/user-panel/styled.d.ts.map +1 -1
  87. package/header/molecules/user-panel/styled.js +41 -5
  88. package/header/molecules/user-panel-mobile/index.d.ts +1 -1
  89. package/header/molecules/user-panel-mobile/index.d.ts.map +1 -1
  90. package/header/molecules/user-panel-mobile/index.js +11 -3
  91. package/header/navigation.d.ts.map +1 -1
  92. package/header/navigation.js +66 -4
  93. package/header/styled.d.ts +7 -0
  94. package/header/styled.d.ts.map +1 -1
  95. package/header/styled.js +24 -4
  96. package/header/types.d.ts +9 -6
  97. package/header/types.d.ts.map +1 -1
  98. package/index.d.ts +6 -0
  99. package/index.d.ts.map +1 -1
  100. package/index.js +10 -0
  101. package/package.json +14 -4
  102. package/shared/constants.d.ts +8 -0
  103. package/shared/constants.d.ts.map +1 -1
  104. package/shared/constants.js +8 -0
  105. package/shared/slots.d.ts +64 -0
  106. package/shared/slots.d.ts.map +1 -0
  107. package/shared/slots.js +53 -0
  108. package/_virtual/preload-helper.js +0 -57
  109. package/header/molecules/phone-button/index.js +0 -15
@@ -1,9 +1,11 @@
1
+ import type { NavigationIconName } from '../../atoms/action-button/elementary-icons';
1
2
  import type { ProfileMenuProps } from '../profile-menu';
2
3
  import type { Pupil } from '../pupil-select-menu';
3
- import type { IconName } from '@foxford/ui';
4
4
  export interface UserPanelTopMenuItem {
5
- icon?: IconName;
5
+ icon?: NavigationIconName;
6
6
  id: string;
7
+ /** Точка-маркер на кнопке: у корзины считается сама, остальным передаётся явно. */
8
+ marker?: boolean;
7
9
  onClick?: () => void;
8
10
  title: string;
9
11
  url: string;
@@ -27,6 +29,11 @@ export interface UserPanelProps {
27
29
  name: string;
28
30
  role: string;
29
31
  };
32
+ /**
33
+ * Раскладка кнопок. `elementary` — начальная школа: крупные иллюстрации вместо пиктограмм и
34
+ * свои отступы. Какому пользователю какая раскладка положена, решает адаптер.
35
+ */
36
+ variant?: 'base' | 'elementary';
30
37
  }
31
- export declare function UserPanel({ cartItemsCount, highlightedTopMenuItemId, onProfileMenuClose, onProfileMenuToggle, onPupilSelectMenuClose, onSelectPupil, profileButtonMarker, profileMenu, profileMenuOpen, pupils, pupilSelectMenuOpen, tooltipText, topMenuItems, user, }: UserPanelProps): import("preact").JSX.Element;
38
+ export declare function UserPanel({ cartItemsCount, highlightedTopMenuItemId, onProfileMenuClose, onProfileMenuToggle, onPupilSelectMenuClose, onSelectPupil, profileButtonMarker, profileMenu, profileMenuOpen, pupils, pupilSelectMenuOpen, tooltipText, topMenuItems, user, variant, }: UserPanelProps): import("preact").JSX.Element;
32
39
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/user-panel/index.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,kBAAkB,EAAE,MAAM,IAAI,CAAA;IAC9B,mBAAmB,EAAE,MAAM,IAAI,CAAA;IAC/B,sBAAsB,EAAE,MAAM,IAAI,CAAA;IAClC,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAA;IAC3C,eAAe,EAAE,OAAO,CAAA;IACxB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;IAChB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,oBAAoB,EAAE,CAAA;IACrC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CACxD;AAID,wBAAgB,SAAS,CAAC,EACxB,cAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,aAAa,EACb,mBAA2B,EAC3B,WAAW,EACX,eAAe,EACf,MAAW,EACX,mBAAmB,EACnB,WAAW,EACX,YAAiB,EACjB,IAAI,GACL,EAAE,cAAc,gCAgFhB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/user-panel/index.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAA;AACpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAEjD,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,kBAAkB,CAAA;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,mFAAmF;IACnF,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,kBAAkB,EAAE,MAAM,IAAI,CAAA;IAC9B,mBAAmB,EAAE,MAAM,IAAI,CAAA;IAC/B,sBAAsB,EAAE,MAAM,IAAI,CAAA;IAClC,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAA;IAC3C,eAAe,EAAE,OAAO,CAAA;IACxB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;IAChB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,oBAAoB,EAAE,CAAA;IACrC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACvD;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,YAAY,CAAA;CAChC;AACD,wBAAgB,SAAS,CAAC,EACxB,cAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,aAAa,EACb,mBAA2B,EAC3B,WAAW,EACX,eAAe,EACf,MAAW,EACX,mBAAmB,EACnB,WAAW,EACX,YAAiB,EACjB,IAAI,EACJ,OAAgB,GACjB,EAAE,cAAc,gCA2FhB"}
@@ -18,12 +18,13 @@ var __spreadValues = (a, b) => {
18
18
  };
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
20
  import { useRef, useEffect } from "react";
21
- import { Root, Inner, ProfileMenuWrapper, MobileOnly, DesktopOnly } from "./styled.js";
21
+ import { Root, InnerElementary, Inner, ActionButtonElementary, ProfileSegment, ProfileMenuWrapper, MobileOnly, DesktopOnly } from "./styled.js";
22
22
  import { SELECTOR_IDS } from "../../../shared/constants.js";
23
23
  import { useOutsideClick } from "../../../shared/use-outside-click.js";
24
24
  import { ActionButton } from "../../atoms/action-button/index.js";
25
25
  import { Avatar } from "../../atoms/avatar/index.js";
26
26
  import { UserProfile } from "../../atoms/user-profile/index.js";
27
+ import { CartButton } from "../cart-button/index.js";
27
28
  import { ProfileMenu } from "../profile-menu/index.js";
28
29
  import { ProfileMenuButtonTooltip } from "../profile-menu-button-tooltip/index.js";
29
30
  import { PupilSelectMenu } from "../pupil-select-menu/index.js";
@@ -42,8 +43,12 @@ function UserPanel({
42
43
  pupilSelectMenuOpen,
43
44
  tooltipText,
44
45
  topMenuItems = [],
45
- user
46
+ user,
47
+ variant = "base"
46
48
  }) {
49
+ const isElementary = variant === "elementary";
50
+ const TopMenuRow = isElementary ? InnerElementary : Inner;
51
+ const TopMenuButton = isElementary ? ActionButtonElementary : ActionButton;
47
52
  const profileMenuWrapperRef = useRef(null);
48
53
  useOutsideClick(profileMenuWrapperRef, onProfileMenuClose, profileMenuOpen);
49
54
  useOutsideClick(profileMenuWrapperRef, onPupilSelectMenuClose, pupilSelectMenuOpen);
@@ -63,47 +68,54 @@ function UserPanel({
63
68
  }, [onProfileMenuClose, onPupilSelectMenuClose, profileMenuOpen, pupilSelectMenuOpen]);
64
69
  return jsx(Root, {
65
70
  id: SELECTOR_IDS.USER_PANEL,
66
- children: jsxs(Inner, {
67
- children: [topMenuItems.map((item) => jsx(ActionButton, {
71
+ children: jsxs(TopMenuRow, {
72
+ children: [topMenuItems.map((item) => jsx(TopMenuButton, {
68
73
  active: highlightedTopMenuItemId === item.id,
69
74
  icon: item.icon,
75
+ iconSize: isElementary ? 30 : 20,
70
76
  id: item.id,
71
- // Корзина в этой раскладке — такая же кнопка, как остальные, с точкой-маркером при
72
- // непустой корзине; отдельный `CartButton` легаси использует только в раскладках
73
- // elementary и new.
74
- marker: item.id === SELECTOR_IDS.TOP_MENU_CART && cartItemsCount > 0,
77
+ // Корзина — такая же кнопка, как остальные, с точкой-маркером при непустой корзине.
78
+ // Остальным маркер задаёт адаптер: в началке его носит кнопка комнаты.
79
+ marker: item.id === SELECTOR_IDS.TOP_MENU_CART ? cartItemsCount > 0 : item.marker === true,
75
80
  onClick: item.onClick,
76
81
  text: item.title,
77
82
  url: item.url
78
- }, item.id)), jsxs(ProfileMenuWrapper, {
79
- ref: profileMenuWrapperRef,
80
- children: [jsx(MobileOnly, {
81
- children: jsx(ActionButton, {
82
- avatar: jsx(Avatar, {
83
- avatarUrl: user.avatarUrl
84
- }),
85
- id: SELECTOR_IDS.TOP_MENU_PROFILE,
86
- marker: profileButtonMarker,
87
- onClick: onProfileMenuToggle,
88
- text: "Профиль"
83
+ }, item.id)), jsxs(ProfileSegment, {
84
+ children: [jsxs(ProfileMenuWrapper, {
85
+ ref: profileMenuWrapperRef,
86
+ children: [jsx(MobileOnly, {
87
+ children: jsx(ActionButton, {
88
+ avatar: jsx(Avatar, {
89
+ avatarUrl: user.avatarUrl
90
+ }),
91
+ id: SELECTOR_IDS.TOP_MENU_PROFILE,
92
+ marker: profileButtonMarker,
93
+ onClick: onProfileMenuToggle,
94
+ text: "Профиль"
95
+ })
96
+ }), jsx(DesktopOnly, {
97
+ children: jsx(UserProfile, {
98
+ active: profileMenuOpen || pupilSelectMenuOpen,
99
+ avatarUrl: user.avatarUrl,
100
+ name: user.name,
101
+ onClick: onProfileMenuToggle,
102
+ role: user.role
103
+ })
104
+ }), jsx(ProfileMenuButtonTooltip, {
105
+ text: tooltipText
106
+ }), jsx(ProfileMenu, __spreadProps(__spreadValues({}, profileMenu), {
107
+ open: profileMenuOpen
108
+ })), jsx(PupilSelectMenu, {
109
+ onClose: onPupilSelectMenuClose,
110
+ onSelectPupil,
111
+ open: pupilSelectMenuOpen,
112
+ pupils
113
+ })]
114
+ }), isElementary && jsx(DesktopOnly, {
115
+ children: jsx(CartButton, {
116
+ cartItemsCount,
117
+ filled: true
89
118
  })
90
- }), jsx(DesktopOnly, {
91
- children: jsx(UserProfile, {
92
- active: profileMenuOpen || pupilSelectMenuOpen,
93
- avatarUrl: user.avatarUrl,
94
- name: user.name,
95
- onClick: onProfileMenuToggle,
96
- role: user.role
97
- })
98
- }), jsx(ProfileMenuButtonTooltip, {
99
- text: tooltipText
100
- }), jsx(ProfileMenu, __spreadProps(__spreadValues({}, profileMenu), {
101
- open: profileMenuOpen
102
- })), jsx(PupilSelectMenu, {
103
- onClose: onPupilSelectMenuClose,
104
- onSelectPupil,
105
- open: pupilSelectMenuOpen,
106
- pupils
107
119
  })]
108
120
  })]
109
121
  })
@@ -1,9 +1,24 @@
1
+ import { ActionButton } from '../../atoms/action-button';
1
2
  export declare const Root: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("preact").JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
2
3
  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
  }> & string;
4
5
  export declare const Inner: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("preact").JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
5
6
  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
  }> & string;
8
+ export declare const InnerElementary: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("styled-components").FastOmit<Omit<import("preact").JSX.HTMLAttributes<HTMLDivElement>, "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
+ }, "as" | "forwardedAs"> & {
11
+ as?: import("styled-components").WebTarget | undefined;
12
+ forwardedAs?: import("styled-components").WebTarget | undefined;
13
+ }, "style"> & {
14
+ style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | (import("styled-components").CSSProperties & {
15
+ [key: `--${string}`]: string | number | undefined;
16
+ }) | undefined;
17
+ }> & string;
18
+ export declare const ActionButtonElementary: import("styled-components/dist/types").IStyledComponentBase<"web", import("../../atoms/action-button").ActionButtonProps> & string & Omit<typeof ActionButton, keyof import("preact").Component<any, {}>>;
19
+ export declare const ProfileSegment: 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;
7
22
  export declare const ProfileMenuWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("preact").JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
8
23
  style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
9
24
  }> & string;
@@ -1 +1 @@
1
- {"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/user-panel/styled.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,IAAI;;WAEhB,CAAA;AAED,eAAO,MAAM,KAAK;;WAmBjB,CAAA;AAED,eAAO,MAAM,kBAAkB;;WAE9B,CAAA;AAID,eAAO,MAAM,UAAU;;WAMtB,CAAA;AAED,eAAO,MAAM,WAAW;;WAMvB,CAAA"}
1
+ {"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/user-panel/styled.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAGxD,eAAO,MAAM,IAAI;;WAEhB,CAAA;AAED,eAAO,MAAM,KAAK;;WAmBjB,CAAA;AAID,eAAO,MAAM,eAAe;;;;;;;;;WAgB3B,CAAA;AAUD,eAAO,MAAM,sBAAsB,2MAkBlC,CAAA;AAQD,eAAO,MAAM,cAAc;;WAS1B,CAAA;AAED,eAAO,MAAM,kBAAkB;;WAE9B,CAAA;AAID,eAAO,MAAM,UAAU;;WAMtB,CAAA;AAED,eAAO,MAAM,WAAW;;WAMvB,CAAA"}
@@ -1,5 +1,7 @@
1
- import { styled } from "styled-components";
2
- import { screenMinS, screenMinM } from "@foxford/ui";
1
+ import { styled, css } from "styled-components";
2
+ import { screenMinS, screenMinM, screenMinL } from "@foxford/ui";
3
+ import { ActionButton } from "../../atoms/action-button/index.js";
4
+ import { Text } from "../../atoms/action-button/styled.js";
3
5
  const Root = styled.div.withConfig({
4
6
  displayName: "styled__Root",
5
7
  componentId: "sc-2ik4wt-0"
@@ -16,26 +18,60 @@ const Inner = styled.div.withConfig({
16
18
  margin-left: 36px;
17
19
  }
18
20
  `);
21
+ const InnerElementary = styled(Inner).withConfig({
22
+ displayName: "styled__InnerElementary",
23
+ componentId: "sc-2ik4wt-2"
24
+ })(["& > :not(:first-child){margin-left:16px;}", " ", ""], screenMinM()`
25
+ & > :not(:first-child) {
26
+ margin-left: 20px;
27
+ }
28
+ `, screenMinL()`
29
+ & > :not(:first-child) {
30
+ margin-left: 40px;
31
+ }
32
+ `);
33
+ const ActionButtonElementary = styled(ActionButton).withConfig({
34
+ displayName: "styled__ActionButtonElementary",
35
+ componentId: "sc-2ik4wt-3"
36
+ })(["&&{", " ", " ", " ", "{margin-top:4px;}}"], screenMinS()`
37
+ font-size: 12px;
38
+ `, screenMinM()`
39
+ font-size: 14px;
40
+ `, ({
41
+ active,
42
+ theme
43
+ }) => css`
44
+ color: ${active === true ? theme.colors.accent : theme.colors.silver};
45
+ `, Text);
46
+ const ProfileSegment = styled.div.withConfig({
47
+ displayName: "styled__ProfileSegment",
48
+ componentId: "sc-2ik4wt-4"
49
+ })(["display:flex;flex-direction:row;align-items:center;gap:20px;", ""], screenMinL()`
50
+ gap: 8px;
51
+ `);
19
52
  const ProfileMenuWrapper = styled.div.withConfig({
20
53
  displayName: "styled__ProfileMenuWrapper",
21
- componentId: "sc-2ik4wt-2"
54
+ componentId: "sc-2ik4wt-5"
22
55
  })(["position:relative;"]);
23
56
  const MobileOnly = styled.div.withConfig({
24
57
  displayName: "styled__MobileOnly",
25
- componentId: "sc-2ik4wt-3"
58
+ componentId: "sc-2ik4wt-6"
26
59
  })(["display:contents;", ""], screenMinM()`
27
60
  display: none;
28
61
  `);
29
62
  const DesktopOnly = styled.div.withConfig({
30
63
  displayName: "styled__DesktopOnly",
31
- componentId: "sc-2ik4wt-4"
64
+ componentId: "sc-2ik4wt-7"
32
65
  })(["display:none;", ""], screenMinM()`
33
66
  display: contents;
34
67
  `);
35
68
  export {
69
+ ActionButtonElementary,
36
70
  DesktopOnly,
37
71
  Inner,
72
+ InnerElementary,
38
73
  MobileOnly,
39
74
  ProfileMenuWrapper,
75
+ ProfileSegment,
40
76
  Root
41
77
  };
@@ -1,3 +1,3 @@
1
1
  import type { UserPanelProps } from '../user-panel';
2
- export declare function UserPanelMobile({ topMenuItems, ...props }: UserPanelProps): import("preact").JSX.Element;
2
+ export declare function UserPanelMobile({ topMenuItems, variant, ...props }: UserPanelProps): import("preact").JSX.Element;
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/user-panel-mobile/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAInD,wBAAgB,eAAe,CAAC,EAAE,YAAiB,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,gCAQ9E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/user-panel-mobile/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAUnD,wBAAgB,eAAe,CAAC,EAAE,YAAiB,EAAE,OAAgB,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,gCAShG"}
@@ -34,20 +34,28 @@ import { SELECTOR_IDS } from "../../../shared/constants.js";
34
34
  import { useScrollDirection } from "../../../shared/use-scroll-direction.js";
35
35
  import { UserPanel } from "../user-panel/index.js";
36
36
  import { jsx } from "preact/jsx-runtime";
37
+ const HIDDEN_ON_MOBILE = {
38
+ base: SELECTOR_IDS.TOP_MENU_REFERRALS,
39
+ elementary: SELECTOR_IDS.TOP_MENU_CATALOG
40
+ };
37
41
  function UserPanelMobile(_a) {
38
42
  var _b = _a, {
39
- topMenuItems = []
43
+ topMenuItems = [],
44
+ variant = "base"
40
45
  } = _b, props = __objRest(_b, [
41
- "topMenuItems"
46
+ "topMenuItems",
47
+ "variant"
42
48
  ]);
43
49
  const {
44
50
  scrollDirection
45
51
  } = useScrollDirection();
52
+ const hidden = HIDDEN_ON_MOBILE[variant];
46
53
  return jsx(UserPanelWrapperMobile, {
47
54
  $hidePanel: scrollDirection === "down",
48
55
  id: SELECTOR_IDS.USER_PANEL_WRAPPER_MOBILE,
49
56
  children: jsx(UserPanel, __spreadProps(__spreadValues({}, props), {
50
- topMenuItems: topMenuItems.filter((item) => item.id !== SELECTOR_IDS.TOP_MENU_REFERRALS)
57
+ topMenuItems: topMenuItems.filter((item) => item.id !== hidden),
58
+ variant
51
59
  }))
52
60
  });
53
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/header/navigation.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAS9C,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,gCAsChD"}
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/header/navigation.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAmD9C,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,gCAsDhD"}
@@ -20,12 +20,44 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
20
  import { HeaderDesktop } from "./header-desktop.js";
21
21
  import { HeaderMobile } from "./header-mobile.js";
22
22
  import { Container } from "./molecules/container/index.js";
23
+ import { HeaderLogo } from "./molecules/header-logo/index.js";
23
24
  import { Menu } from "./molecules/menu/index.js";
25
+ import { MenuButton } from "./molecules/menu-button/index.js";
26
+ import { OneClickMenu } from "./molecules/oneclick-menu/index.js";
24
27
  import { UserPanelMobile } from "./molecules/user-panel-mobile/index.js";
25
- import { Header, HeaderInner, MobileOnly } from "./styled.js";
28
+ import { SearchPanelOnly, Header, HeaderInner, HeaderTop, HeaderLeftButtons, SearchLineOnly, MobileOnly, DesktopOnly } from "./styled.js";
29
+ import { SELECTOR_IDS } from "../shared/constants.js";
26
30
  import { NavigationTheme } from "../shared/theme-provider.js";
27
31
  import { jsxs, jsx } from "preact/jsx-runtime";
32
+ function withSupportButton(panel, supportButton) {
33
+ if (supportButton === void 0 || panel.supportButton !== void 0) {
34
+ return panel;
35
+ }
36
+ return __spreadProps(__spreadValues({}, panel), {
37
+ supportButton
38
+ });
39
+ }
40
+ function OneClickRow({
41
+ hasOneClickMenu,
42
+ menuOpen,
43
+ oneClickMenuItems = [],
44
+ onSegmentItemClick,
45
+ selectedOneClickMenuItemId
46
+ }) {
47
+ if (hasOneClickMenu !== true) {
48
+ return null;
49
+ }
50
+ return jsx(DesktopOnly, {
51
+ children: jsx(OneClickMenu, {
52
+ isMenuOpen: menuOpen,
53
+ items: oneClickMenuItems,
54
+ onItemClick: onSegmentItemClick,
55
+ selectedItemId: selectedOneClickMenuItemId
56
+ })
57
+ });
58
+ }
28
59
  function Navigation(props) {
60
+ var _a;
29
61
  const {
30
62
  entryPanel,
31
63
  isLoggedIn,
@@ -36,19 +68,49 @@ function Navigation(props) {
36
68
  origin,
37
69
  userPanel
38
70
  } = props;
71
+ const {
72
+ aboveMenu,
73
+ actionsButton,
74
+ background,
75
+ belowMenu,
76
+ searchPanel,
77
+ top
78
+ } = (_a = props.slots) != null ? _a : {};
39
79
  const showBackground = menuOpen || (userPanel == null ? void 0 : userPanel.profileMenuOpen) === true || (userPanel == null ? void 0 : userPanel.pupilSelectMenuOpen) === true;
80
+ const panel = withSupportButton(entryPanel, props.supportButton);
40
81
  return jsxs(NavigationTheme, {
41
- children: [jsxs(Container, {
82
+ children: [background, searchPanel && jsx(SearchPanelOnly, {
83
+ children: searchPanel
84
+ }), jsxs(Container, {
85
+ aboveMenu,
86
+ belowMenu,
42
87
  hasOneClickMenu: props.hasOneClickMenu,
43
88
  onBackgroundClick: menuOpen ? onMenuToggle : void 0,
44
89
  showBackground,
45
90
  children: [jsx(Header, {
46
91
  id: "header",
47
92
  children: jsxs(HeaderInner, {
48
- children: [jsx(HeaderMobile, __spreadValues({}, props)), jsx(HeaderDesktop, __spreadValues({}, props))]
93
+ children: [jsxs(HeaderTop, {
94
+ id: SELECTOR_IDS.HEADER_TOP,
95
+ children: [jsx(HeaderLogo, {
96
+ cobranding: props.cobranding,
97
+ origin
98
+ }), jsxs(HeaderLeftButtons, {
99
+ children: [jsx(MenuButton, {
100
+ active: menuOpen,
101
+ onClick: onMenuToggle
102
+ }), actionsButton, jsx(SearchLineOnly, {
103
+ children: top
104
+ })]
105
+ }), jsx(HeaderMobile, __spreadProps(__spreadValues({}, props), {
106
+ entryPanel: panel
107
+ })), jsx(HeaderDesktop, __spreadProps(__spreadValues({}, props), {
108
+ entryPanel: panel
109
+ }))]
110
+ }), jsx(OneClickRow, __spreadValues({}, props))]
49
111
  })
50
112
  }), jsx(Menu, __spreadProps(__spreadValues({}, menu), {
51
- entryPanel,
113
+ entryPanel: panel,
52
114
  onClose: onMenuToggle,
53
115
  open: menuOpen,
54
116
  origin,
@@ -28,4 +28,11 @@ export declare const EntryPanelWrapper: import("styled-components/dist/types").I
28
28
  export declare const HeaderLeftButtons: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("preact").JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
29
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
30
  }> & string;
31
+ export declare const SearchLineOnly: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("preact").JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
32
+ style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
33
+ }> & string;
34
+ /** Панель поиска доступна и на планшете: кнопка, раскрывающая её, есть вплоть до L. */
35
+ export declare const SearchPanelOnly: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("preact").JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
36
+ style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
37
+ }> & string;
31
38
  //# sourceMappingURL=styled.d.ts.map
@@ -1 +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"}
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;AAWD,eAAO,MAAM,SAAS;;WAerB,CAAA;AAED,eAAO,MAAM,gBAAgB;;WAM5B,CAAA;AAED,eAAO,MAAM,yBAAyB;;WAWrC,CAAA;AAED,eAAO,MAAM,0BAA0B;;WAEtC,CAAA;AAED,eAAO,MAAM,iBAAiB;;WAO7B,CAAA;AAED,eAAO,MAAM,iBAAiB;;WAuB7B,CAAA;AAOD,eAAO,MAAM,cAAc;;WAM1B,CAAA;AAED,uFAAuF;AACvF,eAAO,MAAM,eAAe;;WAM3B,CAAA"}
package/header/styled.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { styled, css } from "styled-components";
2
- import { screenMinS, screenMinM, screenMaxM, screenMaxS } from "@foxford/ui";
2
+ import { screenMinS, screenMinM, screenMaxL, screenMaxS, screenMinL } from "@foxford/ui";
3
3
  import { NAVIGATION_HEADER_TOP_DESKTOP_MIN_HEIGHT } from "../shared/constants.js";
4
4
  import { BASE_ZINDEX } from "../shared/z-index.js";
5
5
  const Header = styled.div.withConfig({
@@ -35,7 +35,11 @@ const DesktopOnly = styled.div.withConfig({
35
35
  const HeaderTop = styled.div.withConfig({
36
36
  displayName: "styled__HeaderTop",
37
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()`
38
+ })(["display:contents;", ""], screenMinM()`
39
+ display: flex;
40
+ align-items: center;
41
+ justify-content: space-between;
42
+ min-height: ${NAVIGATION_HEADER_TOP_DESKTOP_MIN_HEIGHT}px;
39
43
  position: relative;
40
44
  ${({
41
45
  theme
@@ -48,7 +52,7 @@ const HeaderTop = styled.div.withConfig({
48
52
  const UserPanelWrapper = styled.div.withConfig({
49
53
  displayName: "styled__UserPanelWrapper",
50
54
  componentId: "sc-dceth5-5"
51
- })(["display:flex;align-items:center;margin-left:auto;padding-left:40px;"]);
55
+ })(["display:flex;align-items:center;margin-left:auto;padding-left:15px;margin-right:6px;"]);
52
56
  const ExtraButtonsMobileWrapper = styled.div.withConfig({
53
57
  displayName: "styled__ExtraButtonsMobileWrapper",
54
58
  componentId: "sc-dceth5-6"
@@ -66,13 +70,27 @@ const EntryPanelWrapper = styled.div.withConfig({
66
70
  const HeaderLeftButtons = styled.div.withConfig({
67
71
  displayName: "styled__HeaderLeftButtons",
68
72
  componentId: "sc-dceth5-9"
69
- })(["display:flex;align-items:center;&& > * + *{margin-left:8px;border-radius:48px;padding:10px;", " ", "}"], screenMaxM()`
73
+ })(["display:flex;align-items:center;order:-1;", " && > button + button{margin-left:8px;border-radius:48px;padding:10px;", " ", "}"], screenMinM()`
74
+ order: 0;
75
+ `, screenMaxL()`
70
76
  background-color: ${({
71
77
  theme
72
78
  }) => theme.colors["bg-onmain-tertiary"]};
73
79
  `, screenMaxS()`
74
80
  padding: 8px;
75
81
  `);
82
+ const SearchLineOnly = styled.div.withConfig({
83
+ displayName: "styled__SearchLineOnly",
84
+ componentId: "sc-dceth5-10"
85
+ })(["display:none;", ""], screenMinL()`
86
+ display: contents;
87
+ `);
88
+ const SearchPanelOnly = styled.div.withConfig({
89
+ displayName: "styled__SearchPanelOnly",
90
+ componentId: "sc-dceth5-11"
91
+ })(["display:contents;", ""], screenMinL()`
92
+ display: none;
93
+ `);
76
94
  export {
77
95
  DesktopOnly,
78
96
  EntryPanelWrapper,
@@ -83,5 +101,7 @@ export {
83
101
  HeaderLeftButtons,
84
102
  HeaderTop,
85
103
  MobileOnly,
104
+ SearchLineOnly,
105
+ SearchPanelOnly,
86
106
  UserPanelWrapper
87
107
  };
package/header/types.d.ts CHANGED
@@ -1,17 +1,18 @@
1
1
  import type { EntryPanelProps } from './molecules/entry-panel';
2
2
  import type { MenuProps } from './molecules/menu';
3
3
  import type { OneClickMenuItem } from './molecules/oneclick-menu';
4
+ import type { SupportButtonProps } from './molecules/support-button';
4
5
  import type { UserPanelProps } from './molecules/user-panel';
5
- import type { ReactNode } from 'react';
6
+ import type { NAVIGATION_SLOT_POINTS, SlotNodes } from '../shared/slots';
6
7
  /**
7
8
  * Слоты `Navigation` — именованные точки расширения разметки. Компонент не знает, откуда
8
- * взялось содержимое: в core это вложенное место федерации (`header:actionsButton`),
9
+ * взялось содержимое: у хоста портала это вложенное место федерации (`header:actionsButton`),
9
10
  * в виджете — то, что передали в `mount({ slots })`.
11
+ *
12
+ * Тип ВЫВЕДЕН из перечня (`shared/slots.ts`): перечень объявляется один раз и данными, потому
13
+ * что потребителю он нужен целиком — см. комментарий там.
10
14
  */
11
- export interface NavigationSlots {
12
- /** Место у правого края шапки — рядом с кнопкой меню (mobile) и в HeaderTop (desktop). */
13
- actionsButton?: ReactNode;
14
- }
15
+ export type NavigationSlots = SlotNodes<typeof NAVIGATION_SLOT_POINTS>;
15
16
  export interface NavigationProps {
16
17
  /** Кобрендинговый логотип вместо обычного — как в подвале. */
17
18
  cobranding?: boolean;
@@ -35,6 +36,8 @@ export interface NavigationProps {
35
36
  showOnboardingButton?: boolean;
36
37
  showOnboardingMobileButton?: boolean;
37
38
  slots?: NavigationSlots;
39
+ /** Кнопка поддержки: в десктопной шапке — вошедшим, в планшетной панели — на месте телефона. */
40
+ supportButton?: SupportButtonProps;
38
41
  userPanel?: UserPanelProps;
39
42
  }
40
43
  //# sourceMappingURL=types.d.ts.map
@@ -1 +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"}
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,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAExE;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAEtE,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,gGAAgG;IAChG,aAAa,CAAC,EAAE,kBAAkB,CAAA;IAClC,SAAS,CAAC,EAAE,cAAc,CAAA;CAC3B"}
package/index.d.ts CHANGED
@@ -2,12 +2,16 @@ export { Footer } from './footer/footer';
2
2
  export { Navigation } from './header/navigation';
3
3
  export { Link } from './shared/link';
4
4
  export { CONTEXT_OF_USE, SELECTOR_IDS } from './shared/constants';
5
+ export { FOOTER_SLOT_POINTS, NAVIGATION_SLOT_POINTS } from './shared/slots';
5
6
  export { theme } from './shared/theme';
6
7
  export { NavigationTheme } from './shared/theme-provider';
7
8
  export { Bonuses } from './header/molecules/bonuses';
8
9
  export { ProfileInfo } from './header/atoms/profile-info';
10
+ export { GradesListItem } from './header/atoms/grades-list-item';
9
11
  export { ProfileMenuItem } from './header/atoms/profile-menu-item';
12
+ export { ProlongationTitle } from './header/atoms/prolongation-title';
10
13
  export { PupilSelectButton } from './header/molecules/pupil-select-button';
14
+ export { SupportButtonDesktop, SupportButtonTablet } from './header/molecules/support-button';
11
15
  export type { FooterMenuItem } from './footer/molecules/footer-menu';
12
16
  export type { City } from './footer/molecules/geoposition';
13
17
  export type { FooterContacts, FooterProps, FooterSlots, FooterSocialLink } from './footer/types';
@@ -18,8 +22,10 @@ export type { Pupil } from './header/molecules/pupil-select-menu';
18
22
  export type { UserPanelProps, UserPanelTopMenuItem } from './header/molecules/user-panel';
19
23
  export type { ProfileMenuItemProps } from './header/atoms/profile-menu-item';
20
24
  export type { EntryPanelProps } from './header/molecules/entry-panel';
25
+ export type { SupportButtonProps, SupportContacts } from './header/molecules/support-button';
21
26
  export type { NavigationProps, NavigationSlots } from './header/types';
22
27
  export type { ContextOfUse } from './shared/constants';
28
+ export type { SlotInventory, SlotNodes, SlotPoint } from './shared/slots';
23
29
  export type { LinkProps } from './shared/link';
24
30
  export type { Theme } from './shared/theme';
25
31
  //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map CHANGED
@@ -1 +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"}
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,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAC3E,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,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAC1E,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAE7F,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,kBAAkB,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AAC5F,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACtE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACzE,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,YAAY,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA"}
package/index.js CHANGED
@@ -2,22 +2,32 @@ import { Footer } from "./footer/footer.js";
2
2
  import { Navigation } from "./header/navigation.js";
3
3
  import { Link } from "./shared/link.js";
4
4
  import { CONTEXT_OF_USE, SELECTOR_IDS } from "./shared/constants.js";
5
+ import { FOOTER_SLOT_POINTS, NAVIGATION_SLOT_POINTS } from "./shared/slots.js";
5
6
  import { theme } from "./shared/theme.js";
6
7
  import { NavigationTheme } from "./shared/theme-provider.js";
7
8
  import { Bonuses } from "./header/molecules/bonuses/index.js";
8
9
  import { ProfileInfo } from "./header/atoms/profile-info/index.js";
10
+ import { GradesListItem } from "./header/atoms/grades-list-item/index.js";
9
11
  import { ProfileMenuItem } from "./header/atoms/profile-menu-item/index.js";
12
+ import { ProlongationTitle } from "./header/atoms/prolongation-title/index.js";
10
13
  import { PupilSelectButton } from "./header/molecules/pupil-select-button/index.js";
14
+ import { SupportButtonDesktop, SupportButtonTablet } from "./header/molecules/support-button/index.js";
11
15
  export {
12
16
  Bonuses,
13
17
  CONTEXT_OF_USE,
18
+ FOOTER_SLOT_POINTS,
14
19
  Footer,
20
+ GradesListItem,
15
21
  Link,
22
+ NAVIGATION_SLOT_POINTS,
16
23
  Navigation,
17
24
  NavigationTheme,
18
25
  ProfileInfo,
19
26
  ProfileMenuItem,
27
+ ProlongationTitle,
20
28
  PupilSelectButton,
21
29
  SELECTOR_IDS,
30
+ SupportButtonDesktop,
31
+ SupportButtonTablet,
22
32
  theme
23
33
  };