@moni-labs/moni-ui 0.3.0 → 0.3.2

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 (251) hide show
  1. package/custom-elements.json +5230 -1007
  2. package/dist/components/_base/moni-element.d.ts +16 -9
  3. package/dist/components/_base/moni-element.d.ts.map +1 -1
  4. package/dist/components/_base/moni-element.js +63 -9
  5. package/dist/components/index.js +2 -2
  6. package/dist/components/loading-shapes.d.ts +19 -0
  7. package/dist/components/loading-shapes.d.ts.map +1 -1
  8. package/dist/components/loading-shapes.js +19 -0
  9. package/dist/components/moni-app-bar.d.ts +72 -62
  10. package/dist/components/moni-app-bar.d.ts.map +1 -1
  11. package/dist/components/moni-app-bar.js +72 -62
  12. package/dist/components/moni-badge.d.ts +64 -65
  13. package/dist/components/moni-badge.d.ts.map +1 -1
  14. package/dist/components/moni-badge.js +64 -66
  15. package/dist/components/moni-bottom-sheet.d.ts +129 -61
  16. package/dist/components/moni-bottom-sheet.d.ts.map +1 -1
  17. package/dist/components/moni-bottom-sheet.js +217 -131
  18. package/dist/components/moni-button-group.d.ts +107 -29
  19. package/dist/components/moni-button-group.d.ts.map +1 -1
  20. package/dist/components/moni-button-group.js +107 -29
  21. package/dist/components/moni-button-segment.d.ts +53 -12
  22. package/dist/components/moni-button-segment.d.ts.map +1 -1
  23. package/dist/components/moni-button-segment.js +53 -12
  24. package/dist/components/moni-button.d.ts +116 -38
  25. package/dist/components/moni-button.d.ts.map +1 -1
  26. package/dist/components/moni-button.js +128 -38
  27. package/dist/components/moni-card.d.ts +68 -50
  28. package/dist/components/moni-card.d.ts.map +1 -1
  29. package/dist/components/moni-card.js +68 -50
  30. package/dist/components/moni-carousel.d.ts +484 -53
  31. package/dist/components/moni-carousel.d.ts.map +1 -1
  32. package/dist/components/moni-carousel.js +1024 -245
  33. package/dist/components/moni-checkbox.d.ts +49 -46
  34. package/dist/components/moni-checkbox.d.ts.map +1 -1
  35. package/dist/components/moni-checkbox.js +55 -48
  36. package/dist/components/moni-chip.d.ts +100 -33
  37. package/dist/components/moni-chip.d.ts.map +1 -1
  38. package/dist/components/moni-chip.js +104 -34
  39. package/dist/components/moni-color-field.d.ts +99 -24
  40. package/dist/components/moni-color-field.d.ts.map +1 -1
  41. package/dist/components/moni-color-field.js +99 -24
  42. package/dist/components/moni-context-menu.d.ts +72 -26
  43. package/dist/components/moni-context-menu.d.ts.map +1 -1
  44. package/dist/components/moni-context-menu.js +76 -30
  45. package/dist/components/moni-dialog.d.ts +84 -59
  46. package/dist/components/moni-dialog.d.ts.map +1 -1
  47. package/dist/components/moni-dialog.js +105 -58
  48. package/dist/components/moni-divider.d.ts +39 -27
  49. package/dist/components/moni-divider.d.ts.map +1 -1
  50. package/dist/components/moni-divider.js +42 -30
  51. package/dist/components/moni-expansion.d.ts +32 -22
  52. package/dist/components/moni-expansion.d.ts.map +1 -1
  53. package/dist/components/moni-expansion.js +32 -22
  54. package/dist/components/moni-fab-menu.d.ts +61 -23
  55. package/dist/components/moni-fab-menu.d.ts.map +1 -1
  56. package/dist/components/moni-fab-menu.js +69 -31
  57. package/dist/components/moni-fab.d.ts +86 -28
  58. package/dist/components/moni-fab.d.ts.map +1 -1
  59. package/dist/components/moni-fab.js +92 -34
  60. package/dist/components/moni-file-field.d.ts +118 -30
  61. package/dist/components/moni-file-field.d.ts.map +1 -1
  62. package/dist/components/moni-file-field.js +118 -30
  63. package/dist/components/moni-icon.d.ts +40 -35
  64. package/dist/components/moni-icon.d.ts.map +1 -1
  65. package/dist/components/moni-icon.js +43 -38
  66. package/dist/components/moni-list-item.d.ts +46 -33
  67. package/dist/components/moni-list-item.d.ts.map +1 -1
  68. package/dist/components/moni-list-item.js +61 -41
  69. package/dist/components/moni-list.d.ts +30 -20
  70. package/dist/components/moni-list.d.ts.map +1 -1
  71. package/dist/components/moni-list.js +36 -21
  72. package/dist/components/moni-loading-indicator.d.ts +54 -22
  73. package/dist/components/moni-loading-indicator.d.ts.map +1 -1
  74. package/dist/components/moni-loading-indicator.js +54 -22
  75. package/dist/components/moni-menu-item.d.ts +23 -16
  76. package/dist/components/moni-menu-item.d.ts.map +1 -1
  77. package/dist/components/moni-menu-item.js +23 -16
  78. package/dist/components/moni-menu.d.ts +81 -28
  79. package/dist/components/moni-menu.d.ts.map +1 -1
  80. package/dist/components/moni-menu.js +81 -30
  81. package/dist/components/moni-morph-modal.d.ts +141 -0
  82. package/dist/components/moni-morph-modal.d.ts.map +1 -1
  83. package/dist/components/moni-morph-modal.js +295 -58
  84. package/dist/components/moni-nav-item.d.ts +59 -29
  85. package/dist/components/moni-nav-item.d.ts.map +1 -1
  86. package/dist/components/moni-nav-item.js +59 -29
  87. package/dist/components/moni-nav.d.ts +94 -35
  88. package/dist/components/moni-nav.d.ts.map +1 -1
  89. package/dist/components/moni-nav.js +94 -35
  90. package/dist/components/moni-progress.d.ts +99 -55
  91. package/dist/components/moni-progress.d.ts.map +1 -1
  92. package/dist/components/moni-progress.js +99 -55
  93. package/dist/components/moni-radio.d.ts +62 -50
  94. package/dist/components/moni-radio.d.ts.map +1 -1
  95. package/dist/components/moni-radio.js +65 -52
  96. package/dist/components/moni-ripple.d.ts +74 -59
  97. package/dist/components/moni-ripple.d.ts.map +1 -1
  98. package/dist/components/moni-ripple.js +74 -59
  99. package/dist/components/moni-segmented-button.d.ts +91 -16
  100. package/dist/components/moni-segmented-button.d.ts.map +1 -1
  101. package/dist/components/moni-segmented-button.js +94 -17
  102. package/dist/components/moni-select-option.d.ts +30 -23
  103. package/dist/components/moni-select-option.d.ts.map +1 -1
  104. package/dist/components/moni-select-option.js +30 -23
  105. package/dist/components/moni-select.d.ts +300 -35
  106. package/dist/components/moni-select.d.ts.map +1 -1
  107. package/dist/components/moni-select.js +323 -39
  108. package/dist/components/moni-side-sheet.d.ts +94 -32
  109. package/dist/components/moni-side-sheet.d.ts.map +1 -1
  110. package/dist/components/moni-side-sheet.js +94 -32
  111. package/dist/components/moni-slider.d.ts +152 -41
  112. package/dist/components/moni-slider.d.ts.map +1 -1
  113. package/dist/components/moni-slider.js +154 -42
  114. package/dist/components/moni-snackbar.d.ts +53 -43
  115. package/dist/components/moni-snackbar.d.ts.map +1 -1
  116. package/dist/components/moni-snackbar.js +53 -43
  117. package/dist/components/moni-split-button.d.ts +63 -18
  118. package/dist/components/moni-split-button.d.ts.map +1 -1
  119. package/dist/components/moni-split-button.js +63 -18
  120. package/dist/components/moni-step.d.ts +36 -24
  121. package/dist/components/moni-step.d.ts.map +1 -1
  122. package/dist/components/moni-step.js +41 -29
  123. package/dist/components/moni-stepper.d.ts +64 -27
  124. package/dist/components/moni-stepper.d.ts.map +1 -1
  125. package/dist/components/moni-stepper.js +72 -34
  126. package/dist/components/moni-switch.d.ts +57 -46
  127. package/dist/components/moni-switch.d.ts.map +1 -1
  128. package/dist/components/moni-switch.js +59 -47
  129. package/dist/components/moni-tab.d.ts +26 -18
  130. package/dist/components/moni-tab.d.ts.map +1 -1
  131. package/dist/components/moni-tab.js +29 -21
  132. package/dist/components/moni-tabs.d.ts +34 -28
  133. package/dist/components/moni-tabs.d.ts.map +1 -1
  134. package/dist/components/moni-tabs.js +34 -28
  135. package/dist/components/moni-text-field.d.ts +139 -29
  136. package/dist/components/moni-text-field.d.ts.map +1 -1
  137. package/dist/components/moni-text-field.js +157 -31
  138. package/dist/components/moni-textarea.d.ts +127 -29
  139. package/dist/components/moni-textarea.d.ts.map +1 -1
  140. package/dist/components/moni-textarea.js +131 -32
  141. package/dist/components/moni-time-picker.d.ts +114 -24
  142. package/dist/components/moni-time-picker.d.ts.map +1 -1
  143. package/dist/components/moni-time-picker.js +127 -33
  144. package/dist/components/moni-toolbar.d.ts +37 -23
  145. package/dist/components/moni-toolbar.d.ts.map +1 -1
  146. package/dist/components/moni-toolbar.js +37 -23
  147. package/dist/components/moni-tooltip.d.ts +100 -36
  148. package/dist/components/moni-tooltip.d.ts.map +1 -1
  149. package/dist/components/moni-tooltip.js +104 -40
  150. package/dist/components/moni-typography.d.ts +68 -30
  151. package/dist/components/moni-typography.d.ts.map +1 -1
  152. package/dist/components/moni-typography.js +70 -32
  153. package/dist/styles/tokens.css +7 -7
  154. package/dist/types/events.d.ts +17 -0
  155. package/dist/types/events.d.ts.map +1 -0
  156. package/dist/types/events.js +1 -0
  157. package/dist/utils/event-emitter.d.ts +13 -0
  158. package/dist/utils/event-emitter.d.ts.map +1 -0
  159. package/dist/utils/event-emitter.js +13 -0
  160. package/package.json +2 -1
  161. package/src/components/_base/moni-element.ts +73 -9
  162. package/src/components/index.ts +2 -2
  163. package/src/components/loading-shapes.ts +19 -0
  164. package/src/components/moni-app-bar.test.ts +10 -10
  165. package/src/components/moni-app-bar.ts +72 -62
  166. package/src/components/moni-badge.ts +64 -66
  167. package/src/components/moni-bottom-sheet.test.ts +39 -45
  168. package/src/components/moni-bottom-sheet.ts +222 -131
  169. package/src/components/moni-button-group.test.ts +14 -14
  170. package/src/components/moni-button-group.ts +107 -29
  171. package/src/components/moni-button-segment.ts +53 -12
  172. package/src/components/moni-button.test.ts +28 -26
  173. package/src/components/moni-button.ts +139 -39
  174. package/src/components/moni-card.test.ts +6 -6
  175. package/src/components/moni-card.ts +70 -50
  176. package/src/components/moni-carousel.test.ts +12 -12
  177. package/src/components/moni-carousel.ts +1129 -269
  178. package/src/components/moni-checkbox.test.ts +7 -7
  179. package/src/components/moni-checkbox.ts +62 -48
  180. package/src/components/moni-chip.test.ts +17 -17
  181. package/src/components/moni-chip.ts +112 -34
  182. package/src/components/moni-color-field.test.ts +5 -5
  183. package/src/components/moni-color-field.ts +108 -24
  184. package/src/components/moni-context-menu.test.ts +11 -11
  185. package/src/components/moni-context-menu.ts +76 -30
  186. package/src/components/moni-dialog.ts +108 -59
  187. package/src/components/moni-divider.test.ts +4 -4
  188. package/src/components/moni-divider.ts +42 -30
  189. package/src/components/moni-expansion.ts +32 -22
  190. package/src/components/moni-fab-menu.test.ts +11 -11
  191. package/src/components/moni-fab-menu.ts +69 -31
  192. package/src/components/moni-fab.test.ts +16 -16
  193. package/src/components/moni-fab.ts +100 -34
  194. package/src/components/moni-file-field.test.ts +8 -8
  195. package/src/components/moni-file-field.ts +132 -30
  196. package/src/components/moni-icon.test.ts +11 -11
  197. package/src/components/moni-icon.ts +43 -38
  198. package/src/components/moni-list-item.test.ts +10 -10
  199. package/src/components/moni-list-item.ts +61 -41
  200. package/src/components/moni-list.ts +37 -21
  201. package/src/components/moni-loading-indicator.test.ts +3 -3
  202. package/src/components/moni-loading-indicator.ts +54 -22
  203. package/src/components/moni-menu-item.ts +23 -16
  204. package/src/components/moni-menu.test.ts +7 -7
  205. package/src/components/moni-menu.ts +87 -30
  206. package/src/components/moni-morph-modal.test.ts +18 -17
  207. package/src/components/moni-morph-modal.ts +327 -60
  208. package/src/components/moni-nav-item.ts +59 -29
  209. package/src/components/moni-nav.test.ts +11 -11
  210. package/src/components/moni-nav.ts +94 -35
  211. package/src/components/moni-progress.test.ts +9 -9
  212. package/src/components/moni-progress.ts +100 -56
  213. package/src/components/moni-radio.test.ts +8 -8
  214. package/src/components/moni-radio.ts +71 -51
  215. package/src/components/moni-ripple.ts +74 -59
  216. package/src/components/moni-segmented-button.test.ts +4 -4
  217. package/src/components/moni-segmented-button.ts +94 -17
  218. package/src/components/moni-select-option.ts +30 -23
  219. package/src/components/moni-select.test.ts +11 -11
  220. package/src/components/moni-select.ts +361 -50
  221. package/src/components/moni-side-sheet.test.ts +7 -7
  222. package/src/components/moni-side-sheet.ts +94 -32
  223. package/src/components/moni-slider.test.ts +7 -7
  224. package/src/components/moni-slider.ts +165 -42
  225. package/src/components/moni-snackbar.test.ts +8 -8
  226. package/src/components/moni-snackbar.ts +53 -43
  227. package/src/components/moni-split-button.ts +63 -18
  228. package/src/components/moni-step.test.ts +7 -7
  229. package/src/components/moni-step.ts +41 -29
  230. package/src/components/moni-stepper.test.ts +7 -7
  231. package/src/components/moni-stepper.ts +72 -34
  232. package/src/components/moni-switch.test.ts +12 -12
  233. package/src/components/moni-switch.ts +66 -47
  234. package/src/components/moni-tab.test.ts +5 -5
  235. package/src/components/moni-tab.ts +29 -21
  236. package/src/components/moni-tabs.ts +34 -28
  237. package/src/components/moni-text-field.test.ts +13 -13
  238. package/src/components/moni-text-field.ts +181 -30
  239. package/src/components/moni-textarea.test.ts +17 -17
  240. package/src/components/moni-textarea.ts +155 -31
  241. package/src/components/moni-time-picker.test.ts +5 -5
  242. package/src/components/moni-time-picker.ts +128 -33
  243. package/src/components/moni-toolbar.test.ts +8 -8
  244. package/src/components/moni-toolbar.ts +37 -23
  245. package/src/components/moni-tooltip.test.ts +15 -15
  246. package/src/components/moni-tooltip.ts +107 -40
  247. package/src/components/moni-typography.test.ts +10 -10
  248. package/src/components/moni-typography.ts +73 -32
  249. package/src/styles/tokens.css +7 -7
  250. package/src/types/events.ts +17 -0
  251. package/src/utils/event-emitter.ts +26 -0
