@redneckz/wildless-cms-uni-blocks 0.14.875 → 0.14.876

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/bundle/bundle.umd.js +78 -46
  2. package/bundle/bundle.umd.min.js +1 -1
  3. package/bundle/components/Header/DropdownButton.d.ts +2 -0
  4. package/bundle/components/Header/DropdownMenu.d.ts +5 -2
  5. package/bundle/components/Header/HeaderMoreMenuItem.d.ts +9 -0
  6. package/bundle/components/Header/HeaderSubMenuItem.d.ts +3 -0
  7. package/bundle/components/Header/useDropdownSubMenu.d.ts +11 -0
  8. package/bundle/data/NavigationData.d.ts +1 -0
  9. package/dist/components/Header/DropdownButton.d.ts +2 -0
  10. package/dist/components/Header/DropdownButton.js +11 -0
  11. package/dist/components/Header/DropdownButton.js.map +1 -0
  12. package/dist/components/Header/DropdownMenu.d.ts +5 -2
  13. package/dist/components/Header/DropdownMenu.js +2 -36
  14. package/dist/components/Header/DropdownMenu.js.map +1 -1
  15. package/dist/components/Header/HeaderMoreMenuItem.d.ts +9 -0
  16. package/dist/components/Header/HeaderMoreMenuItem.js +27 -0
  17. package/dist/components/Header/HeaderMoreMenuItem.js.map +1 -0
  18. package/dist/components/Header/HeaderSubMenu.js +2 -2
  19. package/dist/components/Header/HeaderSubMenu.js.map +1 -1
  20. package/dist/components/Header/HeaderSubMenuItem.d.ts +3 -0
  21. package/dist/components/Header/HeaderSubMenuItem.js +19 -2
  22. package/dist/components/Header/HeaderSubMenuItem.js.map +1 -1
  23. package/dist/components/Header/HeaderTopMenu.js +2 -2
  24. package/dist/components/Header/HeaderTopMenu.js.map +1 -1
  25. package/dist/components/Header/useDropdownSubMenu.d.ts +11 -0
  26. package/dist/components/Header/useDropdownSubMenu.js +37 -0
  27. package/dist/components/Header/useDropdownSubMenu.js.map +1 -0
  28. package/dist/data/NavigationData.d.ts +1 -0
  29. package/lib/components/Header/DropdownButton.d.ts +2 -0
  30. package/lib/components/Header/DropdownButton.js +9 -0
  31. package/lib/components/Header/DropdownButton.js.map +1 -0
  32. package/lib/components/Header/DropdownMenu.d.ts +5 -2
  33. package/lib/components/Header/DropdownMenu.js +2 -37
  34. package/lib/components/Header/DropdownMenu.js.map +1 -1
  35. package/lib/components/Header/HeaderMoreMenuItem.d.ts +9 -0
  36. package/lib/components/Header/HeaderMoreMenuItem.js +25 -0
  37. package/lib/components/Header/HeaderMoreMenuItem.js.map +1 -0
  38. package/lib/components/Header/HeaderSubMenu.js +2 -2
  39. package/lib/components/Header/HeaderSubMenu.js.map +1 -1
  40. package/lib/components/Header/HeaderSubMenuItem.d.ts +3 -0
  41. package/lib/components/Header/HeaderSubMenuItem.js +20 -3
  42. package/lib/components/Header/HeaderSubMenuItem.js.map +1 -1
  43. package/lib/components/Header/HeaderTopMenu.js +2 -2
  44. package/lib/components/Header/HeaderTopMenu.js.map +1 -1
  45. package/lib/components/Header/useDropdownSubMenu.d.ts +11 -0
  46. package/lib/components/Header/useDropdownSubMenu.js +34 -0
  47. package/lib/components/Header/useDropdownSubMenu.js.map +1 -0
  48. package/lib/data/NavigationData.d.ts +1 -0
  49. package/mobile/bundle/bundle.umd.js +1 -1
  50. package/mobile/bundle/bundle.umd.min.js +1 -1
  51. package/mobile/bundle/components/Header/DropdownButton.d.ts +2 -0
  52. package/mobile/bundle/components/Header/DropdownMenu.d.ts +5 -2
  53. package/mobile/bundle/components/Header/HeaderMoreMenuItem.d.ts +9 -0
  54. package/mobile/bundle/components/Header/HeaderSubMenuItem.d.ts +3 -0
  55. package/mobile/bundle/components/Header/useDropdownSubMenu.d.ts +11 -0
  56. package/mobile/bundle/data/NavigationData.d.ts +1 -0
  57. package/mobile/dist/components/Header/DropdownButton.d.ts +2 -0
  58. package/mobile/dist/components/Header/DropdownButton.js +11 -0
  59. package/mobile/dist/components/Header/DropdownButton.js.map +1 -0
  60. package/mobile/dist/components/Header/DropdownMenu.d.ts +5 -2
  61. package/mobile/dist/components/Header/DropdownMenu.js +2 -36
  62. package/mobile/dist/components/Header/DropdownMenu.js.map +1 -1
  63. package/mobile/dist/components/Header/HeaderMoreMenuItem.d.ts +9 -0
  64. package/mobile/dist/components/Header/HeaderMoreMenuItem.js +27 -0
  65. package/mobile/dist/components/Header/HeaderMoreMenuItem.js.map +1 -0
  66. package/mobile/dist/components/Header/HeaderSubMenu.js +2 -2
  67. package/mobile/dist/components/Header/HeaderSubMenu.js.map +1 -1
  68. package/mobile/dist/components/Header/HeaderSubMenuItem.d.ts +3 -0
  69. package/mobile/dist/components/Header/HeaderSubMenuItem.js +19 -2
  70. package/mobile/dist/components/Header/HeaderSubMenuItem.js.map +1 -1
  71. package/mobile/dist/components/Header/HeaderTopMenu.js +2 -2
  72. package/mobile/dist/components/Header/HeaderTopMenu.js.map +1 -1
  73. package/mobile/dist/components/Header/useDropdownSubMenu.d.ts +11 -0
  74. package/mobile/dist/components/Header/useDropdownSubMenu.js +37 -0
  75. package/mobile/dist/components/Header/useDropdownSubMenu.js.map +1 -0
  76. package/mobile/dist/data/NavigationData.d.ts +1 -0
  77. package/mobile/lib/components/Header/DropdownButton.d.ts +2 -0
  78. package/mobile/lib/components/Header/DropdownButton.js +9 -0
  79. package/mobile/lib/components/Header/DropdownButton.js.map +1 -0
  80. package/mobile/lib/components/Header/DropdownMenu.d.ts +5 -2
  81. package/mobile/lib/components/Header/DropdownMenu.js +2 -37
  82. package/mobile/lib/components/Header/DropdownMenu.js.map +1 -1
  83. package/mobile/lib/components/Header/HeaderMoreMenuItem.d.ts +9 -0
  84. package/mobile/lib/components/Header/HeaderMoreMenuItem.js +25 -0
  85. package/mobile/lib/components/Header/HeaderMoreMenuItem.js.map +1 -0
  86. package/mobile/lib/components/Header/HeaderSubMenu.js +2 -2
  87. package/mobile/lib/components/Header/HeaderSubMenu.js.map +1 -1
  88. package/mobile/lib/components/Header/HeaderSubMenuItem.d.ts +3 -0
  89. package/mobile/lib/components/Header/HeaderSubMenuItem.js +20 -3
  90. package/mobile/lib/components/Header/HeaderSubMenuItem.js.map +1 -1
  91. package/mobile/lib/components/Header/HeaderTopMenu.js +2 -2
  92. package/mobile/lib/components/Header/HeaderTopMenu.js.map +1 -1
  93. package/mobile/lib/components/Header/useDropdownSubMenu.d.ts +11 -0
  94. package/mobile/lib/components/Header/useDropdownSubMenu.js +34 -0
  95. package/mobile/lib/components/Header/useDropdownSubMenu.js.map +1 -0
  96. package/mobile/lib/data/NavigationData.d.ts +1 -0
  97. package/mobile/src/components/Header/DropdownButton.tsx +26 -0
  98. package/mobile/src/components/Header/DropdownMenu.tsx +15 -85
  99. package/mobile/src/components/Header/HeaderMoreMenuItem.tsx +60 -0
  100. package/mobile/src/components/Header/HeaderSubMenu.tsx +3 -2
  101. package/mobile/src/components/Header/HeaderSubMenuItem.tsx +31 -5
  102. package/mobile/src/components/Header/HeaderTopMenu.tsx +3 -3
  103. package/mobile/src/components/Header/useDropdownSubMenu.tsx +48 -0
  104. package/mobile/src/data/NavigationData.ts +1 -0
  105. package/package.json +1 -1
  106. package/src/components/Header/DropdownButton.tsx +26 -0
  107. package/src/components/Header/DropdownMenu.tsx +15 -85
  108. package/src/components/Header/Header.fixture.tsx +4 -0
  109. package/src/components/Header/HeaderMoreMenuItem.tsx +60 -0
  110. package/src/components/Header/HeaderSubMenu.tsx +3 -2
  111. package/src/components/Header/HeaderSubMenuItem.tsx +31 -5
  112. package/src/components/Header/HeaderTopMenu.tsx +3 -3
  113. package/src/components/Header/useDropdownSubMenu.tsx +48 -0
  114. package/src/data/NavigationData.ts +1 -0
  115. package/src/icons/IconName.ts +4 -4
