@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.
- package/custom-elements.json +5230 -1007
- package/dist/components/_base/moni-element.d.ts +16 -9
- package/dist/components/_base/moni-element.d.ts.map +1 -1
- package/dist/components/_base/moni-element.js +63 -9
- package/dist/components/index.js +2 -2
- package/dist/components/loading-shapes.d.ts +19 -0
- package/dist/components/loading-shapes.d.ts.map +1 -1
- package/dist/components/loading-shapes.js +19 -0
- package/dist/components/moni-app-bar.d.ts +72 -62
- package/dist/components/moni-app-bar.d.ts.map +1 -1
- package/dist/components/moni-app-bar.js +72 -62
- package/dist/components/moni-badge.d.ts +64 -65
- package/dist/components/moni-badge.d.ts.map +1 -1
- package/dist/components/moni-badge.js +64 -66
- package/dist/components/moni-bottom-sheet.d.ts +129 -61
- package/dist/components/moni-bottom-sheet.d.ts.map +1 -1
- package/dist/components/moni-bottom-sheet.js +217 -131
- package/dist/components/moni-button-group.d.ts +107 -29
- package/dist/components/moni-button-group.d.ts.map +1 -1
- package/dist/components/moni-button-group.js +107 -29
- package/dist/components/moni-button-segment.d.ts +53 -12
- package/dist/components/moni-button-segment.d.ts.map +1 -1
- package/dist/components/moni-button-segment.js +53 -12
- package/dist/components/moni-button.d.ts +116 -38
- package/dist/components/moni-button.d.ts.map +1 -1
- package/dist/components/moni-button.js +128 -38
- package/dist/components/moni-card.d.ts +68 -50
- package/dist/components/moni-card.d.ts.map +1 -1
- package/dist/components/moni-card.js +68 -50
- package/dist/components/moni-carousel.d.ts +484 -53
- package/dist/components/moni-carousel.d.ts.map +1 -1
- package/dist/components/moni-carousel.js +1024 -245
- package/dist/components/moni-checkbox.d.ts +49 -46
- package/dist/components/moni-checkbox.d.ts.map +1 -1
- package/dist/components/moni-checkbox.js +55 -48
- package/dist/components/moni-chip.d.ts +100 -33
- package/dist/components/moni-chip.d.ts.map +1 -1
- package/dist/components/moni-chip.js +104 -34
- package/dist/components/moni-color-field.d.ts +99 -24
- package/dist/components/moni-color-field.d.ts.map +1 -1
- package/dist/components/moni-color-field.js +99 -24
- package/dist/components/moni-context-menu.d.ts +72 -26
- package/dist/components/moni-context-menu.d.ts.map +1 -1
- package/dist/components/moni-context-menu.js +76 -30
- package/dist/components/moni-dialog.d.ts +84 -59
- package/dist/components/moni-dialog.d.ts.map +1 -1
- package/dist/components/moni-dialog.js +105 -58
- package/dist/components/moni-divider.d.ts +39 -27
- package/dist/components/moni-divider.d.ts.map +1 -1
- package/dist/components/moni-divider.js +42 -30
- package/dist/components/moni-expansion.d.ts +32 -22
- package/dist/components/moni-expansion.d.ts.map +1 -1
- package/dist/components/moni-expansion.js +32 -22
- package/dist/components/moni-fab-menu.d.ts +61 -23
- package/dist/components/moni-fab-menu.d.ts.map +1 -1
- package/dist/components/moni-fab-menu.js +69 -31
- package/dist/components/moni-fab.d.ts +86 -28
- package/dist/components/moni-fab.d.ts.map +1 -1
- package/dist/components/moni-fab.js +92 -34
- package/dist/components/moni-file-field.d.ts +118 -30
- package/dist/components/moni-file-field.d.ts.map +1 -1
- package/dist/components/moni-file-field.js +118 -30
- package/dist/components/moni-icon.d.ts +40 -35
- package/dist/components/moni-icon.d.ts.map +1 -1
- package/dist/components/moni-icon.js +43 -38
- package/dist/components/moni-list-item.d.ts +46 -33
- package/dist/components/moni-list-item.d.ts.map +1 -1
- package/dist/components/moni-list-item.js +61 -41
- package/dist/components/moni-list.d.ts +30 -20
- package/dist/components/moni-list.d.ts.map +1 -1
- package/dist/components/moni-list.js +36 -21
- package/dist/components/moni-loading-indicator.d.ts +54 -22
- package/dist/components/moni-loading-indicator.d.ts.map +1 -1
- package/dist/components/moni-loading-indicator.js +54 -22
- package/dist/components/moni-menu-item.d.ts +23 -16
- package/dist/components/moni-menu-item.d.ts.map +1 -1
- package/dist/components/moni-menu-item.js +23 -16
- package/dist/components/moni-menu.d.ts +81 -28
- package/dist/components/moni-menu.d.ts.map +1 -1
- package/dist/components/moni-menu.js +81 -30
- package/dist/components/moni-morph-modal.d.ts +141 -0
- package/dist/components/moni-morph-modal.d.ts.map +1 -1
- package/dist/components/moni-morph-modal.js +295 -58
- package/dist/components/moni-nav-item.d.ts +59 -29
- package/dist/components/moni-nav-item.d.ts.map +1 -1
- package/dist/components/moni-nav-item.js +59 -29
- package/dist/components/moni-nav.d.ts +94 -35
- package/dist/components/moni-nav.d.ts.map +1 -1
- package/dist/components/moni-nav.js +94 -35
- package/dist/components/moni-progress.d.ts +99 -55
- package/dist/components/moni-progress.d.ts.map +1 -1
- package/dist/components/moni-progress.js +99 -55
- package/dist/components/moni-radio.d.ts +62 -50
- package/dist/components/moni-radio.d.ts.map +1 -1
- package/dist/components/moni-radio.js +65 -52
- package/dist/components/moni-ripple.d.ts +74 -59
- package/dist/components/moni-ripple.d.ts.map +1 -1
- package/dist/components/moni-ripple.js +74 -59
- package/dist/components/moni-segmented-button.d.ts +91 -16
- package/dist/components/moni-segmented-button.d.ts.map +1 -1
- package/dist/components/moni-segmented-button.js +94 -17
- package/dist/components/moni-select-option.d.ts +30 -23
- package/dist/components/moni-select-option.d.ts.map +1 -1
- package/dist/components/moni-select-option.js +30 -23
- package/dist/components/moni-select.d.ts +300 -35
- package/dist/components/moni-select.d.ts.map +1 -1
- package/dist/components/moni-select.js +323 -39
- package/dist/components/moni-side-sheet.d.ts +94 -32
- package/dist/components/moni-side-sheet.d.ts.map +1 -1
- package/dist/components/moni-side-sheet.js +94 -32
- package/dist/components/moni-slider.d.ts +152 -41
- package/dist/components/moni-slider.d.ts.map +1 -1
- package/dist/components/moni-slider.js +154 -42
- package/dist/components/moni-snackbar.d.ts +53 -43
- package/dist/components/moni-snackbar.d.ts.map +1 -1
- package/dist/components/moni-snackbar.js +53 -43
- package/dist/components/moni-split-button.d.ts +63 -18
- package/dist/components/moni-split-button.d.ts.map +1 -1
- package/dist/components/moni-split-button.js +63 -18
- package/dist/components/moni-step.d.ts +36 -24
- package/dist/components/moni-step.d.ts.map +1 -1
- package/dist/components/moni-step.js +41 -29
- package/dist/components/moni-stepper.d.ts +64 -27
- package/dist/components/moni-stepper.d.ts.map +1 -1
- package/dist/components/moni-stepper.js +72 -34
- package/dist/components/moni-switch.d.ts +57 -46
- package/dist/components/moni-switch.d.ts.map +1 -1
- package/dist/components/moni-switch.js +59 -47
- package/dist/components/moni-tab.d.ts +26 -18
- package/dist/components/moni-tab.d.ts.map +1 -1
- package/dist/components/moni-tab.js +29 -21
- package/dist/components/moni-tabs.d.ts +34 -28
- package/dist/components/moni-tabs.d.ts.map +1 -1
- package/dist/components/moni-tabs.js +34 -28
- package/dist/components/moni-text-field.d.ts +139 -29
- package/dist/components/moni-text-field.d.ts.map +1 -1
- package/dist/components/moni-text-field.js +157 -31
- package/dist/components/moni-textarea.d.ts +127 -29
- package/dist/components/moni-textarea.d.ts.map +1 -1
- package/dist/components/moni-textarea.js +131 -32
- package/dist/components/moni-time-picker.d.ts +114 -24
- package/dist/components/moni-time-picker.d.ts.map +1 -1
- package/dist/components/moni-time-picker.js +127 -33
- package/dist/components/moni-toolbar.d.ts +37 -23
- package/dist/components/moni-toolbar.d.ts.map +1 -1
- package/dist/components/moni-toolbar.js +37 -23
- package/dist/components/moni-tooltip.d.ts +100 -36
- package/dist/components/moni-tooltip.d.ts.map +1 -1
- package/dist/components/moni-tooltip.js +104 -40
- package/dist/components/moni-typography.d.ts +68 -30
- package/dist/components/moni-typography.d.ts.map +1 -1
- package/dist/components/moni-typography.js +70 -32
- package/dist/styles/tokens.css +7 -7
- package/dist/types/events.d.ts +17 -0
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/events.js +1 -0
- package/dist/utils/event-emitter.d.ts +13 -0
- package/dist/utils/event-emitter.d.ts.map +1 -0
- package/dist/utils/event-emitter.js +13 -0
- package/package.json +2 -1
- package/src/components/_base/moni-element.ts +73 -9
- package/src/components/index.ts +2 -2
- package/src/components/loading-shapes.ts +19 -0
- package/src/components/moni-app-bar.test.ts +10 -10
- package/src/components/moni-app-bar.ts +72 -62
- package/src/components/moni-badge.ts +64 -66
- package/src/components/moni-bottom-sheet.test.ts +39 -45
- package/src/components/moni-bottom-sheet.ts +222 -131
- package/src/components/moni-button-group.test.ts +14 -14
- package/src/components/moni-button-group.ts +107 -29
- package/src/components/moni-button-segment.ts +53 -12
- package/src/components/moni-button.test.ts +28 -26
- package/src/components/moni-button.ts +139 -39
- package/src/components/moni-card.test.ts +6 -6
- package/src/components/moni-card.ts +70 -50
- package/src/components/moni-carousel.test.ts +12 -12
- package/src/components/moni-carousel.ts +1129 -269
- package/src/components/moni-checkbox.test.ts +7 -7
- package/src/components/moni-checkbox.ts +62 -48
- package/src/components/moni-chip.test.ts +17 -17
- package/src/components/moni-chip.ts +112 -34
- package/src/components/moni-color-field.test.ts +5 -5
- package/src/components/moni-color-field.ts +108 -24
- package/src/components/moni-context-menu.test.ts +11 -11
- package/src/components/moni-context-menu.ts +76 -30
- package/src/components/moni-dialog.ts +108 -59
- package/src/components/moni-divider.test.ts +4 -4
- package/src/components/moni-divider.ts +42 -30
- package/src/components/moni-expansion.ts +32 -22
- package/src/components/moni-fab-menu.test.ts +11 -11
- package/src/components/moni-fab-menu.ts +69 -31
- package/src/components/moni-fab.test.ts +16 -16
- package/src/components/moni-fab.ts +100 -34
- package/src/components/moni-file-field.test.ts +8 -8
- package/src/components/moni-file-field.ts +132 -30
- package/src/components/moni-icon.test.ts +11 -11
- package/src/components/moni-icon.ts +43 -38
- package/src/components/moni-list-item.test.ts +10 -10
- package/src/components/moni-list-item.ts +61 -41
- package/src/components/moni-list.ts +37 -21
- package/src/components/moni-loading-indicator.test.ts +3 -3
- package/src/components/moni-loading-indicator.ts +54 -22
- package/src/components/moni-menu-item.ts +23 -16
- package/src/components/moni-menu.test.ts +7 -7
- package/src/components/moni-menu.ts +87 -30
- package/src/components/moni-morph-modal.test.ts +18 -17
- package/src/components/moni-morph-modal.ts +327 -60
- package/src/components/moni-nav-item.ts +59 -29
- package/src/components/moni-nav.test.ts +11 -11
- package/src/components/moni-nav.ts +94 -35
- package/src/components/moni-progress.test.ts +9 -9
- package/src/components/moni-progress.ts +100 -56
- package/src/components/moni-radio.test.ts +8 -8
- package/src/components/moni-radio.ts +71 -51
- package/src/components/moni-ripple.ts +74 -59
- package/src/components/moni-segmented-button.test.ts +4 -4
- package/src/components/moni-segmented-button.ts +94 -17
- package/src/components/moni-select-option.ts +30 -23
- package/src/components/moni-select.test.ts +11 -11
- package/src/components/moni-select.ts +361 -50
- package/src/components/moni-side-sheet.test.ts +7 -7
- package/src/components/moni-side-sheet.ts +94 -32
- package/src/components/moni-slider.test.ts +7 -7
- package/src/components/moni-slider.ts +165 -42
- package/src/components/moni-snackbar.test.ts +8 -8
- package/src/components/moni-snackbar.ts +53 -43
- package/src/components/moni-split-button.ts +63 -18
- package/src/components/moni-step.test.ts +7 -7
- package/src/components/moni-step.ts +41 -29
- package/src/components/moni-stepper.test.ts +7 -7
- package/src/components/moni-stepper.ts +72 -34
- package/src/components/moni-switch.test.ts +12 -12
- package/src/components/moni-switch.ts +66 -47
- package/src/components/moni-tab.test.ts +5 -5
- package/src/components/moni-tab.ts +29 -21
- package/src/components/moni-tabs.ts +34 -28
- package/src/components/moni-text-field.test.ts +13 -13
- package/src/components/moni-text-field.ts +181 -30
- package/src/components/moni-textarea.test.ts +17 -17
- package/src/components/moni-textarea.ts +155 -31
- package/src/components/moni-time-picker.test.ts +5 -5
- package/src/components/moni-time-picker.ts +128 -33
- package/src/components/moni-toolbar.test.ts +8 -8
- package/src/components/moni-toolbar.ts +37 -23
- package/src/components/moni-tooltip.test.ts +15 -15
- package/src/components/moni-tooltip.ts +107 -40
- package/src/components/moni-typography.test.ts +10 -10
- package/src/components/moni-typography.ts +73 -32
- package/src/styles/tokens.css +7 -7
- package/src/types/events.ts +17 -0
- package/src/utils/event-emitter.ts +26 -0
|
@@ -14,94 +14,94 @@ import { html, css } from 'lit';
|
|
|
14
14
|
import { customElement, property } from 'lit/decorators.js';
|
|
15
15
|
import { MoniElement, sharedStyles } from './_base/index.js';
|
|
16
16
|
/**
|
|
17
|
-
* Material Design 3 Card
|
|
17
|
+
* Componente Material Design 3 Card.
|
|
18
18
|
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
19
|
+
* Las tarjetas muestran contenido y acciones sobre un solo sujeto. Son
|
|
20
|
+
* superficies contenedoras que agrupan información relacionada junta, haciendo
|
|
21
|
+
* fácil para los usuarios escanear e interactuar con colecciones de datos relacionados.
|
|
22
22
|
*
|
|
23
|
-
* **
|
|
23
|
+
* **Referencia de la especificación M3:** `m3-docs/components/cards/specs.md`
|
|
24
24
|
*
|
|
25
|
-
* **
|
|
26
|
-
* - `elevated` (
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* - `filled` — `surface-container-highest
|
|
30
|
-
*
|
|
31
|
-
* - `outlined` — `surface`
|
|
32
|
-
*
|
|
25
|
+
* **Variantes:**
|
|
26
|
+
* - `elevated` (por defecto) — Fondo `surface-container-low` + sombra `--elevate1`.
|
|
27
|
+
* Mejor para colecciones donde la tarjeta necesita separación visual de un
|
|
28
|
+
* fondo con patrones o de color. Gana sombra al pasar el ratón/arrastrar.
|
|
29
|
+
* - `filled` — Fondo `surface-container-highest`, sin sombra.
|
|
30
|
+
* Énfasis más bajo; úsalo cuando las tarjetas se asientan directamente sobre la superficie del fondo principal.
|
|
31
|
+
* - `outlined` — Fondo `surface` + trazo `outline-variant` 1dp.
|
|
32
|
+
* Énfasis estructural más alto sin proyectar una sombra. Mejor en fondos sólidos.
|
|
33
33
|
*
|
|
34
|
-
* **M3
|
|
35
|
-
* -
|
|
36
|
-
* -
|
|
37
|
-
* -
|
|
38
|
-
* -
|
|
34
|
+
* **Medidas M3:**
|
|
35
|
+
* - Radio de esquina del contenedor: 12dp.
|
|
36
|
+
* - Relleno de contenido horizontal: 16dp.
|
|
37
|
+
* - Espacio entre tarjetas en una colección: máx. 8dp.
|
|
38
|
+
* - Alineación de texto del titular: inicio.
|
|
39
39
|
*
|
|
40
|
-
* **
|
|
41
|
-
*
|
|
42
|
-
* focus,
|
|
43
|
-
*
|
|
40
|
+
* **Tarjetas interactivas:**
|
|
41
|
+
* Cuando `clickable=true`, la tarjeta renderiza capas de estado M3 (hover,
|
|
42
|
+
* focus, press) a través del pseudo-elemento `::before`. El consumidor debe manejar
|
|
43
|
+
* el evento `click` para implementar la lógica de navegación o selección.
|
|
44
44
|
*
|
|
45
45
|
* @example
|
|
46
46
|
* ```html
|
|
47
47
|
* <moni-card variant="outlined" clickable>
|
|
48
|
-
* <img slot="media" src="photo.jpg" alt="
|
|
49
|
-
* <h3 slot="headline">
|
|
50
|
-
* <p slot="supporting">
|
|
48
|
+
* <img slot="media" src="photo.jpg" alt="Imagen de la tarjeta" />
|
|
49
|
+
* <h3 slot="headline">Título de Tarjeta</h3>
|
|
50
|
+
* <p slot="supporting">Texto de soporte que describe el tema de la tarjeta.</p>
|
|
51
51
|
* <div slot="actions">
|
|
52
|
-
* <moni-button variant="text">
|
|
53
|
-
* <moni-button>
|
|
52
|
+
* <moni-button variant="text">Cancelar</moni-button>
|
|
53
|
+
* <moni-button>Confirmar</moni-button>
|
|
54
54
|
* </div>
|
|
55
55
|
* </moni-card>
|
|
56
56
|
* ```
|
|
57
57
|
*
|
|
58
|
-
* @slot media -
|
|
59
|
-
* @slot default -
|
|
60
|
-
* @slot headline -
|
|
61
|
-
* @slot subhead -
|
|
62
|
-
* @slot supporting -
|
|
63
|
-
* @slot actions -
|
|
58
|
+
* @slot media - Una imagen, video, o icono en la parte superior de la tarjeta.
|
|
59
|
+
* @slot default - Contenido del cuerpo principal (reemplaza todos los slots con nombre si se usa).
|
|
60
|
+
* @slot headline - Texto de título equivalente a H3.
|
|
61
|
+
* @slot subhead - Título secundario debajo del titular.
|
|
62
|
+
* @slot supporting - Texto de soporte descriptivo del cuerpo.
|
|
63
|
+
* @slot actions - Fila de botones de acción en la parte inferior de la tarjeta.
|
|
64
64
|
*
|
|
65
|
-
* @csspart card -
|
|
66
|
-
* @csspart media -
|
|
67
|
-
* @csspart content -
|
|
68
|
-
* @csspart actions -
|
|
65
|
+
* @csspart card - El contenedor exterior de la tarjeta.
|
|
66
|
+
* @csspart media - El contenedor del área de medios.
|
|
67
|
+
* @csspart content - El contenedor de contenido.
|
|
68
|
+
* @csspart actions - El contenedor de la fila de acciones.
|
|
69
69
|
*/
|
|
70
70
|
let MoniCard = class MoniCard extends MoniElement {
|
|
71
71
|
constructor() {
|
|
72
72
|
super(...arguments);
|
|
73
73
|
/**
|
|
74
|
-
*
|
|
74
|
+
* Variante visual de la tarjeta.
|
|
75
75
|
*
|
|
76
|
-
* - `'elevated'` (
|
|
77
|
-
* - `'filled'` — Surface-highest
|
|
78
|
-
* - `'outlined'` — Surface
|
|
76
|
+
* - `'elevated'` (por defecto) — Fondo Surface-low + sombra de elevación.
|
|
77
|
+
* - `'filled'` — Fondo Surface-highest, sin sombra.
|
|
78
|
+
* - `'outlined'` — Fondo Surface + trazo outline-variant.
|
|
79
79
|
*
|
|
80
80
|
* @default 'elevated'
|
|
81
81
|
*/
|
|
82
82
|
this.variant = 'elevated';
|
|
83
83
|
/**
|
|
84
|
-
*
|
|
85
|
-
*
|
|
84
|
+
* Cuando es `true`, aplica capas de estado M3 (hover, focus, pressed)
|
|
85
|
+
* para comunicar interactividad. El fondo de la tarjeta cambia ligeramente en hover.
|
|
86
86
|
*
|
|
87
|
-
*
|
|
87
|
+
* Úsalo cuando la tarjeta en sí es un objetivo de navegación o selección clicable.
|
|
88
88
|
*
|
|
89
89
|
* @default false
|
|
90
90
|
*/
|
|
91
91
|
this.clickable = false;
|
|
92
92
|
/**
|
|
93
|
-
*
|
|
94
|
-
*
|
|
93
|
+
* Cuando es `true`, aplica box-shadow `--elevate3` para simular el estado "arrastrado"
|
|
94
|
+
* M3 según lo especificado en la especificación de interacción de tarjetas M3.
|
|
95
95
|
*
|
|
96
|
-
*
|
|
97
|
-
* (
|
|
96
|
+
* Los consumidores deben alternar este atributo basado en el estado de arrastre de la tarjeta
|
|
97
|
+
* (ej. a través de un callback de biblioteca drag-and-drop).
|
|
98
98
|
*
|
|
99
99
|
* @default false
|
|
100
100
|
*/
|
|
101
101
|
this.draggable = false;
|
|
102
102
|
/**
|
|
103
|
-
*
|
|
104
|
-
*
|
|
103
|
+
* Cuando es `true`, la tarjeta se renderiza con opacidad del 50% con `cursor: not-allowed`,
|
|
104
|
+
* indicando que la tarjeta y sus acciones no están disponibles.
|
|
105
105
|
*
|
|
106
106
|
* @default false
|
|
107
107
|
*/
|
|
@@ -239,6 +239,24 @@ let MoniCard = class MoniCard extends MoniElement {
|
|
|
239
239
|
}
|
|
240
240
|
`
|
|
241
241
|
]; }
|
|
242
|
+
/**
|
|
243
|
+
* Renderiza el contenedor de la tarjeta como un `<section>` con envoltorio interactivo opcional.
|
|
244
|
+
*
|
|
245
|
+
* **¿Por qué `<section>`?**
|
|
246
|
+
* Las tarjetas representan una unidad distintiva y cohesiva de contenido. Usar `<section>` da
|
|
247
|
+
* a los lectores de pantalla un punto de referencia ARIA implícito para que puedan navegar entre tarjetas.
|
|
248
|
+
*
|
|
249
|
+
* **Tarjetas interactivas (`clickable=true`):**
|
|
250
|
+
* Cuando es `clickable`, toda la superficie de la tarjeta se convierte en un `<button>` que envuelve
|
|
251
|
+
* all slots, giving the card keyboard focus and `click` semantics. A
|
|
252
|
+
* `<moni-ripple>` is rendered as the first child to provide the M3 touch feedback.
|
|
253
|
+
*
|
|
254
|
+
* **Slot zones:**
|
|
255
|
+
* - `[slot="media"]` — image or video area at the card's leading edge.
|
|
256
|
+
* - `[slot="header"]` — title and supporting text row.
|
|
257
|
+
* - Default slot — the card's main content body.
|
|
258
|
+
* - `[slot="footer"]` — action buttons row at the trailing edge.
|
|
259
|
+
*/
|
|
242
260
|
render() {
|
|
243
261
|
return html `
|
|
244
262
|
<div class="media" part="media">
|