@moni-labs/moni-ui 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +52 -194
- package/custom-elements.json +1636 -350
- package/dist/actions/index.d.ts +6 -0
- package/dist/actions/index.d.ts.map +1 -1
- package/dist/actions/index.js +6 -0
- package/dist/components/_base/field-styles.d.ts +51 -16
- package/dist/components/_base/field-styles.d.ts.map +1 -1
- package/dist/components/_base/field-styles.js +164 -36
- package/dist/components/_base/index.d.ts +25 -0
- package/dist/components/_base/index.d.ts.map +1 -1
- package/dist/components/_base/index.js +25 -0
- package/dist/components/_base/interaction-styles.d.ts +39 -12
- package/dist/components/_base/interaction-styles.d.ts.map +1 -1
- package/dist/components/_base/interaction-styles.js +85 -33
- package/dist/components/_base/moni-element.d.ts +43 -8
- package/dist/components/_base/moni-element.d.ts.map +1 -1
- package/dist/components/_base/moni-element.js +43 -8
- package/dist/components/_base/shared-styles.d.ts +41 -17
- package/dist/components/_base/shared-styles.d.ts.map +1 -1
- package/dist/components/_base/shared-styles.js +113 -21
- package/dist/components/index.d.ts +6 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +6 -0
- package/dist/components/loading-shapes.d.ts +6 -0
- package/dist/components/loading-shapes.d.ts.map +1 -1
- package/dist/components/loading-shapes.js +6 -0
- package/dist/components/moni-app-bar.d.ts +128 -33
- package/dist/components/moni-app-bar.d.ts.map +1 -1
- package/dist/components/moni-app-bar.js +121 -26
- package/dist/components/moni-badge.d.ts +122 -14
- package/dist/components/moni-badge.d.ts.map +1 -1
- package/dist/components/moni-badge.js +122 -14
- package/dist/components/moni-bottom-sheet.d.ts +120 -15
- package/dist/components/moni-bottom-sheet.d.ts.map +1 -1
- package/dist/components/moni-bottom-sheet.js +116 -12
- package/dist/components/moni-button-group.d.ts +53 -27
- package/dist/components/moni-button-group.d.ts.map +1 -1
- package/dist/components/moni-button-group.js +49 -23
- package/dist/components/moni-button-segment.d.ts +28 -8
- package/dist/components/moni-button-segment.d.ts.map +1 -1
- package/dist/components/moni-button-segment.js +27 -7
- package/dist/components/moni-button.d.ts +51 -32
- package/dist/components/moni-button.d.ts.map +1 -1
- package/dist/components/moni-button.js +50 -31
- package/dist/components/moni-card.d.ts +91 -31
- package/dist/components/moni-card.d.ts.map +1 -1
- package/dist/components/moni-card.js +86 -26
- package/dist/components/moni-carousel.d.ts +67 -17
- package/dist/components/moni-carousel.d.ts.map +1 -1
- package/dist/components/moni-carousel.js +59 -16
- package/dist/components/moni-checkbox.d.ts +122 -17
- package/dist/components/moni-checkbox.d.ts.map +1 -1
- package/dist/components/moni-checkbox.js +118 -14
- package/dist/components/moni-chip.d.ts +56 -30
- package/dist/components/moni-chip.d.ts.map +1 -1
- package/dist/components/moni-chip.js +51 -25
- package/dist/components/moni-color-field.d.ts +44 -6
- package/dist/components/moni-color-field.d.ts.map +1 -1
- package/dist/components/moni-color-field.js +43 -5
- package/dist/components/moni-context-menu.d.ts +44 -22
- package/dist/components/moni-context-menu.d.ts.map +1 -1
- package/dist/components/moni-context-menu.js +43 -21
- package/dist/components/moni-dialog.d.ts +107 -15
- package/dist/components/moni-dialog.d.ts.map +1 -1
- package/dist/components/moni-dialog.js +105 -14
- package/dist/components/moni-divider.d.ts +50 -15
- package/dist/components/moni-divider.d.ts.map +1 -1
- package/dist/components/moni-divider.js +49 -14
- package/dist/components/moni-expansion.d.ts +44 -8
- package/dist/components/moni-expansion.d.ts.map +1 -1
- package/dist/components/moni-expansion.js +43 -7
- package/dist/components/moni-fab-menu.d.ts +39 -20
- package/dist/components/moni-fab-menu.d.ts.map +1 -1
- package/dist/components/moni-fab-menu.js +38 -19
- package/dist/components/moni-fab.d.ts +49 -23
- package/dist/components/moni-fab.d.ts.map +1 -1
- package/dist/components/moni-fab.js +46 -20
- package/dist/components/moni-file-field.d.ts +54 -14
- package/dist/components/moni-file-field.d.ts.map +1 -1
- package/dist/components/moni-file-field.js +53 -13
- package/dist/components/moni-icon.d.ts +78 -11
- package/dist/components/moni-icon.d.ts.map +1 -1
- package/dist/components/moni-icon.js +77 -10
- package/dist/components/moni-list-item.d.ts +61 -30
- package/dist/components/moni-list-item.d.ts.map +1 -1
- package/dist/components/moni-list-item.js +55 -24
- package/dist/components/moni-list.d.ts +37 -13
- package/dist/components/moni-list.d.ts.map +1 -1
- package/dist/components/moni-list.js +36 -12
- package/dist/components/moni-loading-indicator.d.ts +38 -11
- package/dist/components/moni-loading-indicator.d.ts.map +1 -1
- package/dist/components/moni-loading-indicator.js +37 -10
- package/dist/components/moni-menu-item.d.ts +31 -8
- package/dist/components/moni-menu-item.d.ts.map +1 -1
- package/dist/components/moni-menu-item.js +30 -7
- package/dist/components/moni-menu.d.ts +58 -33
- package/dist/components/moni-menu.d.ts.map +1 -1
- package/dist/components/moni-menu.js +51 -26
- package/dist/components/moni-morph-modal.d.ts +7 -1
- package/dist/components/moni-morph-modal.d.ts.map +1 -1
- package/dist/components/moni-morph-modal.js +46 -24
- package/dist/components/moni-nav-item.d.ts +50 -10
- package/dist/components/moni-nav-item.d.ts.map +1 -1
- package/dist/components/moni-nav-item.js +48 -8
- package/dist/components/moni-nav.d.ts +57 -22
- package/dist/components/moni-nav.d.ts.map +1 -1
- package/dist/components/moni-nav.js +53 -18
- package/dist/components/moni-progress.d.ts +108 -20
- package/dist/components/moni-progress.d.ts.map +1 -1
- package/dist/components/moni-progress.js +104 -16
- package/dist/components/moni-radio.d.ts +106 -14
- package/dist/components/moni-radio.d.ts.map +1 -1
- package/dist/components/moni-radio.js +104 -13
- package/dist/components/moni-ripple.d.ts +121 -10
- package/dist/components/moni-ripple.d.ts.map +1 -1
- package/dist/components/moni-ripple.js +120 -9
- package/dist/components/moni-segmented-button.d.ts +31 -11
- package/dist/components/moni-segmented-button.d.ts.map +1 -1
- package/dist/components/moni-segmented-button.js +30 -10
- package/dist/components/moni-select-option.d.ts +43 -9
- package/dist/components/moni-select-option.d.ts.map +1 -1
- package/dist/components/moni-select-option.js +41 -7
- package/dist/components/moni-select.d.ts +59 -2
- package/dist/components/moni-select.d.ts.map +1 -1
- package/dist/components/moni-select.js +58 -1
- package/dist/components/moni-shape.d.ts +1 -1
- package/dist/components/moni-side-sheet.d.ts +56 -19
- package/dist/components/moni-side-sheet.d.ts.map +1 -1
- package/dist/components/moni-side-sheet.js +53 -16
- package/dist/components/moni-slider.d.ts +56 -25
- package/dist/components/moni-slider.d.ts.map +1 -1
- package/dist/components/moni-slider.js +55 -24
- package/dist/components/moni-snackbar.d.ts +86 -17
- package/dist/components/moni-snackbar.d.ts.map +1 -1
- package/dist/components/moni-snackbar.js +85 -16
- package/dist/components/moni-split-button.d.ts +38 -9
- package/dist/components/moni-split-button.d.ts.map +1 -1
- package/dist/components/moni-split-button.js +37 -8
- package/dist/components/moni-step.d.ts +42 -9
- package/dist/components/moni-step.d.ts.map +1 -1
- package/dist/components/moni-step.js +41 -8
- package/dist/components/moni-stepper.d.ts +43 -6
- package/dist/components/moni-stepper.d.ts.map +1 -1
- package/dist/components/moni-stepper.js +42 -5
- package/dist/components/moni-switch.d.ts +103 -16
- package/dist/components/moni-switch.d.ts.map +1 -1
- package/dist/components/moni-switch.js +99 -13
- package/dist/components/moni-tab.d.ts +35 -8
- package/dist/components/moni-tab.d.ts.map +1 -1
- package/dist/components/moni-tab.js +34 -7
- package/dist/components/moni-tabs.d.ts +51 -13
- package/dist/components/moni-tabs.d.ts.map +1 -1
- package/dist/components/moni-tabs.js +48 -10
- package/dist/components/moni-text-field.d.ts +55 -10
- package/dist/components/moni-text-field.d.ts.map +1 -1
- package/dist/components/moni-text-field.js +54 -9
- package/dist/components/moni-textarea.d.ts +51 -21
- package/dist/components/moni-textarea.d.ts.map +1 -1
- package/dist/components/moni-textarea.js +48 -18
- package/dist/components/moni-time-picker.d.ts +41 -11
- package/dist/components/moni-time-picker.d.ts.map +1 -1
- package/dist/components/moni-time-picker.js +40 -10
- package/dist/components/moni-toolbar.d.ts +43 -15
- package/dist/components/moni-toolbar.d.ts.map +1 -1
- package/dist/components/moni-toolbar.js +42 -14
- package/dist/components/moni-tooltip.d.ts +55 -25
- package/dist/components/moni-tooltip.d.ts.map +1 -1
- package/dist/components/moni-tooltip.js +54 -24
- package/dist/components/moni-typography.d.ts +43 -18
- package/dist/components/moni-typography.d.ts.map +1 -1
- package/dist/components/moni-typography.js +42 -17
- package/dist/index.d.ts +47 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +59 -2
- package/dist/styles/tailwind.css +67 -0
- package/dist/styles/tokens.css +111 -99
- package/dist/utils/color.d.ts +181 -2
- package/dist/utils/color.d.ts.map +1 -1
- package/dist/utils/color.js +182 -4
- package/dist/utils/theme.svelte.d.ts +305 -2
- package/dist/utils/theme.svelte.d.ts.map +1 -1
- package/dist/utils/theme.svelte.js +331 -2
- package/dist/web-components.d.ts +28 -0
- package/dist/web-components.d.ts.map +1 -1
- package/dist/web-components.js +29 -2
- package/package.json +1 -1
- package/src/actions/index.ts +7 -0
- package/src/components/_base/field-styles.ts +165 -37
- package/src/components/_base/index.ts +27 -0
- package/src/components/_base/interaction-styles.ts +86 -33
- package/src/components/_base/moni-element.ts +44 -8
- package/src/components/_base/shared-styles.ts +114 -21
- package/src/components/index.ts +7 -0
- package/src/components/loading-shapes.ts +7 -0
- package/src/components/moni-app-bar.ts +127 -26
- package/src/components/moni-badge.ts +128 -14
- package/src/components/moni-bottom-sheet.ts +125 -13
- package/src/components/moni-button-group.ts +50 -23
- package/src/components/moni-button-segment.ts +28 -7
- package/src/components/moni-button.ts +51 -31
- package/src/components/moni-card.ts +90 -26
- package/src/components/moni-carousel.ts +67 -16
- package/src/components/moni-checkbox.ts +125 -14
- package/src/components/moni-chip.ts +52 -25
- package/src/components/moni-color-field.ts +44 -5
- package/src/components/moni-context-menu.ts +44 -21
- package/src/components/moni-dialog.ts +111 -14
- package/src/components/moni-divider.ts +50 -14
- package/src/components/moni-expansion.ts +44 -7
- package/src/components/moni-fab-menu.ts +39 -19
- package/src/components/moni-fab.ts +47 -20
- package/src/components/moni-file-field.ts +54 -13
- package/src/components/moni-icon.ts +80 -10
- package/src/components/moni-list-item.ts +56 -24
- package/src/components/moni-list.ts +37 -12
- package/src/components/moni-loading-indicator.ts +38 -10
- package/src/components/moni-menu-item.ts +31 -7
- package/src/components/moni-menu.ts +52 -26
- package/src/components/moni-morph-modal.ts +58 -24
- package/src/components/moni-nav-item.ts +49 -8
- package/src/components/moni-nav.ts +54 -18
- package/src/components/moni-progress.ts +109 -16
- package/src/components/moni-radio.ts +111 -13
- package/src/components/moni-ripple.ts +126 -9
- package/src/components/moni-segmented-button.ts +31 -10
- package/src/components/moni-select-option.ts +42 -7
- package/src/components/moni-select.ts +79 -1
- package/src/components/moni-side-sheet.ts +54 -16
- package/src/components/moni-slider.ts +56 -24
- package/src/components/moni-snackbar.ts +90 -16
- package/src/components/moni-split-button.ts +38 -8
- package/src/components/moni-step.ts +42 -8
- package/src/components/moni-stepper.ts +43 -5
- package/src/components/moni-switch.ts +106 -13
- package/src/components/moni-tab.ts +35 -7
- package/src/components/moni-tabs.ts +49 -10
- package/src/components/moni-text-field.ts +55 -9
- package/src/components/moni-textarea.ts +49 -18
- package/src/components/moni-time-picker.ts +41 -10
- package/src/components/moni-toolbar.ts +43 -14
- package/src/components/moni-tooltip.ts +55 -24
- package/src/components/moni-typography.ts +43 -17
- package/src/index.ts +67 -3
- package/src/styles/tailwind.css +67 -0
- package/src/styles/tokens.css +111 -99
- package/src/types/svelte-runes.d.ts +64 -2
- package/src/utils/color.ts +286 -5
- package/src/utils/theme.svelte.ts +411 -2
- package/src/web-components.ts +31 -2
- package/dist/assets/shapes/arch.svg +0 -1
- package/dist/assets/shapes/arrow.svg +0 -1
- package/dist/assets/shapes/boom.svg +0 -1
- package/dist/assets/shapes/burst.svg +0 -1
- package/dist/assets/shapes/circle.svg +0 -1
- package/dist/assets/shapes/clamshell.svg +0 -1
- package/dist/assets/shapes/diamond.svg +0 -1
- package/dist/assets/shapes/fan.svg +0 -1
- package/dist/assets/shapes/flower.svg +0 -1
- package/dist/assets/shapes/gem.svg +0 -1
- package/dist/assets/shapes/ghost-ish.svg +0 -1
- package/dist/assets/shapes/heart.svg +0 -1
- package/dist/assets/shapes/leaf-clover4.svg +0 -1
- package/dist/assets/shapes/leaf-clover8.svg +0 -1
- package/dist/assets/shapes/loading-indicator.svg +0 -1
- package/dist/assets/shapes/oval.svg +0 -1
- package/dist/assets/shapes/pentagon.svg +0 -1
- package/dist/assets/shapes/pill.svg +0 -1
- package/dist/assets/shapes/pixel-circle.svg +0 -1
- package/dist/assets/shapes/pixel-triangle.svg +0 -1
- package/dist/assets/shapes/puffy-diamond.svg +0 -1
- package/dist/assets/shapes/puffy.svg +0 -1
- package/dist/assets/shapes/semicircle.svg +0 -1
- package/dist/assets/shapes/sided-cookie12.svg +0 -1
- package/dist/assets/shapes/sided-cookie4.svg +0 -1
- package/dist/assets/shapes/sided-cookie6.svg +0 -1
- package/dist/assets/shapes/sided-cookie7.svg +0 -1
- package/dist/assets/shapes/sided-cookie9.svg +0 -1
- package/dist/assets/shapes/slanted.svg +0 -1
- package/dist/assets/shapes/soft-boom.svg +0 -1
- package/dist/assets/shapes/soft-burst.svg +0 -1
- package/dist/assets/shapes/square.svg +0 -1
- package/dist/assets/shapes/sunny.svg +0 -1
- package/dist/assets/shapes/triangle.svg +0 -1
- package/dist/assets/shapes/very-sunny.svg +0 -1
- package/dist/assets/shapes/wavy-circle.svg +0 -1
- package/dist/assets/shapes/wavy.svg +0 -1
- package/src/assets/shapes/arch.svg +0 -1
- package/src/assets/shapes/arrow.svg +0 -1
- package/src/assets/shapes/boom.svg +0 -1
- package/src/assets/shapes/burst.svg +0 -1
- package/src/assets/shapes/circle.svg +0 -1
- package/src/assets/shapes/clamshell.svg +0 -1
- package/src/assets/shapes/diamond.svg +0 -1
- package/src/assets/shapes/fan.svg +0 -1
- package/src/assets/shapes/flower.svg +0 -1
- package/src/assets/shapes/gem.svg +0 -1
- package/src/assets/shapes/ghost-ish.svg +0 -1
- package/src/assets/shapes/heart.svg +0 -1
- package/src/assets/shapes/leaf-clover4.svg +0 -1
- package/src/assets/shapes/leaf-clover8.svg +0 -1
- package/src/assets/shapes/loading-indicator.svg +0 -1
- package/src/assets/shapes/oval.svg +0 -1
- package/src/assets/shapes/pentagon.svg +0 -1
- package/src/assets/shapes/pill.svg +0 -1
- package/src/assets/shapes/pixel-circle.svg +0 -1
- package/src/assets/shapes/pixel-triangle.svg +0 -1
- package/src/assets/shapes/puffy-diamond.svg +0 -1
- package/src/assets/shapes/puffy.svg +0 -1
- package/src/assets/shapes/semicircle.svg +0 -1
- package/src/assets/shapes/sided-cookie12.svg +0 -1
- package/src/assets/shapes/sided-cookie4.svg +0 -1
- package/src/assets/shapes/sided-cookie6.svg +0 -1
- package/src/assets/shapes/sided-cookie7.svg +0 -1
- package/src/assets/shapes/sided-cookie9.svg +0 -1
- package/src/assets/shapes/slanted.svg +0 -1
- package/src/assets/shapes/soft-boom.svg +0 -1
- package/src/assets/shapes/soft-burst.svg +0 -1
- package/src/assets/shapes/square.svg +0 -1
- package/src/assets/shapes/sunny.svg +0 -1
- package/src/assets/shapes/triangle.svg +0 -1
- package/src/assets/shapes/very-sunny.svg +0 -1
- package/src/assets/shapes/wavy-circle.svg +0 -1
- package/src/assets/shapes/wavy.svg +0 -1
package/README.md
CHANGED
|
@@ -1,53 +1,45 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Moni UI 🎨
|
|
2
2
|
|
|
3
|
-
> Sistema de diseño unificado, responsivo y de alto rendimiento para Moni. Basado en **Material Design 3 Expressive**,
|
|
3
|
+
> Sistema de diseño unificado, responsivo y de alto rendimiento para la plataforma Moni. Basado en **Material Design 3 Expressive**, optimizado para móviles (mobile-first) y con micro-animaciones premium.
|
|
4
4
|
|
|
5
|
-
`@moni-labs/moni-ui` es una biblioteca de componentes web
|
|
5
|
+
`@moni-labs/moni-ui` es una biblioteca de componentes web construida con **Lit** y **TypeScript**. Es totalmente agnóstica de frameworks (funciona nativamente en HTML, React, Vue, Angular, Svelte, etc.) y cuenta con integraciones optimizadas para **Svelte 5** y **TailwindCSS v4** que no interfieren con otros frameworks de estilos.
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
## Características principales ✨
|
|
10
10
|
|
|
11
|
-
- 📱 **Mobile-First & Responsivo**:
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
- 🌈 **Motor de Temas
|
|
15
|
-
- 🏃♂️ **Animaciones
|
|
16
|
-
-
|
|
11
|
+
- 📱 **Mobile-First & Responsivo**: Cumple con pautas de accesibilidad y objetivos de toque mínimos de 48dp.
|
|
12
|
+
- 🧩 **Web Components Nativos**: Encapsulados mediante Shadow DOM e independientes del framework.
|
|
13
|
+
- 🎨 **Aislamiento de CSS Estricto**: Custom properties bajo el espacio de nombres `--moni-*` para evitar conflictos visuales con DaisyUI, Bootstrap, etc.
|
|
14
|
+
- 🌈 **Motor de Temas HCT**: Generación reactiva de color dinámico y contrastes WCAG AA basados en el color semilla.
|
|
15
|
+
- 🏃♂️ **Animaciones Premium**: Transiciones de forma fluida y arrastre inercial optimizado con **GSAP**.
|
|
16
|
+
- 📘 **Ecosistema Documentado**: Estándar de contribución profesional y API documentada por separado.
|
|
17
17
|
|
|
18
18
|
---
|
|
19
19
|
|
|
20
20
|
## Instalación 📦
|
|
21
21
|
|
|
22
|
-
Instala
|
|
22
|
+
Instala el paquete y sus dependencias de desarrollo recomendadas:
|
|
23
23
|
|
|
24
24
|
```bash
|
|
25
|
-
npm install @moni-labs/moni-ui
|
|
25
|
+
npm install @moni-labs/moni-ui
|
|
26
26
|
# O con bun
|
|
27
|
-
bun add @moni-labs/moni-ui
|
|
27
|
+
bun add @moni-labs/moni-ui
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
---
|
|
31
31
|
|
|
32
|
-
##
|
|
32
|
+
## Configuración Inicial 🚀
|
|
33
33
|
|
|
34
34
|
### 1. Registrar los Componentes Web
|
|
35
|
-
|
|
36
|
-
Para usar los componentes en tu aplicación, importa el punto de entrada principal. Esto registrará automáticamente todos los elementos `<moni-*>` en el registro de elementos personalizados del navegador (`customElements`).
|
|
35
|
+
Importa el punto de entrada principal en tu código para registrar todos los elementos `<moni-*>` en el navegador:
|
|
37
36
|
|
|
38
37
|
```javascript
|
|
39
38
|
import '@moni-labs/moni-ui';
|
|
40
39
|
```
|
|
41
40
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
```javascript
|
|
45
|
-
import '@moni-labs/moni-ui/web-components';
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
### 2. Importar los Estilos Globales
|
|
49
|
-
|
|
50
|
-
Asegúrate de importar las variables del tema y estilos base en tu archivo de estilos principal (como `index.css` o `app.css`):
|
|
41
|
+
### 2. Cargar los Estilos y Variables
|
|
42
|
+
Importa el tema de variables base en tu archivo CSS global:
|
|
51
43
|
|
|
52
44
|
```css
|
|
53
45
|
@import '@moni-labs/moni-ui/styles';
|
|
@@ -55,207 +47,73 @@ Asegúrate de importar las variables del tema y estilos base en tu archivo de es
|
|
|
55
47
|
|
|
56
48
|
---
|
|
57
49
|
|
|
58
|
-
## Guía
|
|
50
|
+
## Guía del Componente Core: Botón Expresivo (`<moni-button>`) 🧩
|
|
59
51
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
Rinde un botón nativo con soporte para morphing al presionar y toggles activos.
|
|
52
|
+
Moni UI incluye múltiples componentes (Carruseles, Selectores con Categorías, Formas vectoriales, etc.) cuya documentación detallada está disponible en [COMPONENTS.md](file:///c:/Users/MonitasNET/Desktop/Codigo/Moni/packages/moni-ui/docs/COMPONENTS.md). A continuación, se detalla el uso del componente base:
|
|
63
53
|
|
|
54
|
+
### Ejemplo de Uso:
|
|
64
55
|
```html
|
|
65
|
-
<!-- Botón primario con icono
|
|
66
|
-
<moni-button variant="filled" icon="bolt">
|
|
56
|
+
<!-- Botón primario con icono y morphing activo al hacer click/toggle -->
|
|
57
|
+
<moni-button variant="filled" shape="round" icon="bolt" active>
|
|
67
58
|
Activar Moni
|
|
68
59
|
</moni-button>
|
|
69
60
|
|
|
70
|
-
<!--
|
|
71
|
-
<moni-button variant="
|
|
72
|
-
|
|
61
|
+
<!-- Botónoutlined de tamaño pequeño y estado de carga -->
|
|
62
|
+
<moni-button variant="outlined" size="small" loading>
|
|
63
|
+
Cargando
|
|
73
64
|
</moni-button>
|
|
74
65
|
```
|
|
75
66
|
|
|
76
|
-
|
|
77
|
-
-
|
|
78
|
-
-
|
|
79
|
-
-
|
|
80
|
-
-
|
|
81
|
-
-
|
|
67
|
+
### Atributos Clave:
|
|
68
|
+
- **`variant`**: Estilo del botón (`filled` | `tonal` | `outlined` | `text` | `fill` | `elevated`).
|
|
69
|
+
- **`size`**: Escala física (`xsmall` | `small` | `medium` | `large` | `xlarge`).
|
|
70
|
+
- **`shape`**: Variación de bordes asimétricos (`round` | `square` | `circle` | `left-round` | `right-round` | `left-round-flat` | `inner-round`).
|
|
71
|
+
- **`active`**: Habilita la transición de forma activa (morphing de bordes redondeados).
|
|
72
|
+
- **`loading`**: Reemplaza el icono por un spinner indeterminado interactivo.
|
|
82
73
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
### 2. Carrusel Premium (`<moni-carousel>`)
|
|
86
|
-
|
|
87
|
-
Carrusel táctil con scrolling inercial, snapping de tarjetas optimizado y efecto de paralaje nativo para imágenes.
|
|
88
|
-
|
|
89
|
-
```html
|
|
90
|
-
<moni-carousel layout="hero" gap="16" padding="24">
|
|
91
|
-
<div class="card">
|
|
92
|
-
<div class="img-parallax-container">
|
|
93
|
-
<img src="https://images.unsplash.com/photo-1618005182384-a83a8bd57fbe" alt="Moni Labs" />
|
|
94
|
-
</div>
|
|
95
|
-
<h2 class="card-title">Moni Labs</h2>
|
|
96
|
-
</div>
|
|
97
|
-
<div class="card">
|
|
98
|
-
<div class="img-parallax-container">
|
|
99
|
-
<img src="https://images.unsplash.com/photo-1604871000636-074fa5117945" alt="Diseño M3" />
|
|
100
|
-
</div>
|
|
101
|
-
<h2 class="card-title">Material 3 Expressive</h2>
|
|
102
|
-
</div>
|
|
103
|
-
</moni-carousel>
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
#### Atributos Clave:
|
|
107
|
-
- `layout`: `uncontained` (sin bordes) | `hero` (la primera tarjeta es grande, las siguientes pequeñas) | `multi-browse` (múltiples tarjetas visibles con gradiente de tamaño).
|
|
108
|
-
- `gap`: Distancia en píxeles entre tarjetas.
|
|
109
|
-
- `padding`: Padding del carrusel en píxeles.
|
|
110
|
-
- `hideNav`: Oculta las flechas de navegación en pantallas de escritorio.
|
|
74
|
+
> [!NOTE]
|
|
75
|
+
> Para ver el listado completo de propiedades, ranuras (slots) y eventos del botón, o para aprender a usar otros componentes como `<moni-carousel>` y `<moni-select>`, consulta la [Guía de Componentes Individuales](file:///c:/Users/MonitasNET/Desktop/Codigo/Moni/packages/moni-ui/docs/COMPONENTS.md).
|
|
111
76
|
|
|
112
77
|
---
|
|
113
78
|
|
|
114
|
-
|
|
79
|
+
## Integraciones Avanzadas 🎨
|
|
115
80
|
|
|
116
|
-
|
|
81
|
+
### A. Integración con TailwindCSS v4
|
|
82
|
+
El sistema de tokens de `@moni-labs/moni-ui` se inyecta como variables CSS seguras `--moni-*` en el `:root`. Para utilizarlos de manera fluida en tus clases utilitarias de TailwindCSS v4, importa nuestro mapeo de tema específico:
|
|
117
83
|
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
<moni-select-option value="argentina" group="Sudamérica">Argentina</moni-select-option>
|
|
122
|
-
<moni-select-option value="espana" group="Europa">España</moni-select-option>
|
|
123
|
-
<moni-select-option value="italia" group="Europa">Italia</moni-select-option>
|
|
124
|
-
</moni-select>
|
|
84
|
+
```css
|
|
85
|
+
/* En tu archivo global app.css / index.css */
|
|
86
|
+
@import '@moni-labs/moni-ui/styles/tailwind.css';
|
|
125
87
|
```
|
|
126
88
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
### 4. Formas de Marca (`<moni-shape>`)
|
|
130
|
-
|
|
131
|
-
Aplica máscaras vectoriales (SVG Clip-Paths/Masks) predefinidas y expresivas a cualquier contenido.
|
|
132
|
-
|
|
89
|
+
Esto te permitirá usar de inmediato clases de color y bordes como:
|
|
133
90
|
```html
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
</moni-shape>
|
|
138
|
-
|
|
139
|
-
<!-- Máscara de estrella con fondo del contenedor secundario -->
|
|
140
|
-
<moni-shape type="star" size="medium" color="secondary"></moni-shape>
|
|
91
|
+
<div class="bg-primary text-on-primary rounded-md p-4">
|
|
92
|
+
¡Estilo unificado con Tailwind CSS v4!
|
|
93
|
+
</div>
|
|
141
94
|
```
|
|
142
95
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
- **Expresivos (Moni)**: `heart`, `star`, `boom`, `burst`, `sunny`, `very-sunny`, `flower`, `leaf-clover4`, `sided-cookie12`, `sided-cookie7`, `clamshell`, `gem`, `wavy`, `puffy`.
|
|
146
|
-
|
|
147
|
-
---
|
|
148
|
-
|
|
149
|
-
## Motor de Temas Dinámico (Theme Engine) 🌈
|
|
150
|
-
|
|
151
|
-
`@moni-labs/moni-ui` cuenta con un potente motor de generación de color basado en la API **HCT** de Material Design 3, el cual ajusta automáticamente los contrastes para cumplir con la norma **WCAG AA**.
|
|
152
|
-
|
|
153
|
-
### Integración en Svelte 5 (Runes)
|
|
154
|
-
|
|
155
|
-
Puedes utilizar el motor de temas reactivo importando `getThemeEngine` en tu aplicación Svelte:
|
|
96
|
+
### B. Motor de Temas Dinámico (Svelte 5 Runes)
|
|
97
|
+
Puedes controlar el tema de color, densidad, fuentes y esquinas de forma reactiva importando el motor de temas:
|
|
156
98
|
|
|
157
99
|
```svelte
|
|
158
100
|
<script>
|
|
159
101
|
import { getThemeEngine } from '@moni-labs/moni-ui';
|
|
160
|
-
|
|
161
|
-
// Inicializa el tema reactivo (usando Runes de Svelte 5)
|
|
162
|
-
const theme = getThemeEngine({
|
|
163
|
-
seedColor: '#4f46e5', // Color semilla base
|
|
164
|
-
mode: 'dark', // 'light' | 'dark'
|
|
165
|
-
density: 'default', // 'default' | 'comfortable' | 'compact'
|
|
166
|
-
radius: 'medium', // 'none' | 'small' | 'medium' | 'large' | 'full'
|
|
167
|
-
font: 'sans' // 'sans' | 'serif' | 'mono'
|
|
168
|
-
});
|
|
169
|
-
|
|
170
|
-
function toggleMode() {
|
|
171
|
-
theme.mode = theme.mode === 'light' ? 'dark' : 'light';
|
|
172
|
-
}
|
|
173
|
-
</script>
|
|
174
|
-
|
|
175
|
-
<main class="app">
|
|
176
|
-
<button on:click={toggleMode}>
|
|
177
|
-
Modo actual: {theme.mode}
|
|
178
|
-
</button>
|
|
179
102
|
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
---
|
|
185
|
-
|
|
186
|
-
## Integración con TailwindCSS v4 🎨
|
|
187
|
-
|
|
188
|
-
El sistema de tokens de `@moni-labs/moni-ui` se inyecta como variables CSS nativas en el `:root`. Para utilizarlos en tus clases de TailwindCSS v4, simplemente usa las variables directamente o configúralas en tu archivo CSS:
|
|
189
|
-
|
|
190
|
-
```css
|
|
191
|
-
@theme {
|
|
192
|
-
--color-primary: var(--primary);
|
|
193
|
-
--color-secondary: var(--secondary);
|
|
194
|
-
--color-background-custom: var(--color-background);
|
|
195
|
-
--radius-custom: var(--radius-medium);
|
|
196
|
-
}
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
Ahora puedes escribir clases como:
|
|
200
|
-
```html
|
|
201
|
-
<div class="bg-primary text-on-primary rounded-custom p-4">
|
|
202
|
-
Contenido tematizado con Tailwind
|
|
203
|
-
</div>
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
---
|
|
207
|
-
|
|
208
|
-
## Desarrollo Local y Construcción 🛠_
|
|
209
|
-
|
|
210
|
-
Si deseas contribuir al desarrollo o realizar pruebas locales de `@moni-labs/moni-ui`, utiliza los siguientes comandos dentro del directorio del paquete:
|
|
211
|
-
|
|
212
|
-
```bash
|
|
213
|
-
# Instalar dependencias
|
|
214
|
-
bun install
|
|
215
|
-
|
|
216
|
-
# Ejecutar el Sandbox interactivo (Moni-Labs)
|
|
217
|
-
bun run dev --filter moni-labs
|
|
218
|
-
|
|
219
|
-
# Compilar el paquete para producción (genera dist/)
|
|
220
|
-
bun run build
|
|
221
|
-
|
|
222
|
-
# Ejecutar pruebas unitarias de Vitest (JSDOM)
|
|
223
|
-
bun run test
|
|
103
|
+
const theme = getThemeEngine();
|
|
104
|
+
theme.seedColor = '#4f46e5'; // Actualiza dinámicamente toda la paleta de colores HCT
|
|
105
|
+
</script>
|
|
224
106
|
|
|
225
|
-
|
|
226
|
-
|
|
107
|
+
<button on:click={() => theme.mode = theme.mode === 'light' ? 'dark' : 'light'}>
|
|
108
|
+
Modo: {theme.mode}
|
|
109
|
+
</button>
|
|
227
110
|
```
|
|
228
111
|
|
|
229
112
|
---
|
|
230
113
|
|
|
231
|
-
##
|
|
232
|
-
|
|
233
|
-
### 1. Confirmar Cambios en GitHub
|
|
234
|
-
|
|
235
|
-
Asegúrate de tener un repositorio limpio e independiente:
|
|
236
|
-
|
|
237
|
-
```bash
|
|
238
|
-
git add .
|
|
239
|
-
git commit -m "release: v0.2.0 - setup standalone package"
|
|
240
|
-
git push -u origin main
|
|
241
|
-
```
|
|
114
|
+
## Contribuir al Proyecto 🛠️
|
|
242
115
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
Para publicar el paquete de forma pública bajo el ámbito `@moni-spa`:
|
|
246
|
-
|
|
247
|
-
1. Inicia sesión en tu cuenta de NPM en la terminal:
|
|
248
|
-
```bash
|
|
249
|
-
npm login
|
|
250
|
-
```
|
|
251
|
-
2. Asegúrate de compilar los archivos finales:
|
|
252
|
-
```bash
|
|
253
|
-
npm run build
|
|
254
|
-
```
|
|
255
|
-
3. Ejecuta la publicación (el acceso público es obligatorio para ámbitos de organización nuevos):
|
|
256
|
-
```bash
|
|
257
|
-
npm publish --access public
|
|
258
|
-
```
|
|
116
|
+
¿Deseas agregar nuevos componentes web, ajustar estilos o reportar bugs? Lee nuestra [Guía de Contribución y Estándar de Código (CONTRIBUTING.md)](file:///c:/Users/MonitasNET/Desktop/Codigo/Moni/packages/moni-ui/CONTRIBUTING.md) para comprender el flujo de desarrollo, estándares Lit/TypeScript y convenciones Git.
|
|
259
117
|
|
|
260
118
|
---
|
|
261
119
|
|