@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.
Files changed (167) 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-DRXscULI.mjs +11161 -0
  23. package/fesm2022/xsmusices-ui-index-DRXscULI.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-B1QXLQ4H.mjs +229 -0
  59. package/fesm2022/xsmusices-ui-xs-badge.xsstory-B1QXLQ4H.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-LhApuPL7.mjs +270 -0
  107. package/fesm2022/xsmusices-ui-xs-item-compact.xsstory-LhApuPL7.mjs.map +1 -0
  108. package/fesm2022/xsmusices-ui-xs-item-type.xsstory-DUeCnW0R.mjs +252 -0
  109. package/fesm2022/xsmusices-ui-xs-item-type.xsstory-DUeCnW0R.mjs.map +1 -0
  110. package/fesm2022/xsmusices-ui-xs-items-slider.xsstory-Dt0bXZI_.mjs +189 -0
  111. package/fesm2022/xsmusices-ui-xs-items-slider.xsstory-Dt0bXZI_.mjs.map +1 -0
  112. package/fesm2022/xsmusices-ui-xs-list.xsstory-lElGfvcY.mjs +633 -0
  113. package/fesm2022/xsmusices-ui-xs-list.xsstory-lElGfvcY.mjs.map +1 -0
  114. package/fesm2022/xsmusices-ui-xs-map.xsstory-C__bUaLQ.mjs +265 -0
  115. package/fesm2022/xsmusices-ui-xs-map.xsstory-C__bUaLQ.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-DZrnLMId.mjs +203 -0
  123. package/fesm2022/xsmusices-ui-xs-navbar.xsstory-DZrnLMId.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-s13JV3k9.mjs +2941 -0
  155. package/fesm2022/xsmusices-ui-xs-table.xsstory-s13JV3k9.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 +725 -684
  163. package/fesm2022/xsmusices-ui.mjs.map +1 -0
  164. package/index.d.ts +70 -83
  165. package/package.json +2 -22
  166. package/styles/shared-utilities.css +0 -1
  167. package/LICENSE +0 -9
