@timmbr/ui 1.7.0 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/NavHeader/NavHeader.context.d.ts +2 -0
- package/dist/components/NavHeader/NavHeader.context.d.ts.map +1 -1
- package/dist/components/NavHeader/NavHeader.d.ts.map +1 -1
- package/dist/components/NavHeader/NavHeader.js +11 -1
- package/dist/components/NavHeader/NavHeader.types.d.ts +2 -0
- package/dist/components/NavHeader/NavHeader.types.d.ts.map +1 -1
- package/dist/components/NavHeader/subcomponents/NavMobileTabContent.d.ts.map +1 -1
- package/dist/components/NavHeader/subcomponents/NavMobileTabContent.js +3 -2
- package/dist/components/NavHeader/subcomponents/NavMobileTabSlider.js +1 -1
- package/dist/components/NavMenuColumns/NavMenuColumns.d.ts +30 -0
- package/dist/components/NavMenuColumns/NavMenuColumns.d.ts.map +1 -0
- package/dist/components/NavMenuColumns/NavMenuColumns.js +138 -0
- package/dist/components/NavMenuColumns/NavMenuColumns.styles.d.ts +24 -0
- package/dist/components/NavMenuColumns/NavMenuColumns.styles.d.ts.map +1 -0
- package/dist/components/NavMenuColumns/NavMenuColumns.styles.js +53 -0
- package/dist/components/NavMenuColumns/NavMenuColumns.types.d.ts +84 -0
- package/dist/components/NavMenuColumns/NavMenuColumns.types.d.ts.map +1 -0
- package/dist/components/NavMenuColumns/index.d.ts +4 -0
- package/dist/components/NavMenuColumns/index.d.ts.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/package.json +4 -4
|
@@ -14,6 +14,8 @@ export interface NavHeaderContextValue {
|
|
|
14
14
|
handleItemMouseLeave: () => void;
|
|
15
15
|
handleItemClick: (id: string, item: NavHeaderItem) => void;
|
|
16
16
|
handleSearchSubmit: (query: string) => void;
|
|
17
|
+
/** Closes the desktop popover and the mobile tab panel (e.g. after a menu link is followed). */
|
|
18
|
+
closeMenus?: () => void;
|
|
17
19
|
}
|
|
18
20
|
export declare const NavHeaderContext: React.Context<NavHeaderContextValue | null>;
|
|
19
21
|
export declare function useNavHeaderContext(): NavHeaderContextValue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavHeader.context.d.ts","sourceRoot":"","sources":["../../../src/components/NavHeader/NavHeader.context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvE,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7C,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;IAChD,oBAAoB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAC3D,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"NavHeader.context.d.ts","sourceRoot":"","sources":["../../../src/components/NavHeader/NavHeader.context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvE,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7C,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;IAChD,oBAAoB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAC3D,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,gGAAgG;IAChG,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,eAAO,MAAM,gBAAgB,6CAA0D,CAAC;AAExF,wBAAgB,mBAAmB,IAAI,qBAAqB,CAM3D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavHeader.d.ts","sourceRoot":"","sources":["../../../src/components/NavHeader/NavHeader.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EACV,cAAc,EAMf,MAAM,mBAAmB,CAAC;AAa3B,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"NavHeader.d.ts","sourceRoot":"","sources":["../../../src/components/NavHeader/NavHeader.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EACV,cAAc,EAMf,MAAM,mBAAmB,CAAC;AAa3B,eAAO,MAAM,SAAS,oFA0qBrB,CAAC;AAIF;;GAEG;AACH,eAAO,MAAM,MAAM,oFAAY,CAAC"}
|
|
@@ -263,7 +263,7 @@ const NavHeader = React.forwardRef(
|
|
|
263
263
|
const mobileActiveItemId = controlledMobileActiveId !== void 0 ? controlledMobileActiveId : uncontrolledMobileActiveId;
|
|
264
264
|
const handleMobileItemClick = React.useCallback(
|
|
265
265
|
(id, item) => {
|
|
266
|
-
if (item.content) {
|
|
266
|
+
if (item.mobileContent ?? item.content) {
|
|
267
267
|
const nextId = mobileActiveItemId === id ? null : id;
|
|
268
268
|
if (controlledMobileActiveId === void 0) {
|
|
269
269
|
setUncontrolledMobileActiveId(nextId);
|
|
@@ -273,6 +273,14 @@ const NavHeader = React.forwardRef(
|
|
|
273
273
|
},
|
|
274
274
|
[mobileActiveItemId, controlledMobileActiveId, onMobileActiveItemChange]
|
|
275
275
|
);
|
|
276
|
+
const closeMenus = React.useCallback(() => {
|
|
277
|
+
setActiveItemId(null);
|
|
278
|
+
if (mobileActiveItemId === null) return;
|
|
279
|
+
if (controlledMobileActiveId === void 0) {
|
|
280
|
+
setUncontrolledMobileActiveId(null);
|
|
281
|
+
}
|
|
282
|
+
onMobileActiveItemChange?.(null);
|
|
283
|
+
}, [setActiveItemId, mobileActiveItemId, controlledMobileActiveId, onMobileActiveItemChange]);
|
|
276
284
|
const activeMobileItem = React.useMemo(() => {
|
|
277
285
|
return navItems.find((item) => item.id === mobileActiveItemId) ?? null;
|
|
278
286
|
}, [navItems, mobileActiveItemId]);
|
|
@@ -307,6 +315,7 @@ const NavHeader = React.forwardRef(
|
|
|
307
315
|
handleItemMouseLeave,
|
|
308
316
|
handleItemClick,
|
|
309
317
|
handleSearchSubmit,
|
|
318
|
+
closeMenus,
|
|
310
319
|
autoMaxVisibleActions: autoMaxVisible
|
|
311
320
|
}),
|
|
312
321
|
[
|
|
@@ -323,6 +332,7 @@ const NavHeader = React.forwardRef(
|
|
|
323
332
|
handleItemMouseLeave,
|
|
324
333
|
handleItemClick,
|
|
325
334
|
handleSearchSubmit,
|
|
335
|
+
closeMenus,
|
|
326
336
|
autoMaxVisible
|
|
327
337
|
]
|
|
328
338
|
);
|
|
@@ -59,6 +59,8 @@ export interface NavHeaderItem {
|
|
|
59
59
|
crossZone?: boolean;
|
|
60
60
|
/** Rich popover or mega-menu content. If provided, renders dropdown below header */
|
|
61
61
|
content?: React.ReactNode;
|
|
62
|
+
/** Content for the mobile/tablet tab panel (< 1024px), e.g. image tiles. Defaults to `content`. */
|
|
63
|
+
mobileContent?: React.ReactNode;
|
|
62
64
|
/** Width mode of the popover: 'container' (1216px centered), 'full' (100vw), 'dropdown' (anchor-aligned), or explicit number */
|
|
63
65
|
popoverWidth?: 'container' | 'full' | 'dropdown' | number;
|
|
64
66
|
/** Optional badge displayed adjacent to the label */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavHeader.types.d.ts","sourceRoot":"","sources":["../../../src/components/NavHeader/NavHeader.types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NavHeader.types.d.ts","sourceRoot":"","sources":["../../../src/components/NavHeader/NavHeader.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavMobileTabContent.d.ts","sourceRoot":"","sources":["../../../../src/components/NavHeader/subcomponents/NavMobileTabContent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,aAAa,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,
|
|
1
|
+
{"version":3,"file":"NavMobileTabContent.d.ts","sourceRoot":"","sources":["../../../../src/components/NavHeader/subcomponents/NavMobileTabContent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,aAAa,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAwClE,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -21,7 +21,8 @@ const NavMobileTabContent = ({
|
|
|
21
21
|
document.addEventListener("keydown", handleKeyDown);
|
|
22
22
|
return () => document.removeEventListener("keydown", handleKeyDown);
|
|
23
23
|
}, [activeItem, onClose]);
|
|
24
|
-
const
|
|
24
|
+
const panelContent = activeItem ? activeItem.mobileContent ?? activeItem.content : null;
|
|
25
|
+
const hasContent = Boolean(panelContent);
|
|
25
26
|
return /* @__PURE__ */ jsx(AnimatePresence, { initial: false, children: hasContent && /* @__PURE__ */ jsx(
|
|
26
27
|
motion.div,
|
|
27
28
|
{
|
|
@@ -31,7 +32,7 @@ const NavMobileTabContent = ({
|
|
|
31
32
|
transition: { duration: 0.22, ease: [0.25, 1, 0.5, 1] },
|
|
32
33
|
className: cn(mobileTabContentPanelVariants(), motionClass),
|
|
33
34
|
"data-slot": "nav-mobile-tab-content-panel",
|
|
34
|
-
children: /* @__PURE__ */ jsx("div", { className: "w-full", children:
|
|
35
|
+
children: /* @__PURE__ */ jsx("div", { className: "w-full", children: panelContent })
|
|
35
36
|
},
|
|
36
37
|
activeItem.id
|
|
37
38
|
) });
|
|
@@ -45,7 +45,7 @@ const NavMobileTabSlider = ({
|
|
|
45
45
|
transition: { type: "spring", stiffness: 380, damping: 30 }
|
|
46
46
|
}
|
|
47
47
|
) : isActive ? /* @__PURE__ */ jsx("div", { className: "absolute bottom-0 left-0 right-0 h-[2.5px] bg-primary rounded-full" }) : null;
|
|
48
|
-
if (resolvedHref && !item.content && !item.disabled) {
|
|
48
|
+
if (resolvedHref && !(item.mobileContent ?? item.content) && !item.disabled) {
|
|
49
49
|
if (CustomLink && !requiresCrossZone) {
|
|
50
50
|
return /* @__PURE__ */ jsxs(
|
|
51
51
|
CustomLink,
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { NavMenuColumnsProps, NavMenuGroup, NavMenuPromoProps, NavMenuTilesProps } from './NavMenuColumns.types';
|
|
3
|
+
/**
|
|
4
|
+
* Splits groups, in order, into at most `maxColumns` stacks so the tallest
|
|
5
|
+
* stack is as short as possible (groups never split). Uses up to
|
|
6
|
+
* `min(maxColumns, groups)` columns; an exact search, fine for menu sizes.
|
|
7
|
+
*/
|
|
8
|
+
export declare function packNavMenuGroups(groups: NavMenuGroup[], maxColumns: number): NavMenuGroup[][];
|
|
9
|
+
/**
|
|
10
|
+
* A mega-menu panel: bold group headings with their links, packed into
|
|
11
|
+
* balanced columns split by thin dividers, with an optional aside (e.g. a
|
|
12
|
+
* `NavMenuPromo`). For a `NavHeader` item's popover (`content`) or any menu
|
|
13
|
+
* panel. Clicking a link closes the header's popover.
|
|
14
|
+
*/
|
|
15
|
+
export declare const NavMenuColumns: React.ForwardRefExoticComponent<NavMenuColumnsProps & React.RefAttributes<HTMLElement>>;
|
|
16
|
+
/**
|
|
17
|
+
* Image promo card for a menu's `aside`: a headline (words in `<em>` use the
|
|
18
|
+
* display face), an optional subtitle and an offer badge over a cover image.
|
|
19
|
+
*/
|
|
20
|
+
export declare const NavMenuPromo: React.ForwardRefExoticComponent<NavMenuPromoProps & React.RefAttributes<HTMLElement>>;
|
|
21
|
+
/** Tile width in px; matches `size-[88px]` in navMenuTileImageVariants. */
|
|
22
|
+
export declare const NAV_MENU_TILE_PX = 88;
|
|
23
|
+
/**
|
|
24
|
+
* Image tiles for a mobile menu panel (a `NavHeader` item's `mobileContent`):
|
|
25
|
+
* a horizontally scrolling grid, `rows` tiles tall, each a rounded square
|
|
26
|
+
* image with its label below. Tiles without an image show the label's
|
|
27
|
+
* initial on a muted square.
|
|
28
|
+
*/
|
|
29
|
+
export declare const NavMenuTiles: React.ForwardRefExoticComponent<NavMenuTilesProps & React.RefAttributes<HTMLElement>>;
|
|
30
|
+
//# sourceMappingURL=NavMenuColumns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavMenuColumns.d.ts","sourceRoot":"","sources":["../../../src/components/NavMenuColumns/NavMenuColumns.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAmB/B,OAAO,KAAK,EAEV,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AA8BhC;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,EAAE,EAAE,CA+B9F;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,yFAgE1B,CAAC;AAGF;;;GAGG;AACH,eAAO,MAAM,YAAY,uFA0CxB,CAAC;AAGF,2EAA2E;AAC3E,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC;;;;;GAKG;AACH,eAAO,MAAM,YAAY,uFAuCxB,CAAC"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { cn } from '@timmbr/utils';
|
|
5
|
+
import { NavHeaderContext } from '../NavHeader/NavHeader.context.js';
|
|
6
|
+
import { navMenuTitleVariants, navMenuLinkVariants, navMenuMoreVariants, navMenuColumnVariants, navMenuAsideVariants, navMenuColumnsGridVariants, navMenuPromoTitleVariants, navMenuPromoVariants, navMenuTileImageVariants, navMenuTileLabelVariants, navMenuTileVariants, navMenuTilesVariants } from './NavMenuColumns.styles.js';
|
|
7
|
+
import { Divider } from '../Divider/Divider.js';
|
|
8
|
+
import { Badge } from '../Badge/Badge.js';
|
|
9
|
+
|
|
10
|
+
const DefaultLink = ({ href, className, children, ...rest }) => /* @__PURE__ */ jsx("a", { href, className, ...rest, children });
|
|
11
|
+
function useMenuLink(linkComponent, crossZone) {
|
|
12
|
+
const header = React.useContext(NavHeaderContext);
|
|
13
|
+
const Link = crossZone ? DefaultLink : linkComponent ?? header?.linkComponent ?? DefaultLink;
|
|
14
|
+
const close = React.useCallback(
|
|
15
|
+
() => header?.closeMenus ? header.closeMenus() : header?.setActiveItemId(null),
|
|
16
|
+
[header]
|
|
17
|
+
);
|
|
18
|
+
return { Link, close };
|
|
19
|
+
}
|
|
20
|
+
const atLeastOne = (value, fallback) => Number.isFinite(value) && value >= 1 ? Math.floor(value) : fallback;
|
|
21
|
+
const groupRows = (group) => 2 + (group.links?.length ?? 0) + (group.more ? 1 : 0);
|
|
22
|
+
function packNavMenuGroups(groups, maxColumns) {
|
|
23
|
+
const n = groups.length;
|
|
24
|
+
if (!n) return [];
|
|
25
|
+
const k = Math.min(atLeastOne(maxColumns, 1), n);
|
|
26
|
+
const prefix = [0];
|
|
27
|
+
for (const group of groups) prefix.push(prefix[prefix.length - 1] + groupRows(group));
|
|
28
|
+
const height = (from, to) => prefix[to] - prefix[from];
|
|
29
|
+
const best = Array.from({ length: k + 1 }, () => new Array(n + 1).fill(Infinity));
|
|
30
|
+
const cut = Array.from({ length: k + 1 }, () => new Array(n + 1).fill(0));
|
|
31
|
+
best[0][0] = 0;
|
|
32
|
+
for (let c = 1; c <= k; c++) {
|
|
33
|
+
for (let i = c; i <= n; i++) {
|
|
34
|
+
for (let j = c - 1; j < i; j++) {
|
|
35
|
+
const value = Math.max(best[c - 1][j], height(j, i));
|
|
36
|
+
if (value < best[c][i]) {
|
|
37
|
+
best[c][i] = value;
|
|
38
|
+
cut[c][i] = j;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
const columns = [];
|
|
44
|
+
for (let c = k, i = n; c > 0; c--) {
|
|
45
|
+
const j = cut[c][i];
|
|
46
|
+
columns.unshift(groups.slice(j, i));
|
|
47
|
+
i = j;
|
|
48
|
+
}
|
|
49
|
+
return columns;
|
|
50
|
+
}
|
|
51
|
+
const NavMenuColumns = React.forwardRef(
|
|
52
|
+
({ groups, columns, aside, linkComponent, crossZone = false, className, style, "aria-label": ariaLabel, ...props }, ref) => {
|
|
53
|
+
const { Link, close } = useMenuLink(linkComponent, crossZone);
|
|
54
|
+
const maxColumns = atLeastOne(columns, aside ? 3 : 4);
|
|
55
|
+
const stacks = React.useMemo(() => packNavMenuGroups(groups, maxColumns), [groups, maxColumns]);
|
|
56
|
+
return /* @__PURE__ */ jsxs(
|
|
57
|
+
"nav",
|
|
58
|
+
{
|
|
59
|
+
ref,
|
|
60
|
+
"aria-label": ariaLabel,
|
|
61
|
+
"data-slot": "nav-menu-columns",
|
|
62
|
+
className: cn(navMenuColumnsGridVariants({ aside: Boolean(aside) }), className),
|
|
63
|
+
style: { "--nav-menu-cols": Math.max(stacks.length, maxColumns), ...style },
|
|
64
|
+
...props,
|
|
65
|
+
children: [
|
|
66
|
+
stacks.map((stack, index) => /* @__PURE__ */ jsx("div", { className: navMenuColumnVariants(), "data-slot": "nav-menu-column", children: stack.map((group) => /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-col gap-2.5", "data-slot": "nav-menu-group", children: [
|
|
67
|
+
group.href ? /* @__PURE__ */ jsx(Link, { href: group.href, className: navMenuTitleVariants({ link: true }), onClick: close, children: group.title }) : /* @__PURE__ */ jsx("span", { className: navMenuTitleVariants(), children: group.title }),
|
|
68
|
+
(Boolean(group.links?.length) || group.more) && /* @__PURE__ */ jsxs("ul", { className: "flex flex-col gap-2.5", role: "list", children: [
|
|
69
|
+
group.links?.map((link) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(Link, { href: link.href, className: navMenuLinkVariants(), onClick: close, children: link.label }) }, link.id)),
|
|
70
|
+
group.more && /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(Link, { href: group.more.href, className: navMenuMoreVariants(), onClick: close, children: group.more.label }) })
|
|
71
|
+
] })
|
|
72
|
+
] }, group.id)) }, stack[0]?.id ?? index)),
|
|
73
|
+
aside && /* @__PURE__ */ jsx(
|
|
74
|
+
"div",
|
|
75
|
+
{
|
|
76
|
+
className: navMenuAsideVariants(),
|
|
77
|
+
style: { gridColumnStart: Math.max(stacks.length, maxColumns) + 1 },
|
|
78
|
+
"data-slot": "nav-menu-aside",
|
|
79
|
+
children: aside
|
|
80
|
+
}
|
|
81
|
+
)
|
|
82
|
+
]
|
|
83
|
+
}
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
);
|
|
87
|
+
NavMenuColumns.displayName = "NavMenuColumns";
|
|
88
|
+
const NavMenuPromo = React.forwardRef(
|
|
89
|
+
({ imageSrc, imageAlt = "", title, subtitle, badge, href, linkComponent, crossZone = false, className, ...props }, ref) => {
|
|
90
|
+
const { Link, close } = useMenuLink(linkComponent, crossZone);
|
|
91
|
+
const lines = Array.isArray(title) ? title : [title];
|
|
92
|
+
const content = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
93
|
+
/* @__PURE__ */ jsx("img", { src: imageSrc, alt: imageAlt, className: "absolute inset-0 -z-10 size-full object-cover" }),
|
|
94
|
+
/* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: "absolute inset-0 -z-10 bg-grey-1000/15" }),
|
|
95
|
+
/* @__PURE__ */ jsxs("span", { className: "flex w-full flex-col gap-1", children: [
|
|
96
|
+
lines.map((line, index) => /* @__PURE__ */ jsx("span", { className: navMenuPromoTitleVariants(), children: line }, index)),
|
|
97
|
+
subtitle && /* @__PURE__ */ jsx("span", { className: "text-caption font-medium opacity-90", children: subtitle })
|
|
98
|
+
] }),
|
|
99
|
+
/* @__PURE__ */ jsx(Divider, { className: "w-6 border-grey-50 bg-grey-50" }),
|
|
100
|
+
badge && /* @__PURE__ */ jsx(Badge, { variant: "brand", size: "sm", className: "mt-auto rounded-[3px] px-2.5 py-1 text-caption font-bold", children: badge })
|
|
101
|
+
] });
|
|
102
|
+
return /* @__PURE__ */ jsx("div", { ref, "data-slot": "nav-menu-promo", className, ...props, children: href ? /* @__PURE__ */ jsx(Link, { href, className: navMenuPromoVariants(), onClick: close, children: content }) : /* @__PURE__ */ jsx("div", { className: navMenuPromoVariants(), children: content }) });
|
|
103
|
+
}
|
|
104
|
+
);
|
|
105
|
+
NavMenuPromo.displayName = "NavMenuPromo";
|
|
106
|
+
const NAV_MENU_TILE_PX = 88;
|
|
107
|
+
const NavMenuTiles = React.forwardRef(
|
|
108
|
+
({ items, rows = 2, linkComponent, crossZone = false, className, style, "aria-label": ariaLabel, ...props }, ref) => {
|
|
109
|
+
const { Link, close } = useMenuLink(linkComponent, crossZone);
|
|
110
|
+
const columnCount = Math.max(1, Math.ceil(items.length / atLeastOne(rows, 2)));
|
|
111
|
+
if (!items.length) return null;
|
|
112
|
+
return /* @__PURE__ */ jsx(
|
|
113
|
+
"nav",
|
|
114
|
+
{
|
|
115
|
+
ref,
|
|
116
|
+
"aria-label": ariaLabel,
|
|
117
|
+
"data-slot": "nav-menu-tiles",
|
|
118
|
+
className: cn(navMenuTilesVariants(), className),
|
|
119
|
+
style: { gridTemplateColumns: `repeat(${columnCount}, ${NAV_MENU_TILE_PX}px)`, ...style },
|
|
120
|
+
...props,
|
|
121
|
+
children: items.map((item) => /* @__PURE__ */ jsxs(Link, { href: item.href, className: navMenuTileVariants(), onClick: close, children: [
|
|
122
|
+
/* @__PURE__ */ jsx("span", { className: navMenuTileImageVariants(), children: item.imageSrc ? /* @__PURE__ */ jsx("img", { src: item.imageSrc, alt: item.imageAlt ?? "", loading: "lazy", className: "size-full object-cover" }) : /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: "font-display text-h5 text-muted-foreground", children: typeof item.label === "string" ? item.label.charAt(0) : null }) }),
|
|
123
|
+
/* @__PURE__ */ jsx(
|
|
124
|
+
"span",
|
|
125
|
+
{
|
|
126
|
+
className: navMenuTileLabelVariants(),
|
|
127
|
+
title: typeof item.label === "string" ? item.label : void 0,
|
|
128
|
+
children: item.label
|
|
129
|
+
}
|
|
130
|
+
)
|
|
131
|
+
] }, item.id))
|
|
132
|
+
}
|
|
133
|
+
);
|
|
134
|
+
}
|
|
135
|
+
);
|
|
136
|
+
NavMenuTiles.displayName = "NavMenuTiles";
|
|
137
|
+
|
|
138
|
+
export { NAV_MENU_TILE_PX, NavMenuColumns, NavMenuPromo, NavMenuTiles, packNavMenuGroups };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Phones (the header's tab panel): one stacked column. Large screens:
|
|
3
|
+
* `--nav-menu-cols` equal link columns, plus an auto-width aside when present.
|
|
4
|
+
*/
|
|
5
|
+
export declare const navMenuColumnsGridVariants: (props?: ({
|
|
6
|
+
aside?: boolean | null | undefined;
|
|
7
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
+
/** Thin dividers between link columns (Figma: 1px #E5E5E5 → `border`). */
|
|
9
|
+
export declare const navMenuColumnVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
10
|
+
export declare const navMenuTitleVariants: (props?: ({
|
|
11
|
+
link?: boolean | null | undefined;
|
|
12
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
13
|
+
export declare const navMenuLinkVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
14
|
+
export declare const navMenuMoreVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
15
|
+
export declare const navMenuAsideVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
16
|
+
/** Figma promo card: 312×270, ~10px radius, 20px padding, 15% dark overlay. */
|
|
17
|
+
export declare const navMenuPromoVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
18
|
+
export declare const navMenuPromoTitleVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
19
|
+
/** Mobile tiles: fixed 88px tiles in rows that scroll sideways (columns set inline, see NAV_MENU_TILE_PX). */
|
|
20
|
+
export declare const navMenuTilesVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
21
|
+
export declare const navMenuTileVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
22
|
+
export declare const navMenuTileImageVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
23
|
+
export declare const navMenuTileLabelVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
24
|
+
//# sourceMappingURL=NavMenuColumns.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavMenuColumns.styles.d.ts","sourceRoot":"","sources":["../../../src/components/NavMenuColumns/NavMenuColumns.styles.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;8EAQrC,CAAC;AAEH,0EAA0E;AAC1E,eAAO,MAAM,qBAAqB,oFAEjC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;8EAWhC,CAAC;AAEF,eAAO,MAAM,mBAAmB,oFAE/B,CAAC;AAEF,eAAO,MAAM,mBAAmB,oFAE/B,CAAC;AAEF,eAAO,MAAM,oBAAoB,oFAAyE,CAAC;AAE3G,+EAA+E;AAC/E,eAAO,MAAM,oBAAoB,oFAEhC,CAAC;AAEF,eAAO,MAAM,yBAAyB,oFAErC,CAAC;AAEF,8GAA8G;AAC9G,eAAO,MAAM,oBAAoB,oFAEhC,CAAC;AAEF,eAAO,MAAM,mBAAmB,oFAE/B,CAAC;AAEF,eAAO,MAAM,wBAAwB,oFAEpC,CAAC;AAEF,eAAO,MAAM,wBAAwB,oFAEpC,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { cva } from 'class-variance-authority';
|
|
2
|
+
|
|
3
|
+
const navMenuColumnsGridVariants = cva("grid grid-cols-1 bg-grey-50 sm:grid-cols-2", {
|
|
4
|
+
variants: {
|
|
5
|
+
aside: {
|
|
6
|
+
true: "lg:[grid-template-columns:repeat(var(--nav-menu-cols),minmax(0,1fr))_auto]",
|
|
7
|
+
false: "lg:[grid-template-columns:repeat(var(--nav-menu-cols),minmax(0,1fr))]"
|
|
8
|
+
}
|
|
9
|
+
},
|
|
10
|
+
defaultVariants: { aside: false }
|
|
11
|
+
});
|
|
12
|
+
const navMenuColumnVariants = cva(
|
|
13
|
+
"flex min-w-0 flex-col gap-6 px-5 py-4 lg:px-7 lg:py-7 lg:first:pl-8 lg:border-border lg:[&:not(:first-child)]:border-l"
|
|
14
|
+
);
|
|
15
|
+
const navMenuTitleVariants = cva(
|
|
16
|
+
"block font-sans text-body-2 font-bold text-grey-950 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded-sm",
|
|
17
|
+
{
|
|
18
|
+
variants: {
|
|
19
|
+
link: {
|
|
20
|
+
true: "hover:text-primary transition-colors",
|
|
21
|
+
false: ""
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
defaultVariants: { link: false }
|
|
25
|
+
}
|
|
26
|
+
);
|
|
27
|
+
const navMenuLinkVariants = cva(
|
|
28
|
+
"block font-sans text-body-3 font-medium text-grey-700 hover:text-primary transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded-sm"
|
|
29
|
+
);
|
|
30
|
+
const navMenuMoreVariants = cva(
|
|
31
|
+
"block font-sans text-body-3 font-semibold text-primary underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded-sm"
|
|
32
|
+
);
|
|
33
|
+
const navMenuAsideVariants = cva("hidden lg:flex flex-col items-end justify-center py-7 pl-5 pr-8");
|
|
34
|
+
const navMenuPromoVariants = cva(
|
|
35
|
+
"relative isolate flex w-[312px] aspect-[312/270] flex-col items-start gap-1.5 overflow-hidden rounded-[10px] p-5 text-grey-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"
|
|
36
|
+
);
|
|
37
|
+
const navMenuPromoTitleVariants = cva(
|
|
38
|
+
"font-sans text-[20px] leading-[1.3] [&_em]:font-display [&_em]:not-italic"
|
|
39
|
+
);
|
|
40
|
+
const navMenuTilesVariants = cva(
|
|
41
|
+
"grid gap-x-3 gap-y-4 overflow-x-auto bg-grey-50 px-5 py-4 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden"
|
|
42
|
+
);
|
|
43
|
+
const navMenuTileVariants = cva(
|
|
44
|
+
"group flex flex-col items-center gap-2 rounded-xl focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"
|
|
45
|
+
);
|
|
46
|
+
const navMenuTileImageVariants = cva(
|
|
47
|
+
"flex size-[88px] items-center justify-center overflow-hidden rounded-xl bg-muted transition-transform group-hover:scale-[1.02]"
|
|
48
|
+
);
|
|
49
|
+
const navMenuTileLabelVariants = cva(
|
|
50
|
+
"w-full truncate text-center font-sans text-body-2 font-semibold leading-tight text-grey-800"
|
|
51
|
+
);
|
|
52
|
+
|
|
53
|
+
export { navMenuAsideVariants, navMenuColumnVariants, navMenuColumnsGridVariants, navMenuLinkVariants, navMenuMoreVariants, navMenuPromoTitleVariants, navMenuPromoVariants, navMenuTileImageVariants, navMenuTileLabelVariants, navMenuTileVariants, navMenuTilesVariants, navMenuTitleVariants };
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import type * as React from 'react';
|
|
2
|
+
export interface NavMenuLink {
|
|
3
|
+
id: string;
|
|
4
|
+
label: React.ReactNode;
|
|
5
|
+
href: string;
|
|
6
|
+
}
|
|
7
|
+
/** A heading with the links under it. */
|
|
8
|
+
export interface NavMenuGroup {
|
|
9
|
+
id: string;
|
|
10
|
+
/** Group heading. A link when `href` is set; plain text otherwise. */
|
|
11
|
+
title: React.ReactNode;
|
|
12
|
+
href?: string;
|
|
13
|
+
links?: NavMenuLink[];
|
|
14
|
+
/** Trailing "see more" link, e.g. when `links` was capped. */
|
|
15
|
+
more?: {
|
|
16
|
+
label: React.ReactNode;
|
|
17
|
+
href: string;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export interface NavMenuColumnsLinkProps {
|
|
21
|
+
href: string;
|
|
22
|
+
className?: string;
|
|
23
|
+
children: React.ReactNode;
|
|
24
|
+
onClick?: React.MouseEventHandler<HTMLAnchorElement>;
|
|
25
|
+
}
|
|
26
|
+
export interface NavMenuColumnsProps extends Omit<React.HTMLAttributes<HTMLElement>, 'children'> {
|
|
27
|
+
/** Groups in reading order; they're packed top-to-bottom into balanced columns. */
|
|
28
|
+
groups: NavMenuGroup[];
|
|
29
|
+
/**
|
|
30
|
+
* Link columns on wide screens. Content is packed into at most this many,
|
|
31
|
+
* and the grid keeps this many tracks so column widths stay steady.
|
|
32
|
+
* Defaults to 3 with an `aside`, 4 without.
|
|
33
|
+
*/
|
|
34
|
+
columns?: number;
|
|
35
|
+
/** Content after the link columns, e.g. a `NavMenuPromo` card. Hidden on small screens. */
|
|
36
|
+
aside?: React.ReactNode;
|
|
37
|
+
/**
|
|
38
|
+
* Link to render with (e.g. `next/link`). Defaults to `<a>`. Inside a
|
|
39
|
+
* `NavHeader`, the header's own `linkComponent` is used when this is unset.
|
|
40
|
+
*/
|
|
41
|
+
linkComponent?: React.ComponentType<NavMenuColumnsLinkProps>;
|
|
42
|
+
/** The links lead to another zone: always render plain `<a>` (full navigation). */
|
|
43
|
+
crossZone?: boolean;
|
|
44
|
+
/** Accessible name of the navigation landmark. */
|
|
45
|
+
'aria-label'?: string;
|
|
46
|
+
}
|
|
47
|
+
export interface NavMenuPromoProps extends Omit<React.HTMLAttributes<HTMLElement>, 'title'> {
|
|
48
|
+
/** Background image (cover). */
|
|
49
|
+
imageSrc: string;
|
|
50
|
+
imageAlt?: string;
|
|
51
|
+
/**
|
|
52
|
+
* Headline. Wrap words in `<em>` to set them in the display (serif) face,
|
|
53
|
+
* e.g. `<>Cherish <em>Moments</em></>`. An array renders one line each.
|
|
54
|
+
*/
|
|
55
|
+
title: React.ReactNode | React.ReactNode[];
|
|
56
|
+
subtitle?: React.ReactNode;
|
|
57
|
+
/** Short offer label, e.g. "UP TO 55% OFF". */
|
|
58
|
+
badge?: React.ReactNode;
|
|
59
|
+
/** Makes the whole card a link. */
|
|
60
|
+
href?: string;
|
|
61
|
+
linkComponent?: React.ComponentType<NavMenuColumnsLinkProps>;
|
|
62
|
+
/** Plain `<a>` even with a link component (full navigation). */
|
|
63
|
+
crossZone?: boolean;
|
|
64
|
+
}
|
|
65
|
+
export interface NavMenuTile {
|
|
66
|
+
id: string;
|
|
67
|
+
label: React.ReactNode;
|
|
68
|
+
href: string;
|
|
69
|
+
/** Square-cropped image (88px); without one the tile shows the label's initial. */
|
|
70
|
+
imageSrc?: string | null;
|
|
71
|
+
imageAlt?: string;
|
|
72
|
+
}
|
|
73
|
+
export interface NavMenuTilesProps extends Omit<React.HTMLAttributes<HTMLElement>, 'children'> {
|
|
74
|
+
items: NavMenuTile[];
|
|
75
|
+
/** Tile rows; extra tiles scroll sideways. Defaults to 2. */
|
|
76
|
+
rows?: number;
|
|
77
|
+
/** Link to render with (e.g. `next/link`). Inside a `NavHeader`, defaults to the header's. */
|
|
78
|
+
linkComponent?: React.ComponentType<NavMenuColumnsLinkProps>;
|
|
79
|
+
/** Plain `<a>` even with a link component (full navigation). */
|
|
80
|
+
crossZone?: boolean;
|
|
81
|
+
/** Accessible name of the navigation landmark. */
|
|
82
|
+
'aria-label'?: string;
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=NavMenuColumns.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavMenuColumns.types.d.ts","sourceRoot":"","sources":["../../../src/components/NavMenuColumns/NavMenuColumns.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAEpC,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,yCAAyC;AACzC,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,sEAAsE;IACtE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,8DAA8D;IAC9D,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACjD;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC;IAC9F,mFAAmF;IACnF,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2FAA2F;IAC3F,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB;;;OAGG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;IAC7D,mFAAmF;IACnF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IACzF,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,KAAK,EAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;IAC3C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,+CAA+C;IAC/C,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;IAC7D,gEAAgE;IAChE,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC;IAC5F,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8FAA8F;IAC9F,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;IAC7D,gEAAgE;IAChE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/NavMenuColumns/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -28,6 +28,7 @@ export * from './components/Tooltip';
|
|
|
28
28
|
export * from './components/Tabs';
|
|
29
29
|
export * from './components/SideBarNavigation';
|
|
30
30
|
export * from './components/NavHeader';
|
|
31
|
+
export * from './components/NavMenuColumns';
|
|
31
32
|
export * from './components/NavFooter';
|
|
32
33
|
export * from './components/AuthModal';
|
|
33
34
|
export * from './components/Button';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,gBAAgB,CAAC;AAC/B,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG3D,cAAc,aAAa,CAAC;AAG5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,gBAAgB,CAAC;AAC/B,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG3D,cAAc,aAAa,CAAC;AAG5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -51,6 +51,7 @@ export { Label } from './components/Label/Label.js';
|
|
|
51
51
|
export { LinkButton } from './components/LinkButton/LinkButton.js';
|
|
52
52
|
export { List, ListItem, ListItemAction, ListItemIcon, ListItemText } from './components/List/List.js';
|
|
53
53
|
export { MediaCard } from './components/MediaCard/MediaCard.js';
|
|
54
|
+
export { NAV_MENU_TILE_PX, NavMenuColumns, NavMenuPromo, NavMenuTiles, packNavMenuGroups } from './components/NavMenuColumns/NavMenuColumns.js';
|
|
54
55
|
export { NavActions } from './components/NavHeader/subcomponents/NavActions.js';
|
|
55
56
|
export { NavBrand } from './components/NavHeader/subcomponents/NavBrand.js';
|
|
56
57
|
export { NavItems } from './components/NavHeader/subcomponents/NavItems.js';
|
|
@@ -129,6 +130,7 @@ export { listDividedClass, listItemActionVariants, listItemIconVariants, listIte
|
|
|
129
130
|
export { mediaCardMediaVariants, mediaCardOverlayVariants, mediaCardVariants } from './components/MediaCard/MediaCard.styles.js';
|
|
130
131
|
export { megaMenuCardVariants, navActionVariants, navHeaderContainerVariants, navHeaderItemVariants, navHeaderVariants, offerBannerVariants, searchPopoverCardVariants } from './components/NavHeader/NavHeader.styles.js';
|
|
131
132
|
export { navBadgeVariants, navItemVariants, sidebarContainerVariants, sidebarToggleVariants, subItemVariants } from './components/SideBarNavigation/SideBarNavigation.styles.js';
|
|
133
|
+
export { navMenuAsideVariants, navMenuColumnVariants, navMenuColumnsGridVariants, navMenuLinkVariants, navMenuMoreVariants, navMenuPromoTitleVariants, navMenuPromoVariants, navMenuTileImageVariants, navMenuTileLabelVariants, navMenuTileVariants, navMenuTilesVariants, navMenuTitleVariants } from './components/NavMenuColumns/NavMenuColumns.styles.js';
|
|
132
134
|
export { otpContainerVariants, otpSlotVariants } from './components/OtpInput/OtpInput.styles.js';
|
|
133
135
|
export { pageHeaderTitleVariants, pageHeaderVariants } from './components/PageHeader/PageHeader.styles.js';
|
|
134
136
|
export { paginationLinkVariants } from './components/Pagination/Pagination.styles.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@timmbr/ui",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0",
|
|
4
4
|
"description": "High-performance, Next.js App Router-compatible UI design system components for Timmbr",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -42,11 +42,11 @@
|
|
|
42
42
|
"@radix-ui/react-tooltip": "^1.2.16",
|
|
43
43
|
"class-variance-authority": "^0.7.1",
|
|
44
44
|
"input-otp": "^1.5.0",
|
|
45
|
+
"@timmbr/icons": "1.4.0",
|
|
45
46
|
"@timmbr/hooks": "1.0.0",
|
|
47
|
+
"@timmbr/utils": "1.4.0",
|
|
46
48
|
"@timmbr/motion": "1.2.2",
|
|
47
|
-
"@timmbr/
|
|
48
|
-
"@timmbr/theme": "1.3.0",
|
|
49
|
-
"@timmbr/utils": "1.4.0"
|
|
49
|
+
"@timmbr/theme": "1.3.0"
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|
|
52
52
|
"next": ">=13.0.0 || >=14.0.0 || >=15.0.0 || >=16.0.0",
|