@beweco/aurora-ui 0.6.60-qa.73 → 0.6.60-qa.77
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
|
@@ -3332,6 +3332,32 @@ function getSelectedKeyFromPath(pathname, items) {
|
|
|
3332
3332
|
return undefined;
|
|
3333
3333
|
}
|
|
3334
3334
|
|
|
3335
|
+
/**
|
|
3336
|
+
* Deriva las iniciales para el avatar del usuario a partir de su nombre completo.
|
|
3337
|
+
*
|
|
3338
|
+
* Muestra la inicial del nombre + la inicial del primer apellido (2 letras en
|
|
3339
|
+
* mayúsculas), p. ej. "Roser Ruiz" -> "RR". Si el usuario solo tiene un token
|
|
3340
|
+
* (nombre sin apellido) devuelve una sola inicial. Si no hay texto, devuelve "".
|
|
3341
|
+
*
|
|
3342
|
+
* TECH-1727: reemplaza el comportamiento por defecto de HeroUI (`safeText`), que
|
|
3343
|
+
* muestra las 3 primeras letras del nombre ("Roser Ruiz" -> "Ros").
|
|
3344
|
+
*
|
|
3345
|
+
* @param fullName Nombre completo del usuario (se usa el mismo valor que el label).
|
|
3346
|
+
* @returns Iniciales en mayúsculas (0, 1 o 2 letras).
|
|
3347
|
+
*/
|
|
3348
|
+
var getUserInitials = function (fullName) {
|
|
3349
|
+
var tokens = fullName.trim().split(/\s+/).filter(Boolean);
|
|
3350
|
+
if (tokens.length === 0) {
|
|
3351
|
+
return "";
|
|
3352
|
+
}
|
|
3353
|
+
var firstInitial = tokens[0].charAt(0).toUpperCase();
|
|
3354
|
+
if (tokens.length === 1) {
|
|
3355
|
+
return firstInitial;
|
|
3356
|
+
}
|
|
3357
|
+
var secondInitial = tokens[1].charAt(0).toUpperCase();
|
|
3358
|
+
return "".concat(firstInitial).concat(secondInitial);
|
|
3359
|
+
};
|
|
3360
|
+
|
|
3335
3361
|
exports.EnumMenuNavListItem = void 0;
|
|
3336
3362
|
(function (EnumMenuNavListItem) {
|
|
3337
3363
|
EnumMenuNavListItem["Nest"] = "nest";
|
|
@@ -3686,7 +3712,10 @@ var MenuComponent = React.memo(function Menu(_a) {
|
|
|
3686
3712
|
flexDirection: isCollapsed ? "column-reverse" : "row",
|
|
3687
3713
|
}, children: [jsxRuntime.jsxs("div", { className: "flex flex-row items-center justify-center ".concat(isCollapsed ? "gap-0" : "gap-2"), children: [jsxRuntime.jsx("div", { className: "flex h-8 w-8 shrink-0 items-center justify-center overflow-hidden rounded-full bg-foreground text-background", children: hasValidLogo ? (jsxRuntime.jsx("img", { src: commerceInfo.logo, alt: "".concat(t.logoAlt, " ").concat(commerceName), className: "h-full w-full object-cover", onError: function () { return setLogoError(true); } })) : (jsxRuntime.jsx(IconComponent, { icon: "solar:buildings-2-outline", size: "sm", className: "shrink-0", "aria-hidden": true })) }), jsxRuntime.jsx("span", { className: "collapsible-item text-small font-bold truncate min-w-0", children: commerceName })] }), jsxRuntime.jsxs("div", { className: "flex items-center", children: [jsxRuntime.jsx(IconComponent, { icon: "material-symbols-light:close", size: "lg", className: "cursor-pointer block sm:hidden", onClick: handleSidebarClose }), jsxRuntime.jsx(IconComponent, { icon: isCollapsed
|
|
3688
3714
|
? "solar:alt-arrow-right-outline"
|
|
3689
|
-
: "solar:alt-arrow-left-outline", size: "lg", className: "hidden sm:block cursor-pointer", onClick: handleCollapseToggle })] })] }), jsxRuntime.jsx(react.Spacer, { y: 6 }), jsxRuntime.jsxs("div", { className: "content__menu--user ".concat(isCollapsed ? "gap-0" : "gap-3"), children: [jsxRuntime.jsx(react.Avatar, { size: "md", src: ((_b = userInfo === null || userInfo === void 0 ? void 0 : userInfo.avatar) === null || _b === void 0 ? void 0 : _b.trim()) || undefined, color: !((_c = userInfo === null || userInfo === void 0 ? void 0 : userInfo.avatar) === null || _c === void 0 ? void 0 : _c.trim()) ? "warning" : "default", name: userName,
|
|
3715
|
+
: "solar:alt-arrow-left-outline", size: "lg", className: "hidden sm:block cursor-pointer", onClick: handleCollapseToggle })] })] }), jsxRuntime.jsx(react.Spacer, { y: 6 }), jsxRuntime.jsxs("div", { className: "content__menu--user ".concat(isCollapsed ? "gap-0" : "gap-3"), children: [jsxRuntime.jsx(react.Avatar, { size: "md", src: ((_b = userInfo === null || userInfo === void 0 ? void 0 : userInfo.avatar) === null || _b === void 0 ? void 0 : _b.trim()) || undefined, color: !((_c = userInfo === null || userInfo === void 0 ? void 0 : userInfo.avatar) === null || _c === void 0 ? void 0 : _c.trim()) ? "warning" : "default", name: userName,
|
|
3716
|
+
// TECH-1727: inicial de nombre + inicial de primer apellido
|
|
3717
|
+
// (p. ej. "Roser Ruiz" -> "RR") en vez de las 3 primeras letras.
|
|
3718
|
+
getInitials: getUserInitials, className: "shrink-0" }), jsxRuntime.jsxs("div", { className: "collapsible-item flex min-w-0 flex-col overflow-hidden", children: [jsxRuntime.jsx("p", { className: "text-small font-medium text-default-900 truncate", children: userName }), jsxRuntime.jsx("p", { className: "text-tiny text-default-400 truncate", children: userRole })] })] }), jsxRuntime.jsxs("div", { className: "".concat(!isCollapsed ? "flex-1" : "h-full", " min-h-0 py-6 relative"), children: [!isCollapsed && showScrollArrows && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [scrollState.canScrollUp && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("div", { className: "menu-scroll-fade menu-scroll-fade--up", "aria-hidden": "true" }), jsxRuntime.jsx("button", { type: "button", "aria-label": t.scrollUpAriaLabel, className: "menu-scroll-chevron menu-scroll-chevron--up", onClick: handleScrollUp, children: jsxRuntime.jsx(IconComponent, { icon: "solar:alt-arrow-up-outline", size: "md", "aria-hidden": true }) })] })), scrollState.canScrollDown && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("div", { className: "menu-scroll-fade menu-scroll-fade--down", "aria-hidden": "true" }), jsxRuntime.jsx("button", { type: "button", "aria-label": t.scrollDownAriaLabel, className: "menu-scroll-chevron menu-scroll-chevron--down", onClick: handleScrollDown, children: jsxRuntime.jsx(IconComponent, { icon: "solar:alt-arrow-down-outline", size: "md", "aria-hidden": true }) })] }))] })), jsxRuntime.jsx("div", { ref: scrollContainerRef, className: "h-full overflow-y-auto pr-6 -mr-6 [&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] [scrollbar-width:none] select-none ".concat(isDraggingScroll ? "cursor-grabbing" : ""), onMouseDown: handleScrollAreaMouseDown, children: jsxRuntime.jsx(MenuNavList, { defaultSelectedKey: selectedKey, items: menuItems.items, isCollapsed: isCollapsed, onSelect: handleMenuSelect }, selectedKey) })] }), helpSection ? (jsxRuntime.jsx("div", { className: "mt-auto flex flex-col justify-center items-center", children: jsxRuntime.jsx(react.Button, { fullWidth: true, className: " text-default-500 data-[hover=true]:text-default-600", startContent: jsxRuntime.jsx(IconComponent, { className: "text-default-500", icon: "solar:info-circle-line-duotone", size: "md" }), variant: "light", onPress: handleHelpClick, isIconOnly: isCollapsed, children: !isCollapsed && (jsxRuntime.jsx("span", { className: "collapsible-item truncate", children: helpSection.title })) }) })) : null] }) })] }));
|
|
3690
3719
|
});
|
|
3691
3720
|
|
|
3692
3721
|
var StepIndicator = function (_a) {
|
package/dist/index.esm.js
CHANGED
|
@@ -3333,6 +3333,32 @@ function getSelectedKeyFromPath(pathname, items) {
|
|
|
3333
3333
|
return undefined;
|
|
3334
3334
|
}
|
|
3335
3335
|
|
|
3336
|
+
/**
|
|
3337
|
+
* Deriva las iniciales para el avatar del usuario a partir de su nombre completo.
|
|
3338
|
+
*
|
|
3339
|
+
* Muestra la inicial del nombre + la inicial del primer apellido (2 letras en
|
|
3340
|
+
* mayúsculas), p. ej. "Roser Ruiz" -> "RR". Si el usuario solo tiene un token
|
|
3341
|
+
* (nombre sin apellido) devuelve una sola inicial. Si no hay texto, devuelve "".
|
|
3342
|
+
*
|
|
3343
|
+
* TECH-1727: reemplaza el comportamiento por defecto de HeroUI (`safeText`), que
|
|
3344
|
+
* muestra las 3 primeras letras del nombre ("Roser Ruiz" -> "Ros").
|
|
3345
|
+
*
|
|
3346
|
+
* @param fullName Nombre completo del usuario (se usa el mismo valor que el label).
|
|
3347
|
+
* @returns Iniciales en mayúsculas (0, 1 o 2 letras).
|
|
3348
|
+
*/
|
|
3349
|
+
var getUserInitials = function (fullName) {
|
|
3350
|
+
var tokens = fullName.trim().split(/\s+/).filter(Boolean);
|
|
3351
|
+
if (tokens.length === 0) {
|
|
3352
|
+
return "";
|
|
3353
|
+
}
|
|
3354
|
+
var firstInitial = tokens[0].charAt(0).toUpperCase();
|
|
3355
|
+
if (tokens.length === 1) {
|
|
3356
|
+
return firstInitial;
|
|
3357
|
+
}
|
|
3358
|
+
var secondInitial = tokens[1].charAt(0).toUpperCase();
|
|
3359
|
+
return "".concat(firstInitial).concat(secondInitial);
|
|
3360
|
+
};
|
|
3361
|
+
|
|
3336
3362
|
var EnumMenuNavListItem;
|
|
3337
3363
|
(function (EnumMenuNavListItem) {
|
|
3338
3364
|
EnumMenuNavListItem["Nest"] = "nest";
|
|
@@ -3687,7 +3713,10 @@ var MenuComponent = React.memo(function Menu(_a) {
|
|
|
3687
3713
|
flexDirection: isCollapsed ? "column-reverse" : "row",
|
|
3688
3714
|
}, children: [jsxs("div", { className: "flex flex-row items-center justify-center ".concat(isCollapsed ? "gap-0" : "gap-2"), children: [jsx("div", { className: "flex h-8 w-8 shrink-0 items-center justify-center overflow-hidden rounded-full bg-foreground text-background", children: hasValidLogo ? (jsx("img", { src: commerceInfo.logo, alt: "".concat(t.logoAlt, " ").concat(commerceName), className: "h-full w-full object-cover", onError: function () { return setLogoError(true); } })) : (jsx(IconComponent, { icon: "solar:buildings-2-outline", size: "sm", className: "shrink-0", "aria-hidden": true })) }), jsx("span", { className: "collapsible-item text-small font-bold truncate min-w-0", children: commerceName })] }), jsxs("div", { className: "flex items-center", children: [jsx(IconComponent, { icon: "material-symbols-light:close", size: "lg", className: "cursor-pointer block sm:hidden", onClick: handleSidebarClose }), jsx(IconComponent, { icon: isCollapsed
|
|
3689
3715
|
? "solar:alt-arrow-right-outline"
|
|
3690
|
-
: "solar:alt-arrow-left-outline", size: "lg", className: "hidden sm:block cursor-pointer", onClick: handleCollapseToggle })] })] }), jsx(Spacer, { y: 6 }), jsxs("div", { className: "content__menu--user ".concat(isCollapsed ? "gap-0" : "gap-3"), children: [jsx(Avatar, { size: "md", src: ((_b = userInfo === null || userInfo === void 0 ? void 0 : userInfo.avatar) === null || _b === void 0 ? void 0 : _b.trim()) || undefined, color: !((_c = userInfo === null || userInfo === void 0 ? void 0 : userInfo.avatar) === null || _c === void 0 ? void 0 : _c.trim()) ? "warning" : "default", name: userName,
|
|
3716
|
+
: "solar:alt-arrow-left-outline", size: "lg", className: "hidden sm:block cursor-pointer", onClick: handleCollapseToggle })] })] }), jsx(Spacer, { y: 6 }), jsxs("div", { className: "content__menu--user ".concat(isCollapsed ? "gap-0" : "gap-3"), children: [jsx(Avatar, { size: "md", src: ((_b = userInfo === null || userInfo === void 0 ? void 0 : userInfo.avatar) === null || _b === void 0 ? void 0 : _b.trim()) || undefined, color: !((_c = userInfo === null || userInfo === void 0 ? void 0 : userInfo.avatar) === null || _c === void 0 ? void 0 : _c.trim()) ? "warning" : "default", name: userName,
|
|
3717
|
+
// TECH-1727: inicial de nombre + inicial de primer apellido
|
|
3718
|
+
// (p. ej. "Roser Ruiz" -> "RR") en vez de las 3 primeras letras.
|
|
3719
|
+
getInitials: getUserInitials, className: "shrink-0" }), jsxs("div", { className: "collapsible-item flex min-w-0 flex-col overflow-hidden", children: [jsx("p", { className: "text-small font-medium text-default-900 truncate", children: userName }), jsx("p", { className: "text-tiny text-default-400 truncate", children: userRole })] })] }), jsxs("div", { className: "".concat(!isCollapsed ? "flex-1" : "h-full", " min-h-0 py-6 relative"), children: [!isCollapsed && showScrollArrows && (jsxs(Fragment, { children: [scrollState.canScrollUp && (jsxs(Fragment, { children: [jsx("div", { className: "menu-scroll-fade menu-scroll-fade--up", "aria-hidden": "true" }), jsx("button", { type: "button", "aria-label": t.scrollUpAriaLabel, className: "menu-scroll-chevron menu-scroll-chevron--up", onClick: handleScrollUp, children: jsx(IconComponent, { icon: "solar:alt-arrow-up-outline", size: "md", "aria-hidden": true }) })] })), scrollState.canScrollDown && (jsxs(Fragment, { children: [jsx("div", { className: "menu-scroll-fade menu-scroll-fade--down", "aria-hidden": "true" }), jsx("button", { type: "button", "aria-label": t.scrollDownAriaLabel, className: "menu-scroll-chevron menu-scroll-chevron--down", onClick: handleScrollDown, children: jsx(IconComponent, { icon: "solar:alt-arrow-down-outline", size: "md", "aria-hidden": true }) })] }))] })), jsx("div", { ref: scrollContainerRef, className: "h-full overflow-y-auto pr-6 -mr-6 [&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] [scrollbar-width:none] select-none ".concat(isDraggingScroll ? "cursor-grabbing" : ""), onMouseDown: handleScrollAreaMouseDown, children: jsx(MenuNavList, { defaultSelectedKey: selectedKey, items: menuItems.items, isCollapsed: isCollapsed, onSelect: handleMenuSelect }, selectedKey) })] }), helpSection ? (jsx("div", { className: "mt-auto flex flex-col justify-center items-center", children: jsx(Button$1, { fullWidth: true, className: " text-default-500 data-[hover=true]:text-default-600", startContent: jsx(IconComponent, { className: "text-default-500", icon: "solar:info-circle-line-duotone", size: "md" }), variant: "light", onPress: handleHelpClick, isIconOnly: isCollapsed, children: !isCollapsed && (jsx("span", { className: "collapsible-item truncate", children: helpSection.title })) }) })) : null] }) })] }));
|
|
3691
3720
|
});
|
|
3692
3721
|
|
|
3693
3722
|
var StepIndicator = function (_a) {
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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;AAKrB,OAAO,KAAK,EACX,kBAAkB,EAElB,MAAM,cAAc,CAAC;AAgBtB;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAiatD,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deriva las iniciales para el avatar del usuario a partir de su nombre completo.
|
|
3
|
+
*
|
|
4
|
+
* Muestra la inicial del nombre + la inicial del primer apellido (2 letras en
|
|
5
|
+
* mayúsculas), p. ej. "Roser Ruiz" -> "RR". Si el usuario solo tiene un token
|
|
6
|
+
* (nombre sin apellido) devuelve una sola inicial. Si no hay texto, devuelve "".
|
|
7
|
+
*
|
|
8
|
+
* TECH-1727: reemplaza el comportamiento por defecto de HeroUI (`safeText`), que
|
|
9
|
+
* muestra las 3 primeras letras del nombre ("Roser Ruiz" -> "Ros").
|
|
10
|
+
*
|
|
11
|
+
* @param fullName Nombre completo del usuario (se usa el mismo valor que el label).
|
|
12
|
+
* @returns Iniciales en mayúsculas (0, 1 o 2 letras).
|
|
13
|
+
*/
|
|
14
|
+
export declare const getUserInitials: (fullName: string) => string;
|
|
15
|
+
//# sourceMappingURL=get-user-initials.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-user-initials.d.ts","sourceRoot":"","sources":["../../../../src/components/menu/get-user-initials.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,KAAG,MAWlD,CAAC"}
|