@@ -0,0 +1,35 @@
1
+ import { XSChatTextareaComponent } from './xsmusices-ui.mjs';
2
+
3
+ const story = {
4
+ id: 'chat-textarea',
5
+ name: 'Chat Textarea',
6
+ type: 'component',
7
+ subtype: 'UI',
8
+ status: 'active',
9
+ usage: [],
10
+ updated: '2026-05-30T20:00:00.000Z',
11
+ created: '2026-05-30T20:00:00.000Z',
12
+ description: 'Area de texto con emoji picker, rate limiting y validacion.',
13
+ component: XSChatTextareaComponent,
14
+ selector: 'xs-chat-textarea',
15
+ inputs: [
16
+ {
17
+ key: 'placeholder',
18
+ label: 'Placeholder',
19
+ type: 'text',
20
+ default: 'Escribe un mensaje...',
21
+ },
22
+ {
23
+ key: 'disabled',
24
+ label: 'Deshabilitado',
25
+ type: 'boolean',
26
+ default: false,
27
+ },
28
+ ],
29
+ examples: [{ name: 'Default', inputs: {} }],
30
+ multilanguage: false,
31
+ notes: [],
32
+ };
33
+
34
+ export { story };
35
+ //# sourceMappingURL=xsmusices-ui-xs-chat-textarea.xsstory-NG2p0Tdw.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xsmusices-ui-xs-chat-textarea.xsstory-NG2p0Tdw.mjs","sources":["../../../projects/xs-ui/src/lib/components/ui/chat/textarea/xs-chat-textarea.xsstory.ts"],"sourcesContent":["import { StoryMeta } from '../../../../story.types';\nimport { XSChatTextareaComponent } from './xs-chat-textarea.component';\n\nexport const story: StoryMeta = {\n id: 'chat-textarea',\n name: 'Chat Textarea',\n type: 'component',\n subtype: 'UI',\n status: 'active',\n usage: [],\n updated: '2026-05-30T20:00:00.000Z',\n created: '2026-05-30T20:00:00.000Z',\n description:\n 'Area de texto con emoji picker, rate limiting y validacion.',\n component: XSChatTextareaComponent,\n selector: 'xs-chat-textarea',\n inputs: [\n {\n key: 'placeholder',\n label: 'Placeholder',\n type: 'text',\n default: 'Escribe un mensaje...',\n },\n {\n key: 'disabled',\n label: 'Deshabilitado',\n type: 'boolean',\n default: false,\n },\n ],\n examples: [{ name: 'Default', inputs: {} }],\n multilanguage: false,\n notes: [],\n};\n"],"names":[],"mappings":";;AAGO,MAAM,KAAK,GAAc;AAC9B,IAAA,EAAE,EAAE,eAAe;AACnB,IAAA,IAAI,EAAE,eAAe;AACrB,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,OAAO,EAAE,0BAA0B;AACnC,IAAA,OAAO,EAAE,0BAA0B;AACnC,IAAA,WAAW,EACT,6DAA6D;AAC/D,IAAA,SAAS,EAAE,uBAAuB;AAClC,IAAA,QAAQ,EAAE,kBAAkB;AAC5B,IAAA,MAAM,EAAE;AACN,QAAA;AACE,YAAA,GAAG,EAAE,aAAa;AAClB,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE,uBAAuB;AACjC,SAAA;AACD,QAAA;AACE,YAAA,GAAG,EAAE,UAAU;AACf,YAAA,KAAK,EAAE,eAAe;AACtB,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,OAAO,EAAE,KAAK;AACf,SAAA;AACF,KAAA;IACD,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAC3C,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,KAAK,EAAE,EAAE;;;;;"}
@@ -0,0 +1,98 @@
1
+ import * as i0 from '@angular/core';
2
+ import { signal, Component } from '@angular/core';
3
+ import { XSCustomizeProfileComponent } from './xsmusices-ui.mjs';
4
+
5
+ const defaultBlocks = [
6
+ { id: 'info', label: 'Información', enabled: true },
7
+ { id: 'map', label: 'Mapa', enabled: true },
8
+ {
9
+ id: 'eventsFuture',
10
+ label: 'Próximos eventos',
11
+ enabled: true,
12
+ },
13
+ { id: 'media', label: 'Música', enabled: true },
14
+ { id: 'tops', label: 'Rankings', enabled: true },
15
+ {
16
+ id: 'artists',
17
+ label: 'Artistas relacionados',
18
+ enabled: true,
19
+ },
20
+ {
21
+ id: 'organizations',
22
+ label: 'Organizaciones',
23
+ enabled: true,
24
+ },
25
+ { id: 'comments', label: 'Comentarios', enabled: true },
26
+ {
27
+ id: 'claim',
28
+ label: 'Reclamar perfil',
29
+ enabled: true,
30
+ changeOnlyAdmin: true,
31
+ show: false,
32
+ },
33
+ ];
34
+ class CustomizeDemoComponent {
35
+ blocks = signal(defaultBlocks, ...(ngDevMode ? [{ debugName: "blocks" }] : []));
36
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: CustomizeDemoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
37
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.33", type: CustomizeDemoComponent, isStandalone: true, selector: "xs-customize-profile-demo", ngImport: i0, template: `
38
+ <div class="max-w-lg mx-auto">
39
+ <p class="text-sm text-zinc-400 mb-4">
40
+ Arrastra los bloques para ordenarlos. Usa el toggle para
41
+ mostrar u ocultar cada sección.
42
+ </p>
43
+ <xs-customize-profile
44
+ [components]="blocks()"
45
+ (componentsChange)="blocks.set($event)"
46
+ >
47
+ </xs-customize-profile>
48
+ </div>
49
+ `, isInline: true, dependencies: [{ kind: "component", type: XSCustomizeProfileComponent, selector: "xs-customize-profile", inputs: ["components"], outputs: ["componentsChange"] }] });
50
+ }
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: CustomizeDemoComponent, decorators: [{
52
+ type: Component,
53
+ args: [{
54
+ selector: 'xs-customize-profile-demo',
55
+ standalone: true,
56
+ imports: [XSCustomizeProfileComponent],
57
+ template: `
58
+ <div class="max-w-lg mx-auto">
59
+ <p class="text-sm text-zinc-400 mb-4">
60
+ Arrastra los bloques para ordenarlos. Usa el toggle para
61
+ mostrar u ocultar cada sección.
62
+ </p>
63
+ <xs-customize-profile
64
+ [components]="blocks()"
65
+ (componentsChange)="blocks.set($event)"
66
+ >
67
+ </xs-customize-profile>
68
+ </div>
69
+ `,
70
+ }]
71
+ }] });
72
+ const story = {
73
+ id: 'customize-profile',
74
+ name: 'Customize Profile',
75
+ type: 'component',
76
+ subtype: 'UI',
77
+ status: 'active',
78
+ description: 'Lista de bloques del perfil con drag & drop para ordenar y toggle para mostrar/ocultar.',
79
+ component: CustomizeDemoComponent,
80
+ selector: 'xs-customize-profile-demo',
81
+ inputs: [],
82
+ examples: [],
83
+ usage: ['profile', 'customization'],
84
+ multilanguage: true,
85
+ notes: [
86
+ {
87
+ text: 'Los bloques con changeOnlyAdmin=true y show=false se omiten del editor.',
88
+ type: 'info',
89
+ },
90
+ {
91
+ text: 'La columna izquierda/derecha en desktop se asigna automáticamente según el tipo de bloque.',
92
+ type: 'info',
93
+ },
94
+ ],
95
+ };
96
+
97
+ export { story };
98
+ //# sourceMappingURL=xsmusices-ui-xs-customize-profile.xsstory-Ba7wmXF7.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xsmusices-ui-xs-customize-profile.xsstory-Ba7wmXF7.mjs","sources":["../../../projects/xs-ui/src/lib/components/ui/customize-profile/xs-customize-profile.xsstory.ts"],"sourcesContent":["import { Component, signal } from '@angular/core';\nimport { StoryMeta } from '../../../story.types';\nimport {\n XSCustomizeProfileComponent,\n XSCustomizeBlock,\n} from './xs-customize-profile.component';\n\nconst defaultBlocks: XSCustomizeBlock[] = [\n { id: 'info', label: 'Información', enabled: true },\n { id: 'map', label: 'Mapa', enabled: true },\n {\n id: 'eventsFuture',\n label: 'Próximos eventos',\n enabled: true,\n },\n { id: 'media', label: 'Música', enabled: true },\n { id: 'tops', label: 'Rankings', enabled: true },\n {\n id: 'artists',\n label: 'Artistas relacionados',\n enabled: true,\n },\n {\n id: 'organizations',\n label: 'Organizaciones',\n enabled: true,\n },\n { id: 'comments', label: 'Comentarios', enabled: true },\n {\n id: 'claim',\n label: 'Reclamar perfil',\n enabled: true,\n changeOnlyAdmin: true,\n show: false,\n },\n];\n\n@Component({\n selector: 'xs-customize-profile-demo',\n standalone: true,\n imports: [XSCustomizeProfileComponent],\n template: `\n <div class=\"max-w-lg mx-auto\">\n <p class=\"text-sm text-zinc-400 mb-4\">\n Arrastra los bloques para ordenarlos. Usa el toggle para\n mostrar u ocultar cada sección.\n </p>\n <xs-customize-profile\n [components]=\"blocks()\"\n (componentsChange)=\"blocks.set($event)\"\n >\n </xs-customize-profile>\n </div>\n `,\n})\nclass CustomizeDemoComponent {\n blocks = signal<XSCustomizeBlock[]>(defaultBlocks);\n}\n\nexport const story: StoryMeta = {\n id: 'customize-profile',\n name: 'Customize Profile',\n type: 'component',\n subtype: 'UI',\n status: 'active',\n description:\n 'Lista de bloques del perfil con drag & drop para ordenar y toggle para mostrar/ocultar.',\n component: CustomizeDemoComponent,\n selector: 'xs-customize-profile-demo',\n inputs: [],\n examples: [],\n usage: ['profile', 'customization'],\n multilanguage: true,\n notes: [\n {\n text: 'Los bloques con changeOnlyAdmin=true y show=false se omiten del editor.',\n type: 'info',\n },\n {\n text: 'La columna izquierda/derecha en desktop se asigna automáticamente según el tipo de bloque.',\n type: 'info',\n },\n ],\n};\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import { XSDateMiniComponent } from './xsmusices-ui.mjs';
2
+
3
+ const story = {
4
+ id: 'date-mini',
5
+ name: 'Date Mini',
6
+ type: 'component',
7
+ subtype: 'UI',
8
+ status: 'active',
9
+ usage: [],
10
+ updated: '2026-01-17T15:00:00.000Z',
11
+ created: '2026-01-17T14:14:34.581Z',
12
+ description: 'Componente compacto para mostrar fechas con formato visual atractivo. Muestra día y mes en un diseño de tarjeta mini.',
13
+ component: XSDateMiniComponent,
14
+ selector: 'xs-date-mini',
15
+ inputs: [
16
+ {
17
+ key: 'date',
18
+ label: 'Fecha',
19
+ type: 'text',
20
+ default: '',
21
+ },
22
+ {
23
+ key: 'color',
24
+ label: 'Color del encabezado',
25
+ type: 'select',
26
+ options: ['red', 'blue', 'orange'],
27
+ default: 'blue',
28
+ },
29
+ {
30
+ key: 'hour',
31
+ label: 'Mostrar hora',
32
+ type: 'boolean',
33
+ default: false,
34
+ },
35
+ ],
36
+ examples: [
37
+ {
38
+ name: 'Fecha Básica - 16 Ene',
39
+ description: 'Muestra solo día y mes',
40
+ inputs: {
41
+ date: '2026-01-16T10:30:00',
42
+ },
43
+ },
44
+ {
45
+ name: 'Con Hora - 20 Feb',
46
+ description: 'Muestra día, mes y hora',
47
+ inputs: {
48
+ date: '2026-02-20T14:45:00',
49
+ hour: true,
50
+ },
51
+ },
52
+ {
53
+ name: 'Colores Variados',
54
+ description: 'Diferentes colores disponibles',
55
+ template: `
56
+ <div class="flex gap-4">
57
+ <xs-date-mini [date]="'2026-03-10'" [color]="'red'"></xs-date-mini>
58
+ <xs-date-mini [date]="'2026-04-15'" [color]="'blue'"></xs-date-mini>
59
+ <xs-date-mini [date]="'2026-05-22'" [color]="'orange'"></xs-date-mini>
60
+ </div>
61
+ `,
62
+ },
63
+ ],
64
+ };
65
+
66
+ export { story };
67
+ //# sourceMappingURL=xsmusices-ui-xs-date-mini.xsstory-DXog7Yhg.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xsmusices-ui-xs-date-mini.xsstory-DXog7Yhg.mjs","sources":["../../../projects/xs-ui/src/lib/components/ui/date-mini/xs-date-mini.xsstory.ts"],"sourcesContent":["import { StoryMeta } from '../../../story.types';\nimport { XSDateMiniComponent } from './xs-date-mini.component';\n\nexport const story: StoryMeta = {\n id: 'date-mini',\n name: 'Date Mini',\n type: 'component',\n subtype: 'UI',\n status: 'active',\n usage: [],\n updated: '2026-01-17T15:00:00.000Z',\n created: '2026-01-17T14:14:34.581Z',\n description:\n 'Componente compacto para mostrar fechas con formato visual atractivo. Muestra día y mes en un diseño de tarjeta mini.',\n component: XSDateMiniComponent,\n selector: 'xs-date-mini',\n inputs: [\n {\n key: 'date',\n label: 'Fecha',\n type: 'text',\n default: '',\n },\n {\n key: 'color',\n label: 'Color del encabezado',\n type: 'select',\n options: ['red', 'blue', 'orange'],\n default: 'blue',\n },\n {\n key: 'hour',\n label: 'Mostrar hora',\n type: 'boolean',\n default: false,\n },\n ],\n examples: [\n {\n name: 'Fecha Básica - 16 Ene',\n description: 'Muestra solo día y mes',\n inputs: {\n date: '2026-01-16T10:30:00',\n },\n },\n {\n name: 'Con Hora - 20 Feb',\n description: 'Muestra día, mes y hora',\n inputs: {\n date: '2026-02-20T14:45:00',\n hour: true,\n },\n },\n {\n name: 'Colores Variados',\n description: 'Diferentes colores disponibles',\n template: `\n <div class=\"flex gap-4\">\n <xs-date-mini [date]=\"'2026-03-10'\" [color]=\"'red'\"></xs-date-mini>\n <xs-date-mini [date]=\"'2026-04-15'\" [color]=\"'blue'\"></xs-date-mini>\n <xs-date-mini [date]=\"'2026-05-22'\" [color]=\"'orange'\"></xs-date-mini>\n </div>\n `,\n },\n ],\n};\n"],"names":[],"mappings":";;AAGO,MAAM,KAAK,GAAc;AAC9B,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,OAAO,EAAE,0BAA0B;AACnC,IAAA,OAAO,EAAE,0BAA0B;AACnC,IAAA,WAAW,EACT,uHAAuH;AACzH,IAAA,SAAS,EAAE,mBAAmB;AAC9B,IAAA,QAAQ,EAAE,cAAc;AACxB,IAAA,MAAM,EAAE;AACN,QAAA;AACE,YAAA,GAAG,EAAE,MAAM;AACX,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE,EAAE;AACZ,SAAA;AACD,QAAA;AACE,YAAA,GAAG,EAAE,OAAO;AACZ,YAAA,KAAK,EAAE,sBAAsB;AAC7B,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC;AAClC,YAAA,OAAO,EAAE,MAAM;AAChB,SAAA;AACD,QAAA;AACE,YAAA,GAAG,EAAE,MAAM;AACX,YAAA,KAAK,EAAE,cAAc;AACrB,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,OAAO,EAAE,KAAK;AACf,SAAA;AACF,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA;AACE,YAAA,IAAI,EAAE,uBAAuB;AAC7B,YAAA,WAAW,EAAE,wBAAwB;AACrC,YAAA,MAAM,EAAE;AACN,gBAAA,IAAI,EAAE,qBAAqB;AAC5B,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,mBAAmB;AACzB,YAAA,WAAW,EAAE,yBAAyB;AACtC,YAAA,MAAM,EAAE;AACN,gBAAA,IAAI,EAAE,qBAAqB;AAC3B,gBAAA,IAAI,EAAE,IAAI;AACX,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,kBAAkB;AACxB,YAAA,WAAW,EAAE,gCAAgC;AAC7C,YAAA,QAAQ,EAAE;;;;;;AAMT,MAAA,CAAA;AACF,SAAA;AACF,KAAA;;;;;"}
@@ -0,0 +1,25 @@
1
+ import { XSDateRangePickerComponent } from './xsmusices-ui.mjs';
2
+
3
+ const story = {
4
+ id: 'date-range-picker',
5
+ name: 'Date Range Picker',
6
+ type: 'component',
7
+ subtype: 'UI',
8
+ status: 'active',
9
+ usage: ['admin', 'app'],
10
+ updated: '2026-06-05T12:00:00.000Z',
11
+ created: '2025-07-29T15:06:52.383Z',
12
+ description: 'Selector de rango de fechas con calendario, presets y soporte multi-idioma.',
13
+ component: XSDateRangePickerComponent,
14
+ selector: 'xs-date-range-picker',
15
+ multilanguage: true,
16
+ coverage: {
17
+ statements: 0,
18
+ branches: 0,
19
+ functions: 0,
20
+ lines: 0,
21
+ },
22
+ };
23
+
24
+ export { story };
25
+ //# sourceMappingURL=xsmusices-ui-xs-date-range-picker.xsstory-Bmk2wv1s.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xsmusices-ui-xs-date-range-picker.xsstory-Bmk2wv1s.mjs","sources":["../../../projects/xs-ui/src/lib/components/ui/date-range-picker/xs-date-range-picker.xsstory.ts"],"sourcesContent":["import { StoryMeta } from '../../../story.types';\nimport { XSDateRangePickerComponent } from './xs-date-range-picker.component';\n\nexport const story: StoryMeta = {\n id: 'date-range-picker',\n name: 'Date Range Picker',\n type: 'component',\n subtype: 'UI',\n status: 'active',\n usage: ['admin', 'app'],\n updated: '2026-06-05T12:00:00.000Z',\n created: '2025-07-29T15:06:52.383Z',\n description:\n 'Selector de rango de fechas con calendario, presets y soporte multi-idioma.',\n component: XSDateRangePickerComponent,\n selector: 'xs-date-range-picker',\n multilanguage: true,\n coverage: {\n statements: 0,\n branches: 0,\n functions: 0,\n lines: 0,\n },\n};\n"],"names":[],"mappings":";;AAGO,MAAM,KAAK,GAAc;AAC9B,IAAA,EAAE,EAAE,mBAAmB;AACvB,IAAA,IAAI,EAAE,mBAAmB;AACzB,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;AACvB,IAAA,OAAO,EAAE,0BAA0B;AACnC,IAAA,OAAO,EAAE,0BAA0B;AACnC,IAAA,WAAW,EACT,6EAA6E;AAC/E,IAAA,SAAS,EAAE,0BAA0B;AACrC,IAAA,QAAQ,EAAE,sBAAsB;AAChC,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,QAAQ,EAAE;AACR,QAAA,UAAU,EAAE,CAAC;AACb,QAAA,QAAQ,EAAE,CAAC;AACX,QAAA,SAAS,EAAE,CAAC;AACZ,QAAA,KAAK,EAAE,CAAC;AACT,KAAA;;;;;"}
@@ -0,0 +1,70 @@
1
+ import { XSEmptyStateComponent } from './xsmusices-ui.mjs';
2
+
3
+ const story = {
4
+ id: 'empty-state',
5
+ name: 'Empty State',
6
+ type: 'component',
7
+ subtype: 'Base',
8
+ status: 'active',
9
+ usage: ['admin', 'app', 'monitor'],
10
+ updated: '2026-01-04T12:05:42.050Z',
11
+ created: '2026-01-01T12:12:55.701Z',
12
+ description: 'Componente Empty State que muestra un estado vacío con icono, título, descripción y botones configurables.',
13
+ component: XSEmptyStateComponent,
14
+ selector: 'xs-empty-state',
15
+ inputs: [
16
+ {
17
+ key: 'config',
18
+ label: 'Configuración',
19
+ type: 'json',
20
+ default: {
21
+ title: 'No hay elementos',
22
+ description: 'Aún no has añadido ningún elemento.',
23
+ buttons: [],
24
+ },
25
+ },
26
+ ],
27
+ examples: [
28
+ {
29
+ name: 'Empty State Básico',
30
+ description: 'Empty state con título y descripción básica',
31
+ inputs: {
32
+ config: {
33
+ title: 'No hay elementos',
34
+ description: 'Aún no has añadido ningún elemento a tu lista.',
35
+ },
36
+ },
37
+ },
38
+ {
39
+ name: 'Empty State con Botones',
40
+ description: 'Empty state con múltiples botones',
41
+ inputs: {
42
+ config: {
43
+ title: 'No hay proyectos',
44
+ description: 'Crea tu primer proyecto para empezar.',
45
+ buttons: [
46
+ {
47
+ label: 'Crear Proyecto',
48
+ variant: 'primary',
49
+ },
50
+ {
51
+ label: 'Ver Tutorial',
52
+ variant: 'outline',
53
+ },
54
+ ],
55
+ },
56
+ },
57
+ },
58
+ ],
59
+ multilanguage: false,
60
+ notes: [],
61
+ coverage: {
62
+ statements: 70,
63
+ branches: 64,
64
+ functions: 75,
65
+ lines: 71,
66
+ },
67
+ };
68
+
69
+ export { story };
70
+ //# sourceMappingURL=xsmusices-ui-xs-empty-state.xsstory-CCOJ4b9_.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xsmusices-ui-xs-empty-state.xsstory-CCOJ4b9_.mjs","sources":["../../../projects/xs-ui/src/lib/components/base/empty-state/xs-empty-state.xsstory.ts"],"sourcesContent":["import { StoryMeta } from '../../../story.types';\nimport { XSEmptyStateComponent } from './xs-empty-state.component';\n\nexport const story: StoryMeta = {\n id: 'empty-state',\n name: 'Empty State',\n type: 'component',\n subtype: 'Base',\n status: 'active',\n usage: ['admin', 'app', 'monitor'],\n updated: '2026-01-04T12:05:42.050Z',\n created: '2026-01-01T12:12:55.701Z',\n description:\n 'Componente Empty State que muestra un estado vacío con icono, título, descripción y botones configurables.',\n component: XSEmptyStateComponent,\n selector: 'xs-empty-state',\n inputs: [\n {\n key: 'config',\n label: 'Configuración',\n type: 'json',\n default: {\n title: 'No hay elementos',\n description: 'Aún no has añadido ningún elemento.',\n buttons: [],\n },\n },\n ],\n examples: [\n {\n name: 'Empty State Básico',\n description: 'Empty state con título y descripción básica',\n inputs: {\n config: {\n title: 'No hay elementos',\n description:\n 'Aún no has añadido ningún elemento a tu lista.',\n },\n },\n },\n {\n name: 'Empty State con Botones',\n description: 'Empty state con múltiples botones',\n inputs: {\n config: {\n title: 'No hay proyectos',\n description: 'Crea tu primer proyecto para empezar.',\n buttons: [\n {\n label: 'Crear Proyecto',\n variant: 'primary',\n },\n {\n label: 'Ver Tutorial',\n variant: 'outline',\n },\n ],\n },\n },\n },\n ],\n multilanguage: false,\n notes: [],\n coverage: {\n statements: 70,\n branches: 64,\n functions: 75,\n lines: 71,\n },\n};\n"],"names":[],"mappings":";;AAGO,MAAM,KAAK,GAAc;AAC9B,IAAA,EAAE,EAAE,aAAa;AACjB,IAAA,IAAI,EAAE,aAAa;AACnB,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,4GAA4G;AAC9G,IAAA,SAAS,EAAE,qBAAqB;AAChC,IAAA,QAAQ,EAAE,gBAAgB;AAC1B,IAAA,MAAM,EAAE;AACN,QAAA;AACE,YAAA,GAAG,EAAE,QAAQ;AACb,YAAA,KAAK,EAAE,eAAe;AACtB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE;AACP,gBAAA,KAAK,EAAE,kBAAkB;AACzB,gBAAA,WAAW,EAAE,qCAAqC;AAClD,gBAAA,OAAO,EAAE,EAAE;AACZ,aAAA;AACF,SAAA;AACF,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA;AACE,YAAA,IAAI,EAAE,oBAAoB;AAC1B,YAAA,WAAW,EAAE,6CAA6C;AAC1D,YAAA,MAAM,EAAE;AACN,gBAAA,MAAM,EAAE;AACN,oBAAA,KAAK,EAAE,kBAAkB;AACzB,oBAAA,WAAW,EACT,gDAAgD;AACnD,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,yBAAyB;AAC/B,YAAA,WAAW,EAAE,mCAAmC;AAChD,YAAA,MAAM,EAAE;AACN,gBAAA,MAAM,EAAE;AACN,oBAAA,KAAK,EAAE,kBAAkB;AACzB,oBAAA,WAAW,EAAE,uCAAuC;AACpD,oBAAA,OAAO,EAAE;AACP,wBAAA;AACE,4BAAA,KAAK,EAAE,gBAAgB;AACvB,4BAAA,OAAO,EAAE,SAAS;AACnB,yBAAA;AACD,wBAAA;AACE,4BAAA,KAAK,EAAE,cAAc;AACrB,4BAAA,OAAO,EAAE,SAAS;AACnB,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;AACD,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,QAAQ,EAAE;AACR,QAAA,UAAU,EAAE,EAAE;AACd,QAAA,QAAQ,EAAE,EAAE;AACZ,QAAA,SAAS,EAAE,EAAE;AACb,QAAA,KAAK,EAAE,EAAE;AACV,KAAA;;;;;"}
@@ -0,0 +1,287 @@
1
+ import { XSFilterPanelComponent } from './xsmusices-ui.mjs';
2
+
3
+ const story = {
4
+ id: 'filter-panel',
5
+ name: 'Filter Panel',
6
+ type: 'component',
7
+ subtype: 'Base',
8
+ status: 'active',
9
+ usage: ['admin', 'app', 'monitor'],
10
+ multilanguage: true,
11
+ updated: '2026-04-11T12:00:00.000Z',
12
+ created: '2026-04-03T10:00:00.000Z',
13
+ description: 'Panel de filtros avanzado que emerge desde la parte inferior. Soporta múltiples tipos de filtros: selección única, selección múltiple, booleanos, rangos numéricos, rangos de fechas y búsqueda selectiva. Permite organizar filtros por grupos (acordeones) con selección única y buscador contextual interno para cada grupo. Incluye lógica de "Hecho" para cerrar y "Limpiar" para resetear selecciones específicas. Optimizado para dispositivos móviles con scroll independiente y cabeceras sticky.',
14
+ component: XSFilterPanelComponent,
15
+ selector: 'xs-filter-panel',
16
+ inputs: [
17
+ {
18
+ key: 'demoItems',
19
+ label: 'Demo Items',
20
+ type: 'json',
21
+ default: [],
22
+ },
23
+ ],
24
+ examples: [
25
+ {
26
+ name: 'Filtros de Clasificación',
27
+ description: 'Ejemplo clásico de filtros para una aplicación de catálogo o marketplace.',
28
+ inputs: {
29
+ demoItems: [
30
+ {
31
+ id: 'country',
32
+ title: 'Ubicación',
33
+ selectedId: 'es',
34
+ options: [
35
+ { id: 'es', label: 'España' },
36
+ { id: 'fr', label: 'Francia' },
37
+ { id: 'it', label: 'Italia' },
38
+ { id: 'pt', label: 'Portugal' },
39
+ { id: 'de', label: 'Alemania' },
40
+ { id: 'uk', label: 'Reino Unido' },
41
+ ],
42
+ },
43
+ {
44
+ id: 'category',
45
+ title: 'Estilo Artístico',
46
+ options: [
47
+ { id: 'modern', label: 'Moderno' },
48
+ { id: 'classic', label: 'Clásico' },
49
+ { id: 'minimalist', label: 'Minimalista' },
50
+ { id: 'industrial', label: 'Industrial' },
51
+ { id: 'vintage', label: 'Vintage' },
52
+ ],
53
+ },
54
+ {
55
+ id: 'price-range',
56
+ title: 'Rango de Precio',
57
+ options: [
58
+ { id: 'low', label: 'Económico' },
59
+ { id: 'mid', label: 'Intermedio' },
60
+ { id: 'high', label: 'Premium' },
61
+ { id: 'luxury', label: 'Lujo' },
62
+ ],
63
+ },
64
+ ],
65
+ },
66
+ },
67
+ {
68
+ name: 'Preferencias de Usuario',
69
+ description: 'Uso del panel para configurar preferencias rápidas de la interfaz.',
70
+ inputs: {
71
+ demoItems: [
72
+ {
73
+ id: 'language',
74
+ title: 'Idioma de la interfaz',
75
+ selectedId: 'es-ES',
76
+ options: [
77
+ { id: 'es-ES', label: 'Español (España)' },
78
+ { id: 'en-US', label: 'English (US)' },
79
+ { id: 'fr-FR', label: 'Français' },
80
+ { id: 'de-DE', label: 'Deutsch' },
81
+ { id: 'jp-JP', label: '日本語' },
82
+ ],
83
+ },
84
+ {
85
+ id: 'theme',
86
+ title: 'Tema Visual',
87
+ selectedId: 'dark',
88
+ options: [
89
+ { id: 'light', label: 'Modo Claro' },
90
+ { id: 'dark', label: 'Modo Oscuro' },
91
+ { id: 'system', label: 'Sincronizar con Sistema' },
92
+ ],
93
+ },
94
+ ],
95
+ },
96
+ },
97
+ {
98
+ name: 'Rango de Fechas',
99
+ description: 'Ejemplo de filtro por rango de fechas para eventos o reservas.',
100
+ inputs: {
101
+ demoItems: [
102
+ {
103
+ id: 'date-range',
104
+ title: 'Rango de Fechas',
105
+ type: 'dateRange',
106
+ dateFrom: '2026-04-01',
107
+ dateTo: '2026-04-30',
108
+ },
109
+ {
110
+ id: 'country',
111
+ title: 'País',
112
+ selectedId: 'es',
113
+ options: [
114
+ { id: 'es', label: 'España' },
115
+ { id: 'mx', label: 'México' },
116
+ { id: 'ar', label: 'Argentina' },
117
+ ],
118
+ },
119
+ ],
120
+ },
121
+ },
122
+ {
123
+ name: 'Selección Múltiple',
124
+ description: 'Ejemplo de filtro con selección múltiple para categorías.',
125
+ inputs: {
126
+ demoItems: [
127
+ {
128
+ id: 'categories',
129
+ title: 'Categorías',
130
+ type: 'multiSelect',
131
+ selectedIds: ['rock', 'pop'],
132
+ options: [
133
+ { id: 'rock', label: 'Rock' },
134
+ { id: 'pop', label: 'Pop' },
135
+ { id: 'jazz', label: 'Jazz' },
136
+ { id: 'electronic', label: 'Electrónica' },
137
+ { id: 'classical', label: 'Clásica' },
138
+ ],
139
+ },
140
+ {
141
+ id: 'mood',
142
+ title: 'Estado de Ánimo',
143
+ type: 'multiSelect',
144
+ options: [
145
+ { id: 'energetic', label: 'Enérgico' },
146
+ { id: 'relaxed', label: 'Relajado' },
147
+ { id: 'melancholic', label: 'Melancólico' },
148
+ { id: 'happy', label: 'Feliz' },
149
+ ],
150
+ },
151
+ ],
152
+ },
153
+ },
154
+ {
155
+ name: 'Filtros Booleanos',
156
+ description: 'Ejemplo de filtros booleanos para opciones de sí/no.',
157
+ inputs: {
158
+ demoItems: [
159
+ {
160
+ id: 'featured',
161
+ title: 'Destacado',
162
+ type: 'boolean',
163
+ selectedBoolean: true,
164
+ },
165
+ {
166
+ id: 'available',
167
+ title: 'Disponible',
168
+ type: 'boolean',
169
+ selectedBoolean: false,
170
+ },
171
+ {
172
+ id: 'premium',
173
+ title: 'Premium',
174
+ type: 'boolean',
175
+ },
176
+ ],
177
+ },
178
+ },
179
+ {
180
+ name: 'Rango Numérico',
181
+ description: 'Ejemplo de filtro por rango numérico para precios o calificaciones.',
182
+ inputs: {
183
+ demoItems: [
184
+ {
185
+ id: 'price-range',
186
+ title: 'Rango de Precio',
187
+ type: 'range',
188
+ minValue: 0,
189
+ maxValue: 1000,
190
+ selectedMin: 100,
191
+ selectedMax: 500,
192
+ },
193
+ {
194
+ id: 'rating',
195
+ title: 'Calificación',
196
+ type: 'range',
197
+ minValue: 1,
198
+ maxValue: 5,
199
+ selectedMin: 3,
200
+ },
201
+ ],
202
+ },
203
+ },
204
+ {
205
+ name: 'Búsqueda Selectiva',
206
+ description: 'Ejemplo de filtro con búsqueda para selección de elementos.',
207
+ inputs: {
208
+ demoItems: [
209
+ {
210
+ id: 'artist-search',
211
+ title: 'Buscar Artista',
212
+ type: 'searchSelect',
213
+ searchPlaceholder: 'Escribe el nombre del artista...',
214
+ selectedSearchValue: 'The Beatles',
215
+ },
216
+ {
217
+ id: 'genre',
218
+ title: 'Género',
219
+ selectedId: 'rock',
220
+ options: [
221
+ { id: 'rock', label: 'Rock' },
222
+ { id: 'pop', label: 'Pop' },
223
+ { id: 'jazz', label: 'Jazz' },
224
+ ],
225
+ },
226
+ ],
227
+ },
228
+ },
229
+ {
230
+ name: 'Filtros Combinados',
231
+ description: 'Ejemplo que combina diferentes tipos de filtros para una búsqueda avanzada.',
232
+ inputs: {
233
+ demoItems: [
234
+ {
235
+ id: 'categories',
236
+ title: 'Categorías',
237
+ type: 'multiSelect',
238
+ selectedIds: ['rock', 'pop'],
239
+ options: [
240
+ { id: 'rock', label: 'Rock' },
241
+ { id: 'pop', label: 'Pop' },
242
+ { id: 'jazz', label: 'Jazz' },
243
+ { id: 'electronic', label: 'Electrónica' },
244
+ ],
245
+ },
246
+ {
247
+ id: 'price-range',
248
+ title: 'Rango de Precio',
249
+ type: 'range',
250
+ minValue: 0,
251
+ maxValue: 500,
252
+ selectedMin: 50,
253
+ selectedMax: 200,
254
+ },
255
+ {
256
+ id: 'featured',
257
+ title: 'Solo Destacados',
258
+ type: 'boolean',
259
+ selectedBoolean: true,
260
+ },
261
+ {
262
+ id: 'date-range',
263
+ title: 'Fecha de Evento',
264
+ type: 'dateRange',
265
+ dateFrom: '2026-05-01',
266
+ dateTo: '2026-05-31',
267
+ },
268
+ {
269
+ id: 'venue-search',
270
+ title: 'Buscar Venue',
271
+ type: 'searchSelect',
272
+ searchPlaceholder: 'Nombre del lugar...',
273
+ },
274
+ ],
275
+ },
276
+ },
277
+ ],
278
+ coverage: {
279
+ statements: 92,
280
+ branches: 85,
281
+ functions: 90,
282
+ lines: 92,
283
+ },
284
+ };
285
+
286
+ export { story };
287
+ //# sourceMappingURL=xsmusices-ui-xs-filter-panel.xsstory-DbvxGppo.mjs.map