@foxford/navigation-ui 1.0.1 → 1.1.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.
- package/README.mdx +58 -0
- package/footer/atoms/logo-sk/index.js +1 -1
- package/footer/atoms/social-link/index.d.ts +3 -1
- package/footer/atoms/social-link/index.d.ts.map +1 -1
- package/footer/atoms/social-link/index.js +9 -0
- package/footer/contacts-column.d.ts.map +1 -1
- package/footer/contacts-column.js +10 -1
- package/footer/footer.d.ts.map +1 -1
- package/footer/footer.js +15 -6
- package/footer/molecules/footer-menu/index.d.ts +3 -1
- package/footer/molecules/footer-menu/index.d.ts.map +1 -1
- package/footer/molecules/footer-menu/index.js +3 -0
- package/footer/molecules/geoposition/index.js +1 -0
- package/footer/types.d.ts +16 -0
- package/footer/types.d.ts.map +1 -1
- package/header/atoms/action-button/index.d.ts +8 -1
- package/header/atoms/action-button/index.d.ts.map +1 -1
- package/header/atoms/action-button/index.js +65 -16
- package/header/atoms/back-button/index.d.ts.map +1 -1
- package/header/atoms/back-button/index.js +24 -3
- package/header/atoms/bonus-button/index.d.ts.map +1 -1
- package/header/atoms/bonus-button/index.js +1 -0
- package/header/atoms/close-button/index.d.ts.map +1 -1
- package/header/atoms/close-button/index.js +1 -0
- package/header/atoms/list-title/index.d.ts.map +1 -1
- package/header/atoms/list-title/index.js +2 -0
- package/header/atoms/logout-button/index.d.ts.map +1 -1
- package/header/atoms/logout-button/index.js +1 -0
- package/header/atoms/user-profile/index.d.ts.map +1 -1
- package/header/atoms/user-profile/index.js +54 -29
- package/header/molecules/cart-button/index.d.ts +2 -0
- package/header/molecules/cart-button/index.d.ts.map +1 -1
- package/header/molecules/cart-button/index.js +6 -1
- package/header/molecules/container/index.d.ts +3 -1
- package/header/molecules/container/index.d.ts.map +1 -1
- package/header/molecules/container/index.js +2 -0
- package/header/molecules/externat-buttons/index.d.ts.map +1 -1
- package/header/molecules/externat-buttons/index.js +28 -6
- package/header/molecules/menu/index.d.ts.map +1 -1
- package/header/molecules/menu/index.js +84 -64
- package/header/molecules/menu-button/index.d.ts.map +1 -1
- package/header/molecules/menu-button/index.js +3 -0
- package/header/molecules/oneclick-menu/index.js +3 -0
- package/header/molecules/profile-menu/index.d.ts.map +1 -1
- package/header/molecules/profile-menu/index.js +28 -21
- package/header/molecules/segment-list/index.d.ts.map +1 -1
- package/header/molecules/segment-list/index.js +26 -3
- package/header/molecules/support-button/index.d.ts.map +1 -1
- package/header/molecules/support-button/index.js +5 -0
- package/header/molecules/support-button/modal.js +1 -1
- package/header/molecules/support-button/modal.styled.d.ts +12 -0
- package/header/molecules/support-button/modal.styled.d.ts.map +1 -0
- package/header/molecules/support-button/modal.styled.js +23 -0
- package/header/molecules/support-button/styled.d.ts +0 -11
- package/header/molecules/support-button/styled.d.ts.map +1 -1
- package/header/molecules/support-button/styled.js +1 -20
- package/header/molecules/user-panel/index.d.ts.map +1 -1
- package/header/molecules/user-panel/index.js +3 -1
- package/header/navigation.d.ts.map +1 -1
- package/header/navigation.js +2 -0
- package/header/types.d.ts +6 -0
- package/header/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/shared/a11y.d.ts +39 -0
- package/shared/a11y.d.ts.map +1 -0
- package/shared/a11y.js +96 -0
- package/shared/constants.d.ts +2 -0
- package/shared/constants.d.ts.map +1 -1
- package/shared/constants.js +2 -0
- package/shared/json-ld.d.ts +6 -0
- package/shared/json-ld.d.ts.map +1 -0
- package/shared/json-ld.js +18 -0
- package/shared/theme.d.ts.map +1 -1
|
@@ -1,5 +1,25 @@
|
|
|
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));
|
|
1
20
|
import { Text } from "@foxford/ui";
|
|
2
21
|
import { Root, Avatar, Content, Name, UserName, Chevron } from "./styled.js";
|
|
22
|
+
import { buttonProps } from "../../../shared/a11y.js";
|
|
3
23
|
import { SELECTOR_IDS } from "../../../shared/constants.js";
|
|
4
24
|
import { jsxs, jsx } from "preact/jsx-runtime";
|
|
5
25
|
function UserProfile({
|
|
@@ -9,37 +29,42 @@ function UserProfile({
|
|
|
9
29
|
onClick,
|
|
10
30
|
role
|
|
11
31
|
}) {
|
|
12
|
-
return
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
return (
|
|
33
|
+
// Кнопка раскрытия меню профиля: без роли и `tabIndex` до неё не дойти с клавиатуры.
|
|
34
|
+
jsxs(Root, __spreadProps(__spreadValues({
|
|
35
|
+
"aria-expanded": active,
|
|
36
|
+
id: SELECTOR_IDS.TOP_MENU_PROFILE,
|
|
37
|
+
onClick
|
|
38
|
+
}, buttonProps(onClick)), {
|
|
39
|
+
children: [jsx(Avatar, {
|
|
40
|
+
preset: "brand",
|
|
41
|
+
size: "l",
|
|
42
|
+
src: avatarUrl,
|
|
43
|
+
text: name
|
|
44
|
+
}), jsxs(Content, {
|
|
45
|
+
children: [jsxs(Name, {
|
|
46
|
+
children: [jsx(UserName, {
|
|
47
|
+
lineHeight: "s",
|
|
48
|
+
size: 14,
|
|
49
|
+
weight: "bold",
|
|
50
|
+
whiteSpace: "nowrap",
|
|
51
|
+
children: name
|
|
52
|
+
}), jsx(Text, {
|
|
53
|
+
color: "content-onmain-secondary",
|
|
54
|
+
lineHeight: "s",
|
|
55
|
+
size: 12,
|
|
56
|
+
whiteSpace: "nowrap",
|
|
57
|
+
children: role
|
|
58
|
+
})]
|
|
59
|
+
}), jsx(Chevron, {
|
|
60
|
+
marginLeft: 8,
|
|
61
|
+
name: "chevronUp",
|
|
62
|
+
rotate: active ? "0deg" : "-180deg",
|
|
63
|
+
size: 12
|
|
34
64
|
})]
|
|
35
|
-
}), jsx(Chevron, {
|
|
36
|
-
marginLeft: 8,
|
|
37
|
-
name: "chevronUp",
|
|
38
|
-
rotate: active ? "0deg" : "-180deg",
|
|
39
|
-
size: 12
|
|
40
65
|
})]
|
|
41
|
-
})
|
|
42
|
-
|
|
66
|
+
}))
|
|
67
|
+
);
|
|
43
68
|
}
|
|
44
69
|
export {
|
|
45
70
|
UserProfile
|
|
@@ -5,5 +5,7 @@ export interface CartButtonProps {
|
|
|
5
5
|
onClick?: () => void;
|
|
6
6
|
showText?: boolean;
|
|
7
7
|
}
|
|
8
|
+
/** Имя корзины для скринридера: точка-маркер на ней значит «есть товары», а не «новое». */
|
|
9
|
+
export declare function cartLabel(title: string, count: number): string;
|
|
8
10
|
export declare function CartButton({ active, cartItemsCount, filled, onClick, showText, }: CartButtonProps): import("preact").JSX.Element;
|
|
9
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/cart-button/index.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAgB,UAAU,CAAC,EACzB,MAAc,EACd,cAAkB,EAClB,MAAc,EACd,OAAO,EACP,QAAgB,GACjB,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/cart-button/index.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,2FAA2F;AAC3F,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,UAAU,CAAC,EACzB,MAAc,EACd,cAAkB,EAClB,MAAc,EACd,OAAO,EACP,QAAgB,GACjB,EAAE,eAAe,gCAejB"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { Cart } from "./styled.js";
|
|
2
2
|
import { SELECTOR_IDS } from "../../../shared/constants.js";
|
|
3
3
|
import { jsx } from "preact/jsx-runtime";
|
|
4
|
+
function cartLabel(title, count) {
|
|
5
|
+
return count > 0 ? `${title}, товаров: ${String(count)}` : title;
|
|
6
|
+
}
|
|
4
7
|
function CartButton({
|
|
5
8
|
active = false,
|
|
6
9
|
cartItemsCount = 0,
|
|
@@ -11,6 +14,7 @@ function CartButton({
|
|
|
11
14
|
return jsx(Cart, {
|
|
12
15
|
active,
|
|
13
16
|
$filled: filled,
|
|
17
|
+
"aria-label": cartLabel("Корзина", cartItemsCount),
|
|
14
18
|
hideTextInMobile: true,
|
|
15
19
|
icon: "cart",
|
|
16
20
|
id: SELECTOR_IDS.TOP_MENU_CART,
|
|
@@ -21,5 +25,6 @@ function CartButton({
|
|
|
21
25
|
});
|
|
22
26
|
}
|
|
23
27
|
export {
|
|
24
|
-
CartButton
|
|
28
|
+
CartButton,
|
|
29
|
+
cartLabel
|
|
25
30
|
};
|
|
@@ -7,9 +7,11 @@ export interface NavigationContainerProps {
|
|
|
7
7
|
children: ReactNode;
|
|
8
8
|
/** Влияет на броню высоты до замера: одноклик-меню — это ещё одна строка шапки. */
|
|
9
9
|
hasOneClickMenu?: boolean;
|
|
10
|
+
/** Объявить контейнер ориентиром `banner` — см. `NavigationProps.landmarks`. */
|
|
11
|
+
landmark?: boolean;
|
|
10
12
|
/** Клик по затемнению закрывает открытое меню — как в легаси. */
|
|
11
13
|
onBackgroundClick?: () => void;
|
|
12
14
|
showBackground: boolean;
|
|
13
15
|
}
|
|
14
|
-
export declare function Container({ aboveMenu, belowMenu, children, hasOneClickMenu, onBackgroundClick, showBackground, }: NavigationContainerProps): import("preact").JSX.Element;
|
|
16
|
+
export declare function Container({ aboveMenu, belowMenu, children, hasOneClickMenu, landmark, onBackgroundClick, showBackground, }: NavigationContainerProps): import("preact").JSX.Element;
|
|
15
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/container/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,WAAW,wBAAwB;IACvC,iFAAiF;IACjF,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,qBAAqB;IACrB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,QAAQ,EAAE,SAAS,CAAA;IACnB,mFAAmF;IACnF,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B,cAAc,EAAE,OAAO,CAAA;CACxB;AAED,wBAAgB,SAAS,CAAC,EACxB,SAAS,EACT,SAAS,EACT,QAAQ,EACR,eAAuB,EACvB,iBAAiB,EACjB,cAAc,GACf,EAAE,wBAAwB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/container/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,WAAW,wBAAwB;IACvC,iFAAiF;IACjF,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,qBAAqB;IACrB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,QAAQ,EAAE,SAAS,CAAA;IACnB,mFAAmF;IACnF,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B,cAAc,EAAE,OAAO,CAAA;CACxB;AAED,wBAAgB,SAAS,CAAC,EACxB,SAAS,EACT,SAAS,EACT,QAAQ,EACR,eAAuB,EACvB,QAAgB,EAChB,iBAAiB,EACjB,cAAc,GACf,EAAE,wBAAwB,gCAyC1B"}
|
|
@@ -7,6 +7,7 @@ function Container({
|
|
|
7
7
|
belowMenu,
|
|
8
8
|
children,
|
|
9
9
|
hasOneClickMenu = false,
|
|
10
|
+
landmark = false,
|
|
10
11
|
onBackgroundClick,
|
|
11
12
|
showBackground
|
|
12
13
|
}) {
|
|
@@ -26,6 +27,7 @@ function Container({
|
|
|
26
27
|
$showBackground: showBackground,
|
|
27
28
|
$underlayHeight: underlayHeight,
|
|
28
29
|
id: SELECTOR_IDS.NAVIGATION,
|
|
30
|
+
role: landmark ? "banner" : void 0,
|
|
29
31
|
onClick: (event) => {
|
|
30
32
|
if (showBackground && event.target === event.currentTarget) onBackgroundClick == null ? void 0 : onBackgroundClick();
|
|
31
33
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/externat-buttons/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/externat-buttons/index.tsx"],"names":[],"mappings":"AAWA,MAAM,WAAW,oBAAoB;IACnC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAA;CAC/B;AAED,wBAAgB,eAAe,CAAC,EAC9B,cAAc,EACd,MAAc,EACd,eAAe,EACf,iBAAiB,GAClB,EAAE,oBAAoB,gCA8BtB"}
|
|
@@ -1,4 +1,24 @@
|
|
|
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));
|
|
1
20
|
import { ExternatButtonsMobile, DesktopOnlyButton, CallBackButtonMobile, FreeAccessButtonMobile, ExternatButtonsDesktop, CallBackButtonDesktop, FreeAccessButtonDesktop } from "./styled.js";
|
|
21
|
+
import { buttonProps } from "../../../shared/a11y.js";
|
|
2
22
|
import { jsxs, jsx } from "preact/jsx-runtime";
|
|
3
23
|
function ExternatButtons({
|
|
4
24
|
freeAccessLink,
|
|
@@ -9,10 +29,11 @@ function ExternatButtons({
|
|
|
9
29
|
if (mobile) {
|
|
10
30
|
return jsxs(ExternatButtonsMobile, {
|
|
11
31
|
children: [jsx(DesktopOnlyButton, {
|
|
12
|
-
children: jsx(CallBackButtonMobile, {
|
|
13
|
-
onClick: onCallbackClick
|
|
32
|
+
children: jsx(CallBackButtonMobile, __spreadProps(__spreadValues({
|
|
33
|
+
onClick: onCallbackClick
|
|
34
|
+
}, buttonProps(onCallbackClick)), {
|
|
14
35
|
children: "Обратный звонок"
|
|
15
|
-
})
|
|
36
|
+
}))
|
|
16
37
|
}), freeAccessLink && jsx(FreeAccessButtonMobile, {
|
|
17
38
|
href: freeAccessLink,
|
|
18
39
|
onClick: onFreeAccessClick,
|
|
@@ -21,10 +42,11 @@ function ExternatButtons({
|
|
|
21
42
|
});
|
|
22
43
|
}
|
|
23
44
|
return jsxs(ExternatButtonsDesktop, {
|
|
24
|
-
children: [jsx(CallBackButtonDesktop, {
|
|
25
|
-
onClick: onCallbackClick
|
|
45
|
+
children: [jsx(CallBackButtonDesktop, __spreadProps(__spreadValues({
|
|
46
|
+
onClick: onCallbackClick
|
|
47
|
+
}, buttonProps(onCallbackClick)), {
|
|
26
48
|
children: "Обратный звонок"
|
|
27
|
-
}), freeAccessLink && jsx(FreeAccessButtonDesktop, {
|
|
49
|
+
})), freeAccessLink && jsx(FreeAccessButtonDesktop, {
|
|
28
50
|
href: freeAccessLink,
|
|
29
51
|
onClick: onFreeAccessClick,
|
|
30
52
|
children: "Бесплатный доступ"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/menu/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/menu/index.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAErD,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,eAAe,CAAA;IAC3B,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;CAC1B;AAQD,wBAAgB,IAAI,CAAC,EACnB,UAAU,EACV,uBAA+B,EAC/B,OAAe,EACf,OAAO,EACP,iBAAiB,EACjB,kBAAkB,EAClB,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,SAAgB,GACjB,EAAE,SAAS,gCAoJX;AAED,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAA"}
|
|
@@ -19,6 +19,7 @@ import { Media, Spinner } from "@foxford/ui";
|
|
|
19
19
|
import { Root, Inner, Top, Logo, Sidebar } from "./panel-styled.js";
|
|
20
20
|
import { SegmentContent } from "./segment-content.js";
|
|
21
21
|
import { BodyScrollLock, SpinnerWrapper, Content, ContentControl, SegmentPane, Bottom } from "./styled.js";
|
|
22
|
+
import { useReturnFocus, useFocusOnKeyboardOpen, segmentPaneId } from "../../../shared/a11y.js";
|
|
22
23
|
import { SELECTOR_IDS } from "../../../shared/constants.js";
|
|
23
24
|
import { BackButton } from "../../atoms/back-button/index.js";
|
|
24
25
|
import { CloseButton } from "../../atoms/close-button/index.js";
|
|
@@ -27,6 +28,7 @@ import { AdaptiveButton } from "../adaptive-button/index.js";
|
|
|
27
28
|
import { EntryPanel } from "../entry-panel/index.js";
|
|
28
29
|
import { SegmentList } from "../segment-list/index.js";
|
|
29
30
|
import { jsx, jsxs, Fragment } from "preact/jsx-runtime";
|
|
31
|
+
const FIRST_SEGMENT = `#${SELECTOR_IDS.SEGMENT_LIST} [role="button"]`;
|
|
30
32
|
function Menu({
|
|
31
33
|
entryPanel,
|
|
32
34
|
isOnboardingButtonShown = false,
|
|
@@ -43,6 +45,8 @@ function Menu({
|
|
|
43
45
|
const [selectedSegmentId, setSelectedSegmentId] = useState(void 0);
|
|
44
46
|
const [wasOpen, setWasOpen] = useState(open);
|
|
45
47
|
const [measuredTop, setMeasuredTop] = useState(null);
|
|
48
|
+
useReturnFocus(open, SELECTOR_IDS.MENU, SELECTOR_IDS.MENU_BUTTON);
|
|
49
|
+
useFocusOnKeyboardOpen(open, SELECTOR_IDS.MENU_BUTTON, FIRST_SEGMENT);
|
|
46
50
|
if (open !== wasOpen) {
|
|
47
51
|
setWasOpen(open);
|
|
48
52
|
if (!open) {
|
|
@@ -82,81 +86,97 @@ function Menu({
|
|
|
82
86
|
document.addEventListener("keydown", onKeyDown);
|
|
83
87
|
return () => document.removeEventListener("keydown", onKeyDown);
|
|
84
88
|
}, [open, onClose]);
|
|
85
|
-
return
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
children: jsxs(Inner, {
|
|
89
|
+
return (
|
|
90
|
+
// Большое меню — ориентир `navigation`: закрытое оно спрятано `visibility: hidden`, и
|
|
91
|
+
// скринридер его вместе с ориентиром не видит, а открытое — видит сразу по имени.
|
|
92
|
+
jsx(Root, {
|
|
90
93
|
$isMenuOpen: open,
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
origin
|
|
98
|
-
}), jsx(EntryPanel, __spreadValues({}, entryPanel))]
|
|
99
|
-
})]
|
|
100
|
-
})
|
|
101
|
-
})
|
|
102
|
-
}), loading ? jsx(SpinnerWrapper, {
|
|
94
|
+
$isOnboardingButtonShown: isOnboardingButtonShown,
|
|
95
|
+
$top: topOffset != null ? topOffset : measuredTop,
|
|
96
|
+
"aria-label": "Меню",
|
|
97
|
+
id: SELECTOR_IDS.MENU,
|
|
98
|
+
role: "navigation",
|
|
99
|
+
children: jsxs(Inner, {
|
|
103
100
|
$isMenuOpen: open,
|
|
104
|
-
children: jsx(
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
101
|
+
children: [jsx(Media, {
|
|
102
|
+
max: "S",
|
|
103
|
+
children: jsx(Fragment, {
|
|
104
|
+
children: open && jsxs(Fragment, {
|
|
105
|
+
children: [jsx(BodyScrollLock, {}), jsxs(Top, {
|
|
106
|
+
children: [jsx(Logo, {
|
|
107
|
+
origin
|
|
108
|
+
}), jsx(EntryPanel, __spreadValues({}, entryPanel))]
|
|
109
|
+
})]
|
|
110
|
+
})
|
|
111
|
+
})
|
|
112
|
+
}), loading ? jsx(SpinnerWrapper, {
|
|
109
113
|
$isMenuOpen: open,
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
114
|
+
"aria-label": "Меню загружается",
|
|
115
|
+
role: "status",
|
|
116
|
+
children: jsx(Spinner, {
|
|
117
|
+
size: "l"
|
|
118
|
+
})
|
|
119
|
+
}) : jsxs(Fragment, {
|
|
120
|
+
children: [jsx(Sidebar, {
|
|
121
|
+
$isMenuOpen: open,
|
|
122
|
+
$showSeparator: contentOpen || selectedSegmentId !== void 0,
|
|
123
|
+
children: jsxs(Scrollbar, {
|
|
124
|
+
children: [jsx(SegmentList, {
|
|
125
|
+
onSelect: handleSegmentSelect,
|
|
126
|
+
segments,
|
|
127
|
+
selectedSegmentId
|
|
128
|
+
}), jsx(Media, {
|
|
129
|
+
min: "M",
|
|
130
|
+
children: jsx(AdaptiveButton, {
|
|
131
|
+
onOnboardingClick,
|
|
132
|
+
show: isOnboardingButtonShown
|
|
133
|
+
})
|
|
134
|
+
})]
|
|
135
|
+
})
|
|
136
|
+
}), jsxs(Content, {
|
|
137
|
+
$isOpen: contentOpen,
|
|
138
|
+
children: [jsx(Media, {
|
|
139
|
+
max: "M",
|
|
140
|
+
children: jsxs(ContentControl, {
|
|
141
|
+
children: [jsx(BackButton, {
|
|
142
|
+
onClick: handleBack
|
|
143
|
+
}), jsx(Media, {
|
|
144
|
+
max: "S",
|
|
145
|
+
children: jsx(EntryPanel, __spreadValues({}, entryPanel))
|
|
146
|
+
})]
|
|
147
|
+
})
|
|
148
|
+
}), segments.map((segment) => (
|
|
149
|
+
// Панель — цель `aria-controls` кнопки сегмента. Невыбранные спрятаны
|
|
150
|
+
// `display: none`, а значит и для скринридера их нет.
|
|
151
|
+
jsx(SegmentPane, {
|
|
152
|
+
$hidden: segment.id !== selectedSegmentId,
|
|
153
|
+
"aria-label": segment.title,
|
|
154
|
+
id: segmentPaneId(segment.id),
|
|
155
|
+
role: "region",
|
|
156
|
+
children: jsx(SegmentContent, {
|
|
157
|
+
onItemClick: onSegmentItemClick,
|
|
158
|
+
segment
|
|
159
|
+
})
|
|
160
|
+
}, segment.id)
|
|
161
|
+
))]
|
|
162
|
+
})]
|
|
163
|
+
}), jsx(Media, {
|
|
164
|
+
max: "S",
|
|
165
|
+
children: jsxs(Bottom, {
|
|
166
|
+
children: [jsx(Media, {
|
|
167
|
+
max: "XS",
|
|
118
168
|
children: jsx(AdaptiveButton, {
|
|
119
169
|
onOnboardingClick,
|
|
120
170
|
show: isOnboardingButtonShown
|
|
121
171
|
})
|
|
172
|
+
}), jsx(CloseButton, {
|
|
173
|
+
onClick: onClose
|
|
122
174
|
})]
|
|
123
175
|
})
|
|
124
|
-
}), jsxs(Content, {
|
|
125
|
-
$isOpen: contentOpen,
|
|
126
|
-
children: [jsx(Media, {
|
|
127
|
-
max: "M",
|
|
128
|
-
children: jsxs(ContentControl, {
|
|
129
|
-
children: [jsx(BackButton, {
|
|
130
|
-
onClick: handleBack
|
|
131
|
-
}), jsx(Media, {
|
|
132
|
-
max: "S",
|
|
133
|
-
children: jsx(EntryPanel, __spreadValues({}, entryPanel))
|
|
134
|
-
})]
|
|
135
|
-
})
|
|
136
|
-
}), segments.map((segment) => jsx(SegmentPane, {
|
|
137
|
-
$hidden: segment.id !== selectedSegmentId,
|
|
138
|
-
children: jsx(SegmentContent, {
|
|
139
|
-
onItemClick: onSegmentItemClick,
|
|
140
|
-
segment
|
|
141
|
-
})
|
|
142
|
-
}, segment.id))]
|
|
143
176
|
})]
|
|
144
|
-
})
|
|
145
|
-
max: "S",
|
|
146
|
-
children: jsxs(Bottom, {
|
|
147
|
-
children: [jsx(Media, {
|
|
148
|
-
max: "XS",
|
|
149
|
-
children: jsx(AdaptiveButton, {
|
|
150
|
-
onOnboardingClick,
|
|
151
|
-
show: isOnboardingButtonShown
|
|
152
|
-
})
|
|
153
|
-
}), jsx(CloseButton, {
|
|
154
|
-
onClick: onClose
|
|
155
|
-
})]
|
|
156
|
-
})
|
|
157
|
-
})]
|
|
177
|
+
})
|
|
158
178
|
})
|
|
159
|
-
|
|
179
|
+
);
|
|
160
180
|
}
|
|
161
181
|
export {
|
|
162
182
|
Menu
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/menu-button/index.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/menu-button/index.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,eAAe,gCAmB9D"}
|
|
@@ -13,8 +13,11 @@ function OneClickMenu({
|
|
|
13
13
|
return jsx(Root, {
|
|
14
14
|
$hide: hide,
|
|
15
15
|
$isMenuOpen: isMenuOpen,
|
|
16
|
+
"aria-label": "Меню в один клик",
|
|
17
|
+
role: "navigation",
|
|
16
18
|
children: items.map((item) => item.id === selectedItemId ? jsx(CurrentItem, {
|
|
17
19
|
$hide: hide,
|
|
20
|
+
"aria-current": "page",
|
|
18
21
|
children: item.title
|
|
19
22
|
}, item.id) : jsx(Item, {
|
|
20
23
|
href: item.url,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/profile-menu/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,oBAAoB,EAAE,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,oBAAoB,EAAE,CAAA;IAC7B,IAAI,EAAE,OAAO,CAAA;IACb,eAAe,CAAC,EAAE,SAAS,CAAA;IAC3B,eAAe,CAAC,EAAE,SAAS,CAAA;CAC5B;AAID,wBAAgB,WAAW,CAAC,EAC1B,WAAW,EACX,SAAc,EACd,WAAgB,EAChB,KAAK,EACL,IAAI,EACJ,eAAe,EACf,eAAe,GAChB,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/profile-menu/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,oBAAoB,EAAE,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,oBAAoB,EAAE,CAAA;IAC7B,IAAI,EAAE,OAAO,CAAA;IACb,eAAe,CAAC,EAAE,SAAS,CAAA;IAC3B,eAAe,CAAC,EAAE,SAAS,CAAA;CAC5B;AAID,wBAAgB,WAAW,CAAC,EAC1B,WAAW,EACX,SAAc,EACd,WAAgB,EAChB,KAAK,EACL,IAAI,EACJ,eAAe,EACf,eAAe,GAChB,EAAE,gBAAgB,gCA8DlB"}
|
|
@@ -47,27 +47,34 @@ function ProfileMenu({
|
|
|
47
47
|
observed.forEach((node) => observer.observe(node));
|
|
48
48
|
return () => observer.disconnect();
|
|
49
49
|
}, []);
|
|
50
|
-
return
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
50
|
+
return (
|
|
51
|
+
// Закрытое меню спрятано только прозрачностью (`opacity: 0`, ради анимации), и без атрибутов
|
|
52
|
+
// его ссылки читались бы скринридером и ловили Tab невидимыми. `inert` снимает фокус и клики,
|
|
53
|
+
// `aria-hidden` — дерево доступности; стили при этом не меняются.
|
|
54
|
+
jsxs(Root, {
|
|
55
|
+
$isOpen: open,
|
|
56
|
+
"aria-hidden": open ? void 0 : true,
|
|
57
|
+
id: SELECTOR_IDS.PROFILE_MENU,
|
|
58
|
+
inert: !open,
|
|
59
|
+
children: [jsx("div", {
|
|
60
|
+
ref: pupilSelectRef,
|
|
61
|
+
children: pupilSelectSlot
|
|
62
|
+
}), jsx("div", {
|
|
63
|
+
ref: profileInfoRef,
|
|
64
|
+
children: profileInfoSlot
|
|
65
|
+
}), jsxs(Scrollable, {
|
|
66
|
+
autoHeight: true,
|
|
67
|
+
autoHeightMax: maxHeight,
|
|
68
|
+
autoHide: true,
|
|
69
|
+
universal: true,
|
|
70
|
+
children: [headItems.map((item) => jsx(ProfileMenuItem, __spreadValues({}, item), item.id)), jsx(Spacer, {
|
|
71
|
+
marginBottom: headSpacing
|
|
72
|
+
}), items.map((item) => item.id === SELECTOR_IDS.PROFILE_MENU_BONUSES && bonusesSlot !== void 0 ? jsx(Fragment, {
|
|
73
|
+
children: bonusesSlot
|
|
74
|
+
}, item.id) : jsx(ProfileMenuItem, __spreadValues({}, item), item.id))]
|
|
75
|
+
})]
|
|
76
|
+
})
|
|
77
|
+
);
|
|
71
78
|
}
|
|
72
79
|
export {
|
|
73
80
|
ProfileMenu
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/segment-list/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/segment-list/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAEhD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAaD,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,EAAE,gBAAgB,gCAiBtF"}
|
|
@@ -1,5 +1,25 @@
|
|
|
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));
|
|
1
20
|
import { Menu } from "react-aim-menu";
|
|
2
21
|
import { Item } from "./styled.js";
|
|
22
|
+
import { buttonProps, segmentPaneId } from "../../../shared/a11y.js";
|
|
3
23
|
import { SELECTOR_IDS } from "../../../shared/constants.js";
|
|
4
24
|
import { SegmentListItem } from "../../atoms/segment-list-item/index.js";
|
|
5
25
|
import { jsx } from "preact/jsx-runtime";
|
|
@@ -15,16 +35,19 @@ function SegmentList({
|
|
|
15
35
|
id,
|
|
16
36
|
title,
|
|
17
37
|
url
|
|
18
|
-
}) => jsx(Item, {
|
|
38
|
+
}) => jsx(Item, __spreadProps(__spreadValues({
|
|
19
39
|
$spacer: bottomSpace,
|
|
40
|
+
"aria-controls": segmentPaneId(id),
|
|
41
|
+
"aria-expanded": selectedSegmentId === id,
|
|
20
42
|
onClick: () => onSelect(id),
|
|
21
|
-
onHover: () => onSelect(id)
|
|
43
|
+
onHover: () => onSelect(id)
|
|
44
|
+
}, buttonProps(() => onSelect(id))), {
|
|
22
45
|
children: jsx(SegmentListItem, {
|
|
23
46
|
active: selectedSegmentId === id,
|
|
24
47
|
title,
|
|
25
48
|
url
|
|
26
49
|
})
|
|
27
|
-
}, id))
|
|
50
|
+
}), id))
|
|
28
51
|
});
|
|
29
52
|
}
|
|
30
53
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/support-button/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAGjD,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/support-button/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAGjD,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AA2ClE,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,aAAqB,EAAE,EAAE,kBAAkB,gCAuB1G;AAED,wBAAgB,mBAAmB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,aAAqB,EAAE,EAAE,kBAAkB,gCA6BzG"}
|
|
@@ -3,6 +3,7 @@ import { Button, Icon, Indicator } from "@foxford/ui";
|
|
|
3
3
|
import { Root, TabletRoot, TabletButton, IndicatorRoot } from "./styled.js";
|
|
4
4
|
import { SupportTheme } from "./theme.js";
|
|
5
5
|
import { jsx, jsxs, Fragment } from "preact/jsx-runtime";
|
|
6
|
+
const SUPPORT_LABEL = "Поддержка";
|
|
6
7
|
function OpenIndicator() {
|
|
7
8
|
return jsx(IndicatorRoot, {
|
|
8
9
|
children: jsx(Indicator, {
|
|
@@ -42,6 +43,8 @@ function SupportButtonDesktop({
|
|
|
42
43
|
return jsx(SupportTheme, {
|
|
43
44
|
children: jsxs(Root, {
|
|
44
45
|
children: [jsx(Button, {
|
|
46
|
+
"aria-haspopup": "dialog",
|
|
47
|
+
"aria-label": SUPPORT_LABEL,
|
|
45
48
|
base: true,
|
|
46
49
|
icon: "messageCircleQuestion",
|
|
47
50
|
iconProps: {
|
|
@@ -78,6 +81,8 @@ function SupportButtonTablet({
|
|
|
78
81
|
return jsx(SupportTheme, {
|
|
79
82
|
children: jsxs(TabletRoot, {
|
|
80
83
|
children: [jsx(TabletButton, {
|
|
84
|
+
"aria-haspopup": "dialog",
|
|
85
|
+
"aria-label": SUPPORT_LABEL,
|
|
81
86
|
icon: jsxs(Fragment, {
|
|
82
87
|
children: [jsx(Icon, {
|
|
83
88
|
name: "messageCircleQuestion",
|
|
@@ -18,7 +18,7 @@ var __spreadValues = (a, b) => {
|
|
|
18
18
|
};
|
|
19
19
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
20
|
import { Button, Text, IconButton } from "@foxford/ui";
|
|
21
|
-
import { SupportDialog, ModalFooter, SocialButtons } from "./styled.js";
|
|
21
|
+
import { SupportDialog, ModalFooter, SocialButtons } from "./modal.styled.js";
|
|
22
22
|
import { formatPhone } from "../../../shared/phone.js";
|
|
23
23
|
import { BASE_ZINDEX } from "../../../shared/z-index.js";
|
|
24
24
|
import { jsxs, jsx, Fragment } from "preact/jsx-runtime";
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const ModalFooter: 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 SocialButtons: 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 SupportDialog: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<import("@foxford/ui").DialogProps, "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 & Omit<import("react-dom/src").ForwardRefExoticComponent<import("@foxford/ui").DialogProps> & {
|
|
10
|
+
Component: import("react-dom/src").ForwardRefExoticComponent<import("@foxford/ui").DialogComponentProps>;
|
|
11
|
+
}, keyof import("preact").Component<any, {}>>;
|
|
12
|
+
//# sourceMappingURL=modal.styled.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modal.styled.d.ts","sourceRoot":"","sources":["../../../../src/header/molecules/support-button/modal.styled.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,WAAW;;WAIvB,CAAA;AAED,eAAO,MAAM,aAAa;;WAGzB,CAAA;AAQD,eAAO,MAAM,aAAa;;;;6CAEzB,CAAA"}
|