@redneckz/wildless-cms-uni-blocks 0.14.286 → 0.14.288
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/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +47 -14
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/Header/HeaderSecondaryMenuButton.d.ts +2 -0
- package/bundle/components/Header/HeaderSubMenu.d.ts +2 -6
- package/bundle/data/SitemapData.d.ts +10 -4
- package/bundle/model/LogoType.d.ts +4 -1
- package/bundle/ui-kit/LinkWrapper/LinkWrapper.d.ts +2 -0
- package/dist/components/Footer/Footer.mobile.js +1 -1
- package/dist/components/Footer/Footer.mobile.js.map +1 -1
- package/dist/components/Header/Header.js +1 -1
- package/dist/components/Header/Header.js.map +1 -1
- package/dist/components/Header/HeaderSecondaryMenu.js +22 -1
- package/dist/components/Header/HeaderSecondaryMenu.js.map +1 -1
- package/dist/components/Header/HeaderSecondaryMenuButton.d.ts +2 -0
- package/dist/components/Header/HeaderSecondaryMenuButton.js +3 -2
- package/dist/components/Header/HeaderSecondaryMenuButton.js.map +1 -1
- package/dist/components/Header/HeaderSubMenu.d.ts +2 -6
- package/dist/components/Header/HeaderSubMenu.js +1 -1
- package/dist/components/Header/HeaderSubMenu.js.map +1 -1
- package/dist/components/StickyBottomMenu/BurgerMenuDialog.js +9 -3
- package/dist/components/StickyBottomMenu/BurgerMenuDialog.js.map +1 -1
- package/dist/data/SitemapData.d.ts +10 -4
- package/dist/model/LogoType.d.ts +4 -1
- package/dist/ui-kit/HeaderItem/HeaderItem.js +3 -2
- package/dist/ui-kit/HeaderItem/HeaderItem.js.map +1 -1
- package/dist/ui-kit/LinkWrapper/LinkWrapper.d.ts +2 -0
- package/dist/ui-kit/LinkWrapper/LinkWrapper.js +3 -2
- package/dist/ui-kit/LinkWrapper/LinkWrapper.js.map +1 -1
- package/dist/ui-kit/LocationDialog/renderRegion.js +13 -1
- package/dist/ui-kit/LocationDialog/renderRegion.js.map +1 -1
- package/dist/ui-kit/Logo/Logo.js +2 -1
- package/dist/ui-kit/Logo/Logo.js.map +1 -1
- package/dist/ui-kit/TopItem/TopItem.js +3 -2
- package/dist/ui-kit/TopItem/TopItem.js.map +1 -1
- package/lib/components/Footer/Footer.mobile.js +1 -1
- package/lib/components/Footer/Footer.mobile.js.map +1 -1
- package/lib/components/Header/Header.js +1 -1
- package/lib/components/Header/Header.js.map +1 -1
- package/lib/components/Header/HeaderSecondaryMenu.js +22 -1
- package/lib/components/Header/HeaderSecondaryMenu.js.map +1 -1
- package/lib/components/Header/HeaderSecondaryMenuButton.d.ts +2 -0
- package/lib/components/Header/HeaderSecondaryMenuButton.js +3 -2
- package/lib/components/Header/HeaderSecondaryMenuButton.js.map +1 -1
- package/lib/components/Header/HeaderSubMenu.d.ts +2 -6
- package/lib/components/Header/HeaderSubMenu.js +1 -1
- package/lib/components/Header/HeaderSubMenu.js.map +1 -1
- package/lib/components/StickyBottomMenu/BurgerMenuDialog.js +9 -3
- package/lib/components/StickyBottomMenu/BurgerMenuDialog.js.map +1 -1
- package/lib/data/SitemapData.d.ts +10 -4
- package/lib/model/LogoType.d.ts +4 -1
- package/lib/ui-kit/HeaderItem/HeaderItem.js +3 -2
- package/lib/ui-kit/HeaderItem/HeaderItem.js.map +1 -1
- package/lib/ui-kit/LinkWrapper/LinkWrapper.d.ts +2 -0
- package/lib/ui-kit/LinkWrapper/LinkWrapper.js +3 -2
- package/lib/ui-kit/LinkWrapper/LinkWrapper.js.map +1 -1
- package/lib/ui-kit/LocationDialog/renderRegion.js +13 -1
- package/lib/ui-kit/LocationDialog/renderRegion.js.map +1 -1
- package/lib/ui-kit/Logo/Logo.js +2 -1
- package/lib/ui-kit/Logo/Logo.js.map +1 -1
- package/lib/ui-kit/TopItem/TopItem.js +3 -2
- package/lib/ui-kit/TopItem/TopItem.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +25 -9
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/Header/HeaderSecondaryMenuButton.d.ts +2 -0
- package/mobile/bundle/components/Header/HeaderSubMenu.d.ts +2 -6
- package/mobile/bundle/data/SitemapData.d.ts +10 -4
- package/mobile/bundle/model/LogoType.d.ts +4 -1
- package/mobile/bundle/ui-kit/LinkWrapper/LinkWrapper.d.ts +2 -0
- package/mobile/dist/components/Footer/Footer.js +1 -1
- package/mobile/dist/components/Footer/Footer.js.map +1 -1
- package/mobile/dist/components/Header/HeaderSecondaryMenu.js +22 -1
- package/mobile/dist/components/Header/HeaderSecondaryMenu.js.map +1 -1
- package/mobile/dist/components/Header/HeaderSecondaryMenuButton.d.ts +2 -0
- package/mobile/dist/components/Header/HeaderSecondaryMenuButton.js +3 -2
- package/mobile/dist/components/Header/HeaderSecondaryMenuButton.js.map +1 -1
- package/mobile/dist/components/Header/HeaderSubMenu.d.ts +2 -6
- package/mobile/dist/components/Header/HeaderSubMenu.js +1 -1
- package/mobile/dist/components/Header/HeaderSubMenu.js.map +1 -1
- package/mobile/dist/components/StickyBottomMenu/BurgerMenuDialog.js +9 -3
- package/mobile/dist/components/StickyBottomMenu/BurgerMenuDialog.js.map +1 -1
- package/mobile/dist/data/SitemapData.d.ts +10 -4
- package/mobile/dist/model/LogoType.d.ts +4 -1
- package/mobile/dist/ui-kit/LinkWrapper/LinkWrapper.d.ts +2 -0
- package/mobile/dist/ui-kit/LinkWrapper/LinkWrapper.js +3 -2
- package/mobile/dist/ui-kit/LinkWrapper/LinkWrapper.js.map +1 -1
- package/mobile/dist/ui-kit/LocationDialog/renderRegion.js +13 -1
- package/mobile/dist/ui-kit/LocationDialog/renderRegion.js.map +1 -1
- package/mobile/dist/ui-kit/Logo/Logo.js +2 -1
- package/mobile/dist/ui-kit/Logo/Logo.js.map +1 -1
- package/mobile/dist/ui-kit/TopItem/TopItem.js +3 -2
- package/mobile/dist/ui-kit/TopItem/TopItem.js.map +1 -1
- package/mobile/lib/components/Footer/Footer.js +1 -1
- package/mobile/lib/components/Footer/Footer.js.map +1 -1
- package/mobile/lib/components/Header/HeaderSecondaryMenu.js +22 -1
- package/mobile/lib/components/Header/HeaderSecondaryMenu.js.map +1 -1
- package/mobile/lib/components/Header/HeaderSecondaryMenuButton.d.ts +2 -0
- package/mobile/lib/components/Header/HeaderSecondaryMenuButton.js +3 -2
- package/mobile/lib/components/Header/HeaderSecondaryMenuButton.js.map +1 -1
- package/mobile/lib/components/Header/HeaderSubMenu.d.ts +2 -6
- package/mobile/lib/components/Header/HeaderSubMenu.js +1 -1
- package/mobile/lib/components/Header/HeaderSubMenu.js.map +1 -1
- package/mobile/lib/components/StickyBottomMenu/BurgerMenuDialog.js +9 -3
- package/mobile/lib/components/StickyBottomMenu/BurgerMenuDialog.js.map +1 -1
- package/mobile/lib/data/SitemapData.d.ts +10 -4
- package/mobile/lib/model/LogoType.d.ts +4 -1
- package/mobile/lib/ui-kit/LinkWrapper/LinkWrapper.d.ts +2 -0
- package/mobile/lib/ui-kit/LinkWrapper/LinkWrapper.js +3 -2
- package/mobile/lib/ui-kit/LinkWrapper/LinkWrapper.js.map +1 -1
- package/mobile/lib/ui-kit/LocationDialog/renderRegion.js +13 -1
- package/mobile/lib/ui-kit/LocationDialog/renderRegion.js.map +1 -1
- package/mobile/lib/ui-kit/Logo/Logo.js +2 -1
- package/mobile/lib/ui-kit/Logo/Logo.js.map +1 -1
- package/mobile/lib/ui-kit/TopItem/TopItem.js +3 -2
- package/mobile/lib/ui-kit/TopItem/TopItem.js.map +1 -1
- package/mobile/src/components/ButtonsBlock/ButtonsBlock.example.json +1 -0
- package/mobile/src/components/Footer/Footer.tsx +1 -1
- package/mobile/src/components/Header/HeaderSecondaryMenu.tsx +26 -2
- package/mobile/src/components/Header/HeaderSecondaryMenuButton.tsx +6 -0
- package/mobile/src/components/Header/HeaderSubMenu.tsx +3 -6
- package/mobile/src/components/StickyBottomMenu/BurgerMenuDialog.tsx +18 -7
- package/mobile/src/data/SitemapData.ts +10 -3
- package/mobile/src/model/LogoType.ts +2 -1
- package/mobile/src/ui-kit/LinkWrapper/LinkWrapper.tsx +6 -1
- package/mobile/src/ui-kit/LocationDialog/renderRegion.tsx +14 -0
- package/mobile/src/ui-kit/Logo/Logo.tsx +3 -0
- package/mobile/src/ui-kit/TopItem/TopItem.tsx +21 -16
- package/package.json +1 -1
- package/src/components/ButtonsBlock/ButtonsBlock.example.json +1 -0
- package/src/components/Footer/Footer.mobile.tsx +1 -1
- package/src/components/Header/Header.tsx +1 -1
- package/src/components/Header/HeaderSecondaryMenu.tsx +26 -2
- package/src/components/Header/HeaderSecondaryMenuButton.tsx +6 -0
- package/src/components/Header/HeaderSubMenu.tsx +3 -6
- package/src/components/StickyBottomMenu/BurgerMenuDialog.tsx +18 -7
- package/src/data/SitemapData.ts +10 -3
- package/src/model/LogoType.ts +2 -1
- package/src/ui-kit/HeaderItem/HeaderItem.tsx +4 -1
- package/src/ui-kit/LinkWrapper/LinkWrapper.tsx +6 -1
- package/src/ui-kit/LocationDialog/renderRegion.tsx +14 -0
- package/src/ui-kit/Logo/Logo.tsx +3 -0
- package/src/ui-kit/TopItem/TopItem.tsx +21 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeaderSecondaryMenuButton.js","sourceRoot":"","sources":["../../../src/components/Header/HeaderSecondaryMenuButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"HeaderSecondaryMenuButton.js","sourceRoot":"","sources":["../../../src/components/Header/HeaderSecondaryMenuButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAG3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAa1C,MAAM,iBAAiB,GAAG;IACxB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,WAAW;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAC1C,CAAC,EACC,SAAS,EACT,SAAS,EACT,UAAU,GAAG,SAAS,EACtB,QAAQ,GAAG,KAAK,EAChB,QAAQ,EACR,SAAS,EACT,KAAK,EACL,IAAI,EACJ,OAAO,GACR,EAAE,EAAE,CAAC,CACJ,iBACE,SAAS,EAAE,KAAK,CACd,+CAA+C,EAC/C,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,gBAAgB,EAChD,QAAQ,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAC/C,SAAS;QACP,CAAC,CAAC,wDAAwD;QAC1D,CAAC,CAAC,GAAG,iBAAiB,CAAC,UAAU,CAAC,4CAA4C,EAChF,mCAAmC,EACnC,SAAS,CACV,EACD,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,QAAQ,gBACN,SAAS,EACrB,OAAO,EAAE,OAAO,KAEZ,oBAAoB,CAAC,IAAI,CAAC,YAE9B,KAAC,GAAG,IACF,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,EAAE,CAAC,EAC9E,cAAc,EAAC,6DAA6D,GAC5E,GACK,CACV,CACF,CAAC"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
+
import { type SitemapLinkProps } from '../../data/SitemapData';
|
|
1
2
|
import { type BlockVersion } from '../../model/BlockVersion';
|
|
2
|
-
import { type LinkProps } from '../../model/LinkProps';
|
|
3
|
-
interface HeaderSubMenuLinkProps extends LinkProps {
|
|
4
|
-
displayArea?: string;
|
|
5
|
-
}
|
|
6
3
|
export interface HeaderSubMenuProps {
|
|
7
4
|
version?: BlockVersion;
|
|
8
|
-
subItems?:
|
|
5
|
+
subItems?: SitemapLinkProps[];
|
|
9
6
|
internetBankUrl?: string;
|
|
10
7
|
}
|
|
11
8
|
export declare const HeaderSubMenu: import("@redneckz/uni-jsx").UNIComponent<HeaderSubMenuProps, any, any>;
|
|
12
|
-
export {};
|
|
@@ -23,7 +23,7 @@ export const HeaderSubMenu = JSX(({ subItems = [], version, internetBankUrl }) =
|
|
|
23
23
|
? handleIntersectionActivation(index)
|
|
24
24
|
: handleIntersectionDeactivation(index));
|
|
25
25
|
}), [visibleSubItems]);
|
|
26
|
-
return (_jsxs("nav", { className: "relative mt-s flex items-center justify-between", children: [_jsx("div", { ref: subItemsListRef, className: "overflow-hidden whitespace-nowrap pb-s mt-xs space-x-3xl", role: "menu", children: visibleSubItems.map((_, i) => (_jsx(HeaderSubMenuItem, { className: visibleItemsCount - 1 < i ? 'invisible' : '', active: _ === activeSubItem, observerOptions: observerOptions, onVisibilityChange: subItemsVisibilityHandlers[i], ..._ }, String(i)))) }), dropDownMenuItems.length ? (_jsx(DropdownMenu, { className: "relative w-auto z-40", items: dropDownMenuItems, activeItem: activeSubItem })) : null, _jsxs("div", { className: "flex", children: [projectSettings.CHAT_BOT ? (_jsx(HeaderChatBotButton, { className: "ml-4xl", iconVersion: iconVersion, chat: projectSettings.CHAT_BOT })) : null, _jsx(InternetBankButton, { version: version, internetBankUrl: internetBankUrl })] })] }));
|
|
26
|
+
return (_jsxs("nav", { className: "relative mt-s flex items-center justify-between", children: [_jsx("div", { ref: subItemsListRef, className: "overflow-hidden whitespace-nowrap pb-s mt-xs space-x-3xl", role: "menu", children: visibleSubItems.map((_, i) => (_jsx(HeaderSubMenuItem, { className: visibleItemsCount - 1 < i ? 'invisible' : '', active: _ === activeSubItem, observerOptions: observerOptions, onVisibilityChange: subItemsVisibilityHandlers[i], data: _.dataHeader, ..._ }, String(i)))) }), dropDownMenuItems.length ? (_jsx(DropdownMenu, { className: "relative w-auto z-40", items: dropDownMenuItems, activeItem: activeSubItem })) : null, _jsxs("div", { className: "flex", children: [projectSettings.CHAT_BOT ? (_jsx(HeaderChatBotButton, { className: "ml-4xl", iconVersion: iconVersion, chat: projectSettings.CHAT_BOT })) : null, _jsx(InternetBankButton, { version: version, internetBankUrl: internetBankUrl })] })] }));
|
|
27
27
|
});
|
|
28
28
|
const handleIntersectionActivation = (index) => (prev) => Math.max(prev, index + 1);
|
|
29
29
|
const handleIntersectionDeactivation = (index) => (prev) => Math.min(prev, index);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeaderSubMenu.js","sourceRoot":"","sources":["../../../src/components/Header/HeaderSubMenu.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"HeaderSubMenu.js","sourceRoot":"","sources":["../../../src/components/Header/HeaderSubMenu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
|
|
|
2
2
|
import { JSX } from '@redneckz/uni-jsx';
|
|
3
3
|
import { useCallback, useEffect, useMemo, useState } from '@redneckz/uni-jsx/lib/hooks';
|
|
4
4
|
import { useActiveRoute } from '../../hooks/useActiveRoute.js';
|
|
5
|
+
import { useLink } from '../../hooks/useLink.js';
|
|
5
6
|
import { useLocation } from '../../hooks/useLocation.js';
|
|
6
7
|
import { Dialog } from '../../ui-kit/DialogManager/Dialog.js';
|
|
7
8
|
import { Heading } from '../../ui-kit/Heading/Heading.js';
|
|
@@ -9,11 +10,12 @@ import { Img } from '../../ui-kit/Img/Img.js';
|
|
|
9
10
|
import { useLocationDialog } from '../../ui-kit/LocationDialog/useLocationDialog.js';
|
|
10
11
|
import { SwipeListContainer } from '../../ui-kit/SwipeListControl/SwipeListContainer.js';
|
|
11
12
|
import { useSwipeListScroll } from '../../ui-kit/SwipeListControl/useSwipeListScroll.js';
|
|
13
|
+
import { getAspectsAttributes } from '../../utils/dataAttributes.js';
|
|
12
14
|
import { style } from '../../utils/style.js';
|
|
13
15
|
import { ActiveSubMenuItem } from './ActiveSubMenuItem.js';
|
|
14
16
|
import { TopItemMobile } from './TopItemMobile.js';
|
|
15
17
|
export const BurgerMenuDialog = JSX((props) => {
|
|
16
|
-
const { topItems, defaultLocation,
|
|
18
|
+
const { topItems, defaultLocation, officesAtms } = props;
|
|
17
19
|
const [location] = useLocation(defaultLocation);
|
|
18
20
|
const locationDialog = useLocationDialog(props);
|
|
19
21
|
const [containerRef, scroll] = useSwipeListScroll({
|
|
@@ -23,6 +25,7 @@ export const BurgerMenuDialog = JSX((props) => {
|
|
|
23
25
|
const [activeTopItemIndex, setActiveTopItemIndex] = useState(activeIndex);
|
|
24
26
|
const activeRoute = useMemo(() => topItems?.[activeTopItemIndex], [topItems, activeTopItemIndex]);
|
|
25
27
|
const activeMenuSubItems = activeRoute?.items || [];
|
|
28
|
+
const link = useLink();
|
|
26
29
|
useEffect(() => {
|
|
27
30
|
setActiveTopItemIndex(activeIndex);
|
|
28
31
|
}, [activeIndex]);
|
|
@@ -32,9 +35,12 @@ export const BurgerMenuDialog = JSX((props) => {
|
|
|
32
35
|
}
|
|
33
36
|
}, [activeTopItemIndex, scroll]);
|
|
34
37
|
const handleTopItemClick = useCallback((idx) => setActiveTopItemIndex(idx), []);
|
|
35
|
-
return (_jsx(Dialog, { onClick: (e) => e.stopPropagation(), head: _jsx("div", { className: "flex items-center", children: _jsx(Heading, { as: "h4", title: "\u041C\u0435\u043D\u044E" }) }), children: _jsxs("div", { className: "flex flex-col flex-nowrap relative w-full h-auto m-auto bg-white pb-24 box-border rounded-md", children: [_jsx("div", { className: "w-full mb-3", children: _jsx(SwipeListContainer, { containerRef: containerRef, visibleItemCount: 0, gap: 10, className: "pb-3", children: topItems?.map((item, i) => (_jsx(TopItemMobile, { item: item, isActive: activeTopItemIndex === i, onClick: () => handleTopItemClick(i) }, String(i)))) }) }), _jsxs("div", { className: "relative grow", children: [renderActiveSubMenu(activeMenuSubItems, activeRoute?.href), renderOfficeLink(
|
|
38
|
+
return (_jsx(Dialog, { onClick: (e) => e.stopPropagation(), head: _jsx("div", { className: "flex items-center", children: _jsx(Heading, { as: "h4", title: "\u041C\u0435\u043D\u044E" }) }), children: _jsxs("div", { className: "flex flex-col flex-nowrap relative w-full h-auto m-auto bg-white pb-24 box-border rounded-md", children: [_jsx("div", { className: "w-full mb-3", children: _jsx(SwipeListContainer, { containerRef: containerRef, visibleItemCount: 0, gap: 10, className: "pb-3", children: topItems?.map((item, i) => (_jsx(TopItemMobile, { item: item, isActive: activeTopItemIndex === i, onClick: () => handleTopItemClick(i) }, String(i)))) }) }), _jsxs("div", { className: "relative grow", children: [renderActiveSubMenu(activeMenuSubItems, activeRoute?.href), officesAtms?.href ? renderOfficeLink(link)(officesAtms) : null, renderLocation(location, () => locationDialog.open())] })] }) }));
|
|
36
39
|
});
|
|
37
40
|
const renderActiveSubMenu = (activeMenuSubItems, basePath) => activeMenuSubItems ? (_jsx("div", { children: activeMenuSubItems.map((_, i) => (_jsx(ActiveSubMenuItem, { item: _, basePath: basePath }, String(i)))) })) : null;
|
|
38
|
-
const renderOfficeLink = (
|
|
41
|
+
const renderOfficeLink = (link) => (officesAtms) => {
|
|
42
|
+
const { href, target, onClick } = link(officesAtms);
|
|
43
|
+
return (_jsx("div", { className: "mt-3", children: _jsxs("a", { className: style('text-primary-text', `p-4 text-h5 font-light flex justify-between cursor-pointer`, 'shadow-main-black', 'rounded-xl'), href: href, target: target, onClick: onClick, rel: "noopener noreferrer", "aria-label": "\u041E\u0442\u0434\u0435\u043B\u0435\u043D\u0438\u044F \u0438 \u0431\u0430\u043D\u043A\u043E\u043C\u0430\u0442\u044B", ...getAspectsAttributes(officesAtms?.data), children: [_jsx("span", { children: "\u041E\u0444\u0438\u0441\u044B \u0438 \u0431\u0430\u043D\u043A\u043E\u043C\u0430\u0442\u044B" }), _jsx(Img, { image: { icon: 'ArrowRightIcon', iconVersion: 'color' }, width: "24", height: "24", className: "text-secondary-text opacity-30" })] }) }));
|
|
44
|
+
};
|
|
39
45
|
const renderLocation = (location, onClick) => (_jsxs("div", { className: style('text-primary-text', `p-4 text-h5 font-light flex justify-between cursor-pointer`, 'shadow-main-black', 'rounded-xl', 'mt-3'), onClick: onClick, children: [_jsx("div", { className: "flex flex-col items-start", children: _jsxs("span", { children: ["\u0412\u0430\u0448\u0430 \u043B\u043E\u043A\u0430\u0446\u0438\u044F - ", location.name] }) }), _jsx(Img, { image: { icon: 'ArrowRightIcon', iconVersion: 'color' }, width: "24", height: "24", className: "text-secondary-text opacity-30" })] }));
|
|
40
46
|
//# sourceMappingURL=BurgerMenuDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BurgerMenuDialog.js","sourceRoot":"","sources":["../../../src/components/StickyBottomMenu/BurgerMenuDialog.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"BurgerMenuDialog.js","sourceRoot":"","sources":["../../../src/components/StickyBottomMenu/BurgerMenuDialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type AspectsProps } from '../model/AspectsProps';
|
|
2
|
+
import { type LinkCommonProps, type LinkProps } from '../model/LinkProps';
|
|
2
3
|
import { type LogoType } from '../model/LogoType';
|
|
3
4
|
import { type IconProps, type Picture } from '../model/Picture';
|
|
4
|
-
interface SitemapLinkProps extends LinkProps {
|
|
5
|
+
export interface SitemapLinkProps extends LinkProps {
|
|
5
6
|
displayArea?: string;
|
|
7
|
+
dataHeader?: AspectsProps;
|
|
8
|
+
dataFooter?: AspectsProps;
|
|
6
9
|
}
|
|
7
10
|
/**
|
|
8
11
|
* @title Ссылка
|
|
@@ -13,6 +16,10 @@ export interface TopMenuItemProps extends LinkProps, IconProps {
|
|
|
13
16
|
items?: SitemapLinkProps[];
|
|
14
17
|
/** @hidden */
|
|
15
18
|
displayArea?: string;
|
|
19
|
+
/** @hidden */
|
|
20
|
+
dataHeader?: AspectsProps;
|
|
21
|
+
/** @hidden */
|
|
22
|
+
dataFooter?: AspectsProps;
|
|
16
23
|
}
|
|
17
24
|
/**
|
|
18
25
|
* @title Ссылка дополнительного меню
|
|
@@ -33,6 +40,5 @@ export interface SitemapData {
|
|
|
33
40
|
dispositions?: DispositionItem[];
|
|
34
41
|
foreignOffices?: ForeignOfficeProps[];
|
|
35
42
|
defaultLocation?: string;
|
|
36
|
-
|
|
43
|
+
officesAtms?: LinkCommonProps;
|
|
37
44
|
}
|
|
38
|
-
export {};
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { type ImageContent } from '../ui-kit/Img/ImgProps';
|
|
2
|
+
import { type AspectsProps } from './AspectsProps';
|
|
2
3
|
import { type TitleProps } from './HeadlineType';
|
|
3
4
|
/**
|
|
4
5
|
* @title Логотип
|
|
5
6
|
*/
|
|
6
|
-
export declare type LogoType = ImageContent & TitleProps
|
|
7
|
+
export declare type LogoType = ImageContent & TitleProps & {
|
|
8
|
+
data?: AspectsProps;
|
|
9
|
+
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type AspectsProps } from '../../model/AspectsProps';
|
|
1
2
|
import { type Target } from '../../model/LinkProps';
|
|
2
3
|
interface LinkWrapperProps {
|
|
3
4
|
className?: string;
|
|
@@ -5,6 +6,7 @@ interface LinkWrapperProps {
|
|
|
5
6
|
target?: Target;
|
|
6
7
|
isRemote?: boolean;
|
|
7
8
|
onClick?: () => void;
|
|
9
|
+
data?: AspectsProps;
|
|
8
10
|
}
|
|
9
11
|
export declare const LinkWrapper: import("@redneckz/uni-jsx").UNIComponent<LinkWrapperProps, any, any>;
|
|
10
12
|
export {};
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx } from "@redneckz/uni-jsx/jsx-runtime";
|
|
2
2
|
import { JSX } from '@redneckz/uni-jsx';
|
|
3
3
|
import { useLink } from '../../hooks/useLink.js';
|
|
4
|
+
import { getAspectsAttributes } from '../../utils/dataAttributes.js';
|
|
4
5
|
import { style } from '../../utils/style.js';
|
|
5
|
-
export const LinkWrapper = JSX(({ className = '', href, target, isRemote = false, onClick, children }) => {
|
|
6
|
+
export const LinkWrapper = JSX(({ className = '', href, target, isRemote = false, onClick, data, children }) => {
|
|
6
7
|
const link = useLink({ isRemote });
|
|
7
8
|
const linkProps = link({ href, target, onClick });
|
|
8
9
|
const Tag = href ? 'a' : 'div';
|
|
9
|
-
return (_jsx(Tag, { className: style('block', className), ...(href ? linkProps : {}), role: href ? 'link' : 'none', children: children }));
|
|
10
|
+
return (_jsx(Tag, { className: style('block', className), ...(href ? linkProps : {}), role: href ? 'link' : 'none', ...getAspectsAttributes(data), children: children }));
|
|
10
11
|
});
|
|
11
12
|
//# sourceMappingURL=LinkWrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkWrapper.js","sourceRoot":"","sources":["../../../src/ui-kit/LinkWrapper/LinkWrapper.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"LinkWrapper.js","sourceRoot":"","sources":["../../../src/ui-kit/LinkWrapper/LinkWrapper.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAW1C,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAC5B,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC9E,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IAE/B,OAAO,CACL,KAAC,GAAG,IACF,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,KAChC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAC3B,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,KAExB,oBAAoB,CAAC,IAAI,CAAC,YAE7B,QAAQ,GACL,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -1,7 +1,19 @@
|
|
|
1
1
|
import { jsx as _jsx } from "@redneckz/uni-jsx/jsx-runtime";
|
|
2
2
|
import { LinkWrapper } from '../LinkWrapper/LinkWrapper.js';
|
|
3
3
|
import { Text } from '../Text/Text.js';
|
|
4
|
+
const MINDBOX_ASPECT = 'mindboxEvent';
|
|
5
|
+
const MINDBOX_CATEGORY = 'header';
|
|
6
|
+
const MINDBOX_EVENT_REGION_NEW_CLICK = 'headerRegionNewSelect';
|
|
4
7
|
export const renderRegion = (onChangeLocation) => (region) => region.name ? (_jsx(LinkWrapper, { isRemote: true, href: `/branches/${region.slug}`, className: "mb-xs sm:mb-2xs hover:text-primary-hover", onClick: () => {
|
|
5
8
|
onChangeLocation && onChangeLocation(region);
|
|
6
|
-
},
|
|
9
|
+
}, data: [
|
|
10
|
+
{
|
|
11
|
+
aspectName: MINDBOX_ASPECT,
|
|
12
|
+
params: {
|
|
13
|
+
eventAction: MINDBOX_EVENT_REGION_NEW_CLICK,
|
|
14
|
+
eventCategory: MINDBOX_CATEGORY,
|
|
15
|
+
eventValueText: region.name,
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
], children: _jsx(Text, { size: "text-l", font: "font-light", children: region.name }) }, String(region.id))) : null;
|
|
7
19
|
//# sourceMappingURL=renderRegion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderRegion.js","sourceRoot":"","sources":["../../../src/ui-kit/LocationDialog/renderRegion.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,gBAA2C,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE,CAC9F,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CACZ,KAAC,WAAW,IAEV,QAAQ,QACR,IAAI,EAAE,aAAa,MAAM,CAAC,IAAI,EAAE,EAChC,SAAS,EAAC,0CAA0C,EACpD,OAAO,EAAE,GAAG,EAAE;QACZ,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC,YAED,KAAC,IAAI,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,YAAY,YAClC,MAAM,CAAC,IAAI,GACP,
|
|
1
|
+
{"version":3,"file":"renderRegion.js","sourceRoot":"","sources":["../../../src/ui-kit/LocationDialog/renderRegion.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,MAAM,cAAc,GAAG,cAAc,CAAC;AACtC,MAAM,gBAAgB,GAAG,QAAQ,CAAC;AAClC,MAAM,8BAA8B,GAAG,uBAAuB,CAAC;AAE/D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,gBAA2C,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE,CAC9F,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CACZ,KAAC,WAAW,IAEV,QAAQ,QACR,IAAI,EAAE,aAAa,MAAM,CAAC,IAAI,EAAE,EAChC,SAAS,EAAC,0CAA0C,EACpD,OAAO,EAAE,GAAG,EAAE;QACZ,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC,EACD,IAAI,EAAE;QACJ;YACE,UAAU,EAAE,cAAc;YAC1B,MAAM,EAAE;gBACN,WAAW,EAAE,8BAA8B;gBAC3C,aAAa,EAAE,gBAAgB;gBAC/B,cAAc,EAAE,MAAM,CAAC,IAAI;aAC5B;SACF;KACF,YAED,KAAC,IAAI,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,YAAY,YAClC,MAAM,CAAC,IAAI,GACP,IApBF,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAqBV,CACf,CAAC,CAAC,CAAC,IAAI,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
|
|
2
2
|
import { JSX } from '@redneckz/uni-jsx';
|
|
3
|
+
import { getAspectsAttributes } from '../../utils/dataAttributes.js';
|
|
3
4
|
import { style } from '../../utils/style.js';
|
|
4
5
|
import { Text } from '../Text/Text.js';
|
|
5
6
|
import { ICON_SIZE } from './iconSize.js';
|
|
@@ -9,7 +10,7 @@ const TEXT_COLOR = {
|
|
|
9
10
|
'bg-white': 'text-primary-text',
|
|
10
11
|
transparent: 'text-white',
|
|
11
12
|
};
|
|
12
|
-
export const Logo = JSX(({ className, href = '/', logo, children, targetBlank, bgColor = 'bg-white', showTitle = true, }) => (_jsxs("a", { className: style('inline-flex items-center font-sans no-underline', className), href: href, target: targetBlank ? '_blank' : '_self', "aria-label": logo?.title ?? 'Россельхозбанк', children: [renderImage(bgColor, logo?.image, ICON_SIZE), showTitle
|
|
13
|
+
export const Logo = JSX(({ className, href = '/', logo, children, targetBlank, bgColor = 'bg-white', showTitle = true, }) => (_jsxs("a", { className: style('inline-flex items-center font-sans no-underline', className), href: href, target: targetBlank ? '_blank' : '_self', "aria-label": logo?.title ?? 'Россельхозбанк', ...getAspectsAttributes(logo?.data), children: [renderImage(bgColor, logo?.image, ICON_SIZE), showTitle
|
|
13
14
|
? children ?? (_jsx("div", { className: "ml-s", children: _jsx(Text, { font: "font-medium", color: TEXT_COLOR[bgColor], size: logoTitleSizeStyle, children: logo?.title ?? 'Россельхозбанк' }) }))
|
|
14
15
|
: null] })));
|
|
15
16
|
//# sourceMappingURL=Logo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logo.js","sourceRoot":"","sources":["../../../src/ui-kit/Logo/Logo.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAGxC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAW5C,MAAM,UAAU,GAAsC;IACpD,UAAU,EAAE,mBAAmB;IAC/B,WAAW,EAAE,YAAY;CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CACrB,CAAC,EACC,SAAS,EACT,IAAI,GAAG,GAAG,EACV,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,OAAO,GAAG,UAAU,EACpB,SAAS,GAAG,IAAI,GACjB,EAAE,EAAE,CAAC,CACJ,aACE,SAAS,EAAE,KAAK,CAAC,iDAAiD,EAAE,SAAS,CAAC,EAC9E,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,gBAC5B,IAAI,EAAE,KAAK,IAAI,gBAAgB,
|
|
1
|
+
{"version":3,"file":"Logo.js","sourceRoot":"","sources":["../../../src/ui-kit/Logo/Logo.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAGxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAW5C,MAAM,UAAU,GAAsC;IACpD,UAAU,EAAE,mBAAmB;IAC/B,WAAW,EAAE,YAAY;CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CACrB,CAAC,EACC,SAAS,EACT,IAAI,GAAG,GAAG,EACV,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,OAAO,GAAG,UAAU,EACpB,SAAS,GAAG,IAAI,GACjB,EAAE,EAAE,CAAC,CACJ,aACE,SAAS,EAAE,KAAK,CAAC,iDAAiD,EAAE,SAAS,CAAC,EAC9E,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,gBAC5B,IAAI,EAAE,KAAK,IAAI,gBAAgB,KAEvC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,aAEnC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,EAC5C,SAAS;YACR,CAAC,CAAC,QAAQ,IAAI,CACV,cAAK,SAAS,EAAC,MAAM,YACnB,KAAC,IAAI,IAAC,IAAI,EAAC,aAAa,EAAC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,kBAAkB,YAC1E,IAAI,EAAE,KAAK,IAAI,gBAAgB,GAC3B,GACH,CACP;YACH,CAAC,CAAC,IAAI,IACN,CACL,CACF,CAAC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx } from "@redneckz/uni-jsx/jsx-runtime";
|
|
2
2
|
import { JSX } from '@redneckz/uni-jsx';
|
|
3
3
|
import { useLink } from '../../hooks/useLink.js';
|
|
4
|
+
import { getAspectsAttributes } from '../../utils/dataAttributes.js';
|
|
4
5
|
import { style } from '../../utils/style.js';
|
|
5
|
-
export const TopItem = JSX(({ className = '', active, flat, children, ...rest }) => {
|
|
6
|
+
export const TopItem = JSX(({ className = '', active, flat, children, data, ...rest }) => {
|
|
6
7
|
const link = useLink({ isRemote: true });
|
|
7
8
|
const { href, target, text, onClick } = link(rest);
|
|
8
|
-
return (_jsx("a", { className: style(getLinkStyle(active, flat), className), href: href, target: target, onClick: onClick, rel: "noopener noreferrer", "aria-label": text, children: _jsx("span", { className: getTextStyle(active, flat), children: text || children }) }));
|
|
9
|
+
return (_jsx("a", { className: style(getLinkStyle(active, flat), className), href: href, target: target, onClick: onClick, rel: "noopener noreferrer", "aria-label": text, ...getAspectsAttributes(data), children: _jsx("span", { className: getTextStyle(active, flat), children: text || children }) }));
|
|
9
10
|
});
|
|
10
11
|
const getLinkStyle = (active = false, flat = false) => style('inline-block border border-solid bg-transparent text-center no-underline', active
|
|
11
12
|
? 'rounded-md border-primary-main group-data-transparent:border-white'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TopItem.js","sourceRoot":"","sources":["../../../src/ui-kit/TopItem/TopItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAa1C,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,
|
|
1
|
+
{"version":3,"file":"TopItem.js","sourceRoot":"","sources":["../../../src/ui-kit/TopItem/TopItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAa1C,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CACxB,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;IAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAEnD,OAAO,CACL,YACE,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC,EACvD,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,GAAG,EAAC,qBAAqB,gBACb,IAAI,KAEZ,oBAAoB,CAAC,IAAI,CAAC,YAE9B,eAAM,SAAS,EAAE,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,YAAG,IAAI,IAAI,QAAQ,GAAQ,GACpE,CACL,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,MAAM,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,EAAE,EAAE,CACpD,KAAK,CACH,0EAA0E,EAC1E,MAAM;IACJ,CAAC,CAAC,oEAAoE;IACtE,CAAC,CAAC,oBAAoB,EACxB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CACzB,CAAC;AAEJ,MAAM,YAAY,GAAG,CAAC,MAAM,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,EAAE,EAAE,CACpD,KAAK,CACH,6BAA6B,EAC7B,MAAM;IACJ,CAAC,CAAC,mBAAmB;IACrB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,qBAAqB,EAAE,yBAAyB,CAAC,EACxF,mFAAmF,CACpF,CAAC"}
|
|
@@ -73,7 +73,7 @@ export const Footer = UniBlock<FooterProps>(({ className, footer, ...rest }) =>
|
|
|
73
73
|
|
|
74
74
|
const renderTopItems = (topItems: TopMenuItemProps[] | undefined) =>
|
|
75
75
|
topItems
|
|
76
|
-
?.filter((_) => _.icon)
|
|
76
|
+
?.filter((_) => _.icon?.icon)
|
|
77
77
|
.map((item, i) => (
|
|
78
78
|
<RollupItem
|
|
79
79
|
key={String(i)}
|
|
@@ -9,6 +9,11 @@ import { TopItem } from '../../ui-kit/TopItem/TopItem';
|
|
|
9
9
|
import { style } from '../../utils/style';
|
|
10
10
|
import { HeaderSecondaryMenuButton } from './HeaderSecondaryMenuButton';
|
|
11
11
|
|
|
12
|
+
const MINDBOX_ASPECT = 'mindboxEvent';
|
|
13
|
+
const MINDBOX_CATEGORY = 'header';
|
|
14
|
+
const MINDBOX_EVENT_REGION_CLICK = 'headerRegionClick';
|
|
15
|
+
const MINDBOX_EVENT_SEARCH_CLICK = 'headerSearchClick';
|
|
16
|
+
|
|
12
17
|
interface HeaderSecondaryMenuContent extends SitemapData {
|
|
13
18
|
version?: BlockVersion;
|
|
14
19
|
}
|
|
@@ -32,15 +37,34 @@ export const HeaderSecondaryMenu = JSX<HeaderSecondaryMenuProps>(
|
|
|
32
37
|
flat={true}
|
|
33
38
|
href="#"
|
|
34
39
|
text={currentLocation?.name}
|
|
40
|
+
data={[
|
|
41
|
+
{
|
|
42
|
+
aspectName: MINDBOX_ASPECT,
|
|
43
|
+
params: {
|
|
44
|
+
eventAction: MINDBOX_EVENT_REGION_CLICK,
|
|
45
|
+
eventCategory: MINDBOX_CATEGORY,
|
|
46
|
+
eventValueText: currentLocation?.name ?? '',
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
]}
|
|
35
50
|
onClick={() => locationDialog.open()}
|
|
36
51
|
/>
|
|
37
|
-
{rest.
|
|
38
|
-
<TopItem flat={true}
|
|
52
|
+
{rest.officesAtms?.href ? (
|
|
53
|
+
<TopItem flat={true} text="Офисы и банкоматы" {...rest.officesAtms} />
|
|
39
54
|
) : null}
|
|
40
55
|
<HeaderSecondaryMenuButton
|
|
41
56
|
image={{ icon: 'LoupeIcon', iconVersion }}
|
|
42
57
|
ariaLabel="Поиск"
|
|
43
58
|
onClick={() => searchDialog.open()}
|
|
59
|
+
data={[
|
|
60
|
+
{
|
|
61
|
+
aspectName: MINDBOX_ASPECT,
|
|
62
|
+
params: {
|
|
63
|
+
eventAction: MINDBOX_EVENT_SEARCH_CLICK,
|
|
64
|
+
eventCategory: MINDBOX_CATEGORY,
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
]}
|
|
44
68
|
/>
|
|
45
69
|
</div>
|
|
46
70
|
);
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import { type AspectsProps } from '../../model/AspectsProps';
|
|
2
3
|
import { Img } from '../../ui-kit/Img/Img';
|
|
3
4
|
import { type ImageContent } from '../../ui-kit/Img/ImgProps';
|
|
4
5
|
import { type PreventableEventWithTarget } from '../../ui-kit/PreventableEvent';
|
|
6
|
+
import { getAspectsAttributes } from '../../utils/dataAttributes';
|
|
5
7
|
import { style } from '../../utils/style';
|
|
6
8
|
|
|
7
9
|
export interface HeaderSecondaryMenuButtonProps extends ImageContent {
|
|
@@ -12,6 +14,7 @@ export interface HeaderSecondaryMenuButtonProps extends ImageContent {
|
|
|
12
14
|
disabled?: boolean;
|
|
13
15
|
ariaLabel?: string;
|
|
14
16
|
onClick?: (ev: PreventableEventWithTarget) => void;
|
|
17
|
+
data?: AspectsProps;
|
|
15
18
|
}
|
|
16
19
|
|
|
17
20
|
const BUTTON_SIZE_STYLE = {
|
|
@@ -28,6 +31,7 @@ export const HeaderSecondaryMenuButton = JSX<HeaderSecondaryMenuButtonProps>(
|
|
|
28
31
|
disabled,
|
|
29
32
|
ariaLabel,
|
|
30
33
|
image,
|
|
34
|
+
data,
|
|
31
35
|
onClick,
|
|
32
36
|
}) => (
|
|
33
37
|
<button
|
|
@@ -45,6 +49,8 @@ export const HeaderSecondaryMenuButton = JSX<HeaderSecondaryMenuButtonProps>(
|
|
|
45
49
|
disabled={disabled}
|
|
46
50
|
aria-label={ariaLabel}
|
|
47
51
|
onClick={onClick}
|
|
52
|
+
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
53
|
+
{...getAspectsAttributes(data)}
|
|
48
54
|
>
|
|
49
55
|
<Img
|
|
50
56
|
image={image}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
2
|
import { useMemo, useRef, useState } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
|
+
import { type SitemapLinkProps } from '../../data/SitemapData';
|
|
3
4
|
import { type IntersectionObserverOptions } from '../../hooks/useIntersectionObserver';
|
|
4
5
|
import { useRouter } from '../../hooks/useRouter';
|
|
5
6
|
import { type BlockVersion } from '../../model/BlockVersion';
|
|
6
7
|
import { type IconVersion } from '../../model/IconVersion';
|
|
7
|
-
import { type LinkProps } from '../../model/LinkProps';
|
|
8
8
|
import { projectSettings } from '../../ProjectSettings';
|
|
9
9
|
import { DropdownMenu } from './DropdownMenu';
|
|
10
10
|
import { findActiveSubItem } from './findActiveSubItem';
|
|
@@ -13,13 +13,9 @@ import { HeaderSubMenuItem } from './HeaderSubMenuItem';
|
|
|
13
13
|
import { InternetBankButton } from './InternetBankButton';
|
|
14
14
|
import { isVisibleItem } from './isVisibleItem';
|
|
15
15
|
|
|
16
|
-
interface HeaderSubMenuLinkProps extends LinkProps {
|
|
17
|
-
displayArea?: string;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
16
|
export interface HeaderSubMenuProps {
|
|
21
17
|
version?: BlockVersion;
|
|
22
|
-
subItems?:
|
|
18
|
+
subItems?: SitemapLinkProps[];
|
|
23
19
|
internetBankUrl?: string;
|
|
24
20
|
}
|
|
25
21
|
|
|
@@ -64,6 +60,7 @@ export const HeaderSubMenu = JSX<HeaderSubMenuProps>(
|
|
|
64
60
|
active={_ === activeSubItem}
|
|
65
61
|
observerOptions={observerOptions}
|
|
66
62
|
onVisibilityChange={subItemsVisibilityHandlers[i]}
|
|
63
|
+
data={_.dataHeader}
|
|
67
64
|
{..._}
|
|
68
65
|
/>
|
|
69
66
|
))}
|
|
@@ -3,15 +3,17 @@ import { useCallback, useEffect, useMemo, useState } from '@redneckz/uni-jsx/lib
|
|
|
3
3
|
import { type RefObject } from 'react';
|
|
4
4
|
import { type SitemapData } from '../../data/SitemapData';
|
|
5
5
|
import { useActiveRoute } from '../../hooks/useActiveRoute';
|
|
6
|
+
import { useLink } from '../../hooks/useLink';
|
|
6
7
|
import { useLocation } from '../../hooks/useLocation';
|
|
7
8
|
import { type Region } from '../../hooks/useRegions';
|
|
8
|
-
import { type LinkProps } from '../../model/LinkProps';
|
|
9
|
+
import { type LinkCommonProps, type LinkProps } from '../../model/LinkProps';
|
|
9
10
|
import { Dialog } from '../../ui-kit/DialogManager/Dialog';
|
|
10
11
|
import { Heading } from '../../ui-kit/Heading/Heading';
|
|
11
12
|
import { Img } from '../../ui-kit/Img/Img';
|
|
12
13
|
import { useLocationDialog } from '../../ui-kit/LocationDialog/useLocationDialog';
|
|
13
14
|
import { SwipeListContainer } from '../../ui-kit/SwipeListControl/SwipeListContainer';
|
|
14
15
|
import { useSwipeListScroll } from '../../ui-kit/SwipeListControl/useSwipeListScroll';
|
|
16
|
+
import { getAspectsAttributes } from '../../utils/dataAttributes';
|
|
15
17
|
import { style } from '../../utils/style';
|
|
16
18
|
import { ActiveSubMenuItem } from './ActiveSubMenuItem';
|
|
17
19
|
import { TopItemMobile } from './TopItemMobile';
|
|
@@ -21,7 +23,7 @@ export interface BurgerMenuDialogProps extends SitemapData {
|
|
|
21
23
|
}
|
|
22
24
|
|
|
23
25
|
export const BurgerMenuDialog = JSX<BurgerMenuDialogProps>((props) => {
|
|
24
|
-
const { topItems, defaultLocation,
|
|
26
|
+
const { topItems, defaultLocation, officesAtms } = props;
|
|
25
27
|
|
|
26
28
|
const [location] = useLocation(defaultLocation);
|
|
27
29
|
const locationDialog = useLocationDialog(props);
|
|
@@ -34,6 +36,8 @@ export const BurgerMenuDialog = JSX<BurgerMenuDialogProps>((props) => {
|
|
|
34
36
|
const activeRoute = useMemo(() => topItems?.[activeTopItemIndex], [topItems, activeTopItemIndex]);
|
|
35
37
|
const activeMenuSubItems = activeRoute?.items || [];
|
|
36
38
|
|
|
39
|
+
const link = useLink();
|
|
40
|
+
|
|
37
41
|
useEffect(() => {
|
|
38
42
|
setActiveTopItemIndex(activeIndex);
|
|
39
43
|
}, [activeIndex]);
|
|
@@ -75,7 +79,7 @@ export const BurgerMenuDialog = JSX<BurgerMenuDialogProps>((props) => {
|
|
|
75
79
|
</div>
|
|
76
80
|
<div className="relative grow">
|
|
77
81
|
{renderActiveSubMenu(activeMenuSubItems, activeRoute?.href)}
|
|
78
|
-
{renderOfficeLink(
|
|
82
|
+
{officesAtms?.href ? renderOfficeLink(link)(officesAtms) : null}
|
|
79
83
|
{renderLocation(location, () => locationDialog.open())}
|
|
80
84
|
</div>
|
|
81
85
|
</div>
|
|
@@ -92,8 +96,10 @@ const renderActiveSubMenu = (activeMenuSubItems: LinkProps[] | undefined, basePa
|
|
|
92
96
|
</div>
|
|
93
97
|
) : null;
|
|
94
98
|
|
|
95
|
-
const renderOfficeLink = (
|
|
96
|
-
|
|
99
|
+
const renderOfficeLink = (link: ReturnType<typeof useLink>) => (officesAtms: LinkCommonProps) => {
|
|
100
|
+
const { href, target, onClick } = link(officesAtms);
|
|
101
|
+
|
|
102
|
+
return (
|
|
97
103
|
<div className="mt-3">
|
|
98
104
|
<a
|
|
99
105
|
className={style(
|
|
@@ -102,9 +108,13 @@ const renderOfficeLink = (officesLink?: string) =>
|
|
|
102
108
|
'shadow-main-black',
|
|
103
109
|
'rounded-xl',
|
|
104
110
|
)}
|
|
105
|
-
href={
|
|
111
|
+
href={href}
|
|
112
|
+
target={target}
|
|
113
|
+
onClick={onClick}
|
|
106
114
|
rel="noopener noreferrer"
|
|
107
115
|
aria-label="Отделения и банкоматы"
|
|
116
|
+
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
117
|
+
{...getAspectsAttributes(officesAtms?.data)}
|
|
108
118
|
>
|
|
109
119
|
<span>Офисы и банкоматы</span>
|
|
110
120
|
<Img
|
|
@@ -115,7 +125,8 @@ const renderOfficeLink = (officesLink?: string) =>
|
|
|
115
125
|
/>
|
|
116
126
|
</a>
|
|
117
127
|
</div>
|
|
118
|
-
)
|
|
128
|
+
);
|
|
129
|
+
};
|
|
119
130
|
|
|
120
131
|
const renderLocation = (location: Region, onClick?: () => void) => (
|
|
121
132
|
<div
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type AspectsProps } from '../model/AspectsProps';
|
|
2
|
+
import { type LinkCommonProps, type LinkProps } from '../model/LinkProps';
|
|
2
3
|
import { type LogoType } from '../model/LogoType';
|
|
3
4
|
import { type IconProps, type Picture } from '../model/Picture';
|
|
4
5
|
|
|
5
|
-
interface SitemapLinkProps extends LinkProps {
|
|
6
|
+
export interface SitemapLinkProps extends LinkProps {
|
|
6
7
|
displayArea?: string;
|
|
8
|
+
dataHeader?: AspectsProps;
|
|
9
|
+
dataFooter?: AspectsProps;
|
|
7
10
|
}
|
|
8
11
|
|
|
9
12
|
/**
|
|
@@ -15,6 +18,10 @@ export interface TopMenuItemProps extends LinkProps, IconProps {
|
|
|
15
18
|
items?: SitemapLinkProps[];
|
|
16
19
|
/** @hidden */
|
|
17
20
|
displayArea?: string;
|
|
21
|
+
/** @hidden */
|
|
22
|
+
dataHeader?: AspectsProps;
|
|
23
|
+
/** @hidden */
|
|
24
|
+
dataFooter?: AspectsProps;
|
|
18
25
|
}
|
|
19
26
|
|
|
20
27
|
/**
|
|
@@ -38,5 +45,5 @@ export interface SitemapData {
|
|
|
38
45
|
dispositions?: DispositionItem[];
|
|
39
46
|
foreignOffices?: ForeignOfficeProps[];
|
|
40
47
|
defaultLocation?: string;
|
|
41
|
-
|
|
48
|
+
officesAtms?: LinkCommonProps;
|
|
42
49
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { type ImageContent } from '../ui-kit/Img/ImgProps';
|
|
2
|
+
import { type AspectsProps } from './AspectsProps';
|
|
2
3
|
import { type TitleProps } from './HeadlineType';
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* @title Логотип
|
|
6
7
|
*/
|
|
7
|
-
export type LogoType = ImageContent & TitleProps;
|
|
8
|
+
export type LogoType = ImageContent & TitleProps & { data?: AspectsProps };
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
2
|
import { useLink } from '../../hooks/useLink';
|
|
3
|
+
import { type AspectsProps } from '../../model/AspectsProps';
|
|
3
4
|
import { type Target } from '../../model/LinkProps';
|
|
5
|
+
import { getAspectsAttributes } from '../../utils/dataAttributes';
|
|
4
6
|
import { style } from '../../utils/style';
|
|
5
7
|
|
|
6
8
|
interface LinkWrapperProps {
|
|
@@ -9,10 +11,11 @@ interface LinkWrapperProps {
|
|
|
9
11
|
target?: Target;
|
|
10
12
|
isRemote?: boolean;
|
|
11
13
|
onClick?: () => void;
|
|
14
|
+
data?: AspectsProps;
|
|
12
15
|
}
|
|
13
16
|
|
|
14
17
|
export const LinkWrapper = JSX<LinkWrapperProps>(
|
|
15
|
-
({ className = '', href, target, isRemote = false, onClick, children }) => {
|
|
18
|
+
({ className = '', href, target, isRemote = false, onClick, data, children }) => {
|
|
16
19
|
const link = useLink({ isRemote });
|
|
17
20
|
const linkProps = link({ href, target, onClick });
|
|
18
21
|
const Tag = href ? 'a' : 'div';
|
|
@@ -22,6 +25,8 @@ export const LinkWrapper = JSX<LinkWrapperProps>(
|
|
|
22
25
|
className={style('block', className)}
|
|
23
26
|
{...(href ? linkProps : {})}
|
|
24
27
|
role={href ? 'link' : 'none'}
|
|
28
|
+
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
29
|
+
{...getAspectsAttributes(data)}
|
|
25
30
|
>
|
|
26
31
|
{children}
|
|
27
32
|
</Tag>
|
|
@@ -2,6 +2,10 @@ import { type Region } from '../../hooks/useRegions';
|
|
|
2
2
|
import { LinkWrapper } from '../LinkWrapper/LinkWrapper';
|
|
3
3
|
import { Text } from '../Text/Text';
|
|
4
4
|
|
|
5
|
+
const MINDBOX_ASPECT = 'mindboxEvent';
|
|
6
|
+
const MINDBOX_CATEGORY = 'header';
|
|
7
|
+
const MINDBOX_EVENT_REGION_NEW_CLICK = 'headerRegionNewSelect';
|
|
8
|
+
|
|
5
9
|
export const renderRegion = (onChangeLocation?: (region: Region) => void) => (region: Region) =>
|
|
6
10
|
region.name ? (
|
|
7
11
|
<LinkWrapper
|
|
@@ -12,6 +16,16 @@ export const renderRegion = (onChangeLocation?: (region: Region) => void) => (re
|
|
|
12
16
|
onClick={() => {
|
|
13
17
|
onChangeLocation && onChangeLocation(region);
|
|
14
18
|
}}
|
|
19
|
+
data={[
|
|
20
|
+
{
|
|
21
|
+
aspectName: MINDBOX_ASPECT,
|
|
22
|
+
params: {
|
|
23
|
+
eventAction: MINDBOX_EVENT_REGION_NEW_CLICK,
|
|
24
|
+
eventCategory: MINDBOX_CATEGORY,
|
|
25
|
+
eventValueText: region.name,
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
]}
|
|
15
29
|
>
|
|
16
30
|
<Text size="text-l" font="font-light">
|
|
17
31
|
{region.name}
|