@beweco/aurora-ui 0.6.72-qa.95 → 0.6.72-qa.96
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 +110 -8
- package/dist/index.esm.js +105 -9
- 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 +1 -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
|
@@ -3993,6 +3993,96 @@ var MenuClaw = React.memo(function MenuClaw(_a) {
|
|
|
3993
3993
|
}) }), 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
3994
|
});
|
|
3995
3995
|
|
|
3996
|
+
/**
|
|
3997
|
+
* Interacciones que un popover no-modal NO debe tratar como "clic fuera".
|
|
3998
|
+
*
|
|
3999
|
+
* El problema que resuelve: `useOverlay` de react-aria trata cualquier
|
|
4000
|
+
* pulsación fuera del popover como interacción externa y, cuando el popover es
|
|
4001
|
+
* el overlay visible más reciente, hace `stopPropagation()` + `preventDefault()`
|
|
4002
|
+
* sobre el `pointerdown` **y** sobre el `click`
|
|
4003
|
+
* (`@react-aria/overlays/useOverlay`). El evento nunca llega a su destino, así
|
|
4004
|
+
* que `usePress` no registra la pulsación y `onPress` no se dispara: el primer
|
|
4005
|
+
* clic solo cierra el desplegable.
|
|
4006
|
+
*
|
|
4007
|
+
* Para un clic en la página de fondo eso es lo correcto: descartar el
|
|
4008
|
+
* desplegable sin activar nada por debajo. Dentro del mismo diálogo no: ahí el
|
|
4009
|
+
* usuario está rellenando un formulario y espera que su clic llegue. Y como los
|
|
4010
|
+
* buscadores se reabren al recuperar el foco, el clic siguiente se volvía a
|
|
4011
|
+
* tragar — un callejón sin salida del que solo se salía vaciando el campo.
|
|
4012
|
+
*
|
|
4013
|
+
* La única palanca es `shouldCloseOnInteractOutside`: es el guardián de esos dos
|
|
4014
|
+
* `preventDefault`. Devolviendo `false` para lo que no es realmente "fuera", la
|
|
4015
|
+
* pulsación llega intacta. El desplegable sigue cerrándose igual, pero por
|
|
4016
|
+
* pérdida de foco (`shouldCloseOnBlur`) en vez de por interacción externa.
|
|
4017
|
+
*/
|
|
4018
|
+
var _a, _b;
|
|
4019
|
+
/**
|
|
4020
|
+
* Marca un botón como control de cierre de su contenedor. Los popovers de Aura
|
|
4021
|
+
* no lo cuentan como interacción externa, así que su pulsación no se pierde.
|
|
4022
|
+
*/
|
|
4023
|
+
var DISMISS_CONTROL_ATTRIBUTE = "data-aura-dismiss";
|
|
4024
|
+
/** Props a esparcir en un control de cierre: `<Button {...dismissControlProps} />`. */
|
|
4025
|
+
var dismissControlProps = (_a = {},
|
|
4026
|
+
_a[DISMISS_CONTROL_ATTRIBUTE] = "true",
|
|
4027
|
+
_a);
|
|
4028
|
+
/**
|
|
4029
|
+
* Marca el contenedor de una superficie modal propia (wizard, panel a medida).
|
|
4030
|
+
* No hace falta en `Modal` ni `Drawer`: los diálogos de HeroUI ya traen
|
|
4031
|
+
* `role="dialog"`, que cuenta igual.
|
|
4032
|
+
*/
|
|
4033
|
+
var CONTAINER_ATTRIBUTE = "data-aura-container";
|
|
4034
|
+
/** Props a esparcir en el contenedor: `<div {...containerProps}>`. */
|
|
4035
|
+
var containerProps = (_b = {},
|
|
4036
|
+
_b[CONTAINER_ATTRIBUTE] = "true",
|
|
4037
|
+
_b);
|
|
4038
|
+
/**
|
|
4039
|
+
* Selector de controles de cierre. Incluye `[aria-label="Close"]` para cubrir
|
|
4040
|
+
* los botones de cerrar internos de HeroUI (Modal, Drawer), que no admiten
|
|
4041
|
+
* atributos propios.
|
|
4042
|
+
*/
|
|
4043
|
+
var DISMISS_CONTROL_SELECTOR = "[".concat(DISMISS_CONTROL_ATTRIBUTE, "],[aria-label=\"Close\"]");
|
|
4044
|
+
/** Selector del contenedor modal: el marcado de Aura o un diálogo estándar. */
|
|
4045
|
+
var CONTAINER_SELECTOR = "[".concat(CONTAINER_ATTRIBUTE, "],[role=\"dialog\"],[role=\"alertdialog\"]");
|
|
4046
|
+
var matchesAncestor = function (element, selector) {
|
|
4047
|
+
if (!element || typeof element.closest !== "function") {
|
|
4048
|
+
return false;
|
|
4049
|
+
}
|
|
4050
|
+
return element.closest(selector) != null;
|
|
4051
|
+
};
|
|
4052
|
+
/** `true` si el elemento es un control de cierre (o está dentro de uno). */
|
|
4053
|
+
var isDismissControl = function (element) { return matchesAncestor(element, DISMISS_CONTROL_SELECTOR); };
|
|
4054
|
+
/**
|
|
4055
|
+
* Predicado listo para `popoverProps.shouldCloseOnInteractOutside` de un
|
|
4056
|
+
* componente con popover no-modal.
|
|
4057
|
+
*
|
|
4058
|
+
* Devuelve `false` —no es interacción externa— en tres casos:
|
|
4059
|
+
*
|
|
4060
|
+
* 1. Dentro del propio componente: el popover vive en un portal, así que el
|
|
4061
|
+
* campo de búsqueda queda fuera de él y una pulsación sobre el texto se
|
|
4062
|
+
* contaba como externa.
|
|
4063
|
+
* 2. Sobre un control de cierre del contenedor.
|
|
4064
|
+
* 3. Dentro del mismo diálogo/contenedor que el componente: seguir rellenando
|
|
4065
|
+
* el formulario no es descartar el desplegable.
|
|
4066
|
+
*
|
|
4067
|
+
* @param element Elemento donde ha empezado la interacción.
|
|
4068
|
+
* @param root Raíz del componente.
|
|
4069
|
+
*/
|
|
4070
|
+
var shouldClosePopoverOnInteractOutside = function (element, root) {
|
|
4071
|
+
var _a;
|
|
4072
|
+
if (root === null || root === void 0 ? void 0 : root.contains(element)) {
|
|
4073
|
+
return false;
|
|
4074
|
+
}
|
|
4075
|
+
if (isDismissControl(element)) {
|
|
4076
|
+
return false;
|
|
4077
|
+
}
|
|
4078
|
+
if (!matchesAncestor(element, CONTAINER_SELECTOR)) {
|
|
4079
|
+
return true;
|
|
4080
|
+
}
|
|
4081
|
+
// Solo exime el contenedor propio: un diálogo distinto sigue siendo externo.
|
|
4082
|
+
var container = (_a = root === null || root === void 0 ? void 0 : root.closest) === null || _a === void 0 ? void 0 : _a.call(root, CONTAINER_SELECTOR);
|
|
4083
|
+
return !(container === null || container === void 0 ? void 0 : container.contains(element));
|
|
4084
|
+
};
|
|
4085
|
+
|
|
3996
4086
|
var StepIndicator = function (_a) {
|
|
3997
4087
|
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
4088
|
var progressPercentage = Math.min((currentStep / totalSteps) * 100, 100);
|
|
@@ -4176,7 +4266,7 @@ var VerticalSteps = React.forwardRef(function (_a, ref) {
|
|
|
4176
4266
|
VerticalSteps.displayName = "VerticalSteps";
|
|
4177
4267
|
|
|
4178
4268
|
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,
|
|
4269
|
+
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
4270
|
var handleOverlayClick = function (e) {
|
|
4181
4271
|
if (!isDismissable) {
|
|
4182
4272
|
return;
|
|
@@ -4185,7 +4275,7 @@ var MultiStepSidebar = React.forwardRef(function (_a, ref) {
|
|
|
4185
4275
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
4186
4276
|
}
|
|
4187
4277
|
};
|
|
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 })] })] })) }));
|
|
4278
|
+
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
4279
|
});
|
|
4190
4280
|
MultiStepSidebar.displayName = "MultiStepSidebar";
|
|
4191
4281
|
|
|
@@ -4212,6 +4302,7 @@ var MultiStepWizard = function (_a) {
|
|
|
4212
4302
|
cancel: "Cancel",
|
|
4213
4303
|
next: "Next",
|
|
4214
4304
|
complete: "Complete",
|
|
4305
|
+
close: "Close",
|
|
4215
4306
|
}, translations);
|
|
4216
4307
|
var paginate = React.useCallback(function (newDirection) {
|
|
4217
4308
|
setPage(function (prev) {
|
|
@@ -4263,14 +4354,11 @@ var MultiStepWizard = function (_a) {
|
|
|
4263
4354
|
if (!isOpen) {
|
|
4264
4355
|
return null;
|
|
4265
4356
|
}
|
|
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: {
|
|
4357
|
+
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
4358
|
isDisabled: page === 0,
|
|
4268
4359
|
onPress: onBack,
|
|
4269
4360
|
children: t.goBack,
|
|
4270
|
-
}, cancelButtonProps: {
|
|
4271
|
-
onPress: onClose,
|
|
4272
|
-
children: t.cancel,
|
|
4273
|
-
}, nextButtonProps: {
|
|
4361
|
+
}, cancelButtonProps: __assign(__assign({}, dismissControlProps), { onPress: onClose, children: t.cancel }), nextButtonProps: {
|
|
4274
4362
|
children: getButtonText(),
|
|
4275
4363
|
onPress: handleNextAction,
|
|
4276
4364
|
isDisabled: steps[page].isStepValid === false,
|
|
@@ -8936,7 +9024,15 @@ function TagsFilter(_a) {
|
|
|
8936
9024
|
// (con el teclado sí funcionaba, porque no pasa por aquí).
|
|
8937
9025
|
// Las pulsaciones dentro del componente dejan de contar como
|
|
8938
9026
|
// externas; las de fuera siguen cerrando el desplegable igual.
|
|
8939
|
-
|
|
9027
|
+
//
|
|
9028
|
+
// Los controles de cierre del contenedor también quedan exentos:
|
|
9029
|
+
// react-aria hace `preventDefault()` sobre el pointerdown Y el
|
|
9030
|
+
// click de toda interacción externa, así que su `onPress` no se
|
|
9031
|
+
// disparaba y el contenedor no se podía cerrar mientras el
|
|
9032
|
+
// desplegable estuviera abierto (ver `shouldClosePopoverOnInteractOutside`).
|
|
9033
|
+
shouldCloseOnInteractOutside: function (element) {
|
|
9034
|
+
return shouldClosePopoverOnInteractOutside(element, rootRef.current);
|
|
9035
|
+
},
|
|
8940
9036
|
}, listboxProps: {
|
|
8941
9037
|
className: "max-h-[200px] overflow-y-auto",
|
|
8942
9038
|
}, className: "w-full", children: function (item) {
|
|
@@ -9701,6 +9797,7 @@ exports.AuraToastProvider = AuraToastProvider;
|
|
|
9701
9797
|
exports.BEWEOS_THEME_MODE_COOKIE_NAME = BEWEOS_THEME_MODE_COOKIE_NAME;
|
|
9702
9798
|
exports.BreadcrumbsComponent = BreadcrumbsComponent;
|
|
9703
9799
|
exports.Button = Button;
|
|
9800
|
+
exports.CONTAINER_ATTRIBUTE = CONTAINER_ATTRIBUTE;
|
|
9704
9801
|
exports.Card = Card;
|
|
9705
9802
|
exports.Chip = Chip;
|
|
9706
9803
|
exports.ColorPicker = ColorPicker;
|
|
@@ -9710,6 +9807,7 @@ exports.Currency = Currency;
|
|
|
9710
9807
|
exports.DEFAULT_DONUT_COLORS = DEFAULT_DONUT_COLORS;
|
|
9711
9808
|
exports.DEFAULT_PREDEFINED_COLORS = DEFAULT_PREDEFINED_COLORS;
|
|
9712
9809
|
exports.DEFAULT_RANKED_BAR_COLORS = DEFAULT_RANKED_BAR_COLORS;
|
|
9810
|
+
exports.DISMISS_CONTROL_ATTRIBUTE = DISMISS_CONTROL_ATTRIBUTE;
|
|
9713
9811
|
exports.DatePicker = DatePicker;
|
|
9714
9812
|
exports.DateRangePicker = DateRangePicker;
|
|
9715
9813
|
exports.DateSelector = DateSelector;
|
|
@@ -9782,10 +9880,12 @@ exports.computeBars = computeBars;
|
|
|
9782
9880
|
exports.computeMax = computeMax;
|
|
9783
9881
|
exports.computeSlices = computeSlices;
|
|
9784
9882
|
exports.computeTotal = computeTotal;
|
|
9883
|
+
exports.containerProps = containerProps;
|
|
9785
9884
|
exports.createCurrencyFormatter = createCurrencyFormatter;
|
|
9786
9885
|
exports.defaultCountries = uniqueCountries;
|
|
9787
9886
|
exports.defaultCurrencyOptions = defaultCurrencyOptions;
|
|
9788
9887
|
exports.defaultTranslations = defaultTranslations$5;
|
|
9888
|
+
exports.dismissControlProps = dismissControlProps;
|
|
9789
9889
|
exports.forceLightOnlyThemeBeforeReact = forceLightOnlyThemeBeforeReact;
|
|
9790
9890
|
exports.formatAuroraThemeTooltip = formatAuroraThemeTooltip;
|
|
9791
9891
|
exports.generateThemeColorScale = generateThemeColorScale;
|
|
@@ -9795,6 +9895,7 @@ exports.getSelectedKeyFromPath = getSelectedKeyFromPath;
|
|
|
9795
9895
|
exports.hexToThemeColor = hexToThemeColor;
|
|
9796
9896
|
exports.hslToCssValue = hslToCssValue;
|
|
9797
9897
|
exports.isAuroraFullThemeId = isAuroraFullThemeId;
|
|
9898
|
+
exports.isDismissControl = isDismissControl;
|
|
9798
9899
|
exports.isDonutEmpty = isDonutEmpty;
|
|
9799
9900
|
exports.isExactThemeColor = isExactThemeColor;
|
|
9800
9901
|
exports.isGroupState = isGroupState;
|
|
@@ -9802,6 +9903,7 @@ exports.isHexColor = isHexColor;
|
|
|
9802
9903
|
exports.isRankedBarListEmpty = isRankedBarListEmpty;
|
|
9803
9904
|
exports.isSegmentationGroup = isSegmentationGroup;
|
|
9804
9905
|
exports.removeCustomPrimaryColor = removeCustomPrimaryColor;
|
|
9906
|
+
exports.shouldClosePopoverOnInteractOutside = shouldClosePopoverOnInteractOutside;
|
|
9805
9907
|
exports.sizeMap = sizeMap;
|
|
9806
9908
|
exports.themeColors = themeColors;
|
|
9807
9909
|
exports.useAuraToast = useAuraToast;
|
package/dist/index.esm.js
CHANGED
|
@@ -3994,6 +3994,96 @@ var MenuClaw = React.memo(function MenuClaw(_a) {
|
|
|
3994
3994
|
}) }), 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
3995
|
});
|
|
3996
3996
|
|
|
3997
|
+
/**
|
|
3998
|
+
* Interacciones que un popover no-modal NO debe tratar como "clic fuera".
|
|
3999
|
+
*
|
|
4000
|
+
* El problema que resuelve: `useOverlay` de react-aria trata cualquier
|
|
4001
|
+
* pulsación fuera del popover como interacción externa y, cuando el popover es
|
|
4002
|
+
* el overlay visible más reciente, hace `stopPropagation()` + `preventDefault()`
|
|
4003
|
+
* sobre el `pointerdown` **y** sobre el `click`
|
|
4004
|
+
* (`@react-aria/overlays/useOverlay`). El evento nunca llega a su destino, así
|
|
4005
|
+
* que `usePress` no registra la pulsación y `onPress` no se dispara: el primer
|
|
4006
|
+
* clic solo cierra el desplegable.
|
|
4007
|
+
*
|
|
4008
|
+
* Para un clic en la página de fondo eso es lo correcto: descartar el
|
|
4009
|
+
* desplegable sin activar nada por debajo. Dentro del mismo diálogo no: ahí el
|
|
4010
|
+
* usuario está rellenando un formulario y espera que su clic llegue. Y como los
|
|
4011
|
+
* buscadores se reabren al recuperar el foco, el clic siguiente se volvía a
|
|
4012
|
+
* tragar — un callejón sin salida del que solo se salía vaciando el campo.
|
|
4013
|
+
*
|
|
4014
|
+
* La única palanca es `shouldCloseOnInteractOutside`: es el guardián de esos dos
|
|
4015
|
+
* `preventDefault`. Devolviendo `false` para lo que no es realmente "fuera", la
|
|
4016
|
+
* pulsación llega intacta. El desplegable sigue cerrándose igual, pero por
|
|
4017
|
+
* pérdida de foco (`shouldCloseOnBlur`) en vez de por interacción externa.
|
|
4018
|
+
*/
|
|
4019
|
+
var _a, _b;
|
|
4020
|
+
/**
|
|
4021
|
+
* Marca un botón como control de cierre de su contenedor. Los popovers de Aura
|
|
4022
|
+
* no lo cuentan como interacción externa, así que su pulsación no se pierde.
|
|
4023
|
+
*/
|
|
4024
|
+
var DISMISS_CONTROL_ATTRIBUTE = "data-aura-dismiss";
|
|
4025
|
+
/** Props a esparcir en un control de cierre: `<Button {...dismissControlProps} />`. */
|
|
4026
|
+
var dismissControlProps = (_a = {},
|
|
4027
|
+
_a[DISMISS_CONTROL_ATTRIBUTE] = "true",
|
|
4028
|
+
_a);
|
|
4029
|
+
/**
|
|
4030
|
+
* Marca el contenedor de una superficie modal propia (wizard, panel a medida).
|
|
4031
|
+
* No hace falta en `Modal` ni `Drawer`: los diálogos de HeroUI ya traen
|
|
4032
|
+
* `role="dialog"`, que cuenta igual.
|
|
4033
|
+
*/
|
|
4034
|
+
var CONTAINER_ATTRIBUTE = "data-aura-container";
|
|
4035
|
+
/** Props a esparcir en el contenedor: `<div {...containerProps}>`. */
|
|
4036
|
+
var containerProps = (_b = {},
|
|
4037
|
+
_b[CONTAINER_ATTRIBUTE] = "true",
|
|
4038
|
+
_b);
|
|
4039
|
+
/**
|
|
4040
|
+
* Selector de controles de cierre. Incluye `[aria-label="Close"]` para cubrir
|
|
4041
|
+
* los botones de cerrar internos de HeroUI (Modal, Drawer), que no admiten
|
|
4042
|
+
* atributos propios.
|
|
4043
|
+
*/
|
|
4044
|
+
var DISMISS_CONTROL_SELECTOR = "[".concat(DISMISS_CONTROL_ATTRIBUTE, "],[aria-label=\"Close\"]");
|
|
4045
|
+
/** Selector del contenedor modal: el marcado de Aura o un diálogo estándar. */
|
|
4046
|
+
var CONTAINER_SELECTOR = "[".concat(CONTAINER_ATTRIBUTE, "],[role=\"dialog\"],[role=\"alertdialog\"]");
|
|
4047
|
+
var matchesAncestor = function (element, selector) {
|
|
4048
|
+
if (!element || typeof element.closest !== "function") {
|
|
4049
|
+
return false;
|
|
4050
|
+
}
|
|
4051
|
+
return element.closest(selector) != null;
|
|
4052
|
+
};
|
|
4053
|
+
/** `true` si el elemento es un control de cierre (o está dentro de uno). */
|
|
4054
|
+
var isDismissControl = function (element) { return matchesAncestor(element, DISMISS_CONTROL_SELECTOR); };
|
|
4055
|
+
/**
|
|
4056
|
+
* Predicado listo para `popoverProps.shouldCloseOnInteractOutside` de un
|
|
4057
|
+
* componente con popover no-modal.
|
|
4058
|
+
*
|
|
4059
|
+
* Devuelve `false` —no es interacción externa— en tres casos:
|
|
4060
|
+
*
|
|
4061
|
+
* 1. Dentro del propio componente: el popover vive en un portal, así que el
|
|
4062
|
+
* campo de búsqueda queda fuera de él y una pulsación sobre el texto se
|
|
4063
|
+
* contaba como externa.
|
|
4064
|
+
* 2. Sobre un control de cierre del contenedor.
|
|
4065
|
+
* 3. Dentro del mismo diálogo/contenedor que el componente: seguir rellenando
|
|
4066
|
+
* el formulario no es descartar el desplegable.
|
|
4067
|
+
*
|
|
4068
|
+
* @param element Elemento donde ha empezado la interacción.
|
|
4069
|
+
* @param root Raíz del componente.
|
|
4070
|
+
*/
|
|
4071
|
+
var shouldClosePopoverOnInteractOutside = function (element, root) {
|
|
4072
|
+
var _a;
|
|
4073
|
+
if (root === null || root === void 0 ? void 0 : root.contains(element)) {
|
|
4074
|
+
return false;
|
|
4075
|
+
}
|
|
4076
|
+
if (isDismissControl(element)) {
|
|
4077
|
+
return false;
|
|
4078
|
+
}
|
|
4079
|
+
if (!matchesAncestor(element, CONTAINER_SELECTOR)) {
|
|
4080
|
+
return true;
|
|
4081
|
+
}
|
|
4082
|
+
// Solo exime el contenedor propio: un diálogo distinto sigue siendo externo.
|
|
4083
|
+
var container = (_a = root === null || root === void 0 ? void 0 : root.closest) === null || _a === void 0 ? void 0 : _a.call(root, CONTAINER_SELECTOR);
|
|
4084
|
+
return !(container === null || container === void 0 ? void 0 : container.contains(element));
|
|
4085
|
+
};
|
|
4086
|
+
|
|
3997
4087
|
var StepIndicator = function (_a) {
|
|
3998
4088
|
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
4089
|
var progressPercentage = Math.min((currentStep / totalSteps) * 100, 100);
|
|
@@ -4177,7 +4267,7 @@ var VerticalSteps = React.forwardRef(function (_a, ref) {
|
|
|
4177
4267
|
VerticalSteps.displayName = "VerticalSteps";
|
|
4178
4268
|
|
|
4179
4269
|
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,
|
|
4270
|
+
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
4271
|
var handleOverlayClick = function (e) {
|
|
4182
4272
|
if (!isDismissable) {
|
|
4183
4273
|
return;
|
|
@@ -4186,7 +4276,7 @@ var MultiStepSidebar = React.forwardRef(function (_a, ref) {
|
|
|
4186
4276
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
4187
4277
|
}
|
|
4188
4278
|
};
|
|
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 })] })] })) }));
|
|
4279
|
+
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
4280
|
});
|
|
4191
4281
|
MultiStepSidebar.displayName = "MultiStepSidebar";
|
|
4192
4282
|
|
|
@@ -4213,6 +4303,7 @@ var MultiStepWizard = function (_a) {
|
|
|
4213
4303
|
cancel: "Cancel",
|
|
4214
4304
|
next: "Next",
|
|
4215
4305
|
complete: "Complete",
|
|
4306
|
+
close: "Close",
|
|
4216
4307
|
}, translations);
|
|
4217
4308
|
var paginate = React.useCallback(function (newDirection) {
|
|
4218
4309
|
setPage(function (prev) {
|
|
@@ -4264,14 +4355,11 @@ var MultiStepWizard = function (_a) {
|
|
|
4264
4355
|
if (!isOpen) {
|
|
4265
4356
|
return null;
|
|
4266
4357
|
}
|
|
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: {
|
|
4358
|
+
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
4359
|
isDisabled: page === 0,
|
|
4269
4360
|
onPress: onBack,
|
|
4270
4361
|
children: t.goBack,
|
|
4271
|
-
}, cancelButtonProps: {
|
|
4272
|
-
onPress: onClose,
|
|
4273
|
-
children: t.cancel,
|
|
4274
|
-
}, nextButtonProps: {
|
|
4362
|
+
}, cancelButtonProps: __assign(__assign({}, dismissControlProps), { onPress: onClose, children: t.cancel }), nextButtonProps: {
|
|
4275
4363
|
children: getButtonText(),
|
|
4276
4364
|
onPress: handleNextAction,
|
|
4277
4365
|
isDisabled: steps[page].isStepValid === false,
|
|
@@ -8937,7 +9025,15 @@ function TagsFilter(_a) {
|
|
|
8937
9025
|
// (con el teclado sí funcionaba, porque no pasa por aquí).
|
|
8938
9026
|
// Las pulsaciones dentro del componente dejan de contar como
|
|
8939
9027
|
// externas; las de fuera siguen cerrando el desplegable igual.
|
|
8940
|
-
|
|
9028
|
+
//
|
|
9029
|
+
// Los controles de cierre del contenedor también quedan exentos:
|
|
9030
|
+
// react-aria hace `preventDefault()` sobre el pointerdown Y el
|
|
9031
|
+
// click de toda interacción externa, así que su `onPress` no se
|
|
9032
|
+
// disparaba y el contenedor no se podía cerrar mientras el
|
|
9033
|
+
// desplegable estuviera abierto (ver `shouldClosePopoverOnInteractOutside`).
|
|
9034
|
+
shouldCloseOnInteractOutside: function (element) {
|
|
9035
|
+
return shouldClosePopoverOnInteractOutside(element, rootRef.current);
|
|
9036
|
+
},
|
|
8941
9037
|
}, listboxProps: {
|
|
8942
9038
|
className: "max-h-[200px] overflow-y-auto",
|
|
8943
9039
|
}, className: "w-full", children: function (item) {
|
|
@@ -9681,4 +9777,4 @@ var NavigationLoadingProvider = function (_a) {
|
|
|
9681
9777
|
return (jsxs(NavigationLoadingContext.Provider, { value: value, children: [children, jsx(NavigationLoadingOverlay, { isVisible: isVisible })] }));
|
|
9682
9778
|
};
|
|
9683
9779
|
|
|
9684
|
-
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 };
|
|
9780
|
+
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, 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 };
|
|
@@ -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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -60,6 +60,7 @@ export * from "./components/range-filter";
|
|
|
60
60
|
export * from "./components/simple-line-chart";
|
|
61
61
|
export * from "./components/segmentation-builder";
|
|
62
62
|
export * from "./components/tags-filter";
|
|
63
|
+
export * from "./utils/dismiss-control";
|
|
63
64
|
export * from "./utils/formatters";
|
|
64
65
|
export { Modal, ModalContent, ModalHeader, ModalBody, ModalFooter, type ModalProps, } from "./components/modal";
|
|
65
66
|
export { AuraAutocomplete, type AuraAutocompleteProps, } from "./components/autocomplete";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interacciones que un popover no-modal NO debe tratar como "clic fuera".
|
|
3
|
+
*
|
|
4
|
+
* El problema que resuelve: `useOverlay` de react-aria trata cualquier
|
|
5
|
+
* pulsación fuera del popover como interacción externa y, cuando el popover es
|
|
6
|
+
* el overlay visible más reciente, hace `stopPropagation()` + `preventDefault()`
|
|
7
|
+
* sobre el `pointerdown` **y** sobre el `click`
|
|
8
|
+
* (`@react-aria/overlays/useOverlay`). El evento nunca llega a su destino, así
|
|
9
|
+
* que `usePress` no registra la pulsación y `onPress` no se dispara: el primer
|
|
10
|
+
* clic solo cierra el desplegable.
|
|
11
|
+
*
|
|
12
|
+
* Para un clic en la página de fondo eso es lo correcto: descartar el
|
|
13
|
+
* desplegable sin activar nada por debajo. Dentro del mismo diálogo no: ahí el
|
|
14
|
+
* usuario está rellenando un formulario y espera que su clic llegue. Y como los
|
|
15
|
+
* buscadores se reabren al recuperar el foco, el clic siguiente se volvía a
|
|
16
|
+
* tragar — un callejón sin salida del que solo se salía vaciando el campo.
|
|
17
|
+
*
|
|
18
|
+
* La única palanca es `shouldCloseOnInteractOutside`: es el guardián de esos dos
|
|
19
|
+
* `preventDefault`. Devolviendo `false` para lo que no es realmente "fuera", la
|
|
20
|
+
* pulsación llega intacta. El desplegable sigue cerrándose igual, pero por
|
|
21
|
+
* pérdida de foco (`shouldCloseOnBlur`) en vez de por interacción externa.
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* Marca un botón como control de cierre de su contenedor. Los popovers de Aura
|
|
25
|
+
* no lo cuentan como interacción externa, así que su pulsación no se pierde.
|
|
26
|
+
*/
|
|
27
|
+
export declare const DISMISS_CONTROL_ATTRIBUTE = "data-aura-dismiss";
|
|
28
|
+
/** Props a esparcir en un control de cierre: `<Button {...dismissControlProps} />`. */
|
|
29
|
+
export declare const dismissControlProps: {
|
|
30
|
+
readonly "data-aura-dismiss": "true";
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Marca el contenedor de una superficie modal propia (wizard, panel a medida).
|
|
34
|
+
* No hace falta en `Modal` ni `Drawer`: los diálogos de HeroUI ya traen
|
|
35
|
+
* `role="dialog"`, que cuenta igual.
|
|
36
|
+
*/
|
|
37
|
+
export declare const CONTAINER_ATTRIBUTE = "data-aura-container";
|
|
38
|
+
/** Props a esparcir en el contenedor: `<div {...containerProps}>`. */
|
|
39
|
+
export declare const containerProps: {
|
|
40
|
+
readonly "data-aura-container": "true";
|
|
41
|
+
};
|
|
42
|
+
/** `true` si el elemento es un control de cierre (o está dentro de uno). */
|
|
43
|
+
export declare const isDismissControl: (element: Element | null | undefined) => boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Predicado listo para `popoverProps.shouldCloseOnInteractOutside` de un
|
|
46
|
+
* componente con popover no-modal.
|
|
47
|
+
*
|
|
48
|
+
* Devuelve `false` —no es interacción externa— en tres casos:
|
|
49
|
+
*
|
|
50
|
+
* 1. Dentro del propio componente: el popover vive en un portal, así que el
|
|
51
|
+
* campo de búsqueda queda fuera de él y una pulsación sobre el texto se
|
|
52
|
+
* contaba como externa.
|
|
53
|
+
* 2. Sobre un control de cierre del contenedor.
|
|
54
|
+
* 3. Dentro del mismo diálogo/contenedor que el componente: seguir rellenando
|
|
55
|
+
* el formulario no es descartar el desplegable.
|
|
56
|
+
*
|
|
57
|
+
* @param element Elemento donde ha empezado la interacción.
|
|
58
|
+
* @param root Raíz del componente.
|
|
59
|
+
*/
|
|
60
|
+
export declare const shouldClosePopoverOnInteractOutside: (element: Element, root: Element | null | undefined) => boolean;
|
|
61
|
+
//# sourceMappingURL=dismiss-control.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dismiss-control.d.ts","sourceRoot":"","sources":["../../../src/utils/dismiss-control.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH;;;GAGG;AACH,eAAO,MAAM,yBAAyB,sBAAsB,CAAC;AAE7D,uFAAuF;AACvF,eAAO,MAAM,mBAAmB;;CAEtB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD,sEAAsE;AACtE,eAAO,MAAM,cAAc;;CAEjB,CAAC;AAsBX,4EAA4E;AAC5E,eAAO,MAAM,gBAAgB,GAC5B,SAAS,OAAO,GAAG,IAAI,GAAG,SAAS,KACjC,OAA6D,CAAC;AAEjE;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,mCAAmC,GAC/C,SAAS,OAAO,EAChB,MAAM,OAAO,GAAG,IAAI,GAAG,SAAS,KAC9B,OAaF,CAAC"}
|