@@ -1,9 +1,12 @@
1
+ import { type NavigationLinkProps } from '../../data/NavigationData';
1
2
  import { type IntersectionObserverOptions } from '../../hooks/useIntersectionObserver';
2
3
  import { type ComponentType } from '../../model/ComponentType';
3
4
  import { type LinkProps } from '../../model/LinkProps';
4
5
  export interface HeaderSubMenuItemProps extends LinkProps, ComponentType {
5
6
  active?: boolean;
7
+ activeItem?: LinkProps;
6
8
  observerOptions?: IntersectionObserverOptions;
7
9
  onVisibilityChange?: (isIntersecting: boolean) => void;
10
+ items?: NavigationLinkProps[];
8
11
  }
9
12
  export declare const HeaderSubMenuItem: import("@redneckz/uni-jsx").UNIComponent<HeaderSubMenuItemProps, any, any>;
@@ -1,9 +1,12 @@
1
1
  import { jsx as _jsx } from "@redneckz/uni-jsx/jsx-runtime";
2
2
  import { JSX } from '@redneckz/uni-jsx';
3
- import { useCallback } from '@redneckz/uni-jsx/lib/hooks';
3
+ import { useCallback, useEffect } from '@redneckz/uni-jsx/lib/hooks';
4
+ import { useBool } from '@redneckz/uni-jsx/lib/hooks/useBool';
4
5
  import { useIntersectionObserver, } from '../../hooks/useIntersectionObserver.js';
