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 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 icon size in pixels (default: 48) */
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) */
@@ -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,6CAA6C;IAC7C,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,CA+X1C,CAAC;AAEF,eAAe,OAAO,CAAC"}
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: baseSize,
272
- height: baseSize,
272
+ width: resolvedIconSize,
273
+ height: resolvedIconSize,
273
274
  } }) }), isActive && (_jsx("div", { style: indicatorStyle, className: classNames.indicator }))] }, item.id));
274
275
  }) }) }));
275
276
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "icon-dock-nav",
3
- "version": "1.0.2",
3
+ "version": "1.1.0",
4
4
  "description": "macOS-style dock navigation component for React with smooth magnification effects",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",