@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.
- package/README.mdx +48 -4
- package/footer/contacts-column.d.ts.map +1 -1
- package/footer/contacts-column.js +80 -48
- package/footer/contacts-styled.d.ts +44 -0
- package/footer/contacts-styled.d.ts.map +1 -0
- package/footer/contacts-styled.js +120 -0
- package/footer/footer.d.ts.map +1 -1
- package/footer/footer.js +3 -3
- package/footer/molecules/geoposition/index.js +1 -3
- package/footer/styled.d.ts +0 -22
- package/footer/styled.d.ts.map +1 -1
- package/footer/styled.js +7 -42
- package/footer/types.d.ts +6 -6
- package/footer/types.d.ts.map +1 -1
- package/header/atoms/action-button/assets/elementary/calendar.svg +1 -0
- package/header/atoms/action-button/assets/elementary/catalog.svg +1 -0
- package/header/atoms/action-button/assets/elementary/dashboard.svg +1 -0
- package/header/atoms/action-button/assets/elementary/externship.svg +1 -0
- package/header/atoms/action-button/assets/elementary/main.svg +1 -0
- package/header/atoms/action-button/assets/elementary/room.svg +1 -0
- package/header/atoms/action-button/elementary-icons.d.ts +14 -0
- package/header/atoms/action-button/elementary-icons.d.ts.map +1 -0
- package/header/atoms/action-button/elementary-icons.js +21 -0
- package/header/atoms/action-button/index.d.ts +5 -3
- package/header/atoms/action-button/index.d.ts.map +1 -1
- package/header/atoms/action-button/index.js +23 -4
- package/header/atoms/grades-list-item/index.d.ts +10 -0
- package/header/atoms/grades-list-item/index.d.ts.map +1 -0
- package/header/atoms/grades-list-item/index.js +21 -0
- package/header/atoms/grades-list-item/styled.d.ts +14 -0
- package/header/atoms/grades-list-item/styled.d.ts.map +1 -0
- package/header/atoms/grades-list-item/styled.js +27 -0
- package/header/atoms/profile-menu-item/index.d.ts +3 -1
- package/header/atoms/profile-menu-item/index.d.ts.map +1 -1
- package/header/atoms/profile-menu-item/index.js +2 -0
- package/header/atoms/profile-menu-item/styled.d.ts +4 -2
- package/header/atoms/profile-menu-item/styled.d.ts.map +1 -1
- package/header/atoms/profile-menu-item/styled.js +3 -1
- package/header/atoms/prolongation-title/assets/arrow.svg +1 -0
- package/header/atoms/prolongation-title/assets/lightning.svg +1 -0
- package/header/atoms/prolongation-title/index.d.ts +10 -0
- package/header/atoms/prolongation-title/index.d.ts.map +1 -0
- package/header/atoms/prolongation-title/index.js +44 -0
- package/header/atoms/prolongation-title/styled.d.ts +14 -0
- package/header/atoms/prolongation-title/styled.d.ts.map +1 -0
- package/header/atoms/prolongation-title/styled.js +38 -0
- package/header/header-desktop.d.ts +2 -2
- package/header/header-desktop.d.ts.map +1 -1
- package/header/header-desktop.js +16 -41
- package/header/header-mobile.d.ts +2 -2
- package/header/header-mobile.d.ts.map +1 -1
- package/header/header-mobile.js +3 -18
- package/header/molecules/cart-button/index.js +25 -0
- package/header/molecules/cart-button/styled.d.ts.map +1 -1
- package/header/molecules/cart-button/styled.js +14 -0
- package/header/molecules/container/index.d.ts +5 -1
- package/header/molecules/container/index.d.ts.map +1 -1
- package/header/molecules/container/index.js +5 -3
- package/header/molecules/entry-panel/index.d.ts +4 -1
- package/header/molecules/entry-panel/index.d.ts.map +1 -1
- package/header/molecules/entry-panel/index.js +26 -5
- package/header/molecules/list/index.d.ts.map +1 -1
- package/header/molecules/list/index.js +5 -1
- package/header/molecules/menu/segment-content.d.ts.map +1 -1
- package/header/molecules/menu/segment-content.js +20 -3
- package/header/molecules/menu/types.d.ts +18 -0
- package/header/molecules/menu/types.d.ts.map +1 -1
- package/header/molecules/support-button/index.d.ts +5 -0
- package/header/molecules/support-button/index.d.ts.map +1 -0
- package/header/molecules/support-button/index.js +108 -0
- package/header/molecules/support-button/modal.d.ts +9 -0
- package/header/molecules/support-button/modal.d.ts.map +1 -0
- package/header/molecules/support-button/modal.js +122 -0
- package/header/molecules/support-button/styled.d.ts +31 -0
- package/header/molecules/support-button/styled.d.ts.map +1 -0
- package/header/molecules/support-button/styled.js +43 -0
- package/header/molecules/support-button/theme.d.ts +5 -0
- package/header/molecules/support-button/theme.d.ts.map +1 -0
- package/header/molecules/support-button/theme.js +40 -0
- package/header/molecules/support-button/types.d.ts +20 -0
- package/header/molecules/support-button/types.d.ts.map +1 -0
- package/header/molecules/user-panel/index.d.ts +10 -3
- package/header/molecules/user-panel/index.d.ts.map +1 -1
- package/header/molecules/user-panel/index.js +48 -36
- package/header/molecules/user-panel/styled.d.ts +15 -0
- package/header/molecules/user-panel/styled.d.ts.map +1 -1
- package/header/molecules/user-panel/styled.js +41 -5
- package/header/molecules/user-panel-mobile/index.d.ts +1 -1
- package/header/molecules/user-panel-mobile/index.d.ts.map +1 -1
- package/header/molecules/user-panel-mobile/index.js +11 -3
- package/header/navigation.d.ts.map +1 -1
- package/header/navigation.js +66 -4
- package/header/styled.d.ts +7 -0
- package/header/styled.d.ts.map +1 -1
- package/header/styled.js +24 -4
- package/header/types.d.ts +9 -6
- package/header/types.d.ts.map +1 -1
- package/index.d.ts +6 -0
- package/index.d.ts.map +1 -1
- package/index.js +10 -0
- package/package.json +14 -4
- package/shared/constants.d.ts +8 -0
- package/shared/constants.d.ts.map +1 -1
- package/shared/constants.js +8 -0
- package/shared/slots.d.ts +64 -0
- package/shared/slots.d.ts.map +1 -0
- package/shared/slots.js +53 -0
- package/_virtual/preload-helper.js +0 -57
- package/header/molecules/phone-button/index.js +0 -15
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 33" fill="none"><path stroke="#F16F04" stroke-miterlimit="10" stroke-width="1.173" d="M19.143 1h-5.285v4.17h5.285V1Z"/><path fill="#F90" d="M26.037 30H6.961a.695.695 0 0 1-.696-.696V10.977a8.157 8.157 0 0 1 8.158-8.158h4.156a8.158 8.158 0 0 1 8.154 8.158v18.327a.696.696 0 0 1-.696.696Z"/><path fill="#FFFA7D" d="m14.403 12.105 1.159.037.627.955.837-.781 1.13.23.029-1.14.962-.62-.788-.844.23-1.113-1.143-.046-.62-.958-.844.784-1.132-.223-.023 1.136-.965.624.784.84-.243 1.12Z"/><path fill="#8950E6" d="M6.265 27.747H5.5a3.001 3.001 0 0 1-3-2.997v-9.296a3.004 3.004 0 0 1 3.004-3.004h.765v15.297h-.004ZM26.733 12.454h.765a3.007 3.007 0 0 1 3.004 3.004v9.293a2.997 2.997 0 0 1-3 2.994h-.765v-15.29h-.004Z"/><path fill="#FFFA7D" d="M9.581 19.288h14.165v6.624a1.212 1.212 0 0 1-1.211 1.212H10.789a1.213 1.213 0 0 1-1.205-1.211v-6.625h-.003Z"/><path fill="#F16F04" d="M10.168 17.404h12.984a.594.594 0 0 1 .594.59v1.583H9.581v-1.582c0-.158.062-.305.17-.417a.621.621 0 0 1 .418-.174Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="none"><g clip-path="url(#clip0_17316_17069)"><path fill="#F90" d="M20.179 7.097h3.609V0l-1.805.833L20.18 0v7.097ZM27.646 11.95H5.24V28.26h22.405V11.95Z"/><path fill="#F90" d="M16.443 11.95H4.37l12.073-9.335 12.073 9.335H16.443Z"/><path fill="#8950E6" d="M13.207 16.681v11.577h6.472V16.681h-6.472ZM16.435.53l-1.37 1.773L28.5 12.689l1.37-1.773L16.435.529Z"/><path fill="#8950E6" d="M16.433.53 3 10.913l1.37 1.774L17.803 2.303 16.433.53Z"/><path fill="#fff" d="M26.402 16.681H21.15v7.346h5.252v-7.346ZM11.668 16.681H6.417v7.346h5.251v-7.346Z"/><path stroke="#000" stroke-miterlimit="10" stroke-width=".655" d="M16.258 12.908a2.699 2.699 0 1 0 0-5.398 2.699 2.699 0 0 0 0 5.398ZM3 28.53h26.87"/></g><defs><clipPath id="clip0_17316_17069"><path fill="#fff" d="M3 0h26.87v29H3z"/></clipPath></defs></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M30 12.742C30 5.705 24.295 0 17.258 0 10.22 0 4.515 5.705 4.515 12.742V29H30V12.742z" fill="#8450E1"/><path d="M24.21 20.78a1.654 1.654 0 1 0 0-3.308 1.654 1.654 0 0 0 0 3.309z" fill="#BA9DFF"/><path d="m1 20.081 2.295 2.136-.247 3.065 3.036.588 1.504 2.68 2.804-1.126 2.753 1.402 1.7-2.44 2.97-.269.218-3.036L20.45 21.2l-1.503-2.651 1.111-2.877-2.774-1.43-.574-3.088-3.123.37-2.18-2.374-2.375 2.113-3.174-.762-.806 3.029-3.05 1.01.907 3.072L1 20.082z" fill="#F90"/><path d="M7.682 19.624c-.109.421-.13.864-.065 1.3.05.436.196.85.428 1.227.218.378.509.712.857.974.35.268.741.457 1.163.566.42.124.857.146 1.285.066.429-.051.843-.204 1.213-.429a3.336 3.336 0 0 0 1.533-2.04l-3.196-.843-3.218-.821zM15.868 20.06a1.103 1.103 0 0 1-.828-.916 1.115 1.115 0 0 1 .516-1.133 1.06 1.06 0 0 1 .624-.16 1.113 1.113 0 0 1 .995.734c.073.21.087.436.037.646a1.17 1.17 0 0 1-.182.4 1.248 1.248 0 0 1-.32.298c-.123.08-.261.13-.406.152a1.09 1.09 0 0 1-.436-.022zM6.65 17.786a1.103 1.103 0 0 1-.827-.915 1.115 1.115 0 0 1 .516-1.126 1.06 1.06 0 0 1 .624-.16c.218.007.429.087.603.218.174.13.312.312.385.516a1.157 1.157 0 0 1-.138 1.046 1.037 1.037 0 0 1-.32.298c-.123.08-.261.123-.406.145a.973.973 0 0 1-.436-.022z" fill="#000"/></svg>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { IconName } from '@foxford/ui';
|
|
2
|
+
export declare const ELEMENTARY_ICONS: {
|
|
3
|
+
readonly elementaryCalendar: string;
|
|
4
|
+
readonly elementaryCatalog: string;
|
|
5
|
+
readonly elementaryExternship: string;
|
|
6
|
+
readonly elementaryLessons: string;
|
|
7
|
+
readonly elementaryMain: string;
|
|
8
|
+
readonly elementaryRoom: string;
|
|
9
|
+
};
|
|
10
|
+
export type ElementaryIconName = keyof typeof ELEMENTARY_ICONS;
|
|
11
|
+
/** Что вообще может стоять иконкой в шапке: пиктограмма кита либо иллюстрация началки. */
|
|
12
|
+
export type NavigationIconName = ElementaryIconName | IconName;
|
|
13
|
+
export declare function isElementaryIcon(name: string): name is ElementaryIconName;
|
|
14
|
+
//# sourceMappingURL=elementary-icons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elementary-icons.d.ts","sourceRoot":"","sources":["../../../../src/header/atoms/action-button/elementary-icons.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAO3C,eAAO,MAAM,gBAAgB;;;;;;;CAOnB,CAAA;AAEV,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,gBAAgB,CAAA;AAE9D,0FAA0F;AAC1F,MAAM,MAAM,kBAAkB,GAAG,kBAAkB,GAAG,QAAQ,CAAA;AAE9D,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,kBAAkB,CAEzE"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import calendar from "./assets/elementary/calendar.svg";
|
|
2
|
+
import catalog from "./assets/elementary/catalog.svg";
|
|
3
|
+
import dashboard from "./assets/elementary/dashboard.svg";
|
|
4
|
+
import externship from "./assets/elementary/externship.svg";
|
|
5
|
+
import main from "./assets/elementary/main.svg";
|
|
6
|
+
import room from "./assets/elementary/room.svg";
|
|
7
|
+
const ELEMENTARY_ICONS = {
|
|
8
|
+
elementaryCalendar: calendar,
|
|
9
|
+
elementaryCatalog: catalog,
|
|
10
|
+
elementaryExternship: externship,
|
|
11
|
+
elementaryLessons: dashboard,
|
|
12
|
+
elementaryMain: main,
|
|
13
|
+
elementaryRoom: room
|
|
14
|
+
};
|
|
15
|
+
function isElementaryIcon(name) {
|
|
16
|
+
return name in ELEMENTARY_ICONS;
|
|
17
|
+
}
|
|
18
|
+
export {
|
|
19
|
+
ELEMENTARY_ICONS,
|
|
20
|
+
isElementaryIcon
|
|
21
|
+
};
|
|
@@ -1,16 +1,18 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { NavigationIconName } from './elementary-icons';
|
|
2
2
|
import type { ReactNode } from 'react';
|
|
3
3
|
export interface ActionButtonProps {
|
|
4
4
|
active?: boolean;
|
|
5
5
|
avatar?: ReactNode;
|
|
6
6
|
className?: string;
|
|
7
7
|
hideTextInMobile?: boolean;
|
|
8
|
-
icon?:
|
|
8
|
+
icon?: NavigationIconName;
|
|
9
|
+
/** Размер иконки; у иллюстраций началки он больше пиктограмм кита. */
|
|
10
|
+
iconSize?: number;
|
|
9
11
|
id?: string;
|
|
10
12
|
marker?: boolean;
|
|
11
13
|
onClick?: () => void;
|
|
12
14
|
text?: ReactNode;
|
|
13
15
|
url?: string;
|
|
14
16
|
}
|
|
15
|
-
export declare function ActionButton({ active, avatar, className, hideTextInMobile, icon, id, marker, onClick, text, url, }: ActionButtonProps): import("preact").JSX.Element;
|
|
17
|
+
export declare function ActionButton({ active, avatar, className, hideTextInMobile, icon, iconSize, id, marker, onClick, text, url, }: ActionButtonProps): import("preact").JSX.Element;
|
|
16
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/header/atoms/action-button/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/header/atoms/action-button/index.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,KAAK,EAAwB,SAAS,EAAE,MAAM,OAAO,CAAA;AAE5D,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,CAAC,EAAE,kBAAkB,CAAA;IACzB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAWD,wBAAgB,YAAY,CAAC,EAC3B,MAAc,EACd,MAAM,EACN,SAAS,EACT,gBAAwB,EACxB,IAAI,EACJ,QAAa,EACb,EAAE,EACF,MAAc,EACd,OAAO,EACP,IAAI,EACJ,GAAG,GACJ,EAAE,iBAAiB,gCA+BnB"}
|
|
@@ -1,13 +1,33 @@
|
|
|
1
1
|
import { Icon } from "@foxford/ui";
|
|
2
|
+
import { isElementaryIcon, ELEMENTARY_ICONS } from "./elementary-icons.js";
|
|
2
3
|
import { Inner, Marker, Text } from "./styled.js";
|
|
3
4
|
import { Link } from "../../../shared/link.js";
|
|
4
5
|
import { jsxs, jsx } from "preact/jsx-runtime";
|
|
6
|
+
function ButtonIcon({
|
|
7
|
+
icon,
|
|
8
|
+
size
|
|
9
|
+
}) {
|
|
10
|
+
if (isElementaryIcon(icon)) {
|
|
11
|
+
return jsx("img", {
|
|
12
|
+
alt: "",
|
|
13
|
+
height: size,
|
|
14
|
+
src: ELEMENTARY_ICONS[icon],
|
|
15
|
+
width: size
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return jsx(Icon, {
|
|
19
|
+
name: icon,
|
|
20
|
+
preset: "brand",
|
|
21
|
+
size
|
|
22
|
+
});
|
|
23
|
+
}
|
|
5
24
|
function ActionButton({
|
|
6
25
|
active = false,
|
|
7
26
|
avatar,
|
|
8
27
|
className,
|
|
9
28
|
hideTextInMobile = false,
|
|
10
29
|
icon,
|
|
30
|
+
iconSize = 20,
|
|
11
31
|
id,
|
|
12
32
|
marker = false,
|
|
13
33
|
onClick,
|
|
@@ -20,10 +40,9 @@ function ActionButton({
|
|
|
20
40
|
className,
|
|
21
41
|
children: [(avatar !== void 0 || icon !== void 0) && jsx(Marker, {
|
|
22
42
|
$marker: marker,
|
|
23
|
-
children: avatar != null ? avatar : icon && jsx(
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
size: 20
|
|
43
|
+
children: avatar != null ? avatar : icon && jsx(ButtonIcon, {
|
|
44
|
+
icon,
|
|
45
|
+
size: iconSize
|
|
27
46
|
})
|
|
28
47
|
}), hasText && jsx(Text, {
|
|
29
48
|
$hideTextInMobile: hideTextInMobile,
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface GradeLink {
|
|
2
|
+
title: string;
|
|
3
|
+
url: string;
|
|
4
|
+
}
|
|
5
|
+
export interface GradesListItemProps {
|
|
6
|
+
items: GradeLink[];
|
|
7
|
+
onItemClick?: (item: GradeLink) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare function GradesListItem({ items, onItemClick }: GradesListItemProps): import("preact").JSX.Element;
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/header/atoms/grades-list-item/index.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,SAAS,EAAE,CAAA;IAClB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAA;CACxC;AASD,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,mBAAmB,gCAgBzE"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Root, Column, Title } from "./styled.js";
|
|
2
|
+
import { jsx } from "preact/jsx-runtime";
|
|
3
|
+
const FIRST_COLUMN_SIZE = 6;
|
|
4
|
+
function GradesListItem({
|
|
5
|
+
items,
|
|
6
|
+
onItemClick
|
|
7
|
+
}) {
|
|
8
|
+
const columns = [items.slice(0, FIRST_COLUMN_SIZE), items.slice(FIRST_COLUMN_SIZE)];
|
|
9
|
+
return jsx(Root, {
|
|
10
|
+
children: columns.map((column, columnIndex) => jsx(Column, {
|
|
11
|
+
children: column.map((item) => jsx(Title, {
|
|
12
|
+
href: item.url,
|
|
13
|
+
onClick: () => onItemClick == null ? void 0 : onItemClick(item),
|
|
14
|
+
children: item.title
|
|
15
|
+
}, item.url))
|
|
16
|
+
}, columnIndex))
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
export {
|
|
20
|
+
GradesListItem
|
|
21
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const Root: 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 Column: 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 Title: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("react-dom/src").PropsWithoutRef<import("../../..").LinkProps> & {
|
|
8
|
+
ref?: import("preact").Ref<HTMLAnchorElement> | undefined;
|
|
9
|
+
}, "style"> & {
|
|
10
|
+
style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
|
|
11
|
+
}> & string & Omit<import("preact").FunctionalComponent<import("react-dom/src").PropsWithoutRef<import("../../..").LinkProps> & {
|
|
12
|
+
ref?: import("preact").Ref<HTMLAnchorElement> | undefined;
|
|
13
|
+
}>, keyof import("preact").Component<any, {}>>;
|
|
14
|
+
//# sourceMappingURL=styled.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../../../src/header/atoms/grades-list-item/styled.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,IAAI;;WAOhB,CAAA;AAED,eAAO,MAAM,MAAM;;WAIlB,CAAA;AAED,eAAO,MAAM,KAAK;;;;;;8CAiBjB,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { styled, css } from "styled-components";
|
|
2
|
+
import { Link } from "../../../shared/link.js";
|
|
3
|
+
const Root = styled.div.withConfig({
|
|
4
|
+
displayName: "styled__Root",
|
|
5
|
+
componentId: "sc-145kbei-0"
|
|
6
|
+
})(["display:flex;margin-bottom:12px;> *:not(:first-child){margin-left:27px;}"]);
|
|
7
|
+
const Column = styled.div.withConfig({
|
|
8
|
+
displayName: "styled__Column",
|
|
9
|
+
componentId: "sc-145kbei-1"
|
|
10
|
+
})(["display:flex;max-width:50%;flex-direction:column;"]);
|
|
11
|
+
const Title = styled(Link).withConfig({
|
|
12
|
+
displayName: "styled__Title",
|
|
13
|
+
componentId: "sc-145kbei-2"
|
|
14
|
+
})(["display:inline-block;font-size:18px;line-height:1.5;cursor:pointer;&:not(:last-child){margin-bottom:8px;}", ""], ({
|
|
15
|
+
theme
|
|
16
|
+
}) => css`
|
|
17
|
+
color: ${theme.colors.mineShaft};
|
|
18
|
+
|
|
19
|
+
&:hover {
|
|
20
|
+
color: ${theme.colors.accent};
|
|
21
|
+
}
|
|
22
|
+
`);
|
|
23
|
+
export {
|
|
24
|
+
Column,
|
|
25
|
+
Root,
|
|
26
|
+
Title
|
|
27
|
+
};
|
|
@@ -5,9 +5,11 @@ export interface ProfileMenuItemProps {
|
|
|
5
5
|
icon?: IconName;
|
|
6
6
|
id: string;
|
|
7
7
|
isMarkerVisible?: boolean;
|
|
8
|
+
/** Отбивка ПЕРЕД пунктом — та же конвенция, что у пунктов подвала (`FooterMenuItem`). */
|
|
9
|
+
isSpacer?: boolean;
|
|
8
10
|
onClick?: () => void;
|
|
9
11
|
title: ReactNode;
|
|
10
12
|
url?: string;
|
|
11
13
|
}
|
|
12
|
-
export declare function ProfileMenuItem({ additionalInfo, icon, id, isMarkerVisible, onClick, title, url, }: ProfileMenuItemProps): import("preact").JSX.Element;
|
|
14
|
+
export declare function ProfileMenuItem({ additionalInfo, icon, id, isMarkerVisible, isSpacer, onClick, title, url, }: ProfileMenuItemProps): import("preact").JSX.Element;
|
|
13
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/header/atoms/profile-menu-item/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,EAAwB,SAAS,EAAE,MAAM,OAAO,CAAA;AAE5D,MAAM,WAAW,oBAAoB;IACnC,cAAc,CAAC,EAAE,SAAS,CAAA;IAC1B,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,EAAE,EAAE,MAAM,CAAA;IACV,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,KAAK,EAAE,SAAS,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,wBAAgB,eAAe,CAAC,EAC9B,cAAc,EACd,IAAI,EACJ,EAAE,EACF,eAAe,EACf,OAAO,EACP,KAAK,EACL,GAAG,GACJ,EAAE,oBAAoB,gCAkCtB"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/header/atoms/profile-menu-item/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,EAAwB,SAAS,EAAE,MAAM,OAAO,CAAA;AAE5D,MAAM,WAAW,oBAAoB;IACnC,cAAc,CAAC,EAAE,SAAS,CAAA;IAC1B,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,EAAE,EAAE,MAAM,CAAA;IACV,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,yFAAyF;IACzF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,KAAK,EAAE,SAAS,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,wBAAgB,eAAe,CAAC,EAC9B,cAAc,EACd,IAAI,EACJ,EAAE,EACF,eAAe,EACf,QAAQ,EACR,OAAO,EACP,KAAK,EACL,GAAG,GACJ,EAAE,oBAAoB,gCAkCtB"}
|
|
@@ -7,11 +7,13 @@ function ProfileMenuItem({
|
|
|
7
7
|
icon,
|
|
8
8
|
id,
|
|
9
9
|
isMarkerVisible,
|
|
10
|
+
isSpacer,
|
|
10
11
|
onClick,
|
|
11
12
|
title,
|
|
12
13
|
url
|
|
13
14
|
}) {
|
|
14
15
|
const inner = jsxs(Inner, {
|
|
16
|
+
$isSpacer: isSpacer,
|
|
15
17
|
children: [icon && jsx(Marker, {
|
|
16
18
|
$isMarkerVisible: isMarkerVisible,
|
|
17
19
|
children: jsx(Icon, {
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
export declare const Inner: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("preact").JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
|
|
1
|
+
export declare const Inner: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<import("preact").JSX.HTMLAttributes<HTMLDivElement>, "style"> & {
|
|
2
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
|
-
}
|
|
3
|
+
}, {
|
|
4
|
+
$isSpacer?: boolean;
|
|
5
|
+
}>> & string;
|
|
4
6
|
export declare const Title: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("preact").JSX.HTMLAttributes<HTMLSpanElement>, "style"> & {
|
|
5
7
|
style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
|
|
6
8
|
}> & string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../../../src/header/atoms/profile-menu-item/styled.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK
|
|
1
|
+
{"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../../../src/header/atoms/profile-menu-item/styled.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK;;;gBAA4B,OAAO;YAkBpD,CAAA;AAED,eAAO,MAAM,KAAK;;WAIjB,CAAA;AAED,eAAO,MAAM,IAAI;;WAEhB,CAAA;AAED,eAAO,MAAM,MAAM;;;uBAAmC,OAAO;YAmB5D,CAAA"}
|
|
@@ -2,7 +2,9 @@ import { styled, css } from "styled-components";
|
|
|
2
2
|
const Inner = styled.div.withConfig({
|
|
3
3
|
displayName: "styled__Inner",
|
|
4
4
|
componentId: "sc-1qc5rww-0"
|
|
5
|
-
})(["display:flex;align-items:center;padding-top:6px;padding-bottom:6px;transition:color 0.3s;cursor:pointer;", ""], ({
|
|
5
|
+
})(["display:flex;align-items:center;padding-top:6px;padding-bottom:6px;transition:color 0.3s;cursor:pointer;", " ", ""], ({
|
|
6
|
+
$isSpacer
|
|
7
|
+
}) => $isSpacer === true && "margin-top: 24px;", ({
|
|
6
8
|
theme
|
|
7
9
|
}) => css`
|
|
8
10
|
color: ${theme.colors.mineShaft};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="21" fill="currentColor"><path fill="currentColor" d="M12.1 10.5 5.8 4.2l1.4-1.4 7.7 7.7-7.7 7.7-1.4-1.4 6.3-6.3Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none"><path fill="#fff" d="M1.875 6.664c-.24.496.12 1.103.78 1.103h2.042v3.474c0 .772 1.14 1.048 1.56.386l3.844-6.563c.3-.496-.12-1.103-.72-1.103H6.737V.763c0-.827-1.2-1.048-1.561-.331L1.875 6.664Z"/></svg>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface ProlongationTitleProps {
|
|
2
|
+
/** Скидка за продление, в процентах. */
|
|
3
|
+
discount: number;
|
|
4
|
+
onClick?: () => void;
|
|
5
|
+
url: string;
|
|
6
|
+
/** Учебный год, на который продлевают, — «26/27». */
|
|
7
|
+
yearName: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function ProlongationTitle({ discount, onClick, url, yearName }: ProlongationTitleProps): import("preact").JSX.Element;
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/header/atoms/prolongation-title/index.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,sBAAsB;IACrC,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAA;CACjB;AAID,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,sBAAsB,gCAmB7F"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Text } from "@foxford/ui";
|
|
2
|
+
import arrow from "./assets/arrow.svg";
|
|
3
|
+
import lightning from "./assets/lightning.svg";
|
|
4
|
+
import { Discount, Link, Arrow } from "./styled.js";
|
|
5
|
+
import { jsxs, jsx } from "preact/jsx-runtime";
|
|
6
|
+
function ProlongationTitle({
|
|
7
|
+
discount,
|
|
8
|
+
onClick,
|
|
9
|
+
url,
|
|
10
|
+
yearName
|
|
11
|
+
}) {
|
|
12
|
+
const discountBadge = jsxs(Discount, {
|
|
13
|
+
children: [jsx("img", {
|
|
14
|
+
alt: "",
|
|
15
|
+
height: 12,
|
|
16
|
+
src: lightning,
|
|
17
|
+
width: 12
|
|
18
|
+
}), jsxs(Text, {
|
|
19
|
+
as: "span",
|
|
20
|
+
color: "white",
|
|
21
|
+
size: "s",
|
|
22
|
+
weight: "bold",
|
|
23
|
+
children: ["-", discount, "%"]
|
|
24
|
+
})]
|
|
25
|
+
});
|
|
26
|
+
return jsxs(Link, {
|
|
27
|
+
href: url,
|
|
28
|
+
onClick,
|
|
29
|
+
children: [discountBadge, jsxs(Text, {
|
|
30
|
+
as: "span",
|
|
31
|
+
lineHeight: 1,
|
|
32
|
+
size: "l",
|
|
33
|
+
children: ["Продлить обучение на ", yearName, " год"]
|
|
34
|
+
}), jsx(Arrow, {
|
|
35
|
+
alt: "",
|
|
36
|
+
height: 20,
|
|
37
|
+
src: arrow,
|
|
38
|
+
width: 20
|
|
39
|
+
})]
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
export {
|
|
43
|
+
ProlongationTitle
|
|
44
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const Link: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("react-dom/src").PropsWithoutRef<import("../../..").LinkProps> & {
|
|
2
|
+
ref?: import("preact").Ref<HTMLAnchorElement> | undefined;
|
|
3
|
+
}, "style"> & {
|
|
4
|
+
style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
|
|
5
|
+
}> & string & Omit<import("preact").FunctionalComponent<import("react-dom/src").PropsWithoutRef<import("../../..").LinkProps> & {
|
|
6
|
+
ref?: import("preact").Ref<HTMLAnchorElement> | undefined;
|
|
7
|
+
}>, keyof import("preact").Component<any, {}>>;
|
|
8
|
+
export declare const Discount: import("styled-components/dist/types").IStyledComponentBase<"web", 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
|
+
}> & string;
|
|
11
|
+
export declare const Arrow: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("preact").JSX.ImgHTMLAttributes<HTMLImageElement>, "style"> & {
|
|
12
|
+
style?: string | import("styled-components/dist/types").CSSPropertiesWithVars | import("preact").JSX.CSSProperties | import("preact").JSX.SignalLike<string | import("preact").JSX.CSSProperties | undefined> | undefined;
|
|
13
|
+
}> & string;
|
|
14
|
+
//# sourceMappingURL=styled.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../../../src/header/atoms/prolongation-title/styled.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,IAAI;;;;;;8CAqBhB,CAAA;AAED,eAAO,MAAM,QAAQ;;WASpB,CAAA;AAGD,eAAO,MAAM,KAAK;;WAMjB,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { styled, css } from "styled-components";
|
|
2
|
+
import { screenMinS } from "@foxford/ui";
|
|
3
|
+
import { Link as Link$1 } from "../../../shared/link.js";
|
|
4
|
+
const Link = styled(Link$1).withConfig({
|
|
5
|
+
displayName: "styled__Link",
|
|
6
|
+
componentId: "sc-n7u9q0-0"
|
|
7
|
+
})(["width:161px;&:hover > div:first-child{background:", ";}&:hover > div:not(div:first-child),&:hover > span{color:", ";}", ""], ({
|
|
8
|
+
theme
|
|
9
|
+
}) => theme.colors.accent, ({
|
|
10
|
+
theme
|
|
11
|
+
}) => theme.colors.accent, screenMinS()`
|
|
12
|
+
display: flex;
|
|
13
|
+
width: auto;
|
|
14
|
+
align-items: center;
|
|
15
|
+
|
|
16
|
+
> *:not(:first-child) {
|
|
17
|
+
margin-left: 8px;
|
|
18
|
+
}
|
|
19
|
+
`);
|
|
20
|
+
const Discount = styled.div.withConfig({
|
|
21
|
+
displayName: "styled__Discount",
|
|
22
|
+
componentId: "sc-n7u9q0-1"
|
|
23
|
+
})(["display:inline-flex;align-items:center;padding:0 4px;border-radius:27px;", ""], ({
|
|
24
|
+
theme
|
|
25
|
+
}) => css`
|
|
26
|
+
background: ${theme.colors.primary};
|
|
27
|
+
`);
|
|
28
|
+
const Arrow = styled.img.withConfig({
|
|
29
|
+
displayName: "styled__Arrow",
|
|
30
|
+
componentId: "sc-n7u9q0-2"
|
|
31
|
+
})(["display:none;", ""], screenMinS()`
|
|
32
|
+
display: block;
|
|
33
|
+
`);
|
|
34
|
+
export {
|
|
35
|
+
Arrow,
|
|
36
|
+
Discount,
|
|
37
|
+
Link
|
|
38
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { NavigationProps } from './types';
|
|
2
|
-
type HeaderDesktopProps = Pick<NavigationProps, '
|
|
3
|
-
export declare function HeaderDesktop({
|
|
2
|
+
type HeaderDesktopProps = Pick<NavigationProps, 'entryPanel' | 'externatFreeAccessLink' | 'isLoggedIn' | 'onExternatCallbackClick' | 'onExternatFreeAccessClick' | 'onOnboardingClick' | 'showExternatButtons' | 'showOnboardingButton' | 'supportButton' | 'userPanel'>;
|
|
3
|
+
export declare function HeaderDesktop({ entryPanel, externatFreeAccessLink, isLoggedIn, onExternatCallbackClick, onExternatFreeAccessClick, onOnboardingClick, showExternatButtons, showOnboardingButton, supportButton, userPanel, }: HeaderDesktopProps): import("preact").JSX.Element;
|
|
4
4
|
export {};
|
|
5
5
|
//# sourceMappingURL=header-desktop.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-desktop.d.ts","sourceRoot":"","sources":["../../src/header/header-desktop.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"header-desktop.d.ts","sourceRoot":"","sources":["../../src/header/header-desktop.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,KAAK,kBAAkB,GAAG,IAAI,CAC5B,eAAe,EACb,YAAY,GACZ,wBAAwB,GACxB,YAAY,GACZ,yBAAyB,GACzB,2BAA2B,GAC3B,mBAAmB,GACnB,qBAAqB,GACrB,sBAAsB,GACtB,eAAe,GACf,WAAW,CACd,CAAA;AAGD,wBAAgB,aAAa,CAAC,EAC5B,UAAU,EACV,sBAAsB,EACtB,UAAU,EACV,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,SAAS,GACV,EAAE,kBAAkB,gCAwBpB"}
|
package/header/header-desktop.js
CHANGED
|
@@ -16,62 +16,37 @@ var __spreadValues = (a, b) => {
|
|
|
16
16
|
};
|
|
17
17
|
import { EntryPanel } from "./molecules/entry-panel/index.js";
|
|
18
18
|
import { ExternatButtons } from "./molecules/externat-buttons/index.js";
|
|
19
|
-
import { HeaderLogo } from "./molecules/header-logo/index.js";
|
|
20
|
-
import { MenuButton } from "./molecules/menu-button/index.js";
|
|
21
19
|
import { OnboardingButton } from "./molecules/onboarding-button/index.js";
|
|
22
|
-
import {
|
|
20
|
+
import { SupportButtonDesktop } from "./molecules/support-button/index.js";
|
|
23
21
|
import { UserPanel } from "./molecules/user-panel/index.js";
|
|
24
|
-
import { DesktopOnly,
|
|
25
|
-
import { SELECTOR_IDS } from "../shared/constants.js";
|
|
22
|
+
import { DesktopOnly, UserPanelWrapper, ExtraButtonsDesktopWrapper } from "./styled.js";
|
|
26
23
|
import { jsxs, jsx } from "preact/jsx-runtime";
|
|
27
24
|
function HeaderDesktop({
|
|
28
|
-
cobranding,
|
|
29
25
|
entryPanel,
|
|
30
26
|
externatFreeAccessLink,
|
|
31
|
-
hasOneClickMenu,
|
|
32
27
|
isLoggedIn,
|
|
33
|
-
menuOpen,
|
|
34
|
-
oneClickMenuItems = [],
|
|
35
28
|
onExternatCallbackClick,
|
|
36
29
|
onExternatFreeAccessClick,
|
|
37
|
-
onMenuToggle,
|
|
38
30
|
onOnboardingClick,
|
|
39
|
-
onSegmentItemClick,
|
|
40
|
-
origin,
|
|
41
|
-
selectedOneClickMenuItemId,
|
|
42
31
|
showExternatButtons,
|
|
43
32
|
showOnboardingButton,
|
|
44
|
-
|
|
33
|
+
supportButton,
|
|
45
34
|
userPanel
|
|
46
35
|
}) {
|
|
47
36
|
return jsxs(DesktopOnly, {
|
|
48
|
-
children: [jsxs(
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
onFreeAccessClick: onExternatFreeAccessClick
|
|
62
|
-
})
|
|
63
|
-
}), showOnboardingButton && jsx(ExtraButtonsDesktopWrapper, {
|
|
64
|
-
children: jsx(OnboardingButton, {
|
|
65
|
-
onClick: onOnboardingClick
|
|
66
|
-
})
|
|
67
|
-
}), isLoggedIn && userPanel && jsx(UserPanel, __spreadValues({}, userPanel)), jsx(EntryPanel, __spreadValues({}, entryPanel))]
|
|
68
|
-
})]
|
|
69
|
-
}), hasOneClickMenu && jsx(OneClickMenu, {
|
|
70
|
-
isMenuOpen: menuOpen,
|
|
71
|
-
items: oneClickMenuItems,
|
|
72
|
-
onItemClick: onSegmentItemClick,
|
|
73
|
-
selectedItemId: selectedOneClickMenuItemId
|
|
74
|
-
})]
|
|
37
|
+
children: [jsxs(UserPanelWrapper, {
|
|
38
|
+
children: [showExternatButtons && jsx(ExtraButtonsDesktopWrapper, {
|
|
39
|
+
children: jsx(ExternatButtons, {
|
|
40
|
+
freeAccessLink: externatFreeAccessLink,
|
|
41
|
+
onCallbackClick: onExternatCallbackClick,
|
|
42
|
+
onFreeAccessClick: onExternatFreeAccessClick
|
|
43
|
+
})
|
|
44
|
+
}), showOnboardingButton && jsx(ExtraButtonsDesktopWrapper, {
|
|
45
|
+
children: jsx(OnboardingButton, {
|
|
46
|
+
onClick: onOnboardingClick
|
|
47
|
+
})
|
|
48
|
+
}), isLoggedIn && userPanel && jsx(UserPanel, __spreadValues({}, userPanel)), jsx(EntryPanel, __spreadValues({}, entryPanel))]
|
|
49
|
+
}), isLoggedIn && supportButton && jsx(SupportButtonDesktop, __spreadValues({}, supportButton))]
|
|
75
50
|
});
|
|
76
51
|
}
|
|
77
52
|
export {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { NavigationProps } from './types';
|
|
2
|
-
type HeaderMobileProps = Pick<NavigationProps, '
|
|
3
|
-
export declare function HeaderMobile({
|
|
2
|
+
type HeaderMobileProps = Pick<NavigationProps, 'entryPanel' | 'externatFreeAccessLink' | 'onExternatCallbackClick' | 'onExternatFreeAccessClick' | 'onOnboardingClick' | 'showExternatButtons' | 'showOnboardingMobileButton'>;
|
|
3
|
+
export declare function HeaderMobile({ entryPanel, externatFreeAccessLink, onExternatCallbackClick, onExternatFreeAccessClick, onOnboardingClick, showExternatButtons, showOnboardingMobileButton, }: HeaderMobileProps): import("preact").JSX.Element;
|
|
4
4
|
export {};
|
|
5
5
|
//# sourceMappingURL=header-mobile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-mobile.d.ts","sourceRoot":"","sources":["../../src/header/header-mobile.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"header-mobile.d.ts","sourceRoot":"","sources":["../../src/header/header-mobile.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,KAAK,iBAAiB,GAAG,IAAI,CAC3B,eAAe,EACb,YAAY,GACZ,wBAAwB,GACxB,yBAAyB,GACzB,2BAA2B,GAC3B,mBAAmB,GACnB,qBAAqB,GACrB,4BAA4B,CAC/B,CAAA;AAKD,wBAAgB,YAAY,CAAC,EAC3B,UAAU,EACV,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACnB,0BAA0B,GAC3B,EAAE,iBAAiB,gCAuBnB"}
|
package/header/header-mobile.js
CHANGED
|
@@ -16,35 +16,20 @@ var __spreadValues = (a, b) => {
|
|
|
16
16
|
};
|
|
17
17
|
import { EntryPanel } from "./molecules/entry-panel/index.js";
|
|
18
18
|
import { ExternatButtons } from "./molecules/externat-buttons/index.js";
|
|
19
|
-
import { HeaderLogo } from "./molecules/header-logo/index.js";
|
|
20
|
-
import { MenuButton } from "./molecules/menu-button/index.js";
|
|
21
19
|
import { OnboardingButton } from "./molecules/onboarding-button/index.js";
|
|
22
|
-
import { MobileOnly,
|
|
20
|
+
import { MobileOnly, EntryPanelWrapper, ExtraButtonsMobileWrapper } from "./styled.js";
|
|
23
21
|
import { jsxs, jsx } from "preact/jsx-runtime";
|
|
24
22
|
function HeaderMobile({
|
|
25
|
-
cobranding,
|
|
26
23
|
entryPanel,
|
|
27
24
|
externatFreeAccessLink,
|
|
28
|
-
menuOpen,
|
|
29
25
|
onExternatCallbackClick,
|
|
30
26
|
onExternatFreeAccessClick,
|
|
31
|
-
onMenuToggle,
|
|
32
27
|
onOnboardingClick,
|
|
33
|
-
origin,
|
|
34
28
|
showExternatButtons,
|
|
35
|
-
showOnboardingMobileButton
|
|
36
|
-
slots
|
|
29
|
+
showOnboardingMobileButton
|
|
37
30
|
}) {
|
|
38
31
|
return jsxs(MobileOnly, {
|
|
39
|
-
children: [
|
|
40
|
-
children: [jsx(MenuButton, {
|
|
41
|
-
active: menuOpen,
|
|
42
|
-
onClick: onMenuToggle
|
|
43
|
-
}), slots == null ? void 0 : slots.actionsButton]
|
|
44
|
-
}), jsx(HeaderLogo, {
|
|
45
|
-
cobranding,
|
|
46
|
-
origin
|
|
47
|
-
}), jsx(EntryPanelWrapper, {
|
|
32
|
+
children: [jsx(EntryPanelWrapper, {
|
|
48
33
|
children: jsx(EntryPanel, __spreadValues({}, entryPanel))
|
|
49
34
|
}), showOnboardingMobileButton && jsx(ExtraButtonsMobileWrapper, {
|
|
50
35
|
children: jsx(OnboardingButton, {
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Cart } from "./styled.js";
|
|
2
|
+
import { SELECTOR_IDS } from "../../../shared/constants.js";
|
|
3
|
+
import { jsx } from "preact/jsx-runtime";
|
|
4
|
+
function CartButton({
|
|
5
|
+
active = false,
|
|
6
|
+
cartItemsCount = 0,
|
|
7
|
+
filled = false,
|
|
8
|
+
onClick,
|
|
9
|
+
showText = false
|
|
10
|
+
}) {
|
|
11
|
+
return jsx(Cart, {
|
|
12
|
+
active,
|
|
13
|
+
$filled: filled,
|
|
14
|
+
hideTextInMobile: true,
|
|
15
|
+
icon: "cart",
|
|
16
|
+
id: SELECTOR_IDS.TOP_MENU_CART,
|
|
17
|
+
marker: cartItemsCount > 0,
|
|
18
|
+
onClick,
|
|
19
|
+
text: showText ? "Корзина" : void 0,
|
|
20
|
+
url: "/checkout"
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
export {
|
|
24
|
+
CartButton
|
|
25
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/cart-button/styled.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/cart-button/styled.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAK1C,eAAO,MAAM,IAAI,EAAE,aAAa,CAAC,iBAAiB,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAiBzE,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { styled, css } from "styled-components";
|
|
2
|
+
import { ActionButton } from "../../atoms/action-button/index.js";
|
|
3
|
+
const Cart = styled(ActionButton).withConfig({
|
|
4
|
+
displayName: "styled__Cart",
|
|
5
|
+
componentId: "sc-1xs4dfu-0"
|
|
6
|
+
})(["&&{display:flex;height:40px;min-width:40px;align-items:center;justify-content:center;border-radius:50%;", "}"], ({
|
|
7
|
+
$filled,
|
|
8
|
+
theme
|
|
9
|
+
}) => $filled && css`
|
|
10
|
+
background: ${theme.colors["bg-onmain-main"]};
|
|
11
|
+
`);
|
|
12
|
+
export {
|
|
13
|
+
Cart
|
|
14
|
+
};
|