@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
@@ -6,44 +6,44 @@
6
6
  */
7
7
  import { MoniElement } from './_base/index.js';
8
8
  /**
9
- * Material Design 3 Menu component.
9
+ * Componente Material Design 3 Menu (Menú).
10
10
  *
11
- * Menus display a list of choices on a temporary surface. They appear when
12
- * users interact with a button, action, or other control.
11
+ * Los menús muestran una lista de opciones en una superficie temporal. Aparecen cuando
12
+ * los usuarios interactúan con un botón, acción u otro control.
13
13
  *
14
- * **M3 spec reference:** `m3-docs/components/menus/guidelines.md`
14
+ * **Referencia de la especificación M3:** `m3-docs/components/menus/guidelines.md`
15
15
  *
16
- * **Positioning architecture:**
17
- * The menu uses `position: absolute` relative to its nearest positioned
18
- * ancestor. The component's `:host` uses `display: contents`, meaning the
19
- * inner `<menu>` element directly participates in the consumer's layout context.
20
- * **Crucial:** The consumer must apply `position: relative` to the wrapper
21
- * element that contains both the trigger and the `<moni-menu>`.
16
+ * **Arquitectura de posicionamiento:**
17
+ * El menú usa `position: absolute` relativo a su ancestro posicionado más cercano.
18
+ * El `:host` del componente usa `display: contents`, lo que significa que el
19
+ * elemento interior `<menu>` participa directamente en el contexto de diseño del consumidor.
20
+ * **Crucial:** El consumidor debe aplicar `position: relative` al elemento contenedor
21
+ * que contiene tanto el activador (trigger) como el `<moni-menu>`.
22
22
  *
23
- * **Auto-flip positioning:**
24
- * Per M3 guidelines, menus should flip to the opposite side of the anchor
25
- * if they overflow the viewport.
26
- * - **Modern browsers (Chrome/Edge 125+, Safari 18+):** Uses CSS anchor
27
- * positioning and `@position-try-fallback` natively when `flip=true`.
28
- * - **Fallback:** A JavaScript polyfill measures the menu after it opens. If
29
- * it overflows the requested `placement`, it sets an internal state to flip
30
- * the placement classes.
23
+ * **Posicionamiento de auto-volteo (auto-flip):**
24
+ * Según las pautas de M3, los menús deben voltearse hacia el lado opuesto del anclaje
25
+ * si se desbordan de la ventana gráfica (viewport).
26
+ * - **Navegadores modernos (Chrome/Edge 125+, Safari 18+):** Utiliza el posicionamiento
27
+ * de anclaje de CSS y `@position-try-fallback` nativamente cuando `flip=true`.
28
+ * - **Alternativa (Fallback):** Un polyfill de JavaScript mide el menú después de que se abre. Si
29
+ * se desborda de la posición `placement` solicitada, establece un estado interno para voltear
30
+ * las clases de posicionamiento.
31
31
  *
32
- * **State management:**
33
- * The `active` attribute controls visibility. Consumers must listen to trigger
34
- * events (like `click`) and toggle the `active` property.
32
+ * **Gestión del estado:**
33
+ * El atributo `active` controla la visibilidad. Los consumidores deben escuchar los eventos
34
+ * del activador (como `click`) y alternar la propiedad `active`.
35
35
  *
36
36
  * @example
37
37
  * ```html
38
- * <!-- Wrapper must have position: relative -->
38
+ * <!-- El contenedor debe tener position: relative -->
39
39
  * <div style="position: relative; display: inline-block;">
40
- * <moni-button id="menu-trigger">Open Menu</moni-button>
40
+ * <moni-button id="menu-trigger">Abrir Menú</moni-button>
41
41
  *
42
42
  * <moni-menu placement="bottom" flip id="my-menu">
43
- * <moni-menu-item icon="edit">Edit</moni-menu-item>
44
- * <moni-menu-item icon="content_copy">Copy</moni-menu-item>
43
+ * <moni-menu-item icon="edit">Editar</moni-menu-item>
44
+ * <moni-menu-item icon="content_copy">Copiar</moni-menu-item>
45
45
  * <moni-divider></moni-divider>
46
- * <moni-menu-item icon="delete">Delete</moni-menu-item>
46
+ * <moni-menu-item icon="delete">Eliminar</moni-menu-item>
47
47
  * </moni-menu>
48
48
  * </div>
49
49
  *
@@ -54,21 +54,74 @@ import { MoniElement } from './_base/index.js';
54
54
  * </script>
55
55
  * ```
56
56
  *
57
- * @slot default - `<moni-menu-item>`, `<moni-divider>`, or raw `<li>` elements.
57
+ * @slot default - Elementos `<moni-menu-item>`, `<moni-divider>`, o elementos `<li>` en bruto.
58
58
  *
59
- * @csspart menu - The inner `<menu>` container.
59
+ * @csspart menu - El contenedor interior `<menu>`.
60
60
  */
