@xsmusices/ui 1.42.0 → 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.
package/index.d.ts CHANGED
@@ -2381,6 +2381,7 @@ declare class XSNavbarComponent implements OnInit {
2381
2381
  readonly showBack: _angular_core.InputSignal<boolean>;
2382
2382
  readonly showMenu: _angular_core.InputSignal<boolean>;
2383
2383
  readonly menuIcon: _angular_core.InputSignal<string>;
2384
+ readonly contextual: _angular_core.InputSignal<boolean>;
2384
2385
  readonly showLanguage: _angular_core.InputSignal<boolean>;
2385
2386
  readonly showNotifications: _angular_core.InputSignal<boolean>;
2386
2387
  readonly showChat: _angular_core.InputSignal<boolean>;
@@ -2412,7 +2413,7 @@ declare class XSNavbarComponent implements OnInit {
2412
2413
  onTitleClick(): void;
2413
2414
  onToggleLang(): void;
2414
2415
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<XSNavbarComponent, never>;
2415
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<XSNavbarComponent, "xs-navbar", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "mobileTitle": { "alias": "mobileTitle"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "mobileSubtitle": { "alias": "mobileSubtitle"; "required": false; "isSignal": true; }; "showBorder": { "alias": "showBorder"; "required": false; "isSignal": true; }; "transparent": { "alias": "transparent"; "required": false; "isSignal": true; }; "sticky": { "alias": "sticky"; "required": false; "isSignal": true; }; "showBack": { "alias": "showBack"; "required": false; "isSignal": true; }; "showMenu": { "alias": "showMenu"; "required": false; "isSignal": true; }; "menuIcon": { "alias": "menuIcon"; "required": false; "isSignal": true; }; "showLanguage": { "alias": "showLanguage"; "required": false; "isSignal": true; }; "showNotifications": { "alias": "showNotifications"; "required": false; "isSignal": true; }; "showChat": { "alias": "showChat"; "required": false; "isSignal": true; }; "showImpersonation": { "alias": "showImpersonation"; "required": false; "isSignal": true; }; "unreadChatMessages": { "alias": "unreadChatMessages"; "required": false; "isSignal": true; }; "unreadNotifications": { "alias": "unreadNotifications"; "required": false; "isSignal": true; }; "homeRoute": { "alias": "homeRoute"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "hidden": { "alias": "hidden"; "required": false; "isSignal": true; }; "hideEnvBadge": { "alias": "hideEnvBadge"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; }, { "back": "back"; "menuToggle": "menuToggle"; "titleClick": "titleClick"; "notificationsClick": "notificationsClick"; "chatClick": "chatClick"; "impersonationClick": "impersonationClick"; }, ["bottomContent"], ["[leading]", "[actions]", "[bottom]"], true, never>;
2416
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<XSNavbarComponent, "xs-navbar", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "mobileTitle": { "alias": "mobileTitle"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "mobileSubtitle": { "alias": "mobileSubtitle"; "required": false; "isSignal": true; }; "showBorder": { "alias": "showBorder"; "required": false; "isSignal": true; }; "transparent": { "alias": "transparent"; "required": false; "isSignal": true; }; "sticky": { "alias": "sticky"; "required": false; "isSignal": true; }; "showBack": { "alias": "showBack"; "required": false; "isSignal": true; }; "showMenu": { "alias": "showMenu"; "required": false; "isSignal": true; }; "menuIcon": { "alias": "menuIcon"; "required": false; "isSignal": true; }; "contextual": { "alias": "contextual"; "required": false; "isSignal": true; }; "showLanguage": { "alias": "showLanguage"; "required": false; "isSignal": true; }; "showNotifications": { "alias": "showNotifications"; "required": false; "isSignal": true; }; "showChat": { "alias": "showChat"; "required": false; "isSignal": true; }; "showImpersonation": { "alias": "showImpersonation"; "required": false; "isSignal": true; }; "unreadChatMessages": { "alias": "unreadChatMessages"; "required": false; "isSignal": true; }; "unreadNotifications": { "alias": "unreadNotifications"; "required": false; "isSignal": true; }; "homeRoute": { "alias": "homeRoute"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "hidden": { "alias": "hidden"; "required": false; "isSignal": true; }; "hideEnvBadge": { "alias": "hideEnvBadge"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; }, { "back": "back"; "menuToggle": "menuToggle"; "titleClick": "titleClick"; "notificationsClick": "notificationsClick"; "chatClick": "chatClick"; "impersonationClick": "impersonationClick"; }, ["bottomContent"], ["[leading]", "[actions]", "[bottom]"], true, never>;
2416
2417
  }
2417
2418
 
2418
2419
  interface NavbarSidebarItem {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xsmusices/ui",
3
- "version": "1.42.0",
3
+ "version": "1.43.0",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org/"
6
6
  },
@@ -1 +0,0 @@
1
- {"version":3,"file":"xsmusices-ui-xs-navbar.xsstory-DZrnLMId.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: '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 (móvil)',\n description:\n 'XS-770: navbar compacta de perfil en móvil. El slot leading lleva la miniatura (32px) y mobileTitle/mobileSubtitle el nombre y el país. En desktop se muestra el título normal.',\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\" [showBack]=\"true\" [showLanguage]=\"true\" currentLang=\"es\">\n <div leading>\n <img src=\"https://api-v2.xsmusic.es/uploads/artist/small/artist.webp\" alt=\"Nombre del artista\" class=\"w-8 h-8 rounded-xl object-cover\" />\n </div>\n</xs-navbar>`,\n },\n ],\n};\n"],"names":[],"mappings":";;AAGO,MAAM,KAAK,GAAc;AAC9B,IAAA,EAAE,EAAE,QAAQ;AACZ,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;AACvB,IAAA,OAAO,EAAE,0BAA0B;AACnC,IAAA,OAAO,EAAE,0BAA0B;AACnC,IAAA,WAAW,EACT,yIAAyI;AAC3I,IAAA,SAAS,EAAE,iBAAiB;AAC5B,IAAA,QAAQ,EAAE,WAAW;AACrB,IAAA,MAAM,EAAE;AACN,QAAA,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;AAC5D,QAAA;AACE,YAAA,GAAG,EAAE,UAAU;AACf,YAAA,KAAK,EAAE,WAAW;AAClB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE,EAAE;AACZ,SAAA;AACD,QAAA;AACE,YAAA,GAAG,EAAE,YAAY;AACjB,YAAA,KAAK,EAAE,wBAAwB;AAC/B,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,OAAO,EAAE,KAAK;AACf,SAAA;AACD,QAAA;AACE,YAAA,GAAG,EAAE,aAAa;AAClB,YAAA,KAAK,EAAE,oBAAoB;AAC3B,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,OAAO,EAAE,KAAK;AACf,SAAA;AACD,QAAA;AACE,YAAA,GAAG,EAAE,QAAQ;AACb,YAAA,KAAK,EAAE,mBAAmB;AAC1B,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,OAAO,EAAE,IAAI;AACd,SAAA;AACD,QAAA;AACE,YAAA,GAAG,EAAE,UAAU;AACf,YAAA,KAAK,EAAE,yBAAyB;AAChC,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,OAAO,EAAE,IAAI;AACd,SAAA;AACD,QAAA;AACE,YAAA,GAAG,EAAE,UAAU;AACf,YAAA,KAAK,EAAE,4BAA4B;AACnC,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,OAAO,EAAE,KAAK;AACf,SAAA;AACD,QAAA;AACE,YAAA,GAAG,EAAE,UAAU;AACf,YAAA,KAAK,EAAE,sBAAsB;AAC7B,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE,MAAM;AAChB,SAAA;AACD,QAAA;AACE,YAAA,GAAG,EAAE,cAAc;AACnB,YAAA,KAAK,EAAE,4BAA4B;AACnC,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,OAAO,EAAE,IAAI;AACd,SAAA;AACD,QAAA;AACE,YAAA,GAAG,EAAE,mBAAmB;AACxB,YAAA,KAAK,EAAE,kCAAkC;AACzC,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,OAAO,EAAE,KAAK;AACf,SAAA;AACD,QAAA;AACE,YAAA,GAAG,EAAE,cAAc;AACnB,YAAA,KAAK,EAAE,oCAAoC;AAC3C,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,OAAO,EAAE,KAAK;AACf,SAAA;AACD,QAAA;AACE,YAAA,GAAG,EAAE,aAAa;AAClB,YAAA,KAAK,EAAE,eAAe;AACtB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;AACrB,YAAA,OAAO,EAAE,IAAI;AACd,SAAA;AACF,KAAA;AACD,IAAA,KAAK,EAAE;AACL,QAAA;AACE,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,WAAW,EACT,2EAA2E;AAC9E,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,WAAW,EACT,+HAA+H;AAClI,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,WAAW,EACT,oEAAoE;AACvE,SAAA;AACF,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA;AACE,YAAA,IAAI,EAAE,yBAAyB;AAC/B,YAAA,WAAW,EACT,sIAAsI;AACxI,YAAA,MAAM,EAAE;AACN,gBAAA,KAAK,EAAE,SAAS;AAChB,gBAAA,QAAQ,EAAE,UAAU;AACpB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,YAAY,EAAE,IAAI;AAClB,gBAAA,iBAAiB,EAAE,IAAI;AACvB,gBAAA,WAAW,EAAE,IAAI;AAClB,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,wBAAwB;AAC9B,YAAA,WAAW,EACT,kFAAkF;AACpF,YAAA,MAAM,EAAE;AACN,gBAAA,KAAK,EAAE,SAAS;AAChB,gBAAA,QAAQ,EAAE,UAAU;AACpB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,YAAY,EAAE,IAAI;AAClB,gBAAA,iBAAiB,EAAE,IAAI;AACvB,gBAAA,WAAW,EAAE,IAAI;AAClB,aAAA;AACD,YAAA,QAAQ,EAAE,CAAA;;;;;;;;AAQH,YAAA,CAAA;AACR,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,kBAAkB;AACxB,YAAA,WAAW,EACT,mLAAmL;AACrL,YAAA,MAAM,EAAE;AACN,gBAAA,KAAK,EAAE,SAAS;AAChB,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,QAAQ,EAAE,MAAM;AAChB,gBAAA,YAAY,EAAE,KAAK;AACnB,gBAAA,iBAAiB,EAAE,KAAK;AACzB,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,uBAAuB;AAC7B,YAAA,WAAW,EACT,0HAA0H;AAC5H,YAAA,MAAM,EAAE;AACN,gBAAA,KAAK,EAAE,SAAS;AAChB,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,QAAQ,EAAE,eAAe;AACzB,gBAAA,YAAY,EAAE,KAAK;AACnB,gBAAA,iBAAiB,EAAE,KAAK;AACzB,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,8BAA8B;AACpC,YAAA,WAAW,EACT,8GAA8G;AAChH,YAAA,MAAM,EAAE;AACN,gBAAA,KAAK,EAAE,SAAS;AAChB,gBAAA,QAAQ,EAAE,gBAAgB;AAC1B,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,YAAY,EAAE,KAAK;AACnB,gBAAA,iBAAiB,EAAE,KAAK;AACzB,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,yBAAyB;AAC/B,YAAA,WAAW,EACT,kFAAkF;AACpF,YAAA,MAAM,EAAE;AACN,gBAAA,KAAK,EAAE,SAAS;AAChB,gBAAA,QAAQ,EAAE,QAAQ;AAClB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,WAAW,EAAE,IAAI;AACjB,gBAAA,MAAM,EAAE,KAAK;AACb,gBAAA,YAAY,EAAE,IAAI;AAClB,gBAAA,WAAW,EAAE,IAAI;AAClB,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,0CAA0C;AAChD,YAAA,WAAW,EACT,iLAAiL;AACnL,YAAA,MAAM,EAAE;AACN,gBAAA,KAAK,EAAE,SAAS;AAChB,gBAAA,WAAW,EAAE,oBAAoB;AACjC,gBAAA,cAAc,EAAE,QAAQ;AACxB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,YAAY,EAAE,IAAI;AAClB,gBAAA,WAAW,EAAE,IAAI;AAClB,aAAA;AACD,YAAA,QAAQ,EAAE,CAAA;;;;AAIH,YAAA,CAAA;AACR,SAAA;AACF,KAAA;;;;;"}