5
6
  import { HeaderItem } from '../../ui-kit/HeaderItem/HeaderItem.js';
6
- export const HeaderSubMenuItem = JSX(({ observerOptions, onVisibilityChange, children, className, ...rest }) => {
7
+ import { useDropdownSubMenu } from './useDropdownSubMenu.js';
8
+ export const HeaderSubMenuItem = JSX(({ observerOptions, onVisibilityChange, children, className, items, activeItem, ...rest }) => {
9
+ const [isOpenDropdown, { setFalse, setTrue }] = useBool(false);
7
10
  const observerCallback = useCallback((entries) => {
8
11
  if (!entries.length || !onVisibilityChange) {
9
12
  return;
@@ -13,6 +16,20 @@ export const HeaderSubMenuItem = JSX(({ observerOptions, onVisibilityChange, chi
13
16
  onVisibilityChange(entry.isIntersecting);
14
17
  }, [onVisibilityChange]);
15
18
  const ref = useIntersectionObserver(observerCallback, observerOptions);
16
- return (_jsx("span", { ref: ref, className: className, role: "menuitem", children: _jsx(HeaderItem, { ...rest, children: children }) }));
19
+ const dropdownMenu = useDropdownSubMenu({
20
+ items,
21
+ onClose: setFalse,
22
+ isOpen: isOpenDropdown,
23
+ activeItem,
24
+ });
25
+ useEffect(() => {
26
+ dropdownMenu.current?.addEventListener('mouseenter', setTrue);
27
+ dropdownMenu.current?.addEventListener('mouseleave', setFalse);
28
+ return () => {
29
+ dropdownMenu.current?.addEventListener('mouseenter', setTrue);
30
+ dropdownMenu.current?.removeEventListener('mouseleave', setFalse);
31
+ };
32
+ }, []);
33
+ return (_jsx("div", { className: "inline-block", ref: dropdownMenu, children: _jsx("span", { ref: ref, className: className, role: "menuitem", children: _jsx(HeaderItem, { ...rest, children: children }) }) }));
17
34
  });
18
35
  //# sourceMappingURL=HeaderSubMenuItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderSubMenuItem.js","sourceRoot":"","sources":["../../../src/components/Header/HeaderSubMenuItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EACL,uBAAuB,GAExB,MAAM,qCAAqC,CAAC;AAG7C,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAQhE,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAClC,CAAC,EAAE,eAAe,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;IACxE,MAAM,gBAAgB,GAAG,WAAW,CAClC,CAAC,OAAoC,EAAE,EAAE;QACvC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE;YAC1C,OAAO;SACR;QAED,2CAA2C;QAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE1C,kBAAkB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC3C,CAAC,EACD,CAAC,kBAAkB,CAAC,CACrB,CAAC;IACF,MAAM,GAAG,GAAG,uBAAuB,CAAkB,gBAAgB,EAAE,eAAe,CAAC,CAAC;IAExF,OAAO,CACL,eAAM,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAC,UAAU,YACnD,KAAC,UAAU,OAAK,IAAI,YAAG,QAAQ,GAAc,GACxC,CACR,CAAC;AACJ,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"HeaderSubMenuItem.js","sourceRoot":"","sources":["../../../src/components/Header/HeaderSubMenuItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAE9D,OAAO,EACL,uBAAuB,GAExB,MAAM,qCAAqC,CAAC;AAG7C,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAU1D,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAClC,CAAC,EAAE,eAAe,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;IAC3F,MAAM,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAE/D,MAAM,gBAAgB,GAAG,WAAW,CAClC,CAAC,OAAoC,EAAE,EAAE;QACvC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE;YAC1C,OAAO;SACR;QAED,2CAA2C;QAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE1C,kBAAkB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC3C,CAAC,EACD,CAAC,kBAAkB,CAAC,CACrB,CAAC;IACF,MAAM,GAAG,GAAG,uBAAuB,CAAkB,gBAAgB,EAAE,eAAe,CAAC,CAAC;IAExF,MAAM,YAAY,GAAG,kBAAkB,CAAC;QACtC,KAAK;QACL,OAAO,EAAE,QAAQ;QACjB,MAAM,EAAE,cAAc;QACtB,UAAU;KACX,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC9D,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAE/D,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAC9D,YAAY,CAAC,OAAO,EAAE,mBAAmB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACpE,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,cAAK,SAAS,EAAC,cAAc,EAAC,GAAG,EAAE,YAAY,YAC7C,eAAM,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAC,UAAU,YACnD,KAAC,UAAU,OAAK,IAAI,YAAG,QAAQ,GAAc,GACxC,GACH,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -2,7 +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 { useMemo, useRef, useState } from '@redneckz/uni-jsx/lib/hooks';
4
4
  import { Logo } from '../../ui-kit/Logo/Logo.js';
5
- import { DropdownMenu } from './DropdownMenu.js';
5
+ import { HeaderMoreMenuItem } from './HeaderMoreMenuItem.js';
6
6
  import { HeaderSecondaryMenu } from './HeaderSecondaryMenu.js';
7
7
  import { HeaderTopMenuItem } from './HeaderTopMenuItem.js';
8
8
  export const HeaderTopMenu = JSX(({ navigationItems = [], activeTopItem, dropdownMenuAriaLabel, version, headerData, search, bgColor, logo, }) => {
@@ -17,7 +17,7 @@ export const HeaderTopMenu = JSX(({ navigationItems = [], activeTopItem, dropdow
17
17
  }), [navigationItems]);
18
18
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
19
19
  const { dataFooter, dataHeader, ...logoProps } = logo ?? {};
20
- return (_jsxs("div", { className: "flex items-center justify-between", children: [_jsx(Logo, { className: "mr-3xl", bgColor: bgColor, logo: logoProps, data: dataHeader, showTitle: false }), _jsx("div", { ref: topItemsListRef, className: "overflow-hidden min-w-40 pb-xs mt-xs", role: "menu", children: navigationItems.map((_, i) => (_jsx(HeaderTopMenuItem, { className: visibleItemsCount - 1 < i ? 'invisible' : '', active: _ === activeTopItem, observerOptions: observerOptions, onVisibilityChange: topItemsVisibilityHandlers[i], data: _.dataHeader, ..._ }, String(i)))) }), dropDownMenuItems.length ? (_jsx(DropdownMenu, { className: "mx-xs", items: dropDownMenuItems, activeItem: activeTopItem, ariaLabel: dropdownMenuAriaLabel })) : null, _jsx(HeaderSecondaryMenu, { version: version, className: "ml-auto", search: search, navigationItems: navigationItems, ...headerData })] }));
20
+ return (_jsxs("div", { className: "flex items-center justify-between", children: [_jsx(Logo, { className: "mr-3xl", bgColor: bgColor, logo: logoProps, data: dataHeader, showTitle: false }), _jsx("div", { ref: topItemsListRef, className: "overflow-hidden min-w-40 pb-xs mt-xs", role: "menu", children: navigationItems.map((_, i) => (_jsx(HeaderTopMenuItem, { className: visibleItemsCount - 1 < i ? 'invisible' : '', active: _ === activeTopItem, observerOptions: observerOptions, onVisibilityChange: topItemsVisibilityHandlers[i], data: _.dataHeader, ..._ }, String(i)))) }), dropDownMenuItems.length ? (_jsx(HeaderMoreMenuItem, { className: "mx-xs rounded-md shadow-blue-gray", items: dropDownMenuItems, activeItem: activeTopItem, ariaLabel: dropdownMenuAriaLabel })) : null, _jsx(HeaderSecondaryMenu, { version: version, className: "ml-auto", search: search, navigationItems: navigationItems, ...headerData })] }));
21
21
  });
22
22
  const handleIntersectionActivation = (index) => (prev) => Math.max(prev, index + 1);
23
23
  const handleIntersectionDeactivation = (index) => (prev) => Math.min(prev, index);
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderTopMenu.js","sourceRoot":"","sources":["../../../src/components/Header/HeaderTopMenu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HeaderTopMenu.js","sourceRoot":"","sources":["../../../src/components/Header/HeaderTopMenu.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { type LinkProps } from '../../model/LinkProps';
2
+ import type { OnCloseProps } from '../../model/OnCloseProps';
3
+ interface DropdownSubMenuOptions extends OnCloseProps {
4
+ isOpen?: boolean;
5
+ activeItem?: LinkProps;
6
+ items?: LinkProps[];
7
+ }
8
+ export declare function useDropdownSubMenu({ items, activeItem, onClose, isOpen }: DropdownSubMenuOptions): {
9
+ current: HTMLDivElement | null;
10
+ };
11
+ export {};
@@ -0,0 +1,34 @@
1
+ import { jsx as _jsx } from "@redneckz/uni-jsx/jsx-runtime";
2
+ import { useCallback, useEffect, useRef } from '@redneckz/uni-jsx/lib/hooks';
3
+ import { useOutsideClick } from '@redneckz/uni-jsx/lib/hooks/useOutsideClick';
4
+ import { usePopupManager } from '../../ui-kit/PopupManager/usePopupManager.js';
5
+ import { DropdownMenu } from './DropdownMenu.js';
6
+ export function useDropdownSubMenu({ items, activeItem, onClose, isOpen }) {
7
+ const popup = usePopupManager();
8
+ useEffect(() => {
9
+ if (isOpen) {
10
+ popup.close();
11
+ }
12
+ }, [isOpen]);
13
+ const close = useCallback(() => {
14
+ popup.close();
15
+ onClose?.();
16
+ }, [onClose]);
17
+ const parentRef = useRef(null);
18
+ const popupRef = useOutsideClick(close);
19
+ useEffect(() => {
20
+ if (!isOpen || !parentRef.current || !items?.length) {
21
+ return;
22
+ }
23
+ const parentElement = parentRef.current;
24
+ const { top, left, width, height } = parentElement.getBoundingClientRect();
25
+ popup.open({
26
+ popup: _jsx(DropdownMenu, { dropdownRef: popupRef, items: items, activeItem: activeItem }),
27
+ top: top + window.scrollY + height,
28
+ left,
29
+ width,
30
+ });
31
+ }, [isOpen, items, close]);
32
+ return parentRef;
33
+ }
34
+ //# sourceMappingURL=useDropdownSubMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDropdownSubMenu.js","sourceRoot":"","sources":["../../../src/components/Header/useDropdownSubMenu.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAG9E,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAQ9C,MAAM,UAAU,kBAAkB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAA0B;IAC/F,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAEhC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM,EAAE;YACV,KAAK,CAAC,KAAK,EAAE,CAAC;SACf;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,OAAO,EAAE,EAAE,CAAC;IACd,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,MAAM,SAAS,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,eAAe,CAAiB,KAAK,CAAC,CAAC;IAExD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE;YACnD,OAAO;SACR;QAED,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC;QACxC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,qBAAqB,EAAE,CAAC;QAE3E,KAAK,CAAC,IAAI,CAAC;YACT,KAAK,EAAE,KAAC,YAAY,IAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,GAAI;YACpF,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM;YAClC,IAAI;YACJ,KAAK;SACN,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAE3B,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -5,6 +5,7 @@ export interface NavigationLinkProps extends LinkProps {
5
5
  displayArea?: string;
6
6
  dataHeader?: AspectsDef[];
7
7
  dataFooter?: AspectsDef[];
8
+ items?: NavigationLinkProps[];
8
9
  }
9
10
  /**
10
11
  * @title Ссылка
@@ -10579,7 +10579,7 @@
10579
10579
  slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
10580
10580
  });
10581
10581
 
10582
- const packageVersion = "0.14.874";
10582
+ const packageVersion = "0.14.875";
10583
10583
 
10584
10584
  exports.Blocks = Blocks;
10585
10585
  exports.ContentPage = ContentPage;