@xsmusices/ui 1.41.0 → 1.42.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/README.md +4 -18
- package/fesm2022/xsmusices-ui-country-flag.xsstory-BPTu5b4i.mjs +84 -0
- package/fesm2022/xsmusices-ui-country-flag.xsstory-BPTu5b4i.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-country-name.xsstory-ENhKrPTw.mjs +106 -0
- package/fesm2022/xsmusices-ui-country-name.xsstory-ENhKrPTw.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-date-chat.xsstory-BBAJebr1.mjs +75 -0
- package/fesm2022/xsmusices-ui-date-chat.xsstory-BBAJebr1.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-date-format.xsstory-Chrcn1yu.mjs +69 -0
- package/fesm2022/xsmusices-ui-date-format.xsstory-Chrcn1yu.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-date-long.xsstory-CkYL5e1z.mjs +67 -0
- package/fesm2022/xsmusices-ui-date-long.xsstory-CkYL5e1z.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-first-letter-case.xsstory-BJDtnUwE.mjs +49 -0
- package/fesm2022/xsmusices-ui-first-letter-case.xsstory-BJDtnUwE.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-import-media-bottom-bar.xsstory-7FhVkiVz.mjs +29 -0
- package/fesm2022/xsmusices-ui-import-media-bottom-bar.xsstory-7FhVkiVz.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-import-media-card.xsstory-vhn8r2YJ.mjs +61 -0
- package/fesm2022/xsmusices-ui-import-media-card.xsstory-vhn8r2YJ.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-import-media-flow.xsstory-CMVovyMA.mjs +122 -0
- package/fesm2022/xsmusices-ui-import-media-flow.xsstory-CMVovyMA.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-import-media-header.xsstory-Ci82oaxD.mjs +37 -0
- package/fesm2022/xsmusices-ui-import-media-header.xsstory-Ci82oaxD.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-index-DRXscULI.mjs +11161 -0
- package/fesm2022/xsmusices-ui-index-DRXscULI.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-max-count.xsstory-kWzvhDsC.mjs +70 -0
- package/fesm2022/xsmusices-ui-max-count.xsstory-kWzvhDsC.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-number-to-month.xsstory-LUhA1uRx.mjs +81 -0
- package/fesm2022/xsmusices-ui-number-to-month.xsstory-LUhA1uRx.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-priorities.xsstory-3n93Ph84.mjs +92 -0
- package/fesm2022/xsmusices-ui-priorities.xsstory-3n93Ph84.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-role.xsstory-Cz3SBwNU.mjs +76 -0
- package/fesm2022/xsmusices-ui-role.xsstory-Cz3SBwNU.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-slice-array.xsstory-ElPwFlwd.mjs +76 -0
- package/fesm2022/xsmusices-ui-slice-array.xsstory-ElPwFlwd.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-social.xsstory-gjFcbal_.mjs +83 -0
- package/fesm2022/xsmusices-ui-social.xsstory-gjFcbal_.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-state-name.xsstory-kkdBe2V8.mjs +113 -0
- package/fesm2022/xsmusices-ui-state-name.xsstory-kkdBe2V8.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-stats-card.xsstory-PWTUDysc.mjs +96 -0
- package/fesm2022/xsmusices-ui-stats-card.xsstory-PWTUDysc.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-thousands-separator.xsstory-Q9Q7cCAG.mjs +49 -0
- package/fesm2022/xsmusices-ui-thousands-separator.xsstory-Q9Q7cCAG.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-title-media.xsstory-C4qa-mT2.mjs +81 -0
- package/fesm2022/xsmusices-ui-title-media.xsstory-C4qa-mT2.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-truncate-text.xsstory-B3RQ9xZ3.mjs +67 -0
- package/fesm2022/xsmusices-ui-truncate-text.xsstory-B3RQ9xZ3.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-type-es.xsstory-BsE_4D9p.mjs +110 -0
- package/fesm2022/xsmusices-ui-type-es.xsstory-BsE_4D9p.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-type-user.xsstory-Bn6Fnnmi.mjs +98 -0
- package/fesm2022/xsmusices-ui-type-user.xsstory-Bn6Fnnmi.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-action-sheet.xsstory-CBpZBlfx.mjs +402 -0
- package/fesm2022/xsmusices-ui-xs-action-sheet.xsstory-CBpZBlfx.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-alert-group.xsstory-HMGGLHfv.mjs +201 -0
- package/fesm2022/xsmusices-ui-xs-alert-group.xsstory-HMGGLHfv.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-alert.xsstory-CXTRbHHS.mjs +158 -0
- package/fesm2022/xsmusices-ui-xs-alert.xsstory-CXTRbHHS.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-auth.xsstory-DxO8iDpd.mjs +205 -0
- package/fesm2022/xsmusices-ui-xs-auth.xsstory-DxO8iDpd.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-badge.xsstory-B1QXLQ4H.mjs +229 -0
- package/fesm2022/xsmusices-ui-xs-badge.xsstory-B1QXLQ4H.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-block.xsstory-GXV6UFJo.mjs +165 -0
- package/fesm2022/xsmusices-ui-xs-block.xsstory-GXV6UFJo.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-breadcrumbs.xsstory-CNyBeURd.mjs +44 -0
- package/fesm2022/xsmusices-ui-xs-breadcrumbs.xsstory-CNyBeURd.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-button.xsstory-DqECZuZF.mjs +263 -0
- package/fesm2022/xsmusices-ui-xs-button.xsstory-DqECZuZF.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-buttons-group.xsstory-H1pcuFtx.mjs +97 -0
- package/fesm2022/xsmusices-ui-xs-buttons-group.xsstory-H1pcuFtx.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-chart.xsstory--iUHj7bv.mjs +239 -0
- package/fesm2022/xsmusices-ui-xs-chart.xsstory--iUHj7bv.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-chat-alert.xsstory-rdpQcMgJ.mjs +40 -0
- package/fesm2022/xsmusices-ui-xs-chat-alert.xsstory-rdpQcMgJ.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-chat-conversation-info.xsstory-BQjdjpbB.mjs +157 -0
- package/fesm2022/xsmusices-ui-xs-chat-conversation-info.xsstory-BQjdjpbB.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-chat-conversation.xsstory-sK9b5_Wo.mjs +303 -0
- package/fesm2022/xsmusices-ui-xs-chat-conversation.xsstory-sK9b5_Wo.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-chat-floating-panel.xsstory-_XfEzM1j.mjs +223 -0
- package/fesm2022/xsmusices-ui-xs-chat-floating-panel.xsstory-_XfEzM1j.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-chat-list.xsstory-BSY46FgK.mjs +46 -0
- package/fesm2022/xsmusices-ui-xs-chat-list.xsstory-BSY46FgK.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-chat-textarea.xsstory-NG2p0Tdw.mjs +35 -0
- package/fesm2022/xsmusices-ui-xs-chat-textarea.xsstory-NG2p0Tdw.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-customize-profile.xsstory-Ba7wmXF7.mjs +98 -0
- package/fesm2022/xsmusices-ui-xs-customize-profile.xsstory-Ba7wmXF7.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-date-mini.xsstory-DXog7Yhg.mjs +67 -0
- package/fesm2022/xsmusices-ui-xs-date-mini.xsstory-DXog7Yhg.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-date-range-picker.xsstory-Bmk2wv1s.mjs +25 -0
- package/fesm2022/xsmusices-ui-xs-date-range-picker.xsstory-Bmk2wv1s.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-empty-state.xsstory-CCOJ4b9_.mjs +70 -0
- package/fesm2022/xsmusices-ui-xs-empty-state.xsstory-CCOJ4b9_.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-filter-panel.xsstory-DbvxGppo.mjs +287 -0
- package/fesm2022/xsmusices-ui-xs-filter-panel.xsstory-DbvxGppo.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-formly.xsstory-Bjne7mpZ.mjs +3453 -0
- package/fesm2022/xsmusices-ui-xs-formly.xsstory-Bjne7mpZ.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-full-image.xsstory-xwN2jkW1.mjs +147 -0
- package/fesm2022/xsmusices-ui-xs-full-image.xsstory-xwN2jkW1.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-icon.xsstory-asFaHy5H.mjs +97 -0
- package/fesm2022/xsmusices-ui-xs-icon.xsstory-asFaHy5H.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-image.xsstory-BaeUg3Zp.mjs +142 -0
- package/fesm2022/xsmusices-ui-xs-image.xsstory-BaeUg3Zp.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-info-blocks.xsstory-BHtaC7U6.mjs +957 -0
- package/fesm2022/xsmusices-ui-xs-info-blocks.xsstory-BHtaC7U6.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-item-action.xsstory-839UkJyC.mjs +153 -0
- package/fesm2022/xsmusices-ui-xs-item-action.xsstory-839UkJyC.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-item-card.xsstory-EGJ6itkx.mjs +254 -0
- package/fesm2022/xsmusices-ui-xs-item-card.xsstory-EGJ6itkx.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-item-compact.xsstory-LhApuPL7.mjs +270 -0
- package/fesm2022/xsmusices-ui-xs-item-compact.xsstory-LhApuPL7.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-item-type.xsstory-DUeCnW0R.mjs +252 -0
- package/fesm2022/xsmusices-ui-xs-item-type.xsstory-DUeCnW0R.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-items-slider.xsstory-Dt0bXZI_.mjs +189 -0
- package/fesm2022/xsmusices-ui-xs-items-slider.xsstory-Dt0bXZI_.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-list.xsstory-lElGfvcY.mjs +633 -0
- package/fesm2022/xsmusices-ui-xs-list.xsstory-lElGfvcY.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-map.xsstory-C__bUaLQ.mjs +265 -0
- package/fesm2022/xsmusices-ui-xs-map.xsstory-C__bUaLQ.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-maplibre.xsstory-u_NroLqJ.mjs +513 -0
- package/fesm2022/xsmusices-ui-xs-maplibre.xsstory-u_NroLqJ.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-modal.xsstory-B96CYHF0.mjs +199 -0
- package/fesm2022/xsmusices-ui-xs-modal.xsstory-B96CYHF0.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-navbar-sidebar.xsstory-DHmPSARx.mjs +122 -0
- package/fesm2022/xsmusices-ui-xs-navbar-sidebar.xsstory-DHmPSARx.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-navbar.xsstory-DZrnLMId.mjs +203 -0
- package/fesm2022/xsmusices-ui-xs-navbar.xsstory-DZrnLMId.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-profile-comments.xsstory-CHpCDxLe.mjs +373 -0
- package/fesm2022/xsmusices-ui-xs-profile-comments.xsstory-CHpCDxLe.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-profile-current-event.xsstory-BtRq4wE4.mjs +111 -0
- package/fesm2022/xsmusices-ui-xs-profile-current-event.xsstory-BtRq4wE4.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-profile-exclusive.xsstory-B1Sag_X-.mjs +147 -0
- package/fesm2022/xsmusices-ui-xs-profile-exclusive.xsstory-B1Sag_X-.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-profile-image.xsstory-Cm_ixcdU.mjs +181 -0
- package/fesm2022/xsmusices-ui-xs-profile-image.xsstory-Cm_ixcdU.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-profile-info.xsstory-DAfsbXrF.mjs +95 -0
- package/fesm2022/xsmusices-ui-xs-profile-info.xsstory-DAfsbXrF.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-profile-random-flag.xsstory-DH3Y_XX1.mjs +50 -0
- package/fesm2022/xsmusices-ui-xs-profile-random-flag.xsstory-DH3Y_XX1.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-profile-skeleton.xsstory-BO0ZqUMS.mjs +66 -0
- package/fesm2022/xsmusices-ui-xs-profile-skeleton.xsstory-BO0ZqUMS.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-profile-tops.xsstory-eKxRAMdS.mjs +246 -0
- package/fesm2022/xsmusices-ui-xs-profile-tops.xsstory-eKxRAMdS.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-profile-verified.xsstory-HtbUlJFX.mjs +34 -0
- package/fesm2022/xsmusices-ui-xs-profile-verified.xsstory-HtbUlJFX.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-section-title.xsstory-CHlZ69FK.mjs +180 -0
- package/fesm2022/xsmusices-ui-xs-section-title.xsstory-CHlZ69FK.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-select-modal.xsstory-BMc6o0W7.mjs +112 -0
- package/fesm2022/xsmusices-ui-xs-select-modal.xsstory-BMc6o0W7.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-send-scraper.xsstory-Cq6PuwN7.mjs +79 -0
- package/fesm2022/xsmusices-ui-xs-send-scraper.xsstory-Cq6PuwN7.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-skeleton-for-slider.xsstory-k-uutKIV.mjs +67 -0
- package/fesm2022/xsmusices-ui-xs-skeleton-for-slider.xsstory-k-uutKIV.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-stepper.xsstory-gKU4wN-_.mjs +91 -0
- package/fesm2022/xsmusices-ui-xs-stepper.xsstory-gKU4wN-_.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-table-items.xsstory-vR5x6wZe.mjs +95 -0
- package/fesm2022/xsmusices-ui-xs-table-items.xsstory-vR5x6wZe.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-table.xsstory-s13JV3k9.mjs +2941 -0
- package/fesm2022/xsmusices-ui-xs-table.xsstory-s13JV3k9.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-tabs.xsstory-ColZVzXZ.mjs +72 -0
- package/fesm2022/xsmusices-ui-xs-tabs.xsstory-ColZVzXZ.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-title-collapse.xsstory-COqb1jdP.mjs +65 -0
- package/fesm2022/xsmusices-ui-xs-title-collapse.xsstory-COqb1jdP.mjs.map +1 -0
- package/fesm2022/xsmusices-ui-xs-toast.xsstory-BBhGu-j4.mjs +59 -0
- package/fesm2022/xsmusices-ui-xs-toast.xsstory-BBhGu-j4.mjs.map +1 -0
- package/fesm2022/xsmusices-ui.mjs +725 -684
- package/fesm2022/xsmusices-ui.mjs.map +1 -0
- package/index.d.ts +70 -83
- package/package.json +2 -22
- package/styles/shared-utilities.css +0 -1
- package/LICENSE +0 -9
|
@@ -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":"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"}
|
|
@@ -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":";;AAGO,MAAM,KAAK,GAAc;AAC9B,IAAA,EAAE,EAAE,OAAO;AACX,IAAA,IAAI,EAAE,OAAO;AACb,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,0HAA0H;AAC5H,IAAA,SAAS,EAAE,gBAAgB;AAC3B,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,MAAM,EAAE;AACN,QAAA;AACE,YAAA,GAAG,EAAE,KAAK;AACV,YAAA,KAAK,EAAE,YAAY;AACnB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE,EAAE;AACZ,SAAA;AACD,QAAA;AACE,YAAA,GAAG,EAAE,KAAK;AACV,YAAA,KAAK,EAAE,UAAU;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE,EAAE;AACZ,SAAA;AACD,QAAA;AACE,YAAA,GAAG,EAAE,OAAO;AACZ,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,IAAI,EAAE,MAAM;AACb,SAAA;AACD,QAAA;AACE,YAAA,GAAG,EAAE,QAAQ;AACb,YAAA,KAAK,EAAE,QAAQ;AACf,YAAA,IAAI,EAAE,MAAM;AACb,SAAA;AACD,QAAA;AACE,YAAA,GAAG,EAAE,MAAM;AACX,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC;AACtD,YAAA,OAAO,EAAE,IAAI;AACd,SAAA;AACD,QAAA;AACE,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,OAAO,EAAE;gBACP,MAAM;gBACN,IAAI;gBACJ,IAAI;gBACJ,IAAI;gBACJ,IAAI;gBACJ,KAAK;gBACL,KAAK;gBACL,MAAM;AACP,aAAA;AACD,YAAA,OAAO,EAAE,IAAI;AACd,SAAA;AACD,QAAA;AACE,YAAA,GAAG,EAAE,WAAW;AAChB,YAAA,KAAK,EAAE,YAAY;AACnB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,OAAO,EAAE;gBACP,SAAS;gBACT,OAAO;gBACP,MAAM;gBACN,MAAM;gBACN,YAAY;AACb,aAAA;AACD,YAAA,OAAO,EAAE,OAAO;AACjB,SAAA;AACD,QAAA;AACE,YAAA,GAAG,EAAE,aAAa;AAClB,YAAA,KAAK,EAAE,oBAAoB;AAC3B,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE,EAAE;AACZ,SAAA;AACF,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA;AACE,YAAA,IAAI,EAAE,eAAe;AACrB,YAAA,WAAW,EAAE,6CAA6C;AAC1D,YAAA,MAAM,EAAE;AACN,gBAAA,GAAG,EAAE,+BAA+B;AACpC,gBAAA,GAAG,EAAE,mBAAmB;AACxB,gBAAA,IAAI,EAAE,IAAI;AACX,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,6BAA6B;AACnC,YAAA,WAAW,EACT,kEAAkE;AACpE,YAAA,MAAM,EAAE;AACN,gBAAA,GAAG,EAAE,2CAA2C;AAChD,gBAAA,GAAG,EAAE,kBAAkB;AACvB,gBAAA,IAAI,EAAE,IAAI;AACX,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,mBAAmB;AACzB,YAAA,WAAW,EAAE,6CAA6C;AAC1D,YAAA,MAAM,EAAE;AACN,gBAAA,GAAG,EAAE,+BAA+B;AACpC,gBAAA,GAAG,EAAE,mBAAmB;AACxB,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,OAAO,EAAE,MAAM;AAChB,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,wBAAwB;AAC9B,YAAA,WAAW,EAAE,oCAAoC;AACjD,YAAA,MAAM,EAAE;AACN,gBAAA,GAAG,EAAE,+BAA+B;AACpC,gBAAA,GAAG,EAAE,eAAe;AACpB,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,SAAS,EAAE,OAAO;AACnB,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,0BAA0B;AAChC,YAAA,WAAW,EACT,yEAAyE;AAC3E,YAAA,MAAM,EAAE;AACN,gBAAA,GAAG,EAAE,+BAA+B;AACpC,gBAAA,GAAG,EAAE,eAAe;AACpB,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,OAAO,EAAE,MAAM;AACf,gBAAA,SAAS,EAAE,OAAO;AACnB,aAAA;AACF,SAAA;AACF,KAAA;AACD,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,QAAQ,EAAE;AACV,QAAA,YAAY,EAAE,EAAE;AAChB,QAAA,UAAU,EAAE,EAAE;AACd,QAAA,WAAW,EAAE,EAAE;AACf,QAAA,OAAO,EAAE;AACV,KAAA;;;;;"}
|