@xsmusices/ui 1.41.0 → 1.41.1

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 (166) hide show
  1. package/README.md +4 -18
  2. package/fesm2022/xsmusices-ui-country-flag.xsstory-BPTu5b4i.mjs +84 -0
  3. package/fesm2022/xsmusices-ui-country-flag.xsstory-BPTu5b4i.mjs.map +1 -0
  4. package/fesm2022/xsmusices-ui-country-name.xsstory-ENhKrPTw.mjs +106 -0
  5. package/fesm2022/xsmusices-ui-country-name.xsstory-ENhKrPTw.mjs.map +1 -0
  6. package/fesm2022/xsmusices-ui-date-chat.xsstory-BBAJebr1.mjs +75 -0
  7. package/fesm2022/xsmusices-ui-date-chat.xsstory-BBAJebr1.mjs.map +1 -0
  8. package/fesm2022/xsmusices-ui-date-format.xsstory-Chrcn1yu.mjs +69 -0
  9. package/fesm2022/xsmusices-ui-date-format.xsstory-Chrcn1yu.mjs.map +1 -0
  10. package/fesm2022/xsmusices-ui-date-long.xsstory-CkYL5e1z.mjs +67 -0
  11. package/fesm2022/xsmusices-ui-date-long.xsstory-CkYL5e1z.mjs.map +1 -0
  12. package/fesm2022/xsmusices-ui-first-letter-case.xsstory-BJDtnUwE.mjs +49 -0
  13. package/fesm2022/xsmusices-ui-first-letter-case.xsstory-BJDtnUwE.mjs.map +1 -0
  14. package/fesm2022/xsmusices-ui-import-media-bottom-bar.xsstory-7FhVkiVz.mjs +29 -0
  15. package/fesm2022/xsmusices-ui-import-media-bottom-bar.xsstory-7FhVkiVz.mjs.map +1 -0
  16. package/fesm2022/xsmusices-ui-import-media-card.xsstory-vhn8r2YJ.mjs +61 -0
  17. package/fesm2022/xsmusices-ui-import-media-card.xsstory-vhn8r2YJ.mjs.map +1 -0
  18. package/fesm2022/xsmusices-ui-import-media-flow.xsstory-CMVovyMA.mjs +122 -0
  19. package/fesm2022/xsmusices-ui-import-media-flow.xsstory-CMVovyMA.mjs.map +1 -0
  20. package/fesm2022/xsmusices-ui-import-media-header.xsstory-Ci82oaxD.mjs +37 -0
  21. package/fesm2022/xsmusices-ui-import-media-header.xsstory-Ci82oaxD.mjs.map +1 -0
  22. package/fesm2022/xsmusices-ui-index-BpVmLxoG.mjs +11164 -0
  23. package/fesm2022/xsmusices-ui-index-BpVmLxoG.mjs.map +1 -0
  24. package/fesm2022/xsmusices-ui-max-count.xsstory-kWzvhDsC.mjs +70 -0
  25. package/fesm2022/xsmusices-ui-max-count.xsstory-kWzvhDsC.mjs.map +1 -0
  26. package/fesm2022/xsmusices-ui-number-to-month.xsstory-LUhA1uRx.mjs +81 -0
  27. package/fesm2022/xsmusices-ui-number-to-month.xsstory-LUhA1uRx.mjs.map +1 -0
  28. package/fesm2022/xsmusices-ui-priorities.xsstory-3n93Ph84.mjs +92 -0
  29. package/fesm2022/xsmusices-ui-priorities.xsstory-3n93Ph84.mjs.map +1 -0
  30. package/fesm2022/xsmusices-ui-role.xsstory-Cz3SBwNU.mjs +76 -0
  31. package/fesm2022/xsmusices-ui-role.xsstory-Cz3SBwNU.mjs.map +1 -0
  32. package/fesm2022/xsmusices-ui-slice-array.xsstory-ElPwFlwd.mjs +76 -0
  33. package/fesm2022/xsmusices-ui-slice-array.xsstory-ElPwFlwd.mjs.map +1 -0
  34. package/fesm2022/xsmusices-ui-social.xsstory-gjFcbal_.mjs +83 -0
  35. package/fesm2022/xsmusices-ui-social.xsstory-gjFcbal_.mjs.map +1 -0
  36. package/fesm2022/xsmusices-ui-state-name.xsstory-kkdBe2V8.mjs +113 -0
  37. package/fesm2022/xsmusices-ui-state-name.xsstory-kkdBe2V8.mjs.map +1 -0
  38. package/fesm2022/xsmusices-ui-stats-card.xsstory-PWTUDysc.mjs +96 -0
  39. package/fesm2022/xsmusices-ui-stats-card.xsstory-PWTUDysc.mjs.map +1 -0
  40. package/fesm2022/xsmusices-ui-thousands-separator.xsstory-Q9Q7cCAG.mjs +49 -0
  41. package/fesm2022/xsmusices-ui-thousands-separator.xsstory-Q9Q7cCAG.mjs.map +1 -0
  42. package/fesm2022/xsmusices-ui-title-media.xsstory-C4qa-mT2.mjs +81 -0
  43. package/fesm2022/xsmusices-ui-title-media.xsstory-C4qa-mT2.mjs.map +1 -0
  44. package/fesm2022/xsmusices-ui-truncate-text.xsstory-B3RQ9xZ3.mjs +67 -0
  45. package/fesm2022/xsmusices-ui-truncate-text.xsstory-B3RQ9xZ3.mjs.map +1 -0
  46. package/fesm2022/xsmusices-ui-type-es.xsstory-BsE_4D9p.mjs +110 -0
  47. package/fesm2022/xsmusices-ui-type-es.xsstory-BsE_4D9p.mjs.map +1 -0
  48. package/fesm2022/xsmusices-ui-type-user.xsstory-Bn6Fnnmi.mjs +98 -0
  49. package/fesm2022/xsmusices-ui-type-user.xsstory-Bn6Fnnmi.mjs.map +1 -0
  50. package/fesm2022/xsmusices-ui-xs-action-sheet.xsstory-CBpZBlfx.mjs +402 -0
  51. package/fesm2022/xsmusices-ui-xs-action-sheet.xsstory-CBpZBlfx.mjs.map +1 -0
  52. package/fesm2022/xsmusices-ui-xs-alert-group.xsstory-HMGGLHfv.mjs +201 -0
  53. package/fesm2022/xsmusices-ui-xs-alert-group.xsstory-HMGGLHfv.mjs.map +1 -0
  54. package/fesm2022/xsmusices-ui-xs-alert.xsstory-CXTRbHHS.mjs +158 -0
  55. package/fesm2022/xsmusices-ui-xs-alert.xsstory-CXTRbHHS.mjs.map +1 -0
  56. package/fesm2022/xsmusices-ui-xs-auth.xsstory-DxO8iDpd.mjs +205 -0
  57. package/fesm2022/xsmusices-ui-xs-auth.xsstory-DxO8iDpd.mjs.map +1 -0
  58. package/fesm2022/xsmusices-ui-xs-badge.xsstory-BZnTAQWz.mjs +232 -0
  59. package/fesm2022/xsmusices-ui-xs-badge.xsstory-BZnTAQWz.mjs.map +1 -0
  60. package/fesm2022/xsmusices-ui-xs-block.xsstory-GXV6UFJo.mjs +165 -0
  61. package/fesm2022/xsmusices-ui-xs-block.xsstory-GXV6UFJo.mjs.map +1 -0
  62. package/fesm2022/xsmusices-ui-xs-breadcrumbs.xsstory-CNyBeURd.mjs +44 -0
  63. package/fesm2022/xsmusices-ui-xs-breadcrumbs.xsstory-CNyBeURd.mjs.map +1 -0
  64. package/fesm2022/xsmusices-ui-xs-button.xsstory-DqECZuZF.mjs +263 -0
  65. package/fesm2022/xsmusices-ui-xs-button.xsstory-DqECZuZF.mjs.map +1 -0
  66. package/fesm2022/xsmusices-ui-xs-buttons-group.xsstory-H1pcuFtx.mjs +97 -0
  67. package/fesm2022/xsmusices-ui-xs-buttons-group.xsstory-H1pcuFtx.mjs.map +1 -0
  68. package/fesm2022/xsmusices-ui-xs-chart.xsstory--iUHj7bv.mjs +239 -0
  69. package/fesm2022/xsmusices-ui-xs-chart.xsstory--iUHj7bv.mjs.map +1 -0
  70. package/fesm2022/xsmusices-ui-xs-chat-alert.xsstory-rdpQcMgJ.mjs +40 -0
  71. package/fesm2022/xsmusices-ui-xs-chat-alert.xsstory-rdpQcMgJ.mjs.map +1 -0
  72. package/fesm2022/xsmusices-ui-xs-chat-conversation-info.xsstory-BQjdjpbB.mjs +157 -0
  73. package/fesm2022/xsmusices-ui-xs-chat-conversation-info.xsstory-BQjdjpbB.mjs.map +1 -0
  74. package/fesm2022/xsmusices-ui-xs-chat-conversation.xsstory-sK9b5_Wo.mjs +303 -0
  75. package/fesm2022/xsmusices-ui-xs-chat-conversation.xsstory-sK9b5_Wo.mjs.map +1 -0
  76. package/fesm2022/xsmusices-ui-xs-chat-floating-panel.xsstory-_XfEzM1j.mjs +223 -0
  77. package/fesm2022/xsmusices-ui-xs-chat-floating-panel.xsstory-_XfEzM1j.mjs.map +1 -0
  78. package/fesm2022/xsmusices-ui-xs-chat-list.xsstory-BSY46FgK.mjs +46 -0
  79. package/fesm2022/xsmusices-ui-xs-chat-list.xsstory-BSY46FgK.mjs.map +1 -0
  80. package/fesm2022/xsmusices-ui-xs-chat-textarea.xsstory-NG2p0Tdw.mjs +35 -0
  81. package/fesm2022/xsmusices-ui-xs-chat-textarea.xsstory-NG2p0Tdw.mjs.map +1 -0
  82. package/fesm2022/xsmusices-ui-xs-customize-profile.xsstory-Ba7wmXF7.mjs +98 -0
  83. package/fesm2022/xsmusices-ui-xs-customize-profile.xsstory-Ba7wmXF7.mjs.map +1 -0
  84. package/fesm2022/xsmusices-ui-xs-date-mini.xsstory-DXog7Yhg.mjs +67 -0
  85. package/fesm2022/xsmusices-ui-xs-date-mini.xsstory-DXog7Yhg.mjs.map +1 -0
  86. package/fesm2022/xsmusices-ui-xs-date-range-picker.xsstory-Bmk2wv1s.mjs +25 -0
  87. package/fesm2022/xsmusices-ui-xs-date-range-picker.xsstory-Bmk2wv1s.mjs.map +1 -0
  88. package/fesm2022/xsmusices-ui-xs-empty-state.xsstory-CCOJ4b9_.mjs +70 -0
  89. package/fesm2022/xsmusices-ui-xs-empty-state.xsstory-CCOJ4b9_.mjs.map +1 -0
  90. package/fesm2022/xsmusices-ui-xs-filter-panel.xsstory-DbvxGppo.mjs +287 -0
  91. package/fesm2022/xsmusices-ui-xs-filter-panel.xsstory-DbvxGppo.mjs.map +1 -0
  92. package/fesm2022/xsmusices-ui-xs-formly.xsstory-Bjne7mpZ.mjs +3453 -0
  93. package/fesm2022/xsmusices-ui-xs-formly.xsstory-Bjne7mpZ.mjs.map +1 -0
  94. package/fesm2022/xsmusices-ui-xs-full-image.xsstory-xwN2jkW1.mjs +147 -0
  95. package/fesm2022/xsmusices-ui-xs-full-image.xsstory-xwN2jkW1.mjs.map +1 -0
  96. package/fesm2022/xsmusices-ui-xs-icon.xsstory-asFaHy5H.mjs +97 -0
  97. package/fesm2022/xsmusices-ui-xs-icon.xsstory-asFaHy5H.mjs.map +1 -0
  98. package/fesm2022/xsmusices-ui-xs-image.xsstory-BaeUg3Zp.mjs +142 -0
  99. package/fesm2022/xsmusices-ui-xs-image.xsstory-BaeUg3Zp.mjs.map +1 -0
  100. package/fesm2022/xsmusices-ui-xs-info-blocks.xsstory-BHtaC7U6.mjs +957 -0
  101. package/fesm2022/xsmusices-ui-xs-info-blocks.xsstory-BHtaC7U6.mjs.map +1 -0
  102. package/fesm2022/xsmusices-ui-xs-item-action.xsstory-839UkJyC.mjs +153 -0
  103. package/fesm2022/xsmusices-ui-xs-item-action.xsstory-839UkJyC.mjs.map +1 -0
  104. package/fesm2022/xsmusices-ui-xs-item-card.xsstory-EGJ6itkx.mjs +254 -0
  105. package/fesm2022/xsmusices-ui-xs-item-card.xsstory-EGJ6itkx.mjs.map +1 -0
  106. package/fesm2022/xsmusices-ui-xs-item-compact.xsstory-DuSgaCDY.mjs +270 -0
  107. package/fesm2022/xsmusices-ui-xs-item-compact.xsstory-DuSgaCDY.mjs.map +1 -0
  108. package/fesm2022/xsmusices-ui-xs-item-type.xsstory-BWJQ-hDk.mjs +252 -0
  109. package/fesm2022/xsmusices-ui-xs-item-type.xsstory-BWJQ-hDk.mjs.map +1 -0
  110. package/fesm2022/xsmusices-ui-xs-items-slider.xsstory-CS4xTKuJ.mjs +189 -0
  111. package/fesm2022/xsmusices-ui-xs-items-slider.xsstory-CS4xTKuJ.mjs.map +1 -0
  112. package/fesm2022/xsmusices-ui-xs-list.xsstory-BxAErIEF.mjs +633 -0
  113. package/fesm2022/xsmusices-ui-xs-list.xsstory-BxAErIEF.mjs.map +1 -0
  114. package/fesm2022/xsmusices-ui-xs-map.xsstory-DBT6h0Hv.mjs +269 -0
  115. package/fesm2022/xsmusices-ui-xs-map.xsstory-DBT6h0Hv.mjs.map +1 -0
  116. package/fesm2022/xsmusices-ui-xs-maplibre.xsstory-u_NroLqJ.mjs +513 -0
  117. package/fesm2022/xsmusices-ui-xs-maplibre.xsstory-u_NroLqJ.mjs.map +1 -0
  118. package/fesm2022/xsmusices-ui-xs-modal.xsstory-B96CYHF0.mjs +199 -0
  119. package/fesm2022/xsmusices-ui-xs-modal.xsstory-B96CYHF0.mjs.map +1 -0
  120. package/fesm2022/xsmusices-ui-xs-navbar-sidebar.xsstory-DHmPSARx.mjs +122 -0
  121. package/fesm2022/xsmusices-ui-xs-navbar-sidebar.xsstory-DHmPSARx.mjs.map +1 -0
  122. package/fesm2022/xsmusices-ui-xs-navbar.xsstory-CkdvldoV.mjs +182 -0
  123. package/fesm2022/xsmusices-ui-xs-navbar.xsstory-CkdvldoV.mjs.map +1 -0
  124. package/fesm2022/xsmusices-ui-xs-profile-comments.xsstory-CHpCDxLe.mjs +373 -0
  125. package/fesm2022/xsmusices-ui-xs-profile-comments.xsstory-CHpCDxLe.mjs.map +1 -0
  126. package/fesm2022/xsmusices-ui-xs-profile-current-event.xsstory-BtRq4wE4.mjs +111 -0
  127. package/fesm2022/xsmusices-ui-xs-profile-current-event.xsstory-BtRq4wE4.mjs.map +1 -0
  128. package/fesm2022/xsmusices-ui-xs-profile-exclusive.xsstory-B1Sag_X-.mjs +147 -0
  129. package/fesm2022/xsmusices-ui-xs-profile-exclusive.xsstory-B1Sag_X-.mjs.map +1 -0
  130. package/fesm2022/xsmusices-ui-xs-profile-image.xsstory-Cm_ixcdU.mjs +181 -0
  131. package/fesm2022/xsmusices-ui-xs-profile-image.xsstory-Cm_ixcdU.mjs.map +1 -0
  132. package/fesm2022/xsmusices-ui-xs-profile-info.xsstory-DAfsbXrF.mjs +95 -0
  133. package/fesm2022/xsmusices-ui-xs-profile-info.xsstory-DAfsbXrF.mjs.map +1 -0
  134. package/fesm2022/xsmusices-ui-xs-profile-random-flag.xsstory-DH3Y_XX1.mjs +50 -0
  135. package/fesm2022/xsmusices-ui-xs-profile-random-flag.xsstory-DH3Y_XX1.mjs.map +1 -0
  136. package/fesm2022/xsmusices-ui-xs-profile-skeleton.xsstory-BO0ZqUMS.mjs +66 -0
  137. package/fesm2022/xsmusices-ui-xs-profile-skeleton.xsstory-BO0ZqUMS.mjs.map +1 -0
  138. package/fesm2022/xsmusices-ui-xs-profile-tops.xsstory-eKxRAMdS.mjs +246 -0
  139. package/fesm2022/xsmusices-ui-xs-profile-tops.xsstory-eKxRAMdS.mjs.map +1 -0
  140. package/fesm2022/xsmusices-ui-xs-profile-verified.xsstory-HtbUlJFX.mjs +34 -0
  141. package/fesm2022/xsmusices-ui-xs-profile-verified.xsstory-HtbUlJFX.mjs.map +1 -0
  142. package/fesm2022/xsmusices-ui-xs-section-title.xsstory-CHlZ69FK.mjs +180 -0
  143. package/fesm2022/xsmusices-ui-xs-section-title.xsstory-CHlZ69FK.mjs.map +1 -0
  144. package/fesm2022/xsmusices-ui-xs-select-modal.xsstory-BMc6o0W7.mjs +112 -0
  145. package/fesm2022/xsmusices-ui-xs-select-modal.xsstory-BMc6o0W7.mjs.map +1 -0
  146. package/fesm2022/xsmusices-ui-xs-send-scraper.xsstory-Cq6PuwN7.mjs +79 -0
  147. package/fesm2022/xsmusices-ui-xs-send-scraper.xsstory-Cq6PuwN7.mjs.map +1 -0
  148. package/fesm2022/xsmusices-ui-xs-skeleton-for-slider.xsstory-k-uutKIV.mjs +67 -0
  149. package/fesm2022/xsmusices-ui-xs-skeleton-for-slider.xsstory-k-uutKIV.mjs.map +1 -0
  150. package/fesm2022/xsmusices-ui-xs-stepper.xsstory-gKU4wN-_.mjs +91 -0
  151. package/fesm2022/xsmusices-ui-xs-stepper.xsstory-gKU4wN-_.mjs.map +1 -0
  152. package/fesm2022/xsmusices-ui-xs-table-items.xsstory-vR5x6wZe.mjs +95 -0
  153. package/fesm2022/xsmusices-ui-xs-table-items.xsstory-vR5x6wZe.mjs.map +1 -0
  154. package/fesm2022/xsmusices-ui-xs-table.xsstory-DXiZHI7p.mjs +2941 -0
  155. package/fesm2022/xsmusices-ui-xs-table.xsstory-DXiZHI7p.mjs.map +1 -0
  156. package/fesm2022/xsmusices-ui-xs-tabs.xsstory-ColZVzXZ.mjs +72 -0
  157. package/fesm2022/xsmusices-ui-xs-tabs.xsstory-ColZVzXZ.mjs.map +1 -0
  158. package/fesm2022/xsmusices-ui-xs-title-collapse.xsstory-COqb1jdP.mjs +65 -0
  159. package/fesm2022/xsmusices-ui-xs-title-collapse.xsstory-COqb1jdP.mjs.map +1 -0
  160. package/fesm2022/xsmusices-ui-xs-toast.xsstory-BBhGu-j4.mjs +59 -0
  161. package/fesm2022/xsmusices-ui-xs-toast.xsstory-BBhGu-j4.mjs.map +1 -0
  162. package/fesm2022/xsmusices-ui.mjs +707 -575
  163. package/fesm2022/xsmusices-ui.mjs.map +1 -0
  164. package/index.d.ts +69 -66
  165. package/package.json +2 -22
  166. package/LICENSE +0 -9
