@beweco/aurora-ui 0.1.59 → 0.1.60

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.cjs.js CHANGED
@@ -2263,6 +2263,63 @@ var MenuComponent = React.memo(function Menu(_a) {
2263
2263
  (_a = menuItems.onSelect) === null || _a === void 0 ? void 0 : _a.call(menuItems, key, href, "bottomBar");
2264
2264
  }, [onOpenSidebarChange, menuItems.onSelect]);
2265
2265
  var showBottomBar = (mobileBottomBarGroupKey && bottomBarItems.length > 0) || showNativeMenu;
2266
+ // Drag-to-scroll: clic sostenido + arrastre en el área de scroll del menú
2267
+ var scrollContainerRef = React.useRef(null);
2268
+ var dragStateRef = React.useRef({ startY: 0, startScrollTop: 0, isDragging: false, prevClientY: 0 });
2269
+ var _h = React.useState(false); _h[0]; var setIsDraggingScroll = _h[1];
2270
+ var handleScrollAreaMouseMove = React.useCallback(function (e) {
2271
+ var el = scrollContainerRef.current;
2272
+ if (!el)
2273
+ return;
2274
+ var state = dragStateRef.current;
2275
+ var dy = e.clientY - state.startY;
2276
+ if (!state.isDragging && Math.abs(dy) > 5) {
2277
+ state.isDragging = true;
2278
+ state.prevClientY = e.clientY;
2279
+ setIsDraggingScroll(true);
2280
+ }
2281
+ if (state.isDragging) {
2282
+ el.scrollTop += state.prevClientY - e.clientY;
2283
+ state.prevClientY = e.clientY;
2284
+ }
2285
+ }, []);
2286
+ var handleScrollAreaMouseUp = React.useCallback(function () {
2287
+ var wasDragging = dragStateRef.current.isDragging;
2288
+ document.removeEventListener("mousemove", handleScrollAreaMouseMove);
2289
+ document.removeEventListener("mouseup", handleScrollAreaMouseUp);
2290
+ dragStateRef.current.isDragging = false;
2291
+ setIsDraggingScroll(false);
2292
+ if (wasDragging) {
2293
+ var preventClick_1 = function (e) {
2294
+ e.preventDefault();
2295
+ e.stopPropagation();
2296
+ document.removeEventListener("click", preventClick_1, true);
2297
+ };
2298
+ document.addEventListener("click", preventClick_1, true);
2299
+ setTimeout(function () { return document.removeEventListener("click", preventClick_1, true); }, 50);
2300
+ }
2301
+ }, [handleScrollAreaMouseMove]);
2302
+ React.useCallback(function (e) {
2303
+ if (e.button !== 0)
2304
+ return;
2305
+ var el = scrollContainerRef.current;
2306
+ if (!el)
2307
+ return;
2308
+ dragStateRef.current = {
2309
+ startY: e.clientY,
2310
+ startScrollTop: el.scrollTop,
2311
+ isDragging: false,
2312
+ prevClientY: e.clientY,
2313
+ };
2314
+ document.addEventListener("mousemove", handleScrollAreaMouseMove);
2315
+ document.addEventListener("mouseup", handleScrollAreaMouseUp);
2316
+ }, [handleScrollAreaMouseMove, handleScrollAreaMouseUp]);
2317
+ React.useEffect(function () {
2318
+ return function () {
2319
+ document.removeEventListener("mousemove", handleScrollAreaMouseMove);
2320
+ document.removeEventListener("mouseup", handleScrollAreaMouseUp);
2321
+ };
2322
+ }, [handleScrollAreaMouseMove, handleScrollAreaMouseUp]);
2266
2323
  return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [showBottomBar && (jsxRuntime.jsx(MenuMobileBottomBar, { items: bottomBarItems, selectedKey: selectedKey, onSelect: handleBottomBarSelect, onMenuPress: handleSidebarOpen, menuLabel: t.menuLabel, navAriaLabel: t.mobileNavAriaLabel, forceVisible: showNativeMenu && bottomBarItems.length === 0 })), jsxRuntime.jsx("button", { type: "button", "aria-label": t.closeSidebarAriaLabel, className: "menu-overlay ".concat(isOpenSidebar ? "menu-overlay--open" : ""), onClick: handleSidebarClose, tabIndex: isOpenSidebar ? 0 : -1 }), jsxRuntime.jsx("div", { className: "container__menu ".concat(isCollapsed
2267
2324
  ? "container__menu--collapsed"
2268
2325
  : "container__menu--expanded", " ").concat(isOpenSidebar ? "container__menu--mobile-open" : ""), "aria-hidden": !isOpenSidebar, children: jsxRuntime.jsxs("div", { className: "content__menu", children: [jsxRuntime.jsxs("div", { className: "content__menu--header", style: {
package/dist/index.esm.js CHANGED
@@ -2264,6 +2264,63 @@ var MenuComponent = React.memo(function Menu(_a) {
2264
2264
  (_a = menuItems.onSelect) === null || _a === void 0 ? void 0 : _a.call(menuItems, key, href, "bottomBar");
2265
2265
  }, [onOpenSidebarChange, menuItems.onSelect]);
2266
2266
  var showBottomBar = (mobileBottomBarGroupKey && bottomBarItems.length > 0) || showNativeMenu;
2267
+ // Drag-to-scroll: clic sostenido + arrastre en el área de scroll del menú
2268
+ var scrollContainerRef = useRef(null);
2269
+ var dragStateRef = useRef({ startY: 0, startScrollTop: 0, isDragging: false, prevClientY: 0 });
2270
+ var _h = React.useState(false); _h[0]; var setIsDraggingScroll = _h[1];
2271
+ var handleScrollAreaMouseMove = useCallback(function (e) {
2272
+ var el = scrollContainerRef.current;
2273
+ if (!el)
2274
+ return;
2275
+ var state = dragStateRef.current;
2276
+ var dy = e.clientY - state.startY;
2277
+ if (!state.isDragging && Math.abs(dy) > 5) {
2278
+ state.isDragging = true;
2279
+ state.prevClientY = e.clientY;
2280
+ setIsDraggingScroll(true);
2281
+ }
2282
+ if (state.isDragging) {
2283
+ el.scrollTop += state.prevClientY - e.clientY;
2284
+ state.prevClientY = e.clientY;
2285
+ }
2286
+ }, []);
2287
+ var handleScrollAreaMouseUp = useCallback(function () {
2288
+ var wasDragging = dragStateRef.current.isDragging;
2289
+ document.removeEventListener("mousemove", handleScrollAreaMouseMove);
2290
+ document.removeEventListener("mouseup", handleScrollAreaMouseUp);
2291
+ dragStateRef.current.isDragging = false;
2292
+ setIsDraggingScroll(false);
2293
+ if (wasDragging) {
2294
+ var preventClick_1 = function (e) {
2295
+ e.preventDefault();
2296
+ e.stopPropagation();
2297
+ document.removeEventListener("click", preventClick_1, true);
2298
+ };
2299
+ document.addEventListener("click", preventClick_1, true);
2300
+ setTimeout(function () { return document.removeEventListener("click", preventClick_1, true); }, 50);
2301
+ }
2302
+ }, [handleScrollAreaMouseMove]);
2303
+ useCallback(function (e) {
2304
+ if (e.button !== 0)
2305
+ return;
2306
+ var el = scrollContainerRef.current;
2307
+ if (!el)
2308
+ return;
2309
+ dragStateRef.current = {
2310
+ startY: e.clientY,
2311
+ startScrollTop: el.scrollTop,
2312
+ isDragging: false,
2313
+ prevClientY: e.clientY,
2314
+ };
2315
+ document.addEventListener("mousemove", handleScrollAreaMouseMove);
2316
+ document.addEventListener("mouseup", handleScrollAreaMouseUp);
2317
+ }, [handleScrollAreaMouseMove, handleScrollAreaMouseUp]);
2318
+ useEffect(function () {
2319
+ return function () {
2320
+ document.removeEventListener("mousemove", handleScrollAreaMouseMove);
2321
+ document.removeEventListener("mouseup", handleScrollAreaMouseUp);
2322
+ };
2323
+ }, [handleScrollAreaMouseMove, handleScrollAreaMouseUp]);
2267
2324
  return (jsxs(Fragment, { children: [showBottomBar && (jsx(MenuMobileBottomBar, { items: bottomBarItems, selectedKey: selectedKey, onSelect: handleBottomBarSelect, onMenuPress: handleSidebarOpen, menuLabel: t.menuLabel, navAriaLabel: t.mobileNavAriaLabel, forceVisible: showNativeMenu && bottomBarItems.length === 0 })), jsx("button", { type: "button", "aria-label": t.closeSidebarAriaLabel, className: "menu-overlay ".concat(isOpenSidebar ? "menu-overlay--open" : ""), onClick: handleSidebarClose, tabIndex: isOpenSidebar ? 0 : -1 }), jsx("div", { className: "container__menu ".concat(isCollapsed
2268
2325
  ? "container__menu--collapsed"
2269
2326
  : "container__menu--expanded", " ").concat(isOpenSidebar ? "container__menu--mobile-open" : ""), "aria-hidden": !isOpenSidebar, children: jsxs("div", { className: "content__menu", children: [jsxs("div", { className: "content__menu--header", style: {
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../src/components/menu/Menu.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,aAAa,CAAC;AAIrB,OAAO,KAAK,EACX,kBAAkB,EAElB,MAAM,cAAc,CAAC;AActB;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAsPtD,CAAC"}
1
+ {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../src/components/menu/Menu.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAkD,MAAM,OAAO,CAAC;AACvE,OAAO,aAAa,CAAC;AAIrB,OAAO,KAAK,EACX,kBAAkB,EAElB,MAAM,cAAc,CAAC;AActB;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA0TtD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@beweco/aurora-ui",
3
- "version": "0.1.59",
3
+ "version": "0.1.60",
4
4
  "description": "Bewe Aurora UI Component Library",
5
5
  "main": "./dist/index.cjs.js",
6
6
  "module": "./dist/index.esm.js",