@@ -14,21 +14,21 @@ describe('moni-bottom-sheet', () => {
14
14
  el.remove();
15
15
  });
16
16
 
17
- it('renders dialog closed by default', async () => {
17
+ it('renderiza el diálogo cerrado por defecto', async () => {
18
18
  await el.updateComplete;
19
19
  const dialog = el.shadowRoot?.querySelector('dialog');
20
20
  expect(dialog).toBeTruthy();
21
21
  expect(dialog?.hasAttribute('open')).toBe(false);
22
22
  });
23
23
 
24
- it('renders open dialog when open attribute is set', async () => {
24
+ it('renderiza el diálogo abierto cuando el atributo open está establecido', async () => {
25
25
  el.open = true;
26
26
  await el.updateComplete;
27
27
  const dialog = el.shadowRoot?.querySelector('dialog');
28
28
  expect(dialog?.hasAttribute('open')).toBe(true);
29
29
  });
30
30
 
31
- it('emits close event and sets open to false when dragged down beyond threshold', async () => {
31
+ it('emite el evento close y establece open en false cuando se arrastra hacia abajo más allá del umbral', async () => {
32
32
  el.open = true;
33
33
  await el.updateComplete;
34
34
 
@@ -37,11 +37,11 @@ describe('moni-bottom-sheet', () => {
37
37
  expect(dialog).toBeTruthy();
38
38
  expect(handle).toBeTruthy();
39
39
 
40
- // Mock setPointerCapture and releasePointerCapture
40
+ // Simular setPointerCapture y releasePointerCapture
41
41
  handle.setPointerCapture = vi.fn();
42
42
  handle.releasePointerCapture = vi.fn();
43
43
 
44
- // Mock getBoundingClientRect for height
44
+ // Simular getBoundingClientRect para la altura
45
45
  vi.spyOn(dialog, 'getBoundingClientRect').mockReturnValue({
46
46
  height: 300,
47
47
  width: 375,
@@ -57,7 +57,7 @@ describe('moni-bottom-sheet', () => {
57
57
  const closeSpy = vi.fn();
58
58
  el.addEventListener('close', closeSpy);
59
59
 
60
- // Trigger pointerdown on handle
60
+ // Desencadenar pointerdown en el handle
61
61
  handle.dispatchEvent(
62
62
  new PointerEvent('pointerdown', {
63
63
  bubbles: true,
@@ -67,7 +67,7 @@ describe('moni-bottom-sheet', () => {
67
67
  })
68
68
  );
69
69
 
70
- // Trigger pointermove downwards (200px down)
70
+ // Desencadenar pointermove hacia abajo (200px)
71
71
  dialog.dispatchEvent(
72
72
  new PointerEvent('pointermove', {
73
73
  bubbles: true,
@@ -77,7 +77,7 @@ describe('moni-bottom-sheet', () => {
77
77
  })
78
78
  );
79
79
 
80
- // Trigger pointerup
80
+ // Desencadenar pointerup
81
81
  handle.dispatchEvent(
82
82
  new PointerEvent('pointerup', {
83
83
  bubbles: true,
@@ -87,7 +87,7 @@ describe('moni-bottom-sheet', () => {
87
87
  })
88
88
  );
89
89
 
90
- // Simulate transition finishing
90
+ // Simular la finalización de la transición
91
91
  dialog.dispatchEvent(new Event('transitionend'));
92
92
 
93
93
  await el.updateComplete;
@@ -96,7 +96,7 @@ describe('moni-bottom-sheet', () => {
96
96
  expect(el.open).toBe(false);
97
97
  });
98
98
 
99
- it('does not emit close event when dragged down less than threshold', async () => {
99
+ it('no emite el evento close cuando se arrastra hacia abajo menos del umbral', async () => {
100
100
  el.open = true;
101
101
  await el.updateComplete;
102
102
 
@@ -134,7 +134,7 @@ describe('moni-bottom-sheet', () => {
134
134
  new PointerEvent('pointermove', {
135
135
  bubbles: true,
136
136
  clientX: 100,
137
- clientY: 420, // 20px difference (below threshold of Math.min(150, 300*0.4=120))
137
+ clientY: 420, // 20px de diferencia (por debajo del umbral de Math.min(150, 300*0.4=120))
138
138
  pointerId: 1
139
139
  })
140
140
  );
@@ -154,7 +154,7 @@ describe('moni-bottom-sheet', () => {
154
154
  expect(el.open).toBe(true);
155
155
  });
156
156
 
157
- it('increases the dialog height when dragged upwards', async () => {
157
+ it('aumenta la altura del diálogo cuando se arrastra hacia arriba', async () => {
158
158
  el.open = true;
159
159
  await el.updateComplete;
160
160
 
@@ -176,7 +176,7 @@ describe('moni-bottom-sheet', () => {
176
176
  toJSON: () => {}
177
177
  });
178
178
 
179
- // Trigger pointerdown
179
+ // Desencadenar pointerdown
180
180
  handle.dispatchEvent(
181
181
  new PointerEvent('pointerdown', {
182
182
  bubbles: true,
@@ -186,19 +186,19 @@ describe('moni-bottom-sheet', () => {
186
186
  })
187
187
  );
188
188
 
189
- // Trigger pointermove upwards (by 50px)
189
+ // Desencadenar pointermove hacia arriba (por 50px)
190
190
  dialog.dispatchEvent(
191
191
  new PointerEvent('pointermove', {
192
192
  bubbles: true,
193
193
  clientX: 100,
194
- clientY: 350, // clientY went from 400 to 350, so deltaY = -50
194
+ clientY: 350, // clientY pasó de 400 a 350, así que deltaY = -50
195
195
  pointerId: 1
196
196
  })
197
197
  );
198
198
 
199
199
  expect(dialog.style.height).toBe('350px'); // 300px + 50px
200
200
 
201
- // Trigger pointerup
201
+ // Desencadenar pointerup
202
202
  handle.dispatchEvent(
203
203
  new PointerEvent('pointerup', {
204
204
  bubbles: true,
@@ -210,12 +210,12 @@ describe('moni-bottom-sheet', () => {
210
210
 
211
211
  await el.updateComplete;
212
212
 
213
- // Height and transform style should be reset
213
+ // La altura y el estilo de transformación deben restablecerse
214
214
  expect(dialog.style.height).toBe('');
215
215
  expect(dialog.style.transform).toBe('');
216
216
  });
217
217
 
218
- it('snaps to expanded class when dragged up beyond threshold', async () => {
218
+ it('se ajusta a la clase expanded cuando se arrastra hacia arriba más allá del umbral', async () => {
219
219
  el.open = true;
220
220
  await el.updateComplete;
221
221
 
@@ -237,7 +237,7 @@ describe('moni-bottom-sheet', () => {
237
237
  toJSON: () => {}
238
238
  });
239
239
 
240
- // Start drag
240
+ // Iniciar arrastre
241
241
  handle.dispatchEvent(
242
242
  new PointerEvent('pointerdown', {
243
243
  bubbles: true,
@@ -247,7 +247,7 @@ describe('moni-bottom-sheet', () => {
247
247
  })
248
248
  );
249
249
 
250
- // Drag up by 100px (greater than 80px threshold)
250
+ // Arrastrar hacia arriba 100px (mayor al umbral de 80px)
251
251
  dialog.dispatchEvent(
252
252
  new PointerEvent('pointermove', {
253
253
  bubbles: true,
@@ -257,7 +257,7 @@ describe('moni-bottom-sheet', () => {
257
257
  })
258
258
  );
259
259
 
260
- // Release
260
+ // Soltar
261
261
  handle.dispatchEvent(
262
262
  new PointerEvent('pointerup', {
263
263
  bubbles: true,
@@ -269,31 +269,31 @@ describe('moni-bottom-sheet', () => {
269
269
 
270
270
  await el.updateComplete;
271
271
 
272
- // Class list should now contain 'expanded'
272
+ // La lista de clases ahora debería contener 'expanded'
273
273
  expect(dialog.classList.contains('expanded')).toBe(true);
274
274
  });
275
275
 
276
- it('teleports the element to document.body when positioning=body and open=true, and restores it when closed', async () => {
276
+ it('teletransporta el elemento a document.body cuando positioning=body y open=true, y lo restaura al cerrarse', async () => {
277
277
  const originalParent = el.parentNode;
278
278
  el.positioning = 'body';
279
279
  await el.updateComplete;
280
280
 
281
- // Set open to true
281
+ // Establecer open en true
282
282
  el.open = true;
283
283
  await el.updateComplete;
284
284
 
285
- // Should be child of document.body
285
+ // Debería ser hijo de document.body
286
286
  expect(el.parentNode).toBe(document.body);
287
287
 
288
- // Set open to false
288
+ // Establecer open en false
289
289
  el.open = false;
290
290
  await el.updateComplete;
291
291
 
292
- // Should be restored to original parent
292
+ // Debería restaurarse al padre original
293
293
  expect(el.parentNode).toBe(originalParent);
294
294
  });
295
295
 
296
- it('applies correct class for positioning=absolute and positioning=static', async () => {
296
+ it('aplica la clase correcta para positioning=absolute y positioning=static', async () => {
297
297
  const dialog = el.shadowRoot?.querySelector('dialog');
298
298
 
299
299
  el.positioning = 'absolute';
@@ -307,7 +307,7 @@ describe('moni-bottom-sheet', () => {
307
307
  expect(dialog?.classList.contains('absolute')).toBe(false);
308
308
  });
309
309
 
310
- it('sets CSS custom property for expandedHeight', async () => {
310
+ it('establece la propiedad personalizada CSS para expandedHeight', async () => {
311
311
  el.expandedHeight = '75%';
312
312
  await el.updateComplete;
313
313
  expect(el.style.getPropertyValue('--moni-bottom-sheet-expanded-height')).toBe('75%');
@@ -317,7 +317,7 @@ describe('moni-bottom-sheet', () => {
317
317
  expect(el.style.getPropertyValue('--moni-bottom-sheet-expanded-height')).toBe('600px');
318
318
  });
319
319
 
320
- it('closes the bottom sheet when clicking outside the dialog (backdrop click)', async () => {
320
+ it('cierra el bottom sheet al hacer clic fuera del diálogo (clic en el backdrop)', async () => {
321
321
  el.open = true;
322
322
  el.modal = true;
323
323
  await el.updateComplete;
@@ -330,13 +330,7 @@ describe('moni-bottom-sheet', () => {
330
330
  const closeSpy = vi.fn();
331
331
  el.addEventListener('close', closeSpy);
332
332
 
333
- // Click inside (target is handle): should not close
334
- dialog.dispatchEvent(new MouseEvent('click', {
335
- bubbles: true,
336
- cancelable: true
337
- }));
338
- // Wait, MouseEvent dispatched on dialog directly has e.target === dialog.
339
- // To simulate click on handle, dispatch click event on handle, which bubbles to dialog:
333
+ // Clic adentro (el objetivo es handle): no debería cerrarse
340
334
  handle.dispatchEvent(new MouseEvent('click', {
341
335
  bubbles: true,
342
336
  cancelable: true
@@ -346,13 +340,13 @@ describe('moni-bottom-sheet', () => {
346
340
  expect(closeSpy).not.toHaveBeenCalled();
347
341
  expect(el.open).toBe(true);
348
342
 
349
- // Click outside (target is dialog itself): should close
343
+ // Clic afuera (el objetivo es el propio diálogo): debería cerrarse
350
344
  dialog.dispatchEvent(new MouseEvent('click', {
351
345
  bubbles: true,
352
346
  cancelable: true
353
347
  }));
354
348
 
355
- // Simulate transition finishing
349
+ // Simular la finalización de la transición
356
350
  dialog.dispatchEvent(new Event('transitionend'));
357
351
 
358
352
  await el.updateComplete;
@@ -360,7 +354,7 @@ describe('moni-bottom-sheet', () => {
360
354
  expect(el.open).toBe(false);
361
355
  });
362
356
 
363
- it('sets CSS custom property for maxWidth', async () => {
357
+ it('establece la propiedad personalizada CSS para maxWidth', async () => {
364
358
  el.maxWidth = '500px';
365
359
  await el.updateComplete;
366
360
  expect(el.style.getPropertyValue('--moni-bottom-sheet-max-width')).toBe('500px');
@@ -370,7 +364,7 @@ describe('moni-bottom-sheet', () => {
370
364
  expect(el.style.getPropertyValue('--moni-bottom-sheet-max-width')).toBe('80%');
371
365
  });
372
366
 
373
- it('does not close the bottom sheet on backdrop click if it was just dragged', async () => {
367
+ it('no cierra el bottom sheet al hacer clic en el backdrop si acaba de ser arrastrado', async () => {
374
368
  el.open = true;
375
369
  el.modal = true;
376
370
  await el.updateComplete;
@@ -380,14 +374,14 @@ describe('moni-bottom-sheet', () => {
380
374
  expect(dialog).toBeTruthy();
381
375
  expect(handle).toBeTruthy();
382
376
 
383
- // Mock pointer methods
377
+ // Simular métodos de puntero
384
378
  handle.setPointerCapture = vi.fn();
385
379
  handle.releasePointerCapture = vi.fn();
386
380
 
387
381
  const closeSpy = vi.fn();
388
382
  el.addEventListener('close', closeSpy);
389
383
 
390
- // Perform a drag gesture (pointerdown, pointermove, pointerup)
384
+ // Realizar un gesto de arrastre (pointerdown, pointermove, pointerup)
391
385
  handle.dispatchEvent(new PointerEvent('pointerdown', {
392
386
  bubbles: true,
393
387
  clientX: 100,
@@ -397,7 +391,7 @@ describe('moni-bottom-sheet', () => {
397
391
  dialog.dispatchEvent(new PointerEvent('pointermove', {
398
392
  bubbles: true,
399
393
  clientX: 100,
400
- clientY: 350, // 50px up drag
394
+ clientY: 350, // arrastre hacia arriba de 50px
401
395
  pointerId: 1
402
396
  }));
403
397
  handle.dispatchEvent(new PointerEvent('pointerup', {
@@ -407,7 +401,7 @@ describe('moni-bottom-sheet', () => {
407
401
  pointerId: 1
408
402
  }));
409
403
 
410
- // A click event immediately following the drag
404
+ // Un evento click inmediatamente después del arrastre
411
405
  dialog.dispatchEvent(new MouseEvent('click', {
412
406
  bubbles: true,
413
407
  cancelable: true