@beweco/aurora-ui 0.6.76-qa.105 → 0.6.76-qa.123
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +47 -19
- package/dist/index.esm.js +47 -19
- package/dist/types/components/drawer-filters/DrawerFilters.types.d.ts +4 -1
- package/dist/types/components/drawer-filters/DrawerFilters.types.d.ts.map +1 -1
- package/dist/types/components/drawer-filters/_internal/FilterSection.d.ts.map +1 -1
- package/dist/types/components/drawer-filters/_internal/multiselect-search.d.ts +16 -0
- package/dist/types/components/drawer-filters/_internal/multiselect-search.d.ts.map +1 -0
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -7893,6 +7893,42 @@ var RangeFilter = function (_a) {
|
|
|
7893
7893
|
}, className: "w-full", isDisabled: false, showSteps: false, showOutline: false, showTooltip: false }, sliderProps)) }), jsxRuntime.jsxs("div", { className: "flex justify-between items-center text-sm", children: [jsxRuntime.jsxs("div", { className: "flex flex-col items-start", children: [jsxRuntime.jsx("span", { className: "text-xs text-default-500", children: t.minLabel }), jsxRuntime.jsx("span", { className: "font-medium text-default-700", children: formatValue(currentValue[0]) })] }), jsxRuntime.jsxs("div", { className: "flex flex-col items-end", children: [jsxRuntime.jsx("span", { className: "text-xs text-default-500", children: t.maxLabel }), jsxRuntime.jsx("span", { className: "font-medium text-default-700", children: formatValue(currentValue[1]) })] })] })] }));
|
|
7894
7894
|
};
|
|
7895
7895
|
|
|
7896
|
+
/**
|
|
7897
|
+
* Opciones visibles en el panel del multiselect mientras se escribe en su
|
|
7898
|
+
* buscador.
|
|
7899
|
+
*
|
|
7900
|
+
* - La comparación ignora tildes y mayúsculas (`matchesSearchTerm`): teclear
|
|
7901
|
+
* "peluqueria" encuentra "Peluquería". El `includes` crudo anterior exigía
|
|
7902
|
+
* escribir la tilde, así que el panel mostraba el mensaje de sin
|
|
7903
|
+
* coincidencias con la opción delante.
|
|
7904
|
+
* - Lo ya seleccionado se mantiene aunque no case con el término (regla previa,
|
|
7905
|
+
* conservada) para no esconder al usuario lo que acaba de marcar.
|
|
7906
|
+
*/
|
|
7907
|
+
var filterMultiselectOptions = function (options, searchQuery, selectedValues) {
|
|
7908
|
+
var term = searchQuery.trim();
|
|
7909
|
+
if (!term) {
|
|
7910
|
+
return options;
|
|
7911
|
+
}
|
|
7912
|
+
return options.filter(function (option) {
|
|
7913
|
+
return selectedValues.includes(option.value) ||
|
|
7914
|
+
matchesSearchTerm([option.label, option.value], term);
|
|
7915
|
+
});
|
|
7916
|
+
};
|
|
7917
|
+
|
|
7918
|
+
// =========================================================================
|
|
7919
|
+
// SHARED HELPERS
|
|
7920
|
+
// =========================================================================
|
|
7921
|
+
var DEFAULT_SELECT_PLACEHOLDER = "Seleccionar {label}";
|
|
7922
|
+
/**
|
|
7923
|
+
* Resuelve el placeholder del disparador de un filtro `select` o `multiselect`.
|
|
7924
|
+
* Ambos comparten la clave `selectPlaceholder`, así que una sola traducción cubre
|
|
7925
|
+
* los dos. Una plantilla vacía o en blanco cuenta como ausente y cae al default:
|
|
7926
|
+
* un motor i18n que devuelve "" para una clave sin traducir dejaría el filtro mudo.
|
|
7927
|
+
*/
|
|
7928
|
+
var resolveSelectPlaceholder = function (translations, title) {
|
|
7929
|
+
var _a;
|
|
7930
|
+
return (((_a = translations === null || translations === void 0 ? void 0 : translations.selectPlaceholder) === null || _a === void 0 ? void 0 : _a.trim()) || DEFAULT_SELECT_PLACEHOLDER).replace("{label}", title.toLowerCase());
|
|
7931
|
+
};
|
|
7896
7932
|
// =========================================================================
|
|
7897
7933
|
// BASE FILTER SECTION COMPONENT
|
|
7898
7934
|
// =========================================================================
|
|
@@ -7997,7 +8033,7 @@ var FilterSection = function (_a) {
|
|
|
7997
8033
|
var renderFilterContent = function () {
|
|
7998
8034
|
switch (filter.type) {
|
|
7999
8035
|
case "select":
|
|
8000
|
-
return (jsxRuntime.jsx(SelectFilter, { filter: filter, value: value, onChange: onChange }));
|
|
8036
|
+
return (jsxRuntime.jsx(SelectFilter, { filter: filter, value: value, onChange: onChange, translations: translations }));
|
|
8001
8037
|
case "multiselect":
|
|
8002
8038
|
return (jsxRuntime.jsx(MultiSelectFilter, { filter: filter, value: value, onChange: onChange, translations: translations }));
|
|
8003
8039
|
case "range":
|
|
@@ -8027,9 +8063,10 @@ var FilterSection = function (_a) {
|
|
|
8027
8063
|
// SELECT FILTER
|
|
8028
8064
|
// =========================================================================
|
|
8029
8065
|
var SelectFilter = function (_a) {
|
|
8030
|
-
var filter = _a.filter, value = _a.value, onChange = _a.onChange;
|
|
8066
|
+
var filter = _a.filter, value = _a.value, onChange = _a.onChange, translations = _a.translations;
|
|
8031
8067
|
var currentValue = (value === null || value === void 0 ? void 0 : value.value) || "";
|
|
8032
|
-
|
|
8068
|
+
var triggerPlaceholder = resolveSelectPlaceholder(translations, filter.title);
|
|
8069
|
+
return (jsxRuntime.jsx(Select, { placeholder: triggerPlaceholder, selectedKeys: currentValue ? [currentValue] : [], onSelectionChange: function (keys) {
|
|
8033
8070
|
var selectedKey = Array.from(keys)[0];
|
|
8034
8071
|
onChange({ value: selectedKey || "" });
|
|
8035
8072
|
}, className: "w-full", children: filter.data.map(function (item) { return (jsxRuntime.jsx(react.SelectItem, { children: item.label }, item.value)); }) }));
|
|
@@ -8038,32 +8075,23 @@ var SelectFilter = function (_a) {
|
|
|
8038
8075
|
// MULTISELECT FILTER
|
|
8039
8076
|
// =========================================================================
|
|
8040
8077
|
var MultiSelectFilter = function (_a) {
|
|
8041
|
-
var _b, _c, _d, _e
|
|
8078
|
+
var _b, _c, _d, _e;
|
|
8042
8079
|
var filter = _a.filter, value = _a.value, onChange = _a.onChange, translations = _a.translations;
|
|
8043
8080
|
var triggerRef = React.useRef(null);
|
|
8044
|
-
var
|
|
8045
|
-
var
|
|
8046
|
-
var
|
|
8081
|
+
var _f = React.useState(null), triggerWidthPx = _f[0], setTriggerWidthPx = _f[1];
|
|
8082
|
+
var _g = React.useState(false), isOpen = _g[0], setIsOpen = _g[1];
|
|
8083
|
+
var _h = React.useState(""), searchQuery = _h[0], setSearchQuery = _h[1];
|
|
8047
8084
|
var currentValues = (value === null || value === void 0 ? void 0 : value.values) || [];
|
|
8048
8085
|
var searchable = filter.searchable === true;
|
|
8049
8086
|
var searchPlaceholder = (_b = translations === null || translations === void 0 ? void 0 : translations.multiselectSearchPlaceholder) !== null && _b !== void 0 ? _b : "Buscar opciones...";
|
|
8050
8087
|
var moreLabelTemplate = (_c = translations === null || translations === void 0 ? void 0 : translations.multiselectMoreLabel) !== null && _c !== void 0 ? _c : "+{more} más";
|
|
8051
8088
|
var noResultsText = (_d = translations === null || translations === void 0 ? void 0 : translations.multiselectNoResults) !== null && _d !== void 0 ? _d : "Sin coincidencias";
|
|
8052
|
-
var
|
|
8053
|
-
var triggerPlaceholder = selectPlaceholderTemplate.replace("{label}", filter.title.toLowerCase());
|
|
8089
|
+
var triggerPlaceholder = resolveSelectPlaceholder(translations, filter.title);
|
|
8054
8090
|
var filteredData = React.useMemo(function () {
|
|
8055
8091
|
if (!searchable) {
|
|
8056
8092
|
return filter.data;
|
|
8057
8093
|
}
|
|
8058
|
-
|
|
8059
|
-
if (!q) {
|
|
8060
|
-
return filter.data;
|
|
8061
|
-
}
|
|
8062
|
-
return filter.data.filter(function (item) {
|
|
8063
|
-
return currentValues.includes(item.value) ||
|
|
8064
|
-
item.label.toLowerCase().includes(q) ||
|
|
8065
|
-
item.value.toLowerCase().includes(q);
|
|
8066
|
-
});
|
|
8094
|
+
return filterMultiselectOptions(filter.data, searchQuery, currentValues);
|
|
8067
8095
|
}, [filter.data, searchQuery, currentValues, searchable]);
|
|
8068
8096
|
var syncPopoverWidthToTrigger = React.useCallback(function () {
|
|
8069
8097
|
var _a;
|
|
@@ -8105,7 +8133,7 @@ var MultiSelectFilter = function (_a) {
|
|
|
8105
8133
|
}
|
|
8106
8134
|
onChange({ values: Array.from(keys) });
|
|
8107
8135
|
}, [filteredData, onChange]);
|
|
8108
|
-
var maxVisibleChips = Math.min(Math.max((
|
|
8136
|
+
var maxVisibleChips = Math.min(Math.max((_e = filter.maxVisibleChips) !== null && _e !== void 0 ? _e : 5, 1), 24);
|
|
8109
8137
|
var triggerSelection = React.useMemo(function () {
|
|
8110
8138
|
if (currentValues.length === 0) {
|
|
8111
8139
|
return { visible: [], overflow: 0 };
|
package/dist/index.esm.js
CHANGED
|
@@ -7894,6 +7894,42 @@ var RangeFilter = function (_a) {
|
|
|
7894
7894
|
}, className: "w-full", isDisabled: false, showSteps: false, showOutline: false, showTooltip: false }, sliderProps)) }), jsxs("div", { className: "flex justify-between items-center text-sm", children: [jsxs("div", { className: "flex flex-col items-start", children: [jsx("span", { className: "text-xs text-default-500", children: t.minLabel }), jsx("span", { className: "font-medium text-default-700", children: formatValue(currentValue[0]) })] }), jsxs("div", { className: "flex flex-col items-end", children: [jsx("span", { className: "text-xs text-default-500", children: t.maxLabel }), jsx("span", { className: "font-medium text-default-700", children: formatValue(currentValue[1]) })] })] })] }));
|
|
7895
7895
|
};
|
|
7896
7896
|
|
|
7897
|
+
/**
|
|
7898
|
+
* Opciones visibles en el panel del multiselect mientras se escribe en su
|
|
7899
|
+
* buscador.
|
|
7900
|
+
*
|
|
7901
|
+
* - La comparación ignora tildes y mayúsculas (`matchesSearchTerm`): teclear
|
|
7902
|
+
* "peluqueria" encuentra "Peluquería". El `includes` crudo anterior exigía
|
|
7903
|
+
* escribir la tilde, así que el panel mostraba el mensaje de sin
|
|
7904
|
+
* coincidencias con la opción delante.
|
|
7905
|
+
* - Lo ya seleccionado se mantiene aunque no case con el término (regla previa,
|
|
7906
|
+
* conservada) para no esconder al usuario lo que acaba de marcar.
|
|
7907
|
+
*/
|
|
7908
|
+
var filterMultiselectOptions = function (options, searchQuery, selectedValues) {
|
|
7909
|
+
var term = searchQuery.trim();
|
|
7910
|
+
if (!term) {
|
|
7911
|
+
return options;
|
|
7912
|
+
}
|
|
7913
|
+
return options.filter(function (option) {
|
|
7914
|
+
return selectedValues.includes(option.value) ||
|
|
7915
|
+
matchesSearchTerm([option.label, option.value], term);
|
|
7916
|
+
});
|
|
7917
|
+
};
|
|
7918
|
+
|
|
7919
|
+
// =========================================================================
|
|
7920
|
+
// SHARED HELPERS
|
|
7921
|
+
// =========================================================================
|
|
7922
|
+
var DEFAULT_SELECT_PLACEHOLDER = "Seleccionar {label}";
|
|
7923
|
+
/**
|
|
7924
|
+
* Resuelve el placeholder del disparador de un filtro `select` o `multiselect`.
|
|
7925
|
+
* Ambos comparten la clave `selectPlaceholder`, así que una sola traducción cubre
|
|
7926
|
+
* los dos. Una plantilla vacía o en blanco cuenta como ausente y cae al default:
|
|
7927
|
+
* un motor i18n que devuelve "" para una clave sin traducir dejaría el filtro mudo.
|
|
7928
|
+
*/
|
|
7929
|
+
var resolveSelectPlaceholder = function (translations, title) {
|
|
7930
|
+
var _a;
|
|
7931
|
+
return (((_a = translations === null || translations === void 0 ? void 0 : translations.selectPlaceholder) === null || _a === void 0 ? void 0 : _a.trim()) || DEFAULT_SELECT_PLACEHOLDER).replace("{label}", title.toLowerCase());
|
|
7932
|
+
};
|
|
7897
7933
|
// =========================================================================
|
|
7898
7934
|
// BASE FILTER SECTION COMPONENT
|
|
7899
7935
|
// =========================================================================
|
|
@@ -7998,7 +8034,7 @@ var FilterSection = function (_a) {
|
|
|
7998
8034
|
var renderFilterContent = function () {
|
|
7999
8035
|
switch (filter.type) {
|
|
8000
8036
|
case "select":
|
|
8001
|
-
return (jsx(SelectFilter, { filter: filter, value: value, onChange: onChange }));
|
|
8037
|
+
return (jsx(SelectFilter, { filter: filter, value: value, onChange: onChange, translations: translations }));
|
|
8002
8038
|
case "multiselect":
|
|
8003
8039
|
return (jsx(MultiSelectFilter, { filter: filter, value: value, onChange: onChange, translations: translations }));
|
|
8004
8040
|
case "range":
|
|
@@ -8028,9 +8064,10 @@ var FilterSection = function (_a) {
|
|
|
8028
8064
|
// SELECT FILTER
|
|
8029
8065
|
// =========================================================================
|
|
8030
8066
|
var SelectFilter = function (_a) {
|
|
8031
|
-
var filter = _a.filter, value = _a.value, onChange = _a.onChange;
|
|
8067
|
+
var filter = _a.filter, value = _a.value, onChange = _a.onChange, translations = _a.translations;
|
|
8032
8068
|
var currentValue = (value === null || value === void 0 ? void 0 : value.value) || "";
|
|
8033
|
-
|
|
8069
|
+
var triggerPlaceholder = resolveSelectPlaceholder(translations, filter.title);
|
|
8070
|
+
return (jsx(Select, { placeholder: triggerPlaceholder, selectedKeys: currentValue ? [currentValue] : [], onSelectionChange: function (keys) {
|
|
8034
8071
|
var selectedKey = Array.from(keys)[0];
|
|
8035
8072
|
onChange({ value: selectedKey || "" });
|
|
8036
8073
|
}, className: "w-full", children: filter.data.map(function (item) { return (jsx(SelectItem, { children: item.label }, item.value)); }) }));
|
|
@@ -8039,32 +8076,23 @@ var SelectFilter = function (_a) {
|
|
|
8039
8076
|
// MULTISELECT FILTER
|
|
8040
8077
|
// =========================================================================
|
|
8041
8078
|
var MultiSelectFilter = function (_a) {
|
|
8042
|
-
var _b, _c, _d, _e
|
|
8079
|
+
var _b, _c, _d, _e;
|
|
8043
8080
|
var filter = _a.filter, value = _a.value, onChange = _a.onChange, translations = _a.translations;
|
|
8044
8081
|
var triggerRef = useRef(null);
|
|
8045
|
-
var
|
|
8046
|
-
var
|
|
8047
|
-
var
|
|
8082
|
+
var _f = useState(null), triggerWidthPx = _f[0], setTriggerWidthPx = _f[1];
|
|
8083
|
+
var _g = useState(false), isOpen = _g[0], setIsOpen = _g[1];
|
|
8084
|
+
var _h = useState(""), searchQuery = _h[0], setSearchQuery = _h[1];
|
|
8048
8085
|
var currentValues = (value === null || value === void 0 ? void 0 : value.values) || [];
|
|
8049
8086
|
var searchable = filter.searchable === true;
|
|
8050
8087
|
var searchPlaceholder = (_b = translations === null || translations === void 0 ? void 0 : translations.multiselectSearchPlaceholder) !== null && _b !== void 0 ? _b : "Buscar opciones...";
|
|
8051
8088
|
var moreLabelTemplate = (_c = translations === null || translations === void 0 ? void 0 : translations.multiselectMoreLabel) !== null && _c !== void 0 ? _c : "+{more} más";
|
|
8052
8089
|
var noResultsText = (_d = translations === null || translations === void 0 ? void 0 : translations.multiselectNoResults) !== null && _d !== void 0 ? _d : "Sin coincidencias";
|
|
8053
|
-
var
|
|
8054
|
-
var triggerPlaceholder = selectPlaceholderTemplate.replace("{label}", filter.title.toLowerCase());
|
|
8090
|
+
var triggerPlaceholder = resolveSelectPlaceholder(translations, filter.title);
|
|
8055
8091
|
var filteredData = useMemo(function () {
|
|
8056
8092
|
if (!searchable) {
|
|
8057
8093
|
return filter.data;
|
|
8058
8094
|
}
|
|
8059
|
-
|
|
8060
|
-
if (!q) {
|
|
8061
|
-
return filter.data;
|
|
8062
|
-
}
|
|
8063
|
-
return filter.data.filter(function (item) {
|
|
8064
|
-
return currentValues.includes(item.value) ||
|
|
8065
|
-
item.label.toLowerCase().includes(q) ||
|
|
8066
|
-
item.value.toLowerCase().includes(q);
|
|
8067
|
-
});
|
|
8095
|
+
return filterMultiselectOptions(filter.data, searchQuery, currentValues);
|
|
8068
8096
|
}, [filter.data, searchQuery, currentValues, searchable]);
|
|
8069
8097
|
var syncPopoverWidthToTrigger = useCallback(function () {
|
|
8070
8098
|
var _a;
|
|
@@ -8106,7 +8134,7 @@ var MultiSelectFilter = function (_a) {
|
|
|
8106
8134
|
}
|
|
8107
8135
|
onChange({ values: Array.from(keys) });
|
|
8108
8136
|
}, [filteredData, onChange]);
|
|
8109
|
-
var maxVisibleChips = Math.min(Math.max((
|
|
8137
|
+
var maxVisibleChips = Math.min(Math.max((_e = filter.maxVisibleChips) !== null && _e !== void 0 ? _e : 5, 1), 24);
|
|
8110
8138
|
var triggerSelection = useMemo(function () {
|
|
8111
8139
|
if (currentValues.length === 0) {
|
|
8112
8140
|
return { visible: [], overflow: 0 };
|
|
@@ -100,8 +100,11 @@ export type DrawerFiltersTranslations = {
|
|
|
100
100
|
/** Aria-label del DateRangePicker en filtros `date` con granularity `full` (default). Reenviado a `DateSelector`. */
|
|
101
101
|
selectDateRangeAriaLabel?: string;
|
|
102
102
|
/**
|
|
103
|
-
* Placeholder del disparador en filtros `multiselect`. Debe incluir `{label}` = título del filtro en minúsculas.
|
|
103
|
+
* Placeholder del disparador en filtros `select` y `multiselect`. Debe incluir `{label}` = título del filtro en minúsculas.
|
|
104
|
+
* Una plantilla vacía o en blanco cuenta como ausente y cae al default.
|
|
104
105
|
* Default: "Seleccionar {label}"
|
|
106
|
+
*
|
|
107
|
+
* Desde 0.6.81 se aplica también a los filtros `select`; hasta 0.6.80 solo afectaba a `multiselect`.
|
|
105
108
|
*/
|
|
106
109
|
selectPlaceholder?: string;
|
|
107
110
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawerFilters.types.d.ts","sourceRoot":"","sources":["../../../../src/components/drawer-filters/DrawerFilters.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAMzD,MAAM,MAAM,UAAU,GACnB,QAAQ,GACR,aAAa,GACb,OAAO,GACP,MAAM,GACN,MAAM,GACN,QAAQ,CAAC;AAEZ,MAAM,WAAW,cAAc;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACvD,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,KAAK,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;CACH;AAED,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC5D,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,KAAK,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACtD,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;QACtC,sFAAsF;QACtF,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC7B,CAAC;CACF;AAED,MAAM,WAAW,cAAe,SAAQ,cAAc;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAClC,IAAI,EAAE;QACL,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACF;AAED,MAAM,WAAW,cAAe,SAAQ,cAAc;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE;QACL,WAAW,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACF;AAED,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACvD,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE;QACL,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;CACF;AAED,MAAM,MAAM,UAAU,GACnB,gBAAgB,GAChB,qBAAqB,GACrB,eAAe,GACf,cAAc,GACd,cAAc,GACd,gBAAgB,CAAC;AAMpB,MAAM,MAAM,yBAAyB,GAAG;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qFAAqF;IACrF,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gEAAgE;IAChE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kGAAkG;IAClG,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mFAAmF;IACnF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,2EAA2E;IAC3E,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uHAAuH;IACvH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wHAAwH;IACxH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gHAAgH;IAChH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qHAAqH;IACrH,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC
|
|
1
|
+
{"version":3,"file":"DrawerFilters.types.d.ts","sourceRoot":"","sources":["../../../../src/components/drawer-filters/DrawerFilters.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAMzD,MAAM,MAAM,UAAU,GACnB,QAAQ,GACR,aAAa,GACb,OAAO,GACP,MAAM,GACN,MAAM,GACN,QAAQ,CAAC;AAEZ,MAAM,WAAW,cAAc;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACvD,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,KAAK,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;CACH;AAED,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC5D,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,KAAK,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACtD,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;QACtC,sFAAsF;QACtF,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC7B,CAAC;CACF;AAED,MAAM,WAAW,cAAe,SAAQ,cAAc;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAClC,IAAI,EAAE;QACL,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACF;AAED,MAAM,WAAW,cAAe,SAAQ,cAAc;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE;QACL,WAAW,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACF;AAED,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACvD,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE;QACL,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;CACF;AAED,MAAM,MAAM,UAAU,GACnB,gBAAgB,GAChB,qBAAqB,GACrB,eAAe,GACf,cAAc,GACd,cAAc,GACd,gBAAgB,CAAC;AAMpB,MAAM,MAAM,yBAAyB,GAAG;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qFAAqF;IACrF,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gEAAgE;IAChE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kGAAkG;IAClG,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mFAAmF;IACnF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,2EAA2E;IAC3E,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uHAAuH;IACvH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wHAAwH;IACxH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gHAAgH;IAChH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qHAAqH;IACrH,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAMF,MAAM,WAAW,mBAAmB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,UAAU,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IAC1D,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,yBAAyB,CAAC;IACzC,aAAa,CAAC,EAAE,YAAY,CAAC;CAC7B;AAMD,MAAM,WAAW,kBAAkB;IAClC,MAAM,EAAE,UAAU,CAAC;IACnB,YAAY,CAAC,EAAE,yBAAyB,CAAC;IACzC,KAAK,CAAC,EACH,iBAAiB,GACjB,sBAAsB,GACtB,gBAAgB,GAChB,eAAe,GACf,eAAe,GACf,iBAAiB,CAAC;IACrB,QAAQ,EAAE,CACT,KAAK,EACF,iBAAiB,GACjB,sBAAsB,GACtB,gBAAgB,GAChB,eAAe,GACf,eAAe,GACf,iBAAiB,KAChB,IAAI,CAAC;IACV,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,wBAAwB;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACxC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,yBAAyB,CAAC;CACzC;AAMD,MAAM,WAAW,YAAY;IAC5B,CAAC,GAAG,EAAE,MAAM,GACT,iBAAiB,GACjB,sBAAsB,GACtB,gBAAgB,GAChB,eAAe,GACf,eAAe,GACf,iBAAiB,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IACjC,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,sBAAsB;IACtC,MAAM,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,eAAe,CAAC;IAC/D,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE;QACV,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;KACnB,GAAG,IAAI,CAAC;IACT,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACpC,aAAa,EACV;QACA,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;KAClB,GACD,UAAU,CAAC,SAAS,CAAC,GACrB,IAAI,CAAC;CACR;AAED,MAAM,WAAW,eAAe;IAC/B,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IACjC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterSection.d.ts","sourceRoot":"","sources":["../../../../../src/components/drawer-filters/_internal/FilterSection.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,KAAK,EAIX,kBAAkB,EAWlB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"FilterSection.d.ts","sourceRoot":"","sources":["../../../../../src/components/drawer-filters/_internal/FilterSection.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,KAAK,EAIX,kBAAkB,EAWlB,MAAM,wBAAwB,CAAC;AA4BhC,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAyOtD,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { MultiSelectFilterData } from "../DrawerFilters.types";
|
|
2
|
+
type MultiSelectOption = MultiSelectFilterData["data"][number];
|
|
3
|
+
/**
|
|
4
|
+
* Opciones visibles en el panel del multiselect mientras se escribe en su
|
|
5
|
+
* buscador.
|
|
6
|
+
*
|
|
7
|
+
* - La comparación ignora tildes y mayúsculas (`matchesSearchTerm`): teclear
|
|
8
|
+
* "peluqueria" encuentra "Peluquería". El `includes` crudo anterior exigía
|
|
9
|
+
* escribir la tilde, así que el panel mostraba el mensaje de sin
|
|
10
|
+
* coincidencias con la opción delante.
|
|
11
|
+
* - Lo ya seleccionado se mantiene aunque no case con el término (regla previa,
|
|
12
|
+
* conservada) para no esconder al usuario lo que acaba de marcar.
|
|
13
|
+
*/
|
|
14
|
+
export declare const filterMultiselectOptions: (options: MultiSelectOption[], searchQuery: string, selectedValues: string[]) => MultiSelectOption[];
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=multiselect-search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multiselect-search.d.ts","sourceRoot":"","sources":["../../../../../src/components/drawer-filters/_internal/multiselect-search.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAEpE,KAAK,iBAAiB,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,GACpC,SAAS,iBAAiB,EAAE,EAC5B,aAAa,MAAM,EACnB,gBAAgB,MAAM,EAAE,KACtB,iBAAiB,EAUnB,CAAC"}
|