@dreamtree-org/twreact-ui 1.0.62 → 1.0.63

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/index.js CHANGED
@@ -15112,24 +15112,7 @@ function LocationPicker(_ref) {
15112
15112
  }, iconButton)));
15113
15113
  }
15114
15114
 
15115
- var _excluded$d = ["items", "collapsed", "onToggle", "className", "logo", "user", "onUserClick", "drawerPosition", "isMobileOpen", "setIsMobileOpen", "showCollapsedTooltips", "tooltipClassName"];
15116
-
15117
- /**
15118
- * Small built-in tooltip used by the Sidebar when collapsed.
15119
- * Pure CSS + tiny visible prop for fade in/out.
15120
- */
15121
- var SidebarTooltip = function SidebarTooltip(_ref) {
15122
- var label = _ref.label,
15123
- visible = _ref.visible,
15124
- className = _ref.className;
15125
- return /*#__PURE__*/React.createElement("div", {
15126
- className: cn$1("absolute left-full top-1/2 -translate-y-1/2 ml-2 whitespace-nowrap", "px-2 py-1 rounded-md bg-gray-900 text-white text-xs shadow-lg", "opacity-0 pointer-events-none transition-opacity duration-150 pb-2 pt-2", {
15127
- "opacity-100": visible
15128
- }, className),
15129
- role: "tooltip",
15130
- "aria-hidden": !visible
15131
- }, label);
15132
- };
15115
+ var _excluded$d = ["items", "collapsed", "onToggle", "className", "logo", "user", "onUserClick", "drawerPosition", "isMobileOpen", "setIsMobileOpen", "showCollapsedTooltips", "tooltipOptions"];
15133
15116
 
15134
15117
  /**
15135
15118
  * Sidebar component with custom tooltip for collapsed mode.
@@ -15160,7 +15143,7 @@ var Sidebar = function Sidebar(_ref2) {
15160
15143
  setIsMobileOpen = _ref2.setIsMobileOpen,
15161
15144
  _ref2$showCollapsedTo = _ref2.showCollapsedTooltips,
15162
15145
  showCollapsedTooltips = _ref2$showCollapsedTo === void 0 ? true : _ref2$showCollapsedTo,
15163
- tooltipClassName = _ref2.tooltipClassName,
15146
+ tooltipOptions = _ref2.tooltipOptions,
15164
15147
  props = _objectWithoutProperties$1(_ref2, _excluded$d);
15165
15148
  var _useState = React.useState(new Set()),
15166
15149
  _useState2 = _slicedToArray(_useState, 2),
@@ -15171,9 +15154,9 @@ var Sidebar = function Sidebar(_ref2) {
15171
15154
  activeItemId = _useState4[0],
15172
15155
  setActiveItemId = _useState4[1];
15173
15156
  var _useState5 = React.useState(null),
15174
- _useState6 = _slicedToArray(_useState5, 2),
15175
- hoveredItemId = _useState6[0],
15176
- setHoveredItemId = _useState6[1];
15157
+ _useState6 = _slicedToArray(_useState5, 2);
15158
+ _useState6[0];
15159
+ var setHoveredItemId = _useState6[1];
15177
15160
  var mobileOpen = isMobileOpen !== null && isMobileOpen !== void 0 ? isMobileOpen : false;
15178
15161
  var effectiveCollapsed = mobileOpen ? false : collapsed;
15179
15162
  React.useEffect(function () {
@@ -15260,12 +15243,21 @@ var Sidebar = function Sidebar(_ref2) {
15260
15243
  return id === item.id ? null : id;
15261
15244
  });
15262
15245
  }
15263
- }, item.icon && /*#__PURE__*/React.createElement("span", {
15246
+ }, showTooltipForThis ? /*#__PURE__*/React.createElement(Tooltip, _extends({}, tooltipOptions, {
15247
+ trigger: "hover",
15248
+ content: item.label,
15249
+ position: "right"
15250
+ }), item.icon && /*#__PURE__*/React.createElement("span", {
15251
+ className: cn$1("flex-shrink-0", {
15252
+ "mr-3": !effectiveCollapsed || level > 0,
15253
+ "mr-0": effectiveCollapsed && level === 0
15254
+ })
15255
+ }, item.icon)) : /*#__PURE__*/React.createElement(React.Fragment, null, item.icon && /*#__PURE__*/React.createElement("span", {
15264
15256
  className: cn$1("flex-shrink-0", {
15265
15257
  "mr-3": !effectiveCollapsed || level > 0,
15266
15258
  "mr-0": effectiveCollapsed && level === 0
15267
15259
  })
15268
- }, item.icon), (!effectiveCollapsed || level > 0) && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", {
15260
+ }, item.icon)), (!effectiveCollapsed || level > 0) && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", {
15269
15261
  className: "flex-1 truncate"
15270
15262
  }, item.label), hasChildren && /*#__PURE__*/React.createElement("span", {
15271
15263
  className: "ml-2 flex-shrink-0"
@@ -15276,12 +15268,8 @@ var Sidebar = function Sidebar(_ref2) {
15276
15268
  })))), hasChildren && isExpanded && (!effectiveCollapsed || level > 0) && /*#__PURE__*/React.createElement("div", {
15277
15269
  className: "mt-1 space-y-1 ml-2"
15278
15270
  }, item.children.map(function (child) {
15279
- return _renderMenuItem(child, level + 1);
15280
- })), showTooltipForThis && /*#__PURE__*/React.createElement(SidebarTooltip, {
15281
- label: item.label,
15282
- visible: hoveredItemId === item.id,
15283
- className: tooltipClassName
15284
- }));
15271
+ return _renderMenuItem(child, level + 1, tooltipOptions);
15272
+ })));
15285
15273
  };
15286
15274
  var handleToggleClick = function handleToggleClick() {
15287
15275
  if (mobileOpen && setIsMobileOpen) setIsMobileOpen(false);else onToggle === null || onToggle === void 0 || onToggle();
@@ -15304,7 +15292,7 @@ var Sidebar = function Sidebar(_ref2) {
15304
15292
  }) : /*#__PURE__*/React.createElement(ChevronLeft, {
15305
15293
  className: "h-5 w-5"
15306
15294
  }))), /*#__PURE__*/React.createElement("nav", {
15307
- className: "flex-1 space-y-1 p-4 [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 hover:[&::-webkit-scrollbar-thumb]:bg-gray-400"
15295
+ className: "flex-1 space-y-1 overflow-y-auto p-4 [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 hover:[&::-webkit-scrollbar-thumb]:bg-gray-400"
15308
15296
  }, items.map(function (item) {
15309
15297
  return _renderMenuItem(item);
15310
15298
  })), user && /*#__PURE__*/React.createElement("div", {
@@ -15345,10 +15333,7 @@ var Sidebar = function Sidebar(_ref2) {
15345
15333
  className: "text-sm font-medium text-gray-700 truncate"
15346
15334
  }, user.name), /*#__PURE__*/React.createElement("p", {
15347
15335
  className: "text-xs text-gray-500 truncate"
15348
- }, user.email))), effectiveCollapsed && showCollapsedTooltips && /*#__PURE__*/React.createElement(SidebarTooltip, {
15349
- label: user.name,
15350
- visible: hoveredItemId === "user"
15351
- }))));
15336
+ }, user.email))))));
15352
15337
  var isRight = drawerPosition === "right";
15353
15338
  var mobileDrawerClasses = cn$1("fixed top-0 z-50 h-full transition-transform duration-300 ease-in-out md:hidden", {
15354
15339
  "left-0": !isRight,