61
61
  export declare class MoniMenu extends MoniElement {
62
+ /**
63
+ * Posición preferida en relación con el anclaje padre.
64
+ * @type {'bottom' | 'top' | 'left' | 'right' | 'min' | 'max'}
65
+ * @default 'bottom'
66
+ */
62
67
  placement: 'bottom' | 'top' | 'left' | 'right' | 'min' | 'max';
68
+ /**
69
+ * Deshabilita el ajuste de texto dentro del menú.
70
+ * @type {boolean}
71
+ */
63
72
  noWrap: boolean;
73
+ /**
74
+ * Controla si el menú está visible.
75
+ * @type {boolean}
76
+ */
64
77
  active: boolean;
78
+ /**
79
+ * Lógica de espaciado entre el anclaje y el menú.
80
+ * @type {'no-space' | 'space' | 'small-space' | 'medium-space' | 'large-space' | 'extra-space'}
81
+ * @default 'no-space'
82
+ */
65
83
  space: 'no-space' | 'space' | 'small-space' | 'medium-space' | 'large-space' | 'extra-space';
84
+ /**
85
+ * Habilita la evitación de colisiones basada en JS (volteando la posición si está fuera de los límites).
86
+ * Útil para navegadores que carecen de soporte para anclaje CSS.
87
+ * @type {boolean}
88
+ */
66
89
  flip: boolean;
67
90
  private _resolvedPlacement;
68
91
  private _menuEl?;
92
+ /**
93
+ * Hook de ciclo de vida de Lit.
94
+ * Detecta si el menú se acaba de abrir (active = true) con la propiedad de 'flip' habilitada.
95
+ * Usa una Promesa (`updateComplete`) para esperar a que Lit termine de renderizar el DOM y
96
+ * el navegador haga el reflow antes de medir sus dimensiones.
97
+ */
69
98
  updated(changed: Map<string, unknown>): void;
99
+ /**
100
+ * Polyfill manual en JS para "position-try-fallbacks" (CSS Anchoring API).
101
+ * Si el menú desborda el viewport en su posición actual, invierte lógicamente
102
+ * su colocación (ej. de 'bottom' a 'top') calculando los BoundingClientRect.
103
+ */
70
104
  private _maybeFlip;
71
105
  static styles: import("lit").CSSResult[];
106
+ /**
107
+ * Renderiza el menú como una superposición Popover API o un `<div>` posicionado.
108
+ *
109
+ * **Popover API (`popover="auto"`):**
110
+ * Cuando se establece `popover`, el menú usa la Popover API nativa del navegador.
111
+ * Esto proporciona descarte ligero (light-dismiss) automático (clic fuera para cerrar) y
112
+ * apilamiento en la capa superior sin gestión de `z-index`.
113
+ *
114
+ * **Patrón de menú ARIA:**
115
+ * El contenedor del menú lleva `role="menu"`. Cada hijo `<moni-menu-item>`
116
+ * debe llevar `role="menuitem"`. La navegación con las teclas de flecha se maneja a través de
117
+ * `@keydown` en el contenedor del menú, ciclando a través de los elementos usando
118
+ * `_focusedItemIndex` (incrementado/decrementado con ciclo continuo).
119
+ *
120
+ * **Posicionamiento:**
121
+ * Cuando se establece `anchor`, `_computeStyle()` calcula `top`/`left` desde
122
+ * `getBoundingClientRect()` del elemento anclaje y los inyecta como
123
+ * estilos en línea en el `<div>` del menú.
124
+ */
72
125
  render(): import("lit").TemplateResult<1>;
73
126
  }
