@xsmusices/ui 0.0.0-stage → 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 (167) hide show
  1. package/README.md +78 -2
  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 +23429 -0
  163. package/fesm2022/xsmusices-ui.mjs.map +1 -0
  164. package/index.d.ts +5851 -0
  165. package/package.json +45 -4
  166. package/styles/shared-base.css +93 -0
  167. package/styles/shared-utilities.css +349 -0
@@ -0,0 +1,147 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import { XSFullImageService, XSFullImageComponent } from './xsmusices-ui.mjs';
4
+
5
+ class XSFullImageDemoComponent {
6
+ fullImage = inject(XSFullImageService);
7
+ open(url) {
8
+ this.fullImage.show({
9
+ remoteUrl: url,
10
+ item: { _id: 'demo' },
11
+ });
12
+ }
13
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: XSFullImageDemoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.33", type: XSFullImageDemoComponent, isStandalone: true, selector: "xs-full-image-demo", ngImport: i0, template: `
15
+ <div
16
+ style="display:flex;flex-direction:column;gap:12px;align-items:flex-start;padding:1rem"
17
+ >
18
+ <p style="color:white;font-size:0.875rem;margin:0">
19
+ Pincha la imagen para abrir el visor. En móvil: haz zoom
20
+ con dos dedos, doble tap para ampliar, swipe abajo para
21
+ cerrar. En desktop: scroll para zoom.
22
+ </p>
23
+ <img
24
+ src="https://picsum.photos/seed/full-image-thumb/200/120"
25
+ alt="thumbnail"
26
+ style="cursor:pointer;border-radius:6px;max-width:200px;height:auto"
27
+ (click)="
28
+ open('https://picsum.photos/seed/full-image/1200/800')
29
+ "
30
+ />
31
+ <button
32
+ (click)="
33
+ open(
34
+ 'https://picsum.photos/seed/full-image-2/800/1200'
35
+ )
36
+ "
37
+ class="xs-btn"
38
+ >
39
+ Imagen vertical (retrato)
40
+ </button>
41
+ <button
42
+ (click)="
43
+ open('https://picsum.photos/seed/full-image-3/400/400')
44
+ "
45
+ class="xs-btn"
46
+ >
47
+ Imagen cuadrada
48
+ </button>
49
+ </div>
50
+ <xs-full-image></xs-full-image>
51
+ `, isInline: true, dependencies: [{ kind: "component", type: XSFullImageComponent, selector: "xs-full-image", inputs: ["ariaLabel"], outputs: ["downloadItem", "shareItem"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
52
+ }
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: XSFullImageDemoComponent, decorators: [{
54
+ type: Component,
55
+ args: [{
56
+ imports: [XSFullImageComponent],
57
+ selector: 'xs-full-image-demo',
58
+ changeDetection: ChangeDetectionStrategy.OnPush,
59
+ template: `
60
+ <div
61
+ style="display:flex;flex-direction:column;gap:12px;align-items:flex-start;padding:1rem"
62
+ >
63
+ <p style="color:white;font-size:0.875rem;margin:0">
64
+ Pincha la imagen para abrir el visor. En móvil: haz zoom
65
+ con dos dedos, doble tap para ampliar, swipe abajo para
66
+ cerrar. En desktop: scroll para zoom.
67
+ </p>
68
+ <img
69
+ src="https://picsum.photos/seed/full-image-thumb/200/120"
70
+ alt="thumbnail"
71
+ style="cursor:pointer;border-radius:6px;max-width:200px;height:auto"
72
+ (click)="
73
+ open('https://picsum.photos/seed/full-image/1200/800')
74
+ "
75
+ />
76
+ <button
77
+ (click)="
78
+ open(
79
+ 'https://picsum.photos/seed/full-image-2/800/1200'
80
+ )
81
+ "
82
+ class="xs-btn"
83
+ >
84
+ Imagen vertical (retrato)
85
+ </button>
86
+ <button
87
+ (click)="
88
+ open('https://picsum.photos/seed/full-image-3/400/400')
89
+ "
90
+ class="xs-btn"
91
+ >
92
+ Imagen cuadrada
93
+ </button>
94
+ </div>
95
+ <xs-full-image></xs-full-image>
96
+ `,
97
+ }]
98
+ }] });
99
+
100
+ const story = {
101
+ id: 'full-image',
102
+ name: 'Full Image',
103
+ type: 'component',
104
+ subtype: 'UI',
105
+ status: 'active',
106
+ usage: ['admin', 'app', 'monitor'],
107
+ updated: '2026-07-23T12:00:00.000Z',
108
+ created: '2026-01-16T07:39:20.801Z',
109
+ description: 'Visor de imagen fullscreen con zoom (pinch/doble tap/scroll), swipe-to-dismiss, descarga y compartir.',
110
+ component: XSFullImageDemoComponent,
111
+ selector: 'xs-full-image-demo',
112
+ inputs: [],
113
+ examples: [
114
+ {
115
+ name: 'Example',
116
+ description: 'Demo con tres formatos de imagen (horizontal, vertical, cuadrada).',
117
+ inputs: {},
118
+ },
119
+ ],
120
+ multilanguage: false,
121
+ notes: [
122
+ { text: 'Pinch-to-zoom y doble tap en móvil', type: 'info' },
123
+ { text: 'Swipe vertical para cerrar', type: 'info' },
124
+ { text: 'Scroll wheel para zoom en desktop', type: 'info' },
125
+ {
126
+ text: 'Botones de descarga y compartir en la esquina superior derecha',
127
+ type: 'info',
128
+ },
129
+ {
130
+ text: 'iOS: la app padre debe escuchar downloadItem/shareItem para usar Capacitor',
131
+ type: 'warning',
132
+ },
133
+ {
134
+ text: 'Badge de nivel de zoom actual cuando >1x',
135
+ type: 'info',
136
+ },
137
+ ],
138
+ coverage: {
139
+ statements: 71,
140
+ branches: 0,
141
+ functions: 75,
142
+ lines: 71,
143
+ },
144
+ };
145
+
146
+ export { story };
147
+ //# sourceMappingURL=xsmusices-ui-xs-full-image.xsstory-xwN2jkW1.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xsmusices-ui-xs-full-image.xsstory-xwN2jkW1.mjs","sources":["../../../projects/xs-ui/src/lib/components/ui/full-image/xs-full-image.demo.component.ts","../../../projects/xs-ui/src/lib/components/ui/full-image/xs-full-image.xsstory.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n inject,\n} from '@angular/core';\nimport { XSFullImageService } from './xs-full-image.service';\nimport { XSFullImageComponent } from './xs-full-image.component';\n\n@Component({\n imports: [XSFullImageComponent],\n selector: 'xs-full-image-demo',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <div\n style=\"display:flex;flex-direction:column;gap:12px;align-items:flex-start;padding:1rem\"\n >\n <p style=\"color:white;font-size:0.875rem;margin:0\">\n Pincha la imagen para abrir el visor. En móvil: haz zoom\n con dos dedos, doble tap para ampliar, swipe abajo para\n cerrar. En desktop: scroll para zoom.\n </p>\n <img\n src=\"https://picsum.photos/seed/full-image-thumb/200/120\"\n alt=\"thumbnail\"\n style=\"cursor:pointer;border-radius:6px;max-width:200px;height:auto\"\n (click)=\"\n open('https://picsum.photos/seed/full-image/1200/800')\n \"\n />\n <button\n (click)=\"\n open(\n 'https://picsum.photos/seed/full-image-2/800/1200'\n )\n \"\n class=\"xs-btn\"\n >\n Imagen vertical (retrato)\n </button>\n <button\n (click)=\"\n open('https://picsum.photos/seed/full-image-3/400/400')\n \"\n class=\"xs-btn\"\n >\n Imagen cuadrada\n </button>\n </div>\n <xs-full-image></xs-full-image>\n `,\n})\nexport class XSFullImageDemoComponent {\n private fullImage = inject(XSFullImageService);\n\n open(url: string) {\n this.fullImage.show({\n remoteUrl: url,\n item: { _id: 'demo' },\n });\n }\n}\n","import { StoryMeta } from '../../../story.types';\nimport { XSFullImageDemoComponent } from './xs-full-image.demo.component';\n\nexport const story: StoryMeta = {\n id: 'full-image',\n name: 'Full Image',\n type: 'component',\n subtype: 'UI',\n status: 'active',\n usage: ['admin', 'app', 'monitor'],\n updated: '2026-07-23T12:00:00.000Z',\n created: '2026-01-16T07:39:20.801Z',\n description:\n 'Visor de imagen fullscreen con zoom (pinch/doble tap/scroll), swipe-to-dismiss, descarga y compartir.',\n component: XSFullImageDemoComponent,\n selector: 'xs-full-image-demo',\n inputs: [],\n examples: [\n {\n name: 'Example',\n description:\n 'Demo con tres formatos de imagen (horizontal, vertical, cuadrada).',\n inputs: {},\n },\n ],\n multilanguage: false,\n notes: [\n { text: 'Pinch-to-zoom y doble tap en móvil', type: 'info' },\n { text: 'Swipe vertical para cerrar', type: 'info' },\n { text: 'Scroll wheel para zoom en desktop', type: 'info' },\n {\n text: 'Botones de descarga y compartir en la esquina superior derecha',\n type: 'info',\n },\n {\n text: 'iOS: la app padre debe escuchar downloadItem/shareItem para usar Capacitor',\n type: 'warning',\n },\n {\n text: 'Badge de nivel de zoom actual cuando >1x',\n type: 'info',\n },\n ],\n coverage: {\n statements: 71,\n branches: 0,\n functions: 75,\n lines: 71,\n },\n};\n"],"names":[],"mappings":";;;;MAmDa,wBAAwB,CAAA;AAC3B,IAAA,SAAS,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAE9C,IAAA,IAAI,CAAC,GAAW,EAAA;AACd,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;AAClB,YAAA,SAAS,EAAE,GAAG;AACd,YAAA,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE;AACtB,SAAA,CAAC;IACJ;wGARW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAxB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAvCzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAxCS,oBAAoB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FA0CnB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBA3CpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,oBAAoB,CAAC;AAC/B,oBAAA,QAAQ,EAAE,oBAAoB;oBAC9B,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCT,EAAA,CAAA;AACF,iBAAA;;;AC/CM,MAAM,KAAK,GAAc;AAC9B,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,IAAI,EAAE,YAAY;AAClB,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC;AAClC,IAAA,OAAO,EAAE,0BAA0B;AACnC,IAAA,OAAO,EAAE,0BAA0B;AACnC,IAAA,WAAW,EACT,uGAAuG;AACzG,IAAA,SAAS,EAAE,wBAAwB;AACnC,IAAA,QAAQ,EAAE,oBAAoB;AAC9B,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,QAAQ,EAAE;AACR,QAAA;AACE,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,WAAW,EACT,oEAAoE;AACtE,YAAA,MAAM,EAAE,EAAE;AACX,SAAA;AACF,KAAA;AACD,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,KAAK,EAAE;AACL,QAAA,EAAE,IAAI,EAAE,oCAAoC,EAAE,IAAI,EAAE,MAAM,EAAE;AAC5D,QAAA,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,MAAM,EAAE;AACpD,QAAA,EAAE,IAAI,EAAE,mCAAmC,EAAE,IAAI,EAAE,MAAM,EAAE;AAC3D,QAAA;AACE,YAAA,IAAI,EAAE,gEAAgE;AACtE,YAAA,IAAI,EAAE,MAAM;AACb,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,4EAA4E;AAClF,YAAA,IAAI,EAAE,SAAS;AAChB,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,0CAA0C;AAChD,YAAA,IAAI,EAAE,MAAM;AACb,SAAA;AACF,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,UAAU,EAAE,EAAE;AACd,QAAA,QAAQ,EAAE,CAAC;AACX,QAAA,SAAS,EAAE,EAAE;AACb,QAAA,KAAK,EAAE,EAAE;AACV,KAAA;;;;;"}
@@ -0,0 +1,97 @@
1
+ import { XSIconComponent } from './xsmusices-ui.mjs';
2
+
3
+ const story = {
4
+ id: 'icon',
5
+ name: 'Icon',
6
+ type: 'component',
7
+ subtype: 'Base',
8
+ status: 'active',
9
+ usage: ['admin', 'app', 'monitor'],
10
+ updated: '2025-01-27T21:45:00.000Z',
11
+ created: '2026-01-01T12:12:55.705Z',
12
+ description: 'Componente Icon que maneja iconos de FontAwesome de forma segura. Convierte automáticamente strings y arrays a IconProp válidos, con fallback a icono por defecto si no existe.',
13
+ component: XSIconComponent,
14
+ selector: 'xs-icon',
15
+ inputs: [
16
+ {
17
+ key: 'icon',
18
+ label: 'Icono (string, array o IconProp)',
19
+ type: 'json',
20
+ default: 'circle-question',
21
+ },
22
+ {
23
+ key: 'size',
24
+ label: 'Tamaño del icono',
25
+ type: 'select',
26
+ options: [
27
+ 'xs',
28
+ 'sm',
29
+ 'normal',
30
+ 'lg',
31
+ 'xl',
32
+ '2xl',
33
+ '3xl',
34
+ '4xl',
35
+ '5xl',
36
+ '6xl',
37
+ '7xl',
38
+ ],
39
+ default: 'normal',
40
+ },
41
+ {
42
+ key: 'class',
43
+ label: 'Clases CSS adicionales',
44
+ type: 'text',
45
+ default: '',
46
+ },
47
+ ],
48
+ examples: [
49
+ {
50
+ name: 'Icono básico (string)',
51
+ description: 'Icono usando un string simple',
52
+ inputs: {
53
+ icon: 'user',
54
+ },
55
+ },
56
+ {
57
+ name: 'Icono con array',
58
+ description: 'Icono usando un array [prefix, name]',
59
+ inputs: {
60
+ icon: ['fas', 'user'],
61
+ },
62
+ },
63
+ {
64
+ name: 'Icono de marca (brand)',
65
+ description: 'Icono de una marca usando array',
66
+ inputs: {
67
+ icon: ['fab', 'github'],
68
+ },
69
+ },
70
+ {
71
+ name: 'Icono inexistente (fallback)',
72
+ description: 'Icono que no existe - muestra el fallback',
73
+ inputs: {
74
+ icon: 'icono-inexistente',
75
+ },
76
+ },
77
+ {
78
+ name: 'Diferentes tamaños',
79
+ description: 'Iconos con diferentes tamaños',
80
+ inputs: {
81
+ icon: 'star',
82
+ size: '3xl',
83
+ },
84
+ },
85
+ {
86
+ name: 'Con clases personalizadas',
87
+ description: 'Icono con clases CSS adicionales',
88
+ inputs: {
89
+ icon: 'heart',
90
+ class: 'text-red-500',
91
+ },
92
+ },
93
+ ],
94
+ };
95
+
96
+ export { story };
97
+ //# sourceMappingURL=xsmusices-ui-xs-icon.xsstory-asFaHy5H.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xsmusices-ui-xs-icon.xsstory-asFaHy5H.mjs","sources":["../../../projects/xs-ui/src/lib/components/base/icon/xs-icon.xsstory.ts"],"sourcesContent":["import { StoryMeta } from '../../../story.types';\nimport { XSIconComponent } from './';\n\nexport const story: StoryMeta = {\n id: 'icon',\n name: 'Icon',\n type: 'component',\n subtype: 'Base',\n status: 'active',\n usage: ['admin', 'app', 'monitor'],\n updated: '2025-01-27T21:45:00.000Z',\n created: '2026-01-01T12:12:55.705Z',\n description:\n 'Componente Icon que maneja iconos de FontAwesome de forma segura. Convierte automáticamente strings y arrays a IconProp válidos, con fallback a icono por defecto si no existe.',\n component: XSIconComponent,\n selector: 'xs-icon',\n inputs: [\n {\n key: 'icon',\n label: 'Icono (string, array o IconProp)',\n type: 'json',\n default: 'circle-question',\n },\n {\n key: 'size',\n label: 'Tamaño del icono',\n type: 'select',\n options: [\n 'xs',\n 'sm',\n 'normal',\n 'lg',\n 'xl',\n '2xl',\n '3xl',\n '4xl',\n '5xl',\n '6xl',\n '7xl',\n ],\n default: 'normal',\n },\n {\n key: 'class',\n label: 'Clases CSS adicionales',\n type: 'text',\n default: '',\n },\n ],\n examples: [\n {\n name: 'Icono básico (string)',\n description: 'Icono usando un string simple',\n inputs: {\n icon: 'user',\n },\n },\n {\n name: 'Icono con array',\n description: 'Icono usando un array [prefix, name]',\n inputs: {\n icon: ['fas', 'user'],\n },\n },\n {\n name: 'Icono de marca (brand)',\n description: 'Icono de una marca usando array',\n inputs: {\n icon: ['fab', 'github'],\n },\n },\n {\n name: 'Icono inexistente (fallback)',\n description: 'Icono que no existe - muestra el fallback',\n inputs: {\n icon: 'icono-inexistente',\n },\n },\n {\n name: 'Diferentes tamaños',\n description: 'Iconos con diferentes tamaños',\n inputs: {\n icon: 'star',\n size: '3xl',\n },\n },\n {\n name: 'Con clases personalizadas',\n description: 'Icono con clases CSS adicionales',\n inputs: {\n icon: 'heart',\n class: 'text-red-500',\n },\n },\n ],\n};\n"],"names":[],"mappings":";;AAGO,MAAM,KAAK,GAAc;AAC9B,IAAA,EAAE,EAAE,MAAM;AACV,IAAA,IAAI,EAAE,MAAM;AACZ,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,OAAO,EAAE,0BAA0B;AACnC,IAAA,OAAO,EAAE,0BAA0B;AACnC,IAAA,WAAW,EACT,iLAAiL;AACnL,IAAA,SAAS,EAAE,eAAe;AAC1B,IAAA,QAAQ,EAAE,SAAS;AACnB,IAAA,MAAM,EAAE;AACN,QAAA;AACE,YAAA,GAAG,EAAE,MAAM;AACX,YAAA,KAAK,EAAE,kCAAkC;AACzC,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE,iBAAiB;AAC3B,SAAA;AACD,QAAA;AACE,YAAA,GAAG,EAAE,MAAM;AACX,YAAA,KAAK,EAAE,kBAAkB;AACzB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,OAAO,EAAE;gBACP,IAAI;gBACJ,IAAI;gBACJ,QAAQ;gBACR,IAAI;gBACJ,IAAI;gBACJ,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;gBACL,KAAK;AACN,aAAA;AACD,YAAA,OAAO,EAAE,QAAQ;AAClB,SAAA;AACD,QAAA;AACE,YAAA,GAAG,EAAE,OAAO;AACZ,YAAA,KAAK,EAAE,wBAAwB;AAC/B,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE,EAAE;AACZ,SAAA;AACF,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA;AACE,YAAA,IAAI,EAAE,uBAAuB;AAC7B,YAAA,WAAW,EAAE,+BAA+B;AAC5C,YAAA,MAAM,EAAE;AACN,gBAAA,IAAI,EAAE,MAAM;AACb,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,iBAAiB;AACvB,YAAA,WAAW,EAAE,sCAAsC;AACnD,YAAA,MAAM,EAAE;AACN,gBAAA,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;AACtB,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,wBAAwB;AAC9B,YAAA,WAAW,EAAE,iCAAiC;AAC9C,YAAA,MAAM,EAAE;AACN,gBAAA,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;AACxB,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,8BAA8B;AACpC,YAAA,WAAW,EAAE,2CAA2C;AACxD,YAAA,MAAM,EAAE;AACN,gBAAA,IAAI,EAAE,mBAAmB;AAC1B,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,oBAAoB;AAC1B,YAAA,WAAW,EAAE,+BAA+B;AAC5C,YAAA,MAAM,EAAE;AACN,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,IAAI,EAAE,KAAK;AACZ,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,2BAA2B;AACjC,YAAA,WAAW,EAAE,kCAAkC;AAC/C,YAAA,MAAM,EAAE;AACN,gBAAA,IAAI,EAAE,OAAO;AACb,gBAAA,KAAK,EAAE,cAAc;AACtB,aAAA;AACF,SAAA;AACF,KAAA;;;;;"}
@@ -0,0 +1,142 @@
1
+ import { XSImageComponent } from './xsmusices-ui.mjs';
2
+
3
+ const story = {
4
+ id: 'image',
5
+ name: 'Image',
6
+ type: 'component',
7
+ subtype: 'Base',
8
+ status: 'active',
9
+ usage: ['admin', 'app', 'monitor'],
10
+ updated: '2026-02-10T15:19:36.105Z',
11
+ created: '2026-01-01T12:12:55.709Z',
12
+ description: 'Componente para mostrar imágenes con manejo automático de errores, mostrando avatar con iniciales cuando falla la carga.',
13
+ component: XSImageComponent,
14
+ selector: 'xs-image',
15
+ inputs: [
16
+ {
17
+ key: 'src',
18
+ label: 'Source URL',
19
+ type: 'text',
20
+ default: '',
21
+ },
22
+ {
23
+ key: 'alt',
24
+ label: 'Alt Text',
25
+ type: 'text',
26
+ default: '',
27
+ },
28
+ {
29
+ key: 'width',
30
+ label: 'Width',
31
+ type: 'text',
32
+ },
33
+ {
34
+ key: 'height',
35
+ label: 'Height',
36
+ type: 'text',
37
+ },
38
+ {
39
+ key: 'size',
40
+ label: 'Size',
41
+ type: 'select',
42
+ options: ['xs', 'sm', 'md', 'lg', 'xl', '2xl', 'full'],
43
+ default: 'md',
44
+ },
45
+ {
46
+ key: 'rounded',
47
+ label: 'Rounded',
48
+ type: 'select',
49
+ options: [
50
+ 'none',
51
+ 'sm',
52
+ 'md',
53
+ 'lg',
54
+ 'xl',
55
+ '2xl',
56
+ '3xl',
57
+ 'full',
58
+ ],
59
+ default: 'md',
60
+ },
61
+ {
62
+ key: 'objectFit',
63
+ label: 'Object Fit',
64
+ type: 'select',
65
+ options: [
66
+ 'contain',
67
+ 'cover',
68
+ 'fill',
69
+ 'none',
70
+ 'scale-down',
71
+ ],
72
+ default: 'cover',
73
+ },
74
+ {
75
+ key: 'customClass',
76
+ label: 'Custom CSS Classes',
77
+ type: 'text',
78
+ default: '',
79
+ },
80
+ ],
81
+ examples: [
82
+ {
83
+ name: 'Imagen básica',
84
+ description: 'Imagen básica con configuración por defecto',
85
+ inputs: {
86
+ src: 'https://picsum.photos/200/200',
87
+ alt: 'Imagen de ejemplo',
88
+ size: 'md',
89
+ },
90
+ },
91
+ {
92
+ name: 'Imagen con error (fallback)',
93
+ description: 'Imagen que no existe, muestra avatar con iniciales como fallback',
94
+ inputs: {
95
+ src: 'https://example.com/nonexistent-image.jpg',
96
+ alt: 'Imagen que falla',
97
+ size: 'md',
98
+ },
99
+ },
100
+ {
101
+ name: 'Imagen redondeada',
102
+ description: 'Imagen con bordes completamente redondeados',
103
+ inputs: {
104
+ src: 'https://picsum.photos/150/150',
105
+ alt: 'Imagen redondeada',
106
+ size: 'lg',
107
+ rounded: 'full',
108
+ },
109
+ },
110
+ {
111
+ name: 'Imagen cuadrada grande',
112
+ description: 'Imagen grande con object-fit cover',
113
+ inputs: {
114
+ src: 'https://picsum.photos/300/300',
115
+ alt: 'Imagen grande',
116
+ size: 'xl',
117
+ objectFit: 'cover',
118
+ },
119
+ },
120
+ {
121
+ name: 'Imagen banner full width',
122
+ description: 'Imagen que ocupa todo el ancho disponible, ideal para banners o headers',
123
+ inputs: {
124
+ src: 'https://picsum.photos/800/200',
125
+ alt: 'Imagen banner',
126
+ size: 'full',
127
+ rounded: 'none',
128
+ objectFit: 'cover',
129
+ },
130
+ },
131
+ ],
132
+ multilanguage: true,
133
+ coverage: {
134
+ "statements": 81,
135
+ "branches": 81,
136
+ "functions": 87,
137
+ "lines": 82
138
+ },
139
+ };
140
+
141
+ export { story };
142
+ //# sourceMappingURL=xsmusices-ui-xs-image.xsstory-BaeUg3Zp.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xsmusices-ui-xs-image.xsstory-BaeUg3Zp.mjs","sources":["../../../projects/xs-ui/src/lib/components/base/image/xs-image.xsstory.ts"],"sourcesContent":["import { StoryMeta } from '../../../story.types';\nimport { XSImageComponent } from './xs-image.component';\n\nexport const story: StoryMeta = {\n id: 'image',\n name: 'Image',\n type: 'component',\n subtype: 'Base',\n status: 'active',\n usage: ['admin', 'app', 'monitor'],\n updated: '2026-02-10T15:19:36.105Z',\n created: '2026-01-01T12:12:55.709Z',\n description:\n 'Componente para mostrar imágenes con manejo automático de errores, mostrando avatar con iniciales cuando falla la carga.',\n component: XSImageComponent,\n selector: 'xs-image',\n inputs: [\n {\n key: 'src',\n label: 'Source URL',\n type: 'text',\n default: '',\n },\n {\n key: 'alt',\n label: 'Alt Text',\n type: 'text',\n default: '',\n },\n {\n key: 'width',\n label: 'Width',\n type: 'text',\n },\n {\n key: 'height',\n label: 'Height',\n type: 'text',\n },\n {\n key: 'size',\n label: 'Size',\n type: 'select',\n options: ['xs', 'sm', 'md', 'lg', 'xl', '2xl', 'full'],\n default: 'md',\n },\n {\n key: 'rounded',\n label: 'Rounded',\n type: 'select',\n options: [\n 'none',\n 'sm',\n 'md',\n 'lg',\n 'xl',\n '2xl',\n '3xl',\n 'full',\n ],\n default: 'md',\n },\n {\n key: 'objectFit',\n label: 'Object Fit',\n type: 'select',\n options: [\n 'contain',\n 'cover',\n 'fill',\n 'none',\n 'scale-down',\n ],\n default: 'cover',\n },\n {\n key: 'customClass',\n label: 'Custom CSS Classes',\n type: 'text',\n default: '',\n },\n ],\n examples: [\n {\n name: 'Imagen básica',\n description: 'Imagen básica con configuración por defecto',\n inputs: {\n src: 'https://picsum.photos/200/200',\n alt: 'Imagen de ejemplo',\n size: 'md',\n },\n },\n {\n name: 'Imagen con error (fallback)',\n description:\n 'Imagen que no existe, muestra avatar con iniciales como fallback',\n inputs: {\n src: 'https://example.com/nonexistent-image.jpg',\n alt: 'Imagen que falla',\n size: 'md',\n },\n },\n {\n name: 'Imagen redondeada',\n description: 'Imagen con bordes completamente redondeados',\n inputs: {\n src: 'https://picsum.photos/150/150',\n alt: 'Imagen redondeada',\n size: 'lg',\n rounded: 'full',\n },\n },\n {\n name: 'Imagen cuadrada grande',\n description: 'Imagen grande con object-fit cover',\n inputs: {\n src: 'https://picsum.photos/300/300',\n alt: 'Imagen grande',\n size: 'xl',\n objectFit: 'cover',\n },\n },\n {\n name: 'Imagen banner full width',\n description:\n 'Imagen que ocupa todo el ancho disponible, ideal para banners o headers',\n inputs: {\n src: 'https://picsum.photos/800/200',\n alt: 'Imagen banner',\n size: 'full',\n rounded: 'none',\n objectFit: 'cover',\n },\n },\n ],\n multilanguage: true,\n coverage: {\n \"statements\": 81,\n \"branches\": 81,\n \"functions\": 87,\n \"lines\": 82\n},\n};\n"],"names":[],"mappings":"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"}