@xsmusices/ui 1.44.15 → 1.44.18
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/fesm2022/{xsmusices-ui-xs-filter-panel.xsstory-DbvxGppo.mjs → xsmusices-ui-xs-filter-panel.xsstory-D0LDYd4E.mjs} +35 -2
- package/fesm2022/xsmusices-ui-xs-filter-panel.xsstory-D0LDYd4E.mjs.map +1 -0
- package/fesm2022/xsmusices-ui.mjs +20 -6
- package/fesm2022/xsmusices-ui.mjs.map +1 -1
- package/index.d.ts +27 -18
- package/package.json +1 -1
- package/fesm2022/xsmusices-ui-xs-filter-panel.xsstory-DbvxGppo.mjs.map +0 -1
package/index.d.ts
CHANGED
|
@@ -121,7 +121,7 @@ interface XSItemData {
|
|
|
121
121
|
|
|
122
122
|
declare class XSItemActionComponent {
|
|
123
123
|
item: _angular_core.InputSignal<XSItemData>;
|
|
124
|
-
size: _angular_core.InputSignal<"
|
|
124
|
+
size: _angular_core.InputSignal<"small" | "normal" | "profile">;
|
|
125
125
|
isLink: _angular_core.InputSignal<boolean>;
|
|
126
126
|
showBorder: _angular_core.InputSignal<boolean>;
|
|
127
127
|
rounded: _angular_core.InputSignal<boolean>;
|
|
@@ -328,7 +328,7 @@ interface XSItemsSliderTexts {
|
|
|
328
328
|
declare class XSItemsSliderTitleButtonsComponent {
|
|
329
329
|
label: _angular_core.InputSignal<string | undefined>;
|
|
330
330
|
titleId: _angular_core.InputSignal<string | undefined>;
|
|
331
|
-
type: _angular_core.InputSignal<"artist" | "equipment" | "media" | "organization" | "site" | "tip" | "
|
|
331
|
+
type: _angular_core.InputSignal<"artist" | "event" | "equipment" | "media" | "organization" | "site" | "tip" | "setup">;
|
|
332
332
|
hasSortButton: _angular_core.InputSignal<boolean>;
|
|
333
333
|
items: _angular_core.InputSignal<any[]>;
|
|
334
334
|
manage: _angular_core.InputSignal<boolean>;
|
|
@@ -388,7 +388,7 @@ interface CommentI {
|
|
|
388
388
|
|
|
389
389
|
declare class XSItemsSliderComponent implements AfterViewInit, OnDestroy, OnInit {
|
|
390
390
|
scrollContainer: _angular_core.Signal<ElementRef<HTMLDivElement> | undefined>;
|
|
391
|
-
type: _angular_core.InputSignal<"artist" | "equipment" | "media" | "organization" | "site" | "tip" | "
|
|
391
|
+
type: _angular_core.InputSignal<"artist" | "event" | "equipment" | "media" | "organization" | "site" | "tip" | "setup">;
|
|
392
392
|
label: _angular_core.InputSignal<string | undefined>;
|
|
393
393
|
items: _angular_core.InputSignal<XSItemData[]>;
|
|
394
394
|
typeFrom: _angular_core.InputSignal<XSItemData | undefined>;
|
|
@@ -1154,12 +1154,21 @@ type ExternalTranslateService = {
|
|
|
1154
1154
|
declare class XSFilterPanelComponent implements OnInit {
|
|
1155
1155
|
scrollContainer: _angular_core.Signal<ElementRef<any> | undefined>;
|
|
1156
1156
|
show: _angular_core.ModelSignal<boolean>;
|
|
1157
|
+
/**
|
|
1158
|
+
* Modo embebido (Fase 1 App): el panel se presenta como contenido dentro
|
|
1159
|
+
* de un XSModal y NO pinta su propio overlay, hoja, cabecera ni gestiona
|
|
1160
|
+
* Escape/foco (lo hace el modal anfitrión). La lógica de grupos, tipos de
|
|
1161
|
+
* filtro y eventos se conserva intacta. Por defecto false: comportamiento
|
|
1162
|
+
* histórico sin cambios.
|
|
1163
|
+
*/
|
|
1164
|
+
embedded: _angular_core.InputSignal<boolean>;
|
|
1157
1165
|
externalTranslateService: _angular_core.InputSignal<ExternalTranslateService | undefined>;
|
|
1158
1166
|
_demoItems: _angular_core.WritableSignal<XSFilterGroup[]>;
|
|
1159
1167
|
_data: _angular_core.WritableSignal<XSFilterGroup[]>;
|
|
1160
1168
|
demoItems: _angular_core.InputSignal<XSFilterGroup[]>;
|
|
1161
1169
|
data: _angular_core.InputSignal<XSFilterGroup[]>;
|
|
1162
1170
|
activeFiltersCount: _angular_core.InputSignal<number>;
|
|
1171
|
+
layout: _angular_core.InputSignal<"bottom-sheet" | "side-panel">;
|
|
1163
1172
|
panelClose: _angular_core.OutputEmitterRef<void>;
|
|
1164
1173
|
applied: _angular_core.OutputEmitterRef<void>;
|
|
1165
1174
|
filterChange: _angular_core.OutputEmitterRef<XSFilterChangeEvent>;
|
|
@@ -1209,7 +1218,7 @@ declare class XSFilterPanelComponent implements OnInit {
|
|
|
1209
1218
|
handleClose(): void;
|
|
1210
1219
|
handleApply(): void;
|
|
1211
1220
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XSFilterPanelComponent, never>;
|
|
1212
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<XSFilterPanelComponent, "xs-filter-panel", never, { "show": { "alias": "show"; "required": false; "isSignal": true; }; "externalTranslateService": { "alias": "externalTranslateService"; "required": false; "isSignal": true; }; "demoItems": { "alias": "demoItems"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "activeFiltersCount": { "alias": "activeFiltersCount"; "required": false; "isSignal": true; }; }, { "show": "showChange"; "panelClose": "panelClose"; "applied": "applied"; "filterChange": "filterChange"; "clear": "clear"; }, never, never, true, never>;
|
|
1221
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<XSFilterPanelComponent, "xs-filter-panel", never, { "show": { "alias": "show"; "required": false; "isSignal": true; }; "embedded": { "alias": "embedded"; "required": false; "isSignal": true; }; "externalTranslateService": { "alias": "externalTranslateService"; "required": false; "isSignal": true; }; "demoItems": { "alias": "demoItems"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "activeFiltersCount": { "alias": "activeFiltersCount"; "required": false; "isSignal": true; }; "layout": { "alias": "layout"; "required": false; "isSignal": true; }; }, { "show": "showChange"; "panelClose": "panelClose"; "applied": "applied"; "filterChange": "filterChange"; "clear": "clear"; }, never, never, true, never>;
|
|
1213
1222
|
}
|
|
1214
1223
|
|
|
1215
1224
|
declare class XSSectionTitleComponent {
|
|
@@ -2041,7 +2050,7 @@ declare class XSButtonGroupService {
|
|
|
2041
2050
|
declare class XSIconComponent {
|
|
2042
2051
|
private library;
|
|
2043
2052
|
icon: _angular_core.InputSignal<string | string[] | [IconPrefix, IconName] | _fortawesome_fontawesome_common_types.IconLookup>;
|
|
2044
|
-
size: _angular_core.InputSignal<"
|
|
2053
|
+
size: _angular_core.InputSignal<"sm" | "normal" | "xs" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | "6xl" | "7xl">;
|
|
2045
2054
|
class: _angular_core.InputSignal<string>;
|
|
2046
2055
|
resolvedIcon: _angular_core.Signal<IconProp | IconDefinition>;
|
|
2047
2056
|
isValidIcon: _angular_core.Signal<boolean>;
|
|
@@ -2308,7 +2317,7 @@ declare class XSImageComponent {
|
|
|
2308
2317
|
clickable: _angular_core.InputSignal<boolean | undefined>;
|
|
2309
2318
|
item: _angular_core.InputSignal<XSImageItem | null | undefined>;
|
|
2310
2319
|
typeItem: _angular_core.InputSignal<string | undefined>;
|
|
2311
|
-
imageType: _angular_core.InputSignal<"
|
|
2320
|
+
imageType: _angular_core.InputSignal<"small" | "normal" | undefined>;
|
|
2312
2321
|
fallbackSrc: _angular_core.InputSignal<string | undefined>;
|
|
2313
2322
|
loading: _angular_core.InputSignal<"lazy" | "eager" | undefined>;
|
|
2314
2323
|
priority: _angular_core.InputSignal<boolean | undefined>;
|
|
@@ -3199,10 +3208,10 @@ declare class XSListComponent {
|
|
|
3199
3208
|
label: _angular_core.InputSignal<string | undefined>;
|
|
3200
3209
|
loadingAll: _angular_core.InputSignal<boolean>;
|
|
3201
3210
|
initialLoading: _angular_core.InputSignal<boolean>;
|
|
3202
|
-
columns: _angular_core.InputSignal<
|
|
3211
|
+
columns: _angular_core.InputSignal<3 | 1 | 2>;
|
|
3203
3212
|
isLink: _angular_core.InputSignal<boolean>;
|
|
3204
|
-
size: _angular_core.InputSignal<"
|
|
3205
|
-
hasScroll: _angular_core.InputSignal<boolean | "
|
|
3213
|
+
size: _angular_core.InputSignal<"small" | "normal" | "profile">;
|
|
3214
|
+
hasScroll: _angular_core.InputSignal<boolean | "lg" | "xl" | "mobile">;
|
|
3206
3215
|
class: _angular_core.InputSignal<string | undefined>;
|
|
3207
3216
|
rounded: _angular_core.InputSignal<boolean>;
|
|
3208
3217
|
showChevron: _angular_core.InputSignal<boolean>;
|
|
@@ -4706,7 +4715,7 @@ declare class XSProfileExclusiveComponent {
|
|
|
4706
4715
|
exclusive?: boolean;
|
|
4707
4716
|
}>;
|
|
4708
4717
|
readonly type: _angular_core.InputSignal<"artist" | "media">;
|
|
4709
|
-
readonly subType: _angular_core.InputSignal<"
|
|
4718
|
+
readonly subType: _angular_core.InputSignal<"track" | "set" | "podcast" | "radioshow" | undefined>;
|
|
4710
4719
|
readonly message: _angular_core.InputSignal<string>;
|
|
4711
4720
|
readonly link: _angular_core.InputSignal<boolean>;
|
|
4712
4721
|
urlLogo: string;
|
|
@@ -4796,8 +4805,8 @@ interface ProfileImageItem {
|
|
|
4796
4805
|
|
|
4797
4806
|
declare class XSProfileImageComponent implements OnInit {
|
|
4798
4807
|
readonly item: _angular_core.InputSignal<ProfileImageItem>;
|
|
4799
|
-
readonly type: _angular_core.InputSignal<"artist" | "
|
|
4800
|
-
readonly subType: _angular_core.InputSignal<"
|
|
4808
|
+
readonly type: _angular_core.InputSignal<"artist" | "event" | "equipment" | "media" | "organization" | "site">;
|
|
4809
|
+
readonly subType: _angular_core.InputSignal<"label" | "track" | "set" | "club" | "festival" | "podcast" | "radioshow" | "promoter" | "collective" | "radio" | "medio" | undefined>;
|
|
4801
4810
|
readonly totalDays: _angular_core.InputSignal<number | undefined>;
|
|
4802
4811
|
readonly heightImage: _angular_core.InputSignal<number>;
|
|
4803
4812
|
readonly viewTransitionName: _angular_core.InputSignal<string | undefined>;
|
|
@@ -4887,7 +4896,7 @@ declare class XSProfileRandomFlagComponent {
|
|
|
4887
4896
|
}
|
|
4888
4897
|
|
|
4889
4898
|
declare class XSProfileSkeletonComponent {
|
|
4890
|
-
readonly type: _angular_core.InputSignal<"artist" | "equipment" | "media" | "organization" | "site" | "tip"
|
|
4899
|
+
readonly type: _angular_core.InputSignal<"artist" | "event" | "equipment" | "media" | "organization" | "site" | "tip">;
|
|
4891
4900
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XSProfileSkeletonComponent, never>;
|
|
4892
4901
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<XSProfileSkeletonComponent, "xs-profile-skeleton", never, { "type": { "alias": "type"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4893
4902
|
}
|
|
@@ -5028,7 +5037,7 @@ declare class XSSendScraperComponent implements OnInit {
|
|
|
5028
5037
|
protected stepLabels: _angular_core.Signal<string[]>;
|
|
5029
5038
|
protected showSourceSelection: _angular_core.Signal<boolean>;
|
|
5030
5039
|
protected canSearch: _angular_core.Signal<boolean>;
|
|
5031
|
-
protected primaryVariant: _angular_core.Signal<"
|
|
5040
|
+
protected primaryVariant: _angular_core.Signal<"youtube" | "soundcloud">;
|
|
5032
5041
|
protected activeFormFields: _angular_core.Signal<FormlyFieldConfig<_ngx_formly_core.FormlyFieldProps & {
|
|
5033
5042
|
[additionalProperties: string]: any;
|
|
5034
5043
|
}>[]>;
|
|
@@ -5513,7 +5522,7 @@ declare class XSTableItemsComponent<TType extends string = XSTableHeaderType, TI
|
|
|
5513
5522
|
getRemainingPercentage(item: TItem): number;
|
|
5514
5523
|
getUrlStatsPage: (item: TItem) => string;
|
|
5515
5524
|
getNameOrCategoryEvent(event: string, type: 'name' | 'category' | 'value'): string | null;
|
|
5516
|
-
getSubStatePromotion(item: TItem): "
|
|
5525
|
+
getSubStatePromotion(item: TItem): "schedule" | "finished" | "inProgress";
|
|
5517
5526
|
getColorForType(type: string): string;
|
|
5518
5527
|
getColorForStyle(style: TItem): string;
|
|
5519
5528
|
getLevelName: (item: TItem) => string | undefined;
|
|
@@ -5635,7 +5644,7 @@ declare class XSItemTypeComponent {
|
|
|
5635
5644
|
itemType: _angular_core.InputSignal<XSGenericItemType>;
|
|
5636
5645
|
isLink: _angular_core.InputSignal<boolean>;
|
|
5637
5646
|
showChevron: _angular_core.InputSignal<boolean>;
|
|
5638
|
-
size: _angular_core.InputSignal<"
|
|
5647
|
+
size: _angular_core.InputSignal<"small" | "normal" | "profile">;
|
|
5639
5648
|
rounded: _angular_core.InputSignal<boolean>;
|
|
5640
5649
|
loading: _angular_core.InputSignal<boolean>;
|
|
5641
5650
|
readonly onClick: _angular_core.OutputEmitterRef<XSItemData>;
|
|
@@ -5647,7 +5656,7 @@ declare abstract class XSItemTypeBaseComponent {
|
|
|
5647
5656
|
item: _angular_core.InputSignal<XSItemData>;
|
|
5648
5657
|
isLink: _angular_core.InputSignal<boolean>;
|
|
5649
5658
|
showChevron: _angular_core.InputSignal<boolean>;
|
|
5650
|
-
size: _angular_core.InputSignal<"
|
|
5659
|
+
size: _angular_core.InputSignal<"small" | "normal" | "profile">;
|
|
5651
5660
|
rounded: _angular_core.InputSignal<boolean>;
|
|
5652
5661
|
loading: _angular_core.InputSignal<boolean>;
|
|
5653
5662
|
readonly onClick: _angular_core.OutputEmitterRef<XSItemData>;
|
|
@@ -5865,7 +5874,7 @@ declare class XSMapInfoBlockComponent implements OnChanges {
|
|
|
5865
5874
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<XSMapInfoBlockComponent, "xs-map-info-block", never, { "item": { "alias": "item"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "subtype": { "alias": "subtype"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "showEvents": { "alias": "showEvents"; "required": false; "isSignal": true; }; }, { "type": "typeChange"; "subtype": "subtypeChange"; "clickItem": "clickItem"; "clickEvent": "clickEvent"; "closeClick": "closeClick"; }, never, ["[custom-info]", "*"], true, never>;
|
|
5866
5875
|
}
|
|
5867
5876
|
|
|
5868
|
-
declare const STANDALONE_PIPES: (typeof
|
|
5877
|
+
declare const STANDALONE_PIPES: (typeof CountryFlagPipe | typeof CountryNamePipe | typeof DateLongPipe | typeof XSDateFormatPipe | typeof ImageApiPipe | typeof SliceArrayPipe | typeof TruncateTextPipe | typeof NumberDaysPipe | typeof VisitsMonthTotalPipe | typeof RandomImagePipe | typeof TimeAgoPipe | typeof TableLinkPipe | typeof TitleMediaPipe | typeof SocialPipe | typeof IncludeEventPipe | typeof FilterArrayPipe | typeof XSFindLabelByValuePipe)[];
|
|
5869
5878
|
|
|
5870
5879
|
declare const LIB_STORIES: Array<() => Promise<any>>;
|
|
5871
5880
|
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"xsmusices-ui-xs-filter-panel.xsstory-DbvxGppo.mjs","sources":["../../../projects/xs-ui/src/lib/components/ui/filter-panel/xstory/xs-filter-panel.xsstory.ts"],"sourcesContent":["import { StoryMeta } from '../../../../story.types';\nimport { XSFilterPanelComponent } from '../xs-filter-panel.component';\n\nexport const story: StoryMeta = {\n id: 'filter-panel',\n name: 'Filter Panel',\n type: 'component',\n subtype: 'Base',\n status: 'active',\n usage: ['admin', 'app', 'monitor'],\n multilanguage: true,\n updated: '2026-04-11T12:00:00.000Z',\n created: '2026-04-03T10:00:00.000Z',\n description:\n 'Panel de filtros avanzado que emerge desde la parte inferior. Soporta múltiples tipos de filtros: selección única, selección múltiple, booleanos, rangos numéricos, rangos de fechas y búsqueda selectiva. Permite organizar filtros por grupos (acordeones) con selección única y buscador contextual interno para cada grupo. Incluye lógica de \"Hecho\" para cerrar y \"Limpiar\" para resetear selecciones específicas. Optimizado para dispositivos móviles con scroll independiente y cabeceras sticky.',\n component: XSFilterPanelComponent,\n selector: 'xs-filter-panel',\n inputs: [\n {\n key: 'demoItems',\n label: 'Demo Items',\n type: 'json',\n default: [],\n },\n ],\n examples: [\n {\n name: 'Filtros de Clasificación',\n description:\n 'Ejemplo clásico de filtros para una aplicación de catálogo o marketplace.',\n inputs: {\n demoItems: [\n {\n id: 'country',\n title: 'Ubicación',\n selectedId: 'es',\n options: [\n { id: 'es', label: 'España' },\n { id: 'fr', label: 'Francia' },\n { id: 'it', label: 'Italia' },\n { id: 'pt', label: 'Portugal' },\n { id: 'de', label: 'Alemania' },\n { id: 'uk', label: 'Reino Unido' },\n ],\n },\n {\n id: 'category',\n title: 'Estilo Artístico',\n options: [\n { id: 'modern', label: 'Moderno' },\n { id: 'classic', label: 'Clásico' },\n { id: 'minimalist', label: 'Minimalista' },\n { id: 'industrial', label: 'Industrial' },\n { id: 'vintage', label: 'Vintage' },\n ],\n },\n {\n id: 'price-range',\n title: 'Rango de Precio',\n options: [\n { id: 'low', label: 'Económico' },\n { id: 'mid', label: 'Intermedio' },\n { id: 'high', label: 'Premium' },\n { id: 'luxury', label: 'Lujo' },\n ],\n },\n ],\n },\n },\n {\n name: 'Preferencias de Usuario',\n description:\n 'Uso del panel para configurar preferencias rápidas de la interfaz.',\n inputs: {\n demoItems: [\n {\n id: 'language',\n title: 'Idioma de la interfaz',\n selectedId: 'es-ES',\n options: [\n { id: 'es-ES', label: 'Español (España)' },\n { id: 'en-US', label: 'English (US)' },\n { id: 'fr-FR', label: 'Français' },\n { id: 'de-DE', label: 'Deutsch' },\n { id: 'jp-JP', label: '日本語' },\n ],\n },\n {\n id: 'theme',\n title: 'Tema Visual',\n selectedId: 'dark',\n options: [\n { id: 'light', label: 'Modo Claro' },\n { id: 'dark', label: 'Modo Oscuro' },\n { id: 'system', label: 'Sincronizar con Sistema' },\n ],\n },\n ],\n },\n },\n {\n name: 'Rango de Fechas',\n description:\n 'Ejemplo de filtro por rango de fechas para eventos o reservas.',\n inputs: {\n demoItems: [\n {\n id: 'date-range',\n title: 'Rango de Fechas',\n type: 'dateRange',\n dateFrom: '2026-04-01',\n dateTo: '2026-04-30',\n },\n {\n id: 'country',\n title: 'País',\n selectedId: 'es',\n options: [\n { id: 'es', label: 'España' },\n { id: 'mx', label: 'México' },\n { id: 'ar', label: 'Argentina' },\n ],\n },\n ],\n },\n },\n {\n name: 'Selección Múltiple',\n description:\n 'Ejemplo de filtro con selección múltiple para categorías.',\n inputs: {\n demoItems: [\n {\n id: 'categories',\n title: 'Categorías',\n type: 'multiSelect',\n selectedIds: ['rock', 'pop'],\n options: [\n { id: 'rock', label: 'Rock' },\n { id: 'pop', label: 'Pop' },\n { id: 'jazz', label: 'Jazz' },\n { id: 'electronic', label: 'Electrónica' },\n { id: 'classical', label: 'Clásica' },\n ],\n },\n {\n id: 'mood',\n title: 'Estado de Ánimo',\n type: 'multiSelect',\n options: [\n { id: 'energetic', label: 'Enérgico' },\n { id: 'relaxed', label: 'Relajado' },\n { id: 'melancholic', label: 'Melancólico' },\n { id: 'happy', label: 'Feliz' },\n ],\n },\n ],\n },\n },\n {\n name: 'Filtros Booleanos',\n description:\n 'Ejemplo de filtros booleanos para opciones de sí/no.',\n inputs: {\n demoItems: [\n {\n id: 'featured',\n title: 'Destacado',\n type: 'boolean',\n selectedBoolean: true,\n },\n {\n id: 'available',\n title: 'Disponible',\n type: 'boolean',\n selectedBoolean: false,\n },\n {\n id: 'premium',\n title: 'Premium',\n type: 'boolean',\n },\n ],\n },\n },\n {\n name: 'Rango Numérico',\n description:\n 'Ejemplo de filtro por rango numérico para precios o calificaciones.',\n inputs: {\n demoItems: [\n {\n id: 'price-range',\n title: 'Rango de Precio',\n type: 'range',\n minValue: 0,\n maxValue: 1000,\n selectedMin: 100,\n selectedMax: 500,\n },\n {\n id: 'rating',\n title: 'Calificación',\n type: 'range',\n minValue: 1,\n maxValue: 5,\n selectedMin: 3,\n },\n ],\n },\n },\n {\n name: 'Búsqueda Selectiva',\n description:\n 'Ejemplo de filtro con búsqueda para selección de elementos.',\n inputs: {\n demoItems: [\n {\n id: 'artist-search',\n title: 'Buscar Artista',\n type: 'searchSelect',\n searchPlaceholder:\n 'Escribe el nombre del artista...',\n selectedSearchValue: 'The Beatles',\n },\n {\n id: 'genre',\n title: 'Género',\n selectedId: 'rock',\n options: [\n { id: 'rock', label: 'Rock' },\n { id: 'pop', label: 'Pop' },\n { id: 'jazz', label: 'Jazz' },\n ],\n },\n ],\n },\n },\n {\n name: 'Filtros Combinados',\n description:\n 'Ejemplo que combina diferentes tipos de filtros para una búsqueda avanzada.',\n inputs: {\n demoItems: [\n {\n id: 'categories',\n title: 'Categorías',\n type: 'multiSelect',\n selectedIds: ['rock', 'pop'],\n options: [\n { id: 'rock', label: 'Rock' },\n { id: 'pop', label: 'Pop' },\n { id: 'jazz', label: 'Jazz' },\n { id: 'electronic', label: 'Electrónica' },\n ],\n },\n {\n id: 'price-range',\n title: 'Rango de Precio',\n type: 'range',\n minValue: 0,\n maxValue: 500,\n selectedMin: 50,\n selectedMax: 200,\n },\n {\n id: 'featured',\n title: 'Solo Destacados',\n type: 'boolean',\n selectedBoolean: true,\n },\n {\n id: 'date-range',\n title: 'Fecha de Evento',\n type: 'dateRange',\n dateFrom: '2026-05-01',\n dateTo: '2026-05-31',\n },\n {\n id: 'venue-search',\n title: 'Buscar Venue',\n type: 'searchSelect',\n searchPlaceholder: 'Nombre del lugar...',\n },\n ],\n },\n },\n ],\n coverage: {\n statements: 92,\n branches: 85,\n functions: 90,\n lines: 92,\n },\n};\n"],"names":[],"mappings":";;AAGO,MAAM,KAAK,GAAc;AAC9B,IAAA,EAAE,EAAE,cAAc;AAClB,IAAA,IAAI,EAAE,cAAc;AACpB,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC;AAClC,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,OAAO,EAAE,0BAA0B;AACnC,IAAA,OAAO,EAAE,0BAA0B;AACnC,IAAA,WAAW,EACT,4eAA4e;AAC9e,IAAA,SAAS,EAAE,sBAAsB;AACjC,IAAA,QAAQ,EAAE,iBAAiB;AAC3B,IAAA,MAAM,EAAE;AACN,QAAA;AACE,YAAA,GAAG,EAAE,WAAW;AAChB,YAAA,KAAK,EAAE,YAAY;AACnB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE,EAAE;AACZ,SAAA;AACF,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA;AACE,YAAA,IAAI,EAAE,0BAA0B;AAChC,YAAA,WAAW,EACT,2EAA2E;AAC7E,YAAA,MAAM,EAAE;AACN,gBAAA,SAAS,EAAE;AACT,oBAAA;AACE,wBAAA,EAAE,EAAE,SAAS;AACb,wBAAA,KAAK,EAAE,WAAW;AAClB,wBAAA,UAAU,EAAE,IAAI;AAChB,wBAAA,OAAO,EAAE;AACP,4BAAA,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE;AAC7B,4BAAA,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE;AAC9B,4BAAA,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE;AAC7B,4BAAA,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE;AAC/B,4BAAA,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE;AAC/B,4BAAA,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE;AACnC,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,UAAU;AACd,wBAAA,KAAK,EAAE,kBAAkB;AACzB,wBAAA,OAAO,EAAE;AACP,4BAAA,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;AAClC,4BAAA,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;AACnC,4BAAA,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE;AAC1C,4BAAA,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;AACzC,4BAAA,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;AACpC,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,aAAa;AACjB,wBAAA,KAAK,EAAE,iBAAiB;AACxB,wBAAA,OAAO,EAAE;AACP,4BAAA,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE;AACjC,4BAAA,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE;AAClC,4BAAA,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE;AAChC,4BAAA,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE;AAChC,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,yBAAyB;AAC/B,YAAA,WAAW,EACT,oEAAoE;AACtE,YAAA,MAAM,EAAE;AACN,gBAAA,SAAS,EAAE;AACT,oBAAA;AACE,wBAAA,EAAE,EAAE,UAAU;AACd,wBAAA,KAAK,EAAE,uBAAuB;AAC9B,wBAAA,UAAU,EAAE,OAAO;AACnB,wBAAA,OAAO,EAAE;AACP,4BAAA,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE;AAC1C,4BAAA,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE;AACtC,4BAAA,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE;AAClC,4BAAA,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;AACjC,4BAAA,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE;AAC9B,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,OAAO;AACX,wBAAA,KAAK,EAAE,aAAa;AACpB,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,OAAO,EAAE;AACP,4BAAA,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE;AACpC,4BAAA,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE;AACpC,4BAAA,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,yBAAyB,EAAE;AACnD,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,iBAAiB;AACvB,YAAA,WAAW,EACT,gEAAgE;AAClE,YAAA,MAAM,EAAE;AACN,gBAAA,SAAS,EAAE;AACT,oBAAA;AACE,wBAAA,EAAE,EAAE,YAAY;AAChB,wBAAA,KAAK,EAAE,iBAAiB;AACxB,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,QAAQ,EAAE,YAAY;AACtB,wBAAA,MAAM,EAAE,YAAY;AACrB,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,SAAS;AACb,wBAAA,KAAK,EAAE,MAAM;AACb,wBAAA,UAAU,EAAE,IAAI;AAChB,wBAAA,OAAO,EAAE;AACP,4BAAA,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE;AAC7B,4BAAA,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE;AAC7B,4BAAA,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE;AACjC,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,oBAAoB;AAC1B,YAAA,WAAW,EACT,2DAA2D;AAC7D,YAAA,MAAM,EAAE;AACN,gBAAA,SAAS,EAAE;AACT,oBAAA;AACE,wBAAA,EAAE,EAAE,YAAY;AAChB,wBAAA,KAAK,EAAE,YAAY;AACnB,wBAAA,IAAI,EAAE,aAAa;AACnB,wBAAA,WAAW,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;AAC5B,wBAAA,OAAO,EAAE;AACP,4BAAA,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;AAC7B,4BAAA,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;AAC3B,4BAAA,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;AAC7B,4BAAA,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE;AAC1C,4BAAA,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE;AACtC,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,MAAM;AACV,wBAAA,KAAK,EAAE,iBAAiB;AACxB,wBAAA,IAAI,EAAE,aAAa;AACnB,wBAAA,OAAO,EAAE;AACP,4BAAA,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE;AACtC,4BAAA,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE;AACpC,4BAAA,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;AAC3C,4BAAA,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;AAChC,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,mBAAmB;AACzB,YAAA,WAAW,EACT,sDAAsD;AACxD,YAAA,MAAM,EAAE;AACN,gBAAA,SAAS,EAAE;AACT,oBAAA;AACE,wBAAA,EAAE,EAAE,UAAU;AACd,wBAAA,KAAK,EAAE,WAAW;AAClB,wBAAA,IAAI,EAAE,SAAS;AACf,wBAAA,eAAe,EAAE,IAAI;AACtB,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,WAAW;AACf,wBAAA,KAAK,EAAE,YAAY;AACnB,wBAAA,IAAI,EAAE,SAAS;AACf,wBAAA,eAAe,EAAE,KAAK;AACvB,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,SAAS;AACb,wBAAA,KAAK,EAAE,SAAS;AAChB,wBAAA,IAAI,EAAE,SAAS;AAChB,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,WAAW,EACT,qEAAqE;AACvE,YAAA,MAAM,EAAE;AACN,gBAAA,SAAS,EAAE;AACT,oBAAA;AACE,wBAAA,EAAE,EAAE,aAAa;AACjB,wBAAA,KAAK,EAAE,iBAAiB;AACxB,wBAAA,IAAI,EAAE,OAAO;AACb,wBAAA,QAAQ,EAAE,CAAC;AACX,wBAAA,QAAQ,EAAE,IAAI;AACd,wBAAA,WAAW,EAAE,GAAG;AAChB,wBAAA,WAAW,EAAE,GAAG;AACjB,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,QAAQ;AACZ,wBAAA,KAAK,EAAE,cAAc;AACrB,wBAAA,IAAI,EAAE,OAAO;AACb,wBAAA,QAAQ,EAAE,CAAC;AACX,wBAAA,QAAQ,EAAE,CAAC;AACX,wBAAA,WAAW,EAAE,CAAC;AACf,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,oBAAoB;AAC1B,YAAA,WAAW,EACT,6DAA6D;AAC/D,YAAA,MAAM,EAAE;AACN,gBAAA,SAAS,EAAE;AACT,oBAAA;AACE,wBAAA,EAAE,EAAE,eAAe;AACnB,wBAAA,KAAK,EAAE,gBAAgB;AACvB,wBAAA,IAAI,EAAE,cAAc;AACpB,wBAAA,iBAAiB,EACf,kCAAkC;AACpC,wBAAA,mBAAmB,EAAE,aAAa;AACnC,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,OAAO;AACX,wBAAA,KAAK,EAAE,QAAQ;AACf,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,OAAO,EAAE;AACP,4BAAA,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;AAC7B,4BAAA,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;AAC3B,4BAAA,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;AAC9B,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,oBAAoB;AAC1B,YAAA,WAAW,EACT,6EAA6E;AAC/E,YAAA,MAAM,EAAE;AACN,gBAAA,SAAS,EAAE;AACT,oBAAA;AACE,wBAAA,EAAE,EAAE,YAAY;AAChB,wBAAA,KAAK,EAAE,YAAY;AACnB,wBAAA,IAAI,EAAE,aAAa;AACnB,wBAAA,WAAW,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;AAC5B,wBAAA,OAAO,EAAE;AACP,4BAAA,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;AAC7B,4BAAA,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;AAC3B,4BAAA,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;AAC7B,4BAAA,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE;AAC3C,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,aAAa;AACjB,wBAAA,KAAK,EAAE,iBAAiB;AACxB,wBAAA,IAAI,EAAE,OAAO;AACb,wBAAA,QAAQ,EAAE,CAAC;AACX,wBAAA,QAAQ,EAAE,GAAG;AACb,wBAAA,WAAW,EAAE,EAAE;AACf,wBAAA,WAAW,EAAE,GAAG;AACjB,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,UAAU;AACd,wBAAA,KAAK,EAAE,iBAAiB;AACxB,wBAAA,IAAI,EAAE,SAAS;AACf,wBAAA,eAAe,EAAE,IAAI;AACtB,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,YAAY;AAChB,wBAAA,KAAK,EAAE,iBAAiB;AACxB,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,QAAQ,EAAE,YAAY;AACtB,wBAAA,MAAM,EAAE,YAAY;AACrB,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,cAAc;AAClB,wBAAA,KAAK,EAAE,cAAc;AACrB,wBAAA,IAAI,EAAE,cAAc;AACpB,wBAAA,iBAAiB,EAAE,qBAAqB;AACzC,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,UAAU,EAAE,EAAE;AACd,QAAA,QAAQ,EAAE,EAAE;AACZ,QAAA,SAAS,EAAE,EAAE;AACb,QAAA,KAAK,EAAE,EAAE;AACV,KAAA;;;;;"}
|