@clicoh/orion-library 1.1.0-beta.4 → 1.1.0-beta.6
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/dist/components/02-molecules/SlideOver/SlideOver.d.ts +4 -1
- package/dist/components/02-molecules/SlideOver/SlideOver.d.ts.map +1 -1
- package/dist/components/02-molecules/SlideOver/SlideOver.jsx +7 -3
- package/dist/components/02-molecules/SlideOver/SlideOver.jsx.map +1 -1
- package/dist/components/02-molecules/SlideOver/index.d.ts +1 -1
- package/dist/components/02-molecules/SlideOver/index.d.ts.map +1 -1
- package/dist/components/02-molecules/SlideOver/index.js.map +1 -1
- package/dist/components/03-organisms/AsideMenu/AsideMenu.d.ts +4 -4
- package/dist/components/03-organisms/AsideMenu/AsideMenu.d.ts.map +1 -1
- package/dist/components/03-organisms/AsideMenu/AsideMenu.jsx +14 -3
- package/dist/components/03-organisms/AsideMenu/AsideMenu.jsx.map +1 -1
- package/dist/components/03-organisms/Header/Header.d.ts.map +1 -1
- package/dist/components/03-organisms/Header/Header.jsx +5 -9
- package/dist/components/03-organisms/Header/Header.jsx.map +1 -1
- package/dist/components/03-organisms/Header/HeaderActions.d.ts +23 -0
- package/dist/components/03-organisms/Header/HeaderActions.d.ts.map +1 -0
- package/dist/components/03-organisms/Header/HeaderActions.jsx +59 -0
- package/dist/components/03-organisms/Header/HeaderActions.jsx.map +1 -0
- package/dist/components/03-organisms/Header/SecondMenu.d.ts +1 -1
- package/dist/components/03-organisms/Header/SecondMenu.d.ts.map +1 -1
- package/dist/components/03-organisms/Header/SecondMenu.jsx +12 -3
- package/dist/components/03-organisms/Header/SecondMenu.jsx.map +1 -1
- package/package.json +1 -1
|
@@ -8,6 +8,9 @@ type SlideOverProps = {
|
|
|
8
8
|
'aria-labelledby'?: string;
|
|
9
9
|
'aria-describedby'?: string;
|
|
10
10
|
};
|
|
11
|
+
export type SlideOverHandle = {
|
|
12
|
+
handlerClose: () => void;
|
|
13
|
+
};
|
|
11
14
|
/**
|
|
12
15
|
* SlideOver component for rendering a slide-over panel from the left or right side of the screen.
|
|
13
16
|
*
|
|
@@ -28,6 +31,6 @@ type SlideOverProps = {
|
|
|
28
31
|
*
|
|
29
32
|
* @returns {ReactNode} The rendered SlideOver component.
|
|
30
33
|
*/
|
|
31
|
-
export declare
|
|
34
|
+
export declare const SlideOver: import("react").ForwardRefExoticComponent<SlideOverProps & import("react").RefAttributes<SlideOverHandle>>;
|
|
32
35
|
export {};
|
|
33
36
|
//# sourceMappingURL=SlideOver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlideOver.d.ts","sourceRoot":"","sources":["../../../../src/components/02-molecules/SlideOver/SlideOver.tsx"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"SlideOver.d.ts","sourceRoot":"","sources":["../../../../src/components/02-molecules/SlideOver/SlideOver.tsx"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,SAAS,EAMf,MAAM,OAAO,CAAC;AAIf,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACjC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAChD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B,CAAC;AAIF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,SAAS,4GAwHpB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import clsx from 'clsx';
|
|
3
|
-
import { useCallback, useEffect, useRef, useState, } from 'react';
|
|
3
|
+
import { forwardRef, useCallback, useEffect, useImperativeHandle, useRef, useState, } from 'react';
|
|
4
4
|
import { MdClose } from 'react-icons/md';
|
|
5
5
|
import { useDialogFocus } from '../Modal/useDialogFocus';
|
|
6
6
|
const transitionClasses = 'transition ease-in-out duration-500';
|
|
@@ -24,7 +24,7 @@ const transitionClasses = 'transition ease-in-out duration-500';
|
|
|
24
24
|
*
|
|
25
25
|
* @returns {ReactNode} The rendered SlideOver component.
|
|
26
26
|
*/
|
|
27
|
-
export
|
|
27
|
+
export const SlideOver = forwardRef(function ({ side, closeCallback, children, closeButtonAriaLabel, initialFocusRef, 'aria-labelledby': ariaLabelledBy, 'aria-describedby': ariaDescribedBy, }, ref) {
|
|
28
28
|
const [isOpen, setIsOpen] = useState(false);
|
|
29
29
|
const dialogRef = useRef(null);
|
|
30
30
|
const overlayClasses = clsx('bg-gray-1/25 pointer-events-none fixed inset-0 dark:bg-black/75', transitionClasses, isOpen ? 'opacity-100' : 'opacity-0');
|
|
@@ -43,6 +43,9 @@ export function SlideOver({ side, closeCallback, children, closeButtonAriaLabel,
|
|
|
43
43
|
setIsOpen(false);
|
|
44
44
|
closeCallback && setTimeout(closeCallback, 500);
|
|
45
45
|
}, [closeCallback]);
|
|
46
|
+
useImperativeHandle(ref, () => ({
|
|
47
|
+
handlerClose,
|
|
48
|
+
}));
|
|
46
49
|
const handlerOverlayClick = (event) => {
|
|
47
50
|
const target = event.target;
|
|
48
51
|
const currentTarget = event.currentTarget;
|
|
@@ -83,5 +86,6 @@ export function SlideOver({ side, closeCallback, children, closeButtonAriaLabel,
|
|
|
83
86
|
</div>
|
|
84
87
|
</div>
|
|
85
88
|
</>);
|
|
86
|
-
}
|
|
89
|
+
});
|
|
90
|
+
SlideOver.displayName = 'SlideOver';
|
|
87
91
|
//# sourceMappingURL=SlideOver.jsx.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlideOver.jsx","sourceRoot":"","sources":["../../../../src/components/02-molecules/SlideOver/SlideOver.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,
|
|
1
|
+
{"version":3,"file":"SlideOver.jsx","sourceRoot":"","sources":["../../../../src/components/02-molecules/SlideOver/SlideOver.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { SlideOver } from './SlideOver';
|
|
1
|
+
export { SlideOver, type SlideOverHandle } from './SlideOver';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/02-molecules/SlideOver/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/02-molecules/SlideOver/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/02-molecules/SlideOver/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/02-molecules/SlideOver/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAwB,MAAM,aAAa,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import { Menu } from '../../02-molecules';
|
|
3
|
-
type AsideMenuProps = Pick<ComponentProps<typeof Menu>, 'menu' | 'onFavoriteToggle'>;
|
|
1
|
+
import { type ComponentProps, type ReactNode } from 'react';
|
|
2
|
+
import { Menu, SlideOver } from '../../02-molecules';
|
|
3
|
+
type AsideMenuProps = Pick<ComponentProps<typeof Menu>, 'menu' | 'onFavoriteToggle'> & Pick<ComponentProps<typeof SlideOver>, 'closeCallback'>;
|
|
4
4
|
/**
|
|
5
5
|
* AsideMenu component for rendering a slide-over menu with a specified menu configuration.
|
|
6
6
|
*
|
|
@@ -15,6 +15,6 @@ type AsideMenuProps = Pick<ComponentProps<typeof Menu>, 'menu' | 'onFavoriteTogg
|
|
|
15
15
|
*
|
|
16
16
|
* @returns {ReactNode} The rendered AsideMenu component.
|
|
17
17
|
*/
|
|
18
|
-
export declare function AsideMenu({ menu, onFavoriteToggle, }: AsideMenuProps): ReactNode;
|
|
18
|
+
export declare function AsideMenu({ menu, onFavoriteToggle, closeCallback, }: AsideMenuProps): ReactNode;
|
|
19
19
|
export {};
|
|
20
20
|
//# sourceMappingURL=AsideMenu.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsideMenu.d.ts","sourceRoot":"","sources":["../../../../src/components/03-organisms/AsideMenu/AsideMenu.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AsideMenu.d.ts","sourceRoot":"","sources":["../../../../src/components/03-organisms/AsideMenu/AsideMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,IAAI,EAAE,SAAS,EAAwB,MAAM,oBAAoB,CAAC;AAE3E,KAAK,cAAc,GAAG,IAAI,CACxB,cAAc,CAAC,OAAO,IAAI,CAAC,EAC3B,MAAM,GAAG,kBAAkB,CAC5B,GACC,IAAI,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,EAAE,eAAe,CAAC,CAAC;AAE1D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,gBAAgB,EAChB,aAAa,GACd,EAAE,cAAc,GAAG,SAAS,CAsB5B"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { useRef, } from 'react';
|
|
1
3
|
import { Menu, SlideOver } from '../../02-molecules';
|
|
2
4
|
/**
|
|
3
5
|
* AsideMenu component for rendering a slide-over menu with a specified menu configuration.
|
|
@@ -13,9 +15,18 @@ import { Menu, SlideOver } from '../../02-molecules';
|
|
|
13
15
|
*
|
|
14
16
|
* @returns {ReactNode} The rendered AsideMenu component.
|
|
15
17
|
*/
|
|
16
|
-
export function AsideMenu({ menu, onFavoriteToggle, }) {
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
export function AsideMenu({ menu, onFavoriteToggle, closeCallback, }) {
|
|
19
|
+
const slideOverRef = useRef(null);
|
|
20
|
+
const handleMenuClick = (event) => {
|
|
21
|
+
const target = event.target;
|
|
22
|
+
if (target.closest('a[href]')) {
|
|
23
|
+
slideOverRef.current?.handlerClose();
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
return (<SlideOver ref={slideOverRef} side="left" closeCallback={closeCallback}>
|
|
27
|
+
<div onClick={handleMenuClick}>
|
|
28
|
+
<Menu menu={menu} orientation="vertical" onFavoriteToggle={onFavoriteToggle}/>
|
|
29
|
+
</div>
|
|
19
30
|
</SlideOver>);
|
|
20
31
|
}
|
|
21
32
|
//# sourceMappingURL=AsideMenu.jsx.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsideMenu.jsx","sourceRoot":"","sources":["../../../../src/components/03-organisms/AsideMenu/AsideMenu.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AsideMenu.jsx","sourceRoot":"","sources":["../../../../src/components/03-organisms/AsideMenu/AsideMenu.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAIL,MAAM,GACP,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,IAAI,EAAE,SAAS,EAAwB,MAAM,oBAAoB,CAAC;AAQ3E;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,SAAS,CAAC,EACxB,IAAI,EACJ,gBAAgB,EAChB,aAAa,GACE;IACf,MAAM,YAAY,GAAG,MAAM,CAAkB,IAAI,CAAC,CAAC;IAEnD,MAAM,eAAe,GAAG,CAAC,KAAiC,EAAE,EAAE;QAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;QAE3C,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,CAAC;QACvC,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,CACrE;MAAA,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,CAC5B;QAAA,CAAC,IAAI,CACH,IAAI,CAAC,CAAC,IAAI,CAAC,CACX,WAAW,CAAC,UAAU,CACtB,gBAAgB,CAAC,CAAC,gBAAgB,CAAC,EAEvC;MAAA,EAAE,GAAG,CACP;IAAA,EAAE,SAAS,CAAC,CACb,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../../src/components/03-organisms/Header/Header.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAQ,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,
|
|
1
|
+
{"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../../src/components/03-organisms/Header/Header.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAQ,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAa,IAAI,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAG/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAE9F,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;IAClD,UAAU,CAAC,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,UAAU,CAAC,CAAC;IACrD,iBAAiB,CAAC,EAAE,IAAI,CAAC,qBAAqB,EAAE,WAAW,GAAG,UAAU,CAAC,CAAC;IAC1E,gBAAgB,CAAC,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACnE,WAAW,CAAC,EAAE,cAAc,CAAC,OAAO,WAAW,CAAC,CAAC;CAClD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,MAAM,CAAC,EACrB,QAAc,EACd,WAAW,EACX,UAAU,EACV,MAAM,EACN,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,GACZ,EAAE,WAAW,GAAG,SAAS,CA6BzB"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import Link from 'next/link';
|
|
2
|
-
import { Logo
|
|
3
|
-
import {
|
|
2
|
+
import { Logo } from '../../01-atoms';
|
|
3
|
+
import { Container, Menu } from '../../02-molecules';
|
|
4
|
+
import { HeaderActions } from './HeaderActions';
|
|
4
5
|
import { SecondMenu } from './SecondMenu';
|
|
5
|
-
import { BellNotification, } from '../../02-molecules/BellNotifications/BellNotification';
|
|
6
6
|
/**
|
|
7
7
|
* Header component for rendering the header section of the application.
|
|
8
8
|
*
|
|
@@ -34,15 +34,11 @@ export function Header({ homeHref = '/', primaryMenu, secondMenu, avatar, bellNo
|
|
|
34
34
|
</Link>
|
|
35
35
|
</div>
|
|
36
36
|
{!!secondMenu && (<SecondMenu menu={secondMenu} onFavoriteToggle={onFavoriteToggle}/>)}
|
|
37
|
-
{!!primaryMenu && (<div>
|
|
37
|
+
{!!primaryMenu && (<div className="hidden lg:block">
|
|
38
38
|
<Menu menu={primaryMenu} orientation="horizontal"/>
|
|
39
39
|
</div>)}
|
|
40
40
|
</div>
|
|
41
|
-
<
|
|
42
|
-
{!!themeSwitch && <ThemeSwitch {...themeSwitch}/>}
|
|
43
|
-
{!!bellNotifications && <BellNotification {...bellNotifications}/>}
|
|
44
|
-
{!!avatar && <Avatar {...avatar} position="right"/>}
|
|
45
|
-
</div>
|
|
41
|
+
<HeaderActions avatar={avatar} bellNotifications={bellNotifications} themeSwitch={themeSwitch} primaryMenu={primaryMenu}/>
|
|
46
42
|
</Container>);
|
|
47
43
|
}
|
|
48
44
|
//# sourceMappingURL=Header.jsx.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.jsx","sourceRoot":"","sources":["../../../../src/components/03-organisms/Header/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"Header.jsx","sourceRoot":"","sources":["../../../../src/components/03-organisms/Header/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,IAAI,EAAe,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAa1C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,MAAM,CAAC,EACrB,QAAQ,GAAG,GAAG,EACd,WAAW,EACX,UAAU,EACV,MAAM,EACN,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,GACC;IACZ,OAAO,CACL,CAAC,SAAS,CACR,EAAE,CAAC,QAAQ,CACX,SAAS,CAAC,6DAA6D,CAEvE;MAAA,CAAC,GAAG,CAAC,SAAS,CAAC,yBAAyB,CACtC;QAAA,CAAC,GAAG,CACF;UAAA,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CACnB;YAAA,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EACjB;UAAA,EAAE,IAAI,CACR;QAAA,EAAE,GAAG,CACL;QAAA,CAAC,CAAC,CAAC,UAAU,IAAI,CACf,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,CAAC,EAAG,CACrE,CACD;QAAA,CAAC,CAAC,CAAC,WAAW,IAAI,CAChB,CAAC,GAAG,CAAC,SAAS,CAAC,iBAAiB,CAC9B;YAAA,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,YAAY,EACnD;UAAA,EAAE,GAAG,CAAC,CACP,CACH;MAAA,EAAE,GAAG,CACL;MAAA,CAAC,aAAa,CACZ,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,iBAAiB,CAAC,CAAC,iBAAiB,CAAC,CACrC,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,WAAW,CAAC,CAAC,WAAW,CAAC,EAE7B;IAAA,EAAE,SAAS,CAAC,CACb,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type ComponentProps, type ReactNode } from 'react';
|
|
2
|
+
import { ThemeSwitch } from '../../01-atoms';
|
|
3
|
+
import { Menu } from '../../02-molecules';
|
|
4
|
+
import { AvatarProps } from '../../02-molecules/Avatar/Avatar';
|
|
5
|
+
import { BellNotificationProps } from '../../02-molecules/BellNotifications/BellNotification';
|
|
6
|
+
export type HeaderActionsProps = {
|
|
7
|
+
avatar?: Omit<AvatarProps, 'className' | 'position'>;
|
|
8
|
+
bellNotifications?: Omit<BellNotificationProps, 'className' | 'position'>;
|
|
9
|
+
themeSwitch?: ComponentProps<typeof ThemeSwitch>;
|
|
10
|
+
primaryMenu?: ComponentProps<typeof Menu>['menu'];
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* HeaderActions renders the header controls (theme switch, notifications and
|
|
14
|
+
* avatar). On large screens they are shown inline; on small screens they
|
|
15
|
+
* collapse into a right-side slide-over triggered by a kebab button, together
|
|
16
|
+
* with the favorites shortcuts, keeping the header usable on narrow viewports.
|
|
17
|
+
*
|
|
18
|
+
* @component
|
|
19
|
+
* @param {HeaderActionsProps} props - Controls and favorites shortcuts.
|
|
20
|
+
* @returns {ReactNode} The rendered header actions.
|
|
21
|
+
*/
|
|
22
|
+
export declare function HeaderActions({ avatar, bellNotifications, themeSwitch, primaryMenu, }: HeaderActionsProps): ReactNode;
|
|
23
|
+
//# sourceMappingURL=HeaderActions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeaderActions.d.ts","sourceRoot":"","sources":["../../../../src/components/03-organisms/Header/HeaderActions.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAU,IAAI,EAAmC,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAEL,qBAAqB,EACtB,MAAM,uDAAuD,CAAC;AAE/D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,UAAU,CAAC,CAAC;IACrD,iBAAiB,CAAC,EAAE,IAAI,CAAC,qBAAqB,EAAE,WAAW,GAAG,UAAU,CAAC,CAAC;IAC1E,WAAW,CAAC,EAAE,cAAc,CAAC,OAAO,WAAW,CAAC,CAAC;IACjD,WAAW,CAAC,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;CACnD,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,iBAAiB,EACjB,WAAW,EACX,WAAW,GACZ,EAAE,kBAAkB,GAAG,SAAS,CAkEhC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { useRef, useState, } from 'react';
|
|
3
|
+
import { createPortal } from 'react-dom';
|
|
4
|
+
import { IoEllipsisVertical } from 'react-icons/io5';
|
|
5
|
+
import { ThemeSwitch } from '../../01-atoms';
|
|
6
|
+
import { Avatar, Menu, SlideOver } from '../../02-molecules';
|
|
7
|
+
import { BellNotification, } from '../../02-molecules/BellNotifications/BellNotification';
|
|
8
|
+
/**
|
|
9
|
+
* HeaderActions renders the header controls (theme switch, notifications and
|
|
10
|
+
* avatar). On large screens they are shown inline; on small screens they
|
|
11
|
+
* collapse into a right-side slide-over triggered by a kebab button, together
|
|
12
|
+
* with the favorites shortcuts, keeping the header usable on narrow viewports.
|
|
13
|
+
*
|
|
14
|
+
* @component
|
|
15
|
+
* @param {HeaderActionsProps} props - Controls and favorites shortcuts.
|
|
16
|
+
* @returns {ReactNode} The rendered header actions.
|
|
17
|
+
*/
|
|
18
|
+
export function HeaderActions({ avatar, bellNotifications, themeSwitch, primaryMenu, }) {
|
|
19
|
+
const [showMenu, setShowMenu] = useState(false);
|
|
20
|
+
const slideOverRef = useRef(null);
|
|
21
|
+
const hasActions = !!themeSwitch || !!bellNotifications || !!avatar || !!primaryMenu;
|
|
22
|
+
if (!hasActions) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
const handleMenuClick = (event) => {
|
|
26
|
+
const target = event.target;
|
|
27
|
+
if (target.closest('a[href]')) {
|
|
28
|
+
slideOverRef.current?.handlerClose();
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
const renderControls = (context) => (<>
|
|
32
|
+
{!!themeSwitch && <ThemeSwitch {...themeSwitch}/>}
|
|
33
|
+
{!!bellNotifications && <BellNotification {...bellNotifications}/>}
|
|
34
|
+
{!!avatar && (<Avatar {...avatar} position={context === 'bar' ? 'right' : 'left'}/>)}
|
|
35
|
+
</>);
|
|
36
|
+
return (<>
|
|
37
|
+
<div className="hidden items-center gap-3 lg:flex">
|
|
38
|
+
{renderControls('bar')}
|
|
39
|
+
</div>
|
|
40
|
+
|
|
41
|
+
<span className="flex cursor-pointer items-center p-1 lg:hidden">
|
|
42
|
+
<IoEllipsisVertical size={22} aria-label="Abrir opciones" onClick={() => setShowMenu(true)}/>
|
|
43
|
+
</span>
|
|
44
|
+
|
|
45
|
+
{!!showMenu &&
|
|
46
|
+
createPortal(<SlideOver ref={slideOverRef} side="right" closeCallback={() => setShowMenu(false)}>
|
|
47
|
+
<div className="flex flex-col gap-6 p-6">
|
|
48
|
+
<div className="flex flex-col items-start gap-4">
|
|
49
|
+
{renderControls('panel')}
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
{!!primaryMenu && (<div onClick={handleMenuClick}>
|
|
53
|
+
<Menu menu={primaryMenu} orientation="vertical"/>
|
|
54
|
+
</div>)}
|
|
55
|
+
</div>
|
|
56
|
+
</SlideOver>, document.body)}
|
|
57
|
+
</>);
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=HeaderActions.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeaderActions.jsx","sourceRoot":"","sources":["../../../../src/components/03-organisms/Header/HeaderActions.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecondMenu.d.ts","sourceRoot":"","sources":["../../../../src/components/03-organisms/Header/SecondMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"SecondMenu.d.ts","sourceRoot":"","sources":["../../../../src/components/03-organisms/Header/SecondMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,IAAI,EAAmC,MAAM,oBAAoB,CAAC;AAE3E,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;IAC1C,gBAAgB,CAAC,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,CAAC,kBAAkB,CAAC,CAAC;CACpE,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,gBAAgB,GACjB,EAAE,eAAe,GAAG,SAAS,CAoC7B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { useState } from 'react';
|
|
2
|
+
import { useRef, useState, } from 'react';
|
|
3
3
|
import { createPortal } from 'react-dom';
|
|
4
4
|
import { IoMenu } from 'react-icons/io5';
|
|
5
5
|
import { Menu, SlideOver } from '../../02-molecules';
|
|
@@ -18,13 +18,22 @@ import { Menu, SlideOver } from '../../02-molecules';
|
|
|
18
18
|
*/
|
|
19
19
|
export function SecondMenu({ menu, onFavoriteToggle, }) {
|
|
20
20
|
const [showMenu, setShowMenu] = useState(false);
|
|
21
|
+
const slideOverRef = useRef(null);
|
|
22
|
+
const handleMenuClick = (event) => {
|
|
23
|
+
const target = event.target;
|
|
24
|
+
if (target.closest('a[href]')) {
|
|
25
|
+
slideOverRef.current?.handlerClose();
|
|
26
|
+
}
|
|
27
|
+
};
|
|
21
28
|
return (<>
|
|
22
29
|
<span className="cursor-pointer p-1">
|
|
23
30
|
<IoMenu size={22} onClick={() => setShowMenu(true)}/>
|
|
24
31
|
</span>
|
|
25
32
|
{!!showMenu &&
|
|
26
|
-
createPortal(<SlideOver side="left" closeCallback={() => setShowMenu(false)}>
|
|
27
|
-
<
|
|
33
|
+
createPortal(<SlideOver ref={slideOverRef} side="left" closeCallback={() => setShowMenu(false)}>
|
|
34
|
+
<div onClick={handleMenuClick}>
|
|
35
|
+
<Menu menu={menu} orientation="vertical" onFavoriteToggle={onFavoriteToggle}/>
|
|
36
|
+
</div>
|
|
28
37
|
</SlideOver>, document.body)}
|
|
29
38
|
</>);
|
|
30
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecondMenu.jsx","sourceRoot":"","sources":["../../../../src/components/03-organisms/Header/SecondMenu.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,
|
|
1
|
+
{"version":3,"file":"SecondMenu.jsx","sourceRoot":"","sources":["../../../../src/components/03-organisms/Header/SecondMenu.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAIL,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAwB,MAAM,oBAAoB,CAAC;AAO3E;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,UAAU,CAAC,EACzB,IAAI,EACJ,gBAAgB,GACA;IAChB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,MAAM,CAAkB,IAAI,CAAC,CAAC;IAEnD,MAAM,eAAe,GAAG,CAAC,KAAiC,EAAE,EAAE;QAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;QAE3C,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,CAAC;QACvC,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,EACE;MAAA,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAClC;QAAA,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EACrD;MAAA,EAAE,IAAI,CACN;MAAA,CAAC,CAAC,CAAC,QAAQ;YACT,YAAY,CACV,CAAC,SAAS,CACR,GAAG,CAAC,CAAC,YAAY,CAAC,CAClB,IAAI,CAAC,MAAM,CACX,aAAa,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAExC;YAAA,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,CAC5B;cAAA,CAAC,IAAI,CACH,IAAI,CAAC,CAAC,IAAI,CAAC,CACX,WAAW,CAAC,UAAU,CACtB,gBAAgB,CAAC,CAAC,gBAAgB,CAAC,EAEvC;YAAA,EAAE,GAAG,CACP;UAAA,EAAE,SAAS,CAAC,EACZ,QAAQ,CAAC,IAAI,CACd,CACL;IAAA,GAAG,CACJ,CAAC;AACJ,CAAC"}
|