@xsmusices/ui 1.41.1 → 1.43.0

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.
Files changed (27) hide show
  1. package/fesm2022/{xsmusices-ui-index-BpVmLxoG.mjs → xsmusices-ui-index-DRXscULI.mjs} +1 -4
  2. package/fesm2022/xsmusices-ui-index-DRXscULI.mjs.map +1 -0
  3. package/fesm2022/{xsmusices-ui-xs-badge.xsstory-BZnTAQWz.mjs → xsmusices-ui-xs-badge.xsstory-B1QXLQ4H.mjs} +1 -4
  4. package/fesm2022/xsmusices-ui-xs-badge.xsstory-B1QXLQ4H.mjs.map +1 -0
  5. package/fesm2022/{xsmusices-ui-xs-item-compact.xsstory-DuSgaCDY.mjs → xsmusices-ui-xs-item-compact.xsstory-LhApuPL7.mjs} +2 -2
  6. package/fesm2022/{xsmusices-ui-xs-item-compact.xsstory-DuSgaCDY.mjs.map → xsmusices-ui-xs-item-compact.xsstory-LhApuPL7.mjs.map} +1 -1
  7. package/fesm2022/{xsmusices-ui-xs-item-type.xsstory-BWJQ-hDk.mjs → xsmusices-ui-xs-item-type.xsstory-DUeCnW0R.mjs} +2 -2
  8. package/fesm2022/{xsmusices-ui-xs-item-type.xsstory-BWJQ-hDk.mjs.map → xsmusices-ui-xs-item-type.xsstory-DUeCnW0R.mjs.map} +1 -1
  9. package/fesm2022/{xsmusices-ui-xs-items-slider.xsstory-CS4xTKuJ.mjs → xsmusices-ui-xs-items-slider.xsstory-Dt0bXZI_.mjs} +2 -2
  10. package/fesm2022/{xsmusices-ui-xs-items-slider.xsstory-CS4xTKuJ.mjs.map → xsmusices-ui-xs-items-slider.xsstory-Dt0bXZI_.mjs.map} +1 -1
  11. package/fesm2022/{xsmusices-ui-xs-list.xsstory-BxAErIEF.mjs → xsmusices-ui-xs-list.xsstory-lElGfvcY.mjs} +2 -2
  12. package/fesm2022/{xsmusices-ui-xs-list.xsstory-BxAErIEF.mjs.map → xsmusices-ui-xs-list.xsstory-lElGfvcY.mjs.map} +1 -1
  13. package/fesm2022/{xsmusices-ui-xs-map.xsstory-DBT6h0Hv.mjs → xsmusices-ui-xs-map.xsstory-C__bUaLQ.mjs} +1 -5
  14. package/fesm2022/xsmusices-ui-xs-map.xsstory-C__bUaLQ.mjs.map +1 -0
  15. package/fesm2022/{xsmusices-ui-xs-navbar.xsstory-CkdvldoV.mjs → xsmusices-ui-xs-navbar.xsstory-BDW0nLAH.mjs} +32 -1
  16. package/fesm2022/xsmusices-ui-xs-navbar.xsstory-BDW0nLAH.mjs.map +1 -0
  17. package/fesm2022/{xsmusices-ui-xs-table.xsstory-DXiZHI7p.mjs → xsmusices-ui-xs-table.xsstory-s13JV3k9.mjs} +2 -2
  18. package/fesm2022/{xsmusices-ui-xs-table.xsstory-DXiZHI7p.mjs.map → xsmusices-ui-xs-table.xsstory-s13JV3k9.mjs.map} +1 -1
  19. package/fesm2022/xsmusices-ui.mjs +43 -132
  20. package/fesm2022/xsmusices-ui.mjs.map +1 -1
  21. package/index.d.ts +2 -17
  22. package/package.json +1 -1
  23. package/styles/shared-utilities.css +0 -1
  24. package/fesm2022/xsmusices-ui-index-BpVmLxoG.mjs.map +0 -1
  25. package/fesm2022/xsmusices-ui-xs-badge.xsstory-BZnTAQWz.mjs.map +0 -1
  26. package/fesm2022/xsmusices-ui-xs-map.xsstory-DBT6h0Hv.mjs.map +0 -1
  27. package/fesm2022/xsmusices-ui-xs-navbar.xsstory-CkdvldoV.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xsmusices-ui-xs-map.xsstory-C__bUaLQ.mjs","sources":["../../../projects/xs-ui/src/lib/components/ui/map/xs-map.xsstory.ts"],"sourcesContent":["import { StoryMeta } from '../../../story.types';\nimport { XSMapComponent } from './xs-map.component';\nimport { XSMapInfoBlockComponent } from './info-block/xs-map-info-block.component';\n\nexport const story: StoryMeta = {\n id: 'map',\n name: 'Map',\n type: 'component',\n subtype: 'UI',\n status: 'active',\n usage: ['admin', 'app', 'monitor'],\n updated: '2026-02-17T11:00:00.000Z',\n created: '2026-01-15T08:15:50.647Z',\n description:\n 'Componente de mapa basado en Leaflet con soporte para Google Maps tiles, clusters de marcadores y soporte para modo oscuro.\\n\\nMultilenguaje: Sí — este componente dispone de traducciones por componente para textos del Info Block (ver carpeta i18n).',\n component: XSMapComponent,\n selector: 'xs-map',\n inputs: [\n {\n key: 'center',\n label: 'Centro (Lat, Lng)',\n type: 'json',\n default: [40.417244274063485, -3.7021285218467663],\n },\n {\n key: 'zoom',\n label: 'Zoom',\n type: 'number',\n default: 13,\n },\n {\n key: 'items',\n label: 'Marcadores',\n type: 'json',\n default: [\n {\n id: '1',\n lat: 40.417244274063485,\n lng: -3.7021285218467663,\n title: 'Puerta del Sol',\n image: 'https://via.placeholder.com/150',\n data: { type: 'landmark' },\n },\n ],\n },\n {\n key: 'draggable',\n label: 'Marcadores Arrastrables',\n type: 'boolean',\n default: false,\n },\n {\n key: 'isDarkMode',\n label: 'Modo Oscuro',\n type: 'boolean',\n default: true,\n },\n {\n key: 'style',\n label: 'Estilo (CSS)',\n type: 'text',\n default: 'height: 400px;',\n },\n {\n key: 'isSingle',\n label: 'Modo Single (Perfiles)',\n type: 'boolean',\n default: false,\n },\n ],\n examples: [\n {\n name: 'Madrid Centro',\n description:\n 'Vista básica con un marcador en la Puerta del Sol.',\n inputs: {\n center: [40.41701, -3.70344],\n zoom: 16,\n items: [\n {\n id: 'sol',\n lat: 40.41701,\n lng: -3.70344,\n title: 'Puerta del Sol',\n image:\n 'https://dummyimage.com/100x100/18181b/ffffff&text=SOL',\n },\n ],\n },\n },\n {\n name: 'Clustering de Discotecas',\n description:\n 'Muchos marcadores en una misma zona que se agrupan automáticamente.',\n inputs: {\n center: [40.41, -3.7],\n zoom: 12,\n items: [\n {\n id: '1',\n lat: 40.41,\n lng: -3.7,\n title: 'Club 1',\n image:\n 'https://dummyimage.com/100x100/18181b/ffffff&text=C1',\n },\n { id: '2', lat: 40.412, lng: -3.702, title: 'Club 2' },\n { id: '3', lat: 40.415, lng: -3.701, title: 'Club 3' },\n { id: '4', lat: 40.408, lng: -3.698, title: 'Club 4' },\n { id: '5', lat: 40.418, lng: -3.705, title: 'Club 5' },\n { id: '6', lat: 40.411, lng: -3.708, title: 'Club 6' },\n { id: '7', lat: 40.414, lng: -3.703, title: 'Club 7' },\n { id: '8', lat: 40.405, lng: -3.695, title: 'Club 8' },\n { id: '9', lat: 40.42, lng: -3.71, title: 'Club 9' },\n {\n id: '10',\n lat: 40.413,\n lng: -3.697,\n title: 'Club 10',\n },\n ],\n },\n },\n {\n name: 'Localizador Draggable',\n description:\n 'Útil para formularios donde el usuario puede mover el pin para precisar una ubicación.',\n inputs: {\n center: [41.3851, 2.1734],\n zoom: 14,\n draggable: true,\n items: [\n {\n id: 'bcn',\n lat: 41.3851,\n lng: 2.1734,\n title: 'Barcelona (Mueveme)',\n },\n ],\n },\n },\n {\n name: 'Interactivo con Info Block',\n description:\n 'Mapa que utiliza el contenido proyectado para mostrar el XSMapInfoBlockComponent.',\n inputs: {\n center: [40.416, -3.703],\n zoom: 15,\n items: [\n {\n id: 'info',\n lat: 40.416,\n lng: -3.703,\n title: 'Teatro Kapital',\n data: {\n name: 'Teatro Kapital',\n site: { name: 'Teatro Kapital' },\n address: {\n street: 'Calle de Atocha, 125',\n town: 'Madrid',\n country: { name: 'España', code: 'es' },\n },\n eventsFuture: 3,\n },\n },\n ],\n projectedInputs: {\n item: null, // Se llenará desde el marcador seleccionado\n type: 'site',\n },\n },\n projectedComponent: XSMapInfoBlockComponent,\n template: `\n <xs-map [center]=\"[40.416, -3.703]\" [zoom]=\"15\" [items]=\"[...]\">\n <xs-map-info-block [item]=\"...\" type=\"site\">\n </xs-map-info-block>\n </xs-map>\n `,\n },\n {\n name: 'Clusters en múltiples regiones',\n description:\n 'Visualización de múltiples focos de marcadores que se agrupan por cercanía.',\n inputs: {\n center: [40.4167, -3.70325],\n zoom: 6,\n items: [\n { id: 'm1', lat: 40.41, lng: -3.7, title: 'Madrid 1' },\n {\n id: 'm2',\n lat: 40.42,\n lng: -3.71,\n title: 'Madrid 2',\n },\n {\n id: 'm3',\n lat: 40.415,\n lng: -3.69,\n title: 'Madrid 3',\n },\n { id: 'b1', lat: 41.38, lng: 2.17, title: 'BCN 1' },\n { id: 'b2', lat: 41.39, lng: 2.18, title: 'BCN 2' },\n { id: 'b3', lat: 41.4, lng: 2.16, title: 'BCN 3' },\n {\n id: 'v1',\n lat: 39.46,\n lng: -0.37,\n title: 'Valencia 1',\n },\n {\n id: 'v2',\n lat: 39.47,\n lng: -0.38,\n title: 'Valencia 2',\n },\n {\n id: 's1',\n lat: 37.38,\n lng: -5.98,\n title: 'Sevilla 1',\n },\n ],\n },\n },\n {\n name: 'Modo Claro (Fuerza Light Map)',\n description:\n 'Ejemplo de mapa con fondo claro forzado mediante el input isDarkMode.',\n inputs: {\n center: [40.4167, -3.70325],\n zoom: 13,\n isDarkMode: false,\n items: [\n {\n id: 'light',\n lat: 40.4167,\n lng: -3.70325,\n title: 'Modo Claro',\n },\n ],\n },\n },\n {\n name: 'Modo Single (Perfiles)',\n description:\n 'Desactiva pop-ups e interacciones para mapas en perfiles de artistas/locales.',\n inputs: {\n center: [40.416, -3.703],\n zoom: 16,\n isSingle: true,\n items: [\n {\n id: 'info',\n lat: 40.416,\n lng: -3.703,\n title: 'Teatro Kapital',\n data: {\n name: 'Teatro Kapital',\n site: { name: 'Teatro Kapital' },\n },\n },\n ],\n },\n },\n ],\n multilanguage: true,\n notes: [],\n coverage: {\n statements: 74,\n branches: 53,\n functions: 69,\n lines: 75,\n },\n};\n"],"names":[],"mappings":"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"}
@@ -44,6 +44,12 @@ const story = {
44
44
  type: 'boolean',
45
45
  default: true,
46
46
  },
47
+ {
48
+ key: 'contextual',
49
+ label: 'Modo contextual (XS-770: oculta título y bandera)',
50
+ type: 'boolean',
51
+ default: false,
52
+ },
47
53
  {
48
54
  key: 'showMenu',
49
55
  label: 'Mostrar botón menú lateral',
@@ -87,6 +93,10 @@ const story = {
87
93
  name: 'actions',
88
94
  description: 'Contenido proyectado en el lado derecho (botones, avatar, notificaciones)',
89
95
  },
96
+ {
97
+ name: 'leading',
98
+ description: 'Contenido contextual junto al botón de retroceso, solo visible en móvil (XS-770: miniatura de perfil en navbars contextuales)',
99
+ },
90
100
  {
91
101
  name: 'bottom',
92
102
  description: 'Contenido proyectado debajo de la barra principal (tabs, buscador)',
@@ -175,8 +185,29 @@ const story = {
175
185
  currentLang: 'es',
176
186
  },
177
187
  },
188
+ {
189
+ name: 'App: Navbar contextual de perfil',
190
+ description: 'XS-770: navbar contextual de perfil en móvil y desktop. El slot leading lleva la identidad (miniatura 36px en móvil, 40px en desktop + nombre + país) y sustituye al título tradicional; la bandera se oculta mientras hay contexto.',
191
+ inputs: {
192
+ title: 'XSMusic',
193
+ mobileTitle: 'Nombre del artista',
194
+ mobileSubtitle: 'España',
195
+ showBack: true,
196
+ showLanguage: true,
197
+ currentLang: 'es',
198
+ },
199
+ template: `<xs-navbar title="XSMusic" mobileTitle="Nombre del artista" mobileSubtitle="España" [contextual]="true" [showBack]="true" [showLanguage]="true" currentLang="es">
200
+ <div leading class="flex min-w-0 flex-1 items-center gap-2">
201
+ <img src="https://api-v2.xsmusic.es/uploads/artist/small/artist.webp" alt="Nombre del artista" class="h-9 w-9 flex-none rounded-xl object-cover lg:h-10 lg:w-10" />
202
+ <span class="flex min-w-0 flex-1 flex-col justify-center gap-[2px]">
203
+ <span class="truncate text-sm font-semibold leading-tight text-white lg:text-base">Nombre del artista</span>
204
+ <span class="truncate text-[11px] font-normal leading-none tracking-normal text-zinc-400">España</span>
205
+ </span>
206
+ </div>
207
+ </xs-navbar>`,
208
+ },
178
209
  ],
179
210
  };
180
211
 
181
212
  export { story };
182
- //# sourceMappingURL=xsmusices-ui-xs-navbar.xsstory-CkdvldoV.mjs.map
213
+ //# sourceMappingURL=xsmusices-ui-xs-navbar.xsstory-BDW0nLAH.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xsmusices-ui-xs-navbar.xsstory-BDW0nLAH.mjs","sources":["../../../projects/xs-ui/src/lib/components/base/navbar/xs-navbar.xsstory.ts"],"sourcesContent":["import { StoryMeta } from '../../../story.types';\nimport { XSNavbarComponent } from './xs-navbar.component';\n\nexport const story: StoryMeta = {\n id: 'navbar',\n name: 'Navbar',\n type: 'component',\n subtype: 'Base',\n status: 'active',\n usage: ['app', 'admin'],\n updated: '2026-05-17T12:00:00.000Z',\n created: '2026-04-25T12:00:00.000Z',\n description:\n 'Barra de navegación superior reutilizable. Usada tanto en App (top bar con título + acciones) como en Admin (top bar + sidebar toggle).',\n component: XSNavbarComponent,\n selector: 'xs-navbar',\n inputs: [\n { key: 'title', label: 'Título', type: 'text', default: '' },\n {\n key: 'subtitle',\n label: 'Subtítulo',\n type: 'text',\n default: '',\n },\n {\n key: 'showBorder',\n label: 'Mostrar borde inferior',\n type: 'boolean',\n default: false,\n },\n {\n key: 'transparent',\n label: 'Fondo transparente',\n type: 'boolean',\n default: false,\n },\n {\n key: 'sticky',\n label: 'Encabezado sticky',\n type: 'boolean',\n default: true,\n },\n {\n key: 'showBack',\n label: 'Mostrar botón retroceso',\n type: 'boolean',\n default: true,\n },\n {\n key: 'contextual',\n label: 'Modo contextual (XS-770: oculta título y bandera)',\n type: 'boolean',\n default: false,\n },\n {\n key: 'showMenu',\n label: 'Mostrar botón menú lateral',\n type: 'boolean',\n default: false,\n },\n {\n key: 'menuIcon',\n label: 'Icono del botón menú',\n type: 'text',\n default: 'bars',\n },\n {\n key: 'showLanguage',\n label: 'Mostrar selector de idioma',\n type: 'boolean',\n default: true,\n },\n {\n key: 'showNotifications',\n label: 'Mostrar campanita notificaciones',\n type: 'boolean',\n default: false,\n },\n {\n key: 'hideEnvBadge',\n label: 'Ocultar badge de entorno (dev/uat)',\n type: 'boolean',\n default: false,\n },\n {\n key: 'currentLang',\n label: 'Idioma actual',\n type: 'select',\n options: ['es', 'en'],\n default: 'es',\n },\n ],\n slots: [\n {\n name: 'actions',\n description:\n 'Contenido proyectado en el lado derecho (botones, avatar, notificaciones)',\n },\n {\n name: 'leading',\n description:\n 'Contenido contextual junto al botón de retroceso, solo visible en móvil (XS-770: miniatura de perfil en navbars contextuales)',\n },\n {\n name: 'bottom',\n description:\n 'Contenido proyectado debajo de la barra principal (tabs, buscador)',\n },\n ],\n examples: [\n {\n name: 'App: Pantalla de inicio',\n description:\n 'Navbar usada en la app principal. Título \"XSMusic\", subtítulo, botón de retroceso, selector de idioma y campanita de notificaciones.',\n inputs: {\n title: 'XSMusic',\n subtitle: 'Descubre',\n showBack: true,\n showLanguage: true,\n showNotifications: true,\n currentLang: 'es',\n },\n },\n {\n name: 'App: Pantalla con tabs',\n description:\n 'Navbar en la app con contenido adicional en el slot bottom (tabs de navegación).',\n inputs: {\n title: 'XSMusic',\n subtitle: 'Artistas',\n showBack: true,\n showLanguage: true,\n showNotifications: true,\n currentLang: 'en',\n },\n template: `<xs-navbar title=\"XSMusic\" subtitle=\"Artistas\" [showBack]=\"true\" [showLanguage]=\"true\" [showNotifications]=\"true\" currentLang=\"en\">\n <div bottom>\n <div class=\"flex gap-4 text-sm text-zinc-400\">\n <span class=\"text-white font-semibold\">Todos</span>\n <span>Populares</span>\n <span>Nuevos</span>\n </div>\n </div>\n</xs-navbar>`,\n },\n {\n name: 'Admin: Dashboard',\n description:\n 'Navbar usada en el panel de administración. Sin retroceso, con botón de menú lateral (hamburguesa) para abrir el sidebar. Las acciones (búsqueda, perfil) van en el slot actions.',\n inputs: {\n title: 'XSADMIN',\n showBack: false,\n showMenu: true,\n menuIcon: 'bars',\n showLanguage: false,\n showNotifications: false,\n },\n },\n {\n name: 'Admin: Menú colapsado',\n description:\n 'Navbar en admin con el sidebar colapsado. El icono del menú cambia a \"chevron-right\" para indicar que se puede expandir.',\n inputs: {\n title: 'XSADMIN',\n showBack: false,\n showMenu: true,\n menuIcon: 'chevron-right',\n showLanguage: false,\n showNotifications: false,\n },\n },\n {\n name: 'Admin: Detalle con retroceso',\n description:\n 'Navbar en admin cuando se navega a una página de detalle. El botón de menú se reemplaza por el de retroceso.',\n inputs: {\n title: 'XSADMIN',\n subtitle: 'Editar Usuario',\n showBack: true,\n showMenu: false,\n showLanguage: false,\n showNotifications: false,\n },\n },\n {\n name: 'Transparente sin sticky',\n description:\n 'Navbar con fondo transparente y sin sticky, ideal para landing pages o perfiles.',\n inputs: {\n title: 'XSMusic',\n subtitle: 'Perfil',\n showBack: true,\n transparent: true,\n sticky: false,\n showLanguage: true,\n currentLang: 'es',\n },\n },\n {\n name: 'App: Navbar contextual de perfil',\n description:\n 'XS-770: navbar contextual de perfil en móvil y desktop. El slot leading lleva la identidad (miniatura 36px en móvil, 40px en desktop + nombre + país) y sustituye al título tradicional; la bandera se oculta mientras hay contexto.',\n inputs: {\n title: 'XSMusic',\n mobileTitle: 'Nombre del artista',\n mobileSubtitle: 'España',\n showBack: true,\n showLanguage: true,\n currentLang: 'es',\n },\n template: `<xs-navbar title=\"XSMusic\" mobileTitle=\"Nombre del artista\" mobileSubtitle=\"España\" [contextual]=\"true\" [showBack]=\"true\" [showLanguage]=\"true\" currentLang=\"es\">\n <div leading class=\"flex min-w-0 flex-1 items-center gap-2\">\n <img src=\"https://api-v2.xsmusic.es/uploads/artist/small/artist.webp\" alt=\"Nombre del artista\" class=\"h-9 w-9 flex-none rounded-xl object-cover lg:h-10 lg:w-10\" />\n <span class=\"flex min-w-0 flex-1 flex-col justify-center gap-[2px]\">\n <span class=\"truncate text-sm font-semibold leading-tight text-white lg:text-base\">Nombre del artista</span>\n <span class=\"truncate text-[11px] font-normal leading-none tracking-normal text-zinc-400\">España</span>\n </span>\n </div>\n</xs-navbar>`,\n },\n ],\n};\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { XSTableComponent } from './xsmusices-ui.mjs';
2
- import { i as adminArtistsMock, j as adminEquipmentsMock, k as adminEventsMock, l as adminFaqsMock, n as adminLikesMock, o as adminMusicMock, p as adminOrganizationsMock, q as adminClaimsMock, r as adminReportsMock, s as adminSetupsMock, t as adminSitesMock, u as adminSuggestionsMock, v as adminTipsMock, w as adminUsersMock } from './xsmusices-ui-index-BpVmLxoG.mjs';
2
+ import { i as adminArtistsMock, j as adminEquipmentsMock, k as adminEventsMock, l as adminFaqsMock, n as adminLikesMock, o as adminMusicMock, p as adminOrganizationsMock, q as adminClaimsMock, r as adminReportsMock, s as adminSetupsMock, t as adminSitesMock, u as adminSuggestionsMock, v as adminTipsMock, w as adminUsersMock } from './xsmusices-ui-index-DRXscULI.mjs';
3
3
 
4
4
  const mediaItems = [
5
5
  {
@@ -2938,4 +2938,4 @@ const story = {
2938
2938
  };
2939
2939
 
2940
2940
  export { story };
2941
- //# sourceMappingURL=xsmusices-ui-xs-table.xsstory-DXiZHI7p.mjs.map
2941
+ //# sourceMappingURL=xsmusices-ui-xs-table.xsstory-s13JV3k9.mjs.map