@@ -0,0 +1,158 @@
1
+ import { XSAlertComponent } from './xsmusices-ui.mjs';
2
+
3
+ const story = {
4
+ id: 'alert',
5
+ name: 'Alert',
6
+ type: 'component',
7
+ subtype: 'UI',
8
+ status: 'active',
9
+ usage: ['admin', 'app', 'monitor'],
10
+ updated: '2026-01-12T19:30:00.000Z',
11
+ created: '2025-12-15T16:32:08.002Z',
12
+ description: 'Componente para mostrar alertas informativas, de éxito, advertencia o error. Incluye ejemplos para diferentes tipos de alertas, con opciones de acción y cierre.',
13
+ component: XSAlertComponent,
14
+ selector: 'xs-alert',
15
+ inputs: [
16
+ {
17
+ key: 'type',
18
+ label: 'Tipo de Alerta',
19
+ type: 'select',
20
+ options: ['info', 'success', 'warning', 'error'],
21
+ default: 'info',
22
+ },
23
+ {
24
+ key: 'title',
25
+ label: 'Título',
26
+ type: 'text',
27
+ default: '',
28
+ },
29
+ {
30
+ key: 'message',
31
+ label: 'Mensaje',
32
+ type: 'text',
33
+ default: 'Este es un mensaje de alerta.',
34
+ },
35
+ {
36
+ key: 'actionText',
37
+ label: 'Texto del Botón de Acción',
38
+ type: 'text',
39
+ default: '',
40
+ },
41
+ {
42
+ key: 'icon',
43
+ label: 'Icono personalizado',
44
+ type: 'text',
45
+ default: '',
46
+ },
47
+ {
48
+ key: 'iconClass',
49
+ label: 'Color del icono (clases)',
50
+ type: 'text',
51
+ default: '',
52
+ },
53
+ {
54
+ key: 'customClass',
55
+ label: 'Clases extra del contenedor',
56
+ type: 'text',
57
+ default: '',
58
+ },
59
+ {
60
+ key: 'dismissible',
61
+ label: 'Cerrable',
62
+ type: 'boolean',
63
+ default: false,
64
+ },
65
+ ],
66
+ examples: [
67
+ {
68
+ name: 'Alerta de Información',
69
+ description: 'Alerta básica para mostrar información general.',
70
+ inputs: {
71
+ type: 'info',
72
+ message: 'Esta es una alerta informativa.',
73
+ },
74
+ },
75
+ {
76
+ name: 'Alerta de Éxito',
77
+ description: 'Alerta para confirmar acciones exitosas.',
78
+ inputs: {
79
+ type: 'success',
80
+ title: '¡Operación Exitosa!',
81
+ message: 'Los cambios se han guardado correctamente.',
82
+ },
83
+ },
84
+ {
85
+ name: 'Alerta de Advertencia',
86
+ description: 'Alerta para llamar la atención sobre situaciones importantes.',
87
+ inputs: {
88
+ type: 'warning',
89
+ title: 'Advertencia',
90
+ message: 'Esta acción no se puede deshacer.',
91
+ },
92
+ },
93
+ {
94
+ name: 'Alerta de Error',
95
+ description: 'Alerta para mostrar errores o problemas.',
96
+ inputs: {
97
+ type: 'error',
98
+ title: 'Error',
99
+ message: 'Ha ocurrido un error al procesar la solicitud.',
100
+ date: '2025-12-28',
101
+ },
102
+ },
103
+ {
104
+ name: 'Alerta de Bloqueo',
105
+ description: 'Estilo translúcido con icono ban para contenido bloqueado por el usuario.',
106
+ inputs: {
107
+ type: 'error',
108
+ icon: 'ban',
109
+ iconClass: 'text-red-500',
110
+ customClass: 'bg-red-500/10 border-red-500/30',
111
+ title: 'Has bloqueado a este artista',
112
+ message: 'No volverá a aparecer en recomendados ni relacionados. En los listados se mostrará marcado como bloqueado. Podrás desbloquearlo cuando quieras.',
113
+ actionText: 'Desbloquear',
114
+ },
115
+ },
116
+ {
117
+ name: 'Alerta con Acción',
118
+ description: 'Alerta con botón de acción para permitir al usuario realizar una tarea.',
119
+ inputs: {
120
+ type: 'warning',
121
+ title: 'Confirmación Requerida',
122
+ message: '¿Está seguro de que desea eliminar este elemento?',
123
+ actionText: 'Eliminar',
124
+ },
125
+ },
126
+ {
127
+ name: 'Alerta Cerrable',
128
+ description: 'Alerta que puede ser cerrada por el usuario.',
129
+ inputs: {
130
+ type: 'info',
131
+ message: 'Esta alerta se puede cerrar haciendo clic en la X.',
132
+ dismissible: true,
133
+ },
134
+ },
135
+ {
136
+ name: 'Alerta Completa',
137
+ description: 'Alerta con título, mensaje, acción y opción de cierre.',
138
+ inputs: {
139
+ type: 'error',
140
+ title: 'Error de Validación',
141
+ message: 'El formulario contiene errores. Por favor, revise los campos marcados.',
142
+ actionText: 'Revisar',
143
+ dismissible: true,
144
+ },
145
+ },
146
+ ],
147
+ multilanguage: true,
148
+ notes: [],
149
+ coverage: {
150
+ statements: 100,
151
+ branches: 100,
152
+ functions: 100,
153
+ lines: 100,
154
+ },
155
+ };
156
+
157
+ export { story };
158
+ //# sourceMappingURL=xsmusices-ui-xs-alert.xsstory-CXTRbHHS.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xsmusices-ui-xs-alert.xsstory-CXTRbHHS.mjs","sources":["../../../projects/xs-ui/src/lib/components/ui/alert/xs-alert.xsstory.ts"],"sourcesContent":["import { StoryMeta } from '../../../story.types';\nimport { XSAlertComponent } from './xs-alert.component';\n\nexport const story: StoryMeta = {\n id: 'alert',\n name: 'Alert',\n type: 'component',\n subtype: 'UI',\n status: 'active',\n usage: ['admin', 'app', 'monitor'],\n updated: '2026-01-12T19:30:00.000Z',\n created: '2025-12-15T16:32:08.002Z',\n description:\n 'Componente para mostrar alertas informativas, de éxito, advertencia o error. Incluye ejemplos para diferentes tipos de alertas, con opciones de acción y cierre.',\n component: XSAlertComponent,\n selector: 'xs-alert',\n inputs: [\n {\n key: 'type',\n label: 'Tipo de Alerta',\n type: 'select',\n options: ['info', 'success', 'warning', 'error'],\n default: 'info',\n },\n {\n key: 'title',\n label: 'Título',\n type: 'text',\n default: '',\n },\n {\n key: 'message',\n label: 'Mensaje',\n type: 'text',\n default: 'Este es un mensaje de alerta.',\n },\n {\n key: 'actionText',\n label: 'Texto del Botón de Acción',\n type: 'text',\n default: '',\n },\n {\n key: 'icon',\n label: 'Icono personalizado',\n type: 'text',\n default: '',\n },\n {\n key: 'iconClass',\n label: 'Color del icono (clases)',\n type: 'text',\n default: '',\n },\n {\n key: 'customClass',\n label: 'Clases extra del contenedor',\n type: 'text',\n default: '',\n },\n {\n key: 'dismissible',\n label: 'Cerrable',\n type: 'boolean',\n default: false,\n },\n ],\n examples: [\n {\n name: 'Alerta de Información',\n description:\n 'Alerta básica para mostrar información general.',\n inputs: {\n type: 'info',\n message: 'Esta es una alerta informativa.',\n },\n },\n {\n name: 'Alerta de Éxito',\n description: 'Alerta para confirmar acciones exitosas.',\n inputs: {\n type: 'success',\n title: '¡Operación Exitosa!',\n message: 'Los cambios se han guardado correctamente.',\n },\n },\n {\n name: 'Alerta de Advertencia',\n description:\n 'Alerta para llamar la atención sobre situaciones importantes.',\n inputs: {\n type: 'warning',\n title: 'Advertencia',\n message: 'Esta acción no se puede deshacer.',\n },\n },\n {\n name: 'Alerta de Error',\n description: 'Alerta para mostrar errores o problemas.',\n inputs: {\n type: 'error',\n title: 'Error',\n message:\n 'Ha ocurrido un error al procesar la solicitud.',\n date: '2025-12-28',\n },\n },\n {\n name: 'Alerta de Bloqueo',\n description:\n 'Estilo translúcido con icono ban para contenido bloqueado por el usuario.',\n inputs: {\n type: 'error',\n icon: 'ban',\n iconClass: 'text-red-500',\n customClass: 'bg-red-500/10 border-red-500/30',\n title: 'Has bloqueado a este artista',\n message:\n 'No volverá a aparecer en recomendados ni relacionados. En los listados se mostrará marcado como bloqueado. Podrás desbloquearlo cuando quieras.',\n actionText: 'Desbloquear',\n },\n },\n {\n name: 'Alerta con Acción',\n description:\n 'Alerta con botón de acción para permitir al usuario realizar una tarea.',\n inputs: {\n type: 'warning',\n title: 'Confirmación Requerida',\n message:\n '¿Está seguro de que desea eliminar este elemento?',\n actionText: 'Eliminar',\n },\n },\n {\n name: 'Alerta Cerrable',\n description:\n 'Alerta que puede ser cerrada por el usuario.',\n inputs: {\n type: 'info',\n message:\n 'Esta alerta se puede cerrar haciendo clic en la X.',\n dismissible: true,\n },\n },\n {\n name: 'Alerta Completa',\n description:\n 'Alerta con título, mensaje, acción y opción de cierre.',\n inputs: {\n type: 'error',\n title: 'Error de Validación',\n message:\n 'El formulario contiene errores. Por favor, revise los campos marcados.',\n actionText: 'Revisar',\n dismissible: true,\n },\n },\n ],\n multilanguage: true,\n notes: [],\n coverage: {\n statements: 100,\n branches: 100,\n functions: 100,\n lines: 100,\n },\n};\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,205 @@
1
+ import { XSAuthComponent } from './xsmusices-ui.mjs';
2
+
3
+ const story = {
4
+ id: 'auth',
5
+ name: 'Auth',
6
+ type: 'component',
7
+ subtype: 'UI',
8
+ status: 'active',
9
+ usage: ['admin', 'app', 'monitor'],
10
+ updated: '2026-08-12T06:50:54.694Z',
11
+ created: '2026-01-01T12:12:55.744Z',
12
+ description: 'Componente de autenticación completo. Soporta login social (Google/Apple), login por email, registro y recuperación de contraseña. Se configura mediante XSAuthConfig.',
13
+ component: XSAuthComponent,
14
+ selector: 'xs-auth',
15
+ inputs: [
16
+ {
17
+ key: 'config',
18
+ label: 'Config',
19
+ type: 'json',
20
+ default: {
21
+ defaultMode: 'home',
22
+ showApple: true,
23
+ showGoogle: true,
24
+ showEmail: true,
25
+ showRegister: true,
26
+ showForgotPassword: true,
27
+ showSubtitle: true,
28
+ language: 'es',
29
+ },
30
+ },
31
+ {
32
+ key: 'isModal',
33
+ label: 'Es Modal',
34
+ type: 'boolean',
35
+ default: false,
36
+ },
37
+ {
38
+ key: 'loading',
39
+ label: 'Cargando',
40
+ type: 'boolean',
41
+ default: false,
42
+ },
43
+ ],
44
+ examples: [
45
+ {
46
+ name: 'App: Login igual que la página de login',
47
+ description: 'Configuración idéntica a la página de login de la app: social visible, registro y olvido como text links, en modo modal para encajar en el layout existente',
48
+ inputs: {
49
+ config: {
50
+ defaultMode: 'home',
51
+ showApple: true,
52
+ showGoogle: true,
53
+ showSocial: true,
54
+ showRegister: true,
55
+ showForgotPassword: true,
56
+ showTitle: false,
57
+ showSubtitle: false,
58
+ language: 'es',
59
+ },
60
+ isModal: true,
61
+ loading: false,
62
+ },
63
+ },
64
+ {
65
+ name: 'App: Login completo con social',
66
+ description: 'Configuración para la app: social visible, registro y olvido de contraseña disponibles',
67
+ inputs: {
68
+ config: {
69
+ defaultMode: 'home',
70
+ showApple: true,
71
+ showGoogle: true,
72
+ showSocial: true,
73
+ showRegister: true,
74
+ showForgotPassword: true,
75
+ showTitle: false,
76
+ showSubtitle: false,
77
+ language: 'es',
78
+ },
79
+ isModal: false,
80
+ loading: false,
81
+ },
82
+ },
83
+ {
84
+ name: 'Admin: Solo email',
85
+ description: 'Configuración para admin: solo formulario de email, sin social ni registro ni iconos de ayuda',
86
+ inputs: {
87
+ config: {
88
+ defaultMode: 'email',
89
+ showApple: false,
90
+ showGoogle: false,
91
+ showSocial: false,
92
+ showRegister: false,
93
+ showForgotPassword: false,
94
+ showTitle: false,
95
+ showSubtitle: false,
96
+ showInfoIcons: false,
97
+ language: 'es',
98
+ },
99
+ isModal: false,
100
+ loading: false,
101
+ },
102
+ },
103
+ {
104
+ name: 'UI Demo: Email + olvido',
105
+ description: 'Configuración para demo: email con opción de recuperar contraseña, sin social ni registro',
106
+ inputs: {
107
+ config: {
108
+ defaultMode: 'email',
109
+ showApple: false,
110
+ showGoogle: false,
111
+ showSocial: false,
112
+ showRegister: false,
113
+ showForgotPassword: true,
114
+ showTitle: false,
115
+ showSubtitle: false,
116
+ language: 'es',
117
+ },
118
+ isModal: false,
119
+ loading: false,
120
+ },
121
+ },
122
+ {
123
+ name: 'Solo registro',
124
+ description: 'Vista de registro directo',
125
+ inputs: {
126
+ config: {
127
+ defaultMode: 'register',
128
+ showSocial: false,
129
+ showTitle: true,
130
+ showSubtitle: true,
131
+ language: 'es',
132
+ },
133
+ isModal: true,
134
+ loading: false,
135
+ },
136
+ },
137
+ {
138
+ name: 'Recuperar contraseña',
139
+ description: 'Vista de recuperación de contraseña',
140
+ inputs: {
141
+ config: {
142
+ defaultMode: 'forgotPassword',
143
+ showSocial: false,
144
+ showTitle: true,
145
+ showSubtitle: true,
146
+ language: 'es',
147
+ },
148
+ isModal: true,
149
+ loading: false,
150
+ },
151
+ },
152
+ {
153
+ name: '2FA Verification',
154
+ description: 'Vista de verificación de código 2FA',
155
+ inputs: {
156
+ config: {
157
+ defaultMode: '2fa',
158
+ showSubtitle: true,
159
+ language: 'es',
160
+ },
161
+ isModal: true,
162
+ loading: false,
163
+ },
164
+ },
165
+ {
166
+ name: 'Cargando',
167
+ description: 'Estado de carga en formulario email',
168
+ inputs: {
169
+ config: {
170
+ defaultMode: 'email',
171
+ showSocial: false,
172
+ showTitle: true,
173
+ showSubtitle: false,
174
+ language: 'es',
175
+ },
176
+ isModal: true,
177
+ loading: true,
178
+ },
179
+ },
180
+ ],
181
+ multilanguage: true,
182
+ notes: [
183
+ {
184
+ text: 'Usa XSTranslateService con i18n propio (es/en). Las traducciones están en i18n/ de auth.',
185
+ type: 'info',
186
+ },
187
+ {
188
+ text: 'showSocial controla todos los botones sociales. showGoogle/showApple controlan individualmente.',
189
+ type: 'info',
190
+ },
191
+ {
192
+ text: 'showInfoIcons controla los iconos de ayuda (i) junto a los labels de los campos. En admin se desactivan porque confunden.',
193
+ type: 'info',
194
+ },
195
+ ],
196
+ coverage: {
197
+ statements: 100,
198
+ branches: 99,
199
+ functions: 100,
200
+ lines: 100,
201
+ },
202
+ };
203
+
204
+ export { story };
205
+ //# sourceMappingURL=xsmusices-ui-xs-auth.xsstory-DxO8iDpd.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xsmusices-ui-xs-auth.xsstory-DxO8iDpd.mjs","sources":["../../../projects/xs-ui/src/lib/components/ui/auth/xs-auth.xsstory.ts"],"sourcesContent":["import { StoryMeta } from '../../../story.types';\nimport { XSAuthComponent } from './xs-auth.component';\n\nexport const story: StoryMeta = {\n id: 'auth',\n name: 'Auth',\n type: 'component',\n subtype: 'UI',\n status: 'active',\n usage: ['admin', 'app', 'monitor'],\n updated: '2026-08-12T06:50:54.694Z',\n created: '2026-01-01T12:12:55.744Z',\n description:\n 'Componente de autenticación completo. Soporta login social (Google/Apple), login por email, registro y recuperación de contraseña. Se configura mediante XSAuthConfig.',\n component: XSAuthComponent,\n selector: 'xs-auth',\n inputs: [\n {\n key: 'config',\n label: 'Config',\n type: 'json',\n default: {\n defaultMode: 'home',\n showApple: true,\n showGoogle: true,\n showEmail: true,\n showRegister: true,\n showForgotPassword: true,\n showSubtitle: true,\n language: 'es',\n },\n },\n {\n key: 'isModal',\n label: 'Es Modal',\n type: 'boolean',\n default: false,\n },\n {\n key: 'loading',\n label: 'Cargando',\n type: 'boolean',\n default: false,\n },\n ],\n examples: [\n {\n name: 'App: Login igual que la página de login',\n description:\n 'Configuración idéntica a la página de login de la app: social visible, registro y olvido como text links, en modo modal para encajar en el layout existente',\n inputs: {\n config: {\n defaultMode: 'home',\n showApple: true,\n showGoogle: true,\n showSocial: true,\n showRegister: true,\n showForgotPassword: true,\n showTitle: false,\n showSubtitle: false,\n language: 'es',\n },\n isModal: true,\n loading: false,\n },\n },\n {\n name: 'App: Login completo con social',\n description:\n 'Configuración para la app: social visible, registro y olvido de contraseña disponibles',\n inputs: {\n config: {\n defaultMode: 'home',\n showApple: true,\n showGoogle: true,\n showSocial: true,\n showRegister: true,\n showForgotPassword: true,\n showTitle: false,\n showSubtitle: false,\n language: 'es',\n },\n isModal: false,\n loading: false,\n },\n },\n {\n name: 'Admin: Solo email',\n description:\n 'Configuración para admin: solo formulario de email, sin social ni registro ni iconos de ayuda',\n inputs: {\n config: {\n defaultMode: 'email',\n showApple: false,\n showGoogle: false,\n showSocial: false,\n showRegister: false,\n showForgotPassword: false,\n showTitle: false,\n showSubtitle: false,\n showInfoIcons: false,\n language: 'es',\n },\n isModal: false,\n loading: false,\n },\n },\n {\n name: 'UI Demo: Email + olvido',\n description:\n 'Configuración para demo: email con opción de recuperar contraseña, sin social ni registro',\n inputs: {\n config: {\n defaultMode: 'email',\n showApple: false,\n showGoogle: false,\n showSocial: false,\n showRegister: false,\n showForgotPassword: true,\n showTitle: false,\n showSubtitle: false,\n language: 'es',\n },\n isModal: false,\n loading: false,\n },\n },\n {\n name: 'Solo registro',\n description: 'Vista de registro directo',\n inputs: {\n config: {\n defaultMode: 'register',\n showSocial: false,\n showTitle: true,\n showSubtitle: true,\n language: 'es',\n },\n isModal: true,\n loading: false,\n },\n },\n {\n name: 'Recuperar contraseña',\n description: 'Vista de recuperación de contraseña',\n inputs: {\n config: {\n defaultMode: 'forgotPassword',\n showSocial: false,\n showTitle: true,\n showSubtitle: true,\n language: 'es',\n },\n isModal: true,\n loading: false,\n },\n },\n {\n name: '2FA Verification',\n description: 'Vista de verificación de código 2FA',\n inputs: {\n config: {\n defaultMode: '2fa',\n showSubtitle: true,\n language: 'es',\n },\n isModal: true,\n loading: false,\n },\n },\n {\n name: 'Cargando',\n description: 'Estado de carga en formulario email',\n inputs: {\n config: {\n defaultMode: 'email',\n showSocial: false,\n showTitle: true,\n showSubtitle: false,\n language: 'es',\n },\n isModal: true,\n loading: true,\n },\n },\n ],\n multilanguage: true,\n notes: [\n {\n text: 'Usa XSTranslateService con i18n propio (es/en). Las traducciones están en i18n/ de auth.',\n type: 'info',\n },\n {\n text: 'showSocial controla todos los botones sociales. showGoogle/showApple controlan individualmente.',\n type: 'info',\n },\n {\n text: 'showInfoIcons controla los iconos de ayuda (i) junto a los labels de los campos. En admin se desactivan porque confunden.',\n type: 'info',\n },\n ],\n coverage: {\n statements: 100,\n branches: 99,\n functions: 100,\n lines: 100,\n },\n};\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,232 @@
1
+ import { XSBadgeComponent } from './xsmusices-ui.mjs';
2
+
3
+ const story = {
4
+ id: 'badge',
5
+ name: 'Badge',
6
+ type: 'component',
7
+ subtype: 'UI',
8
+ status: 'active',
9
+ usage: [],
10
+ updated: '2026-07-19T09:10:00.000Z',
11
+ created: '2026-01-01T12:12:55.757Z',
12
+ description: 'Componente Badge para mostrar información con diferentes variantes y tamaños.',
13
+ component: XSBadgeComponent,
14
+ selector: 'xs-badge',
15
+ inputs: [
16
+ {
17
+ key: 'variant',
18
+ label: 'Variante visual del badge',
19
+ type: 'select',
20
+ options: [
21
+ 'default',
22
+ 'success',
23
+ 'warning',
24
+ 'error',
25
+ 'info',
26
+ 'secondary',
27
+ 'amber',
28
+ ],
29
+ default: 'default',
30
+ },
31
+ {
32
+ key: 'size',
33
+ label: 'Tamaño del badge',
34
+ type: 'select',
35
+ options: ['sm', 'md', 'lg'],
36
+ default: 'md',
37
+ },
38
+ {
39
+ key: 'icon',
40
+ label: 'Nombre del icono de FontAwesome',
41
+ type: 'text',
42
+ },
43
+ {
44
+ key: 'label',
45
+ label: 'Texto a mostrar en el badge',
46
+ type: 'text',
47
+ },
48
+ {
49
+ key: 'ariaLabel',
50
+ label: 'Etiqueta de accesibilidad',
51
+ type: 'text',
52
+ },
53
+ ],
54
+ examples: [
55
+ // --- TODOS LOS TAMAÑOS ---
56
+ {
57
+ name: 'Tamaños (default)',
58
+ description: 'Badge default en todos los tamaños',
59
+ inputs: { variant: 'default', label: 'Default' },
60
+ },
61
+ {
62
+ name: 'Tamaños (success)',
63
+ description: 'Badge success en todos los tamaños',
64
+ inputs: { variant: 'success', label: 'Success' },
65
+ },
66
+ {
67
+ name: 'Tamaños (warning)',
68
+ description: 'Badge warning en todos los tamaños',
69
+ inputs: { variant: 'warning', label: 'Warning' },
70
+ },
71
+ {
72
+ name: 'Tamaños (error)',
73
+ description: 'Badge error en todos los tamaños',
74
+ inputs: { variant: 'error', label: 'Error' },
75
+ },
76
+ {
77
+ name: 'Tamaños (info)',
78
+ description: 'Badge info en todos los tamaños',
79
+ inputs: { variant: 'info', label: 'Info' },
80
+ },
81
+ {
82
+ name: 'Tamaños (secondary)',
83
+ description: 'Badge secondary en todos los tamaños',
84
+ inputs: { variant: 'secondary', label: 'Secondary' },
85
+ },
86
+ {
87
+ name: 'Tamaños (amber)',
88
+ description: 'Badge amber en todos los tamaños',
89
+ inputs: { variant: 'amber', label: 'Amber' },
90
+ },
91
+ // --- TODAS LAS VARIANTES CON ICONO ---
92
+ {
93
+ name: 'Default con icono',
94
+ description: 'Badge default con icono',
95
+ inputs: {
96
+ variant: 'default',
97
+ icon: 'tag',
98
+ label: 'Default',
99
+ },
100
+ },
101
+ {
102
+ name: 'Success con icono',
103
+ description: 'Badge success con icono check',
104
+ inputs: {
105
+ variant: 'success',
106
+ icon: 'check-circle',
107
+ label: 'Completado',
108
+ },
109
+ },
110
+ {
111
+ name: 'Warning con icono',
112
+ description: 'Badge warning con icono exclamation',
113
+ inputs: {
114
+ variant: 'warning',
115
+ icon: 'exclamation-triangle',
116
+ label: 'Pendiente',
117
+ },
118
+ },
119
+ {
120
+ name: 'Error con icono',
121
+ description: 'Badge error con icono times',
122
+ inputs: {
123
+ variant: 'error',
124
+ icon: 'times-circle',
125
+ label: 'Error',
126
+ },
127
+ },
128
+ {
129
+ name: 'Info con icono',
130
+ description: 'Badge info con icono info',
131
+ inputs: {
132
+ variant: 'info',
133
+ icon: 'info-circle',
134
+ label: 'Información',
135
+ },
136
+ },
137
+ {
138
+ name: 'Secondary con icono',
139
+ description: 'Badge secondary con icono clock',
140
+ inputs: {
141
+ variant: 'secondary',
142
+ icon: 'clock',
143
+ label: 'Pendiente',
144
+ },
145
+ },
146
+ {
147
+ name: 'Amber con icono',
148
+ description: 'Badge amber con icono star',
149
+ inputs: {
150
+ variant: 'amber',
151
+ icon: 'star',
152
+ label: 'Destacado',
153
+ },
154
+ },
155
+ // --- EJEMPLOS REALES ---
156
+ {
157
+ name: 'Uso real: estado',
158
+ description: 'Badge para estados',
159
+ inputs: {
160
+ variant: 'success',
161
+ size: 'md',
162
+ label: 'Activo',
163
+ },
164
+ },
165
+ {
166
+ name: 'Uso real: tipo de contenido',
167
+ description: 'Badge para tipo de contenido',
168
+ inputs: { variant: 'info', size: 'md', label: 'Media' },
169
+ },
170
+ {
171
+ name: 'Uso real: evento finalizado',
172
+ description: 'Badge error para evento pasado',
173
+ inputs: {
174
+ variant: 'error',
175
+ size: 'md',
176
+ label: 'Finalizado',
177
+ },
178
+ },
179
+ {
180
+ name: 'Uso real: badge largo',
181
+ description: 'Badge con texto largo y icono',
182
+ inputs: {
183
+ variant: 'info',
184
+ size: 'md',
185
+ icon: 'music',
186
+ label: 'Techno, Hard Techno',
187
+ },
188
+ },
189
+ {
190
+ name: 'Uso real: etiqueta de local',
191
+ description: 'Badge secondary para local/venue',
192
+ inputs: {
193
+ variant: 'secondary',
194
+ size: 'md',
195
+ label: 'Local',
196
+ },
197
+ },
198
+ {
199
+ name: 'Uso real: recomendado',
200
+ description: 'Badge amber para destacar',
201
+ inputs: {
202
+ variant: 'amber',
203
+ size: 'md',
204
+ label: 'Recomendado',
205
+ },
206
+ },
207
+ ],
208
+ multilanguage: false,
209
+ notes: [
210
+ {
211
+ text: 'Variantes: default, success, warning, error, info, secondary, amber.',
212
+ type: 'info',
213
+ },
214
+ {
215
+ text: 'Tamaños: sm (8px), md (10px), lg (12px).',
216
+ type: 'info',
217
+ },
218
+ {
219
+ text: 'Usa backdrop-filter blur para fondos oscuros.',
220
+ type: 'info',
221
+ },
222
+ ],
223
+ coverage: {
224
+ statements: 25,
225
+ branches: 0,
226
+ functions: 0,
227
+ lines: 25,
228
+ },
229
+ };
230
+
231
+ export { story };
232
+ //# sourceMappingURL=xsmusices-ui-xs-badge.xsstory-BZnTAQWz.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xsmusices-ui-xs-badge.xsstory-BZnTAQWz.mjs","sources":["../../../projects/xs-ui/src/lib/components/ui/badge/xs-badge.xsstory.ts"],"sourcesContent":["import { StoryMeta } from '../../../story.types';\nimport { XSBadgeComponent } from './xs-badge.component';\n\nexport const story: StoryMeta = {\n id: 'badge',\n name: 'Badge',\n type: 'component',\n subtype: 'UI',\n status: 'active',\n usage: [],\n updated: '2026-07-19T09:10:00.000Z',\n created: '2026-01-01T12:12:55.757Z',\n description:\n 'Componente Badge para mostrar información con diferentes variantes y tamaños.',\n component: XSBadgeComponent,\n selector: 'xs-badge',\n inputs: [\n {\n key: 'variant',\n label: 'Variante visual del badge',\n type: 'select',\n options: [\n 'default',\n 'success',\n 'warning',\n 'error',\n 'info',\n 'secondary',\n 'amber',\n ],\n default: 'default',\n },\n {\n key: 'size',\n label: 'Tamaño del badge',\n type: 'select',\n options: ['sm', 'md', 'lg'],\n default: 'md',\n },\n {\n key: 'icon',\n label: 'Nombre del icono de FontAwesome',\n type: 'text',\n },\n {\n key: 'label',\n label: 'Texto a mostrar en el badge',\n type: 'text',\n },\n {\n key: 'ariaLabel',\n label: 'Etiqueta de accesibilidad',\n type: 'text',\n },\n ],\n examples: [\n // --- TODOS LOS TAMAÑOS ---\n {\n name: 'Tamaños (default)',\n description: 'Badge default en todos los tamaños',\n inputs: { variant: 'default', label: 'Default' },\n },\n {\n name: 'Tamaños (success)',\n description: 'Badge success en todos los tamaños',\n inputs: { variant: 'success', label: 'Success' },\n },\n {\n name: 'Tamaños (warning)',\n description: 'Badge warning en todos los tamaños',\n inputs: { variant: 'warning', label: 'Warning' },\n },\n {\n name: 'Tamaños (error)',\n description: 'Badge error en todos los tamaños',\n inputs: { variant: 'error', label: 'Error' },\n },\n {\n name: 'Tamaños (info)',\n description: 'Badge info en todos los tamaños',\n inputs: { variant: 'info', label: 'Info' },\n },\n {\n name: 'Tamaños (secondary)',\n description: 'Badge secondary en todos los tamaños',\n inputs: { variant: 'secondary', label: 'Secondary' },\n },\n {\n name: 'Tamaños (amber)',\n description: 'Badge amber en todos los tamaños',\n inputs: { variant: 'amber', label: 'Amber' },\n },\n // --- TODAS LAS VARIANTES CON ICONO ---\n {\n name: 'Default con icono',\n description: 'Badge default con icono',\n inputs: {\n variant: 'default',\n icon: 'tag',\n label: 'Default',\n },\n },\n {\n name: 'Success con icono',\n description: 'Badge success con icono check',\n inputs: {\n variant: 'success',\n icon: 'check-circle',\n label: 'Completado',\n },\n },\n {\n name: 'Warning con icono',\n description: 'Badge warning con icono exclamation',\n inputs: {\n variant: 'warning',\n icon: 'exclamation-triangle',\n label: 'Pendiente',\n },\n },\n {\n name: 'Error con icono',\n description: 'Badge error con icono times',\n inputs: {\n variant: 'error',\n icon: 'times-circle',\n label: 'Error',\n },\n },\n {\n name: 'Info con icono',\n description: 'Badge info con icono info',\n inputs: {\n variant: 'info',\n icon: 'info-circle',\n label: 'Información',\n },\n },\n {\n name: 'Secondary con icono',\n description: 'Badge secondary con icono clock',\n inputs: {\n variant: 'secondary',\n icon: 'clock',\n label: 'Pendiente',\n },\n },\n {\n name: 'Amber con icono',\n description: 'Badge amber con icono star',\n inputs: {\n variant: 'amber',\n icon: 'star',\n label: 'Destacado',\n },\n },\n // --- EJEMPLOS REALES ---\n {\n name: 'Uso real: estado',\n description: 'Badge para estados',\n inputs: {\n variant: 'success',\n size: 'md',\n label: 'Activo',\n },\n },\n {\n name: 'Uso real: tipo de contenido',\n description: 'Badge para tipo de contenido',\n inputs: { variant: 'info', size: 'md', label: 'Media' },\n },\n {\n name: 'Uso real: evento finalizado',\n description: 'Badge error para evento pasado',\n inputs: {\n variant: 'error',\n size: 'md',\n label: 'Finalizado',\n },\n },\n {\n name: 'Uso real: badge largo',\n description: 'Badge con texto largo y icono',\n inputs: {\n variant: 'info',\n size: 'md',\n icon: 'music',\n label: 'Techno, Hard Techno',\n },\n },\n {\n name: 'Uso real: etiqueta de local',\n description: 'Badge secondary para local/venue',\n inputs: {\n variant: 'secondary',\n size: 'md',\n label: 'Local',\n },\n },\n {\n name: 'Uso real: recomendado',\n description: 'Badge amber para destacar',\n inputs: {\n variant: 'amber',\n size: 'md',\n label: 'Recomendado',\n },\n },\n ],\n multilanguage: false,\n notes: [\n {\n text: 'Variantes: default, success, warning, error, info, secondary, amber.',\n type: 'info',\n },\n {\n text: 'Tamaños: sm (8px), md (10px), lg (12px).',\n type: 'info',\n },\n {\n text: 'Usa backdrop-filter blur para fondos oscuros.',\n type: 'info',\n },\n ],\n coverage: {\n statements: 25,\n branches: 0,\n functions: 0,\n lines: 25,\n },\n};\n"],"names":[],"mappings":"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"}