icon-dock-nav 1.0.2 → 1.1.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/DockNav.d.ts +3 -1
- package/dist/DockNav.d.ts.map +1 -1
- package/dist/DockNav.js +4 -3
- package/package.json +1 -1
package/dist/DockNav.d.ts
CHANGED
|
@@ -46,8 +46,10 @@ export interface DockNavProps {
|
|
|
46
46
|
activeId?: string;
|
|
47
47
|
/** Enable scroll-based active detection via IntersectionObserver */
|
|
48
48
|
observeScroll?: boolean;
|
|
49
|
-
/** Base
|
|
49
|
+
/** Base button/container size in pixels (default: 48) */
|
|
50
50
|
baseSize?: number;
|
|
51
|
+
/** Icon size in pixels (default: baseSize) */
|
|
52
|
+
iconSize?: number;
|
|
51
53
|
/** Max magnification multiplier (default: 1.4) */
|
|
52
54
|
maxScale?: number;
|
|
53
55
|
/** Gap between items in pixels (default: 12) */
|
package/dist/DockNav.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DockNav.d.ts","sourceRoot":"","sources":["../src/DockNav.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAMZ,aAAa,EACb,SAAS,EACV,MAAM,OAAO,CAAC;AAEf,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,YAAY;IAC3B,+FAA+F;IAC/F,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iGAAiG;IACjG,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2DAA2D;IAC3D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,4CAA4C;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,kCAAkC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wBAAwB;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC5B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,
|
|
1
|
+
{"version":3,"file":"DockNav.d.ts","sourceRoot":"","sources":["../src/DockNav.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAMZ,aAAa,EACb,SAAS,EACV,MAAM,OAAO,CAAC;AAEf,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,YAAY;IAC3B,+FAA+F;IAC/F,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iGAAiG;IACjG,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2DAA2D;IAC3D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,4CAA4C;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,kCAAkC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wBAAwB;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC5B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8CAA8C;IAC9C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0CAA0C;IAC1C,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,8BAA8B;IAC9B,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,KAAK,SAAS,CAAC;IACrE,6BAA6B;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAYD,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAiY1C,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
package/dist/DockNav.js
CHANGED
|
@@ -9,8 +9,9 @@ const defaultTheme = {
|
|
|
9
9
|
tooltipBackground: "#111827",
|
|
10
10
|
tooltipColor: "white",
|
|
11
11
|
};
|
|
12
|
-
export const DockNav = ({ items, position = "top", style, onNavigate, activeId, observeScroll = false, baseSize = 48, maxScale = 1.4, gap = 12, magnifyDistance = 100, animationDuration = 100, theme: userTheme, renderTooltip, hideTooltips = false, classNames = {}, unstyled = false, }) => {
|
|
12
|
+
export const DockNav = ({ items, position = "top", style, onNavigate, activeId, observeScroll = false, baseSize = 48, iconSize, maxScale = 1.4, gap = 12, magnifyDistance = 100, animationDuration = 100, theme: userTheme, renderTooltip, hideTooltips = false, classNames = {}, unstyled = false, }) => {
|
|
13
13
|
const theme = { ...defaultTheme, ...userTheme };
|
|
14
|
+
const resolvedIconSize = iconSize ?? baseSize;
|
|
14
15
|
const [mouseX, setMouseX] = useState(null);
|
|
15
16
|
const [isHoveringDock, setIsHoveringDock] = useState(false);
|
|
16
17
|
const [focusedId, setFocusedId] = useState(null);
|
|
@@ -268,8 +269,8 @@ export const DockNav = ({ items, position = "top", style, onNavigate, activeId,
|
|
|
268
269
|
.filter(Boolean)
|
|
269
270
|
.join(" ");
|
|
270
271
|
return (_jsxs("div", { style: itemStyle, className: classNames.item, children: [renderTooltip ? (renderTooltip(item, isTooltipVisible)) : (_jsxs("div", { role: "tooltip", id: `tooltip-${item.id}`, style: tooltipStyle, className: classNames.tooltip, children: [item.label, !unstyled && _jsx("div", { style: tooltipArrowStyle })] })), _jsx("button", { ref: setButtonRef(index), type: "button", onClick: () => handleClick(item.id), onKeyDown: (e) => handleKeyDown(e, item.id), onFocus: () => setFocusedId(item.id), onBlur: () => setFocusedId(null), "aria-label": item.label, "aria-describedby": renderTooltip ? undefined : `tooltip-${item.id}`, "aria-current": isActive ? "page" : undefined, style: buttonStyle, className: buttonClassName || undefined, children: _jsx(Icon, { style: {
|
|
271
|
-
width:
|
|
272
|
-
height:
|
|
272
|
+
width: resolvedIconSize,
|
|
273
|
+
height: resolvedIconSize,
|
|
273
274
|
} }) }), isActive && (_jsx("div", { style: indicatorStyle, className: classNames.indicator }))] }, item.id));
|
|
274
275
|
}) }) }));
|
|
275
276
|
};
|