74
127
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"moni-menu.d.ts","sourceRoot":"","sources":["../../src/components/moni-menu.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,WAAW,EAAgB,MAAM,kBAAkB,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,qBACa,QAAS,SAAQ,WAAW;IAExC,SAAS,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,CAAY;IACR,MAAM,UAAS;IACrC,MAAM,UAAS;IAE3D,KAAK,EACF,UAAU,GACV,OAAO,GACP,aAAa,GACb,cAAc,GACd,aAAa,GACb,aAAa,CAAc;IACc,IAAI,UAAS;IAEhD,OAAO,CAAC,kBAAkB,CAMf;IAEL,OAAO,CAAC,OAAO,CAAC,CAAc;IAEpC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAS9C,OAAO,CAAC,UAAU;IAuBlB,OAAgB,MAAM,4BAkKpB;IAEO,MAAM;CAkBf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,WAAW,EAAE,QAAQ,CAAC;KACtB;CACD;AAED,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"moni-menu.d.ts","sourceRoot":"","sources":["../../src/components/moni-menu.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,WAAW,EAAgB,MAAM,kBAAkB,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,qBACa,QAAS,SAAQ,WAAW;IACxC;;;;OAIG;IAEH,SAAS,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,CAAY;IAE1E;;;OAGG;IAC+D,MAAM,UAAS;IAEjF;;;OAGG;IACyC,MAAM,UAAS;IAE3D;;;;OAIG;IAEH,KAAK,EACF,UAAU,GACV,OAAO,GACP,aAAa,GACb,cAAc,GACd,aAAa,GACb,aAAa,CAAc;IAE9B;;;;OAIG;IACyC,IAAI,UAAS;IAEhD,OAAO,CAAC,kBAAkB,CAMf;IAEL,OAAO,CAAC,OAAO,CAAC,CAAc;IAE7C;;;;;OAKG;IACM,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAO9C;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAyBlB,OAAgB,MAAM,4BAkKpB;IAEF;;;;;;;;;;;;;;;;;;OAkBG;IACM,MAAM;CAkBf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,WAAW,EAAE,QAAQ,CAAC;KACtB;CACD;AAED,eAAe,QAAQ,CAAC"}
@@ -14,44 +14,44 @@ import { html, css } from 'lit';
14
14
  import { customElement, property, query, state } from 'lit/decorators.js';
15
15
  import { MoniElement, sharedStyles } from './_base/index.js';
16
16
  /**
17
- * Material Design 3 Menu component.
17
+ * Componente Material Design 3 Menu (Menú).
18
18
  *
19
- * Menus display a list of choices on a temporary surface. They appear when
20
- * users interact with a button, action, or other control.
19
+ * Los menús muestran una lista de opciones en una superficie temporal. Aparecen cuando
20
+ * los usuarios interactúan con un botón, acción u otro control.
21
21
  *
22
- * **M3 spec reference:** `m3-docs/components/menus/guidelines.md`
22
+ * **Referencia de la especificación M3:** `m3-docs/components/menus/guidelines.md`
23
23
  *
24
- * **Positioning architecture:**
25
- * The menu uses `position: absolute` relative to its nearest positioned
26
- * ancestor. The component's `:host` uses `display: contents`, meaning the
27
- * inner `<menu>` element directly participates in the consumer's layout context.
28
- * **Crucial:** The consumer must apply `position: relative` to the wrapper
29
- * element that contains both the trigger and the `<moni-menu>`.
24
+ * **Arquitectura de posicionamiento:**
25
+ * El menú usa `position: absolute` relativo a su ancestro posicionado más cercano.
26
+ * El `:host` del componente usa `display: contents`, lo que significa que el
27
+ * elemento interior `<menu>` participa directamente en el contexto de diseño del consumidor.
28
+ * **Crucial:** El consumidor debe aplicar `position: relative` al elemento contenedor
29
+ * que contiene tanto el activador (trigger) como el `<moni-menu>`.
30
30
  *
31
- * **Auto-flip positioning:**
32
- * Per M3 guidelines, menus should flip to the opposite side of the anchor
33
- * if they overflow the viewport.
34
- * - **Modern browsers (Chrome/Edge 125+, Safari 18+):** Uses CSS anchor
35
- * positioning and `@position-try-fallback` natively when `flip=true`.
36
- * - **Fallback:** A JavaScript polyfill measures the menu after it opens. If
37
- * it overflows the requested `placement`, it sets an internal state to flip
38
- * the placement classes.
31
+ * **Posicionamiento de auto-volteo (auto-flip):**
32
+ * Según las pautas de M3, los menús deben voltearse hacia el lado opuesto del anclaje
33
+ * si se desbordan de la ventana gráfica (viewport).
34
+ * - **Navegadores modernos (Chrome/Edge 125+, Safari 18+):** Utiliza el posicionamiento
35
+ * de anclaje de CSS y `@position-try-fallback` nativamente cuando `flip=true`.
36
+ * - **Alternativa (Fallback):** Un polyfill de JavaScript mide el menú después de que se abre. Si
37
+ * se desborda de la posición `placement` solicitada, establece un estado interno para voltear
38
+ * las clases de posicionamiento.
39
39
  *
40
- * **State management:**
41
- * The `active` attribute controls visibility. Consumers must listen to trigger
42
- * events (like `click`) and toggle the `active` property.
40
+ * **Gestión del estado:**
41
+ * El atributo `active` controla la visibilidad. Los consumidores deben escuchar los eventos
42
+ * del activador (como `click`) y alternar la propiedad `active`.
43
43
  *
44
44
  * @example
45
45
  * ```html
46
- * <!-- Wrapper must have position: relative -->
46
+ * <!-- El contenedor debe tener position: relative -->
47
47
  * <div style="position: relative; display: inline-block;">
48
- * <moni-button id="menu-trigger">Open Menu</moni-button>
48
+ * <moni-button id="menu-trigger">Abrir Menú</moni-button>
49
49
  *
50
50
  * <moni-menu placement="bottom" flip id="my-menu">
51
- * <moni-menu-item icon="edit">Edit</moni-menu-item>
52
- * <moni-menu-item icon="content_copy">Copy</moni-menu-item>
51
+ * <moni-menu-item icon="edit">Editar</moni-menu-item>
52
+ * <moni-menu-item icon="content_copy">Copiar</moni-menu-item>
53
53
  * <moni-divider></moni-divider>
54
- * <moni-menu-item icon="delete">Delete</moni-menu-item>
54
+ * <moni-menu-item icon="delete">Eliminar</moni-menu-item>
55
55
  * </moni-menu>
56
56
  * </div>
57
57
  *
@@ -62,28 +62,60 @@ import { MoniElement, sharedStyles } from './_base/index.js';
62
62
  * </script>
63
63
  * ```
64
64
  *
65
- * @slot default - `<moni-menu-item>`, `<moni-divider>`, or raw `<li>` elements.
65
+ * @slot default - Elementos `<moni-menu-item>`, `<moni-divider>`, o elementos `<li>` en bruto.
66
66
  *
67
- * @csspart menu - The inner `<menu>` container.
67
+ * @csspart menu - El contenedor interior `<menu>`.
68
68
  */
69
69
  let MoniMenu = class MoniMenu extends MoniElement {
70
70
  constructor() {
71
71
  super(...arguments);
72
+ /**
73
+ * Posición preferida en relación con el anclaje padre.
74
+ * @type {'bottom' | 'top' | 'left' | 'right' | 'min' | 'max'}
75
+ * @default 'bottom'
76
+ */
72
77
  this.placement = 'bottom';
78
+ /**
79
+ * Deshabilita el ajuste de texto dentro del menú.
80
+ * @type {boolean}
81
+ */
73
82
  this.noWrap = false;
83
+ /**
84
+ * Controla si el menú está visible.
85
+ * @type {boolean}
86
+ */
74
87
  this.active = false;
88
+ /**
89
+ * Lógica de espaciado entre el anclaje y el menú.
90
+ * @type {'no-space' | 'space' | 'small-space' | 'medium-space' | 'large-space' | 'extra-space'}
91
+ * @default 'no-space'
92
+ */
75
93
  this.space = 'no-space';
94
+ /**
95
+ * Habilita la evitación de colisiones basada en JS (volteando la posición si está fuera de los límites).
96
+ * Útil para navegadores que carecen de soporte para anclaje CSS.
97
+ * @type {boolean}
98
+ */
76
99
  this.flip = false;
77
100
  this._resolvedPlacement = 'bottom';
78
101
  }
102
+ /**
103
+ * Hook de ciclo de vida de Lit.
104
+ * Detecta si el menú se acaba de abrir (active = true) con la propiedad de 'flip' habilitada.
105
+ * Usa una Promesa (`updateComplete`) para esperar a que Lit termine de renderizar el DOM y
106
+ * el navegador haga el reflow antes de medir sus dimensiones.
107
+ */
79
108
  updated(changed) {
80
109
  super.updated(changed);
81
110
  if (changed.has('active') && this.active && this.flip) {
82
- // JS polyfill for browsers without @position-try-fallback.
83
- // Wait one frame so the menu is laid out, then measure.
84
111
  this.updateComplete.then(() => this._maybeFlip());
85
112
  }
86
113
  }
114
+ /**
115
+ * Polyfill manual en JS para "position-try-fallbacks" (CSS Anchoring API).
116
+ * Si el menú desborda el viewport en su posición actual, invierte lógicamente
117
+ * su colocación (ej. de 'bottom' a 'top') calculando los BoundingClientRect.
118
+ */
87
119
  _maybeFlip() {
88
120
  const menu = this._menuEl;
89
121
  if (!menu || !this.flip)
@@ -274,6 +306,25 @@ let MoniMenu = class MoniMenu extends MoniElement {
274
306
  }
275
307
  `
276
308
  ]; }
309
+ /**
310
+ * Renderiza el menú como una superposición Popover API o un `<div>` posicionado.
311
+ *
312
+ * **Popover API (`popover="auto"`):**
313
+ * Cuando se establece `popover`, el menú usa la Popover API nativa del navegador.
314
+ * Esto proporciona descarte ligero (light-dismiss) automático (clic fuera para cerrar) y
315
+ * apilamiento en la capa superior sin gestión de `z-index`.
316
+ *
317
+ * **Patrón de menú ARIA:**
318
+ * El contenedor del menú lleva `role="menu"`. Cada hijo `<moni-menu-item>`
319
+ * debe llevar `role="menuitem"`. La navegación con las teclas de flecha se maneja a través de
320
+ * `@keydown` en el contenedor del menú, ciclando a través de los elementos usando
321
+ * `_focusedItemIndex` (incrementado/decrementado con ciclo continuo).
322
+ *
323
+ * **Posicionamiento:**
324
+ * Cuando se establece `anchor`, `_computeStyle()` calcula `top`/`left` desde
325
+ * `getBoundingClientRect()` del elemento anclaje y los inyecta como
326
+ * estilos en línea en el `<div>` del menú.
327
+ */
277
328
  render() {
278
329
  const effectivePlacement = this.active && this.flip
279
330
  ? this._resolvedPlacement
@@ -8,20 +8,95 @@ import { MoniElement } from './_base/index.js';
8
8
  import './moni-icon.js';
9
9
  type Placement = 'center' | 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end' | 'viewport-center' | 'viewport-top' | 'viewport-bottom' | 'viewport-left' | 'viewport-right' | 'viewport-top-left' | 'viewport-top-right' | 'viewport-bottom-left' | 'viewport-bottom-right';
10
10
  export declare class MoniMorphModal extends MoniElement {
11
+ /**
12
+ * Selector del elemento disparador desde el cual transformarse (ej. '#fab' o '.my-button').
13
+ * Si se omite, el modal aún puede activarse programáticamente estableciendo `open = true`.
14
+ * @type {string}
15
+ */
11
16
  target: string;
17
+ /**
18
+ * Controla el estado abierto/cerrado del modal.
19
+ * Puede establecerse directamente, o se gestiona internamente cuando se hace clic en el elemento `target`.
20
+ * @type {boolean}
21
+ */
12
22
  open: boolean;
23
+ /**
24
+ * Si es true, renderiza un fondo y atrapa el foco, actuando como un verdadero diálogo modal.
25
+ * @type {boolean}
26
+ * @default true
27
+ */
13
28
  modal: boolean;
29
+ /**
30
+ * Posición preferida del modal en relación con la ventana gráfica.
31
+ * @type {Placement}
32
+ * @default 'center'
33
+ */
14
34
  placement: Placement;
35
+ /**
36
+ * El ancho del modal cuando está completamente expandido.
37
+ * @type {string}
38
+ * @default '22rem'
39
+ */
15
40
  expandedWidth: string;
41
+ /**
42
+ * La altura del modal cuando está completamente expandido.
43
+ * @type {string}
44
+ * @default '18rem'
45
+ */
16
46
  expandedHeight: string;
47
+ /**
48
+ * Si es true, hacer clic fuera del modal lo cerrará.
49
+ * @type {boolean}
50
+ * @default true
51
+ */
17
52
  closeOnClickOutside: boolean;
53
+ /**
54
+ * Si es true, presionar la tecla Escape cerrará el modal.
55
+ * @type {boolean}
56
+ * @default true
57
+ */
18
58
  closeOnEsc: boolean;
59
+ /**
60
+ * Si es true, muestra un botón de icono de cierre por defecto en el encabezado.
61
+ * @type {boolean}
62
+ */
19
63
  showCloseButton: boolean;
64
+ /**
65
+ * Si es true, intenta fundir/transformar una etiqueta del disparador hacia el encabezado del modal.
66
+ * @type {boolean}
67
+ */
20
68
  morphLabel: boolean;
69
+ /**
70
+ * Un selector CSS personalizado utilizado para encontrar el elemento de etiqueta específico dentro del target a transformar.
71
+ * @type {string}
72
+ */
21
73
  morphLabelSelector: string;
74
+ /**
75
+ * Si es true, renderiza un fondo atenuado detrás del modal.
76
+ * @type {boolean}
77
+ * @default true
78
+ */
22
79
  hasBackdrop: boolean;
80
+ /**
81
+ * Si es true, oculta el elemento disparador (target) mientras el modal está abierto.
82
+ * @type {boolean}
83
+ */
23
84
  hideTarget: boolean;
85
+ /**
86
+ * Si es true, fuerza al modal a cubrir visualmente la ubicación original del target antes de expandirse.
87
+ * @type {boolean}
88
+ */
24
89
  coverTarget: boolean;
90
+ /**
91
+ * Si es true, el modal calcula automáticamente su tamaño final basándose en el contenido interno (ignora expandedWidth y expandedHeight).
92
+ * @type {boolean}
93
+ */
94
+ autoSize: boolean;
95
+ /**
96
+ * Si es true, aplica un efecto de desenfoque (blur) al contenido durante la animación de entrada y salida.
97
+ * @type {boolean}
98
+ */
99
+ blurContent: boolean;
25
100
  private _panel;
26
101
  private _inner;
27
102
  private _backdrop;
@@ -37,19 +112,64 @@ export declare class MoniMorphModal extends MoniElement {
37
112
  private _morphEls;
38
113
  private static _openStack;
39
114
  private _targetStylesCache;
115
+ /**
116
+ * Handler encapsulado para el evento click en el trigger.
117
+ * Dispara la animación de apertura.
118
+ */
40
119
  private _onTargetClick;
120
+ /**
121
+ * Handler encapsulado para interceptar teclas a nivel global (ej: Escape).
122
+ */
41
123
  private _onDocKeydown;
124
+ /**
125
+ * Handler de clics globales para detectar interacciones fuera del modal (Click outside).
126
+ * Sólo cierra el modal si `closeOnClickOutside` es true y el usuario no hizo clic
127
+ * dentro de las dimensiones del panel animado ni del botón original.
128
+ */
42
129
  private _onDocClick;
43
130
  connectedCallback(): void;
44
131
  disconnectedCallback(): void;
132
+ /**
133
+ * Hook del ciclo de vida reactivo (Lit).
134
+ * Observa cambios asíncronos en el atributo `target` para re-bindear el disparador,
135
+ * y reacciona a cambios programáticos de la propiedad `open` para ejecutar
136
+ * imperativamente la animación de apertura (`show`) o cierre (`hide`).
137
+ */
45
138
  updated(changed: Map<string, unknown>): void;
139
+ /**
140
+ * Busca en el DOM el elemento que dispara el modal (el trigger) basándose en la propiedad `target`.
141
+ * Establece el listener de click que iniciará la animación de morphing.
142
+ */
46
143
  private _resolveTarget;
144
+ /**
145
+ * Dispara la apertura del modal y coordina la animación de FLIP (First, Last, Invert, Play) / Morphing.
146
+ * 1. Oculta visualmente el target original.
147
+ * 2. Posiciona el modal colapsado exactamente sobre el target original (mismas dimensiones, color, y radios).
148
+ * 3. Expande fluidamente el modal a sus dimensiones finales mediante transformaciones CSS.
149
+ */
47
150
  show(): void;
151
+ /**
152
+ * Solución a un caso borde de FLIP Animations:
153
+ * Si el `.panel` original carece de un color de fondo sólido, la interpolación
154
+ * de GSAP puede comportarse erráticamente. Este método "asciende" el árbol del DOM
155
+ * hasta encontrar un padre con un color de fondo sólido y lo aplica, garantizando
156
+ * que el modal no colapse de forma transparente de regreso hacia el gatillo.
157
+ */
48
158
  private _ensureSolidPanelBackground;
49
159
  hide(): void;
50
160
  toggle(): void;
51
161
  private _handleDocKeydown;
162
+ /**
163
+ * Fase "First" de la animación (Cierre del Trigger):
164
+ * Determina cómo desaparecer u ocultar el botón original mientras el modal ocupa su lugar.
165
+ * Mantiene el cache de opacidades y colores originales para poder restaurarlos
166
+ * idénticamente al cerrar el modal (evitando saltos visuales).
167
+ */
52
168
  private _hideTargetContent;
169
+ /**
170
+ * Restaura puramente los estilos originales del botón Trigger tras terminar
171
+ * la animación de cierre, leyendo las opacidades/colores almacenados en caché.
172
+ */
53
173
  private _restoreTargetContent;
54
174
  private _onHeaderSlotChange;
55
175
  private _onFooterSlotChange;
@@ -73,6 +193,27 @@ export declare class MoniMorphModal extends MoniElement {
73
193
  private _computeFinalRect;
74
194
  private _parseSize;
75
195
  static styles: import("lit").CSSResult[];
196
+ /**
197
+ * Renderiza el caparazón del modal morph: fondo opcional + contenedor de panel.
198
+ *
199
+ * **Bandera `_visible`:**
200
+ * `visible = this._visible || this.open` mantiene vivo el DOM mientras se reproduce
201
+ * la animación de cierre de GSAP. `_visible` se establece en `true` al inicio de la apertura y
202
+ * en `false` solo después de que se dispara el `onComplete` de la animación de cierre. Sin esto,
203
+ * Lit eliminaría el panel del DOM antes de que la animación termine.
204
+ *
205
+ * **Condicional del fondo (backdrop):**
206
+ * El div `.backdrop` solo se renderiza cuando `hasBackdrop=true`. Cuando `modal=false`,
207
+ * el `background-color` del fondo se establece en `transparent` para que el fondo superpuesto
208
+ * (scrim) sea invisible, pero los eventos del puntero aún se consumen (clic para cerrar).
209
+ *
210
+ * **Objetivo de morphing de GSAP:**
211
+ * `.panel` es el objetivo de la animación GSAP. Al abrir: se anima desde el
212
+ * `getBoundingClientRect()` del elemento anclaje (posición + tamaño) a su tamaño CSS natural
213
+ * mediante `gsap.fromTo()`. Al cerrar: a la inversa. `.panel-inner` recibe una
214
+ * contra-escala para evitar que el contenido interno se escale junto con el panel,
215
+ * creando una ilusión física de "expandirse desde el origen".
216
+ */
76
217
  render(): import("lit").TemplateResult<1>;
77
218
  }
78
219
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"moni-morph-modal.d.ts","sourceRoot":"","sources":["../../src/components/moni-morph-modal.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,WAAW,EAAgB,MAAM,kBAAkB,CAAC;AAI7D,OAAO,gBAAgB,CAAC;AAQxB,KAAK,SAAS,GACX,QAAQ,GACR,KAAK,GACL,WAAW,GACX,SAAS,GACT,QAAQ,GACR,cAAc,GACd,YAAY,GACZ,MAAM,GACN,YAAY,GACZ,UAAU,GACV,OAAO,GACP,aAAa,GACb,WAAW,GACX,iBAAiB,GACjB,cAAc,GACd,iBAAiB,GACjB,eAAe,GACf,gBAAgB,GAChB,mBAAmB,GACnB,oBAAoB,GACpB,sBAAsB,GACtB,uBAAuB,CAAC;AA2E3B,qBACa,cAAe,SAAQ,WAAW;IACjB,MAAM,SAAM;IACuB,IAAI,UAAS;IACb,KAAK,UAAQ;IAChD,SAAS,EAAE,SAAS,CAAY;IACH,aAAa,SAC9D;IACkD,cAAc,SAChE;IAET,mBAAmB,UAAQ;IAE3B,UAAU,UAAQ;IAElB,eAAe,UAAS;IAExB,UAAU,UAAS;IAEnB,kBAAkB,SAAM;IAExB,WAAW,UAAQ;IAEnB,UAAU,UAAS;IAEnB,WAAW,UAAS;IAEH,OAAO,CAAC,MAAM,CAAkB;IAC1B,OAAO,CAAC,MAAM,CAAkB;IACnC,OAAO,CAAC,SAAS,CAAkB;IACtC,OAAO,CAAC,OAAO,CAAe;IAEtC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,gBAAgB,CAAS;IAE1C,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,OAAO,CAAO;IACtB,OAAO,CAAC,SAAS,CAA6C;IAC9D,OAAO,CAAC,MAAM,CAAC,UAAU,CAAwB;IACjD,OAAO,CAAC,kBAAkB,CAA8D;IAExF,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,aAAa,CAAmD;IACxE,OAAO,CAAC,WAAW,CAKjB;IAEO,iBAAiB,IAAI,IAAI;IAOzB,oBAAoB,IAAI,IAAI;IAiB5B,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAW9C,OAAO,CAAC,cAAc;IAgBtB,IAAI,IAAI,IAAI;IAkKZ,OAAO,CAAC,2BAA2B;IAgBnC,IAAI,IAAI,IAAI;IA0JZ,MAAM,IAAI,IAAI;IAKd,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,kBAAkB;IA4B1B,OAAO,CAAC,qBAAqB;IA6B7B,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,yBAAyB;IAKjC,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,gBAAgB;IA2BxB,OAAO,CAAC,gBAAgB;IAqDxB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,mBAAmB;IAoF3B,OAAO,CAAC,sBAAsB;IA2C9B,OAAO,CAAC,sBAAsB;IAmC9B,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,eAAe;IAiDvB,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,iBAAiB;IAuIzB,OAAO,CAAC,UAAU;IAYlB,OAAgB,MAAM,4BAqHpB;IAEO,MAAM;CA4Cf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,kBAAkB,EAAE,cAAc,CAAC;KACnC;CACD;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"moni-morph-modal.d.ts","sourceRoot":"","sources":["../../src/components/moni-morph-modal.ts"],"names":[],"mappings":"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"}