@clicoh/orion-library 1.0.16 → 1.0.18
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/Menu/MenuItem.d.ts +9 -1
- package/dist/components/02-molecules/Menu/MenuItem.d.ts.map +1 -1
- package/dist/components/02-molecules/Menu/MenuItem.jsx +40 -8
- package/dist/components/02-molecules/Menu/MenuItem.jsx.map +1 -1
- package/dist/components/02-molecules/Menu/MenuList.d.ts +3 -2
- package/dist/components/02-molecules/Menu/MenuList.d.ts.map +1 -1
- package/dist/components/02-molecules/Menu/MenuList.jsx +4 -4
- package/dist/components/02-molecules/Menu/MenuList.jsx.map +1 -1
- package/dist/components/02-molecules/Menu/index.d.ts +1 -0
- package/dist/components/02-molecules/Menu/index.d.ts.map +1 -1
- package/dist/components/03-organisms/AsideMenu/AsideMenu.d.ts +3 -2
- package/dist/components/03-organisms/AsideMenu/AsideMenu.d.ts.map +1 -1
- package/dist/components/03-organisms/AsideMenu/AsideMenu.jsx +3 -2
- package/dist/components/03-organisms/AsideMenu/AsideMenu.jsx.map +1 -1
- package/dist/components/03-organisms/Header/Header.d.ts +2 -1
- package/dist/components/03-organisms/Header/Header.d.ts.map +1 -1
- package/dist/components/03-organisms/Header/Header.jsx +3 -3
- package/dist/components/03-organisms/Header/Header.jsx.map +1 -1
- package/dist/components/03-organisms/Header/SecondMenu.d.ts +2 -1
- package/dist/components/03-organisms/Header/SecondMenu.d.ts.map +1 -1
- package/dist/components/03-organisms/Header/SecondMenu.jsx +2 -2
- package/dist/components/03-organisms/Header/SecondMenu.jsx.map +1 -1
- package/dist/hooks/useSegments.js +1 -1
- package/dist/hooks/useSegments.js.map +1 -1
- package/package.json +1 -2
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import type { HTMLAttributeAnchorTarget, ReactNode } from 'react';
|
|
2
|
+
export type FavoriteTogglePayload = {
|
|
3
|
+
text: string;
|
|
4
|
+
path?: string;
|
|
5
|
+
isFavorite: boolean;
|
|
6
|
+
};
|
|
2
7
|
type MenuItemProps = {
|
|
3
8
|
readonly text: string;
|
|
4
9
|
readonly toggle: boolean;
|
|
@@ -9,6 +14,9 @@ type MenuItemProps = {
|
|
|
9
14
|
readonly target?: HTMLAttributeAnchorTarget;
|
|
10
15
|
readonly level?: number;
|
|
11
16
|
readonly isOpen?: boolean;
|
|
17
|
+
readonly isFavorite?: boolean;
|
|
18
|
+
readonly onFavoriteToggle?: (item: FavoriteTogglePayload) => void;
|
|
19
|
+
readonly orientation?: 'horizontal' | 'vertical';
|
|
12
20
|
};
|
|
13
21
|
/**
|
|
14
22
|
* MenuItem component for rendering a navigation menu item with optional toggle functionality.
|
|
@@ -35,6 +43,6 @@ type MenuItemProps = {
|
|
|
35
43
|
*
|
|
36
44
|
* @returns {ReactNode} The rendered MenuItem component.
|
|
37
45
|
*/
|
|
38
|
-
export declare function MenuItem({ text, path, toggle, onClickToggle, icon, isActive, target, level, isOpen, }: MenuItemProps): ReactNode;
|
|
46
|
+
export declare function MenuItem({ text, path, toggle, onClickToggle, icon, isActive, target, level, isOpen, isFavorite, onFavoriteToggle, orientation, }: MenuItemProps): ReactNode;
|
|
39
47
|
export {};
|
|
40
48
|
//# sourceMappingURL=MenuItem.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItem.d.ts","sourceRoot":"","sources":["../../../../src/components/02-molecules/Menu/MenuItem.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,yBAAyB,EAAc,SAAS,EAAE,MAAM,OAAO,CAAC;AAK9E,KAAK,aAAa,GAAG;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,yBAAyB,CAAC;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"MenuItem.d.ts","sourceRoot":"","sources":["../../../../src/components/02-molecules/Menu/MenuItem.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,yBAAyB,EAAc,SAAS,EAAE,MAAM,OAAO,CAAC;AAK9E,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,yBAAyB,CAAC;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAClE,QAAQ,CAAC,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;CAClD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,aAAa,EACb,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,KAAS,EACT,MAAc,EACd,UAAkB,EAClB,gBAAgB,EAChB,WAAwB,GACzB,EAAE,aAAa,GAAG,SAAS,CA2E3B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import clsx from 'clsx';
|
|
3
3
|
import Link from 'next/link';
|
|
4
|
-
import { FaChevronDown } from 'react-icons/fa';
|
|
4
|
+
import { FaChevronDown, FaRegStar, FaStar } from 'react-icons/fa';
|
|
5
5
|
import { Show } from '../../00-base';
|
|
6
6
|
import { Paragraph } from '../../01-atoms';
|
|
7
7
|
/**
|
|
@@ -29,35 +29,67 @@ import { Paragraph } from '../../01-atoms';
|
|
|
29
29
|
*
|
|
30
30
|
* @returns {ReactNode} The rendered MenuItem component.
|
|
31
31
|
*/
|
|
32
|
-
export function MenuItem({ text, path, toggle, onClickToggle, icon, isActive, target, level = 1, isOpen = false, }) {
|
|
33
|
-
const
|
|
34
|
-
|
|
32
|
+
export function MenuItem({ text, path, toggle, onClickToggle, icon, isActive, target, level = 1, isOpen = false, isFavorite = false, onFavoriteToggle, orientation = 'vertical', }) {
|
|
33
|
+
const isHorizontalTop = orientation === 'horizontal' && level === 1;
|
|
34
|
+
const linkStyleMap = clsx('link relative flex w-full cursor-pointer items-center justify-between gap-2', level === 1 && 'h-14 pl-12', level === 2 && 'h-10 pl-12', level >= 3 && 'text-gray-1 h-10 pl-16', isHorizontalTop && [
|
|
35
|
+
'text-gray-2 transition-colors',
|
|
36
|
+
!isActive && 'hover:text-gray-1',
|
|
37
|
+
isActive && 'text-gray-1',
|
|
38
|
+
'before:bg-lavender before:absolute before:-bottom-2.5 before:left-0 before:block before:h-0.5 before:w-full before:transition-opacity',
|
|
39
|
+
!isActive && 'before:opacity-0 hover:before:opacity-100',
|
|
40
|
+
isActive && 'before:opacity-100',
|
|
41
|
+
], !isHorizontalTop && [
|
|
42
|
+
'hover:bg-gray-6 hover:text-lavender',
|
|
43
|
+
level === 1 && isOpen && 'bg-gray-6 text-lavender',
|
|
44
|
+
]);
|
|
35
45
|
const handleToggleClick = (event) => {
|
|
36
46
|
event.preventDefault();
|
|
37
47
|
event.stopPropagation();
|
|
38
48
|
onClickToggle();
|
|
39
49
|
};
|
|
50
|
+
const handleFavoriteClick = (event) => {
|
|
51
|
+
event.preventDefault();
|
|
52
|
+
event.stopPropagation();
|
|
53
|
+
onFavoriteToggle?.({ text, path, isFavorite: !isFavorite });
|
|
54
|
+
};
|
|
40
55
|
const isLink = Boolean(path) && !toggle;
|
|
56
|
+
const canShowFavorite = isLink && Boolean(onFavoriteToggle);
|
|
41
57
|
return (<Show>
|
|
42
58
|
<Show.When isTrue={isLink}>
|
|
43
59
|
<Link href={path} className={clsx('slide-over__close', linkStyleMap)} target={target ?? '_self'}>
|
|
44
|
-
<MenuItemContent text={text} icon={icon} toggle={toggle} handleToggleClick={handleToggleClick} level={level}/>
|
|
60
|
+
<MenuItemContent text={text} icon={icon} toggle={toggle} handleToggleClick={handleToggleClick} level={level} hideIcon={isHorizontalTop} showFavorite={canShowFavorite} isFavorite={isFavorite} handleFavoriteClick={handleFavoriteClick}/>
|
|
45
61
|
</Link>
|
|
46
62
|
</Show.When>
|
|
47
63
|
<Show.Else>
|
|
48
64
|
<span className={linkStyleMap} onClick={handleToggleClick}>
|
|
49
|
-
<MenuItemContent text={text} icon={icon} toggle={toggle} handleToggleClick={handleToggleClick} level={level}/>
|
|
65
|
+
<MenuItemContent text={text} icon={icon} toggle={toggle} handleToggleClick={handleToggleClick} level={level} hideIcon={isHorizontalTop} showFavorite={false} isFavorite={false} handleFavoriteClick={handleFavoriteClick}/>
|
|
50
66
|
</span>
|
|
51
67
|
</Show.Else>
|
|
52
68
|
</Show>);
|
|
53
69
|
}
|
|
54
|
-
function MenuItemContent({ text, icon, toggle, handleToggleClick, level, }) {
|
|
70
|
+
function MenuItemContent({ text, icon, toggle, handleToggleClick, level, hideIcon, showFavorite, isFavorite, handleFavoriteClick, }) {
|
|
55
71
|
return (<>
|
|
56
|
-
{level === 1 && !!icon && <span className="icon">{icon}</span>}
|
|
72
|
+
{level === 1 && !!icon && !hideIcon && (<span className="icon">{icon}</span>)}
|
|
57
73
|
<Paragraph size={level >= 3 ? 'body-2' : 'body-1'}>{text}</Paragraph>
|
|
58
74
|
{!!toggle && (<span onClick={handleToggleClick} className="toggle cursor-pointer p-2 transition-transform duration-500">
|
|
59
75
|
<FaChevronDown size={level >= 3 ? 12 : 16}/>
|
|
60
76
|
</span>)}
|
|
77
|
+
{!!showFavorite && (<FavoriteStar isFavorite={isFavorite} onClick={handleFavoriteClick} size={level >= 3 ? 14 : 16}/>)}
|
|
61
78
|
</>);
|
|
62
79
|
}
|
|
80
|
+
function FavoriteStar({ isFavorite, onClick, size, }) {
|
|
81
|
+
return (<button type="button" onClick={onClick} aria-pressed={isFavorite} aria-label={isFavorite ? 'Quitar de favoritos' : 'Marcar como favorito'} className="favorite group ml-auto flex shrink-0 cursor-pointer items-center justify-center p-2">
|
|
82
|
+
<Show>
|
|
83
|
+
<Show.When isTrue={isFavorite}>
|
|
84
|
+
<FaStar size={size} className="text-[#FFC34C]"/>
|
|
85
|
+
</Show.When>
|
|
86
|
+
<Show.Else>
|
|
87
|
+
<span className="relative inline-flex" style={{ width: size, height: size }}>
|
|
88
|
+
<FaStar size={size} aria-hidden className="absolute inset-0 hidden text-[#FFE58F] group-hover:block"/>
|
|
89
|
+
<FaRegStar size={size} className="text-gray-3 group-hover:text-[#FFC34C] relative"/>
|
|
90
|
+
</span>
|
|
91
|
+
</Show.Else>
|
|
92
|
+
</Show>
|
|
93
|
+
</button>);
|
|
94
|
+
}
|
|
63
95
|
//# sourceMappingURL=MenuItem.jsx.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItem.jsx","sourceRoot":"","sources":["../../../../src/components/02-molecules/Menu/MenuItem.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"MenuItem.jsx","sourceRoot":"","sources":["../../../../src/components/02-molecules/Menu/MenuItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,10 +5,11 @@ type MenuListProps = {
|
|
|
5
5
|
orientation: ComponentProps<typeof List>['orientation'];
|
|
6
6
|
menu: ({
|
|
7
7
|
submenu?: MenuListProps['menu'];
|
|
8
|
-
} & Omit<ComponentProps<typeof MenuItem>, 'toggle' | 'onClickToggle' | 'callback'>)[];
|
|
8
|
+
} & Omit<ComponentProps<typeof MenuItem>, 'toggle' | 'onClickToggle' | 'callback' | 'onFavoriteToggle' | 'orientation'>)[];
|
|
9
9
|
level?: number;
|
|
10
10
|
isToggle?: boolean;
|
|
11
11
|
parentOpen?: boolean;
|
|
12
|
+
onFavoriteToggle?: ComponentProps<typeof MenuItem>['onFavoriteToggle'];
|
|
12
13
|
};
|
|
13
14
|
/**
|
|
14
15
|
* MenuList component for rendering a list of menu items with optional submenus.
|
|
@@ -35,6 +36,6 @@ type MenuListProps = {
|
|
|
35
36
|
*
|
|
36
37
|
* @returns {ReactNode} The rendered MenuList component.
|
|
37
38
|
*/
|
|
38
|
-
export declare function MenuList({ menu, orientation, level, isToggle, parentOpen, }: MenuListProps): ReactNode;
|
|
39
|
+
export declare function MenuList({ menu, orientation, level, isToggle, parentOpen, onFavoriteToggle, }: MenuListProps): ReactNode;
|
|
39
40
|
export {};
|
|
40
41
|
//# sourceMappingURL=MenuList.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuList.d.ts","sourceRoot":"","sources":["../../../../src/components/02-molecules/Menu/MenuList.tsx"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,KAAK,aAAa,GAAG;IACnB,WAAW,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;IACxD,IAAI,EAAE,CAAC;QAAE,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;KAAE,GAAG,IAAI,CAC/C,cAAc,CAAC,OAAO,QAAQ,CAAC,EAC/B,QAAQ,GAAG,eAAe,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"MenuList.d.ts","sourceRoot":"","sources":["../../../../src/components/02-molecules/Menu/MenuList.tsx"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,KAAK,aAAa,GAAG;IACnB,WAAW,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;IACxD,IAAI,EAAE,CAAC;QAAE,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;KAAE,GAAG,IAAI,CAC/C,cAAc,CAAC,OAAO,QAAQ,CAAC,EAC/B,QAAQ,GAAG,eAAe,GAAG,UAAU,GAAG,kBAAkB,GAAG,aAAa,CAC7E,CAAC,EAAE,CAAC;IACL,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,cAAc,CAAC,OAAO,QAAQ,CAAC,CAAC,kBAAkB,CAAC,CAAC;CACxE,CAAC;AAuCF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,WAAW,EACX,KAAS,EACT,QAAgB,EAChB,UAAiB,EACjB,gBAAgB,GACjB,EAAE,aAAa,GAAG,SAAS,CA+F3B"}
|
|
@@ -43,7 +43,7 @@ const styleMapSubmenu = (level) => clsx(styleMapSubmenuHorizontal(level), styleM
|
|
|
43
43
|
*
|
|
44
44
|
* @returns {ReactNode} The rendered MenuList component.
|
|
45
45
|
*/
|
|
46
|
-
export function MenuList({ menu, orientation, level = 1, isToggle = false, parentOpen = true, }) {
|
|
46
|
+
export function MenuList({ menu, orientation, level = 1, isToggle = false, parentOpen = true, onFavoriteToggle, }) {
|
|
47
47
|
const pathname = usePathname();
|
|
48
48
|
const [showItems, setShowItems] = useState(menu.map(() => false));
|
|
49
49
|
useEffect(() => {
|
|
@@ -61,11 +61,11 @@ export function MenuList({ menu, orientation, level = 1, isToggle = false, paren
|
|
|
61
61
|
<Each of={menu} render={({ submenu, ...menuItem }, index) => {
|
|
62
62
|
const hasSubmenu = (submenu?.length ?? 0) > 0;
|
|
63
63
|
return (<li key={`${menuItem.path ?? ''}::${menuItem.text}::${index}`} onClick={() => orientation === 'horizontal' && toggleShowItems(index)} className={clsx('relative', level > 1 && 'w-full', showItems[index] && 'open', styleMapLink, styleMapIcon, styleMapToggle, styleMapSubmenu(level))}>
|
|
64
|
-
<MenuItem {...menuItem} isActive={orientation === 'horizontal' && menuItem.path === pathname} onClickToggle={() => toggleShowItems(index)} toggle={hasSubmenu} level={level} isOpen={showItems[index]}/>
|
|
64
|
+
<MenuItem {...menuItem} isActive={orientation === 'horizontal' && menuItem.path === pathname} onClickToggle={() => toggleShowItems(index)} toggle={hasSubmenu} level={level} isOpen={showItems[index]} onFavoriteToggle={onFavoriteToggle} orientation={orientation}/>
|
|
65
65
|
{!!hasSubmenu && (<div className={clsx('submenu', level > 1 && 'top-0 left-full')}>
|
|
66
66
|
{isToggle ? (<div className="min-h-0 overflow-hidden">
|
|
67
|
-
<MenuList orientation="vertical" menu={submenu} level={level + 1} isToggle={isToggle} parentOpen={showItems[index]}/>
|
|
68
|
-
</div>) : (<MenuList orientation="vertical" menu={submenu} level={level + 1} isToggle={isToggle}/>)}
|
|
67
|
+
<MenuList orientation="vertical" menu={submenu} level={level + 1} isToggle={isToggle} parentOpen={showItems[index]} onFavoriteToggle={onFavoriteToggle}/>
|
|
68
|
+
</div>) : (<MenuList orientation="vertical" menu={submenu} level={level + 1} isToggle={isToggle} onFavoriteToggle={onFavoriteToggle}/>)}
|
|
69
69
|
</div>)}
|
|
70
70
|
</li>);
|
|
71
71
|
}}/>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuList.jsx","sourceRoot":"","sources":["../../../../src/components/02-molecules/Menu/MenuList.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAGL,SAAS,EACT,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"MenuList.jsx","sourceRoot":"","sources":["../../../../src/components/02-molecules/Menu/MenuList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/02-molecules/Menu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/02-molecules/Menu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ComponentProps, ReactNode } from 'react';
|
|
2
2
|
import { Menu } from '../../02-molecules';
|
|
3
|
-
type AsideMenuProps =
|
|
3
|
+
type AsideMenuProps = Pick<ComponentProps<typeof Menu>, 'menu' | 'onFavoriteToggle'>;
|
|
4
4
|
/**
|
|
5
5
|
* AsideMenu component for rendering a slide-over menu with a specified menu configuration.
|
|
6
6
|
*
|
|
@@ -11,9 +11,10 @@ type AsideMenuProps = {} & Pick<ComponentProps<typeof Menu>, 'menu'>;
|
|
|
11
11
|
*
|
|
12
12
|
* @param {Object} props - The properties of the AsideMenu component.
|
|
13
13
|
* @param {ComponentProps<typeof Menu>['menu']} props.menu - The menu configuration to be passed to the Menu component.
|
|
14
|
+
* @param {ComponentProps<typeof Menu>['onFavoriteToggle']} [props.onFavoriteToggle] - Callback fired when a leaf item's favorite star is clicked. Receives the item with the next `isFavorite` state.
|
|
14
15
|
*
|
|
15
16
|
* @returns {ReactNode} The rendered AsideMenu component.
|
|
16
17
|
*/
|
|
17
|
-
export declare function AsideMenu({ menu }: AsideMenuProps): ReactNode;
|
|
18
|
+
export declare function AsideMenu({ menu, onFavoriteToggle, }: AsideMenuProps): ReactNode;
|
|
18
19
|
export {};
|
|
19
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":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,IAAI,EAAa,MAAM,oBAAoB,CAAC;AAErD,KAAK,cAAc,GAAG,
|
|
1
|
+
{"version":3,"file":"AsideMenu.d.ts","sourceRoot":"","sources":["../../../../src/components/03-organisms/AsideMenu/AsideMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,IAAI,EAAa,MAAM,oBAAoB,CAAC;AAErD,KAAK,cAAc,GAAG,IAAI,CACxB,cAAc,CAAC,OAAO,IAAI,CAAC,EAC3B,MAAM,GAAG,kBAAkB,CAC5B,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,gBAAgB,GACjB,EAAE,cAAc,GAAG,SAAS,CAU5B"}
|
|
@@ -9,12 +9,13 @@ import { Menu, SlideOver } from '../../02-molecules';
|
|
|
9
9
|
*
|
|
10
10
|
* @param {Object} props - The properties of the AsideMenu component.
|
|
11
11
|
* @param {ComponentProps<typeof Menu>['menu']} props.menu - The menu configuration to be passed to the Menu component.
|
|
12
|
+
* @param {ComponentProps<typeof Menu>['onFavoriteToggle']} [props.onFavoriteToggle] - Callback fired when a leaf item's favorite star is clicked. Receives the item with the next `isFavorite` state.
|
|
12
13
|
*
|
|
13
14
|
* @returns {ReactNode} The rendered AsideMenu component.
|
|
14
15
|
*/
|
|
15
|
-
export function AsideMenu({ menu }) {
|
|
16
|
+
export function AsideMenu({ menu, onFavoriteToggle, }) {
|
|
16
17
|
return (<SlideOver side="left">
|
|
17
|
-
<Menu menu={menu} orientation="vertical"/>
|
|
18
|
+
<Menu menu={menu} orientation="vertical" onFavoriteToggle={onFavoriteToggle}/>
|
|
18
19
|
</SlideOver>);
|
|
19
20
|
}
|
|
20
21
|
//# sourceMappingURL=AsideMenu.jsx.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsideMenu.jsx","sourceRoot":"","sources":["../../../../src/components/03-organisms/AsideMenu/AsideMenu.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"AsideMenu.jsx","sourceRoot":"","sources":["../../../../src/components/03-organisms/AsideMenu/AsideMenu.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAOrD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,SAAS,CAAC,EACxB,IAAI,EACJ,gBAAgB,GACD;IACf,OAAO,CACL,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CACpB;MAAA,CAAC,IAAI,CACH,IAAI,CAAC,CAAC,IAAI,CAAC,CACX,WAAW,CAAC,UAAU,CACtB,gBAAgB,CAAC,CAAC,gBAAgB,CAAC,EAEvC;IAAA,EAAE,SAAS,CAAC,CACb,CAAC;AACJ,CAAC"}
|
|
@@ -8,6 +8,7 @@ export type HeaderProps = {
|
|
|
8
8
|
secondMenu?: ComponentProps<typeof Menu>['menu'];
|
|
9
9
|
avatar?: Omit<AvatarProps, 'className' | 'position'>;
|
|
10
10
|
bellNotifications?: Omit<BellNotificationProps, 'className' | 'position'>;
|
|
11
|
+
onFavoriteToggle?: ComponentProps<typeof Menu>['onFavoriteToggle'];
|
|
11
12
|
};
|
|
12
13
|
/**
|
|
13
14
|
* Header component for rendering the header section of the application.
|
|
@@ -31,5 +32,5 @@ export type HeaderProps = {
|
|
|
31
32
|
*
|
|
32
33
|
* @returns {ReactNode} The rendered Header component.
|
|
33
34
|
*/
|
|
34
|
-
export declare function Header({ homeHref, primaryMenu, secondMenu, avatar, bellNotifications, }: HeaderProps): ReactNode;
|
|
35
|
+
export declare function Header({ homeHref, primaryMenu, secondMenu, avatar, bellNotifications, onFavoriteToggle, }: HeaderProps): ReactNode;
|
|
35
36
|
//# sourceMappingURL=Header.d.ts.map
|
|
@@ -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;AAElD,OAAO,EAAqB,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAE/D,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;AAElD,OAAO,EAAqB,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAE/D,OAAO,EAEL,qBAAqB,EACtB,MAAM,uDAAuD,CAAC;AAE/D,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;CACpE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,MAAM,CAAC,EACrB,QAAc,EACd,WAAW,EACX,UAAU,EACV,MAAM,EACN,iBAAiB,EACjB,gBAAgB,GACjB,EAAE,WAAW,GAAG,SAAS,CA2BzB"}
|
|
@@ -2,7 +2,7 @@ import Link from 'next/link';
|
|
|
2
2
|
import { Logo } from '../../01-atoms';
|
|
3
3
|
import { Avatar, Container, Menu } from '../../02-molecules';
|
|
4
4
|
import { SecondMenu } from './SecondMenu';
|
|
5
|
-
import { BellNotification } from '../../02-molecules/BellNotifications/BellNotification';
|
|
5
|
+
import { BellNotification, } from '../../02-molecules/BellNotifications/BellNotification';
|
|
6
6
|
/**
|
|
7
7
|
* Header component for rendering the header section of the application.
|
|
8
8
|
*
|
|
@@ -25,7 +25,7 @@ import { BellNotification } from '../../02-molecules/BellNotifications/BellNotif
|
|
|
25
25
|
*
|
|
26
26
|
* @returns {ReactNode} The rendered Header component.
|
|
27
27
|
*/
|
|
28
|
-
export function Header({ homeHref = '/', primaryMenu, secondMenu, avatar, bellNotifications, }) {
|
|
28
|
+
export function Header({ homeHref = '/', primaryMenu, secondMenu, avatar, bellNotifications, onFavoriteToggle, }) {
|
|
29
29
|
return (<Container as="header" className="relative flex flex-row justify-between py-2">
|
|
30
30
|
<div className="flex items-center gap-4">
|
|
31
31
|
<div>
|
|
@@ -33,7 +33,7 @@ export function Header({ homeHref = '/', primaryMenu, secondMenu, avatar, bellNo
|
|
|
33
33
|
<Logo id="logo"/>
|
|
34
34
|
</Link>
|
|
35
35
|
</div>
|
|
36
|
-
{!!secondMenu && <SecondMenu menu={secondMenu}/>}
|
|
36
|
+
{!!secondMenu && (<SecondMenu menu={secondMenu} onFavoriteToggle={onFavoriteToggle}/>)}
|
|
37
37
|
{!!primaryMenu && (<div>
|
|
38
38
|
<Menu menu={primaryMenu} orientation="horizontal"/>
|
|
39
39
|
</div>)}
|
|
@@ -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,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,
|
|
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;AACtC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EACL,gBAAgB,GAEjB,MAAM,uDAAuD,CAAC;AAW/D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,MAAM,CAAC,EACrB,QAAQ,GAAG,GAAG,EACd,WAAW,EACX,UAAU,EACV,MAAM,EACN,iBAAiB,EACjB,gBAAgB,GACJ;IACZ,OAAO,CACL,CAAC,SAAS,CACR,EAAE,CAAC,QAAQ,CACX,SAAS,CAAC,6CAA6C,CAEvD;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,CACF;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,GAAG,CAAC,SAAS,CAAC,yBAAyB,CACtC;QAAA,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,gBAAgB,CAAC,IAAI,iBAAiB,CAAC,EAAG,CACnE;QAAA,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAG,CACtD;MAAA,EAAE,GAAG,CACP;IAAA,EAAE,SAAS,CAAC,CACb,CAAC;AACJ,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { ComponentProps, ReactNode } from 'react';
|
|
|
2
2
|
import { Menu } from '../../02-molecules';
|
|
3
3
|
export type SecondMenuProps = {
|
|
4
4
|
menu: ComponentProps<typeof Menu>['menu'];
|
|
5
|
+
onFavoriteToggle?: ComponentProps<typeof Menu>['onFavoriteToggle'];
|
|
5
6
|
};
|
|
6
7
|
/**
|
|
7
8
|
* SecondMenu component for rendering a slide-over menu with a specified menu configuration.
|
|
@@ -16,5 +17,5 @@ export type SecondMenuProps = {
|
|
|
16
17
|
*
|
|
17
18
|
* @returns {ReactNode} The rendered SecondMenu component.
|
|
18
19
|
*/
|
|
19
|
-
export declare function SecondMenu({ menu }: SecondMenuProps): ReactNode;
|
|
20
|
+
export declare function SecondMenu({ menu, onFavoriteToggle, }: SecondMenuProps): ReactNode;
|
|
20
21
|
//# sourceMappingURL=SecondMenu.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecondMenu.d.ts","sourceRoot":"","sources":["../../../../src/components/03-organisms/Header/SecondMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAY,MAAM,OAAO,CAAC;AAG5D,OAAO,EAAE,IAAI,EAAa,MAAM,oBAAoB,CAAC;AAErD,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"SecondMenu.d.ts","sourceRoot":"","sources":["../../../../src/components/03-organisms/Header/SecondMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAY,MAAM,OAAO,CAAC;AAG5D,OAAO,EAAE,IAAI,EAAa,MAAM,oBAAoB,CAAC;AAErD,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,CAqB7B"}
|
|
@@ -16,7 +16,7 @@ import { Menu, SlideOver } from '../../02-molecules';
|
|
|
16
16
|
*
|
|
17
17
|
* @returns {ReactNode} The rendered SecondMenu component.
|
|
18
18
|
*/
|
|
19
|
-
export function SecondMenu({ menu }) {
|
|
19
|
+
export function SecondMenu({ menu, onFavoriteToggle, }) {
|
|
20
20
|
const [showMenu, setShowMenu] = useState(false);
|
|
21
21
|
return (<>
|
|
22
22
|
<span className="cursor-pointer p-1">
|
|
@@ -24,7 +24,7 @@ export function SecondMenu({ menu }) {
|
|
|
24
24
|
</span>
|
|
25
25
|
{!!showMenu &&
|
|
26
26
|
createPortal(<SlideOver side="left" closeCallback={() => setShowMenu(false)}>
|
|
27
|
-
<Menu menu={menu} orientation="vertical"/>
|
|
27
|
+
<Menu menu={menu} orientation="vertical" onFavoriteToggle={onFavoriteToggle}/>
|
|
28
28
|
</SlideOver>, document.body)}
|
|
29
29
|
</>);
|
|
30
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecondMenu.jsx","sourceRoot":"","sources":["../../../../src/components/03-organisms/Header/SecondMenu.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAA6B,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"SecondMenu.jsx","sourceRoot":"","sources":["../../../../src/components/03-organisms/Header/SecondMenu.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAA6B,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAOrD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,UAAU,CAAC,EACzB,IAAI,EACJ,gBAAgB,GACA;IAChB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAEzD,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,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAC7D;YAAA,CAAC,IAAI,CACH,IAAI,CAAC,CAAC,IAAI,CAAC,CACX,WAAW,CAAC,UAAU,CACtB,gBAAgB,CAAC,CAAC,gBAAgB,CAAC,EAEvC;UAAA,EAAE,SAAS,CAAC,EACZ,QAAQ,CAAC,IAAI,CACd,CACL;IAAA,GAAG,CACJ,CAAC;AACJ,CAAC"}
|
|
@@ -10,7 +10,7 @@ export function useSegments(pageTitles) {
|
|
|
10
10
|
const pathname = usePathname() || '/lorem/ipsum';
|
|
11
11
|
const searchParams = useSearchParams();
|
|
12
12
|
const segments = pathname.split('/').filter((segment) => segment);
|
|
13
|
-
const query = searchParams
|
|
13
|
+
const query = searchParams?.toString() ?? '';
|
|
14
14
|
let accumulatedPath = '';
|
|
15
15
|
return segments.map((segment) => {
|
|
16
16
|
accumulatedPath += `/${segment}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSegments.js","sourceRoot":"","sources":["../../src/hooks/useSegments.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAG/D;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,UAAkC;IAC5D,MAAM,QAAQ,GAAG,WAAW,EAAE,IAAI,cAAc,CAAC;IACjD,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"useSegments.js","sourceRoot":"","sources":["../../src/hooks/useSegments.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAG/D;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,UAAkC;IAC5D,MAAM,QAAQ,GAAG,WAAW,EAAE,IAAI,cAAc,CAAC;IACjD,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAE7C,IAAI,eAAe,GAAG,EAAE,CAAC;IACzB,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,eAAe,IAAI,IAAI,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,UAAU,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,CAAC,sBAAsB;QAC3E,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,eAAe,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,eAAe;YAC7D,IAAI;SACL,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@clicoh/orion-library",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.18",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@floating-ui/react": "0.26.19",
|
|
@@ -67,7 +67,6 @@
|
|
|
67
67
|
"next:build": "next build",
|
|
68
68
|
"next:start": "next start",
|
|
69
69
|
"next:lint": "next lint",
|
|
70
|
-
"preinstall": "npx only-allow pnpm",
|
|
71
70
|
"deploy:local": "npm run build && cp -r dist index.js index.d.ts package.json assets tailwind.config.ts ../atlas/node_modules/@clicoh/orion-library/"
|
|
72
71
|
}
|
|
73
72
|
}
|