@beweco/aurora-ui 0.6.72 → 0.6.74
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/assets/css/styles.css +1 -1
- package/dist/index.cjs.js +143 -9
- package/dist/index.esm.js +137 -10
- package/dist/types/components/linda-icon/LindaIcon.d.ts +20 -0
- package/dist/types/components/linda-icon/LindaIcon.d.ts.map +1 -0
- package/dist/types/components/linda-icon/LindaIcon.types.d.ts +6 -0
- package/dist/types/components/linda-icon/LindaIcon.types.d.ts.map +1 -0
- package/dist/types/components/linda-icon/index.d.ts +3 -0
- package/dist/types/components/linda-icon/index.d.ts.map +1 -0
- package/dist/types/components/multi-step-wizard/MultiStepWizard.d.ts.map +1 -1
- package/dist/types/components/multi-step-wizard/MultiStepWizard.types.d.ts +2 -0
- package/dist/types/components/multi-step-wizard/MultiStepWizard.types.d.ts.map +1 -1
- package/dist/types/components/multi-step-wizard/_internal/MultiStepSidebar.d.ts.map +1 -1
- package/dist/types/components/multi-step-wizard/_internal/MultiStepSidebar.types.d.ts +2 -0
- package/dist/types/components/multi-step-wizard/_internal/MultiStepSidebar.types.d.ts.map +1 -1
- package/dist/types/components/tags-filter/TagsFilter.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/utils/dismiss-control.d.ts +61 -0
- package/dist/types/utils/dismiss-control.d.ts.map +1 -0
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -3280,6 +3280,27 @@ var KanbanComponent = function (_a) {
|
|
|
3280
3280
|
var Kanban = React.memo(KanbanComponent);
|
|
3281
3281
|
Kanban.displayName = "Kanban";
|
|
3282
3282
|
|
|
3283
|
+
/**
|
|
3284
|
+
* Icono canónico de Linda para CTAs inteligentes (TECH-2386).
|
|
3285
|
+
*
|
|
3286
|
+
* SVG empaquetado como import estático — NUNCA usar `@iconify/react` /
|
|
3287
|
+
* `IconComponent` con este glifo: los iconos de Iconify se resuelven en
|
|
3288
|
+
* runtime contra api.iconify.design y desaparecen (control entero invisible
|
|
3289
|
+
* si es `isIconOnly`) cuando ese host no responde — ver TECH-2103/2104.
|
|
3290
|
+
* Este componente no depende de red.
|
|
3291
|
+
*
|
|
3292
|
+
* Glifo: el mismo path ya usado en el producto para señalar acciones de
|
|
3293
|
+
* Linda (equivalente al icono "magic-stick" ya presente junto a
|
|
3294
|
+
* "Linda Recommended Actions"), resuelto para v1 en TECH-2374 sin
|
|
3295
|
+
* diseñadora asignada — funcional-first, sin inventar iconografía nueva.
|
|
3296
|
+
* Cuando exista un asset bespoke (identidad "droide retro-futurista"),
|
|
3297
|
+
* este es el único componente a sustituir — ver README.md.
|
|
3298
|
+
*/
|
|
3299
|
+
var LindaIcon = function (_a) {
|
|
3300
|
+
var _b = _a.size, size = _b === void 0 ? 24 : _b, className = _a.className, nativeProps = __rest(_a, ["size", "className"]);
|
|
3301
|
+
return (jsxRuntime.jsx("svg", __assign({ xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", className: className, role: "img", "aria-hidden": "true" }, nativeProps, { children: jsxRuntime.jsxs("g", { fill: "currentColor", children: [jsxRuntime.jsx("path", { d: "M3.84453 3.84453C2.71849 4.97056 2.71849 6.79623 3.84453 7.92226L5.43227 9.51C5.44419 9.49622 5.45669 9.48276 5.46978 9.46967L9.46978 5.46967C9.48284 5.45662 9.49625 5.44415 9.50999 5.43226L7.92226 3.84453C6.79623 2.71849 4.97056 2.71849 3.84453 3.84453Z" }), jsxRuntime.jsx("path", { d: "M10.5679 6.49012C10.556 6.50386 10.5435 6.51728 10.5304 6.53033L6.53044 10.5303C6.51735 10.5434 6.5039 10.5559 6.49011 10.5678L16.0777 20.1555C17.2038 21.2815 19.0294 21.2815 20.1555 20.1555C21.2815 19.0294 21.2815 17.2038 20.1555 16.0777L10.5679 6.49012Z" }), jsxRuntime.jsx("path", { d: "M16.1 2.30719C16.261 1.8976 16.8385 1.8976 16.9994 2.30719L17.4298 3.40247C17.479 3.52752 17.5776 3.62651 17.7022 3.67583L18.7934 4.1078C19.2015 4.26934 19.2015 4.849 18.7934 5.01054L17.7022 5.44252C17.5776 5.49184 17.479 5.59082 17.4298 5.71587L16.9995 6.81115C16.8385 7.22074 16.261 7.22074 16.1 6.81116L15.6697 5.71587C15.6205 5.59082 15.5219 5.49184 15.3973 5.44252L14.3061 5.01054C13.898 4.849 13.898 4.26934 14.3061 4.1078L15.3973 3.67583C15.5219 3.62651 15.6205 3.52752 15.6697 3.40247L16.1 2.30719Z" }), jsxRuntime.jsx("path", { d: "M19.9672 9.12945C20.1281 8.71987 20.7057 8.71987 20.8666 9.12945L21.0235 9.5288C21.0727 9.65385 21.1713 9.75284 21.2959 9.80215L21.6937 9.95965C22.1018 10.1212 22.1018 10.7009 21.6937 10.8624L21.2959 11.0199C21.1713 11.0692 21.0727 11.1682 21.0235 11.2932L20.8666 11.6926C20.7057 12.1022 20.1281 12.1022 19.9672 11.6926L19.8103 11.2932C19.7611 11.1682 19.6625 11.0692 19.5379 11.0199L19.14 10.8624C18.732 10.7009 18.732 10.1212 19.14 9.95965L19.5379 9.80215C19.6625 9.75284 19.7611 9.65385 19.8103 9.5288L19.9672 9.12945Z" }), jsxRuntime.jsx("path", { d: "M5.1332 15.3072C5.29414 14.8976 5.87167 14.8976 6.03261 15.3072L6.18953 15.7065C6.23867 15.8316 6.33729 15.9306 6.46188 15.9799L6.85975 16.1374C7.26783 16.2989 7.26783 16.8786 6.85975 17.0401L6.46188 17.1976C6.33729 17.2469 6.23867 17.3459 6.18953 17.471L6.03261 17.8703C5.87167 18.2799 5.29414 18.2799 5.1332 17.8703L4.97628 17.471C4.92714 17.3459 4.82852 17.2469 4.70393 17.1976L4.30606 17.0401C3.89798 16.8786 3.89798 16.2989 4.30606 16.1374L4.70393 15.9799C4.82852 15.9306 4.92714 15.8316 4.97628 15.7065L5.1332 15.3072Z" })] }) })));
|
|
3302
|
+
};
|
|
3303
|
+
|
|
3283
3304
|
var defaultTranslations$8 = {
|
|
3284
3305
|
previewAlt: "Vista previa de imagen",
|
|
3285
3306
|
removeButtonAriaLabel: "Eliminar imagen",
|
|
@@ -3993,6 +4014,96 @@ var MenuClaw = React.memo(function MenuClaw(_a) {
|
|
|
3993
4014
|
}) }), helpSection ? (jsxRuntime.jsx("div", { className: "mt-auto flex flex-col items-center justify-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: "menu-claw-collapsible truncate", children: helpSection.title })) : null }) })) : null] }) })] }));
|
|
3994
4015
|
});
|
|
3995
4016
|
|
|
4017
|
+
/**
|
|
4018
|
+
* Interacciones que un popover no-modal NO debe tratar como "clic fuera".
|
|
4019
|
+
*
|
|
4020
|
+
* El problema que resuelve: `useOverlay` de react-aria trata cualquier
|
|
4021
|
+
* pulsación fuera del popover como interacción externa y, cuando el popover es
|
|
4022
|
+
* el overlay visible más reciente, hace `stopPropagation()` + `preventDefault()`
|
|
4023
|
+
* sobre el `pointerdown` **y** sobre el `click`
|
|
4024
|
+
* (`@react-aria/overlays/useOverlay`). El evento nunca llega a su destino, así
|
|
4025
|
+
* que `usePress` no registra la pulsación y `onPress` no se dispara: el primer
|
|
4026
|
+
* clic solo cierra el desplegable.
|
|
4027
|
+
*
|
|
4028
|
+
* Para un clic en la página de fondo eso es lo correcto: descartar el
|
|
4029
|
+
* desplegable sin activar nada por debajo. Dentro del mismo diálogo no: ahí el
|
|
4030
|
+
* usuario está rellenando un formulario y espera que su clic llegue. Y como los
|
|
4031
|
+
* buscadores se reabren al recuperar el foco, el clic siguiente se volvía a
|
|
4032
|
+
* tragar — un callejón sin salida del que solo se salía vaciando el campo.
|
|
4033
|
+
*
|
|
4034
|
+
* La única palanca es `shouldCloseOnInteractOutside`: es el guardián de esos dos
|
|
4035
|
+
* `preventDefault`. Devolviendo `false` para lo que no es realmente "fuera", la
|
|
4036
|
+
* pulsación llega intacta. El desplegable sigue cerrándose igual, pero por
|
|
4037
|
+
* pérdida de foco (`shouldCloseOnBlur`) en vez de por interacción externa.
|
|
4038
|
+
*/
|
|
4039
|
+
var _a, _b;
|
|
4040
|
+
/**
|
|
4041
|
+
* Marca un botón como control de cierre de su contenedor. Los popovers de Aura
|
|
4042
|
+
* no lo cuentan como interacción externa, así que su pulsación no se pierde.
|
|
4043
|
+
*/
|
|
4044
|
+
var DISMISS_CONTROL_ATTRIBUTE = "data-aura-dismiss";
|
|
4045
|
+
/** Props a esparcir en un control de cierre: `<Button {...dismissControlProps} />`. */
|
|
4046
|
+
var dismissControlProps = (_a = {},
|
|
4047
|
+
_a[DISMISS_CONTROL_ATTRIBUTE] = "true",
|
|
4048
|
+
_a);
|
|
4049
|
+
/**
|
|
4050
|
+
* Marca el contenedor de una superficie modal propia (wizard, panel a medida).
|
|
4051
|
+
* No hace falta en `Modal` ni `Drawer`: los diálogos de HeroUI ya traen
|
|
4052
|
+
* `role="dialog"`, que cuenta igual.
|
|
4053
|
+
*/
|
|
4054
|
+
var CONTAINER_ATTRIBUTE = "data-aura-container";
|
|
4055
|
+
/** Props a esparcir en el contenedor: `<div {...containerProps}>`. */
|
|
4056
|
+
var containerProps = (_b = {},
|
|
4057
|
+
_b[CONTAINER_ATTRIBUTE] = "true",
|
|
4058
|
+
_b);
|
|
4059
|
+
/**
|
|
4060
|
+
* Selector de controles de cierre. Incluye `[aria-label="Close"]` para cubrir
|
|
4061
|
+
* los botones de cerrar internos de HeroUI (Modal, Drawer), que no admiten
|
|
4062
|
+
* atributos propios.
|
|
4063
|
+
*/
|
|
4064
|
+
var DISMISS_CONTROL_SELECTOR = "[".concat(DISMISS_CONTROL_ATTRIBUTE, "],[aria-label=\"Close\"]");
|
|
4065
|
+
/** Selector del contenedor modal: el marcado de Aura o un diálogo estándar. */
|
|
4066
|
+
var CONTAINER_SELECTOR = "[".concat(CONTAINER_ATTRIBUTE, "],[role=\"dialog\"],[role=\"alertdialog\"]");
|
|
4067
|
+
var matchesAncestor = function (element, selector) {
|
|
4068
|
+
if (!element || typeof element.closest !== "function") {
|
|
4069
|
+
return false;
|
|
4070
|
+
}
|
|
4071
|
+
return element.closest(selector) != null;
|
|
4072
|
+
};
|
|
4073
|
+
/** `true` si el elemento es un control de cierre (o está dentro de uno). */
|
|
4074
|
+
var isDismissControl = function (element) { return matchesAncestor(element, DISMISS_CONTROL_SELECTOR); };
|
|
4075
|
+
/**
|
|
4076
|
+
* Predicado listo para `popoverProps.shouldCloseOnInteractOutside` de un
|
|
4077
|
+
* componente con popover no-modal.
|
|
4078
|
+
*
|
|
4079
|
+
* Devuelve `false` —no es interacción externa— en tres casos:
|
|
4080
|
+
*
|
|
4081
|
+
* 1. Dentro del propio componente: el popover vive en un portal, así que el
|
|
4082
|
+
* campo de búsqueda queda fuera de él y una pulsación sobre el texto se
|
|
4083
|
+
* contaba como externa.
|
|
4084
|
+
* 2. Sobre un control de cierre del contenedor.
|
|
4085
|
+
* 3. Dentro del mismo diálogo/contenedor que el componente: seguir rellenando
|
|
4086
|
+
* el formulario no es descartar el desplegable.
|
|
4087
|
+
*
|
|
4088
|
+
* @param element Elemento donde ha empezado la interacción.
|
|
4089
|
+
* @param root Raíz del componente.
|
|
4090
|
+
*/
|
|
4091
|
+
var shouldClosePopoverOnInteractOutside = function (element, root) {
|
|
4092
|
+
var _a;
|
|
4093
|
+
if (root === null || root === void 0 ? void 0 : root.contains(element)) {
|
|
4094
|
+
return false;
|
|
4095
|
+
}
|
|
4096
|
+
if (isDismissControl(element)) {
|
|
4097
|
+
return false;
|
|
4098
|
+
}
|
|
4099
|
+
if (!matchesAncestor(element, CONTAINER_SELECTOR)) {
|
|
4100
|
+
return true;
|
|
4101
|
+
}
|
|
4102
|
+
// Solo exime el contenedor propio: un diálogo distinto sigue siendo externo.
|
|
4103
|
+
var container = (_a = root === null || root === void 0 ? void 0 : root.closest) === null || _a === void 0 ? void 0 : _a.call(root, CONTAINER_SELECTOR);
|
|
4104
|
+
return !(container === null || container === void 0 ? void 0 : container.contains(element));
|
|
4105
|
+
};
|
|
4106
|
+
|
|
3996
4107
|
var StepIndicator = function (_a) {
|
|
3997
4108
|
var currentStep = _a.currentStep, totalSteps = _a.totalSteps, _b = _a.color, color = _b === void 0 ? "primary" : _b, _c = _a.showStepText, showStepText = _c === void 0 ? true : _c, stepTextFormatter = _a.stepTextFormatter, className = _a.className, props = __rest(_a, ["currentStep", "totalSteps", "color", "showStepText", "stepTextFormatter", "className"]);
|
|
3998
4109
|
var progressPercentage = Math.min((currentStep / totalSteps) * 100, 100);
|
|
@@ -4176,7 +4287,7 @@ var VerticalSteps = React.forwardRef(function (_a, ref) {
|
|
|
4176
4287
|
VerticalSteps.displayName = "VerticalSteps";
|
|
4177
4288
|
|
|
4178
4289
|
var MultiStepSidebar = React.forwardRef(function (_a, ref) {
|
|
4179
|
-
var children = _a.children, className = _a.className, currentPage = _a.currentPage; _a.onBack; _a.onNext; var onChangePage = _a.onChangePage, steps = _a.steps; _a.goBackTranslation; var onClose = _a.onClose,
|
|
4290
|
+
var children = _a.children, className = _a.className, currentPage = _a.currentPage; _a.onBack; _a.onNext; var onChangePage = _a.onChangePage, steps = _a.steps; _a.goBackTranslation; var _b = _a.closeTranslation, closeTranslation = _b === void 0 ? "Close" : _b, onClose = _a.onClose, _c = _a.hideInactiveDescriptions, hideInactiveDescriptions = _c === void 0 ? false : _c, _d = _a.isDismissable, isDismissable = _d === void 0 ? true : _d, props = __rest(_a, ["children", "className", "currentPage", "onBack", "onNext", "onChangePage", "steps", "goBackTranslation", "closeTranslation", "onClose", "hideInactiveDescriptions", "isDismissable"]);
|
|
4180
4291
|
var handleOverlayClick = function (e) {
|
|
4181
4292
|
if (!isDismissable) {
|
|
4182
4293
|
return;
|
|
@@ -4185,7 +4296,7 @@ var MultiStepSidebar = React.forwardRef(function (_a, ref) {
|
|
|
4185
4296
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
4186
4297
|
}
|
|
4187
4298
|
};
|
|
4188
|
-
return (jsxRuntime.jsx("div", { className: "fixed inset-0 z-50 flex items-center justify-center bg-content3/50 backdrop-blur-sm", onClick: handleOverlayClick, children: jsxRuntime.jsxs("div", __assign({ ref: ref, className: react.cn("relative flex h-full w-full max-w-4xl overflow-hidden rounded-lg bg-background shadow-lg lg:h-auto lg:max-h-[85vh] lg:min-h-[512px]", className) }, props, { children: [jsxRuntime.jsx("div", { className: react.cn("absolute inset-y-0 left-0 hidden w-1/3 flex-col justify-start gap-y-8 overflow-y-auto p-8 md:flex [&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] [scrollbar-width:none]"), children: jsxRuntime.jsx(VerticalSteps, { className: "aura-stepper-theme", color: "primary", currentStep: currentPage, steps: steps, onStepChange: onChangePage, hideInactiveDescriptions: hideInactiveDescriptions }) }), jsxRuntime.jsxs("div", { className: "relative flex w-full flex-col items-center justify-between gap-4 md:ml-[33.333333%] md:w-2/3 md:p-4 min-h-0", children: [jsxRuntime.jsx(Button, { isIconOnly: true, className: "absolute right-4 top-4", size: "sm", variant: "light", color: "default", onPress: onClose, startContent: jsxRuntime.jsx(IconComponent, { className: "text-foreground", icon: "material-symbols:close-rounded", size: "lg" }) }), jsxRuntime.jsx("div", { className: "pt-9 w-10/12 md:hidden", children: jsxRuntime.jsx("div", { className: "flex w-full justify-center", children: jsxRuntime.jsx(StepIndicator, { className: "aura-stepper-theme", currentStep: currentPage + 1, totalSteps: steps.length }) }) }), jsxRuntime.jsx("div", { className: "flex flex-col flex-1 w-full justify-between p-4 sm:max-w-md md:max-w-lg overflow-y-auto min-h-0 [&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] [scrollbar-width:none]", children: children })] })] })) }));
|
|
4299
|
+
return (jsxRuntime.jsx("div", __assign({}, containerProps, { className: "fixed inset-0 z-50 flex items-center justify-center bg-content3/50 backdrop-blur-sm", onClick: handleOverlayClick, children: jsxRuntime.jsxs("div", __assign({ ref: ref, className: react.cn("relative flex h-full w-full max-w-4xl overflow-hidden rounded-lg bg-background shadow-lg lg:h-auto lg:max-h-[85vh] lg:min-h-[512px]", className) }, props, { children: [jsxRuntime.jsx("div", { className: react.cn("absolute inset-y-0 left-0 hidden w-1/3 flex-col justify-start gap-y-8 overflow-y-auto p-8 md:flex [&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] [scrollbar-width:none]"), children: jsxRuntime.jsx(VerticalSteps, { className: "aura-stepper-theme", color: "primary", currentStep: currentPage, steps: steps, onStepChange: onChangePage, hideInactiveDescriptions: hideInactiveDescriptions }) }), jsxRuntime.jsxs("div", { className: "relative flex w-full flex-col items-center justify-between gap-4 md:ml-[33.333333%] md:w-2/3 md:p-4 min-h-0", children: [jsxRuntime.jsx(Button, __assign({ isIconOnly: true }, dismissControlProps, { "aria-label": closeTranslation, className: "absolute right-4 top-4", size: "sm", variant: "light", color: "default", onPress: onClose, startContent: jsxRuntime.jsx(IconComponent, { className: "text-foreground", icon: "material-symbols:close-rounded", size: "lg" }) })), jsxRuntime.jsx("div", { className: "pt-9 w-10/12 md:hidden", children: jsxRuntime.jsx("div", { className: "flex w-full justify-center", children: jsxRuntime.jsx(StepIndicator, { className: "aura-stepper-theme", currentStep: currentPage + 1, totalSteps: steps.length }) }) }), jsxRuntime.jsx("div", { className: "flex flex-col flex-1 w-full justify-between p-4 sm:max-w-md md:max-w-lg overflow-y-auto min-h-0 [&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] [scrollbar-width:none]", children: children })] })] })) })));
|
|
4189
4300
|
});
|
|
4190
4301
|
MultiStepSidebar.displayName = "MultiStepSidebar";
|
|
4191
4302
|
|
|
@@ -4212,6 +4323,7 @@ var MultiStepWizard = function (_a) {
|
|
|
4212
4323
|
cancel: "Cancel",
|
|
4213
4324
|
next: "Next",
|
|
4214
4325
|
complete: "Complete",
|
|
4326
|
+
close: "Close",
|
|
4215
4327
|
}, translations);
|
|
4216
4328
|
var paginate = React.useCallback(function (newDirection) {
|
|
4217
4329
|
setPage(function (prev) {
|
|
@@ -4263,14 +4375,11 @@ var MultiStepWizard = function (_a) {
|
|
|
4263
4375
|
if (!isOpen) {
|
|
4264
4376
|
return null;
|
|
4265
4377
|
}
|
|
4266
|
-
return (jsxRuntime.jsxs(MultiStepSidebar, { currentPage: page, goBackTranslation: t.goBack, steps: steps, onBack: onBack, onChangePage: onChangePage, onClose: onClose, onNext: onNext, hideInactiveDescriptions: hideInactiveDescriptions, isDismissable: isDismissable, children: [jsxRuntime.jsxs("div", { children: [jsxRuntime.jsx(Button, { className: "w-fit text-default-600 mb-6", color: "default", variant: "light", onPress: onBack, isDisabled: page === 0, startContent: jsxRuntime.jsx(IconComponent, { className: "text-default-500", icon: "material-symbols:arrow-back-rounded", size: "sm" }), children: t.goBack || "Back" }), jsxRuntime.jsx("div", { className: "relative flex h-fit w-full flex-col text-center lg:justify-center lg:pt-0", children: content })] }), jsxRuntime.jsx(MultistepNavigationButtons, { backButtonProps: {
|
|
4378
|
+
return (jsxRuntime.jsxs(MultiStepSidebar, { currentPage: page, goBackTranslation: t.goBack, closeTranslation: t.close, steps: steps, onBack: onBack, onChangePage: onChangePage, onClose: onClose, onNext: onNext, hideInactiveDescriptions: hideInactiveDescriptions, isDismissable: isDismissable, children: [jsxRuntime.jsxs("div", { children: [jsxRuntime.jsx(Button, { className: "w-fit text-default-600 mb-6", color: "default", variant: "light", onPress: onBack, isDisabled: page === 0, startContent: jsxRuntime.jsx(IconComponent, { className: "text-default-500", icon: "material-symbols:arrow-back-rounded", size: "sm" }), children: t.goBack || "Back" }), jsxRuntime.jsx("div", { className: "relative flex h-fit w-full flex-col text-center lg:justify-center lg:pt-0", children: content })] }), jsxRuntime.jsx(MultistepNavigationButtons, { backButtonProps: {
|
|
4267
4379
|
isDisabled: page === 0,
|
|
4268
4380
|
onPress: onBack,
|
|
4269
4381
|
children: t.goBack,
|
|
4270
|
-
}, cancelButtonProps: {
|
|
4271
|
-
onPress: onClose,
|
|
4272
|
-
children: t.cancel,
|
|
4273
|
-
}, nextButtonProps: {
|
|
4382
|
+
}, cancelButtonProps: __assign(__assign({}, dismissControlProps), { onPress: onClose, children: t.cancel }), nextButtonProps: {
|
|
4274
4383
|
children: getButtonText(),
|
|
4275
4384
|
onPress: handleNextAction,
|
|
4276
4385
|
isDisabled: steps[page].isStepValid === false,
|
|
@@ -8843,6 +8952,7 @@ function TagsFilter(_a) {
|
|
|
8843
8952
|
var _m = React.useState(0), autocompleteKey = _m[0], setAutocompleteKey = _m[1];
|
|
8844
8953
|
var selectedList = value !== null && value !== void 0 ? value : [];
|
|
8845
8954
|
var _o = React.useState(null), sentinelNode = _o[0], setSentinelNode = _o[1];
|
|
8955
|
+
var rootRef = React.useRef(null);
|
|
8846
8956
|
React.useEffect(function () {
|
|
8847
8957
|
if (!onLoadMore || !sentinelNode || !hasMore) {
|
|
8848
8958
|
return;
|
|
@@ -8914,7 +9024,7 @@ function TagsFilter(_a) {
|
|
|
8914
9024
|
if (isLoading) {
|
|
8915
9025
|
return (jsxRuntime.jsx("div", { className: "flex flex-col gap-4 ".concat(className), children: jsxRuntime.jsx("div", { className: "flex justify-center py-4", children: jsxRuntime.jsx(react.Spinner, { size: "sm" }) }) }));
|
|
8916
9026
|
}
|
|
8917
|
-
return (jsxRuntime.jsxs("div", { className: "flex flex-col gap-4 ".concat(className), children: [error && (jsxRuntime.jsxs("div", { className: "text-danger text-small py-2", children: [t.errorLoadingPrefix, ": ", error] })), !error && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("div", { className: "flex flex-col gap-3", children: [jsxRuntime.jsxs(H4, { className: "text-tiny text-left text-default-700", children: [t.labelSelect, required && jsxRuntime.jsx("span", { className: "text-danger ml-0.5", children: "*" })] }), jsxRuntime.jsx(AuraAutocomplete, { placeholder: t.placeholder, "aria-label": ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : t.placeholder, inputValue: inputValue, onInputChange: function (v) {
|
|
9027
|
+
return (jsxRuntime.jsxs("div", { ref: rootRef, className: "flex flex-col gap-4 ".concat(className), children: [error && (jsxRuntime.jsxs("div", { className: "text-danger text-small py-2", children: [t.errorLoadingPrefix, ": ", error] })), !error && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("div", { className: "flex flex-col gap-3", children: [jsxRuntime.jsxs(H4, { className: "text-tiny text-left text-default-700", children: [t.labelSelect, required && jsxRuntime.jsx("span", { className: "text-danger ml-0.5", children: "*" })] }), jsxRuntime.jsx(AuraAutocomplete, { placeholder: t.placeholder, "aria-label": ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : t.placeholder, inputValue: inputValue, onInputChange: function (v) {
|
|
8918
9028
|
setInputValue(v);
|
|
8919
9029
|
onInputChange === null || onInputChange === void 0 ? void 0 : onInputChange(v);
|
|
8920
9030
|
}, selectedKey: null, items: itemsWithSentinel, onSelectionChange: handleAutocompleteSelection,
|
|
@@ -8933,7 +9043,24 @@ function TagsFilter(_a) {
|
|
|
8933
9043
|
// intercepts pointer events, blocking the parent modal's close button.
|
|
8934
9044
|
// shouldCloseOnInteractOutside already handles closing on outside clicks.
|
|
8935
9045
|
isNonModal: true,
|
|
8936
|
-
|
|
9046
|
+
// El desplegable se renderiza en un portal, así que el campo de
|
|
9047
|
+
// búsqueda queda FUERA de él y una pulsación sobre el texto contaba
|
|
9048
|
+
// como interacción externa. Al cerrarse, el FocusScope devolvía el
|
|
9049
|
+
// foco con un `.focus()` que abortaba el gesto de selección que el
|
|
9050
|
+
// navegador acababa de iniciar: de ahí que arrastrar o hacer doble
|
|
9051
|
+
// clic no seleccionara nada y solo quedara borrar letra a letra
|
|
9052
|
+
// (con el teclado sí funcionaba, porque no pasa por aquí).
|
|
9053
|
+
// Las pulsaciones dentro del componente dejan de contar como
|
|
9054
|
+
// externas; las de fuera siguen cerrando el desplegable igual.
|
|
9055
|
+
//
|
|
9056
|
+
// Los controles de cierre del contenedor también quedan exentos:
|
|
9057
|
+
// react-aria hace `preventDefault()` sobre el pointerdown Y el
|
|
9058
|
+
// click de toda interacción externa, así que su `onPress` no se
|
|
9059
|
+
// disparaba y el contenedor no se podía cerrar mientras el
|
|
9060
|
+
// desplegable estuviera abierto (ver `shouldClosePopoverOnInteractOutside`).
|
|
9061
|
+
shouldCloseOnInteractOutside: function (element) {
|
|
9062
|
+
return shouldClosePopoverOnInteractOutside(element, rootRef.current);
|
|
9063
|
+
},
|
|
8937
9064
|
}, listboxProps: {
|
|
8938
9065
|
className: "max-h-[200px] overflow-y-auto",
|
|
8939
9066
|
}, className: "w-full", children: function (item) {
|
|
@@ -9698,6 +9825,7 @@ exports.AuraToastProvider = AuraToastProvider;
|
|
|
9698
9825
|
exports.BEWEOS_THEME_MODE_COOKIE_NAME = BEWEOS_THEME_MODE_COOKIE_NAME;
|
|
9699
9826
|
exports.BreadcrumbsComponent = BreadcrumbsComponent;
|
|
9700
9827
|
exports.Button = Button;
|
|
9828
|
+
exports.CONTAINER_ATTRIBUTE = CONTAINER_ATTRIBUTE;
|
|
9701
9829
|
exports.Card = Card;
|
|
9702
9830
|
exports.Chip = Chip;
|
|
9703
9831
|
exports.ColorPicker = ColorPicker;
|
|
@@ -9707,6 +9835,7 @@ exports.Currency = Currency;
|
|
|
9707
9835
|
exports.DEFAULT_DONUT_COLORS = DEFAULT_DONUT_COLORS;
|
|
9708
9836
|
exports.DEFAULT_PREDEFINED_COLORS = DEFAULT_PREDEFINED_COLORS;
|
|
9709
9837
|
exports.DEFAULT_RANKED_BAR_COLORS = DEFAULT_RANKED_BAR_COLORS;
|
|
9838
|
+
exports.DISMISS_CONTROL_ATTRIBUTE = DISMISS_CONTROL_ATTRIBUTE;
|
|
9710
9839
|
exports.DatePicker = DatePicker;
|
|
9711
9840
|
exports.DateRangePicker = DateRangePicker;
|
|
9712
9841
|
exports.DateSelector = DateSelector;
|
|
@@ -9726,6 +9855,7 @@ exports.InputPassword = InputPassword;
|
|
|
9726
9855
|
exports.Kanban = Kanban;
|
|
9727
9856
|
exports.KanbanCard = KanbanCard;
|
|
9728
9857
|
exports.KanbanColumn = KanbanColumn;
|
|
9858
|
+
exports.LindaIcon = LindaIcon;
|
|
9729
9859
|
exports.MenuClaw = MenuClaw;
|
|
9730
9860
|
exports.MenuComponent = MenuComponent;
|
|
9731
9861
|
exports.Modal = Modal;
|
|
@@ -9779,10 +9909,12 @@ exports.computeBars = computeBars;
|
|
|
9779
9909
|
exports.computeMax = computeMax;
|
|
9780
9910
|
exports.computeSlices = computeSlices;
|
|
9781
9911
|
exports.computeTotal = computeTotal;
|
|
9912
|
+
exports.containerProps = containerProps;
|
|
9782
9913
|
exports.createCurrencyFormatter = createCurrencyFormatter;
|
|
9783
9914
|
exports.defaultCountries = uniqueCountries;
|
|
9784
9915
|
exports.defaultCurrencyOptions = defaultCurrencyOptions;
|
|
9785
9916
|
exports.defaultTranslations = defaultTranslations$5;
|
|
9917
|
+
exports.dismissControlProps = dismissControlProps;
|
|
9786
9918
|
exports.forceLightOnlyThemeBeforeReact = forceLightOnlyThemeBeforeReact;
|
|
9787
9919
|
exports.formatAuroraThemeTooltip = formatAuroraThemeTooltip;
|
|
9788
9920
|
exports.generateThemeColorScale = generateThemeColorScale;
|
|
@@ -9792,6 +9924,7 @@ exports.getSelectedKeyFromPath = getSelectedKeyFromPath;
|
|
|
9792
9924
|
exports.hexToThemeColor = hexToThemeColor;
|
|
9793
9925
|
exports.hslToCssValue = hslToCssValue;
|
|
9794
9926
|
exports.isAuroraFullThemeId = isAuroraFullThemeId;
|
|
9927
|
+
exports.isDismissControl = isDismissControl;
|
|
9795
9928
|
exports.isDonutEmpty = isDonutEmpty;
|
|
9796
9929
|
exports.isExactThemeColor = isExactThemeColor;
|
|
9797
9930
|
exports.isGroupState = isGroupState;
|
|
@@ -9799,6 +9932,7 @@ exports.isHexColor = isHexColor;
|
|
|
9799
9932
|
exports.isRankedBarListEmpty = isRankedBarListEmpty;
|
|
9800
9933
|
exports.isSegmentationGroup = isSegmentationGroup;
|
|
9801
9934
|
exports.removeCustomPrimaryColor = removeCustomPrimaryColor;
|
|
9935
|
+
exports.shouldClosePopoverOnInteractOutside = shouldClosePopoverOnInteractOutside;
|
|
9802
9936
|
exports.sizeMap = sizeMap;
|
|
9803
9937
|
exports.themeColors = themeColors;
|
|
9804
9938
|
exports.useAuraToast = useAuraToast;
|
package/dist/index.esm.js
CHANGED
|
@@ -3281,6 +3281,27 @@ var KanbanComponent = function (_a) {
|
|
|
3281
3281
|
var Kanban = memo(KanbanComponent);
|
|
3282
3282
|
Kanban.displayName = "Kanban";
|
|
3283
3283
|
|
|
3284
|
+
/**
|
|
3285
|
+
* Icono canónico de Linda para CTAs inteligentes (TECH-2386).
|
|
3286
|
+
*
|
|
3287
|
+
* SVG empaquetado como import estático — NUNCA usar `@iconify/react` /
|
|
3288
|
+
* `IconComponent` con este glifo: los iconos de Iconify se resuelven en
|
|
3289
|
+
* runtime contra api.iconify.design y desaparecen (control entero invisible
|
|
3290
|
+
* si es `isIconOnly`) cuando ese host no responde — ver TECH-2103/2104.
|
|
3291
|
+
* Este componente no depende de red.
|
|
3292
|
+
*
|
|
3293
|
+
* Glifo: el mismo path ya usado en el producto para señalar acciones de
|
|
3294
|
+
* Linda (equivalente al icono "magic-stick" ya presente junto a
|
|
3295
|
+
* "Linda Recommended Actions"), resuelto para v1 en TECH-2374 sin
|
|
3296
|
+
* diseñadora asignada — funcional-first, sin inventar iconografía nueva.
|
|
3297
|
+
* Cuando exista un asset bespoke (identidad "droide retro-futurista"),
|
|
3298
|
+
* este es el único componente a sustituir — ver README.md.
|
|
3299
|
+
*/
|
|
3300
|
+
var LindaIcon = function (_a) {
|
|
3301
|
+
var _b = _a.size, size = _b === void 0 ? 24 : _b, className = _a.className, nativeProps = __rest(_a, ["size", "className"]);
|
|
3302
|
+
return (jsx("svg", __assign({ xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", className: className, role: "img", "aria-hidden": "true" }, nativeProps, { children: jsxs("g", { fill: "currentColor", children: [jsx("path", { d: "M3.84453 3.84453C2.71849 4.97056 2.71849 6.79623 3.84453 7.92226L5.43227 9.51C5.44419 9.49622 5.45669 9.48276 5.46978 9.46967L9.46978 5.46967C9.48284 5.45662 9.49625 5.44415 9.50999 5.43226L7.92226 3.84453C6.79623 2.71849 4.97056 2.71849 3.84453 3.84453Z" }), jsx("path", { d: "M10.5679 6.49012C10.556 6.50386 10.5435 6.51728 10.5304 6.53033L6.53044 10.5303C6.51735 10.5434 6.5039 10.5559 6.49011 10.5678L16.0777 20.1555C17.2038 21.2815 19.0294 21.2815 20.1555 20.1555C21.2815 19.0294 21.2815 17.2038 20.1555 16.0777L10.5679 6.49012Z" }), jsx("path", { d: "M16.1 2.30719C16.261 1.8976 16.8385 1.8976 16.9994 2.30719L17.4298 3.40247C17.479 3.52752 17.5776 3.62651 17.7022 3.67583L18.7934 4.1078C19.2015 4.26934 19.2015 4.849 18.7934 5.01054L17.7022 5.44252C17.5776 5.49184 17.479 5.59082 17.4298 5.71587L16.9995 6.81115C16.8385 7.22074 16.261 7.22074 16.1 6.81116L15.6697 5.71587C15.6205 5.59082 15.5219 5.49184 15.3973 5.44252L14.3061 5.01054C13.898 4.849 13.898 4.26934 14.3061 4.1078L15.3973 3.67583C15.5219 3.62651 15.6205 3.52752 15.6697 3.40247L16.1 2.30719Z" }), jsx("path", { d: "M19.9672 9.12945C20.1281 8.71987 20.7057 8.71987 20.8666 9.12945L21.0235 9.5288C21.0727 9.65385 21.1713 9.75284 21.2959 9.80215L21.6937 9.95965C22.1018 10.1212 22.1018 10.7009 21.6937 10.8624L21.2959 11.0199C21.1713 11.0692 21.0727 11.1682 21.0235 11.2932L20.8666 11.6926C20.7057 12.1022 20.1281 12.1022 19.9672 11.6926L19.8103 11.2932C19.7611 11.1682 19.6625 11.0692 19.5379 11.0199L19.14 10.8624C18.732 10.7009 18.732 10.1212 19.14 9.95965L19.5379 9.80215C19.6625 9.75284 19.7611 9.65385 19.8103 9.5288L19.9672 9.12945Z" }), jsx("path", { d: "M5.1332 15.3072C5.29414 14.8976 5.87167 14.8976 6.03261 15.3072L6.18953 15.7065C6.23867 15.8316 6.33729 15.9306 6.46188 15.9799L6.85975 16.1374C7.26783 16.2989 7.26783 16.8786 6.85975 17.0401L6.46188 17.1976C6.33729 17.2469 6.23867 17.3459 6.18953 17.471L6.03261 17.8703C5.87167 18.2799 5.29414 18.2799 5.1332 17.8703L4.97628 17.471C4.92714 17.3459 4.82852 17.2469 4.70393 17.1976L4.30606 17.0401C3.89798 16.8786 3.89798 16.2989 4.30606 16.1374L4.70393 15.9799C4.82852 15.9306 4.92714 15.8316 4.97628 15.7065L5.1332 15.3072Z" })] }) })));
|
|
3303
|
+
};
|
|
3304
|
+
|
|
3284
3305
|
var defaultTranslations$8 = {
|
|
3285
3306
|
previewAlt: "Vista previa de imagen",
|
|
3286
3307
|
removeButtonAriaLabel: "Eliminar imagen",
|
|
@@ -3994,6 +4015,96 @@ var MenuClaw = React.memo(function MenuClaw(_a) {
|
|
|
3994
4015
|
}) }), helpSection ? (jsx("div", { className: "mt-auto flex flex-col items-center justify-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: "menu-claw-collapsible truncate", children: helpSection.title })) : null }) })) : null] }) })] }));
|
|
3995
4016
|
});
|
|
3996
4017
|
|
|
4018
|
+
/**
|
|
4019
|
+
* Interacciones que un popover no-modal NO debe tratar como "clic fuera".
|
|
4020
|
+
*
|
|
4021
|
+
* El problema que resuelve: `useOverlay` de react-aria trata cualquier
|
|
4022
|
+
* pulsación fuera del popover como interacción externa y, cuando el popover es
|
|
4023
|
+
* el overlay visible más reciente, hace `stopPropagation()` + `preventDefault()`
|
|
4024
|
+
* sobre el `pointerdown` **y** sobre el `click`
|
|
4025
|
+
* (`@react-aria/overlays/useOverlay`). El evento nunca llega a su destino, así
|
|
4026
|
+
* que `usePress` no registra la pulsación y `onPress` no se dispara: el primer
|
|
4027
|
+
* clic solo cierra el desplegable.
|
|
4028
|
+
*
|
|
4029
|
+
* Para un clic en la página de fondo eso es lo correcto: descartar el
|
|
4030
|
+
* desplegable sin activar nada por debajo. Dentro del mismo diálogo no: ahí el
|
|
4031
|
+
* usuario está rellenando un formulario y espera que su clic llegue. Y como los
|
|
4032
|
+
* buscadores se reabren al recuperar el foco, el clic siguiente se volvía a
|
|
4033
|
+
* tragar — un callejón sin salida del que solo se salía vaciando el campo.
|
|
4034
|
+
*
|
|
4035
|
+
* La única palanca es `shouldCloseOnInteractOutside`: es el guardián de esos dos
|
|
4036
|
+
* `preventDefault`. Devolviendo `false` para lo que no es realmente "fuera", la
|
|
4037
|
+
* pulsación llega intacta. El desplegable sigue cerrándose igual, pero por
|
|
4038
|
+
* pérdida de foco (`shouldCloseOnBlur`) en vez de por interacción externa.
|
|
4039
|
+
*/
|
|
4040
|
+
var _a, _b;
|
|
4041
|
+
/**
|
|
4042
|
+
* Marca un botón como control de cierre de su contenedor. Los popovers de Aura
|
|
4043
|
+
* no lo cuentan como interacción externa, así que su pulsación no se pierde.
|
|
4044
|
+
*/
|
|
4045
|
+
var DISMISS_CONTROL_ATTRIBUTE = "data-aura-dismiss";
|
|
4046
|
+
/** Props a esparcir en un control de cierre: `<Button {...dismissControlProps} />`. */
|
|
4047
|
+
var dismissControlProps = (_a = {},
|
|
4048
|
+
_a[DISMISS_CONTROL_ATTRIBUTE] = "true",
|
|
4049
|
+
_a);
|
|
4050
|
+
/**
|
|
4051
|
+
* Marca el contenedor de una superficie modal propia (wizard, panel a medida).
|
|
4052
|
+
* No hace falta en `Modal` ni `Drawer`: los diálogos de HeroUI ya traen
|
|
4053
|
+
* `role="dialog"`, que cuenta igual.
|
|
4054
|
+
*/
|
|
4055
|
+
var CONTAINER_ATTRIBUTE = "data-aura-container";
|
|
4056
|
+
/** Props a esparcir en el contenedor: `<div {...containerProps}>`. */
|
|
4057
|
+
var containerProps = (_b = {},
|
|
4058
|
+
_b[CONTAINER_ATTRIBUTE] = "true",
|
|
4059
|
+
_b);
|
|
4060
|
+
/**
|
|
4061
|
+
* Selector de controles de cierre. Incluye `[aria-label="Close"]` para cubrir
|
|
4062
|
+
* los botones de cerrar internos de HeroUI (Modal, Drawer), que no admiten
|
|
4063
|
+
* atributos propios.
|
|
4064
|
+
*/
|
|
4065
|
+
var DISMISS_CONTROL_SELECTOR = "[".concat(DISMISS_CONTROL_ATTRIBUTE, "],[aria-label=\"Close\"]");
|
|
4066
|
+
/** Selector del contenedor modal: el marcado de Aura o un diálogo estándar. */
|
|
4067
|
+
var CONTAINER_SELECTOR = "[".concat(CONTAINER_ATTRIBUTE, "],[role=\"dialog\"],[role=\"alertdialog\"]");
|
|
4068
|
+
var matchesAncestor = function (element, selector) {
|
|
4069
|
+
if (!element || typeof element.closest !== "function") {
|
|
4070
|
+
return false;
|
|
4071
|
+
}
|
|
4072
|
+
return element.closest(selector) != null;
|
|
4073
|
+
};
|
|
4074
|
+
/** `true` si el elemento es un control de cierre (o está dentro de uno). */
|
|
4075
|
+
var isDismissControl = function (element) { return matchesAncestor(element, DISMISS_CONTROL_SELECTOR); };
|
|
4076
|
+
/**
|
|
4077
|
+
* Predicado listo para `popoverProps.shouldCloseOnInteractOutside` de un
|
|
4078
|
+
* componente con popover no-modal.
|
|
4079
|
+
*
|
|
4080
|
+
* Devuelve `false` —no es interacción externa— en tres casos:
|
|
4081
|
+
*
|
|
4082
|
+
* 1. Dentro del propio componente: el popover vive en un portal, así que el
|
|
4083
|
+
* campo de búsqueda queda fuera de él y una pulsación sobre el texto se
|
|
4084
|
+
* contaba como externa.
|
|
4085
|
+
* 2. Sobre un control de cierre del contenedor.
|
|
4086
|
+
* 3. Dentro del mismo diálogo/contenedor que el componente: seguir rellenando
|
|
4087
|
+
* el formulario no es descartar el desplegable.
|
|
4088
|
+
*
|
|
4089
|
+
* @param element Elemento donde ha empezado la interacción.
|
|
4090
|
+
* @param root Raíz del componente.
|
|
4091
|
+
*/
|
|
4092
|
+
var shouldClosePopoverOnInteractOutside = function (element, root) {
|
|
4093
|
+
var _a;
|
|
4094
|
+
if (root === null || root === void 0 ? void 0 : root.contains(element)) {
|
|
4095
|
+
return false;
|
|
4096
|
+
}
|
|
4097
|
+
if (isDismissControl(element)) {
|
|
4098
|
+
return false;
|
|
4099
|
+
}
|
|
4100
|
+
if (!matchesAncestor(element, CONTAINER_SELECTOR)) {
|
|
4101
|
+
return true;
|
|
4102
|
+
}
|
|
4103
|
+
// Solo exime el contenedor propio: un diálogo distinto sigue siendo externo.
|
|
4104
|
+
var container = (_a = root === null || root === void 0 ? void 0 : root.closest) === null || _a === void 0 ? void 0 : _a.call(root, CONTAINER_SELECTOR);
|
|
4105
|
+
return !(container === null || container === void 0 ? void 0 : container.contains(element));
|
|
4106
|
+
};
|
|
4107
|
+
|
|
3997
4108
|
var StepIndicator = function (_a) {
|
|
3998
4109
|
var currentStep = _a.currentStep, totalSteps = _a.totalSteps, _b = _a.color, color = _b === void 0 ? "primary" : _b, _c = _a.showStepText, showStepText = _c === void 0 ? true : _c, stepTextFormatter = _a.stepTextFormatter, className = _a.className, props = __rest(_a, ["currentStep", "totalSteps", "color", "showStepText", "stepTextFormatter", "className"]);
|
|
3999
4110
|
var progressPercentage = Math.min((currentStep / totalSteps) * 100, 100);
|
|
@@ -4177,7 +4288,7 @@ var VerticalSteps = React.forwardRef(function (_a, ref) {
|
|
|
4177
4288
|
VerticalSteps.displayName = "VerticalSteps";
|
|
4178
4289
|
|
|
4179
4290
|
var MultiStepSidebar = React.forwardRef(function (_a, ref) {
|
|
4180
|
-
var children = _a.children, className = _a.className, currentPage = _a.currentPage; _a.onBack; _a.onNext; var onChangePage = _a.onChangePage, steps = _a.steps; _a.goBackTranslation; var onClose = _a.onClose,
|
|
4291
|
+
var children = _a.children, className = _a.className, currentPage = _a.currentPage; _a.onBack; _a.onNext; var onChangePage = _a.onChangePage, steps = _a.steps; _a.goBackTranslation; var _b = _a.closeTranslation, closeTranslation = _b === void 0 ? "Close" : _b, onClose = _a.onClose, _c = _a.hideInactiveDescriptions, hideInactiveDescriptions = _c === void 0 ? false : _c, _d = _a.isDismissable, isDismissable = _d === void 0 ? true : _d, props = __rest(_a, ["children", "className", "currentPage", "onBack", "onNext", "onChangePage", "steps", "goBackTranslation", "closeTranslation", "onClose", "hideInactiveDescriptions", "isDismissable"]);
|
|
4181
4292
|
var handleOverlayClick = function (e) {
|
|
4182
4293
|
if (!isDismissable) {
|
|
4183
4294
|
return;
|
|
@@ -4186,7 +4297,7 @@ var MultiStepSidebar = React.forwardRef(function (_a, ref) {
|
|
|
4186
4297
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
4187
4298
|
}
|
|
4188
4299
|
};
|
|
4189
|
-
return (jsx("div", { className: "fixed inset-0 z-50 flex items-center justify-center bg-content3/50 backdrop-blur-sm", onClick: handleOverlayClick, children: jsxs("div", __assign({ ref: ref, className: cn("relative flex h-full w-full max-w-4xl overflow-hidden rounded-lg bg-background shadow-lg lg:h-auto lg:max-h-[85vh] lg:min-h-[512px]", className) }, props, { children: [jsx("div", { className: cn("absolute inset-y-0 left-0 hidden w-1/3 flex-col justify-start gap-y-8 overflow-y-auto p-8 md:flex [&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] [scrollbar-width:none]"), children: jsx(VerticalSteps, { className: "aura-stepper-theme", color: "primary", currentStep: currentPage, steps: steps, onStepChange: onChangePage, hideInactiveDescriptions: hideInactiveDescriptions }) }), jsxs("div", { className: "relative flex w-full flex-col items-center justify-between gap-4 md:ml-[33.333333%] md:w-2/3 md:p-4 min-h-0", children: [jsx(Button, { isIconOnly: true, className: "absolute right-4 top-4", size: "sm", variant: "light", color: "default", onPress: onClose, startContent: jsx(IconComponent, { className: "text-foreground", icon: "material-symbols:close-rounded", size: "lg" }) }), jsx("div", { className: "pt-9 w-10/12 md:hidden", children: jsx("div", { className: "flex w-full justify-center", children: jsx(StepIndicator, { className: "aura-stepper-theme", currentStep: currentPage + 1, totalSteps: steps.length }) }) }), jsx("div", { className: "flex flex-col flex-1 w-full justify-between p-4 sm:max-w-md md:max-w-lg overflow-y-auto min-h-0 [&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] [scrollbar-width:none]", children: children })] })] })) }));
|
|
4300
|
+
return (jsx("div", __assign({}, containerProps, { className: "fixed inset-0 z-50 flex items-center justify-center bg-content3/50 backdrop-blur-sm", onClick: handleOverlayClick, children: jsxs("div", __assign({ ref: ref, className: cn("relative flex h-full w-full max-w-4xl overflow-hidden rounded-lg bg-background shadow-lg lg:h-auto lg:max-h-[85vh] lg:min-h-[512px]", className) }, props, { children: [jsx("div", { className: cn("absolute inset-y-0 left-0 hidden w-1/3 flex-col justify-start gap-y-8 overflow-y-auto p-8 md:flex [&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] [scrollbar-width:none]"), children: jsx(VerticalSteps, { className: "aura-stepper-theme", color: "primary", currentStep: currentPage, steps: steps, onStepChange: onChangePage, hideInactiveDescriptions: hideInactiveDescriptions }) }), jsxs("div", { className: "relative flex w-full flex-col items-center justify-between gap-4 md:ml-[33.333333%] md:w-2/3 md:p-4 min-h-0", children: [jsx(Button, __assign({ isIconOnly: true }, dismissControlProps, { "aria-label": closeTranslation, className: "absolute right-4 top-4", size: "sm", variant: "light", color: "default", onPress: onClose, startContent: jsx(IconComponent, { className: "text-foreground", icon: "material-symbols:close-rounded", size: "lg" }) })), jsx("div", { className: "pt-9 w-10/12 md:hidden", children: jsx("div", { className: "flex w-full justify-center", children: jsx(StepIndicator, { className: "aura-stepper-theme", currentStep: currentPage + 1, totalSteps: steps.length }) }) }), jsx("div", { className: "flex flex-col flex-1 w-full justify-between p-4 sm:max-w-md md:max-w-lg overflow-y-auto min-h-0 [&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] [scrollbar-width:none]", children: children })] })] })) })));
|
|
4190
4301
|
});
|
|
4191
4302
|
MultiStepSidebar.displayName = "MultiStepSidebar";
|
|
4192
4303
|
|
|
@@ -4213,6 +4324,7 @@ var MultiStepWizard = function (_a) {
|
|
|
4213
4324
|
cancel: "Cancel",
|
|
4214
4325
|
next: "Next",
|
|
4215
4326
|
complete: "Complete",
|
|
4327
|
+
close: "Close",
|
|
4216
4328
|
}, translations);
|
|
4217
4329
|
var paginate = React.useCallback(function (newDirection) {
|
|
4218
4330
|
setPage(function (prev) {
|
|
@@ -4264,14 +4376,11 @@ var MultiStepWizard = function (_a) {
|
|
|
4264
4376
|
if (!isOpen) {
|
|
4265
4377
|
return null;
|
|
4266
4378
|
}
|
|
4267
|
-
return (jsxs(MultiStepSidebar, { currentPage: page, goBackTranslation: t.goBack, steps: steps, onBack: onBack, onChangePage: onChangePage, onClose: onClose, onNext: onNext, hideInactiveDescriptions: hideInactiveDescriptions, isDismissable: isDismissable, children: [jsxs("div", { children: [jsx(Button, { className: "w-fit text-default-600 mb-6", color: "default", variant: "light", onPress: onBack, isDisabled: page === 0, startContent: jsx(IconComponent, { className: "text-default-500", icon: "material-symbols:arrow-back-rounded", size: "sm" }), children: t.goBack || "Back" }), jsx("div", { className: "relative flex h-fit w-full flex-col text-center lg:justify-center lg:pt-0", children: content })] }), jsx(MultistepNavigationButtons, { backButtonProps: {
|
|
4379
|
+
return (jsxs(MultiStepSidebar, { currentPage: page, goBackTranslation: t.goBack, closeTranslation: t.close, steps: steps, onBack: onBack, onChangePage: onChangePage, onClose: onClose, onNext: onNext, hideInactiveDescriptions: hideInactiveDescriptions, isDismissable: isDismissable, children: [jsxs("div", { children: [jsx(Button, { className: "w-fit text-default-600 mb-6", color: "default", variant: "light", onPress: onBack, isDisabled: page === 0, startContent: jsx(IconComponent, { className: "text-default-500", icon: "material-symbols:arrow-back-rounded", size: "sm" }), children: t.goBack || "Back" }), jsx("div", { className: "relative flex h-fit w-full flex-col text-center lg:justify-center lg:pt-0", children: content })] }), jsx(MultistepNavigationButtons, { backButtonProps: {
|
|
4268
4380
|
isDisabled: page === 0,
|
|
4269
4381
|
onPress: onBack,
|
|
4270
4382
|
children: t.goBack,
|
|
4271
|
-
}, cancelButtonProps: {
|
|
4272
|
-
onPress: onClose,
|
|
4273
|
-
children: t.cancel,
|
|
4274
|
-
}, nextButtonProps: {
|
|
4383
|
+
}, cancelButtonProps: __assign(__assign({}, dismissControlProps), { onPress: onClose, children: t.cancel }), nextButtonProps: {
|
|
4275
4384
|
children: getButtonText(),
|
|
4276
4385
|
onPress: handleNextAction,
|
|
4277
4386
|
isDisabled: steps[page].isStepValid === false,
|
|
@@ -8844,6 +8953,7 @@ function TagsFilter(_a) {
|
|
|
8844
8953
|
var _m = useState(0), autocompleteKey = _m[0], setAutocompleteKey = _m[1];
|
|
8845
8954
|
var selectedList = value !== null && value !== void 0 ? value : [];
|
|
8846
8955
|
var _o = useState(null), sentinelNode = _o[0], setSentinelNode = _o[1];
|
|
8956
|
+
var rootRef = useRef(null);
|
|
8847
8957
|
useEffect(function () {
|
|
8848
8958
|
if (!onLoadMore || !sentinelNode || !hasMore) {
|
|
8849
8959
|
return;
|
|
@@ -8915,7 +9025,7 @@ function TagsFilter(_a) {
|
|
|
8915
9025
|
if (isLoading) {
|
|
8916
9026
|
return (jsx("div", { className: "flex flex-col gap-4 ".concat(className), children: jsx("div", { className: "flex justify-center py-4", children: jsx(Spinner, { size: "sm" }) }) }));
|
|
8917
9027
|
}
|
|
8918
|
-
return (jsxs("div", { className: "flex flex-col gap-4 ".concat(className), children: [error && (jsxs("div", { className: "text-danger text-small py-2", children: [t.errorLoadingPrefix, ": ", error] })), !error && (jsxs(Fragment, { children: [jsxs("div", { className: "flex flex-col gap-3", children: [jsxs(H4, { className: "text-tiny text-left text-default-700", children: [t.labelSelect, required && jsx("span", { className: "text-danger ml-0.5", children: "*" })] }), jsx(AuraAutocomplete, { placeholder: t.placeholder, "aria-label": ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : t.placeholder, inputValue: inputValue, onInputChange: function (v) {
|
|
9028
|
+
return (jsxs("div", { ref: rootRef, className: "flex flex-col gap-4 ".concat(className), children: [error && (jsxs("div", { className: "text-danger text-small py-2", children: [t.errorLoadingPrefix, ": ", error] })), !error && (jsxs(Fragment, { children: [jsxs("div", { className: "flex flex-col gap-3", children: [jsxs(H4, { className: "text-tiny text-left text-default-700", children: [t.labelSelect, required && jsx("span", { className: "text-danger ml-0.5", children: "*" })] }), jsx(AuraAutocomplete, { placeholder: t.placeholder, "aria-label": ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : t.placeholder, inputValue: inputValue, onInputChange: function (v) {
|
|
8919
9029
|
setInputValue(v);
|
|
8920
9030
|
onInputChange === null || onInputChange === void 0 ? void 0 : onInputChange(v);
|
|
8921
9031
|
}, selectedKey: null, items: itemsWithSentinel, onSelectionChange: handleAutocompleteSelection,
|
|
@@ -8934,7 +9044,24 @@ function TagsFilter(_a) {
|
|
|
8934
9044
|
// intercepts pointer events, blocking the parent modal's close button.
|
|
8935
9045
|
// shouldCloseOnInteractOutside already handles closing on outside clicks.
|
|
8936
9046
|
isNonModal: true,
|
|
8937
|
-
|
|
9047
|
+
// El desplegable se renderiza en un portal, así que el campo de
|
|
9048
|
+
// búsqueda queda FUERA de él y una pulsación sobre el texto contaba
|
|
9049
|
+
// como interacción externa. Al cerrarse, el FocusScope devolvía el
|
|
9050
|
+
// foco con un `.focus()` que abortaba el gesto de selección que el
|
|
9051
|
+
// navegador acababa de iniciar: de ahí que arrastrar o hacer doble
|
|
9052
|
+
// clic no seleccionara nada y solo quedara borrar letra a letra
|
|
9053
|
+
// (con el teclado sí funcionaba, porque no pasa por aquí).
|
|
9054
|
+
// Las pulsaciones dentro del componente dejan de contar como
|
|
9055
|
+
// externas; las de fuera siguen cerrando el desplegable igual.
|
|
9056
|
+
//
|
|
9057
|
+
// Los controles de cierre del contenedor también quedan exentos:
|
|
9058
|
+
// react-aria hace `preventDefault()` sobre el pointerdown Y el
|
|
9059
|
+
// click de toda interacción externa, así que su `onPress` no se
|
|
9060
|
+
// disparaba y el contenedor no se podía cerrar mientras el
|
|
9061
|
+
// desplegable estuviera abierto (ver `shouldClosePopoverOnInteractOutside`).
|
|
9062
|
+
shouldCloseOnInteractOutside: function (element) {
|
|
9063
|
+
return shouldClosePopoverOnInteractOutside(element, rootRef.current);
|
|
9064
|
+
},
|
|
8938
9065
|
}, listboxProps: {
|
|
8939
9066
|
className: "max-h-[200px] overflow-y-auto",
|
|
8940
9067
|
}, className: "w-full", children: function (item) {
|
|
@@ -9678,4 +9805,4 @@ var NavigationLoadingProvider = function (_a) {
|
|
|
9678
9805
|
return (jsxs(NavigationLoadingContext.Provider, { value: value, children: [children, jsx(NavigationLoadingOverlay, { isVisible: isVisible })] }));
|
|
9679
9806
|
};
|
|
9680
9807
|
|
|
9681
|
-
export { ALL_THEMES, AURORA_THEME_FAMILIES, AURORA_THEME_REGISTRY, AccordionList, AddHolidayForm, AnalyticsCard, AreaLineChart, AuraAutocomplete, AuraTable, AuraToastProvider, BEWEOS_THEME_MODE_COOKIE_NAME, BreadcrumbsComponent, Button, Card, Chip, ColorPicker, ColorSelector, ContentCarousel, Currency, DEFAULT_DONUT_COLORS, DEFAULT_PREDEFINED_COLORS, DEFAULT_RANKED_BAR_COLORS, DatePicker, DateRangePicker, DateSelector, DonutChart, DrawerFilters, EmailPreview, EnumMenuNavListItem, GlobalToast, H1, H2, H3, H4, HeaderComponent, HolidayType, IconComponent, ImagePreview, Input, InputPassword, Kanban, KanbanCard, KanbanColumn, MenuClaw, MenuComponent, Modal, ModalBody, ModalContent, ModalFooter, ModalHeader, MultiStepWizard, NavigationLoadingContext, NavigationLoadingOverlay, NavigationLoadingProvider, P, Pagination, Phone, PromotionalBanner, REGISTERED_THEME_COLORS, RangeFilter, RankedBarList, RowSteps, DEFAULT_TRANSLATIONS$1 as SEGMENTATION_DEFAULT_TRANSLATIONS, ScheduleRow, SearchInput, SegmentationBuilder, Select, SimpleLineChart, SocialMediaBar, SocialMediaCarousel, SocialMediaPreview, StatTile, StepIndicator, Switch as SwitchComponent, THEME_COLOR_HEX_MAP, TagsFilter, Textarea, ThemeContext, ThemePicker, ThemeProvider, TimeInput as TimeInputComponent, ToastContext, Tooltip, TwoColumnLayoutAgent, UploadFile, VerticalSteps, ViolinPlot, WhatsAppPreview, Wizard, WizardNavigation, WizardSidebar, applyCustomPrimaryColor, computeBars, computeMax, computeSlices, computeTotal, createCurrencyFormatter, uniqueCountries as defaultCountries, defaultCurrencyOptions, defaultTranslations$5 as defaultTranslations, forceLightOnlyThemeBeforeReact, formatAuroraThemeTooltip, generateThemeColorScale, getContrastForeground, getRegisteredThemeColorBases, getSelectedKeyFromPath, hexToThemeColor, hslToCssValue, isAuroraFullThemeId, isDonutEmpty, isExactThemeColor, isGroupState, isHexColor, isRankedBarListEmpty, isSegmentationGroup, removeCustomPrimaryColor, sizeMap, themeColors, useAuraToast, useCloseOnAncestorScroll, useMediaQuery, useNavigationLoading, useThemeContext };
|
|
9808
|
+
export { ALL_THEMES, AURORA_THEME_FAMILIES, AURORA_THEME_REGISTRY, AccordionList, AddHolidayForm, AnalyticsCard, AreaLineChart, AuraAutocomplete, AuraTable, AuraToastProvider, BEWEOS_THEME_MODE_COOKIE_NAME, BreadcrumbsComponent, Button, CONTAINER_ATTRIBUTE, Card, Chip, ColorPicker, ColorSelector, ContentCarousel, Currency, DEFAULT_DONUT_COLORS, DEFAULT_PREDEFINED_COLORS, DEFAULT_RANKED_BAR_COLORS, DISMISS_CONTROL_ATTRIBUTE, DatePicker, DateRangePicker, DateSelector, DonutChart, DrawerFilters, EmailPreview, EnumMenuNavListItem, GlobalToast, H1, H2, H3, H4, HeaderComponent, HolidayType, IconComponent, ImagePreview, Input, InputPassword, Kanban, KanbanCard, KanbanColumn, LindaIcon, MenuClaw, MenuComponent, Modal, ModalBody, ModalContent, ModalFooter, ModalHeader, MultiStepWizard, NavigationLoadingContext, NavigationLoadingOverlay, NavigationLoadingProvider, P, Pagination, Phone, PromotionalBanner, REGISTERED_THEME_COLORS, RangeFilter, RankedBarList, RowSteps, DEFAULT_TRANSLATIONS$1 as SEGMENTATION_DEFAULT_TRANSLATIONS, ScheduleRow, SearchInput, SegmentationBuilder, Select, SimpleLineChart, SocialMediaBar, SocialMediaCarousel, SocialMediaPreview, StatTile, StepIndicator, Switch as SwitchComponent, THEME_COLOR_HEX_MAP, TagsFilter, Textarea, ThemeContext, ThemePicker, ThemeProvider, TimeInput as TimeInputComponent, ToastContext, Tooltip, TwoColumnLayoutAgent, UploadFile, VerticalSteps, ViolinPlot, WhatsAppPreview, Wizard, WizardNavigation, WizardSidebar, applyCustomPrimaryColor, computeBars, computeMax, computeSlices, computeTotal, containerProps, createCurrencyFormatter, uniqueCountries as defaultCountries, defaultCurrencyOptions, defaultTranslations$5 as defaultTranslations, dismissControlProps, forceLightOnlyThemeBeforeReact, formatAuroraThemeTooltip, generateThemeColorScale, getContrastForeground, getRegisteredThemeColorBases, getSelectedKeyFromPath, hexToThemeColor, hslToCssValue, isAuroraFullThemeId, isDismissControl, isDonutEmpty, isExactThemeColor, isGroupState, isHexColor, isRankedBarListEmpty, isSegmentationGroup, removeCustomPrimaryColor, shouldClosePopoverOnInteractOutside, sizeMap, themeColors, useAuraToast, useCloseOnAncestorScroll, useMediaQuery, useNavigationLoading, useThemeContext };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
import type { LindaIconProps } from "./LindaIcon.types";
|
|
3
|
+
/**
|
|
4
|
+
* Icono canónico de Linda para CTAs inteligentes (TECH-2386).
|
|
5
|
+
*
|
|
6
|
+
* SVG empaquetado como import estático — NUNCA usar `@iconify/react` /
|
|
7
|
+
* `IconComponent` con este glifo: los iconos de Iconify se resuelven en
|
|
8
|
+
* runtime contra api.iconify.design y desaparecen (control entero invisible
|
|
9
|
+
* si es `isIconOnly`) cuando ese host no responde — ver TECH-2103/2104.
|
|
10
|
+
* Este componente no depende de red.
|
|
11
|
+
*
|
|
12
|
+
* Glifo: el mismo path ya usado en el producto para señalar acciones de
|
|
13
|
+
* Linda (equivalente al icono "magic-stick" ya presente junto a
|
|
14
|
+
* "Linda Recommended Actions"), resuelto para v1 en TECH-2374 sin
|
|
15
|
+
* diseñadora asignada — funcional-first, sin inventar iconografía nueva.
|
|
16
|
+
* Cuando exista un asset bespoke (identidad "droide retro-futurista"),
|
|
17
|
+
* este es el único componente a sustituir — ver README.md.
|
|
18
|
+
*/
|
|
19
|
+
export declare const LindaIcon: React.FC<LindaIconProps>;
|
|
20
|
+
//# sourceMappingURL=LindaIcon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LindaIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/linda-icon/LindaIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAyB9C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LindaIcon.types.d.ts","sourceRoot":"","sources":["../../../../src/components/linda-icon/LindaIcon.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC;IACpE,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/linda-icon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiStepWizard.d.ts","sourceRoot":"","sources":["../../../../src/components/multi-step-wizard/MultiStepWizard.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MultiStepWizard.d.ts","sourceRoot":"","sources":["../../../../src/components/multi-step-wizard/MultiStepWizard.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAIpE,eAAO,MAAM,eAAe,GAAI,oHAS7B,oBAAoB,mDAmJtB,CAAC"}
|
|
@@ -30,5 +30,7 @@ export interface MultiStepWizardTranslations {
|
|
|
30
30
|
cancel?: string;
|
|
31
31
|
next?: string;
|
|
32
32
|
complete?: string;
|
|
33
|
+
/** Nombre accesible del botón de cerrar (solo icono). Por defecto `"Close"`. */
|
|
34
|
+
close?: string;
|
|
33
35
|
}
|
|
34
36
|
//# sourceMappingURL=MultiStepWizard.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiStepWizard.types.d.ts","sourceRoot":"","sources":["../../../../src/components/multi-step-wizard/MultiStepWizard.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,IAAI;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACpC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,YAAY,CAAC,EAAE,2BAA2B,CAAC;IAC3C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,wCAAwC;IACxC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qEAAqE;IACrE,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,2BAA2B;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"MultiStepWizard.types.d.ts","sourceRoot":"","sources":["../../../../src/components/multi-step-wizard/MultiStepWizard.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,IAAI;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACpC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,YAAY,CAAC,EAAE,2BAA2B,CAAC;IAC3C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,wCAAwC;IACxC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qEAAqE;IACrE,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,2BAA2B;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiStepSidebar.d.ts","sourceRoot":"","sources":["../../../../../src/components/multi-step-wizard/_internal/MultiStepSidebar.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"MultiStepSidebar.d.ts","sourceRoot":"","sources":["../../../../../src/components/multi-step-wizard/_internal/MultiStepSidebar.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEtE,eAAO,MAAM,gBAAgB,8FAuG5B,CAAC"}
|
|
@@ -9,6 +9,8 @@ export interface MultiStepSidebarProps extends React.HTMLAttributes<HTMLDivEleme
|
|
|
9
9
|
onChangePage?: (page: number) => void;
|
|
10
10
|
steps: Step[];
|
|
11
11
|
goBackTranslation?: string;
|
|
12
|
+
/** Nombre accesible del botón de cerrar (solo icono). Por defecto `"Close"`. */
|
|
13
|
+
closeTranslation?: string;
|
|
12
14
|
hideInactiveDescriptions?: boolean;
|
|
13
15
|
/** Permite cerrar al hacer clic en el backdrop. Por defecto `true`. */
|
|
14
16
|
isDismissable?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiStepSidebar.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/multi-step-wizard/_internal/MultiStepSidebar.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAErD,MAAM,WAAW,qBAChB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC5C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,uEAAuE;IACvE,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB"}
|
|
1
|
+
{"version":3,"file":"MultiStepSidebar.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/multi-step-wizard/_internal/MultiStepSidebar.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAErD,MAAM,WAAW,qBAChB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC5C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,uEAAuE;IACvE,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TagsFilter.d.ts","sourceRoot":"","sources":["../../../../src/components/tags-filter/TagsFilter.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"TagsFilter.d.ts","sourceRoot":"","sources":["../../../../src/components/tags-filter/TagsFilter.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EACX,eAAe,EAEf,MAAM,oBAAoB,CAAC;AAuC5B;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,EACpE,KAAK,EACL,KAAK,EACL,QAAQ,EACR,YAAiB,EACjB,KAAK,EACL,SAAiB,EACjB,SAAc,EACd,YAAY,EAAE,SAAS,EACvB,QAAgB,EAChB,WAA2D,EAC3D,SAAkD,EAClD,aAAa,EACb,OAAe,EACf,aAAqB,EACrB,UAAU,EACV,kBAA0B,GAC1B,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAkQzC;yBAnRe,UAAU"}
|