@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.
Files changed (323) hide show
  1. package/README.md +52 -194
  2. package/custom-elements.json +1636 -350
  3. package/dist/actions/index.d.ts +6 -0
  4. package/dist/actions/index.d.ts.map +1 -1
  5. package/dist/actions/index.js +6 -0
  6. package/dist/components/_base/field-styles.d.ts +51 -16
  7. package/dist/components/_base/field-styles.d.ts.map +1 -1
  8. package/dist/components/_base/field-styles.js +164 -36
  9. package/dist/components/_base/index.d.ts +25 -0
  10. package/dist/components/_base/index.d.ts.map +1 -1
  11. package/dist/components/_base/index.js +25 -0
  12. package/dist/components/_base/interaction-styles.d.ts +39 -12
  13. package/dist/components/_base/interaction-styles.d.ts.map +1 -1
  14. package/dist/components/_base/interaction-styles.js +85 -33
  15. package/dist/components/_base/moni-element.d.ts +43 -8
  16. package/dist/components/_base/moni-element.d.ts.map +1 -1
  17. package/dist/components/_base/moni-element.js +43 -8
  18. package/dist/components/_base/shared-styles.d.ts +41 -17
  19. package/dist/components/_base/shared-styles.d.ts.map +1 -1
  20. package/dist/components/_base/shared-styles.js +113 -21
  21. package/dist/components/index.d.ts +6 -0
  22. package/dist/components/index.d.ts.map +1 -1
  23. package/dist/components/index.js +6 -0
  24. package/dist/components/loading-shapes.d.ts +6 -0
  25. package/dist/components/loading-shapes.d.ts.map +1 -1
  26. package/dist/components/loading-shapes.js +6 -0
  27. package/dist/components/moni-app-bar.d.ts +128 -33
  28. package/dist/components/moni-app-bar.d.ts.map +1 -1
  29. package/dist/components/moni-app-bar.js +121 -26
  30. package/dist/components/moni-badge.d.ts +122 -14
  31. package/dist/components/moni-badge.d.ts.map +1 -1
  32. package/dist/components/moni-badge.js +122 -14
  33. package/dist/components/moni-bottom-sheet.d.ts +120 -15
  34. package/dist/components/moni-bottom-sheet.d.ts.map +1 -1
  35. package/dist/components/moni-bottom-sheet.js +116 -12
  36. package/dist/components/moni-button-group.d.ts +53 -27
  37. package/dist/components/moni-button-group.d.ts.map +1 -1
  38. package/dist/components/moni-button-group.js +49 -23
  39. package/dist/components/moni-button-segment.d.ts +28 -8
  40. package/dist/components/moni-button-segment.d.ts.map +1 -1
  41. package/dist/components/moni-button-segment.js +27 -7
  42. package/dist/components/moni-button.d.ts +51 -32
  43. package/dist/components/moni-button.d.ts.map +1 -1
  44. package/dist/components/moni-button.js +50 -31
  45. package/dist/components/moni-card.d.ts +91 -31
  46. package/dist/components/moni-card.d.ts.map +1 -1
  47. package/dist/components/moni-card.js +86 -26
  48. package/dist/components/moni-carousel.d.ts +67 -17
  49. package/dist/components/moni-carousel.d.ts.map +1 -1
  50. package/dist/components/moni-carousel.js +59 -16
  51. package/dist/components/moni-checkbox.d.ts +122 -17
  52. package/dist/components/moni-checkbox.d.ts.map +1 -1
  53. package/dist/components/moni-checkbox.js +118 -14
  54. package/dist/components/moni-chip.d.ts +56 -30
  55. package/dist/components/moni-chip.d.ts.map +1 -1
  56. package/dist/components/moni-chip.js +51 -25
  57. package/dist/components/moni-color-field.d.ts +44 -6
  58. package/dist/components/moni-color-field.d.ts.map +1 -1
  59. package/dist/components/moni-color-field.js +43 -5
  60. package/dist/components/moni-context-menu.d.ts +44 -22
  61. package/dist/components/moni-context-menu.d.ts.map +1 -1
  62. package/dist/components/moni-context-menu.js +43 -21
  63. package/dist/components/moni-dialog.d.ts +107 -15
  64. package/dist/components/moni-dialog.d.ts.map +1 -1
  65. package/dist/components/moni-dialog.js +105 -14
  66. package/dist/components/moni-divider.d.ts +50 -15
  67. package/dist/components/moni-divider.d.ts.map +1 -1
  68. package/dist/components/moni-divider.js +49 -14
  69. package/dist/components/moni-expansion.d.ts +44 -8
  70. package/dist/components/moni-expansion.d.ts.map +1 -1
  71. package/dist/components/moni-expansion.js +43 -7
  72. package/dist/components/moni-fab-menu.d.ts +39 -20
  73. package/dist/components/moni-fab-menu.d.ts.map +1 -1
  74. package/dist/components/moni-fab-menu.js +38 -19
  75. package/dist/components/moni-fab.d.ts +49 -23
  76. package/dist/components/moni-fab.d.ts.map +1 -1
  77. package/dist/components/moni-fab.js +46 -20
  78. package/dist/components/moni-file-field.d.ts +54 -14
  79. package/dist/components/moni-file-field.d.ts.map +1 -1
  80. package/dist/components/moni-file-field.js +53 -13
  81. package/dist/components/moni-icon.d.ts +78 -11
  82. package/dist/components/moni-icon.d.ts.map +1 -1
  83. package/dist/components/moni-icon.js +77 -10
  84. package/dist/components/moni-list-item.d.ts +61 -30
  85. package/dist/components/moni-list-item.d.ts.map +1 -1
  86. package/dist/components/moni-list-item.js +55 -24
  87. package/dist/components/moni-list.d.ts +37 -13
  88. package/dist/components/moni-list.d.ts.map +1 -1
  89. package/dist/components/moni-list.js +36 -12
  90. package/dist/components/moni-loading-indicator.d.ts +38 -11
  91. package/dist/components/moni-loading-indicator.d.ts.map +1 -1
  92. package/dist/components/moni-loading-indicator.js +37 -10
  93. package/dist/components/moni-menu-item.d.ts +31 -8
  94. package/dist/components/moni-menu-item.d.ts.map +1 -1
  95. package/dist/components/moni-menu-item.js +30 -7
  96. package/dist/components/moni-menu.d.ts +58 -33
  97. package/dist/components/moni-menu.d.ts.map +1 -1
  98. package/dist/components/moni-menu.js +51 -26
  99. package/dist/components/moni-morph-modal.d.ts +7 -1
  100. package/dist/components/moni-morph-modal.d.ts.map +1 -1
  101. package/dist/components/moni-morph-modal.js +46 -24
  102. package/dist/components/moni-nav-item.d.ts +50 -10
  103. package/dist/components/moni-nav-item.d.ts.map +1 -1
  104. package/dist/components/moni-nav-item.js +48 -8
  105. package/dist/components/moni-nav.d.ts +57 -22
  106. package/dist/components/moni-nav.d.ts.map +1 -1
  107. package/dist/components/moni-nav.js +53 -18
  108. package/dist/components/moni-progress.d.ts +108 -20
  109. package/dist/components/moni-progress.d.ts.map +1 -1
  110. package/dist/components/moni-progress.js +104 -16
  111. package/dist/components/moni-radio.d.ts +106 -14
  112. package/dist/components/moni-radio.d.ts.map +1 -1
  113. package/dist/components/moni-radio.js +104 -13
  114. package/dist/components/moni-ripple.d.ts +121 -10
  115. package/dist/components/moni-ripple.d.ts.map +1 -1
  116. package/dist/components/moni-ripple.js +120 -9
  117. package/dist/components/moni-segmented-button.d.ts +31 -11
  118. package/dist/components/moni-segmented-button.d.ts.map +1 -1
  119. package/dist/components/moni-segmented-button.js +30 -10
  120. package/dist/components/moni-select-option.d.ts +43 -9
  121. package/dist/components/moni-select-option.d.ts.map +1 -1
  122. package/dist/components/moni-select-option.js +41 -7
  123. package/dist/components/moni-select.d.ts +59 -2
  124. package/dist/components/moni-select.d.ts.map +1 -1
  125. package/dist/components/moni-select.js +58 -1
  126. package/dist/components/moni-shape.d.ts +1 -1
  127. package/dist/components/moni-side-sheet.d.ts +56 -19
  128. package/dist/components/moni-side-sheet.d.ts.map +1 -1
  129. package/dist/components/moni-side-sheet.js +53 -16
  130. package/dist/components/moni-slider.d.ts +56 -25
  131. package/dist/components/moni-slider.d.ts.map +1 -1
  132. package/dist/components/moni-slider.js +55 -24
  133. package/dist/components/moni-snackbar.d.ts +86 -17
  134. package/dist/components/moni-snackbar.d.ts.map +1 -1
  135. package/dist/components/moni-snackbar.js +85 -16
  136. package/dist/components/moni-split-button.d.ts +38 -9
  137. package/dist/components/moni-split-button.d.ts.map +1 -1
  138. package/dist/components/moni-split-button.js +37 -8
  139. package/dist/components/moni-step.d.ts +42 -9
  140. package/dist/components/moni-step.d.ts.map +1 -1
  141. package/dist/components/moni-step.js +41 -8
  142. package/dist/components/moni-stepper.d.ts +43 -6
  143. package/dist/components/moni-stepper.d.ts.map +1 -1
  144. package/dist/components/moni-stepper.js +42 -5
  145. package/dist/components/moni-switch.d.ts +103 -16
  146. package/dist/components/moni-switch.d.ts.map +1 -1
  147. package/dist/components/moni-switch.js +99 -13
  148. package/dist/components/moni-tab.d.ts +35 -8
  149. package/dist/components/moni-tab.d.ts.map +1 -1
  150. package/dist/components/moni-tab.js +34 -7
  151. package/dist/components/moni-tabs.d.ts +51 -13
  152. package/dist/components/moni-tabs.d.ts.map +1 -1
  153. package/dist/components/moni-tabs.js +48 -10
  154. package/dist/components/moni-text-field.d.ts +55 -10
  155. package/dist/components/moni-text-field.d.ts.map +1 -1
  156. package/dist/components/moni-text-field.js +54 -9
  157. package/dist/components/moni-textarea.d.ts +51 -21
  158. package/dist/components/moni-textarea.d.ts.map +1 -1
  159. package/dist/components/moni-textarea.js +48 -18
  160. package/dist/components/moni-time-picker.d.ts +41 -11
  161. package/dist/components/moni-time-picker.d.ts.map +1 -1
  162. package/dist/components/moni-time-picker.js +40 -10
  163. package/dist/components/moni-toolbar.d.ts +43 -15
  164. package/dist/components/moni-toolbar.d.ts.map +1 -1
  165. package/dist/components/moni-toolbar.js +42 -14
  166. package/dist/components/moni-tooltip.d.ts +55 -25
  167. package/dist/components/moni-tooltip.d.ts.map +1 -1
  168. package/dist/components/moni-tooltip.js +54 -24
  169. package/dist/components/moni-typography.d.ts +43 -18
  170. package/dist/components/moni-typography.d.ts.map +1 -1
  171. package/dist/components/moni-typography.js +42 -17
  172. package/dist/index.d.ts +47 -0
  173. package/dist/index.d.ts.map +1 -1
  174. package/dist/index.js +59 -2
  175. package/dist/styles/tailwind.css +67 -0
  176. package/dist/styles/tokens.css +111 -99
  177. package/dist/utils/color.d.ts +181 -2
  178. package/dist/utils/color.d.ts.map +1 -1
  179. package/dist/utils/color.js +182 -4
  180. package/dist/utils/theme.svelte.d.ts +305 -2
  181. package/dist/utils/theme.svelte.d.ts.map +1 -1
  182. package/dist/utils/theme.svelte.js +331 -2
  183. package/dist/web-components.d.ts +28 -0
  184. package/dist/web-components.d.ts.map +1 -1
  185. package/dist/web-components.js +29 -2
  186. package/package.json +1 -1
  187. package/src/actions/index.ts +7 -0
  188. package/src/components/_base/field-styles.ts +165 -37
  189. package/src/components/_base/index.ts +27 -0
  190. package/src/components/_base/interaction-styles.ts +86 -33
  191. package/src/components/_base/moni-element.ts +44 -8
  192. package/src/components/_base/shared-styles.ts +114 -21
  193. package/src/components/index.ts +7 -0
  194. package/src/components/loading-shapes.ts +7 -0
  195. package/src/components/moni-app-bar.ts +127 -26
  196. package/src/components/moni-badge.ts +128 -14
  197. package/src/components/moni-bottom-sheet.ts +125 -13
  198. package/src/components/moni-button-group.ts +50 -23
  199. package/src/components/moni-button-segment.ts +28 -7
  200. package/src/components/moni-button.ts +51 -31
  201. package/src/components/moni-card.ts +90 -26
  202. package/src/components/moni-carousel.ts +67 -16
  203. package/src/components/moni-checkbox.ts +125 -14
  204. package/src/components/moni-chip.ts +52 -25
  205. package/src/components/moni-color-field.ts +44 -5
  206. package/src/components/moni-context-menu.ts +44 -21
  207. package/src/components/moni-dialog.ts +111 -14
  208. package/src/components/moni-divider.ts +50 -14
  209. package/src/components/moni-expansion.ts +44 -7
  210. package/src/components/moni-fab-menu.ts +39 -19
  211. package/src/components/moni-fab.ts +47 -20
  212. package/src/components/moni-file-field.ts +54 -13
  213. package/src/components/moni-icon.ts +80 -10
  214. package/src/components/moni-list-item.ts +56 -24
  215. package/src/components/moni-list.ts +37 -12
  216. package/src/components/moni-loading-indicator.ts +38 -10
  217. package/src/components/moni-menu-item.ts +31 -7
  218. package/src/components/moni-menu.ts +52 -26
  219. package/src/components/moni-morph-modal.ts +58 -24
  220. package/src/components/moni-nav-item.ts +49 -8
  221. package/src/components/moni-nav.ts +54 -18
  222. package/src/components/moni-progress.ts +109 -16
  223. package/src/components/moni-radio.ts +111 -13
  224. package/src/components/moni-ripple.ts +126 -9
  225. package/src/components/moni-segmented-button.ts +31 -10
  226. package/src/components/moni-select-option.ts +42 -7
  227. package/src/components/moni-select.ts +79 -1
  228. package/src/components/moni-side-sheet.ts +54 -16
  229. package/src/components/moni-slider.ts +56 -24
  230. package/src/components/moni-snackbar.ts +90 -16
  231. package/src/components/moni-split-button.ts +38 -8
  232. package/src/components/moni-step.ts +42 -8
  233. package/src/components/moni-stepper.ts +43 -5
  234. package/src/components/moni-switch.ts +106 -13
  235. package/src/components/moni-tab.ts +35 -7
  236. package/src/components/moni-tabs.ts +49 -10
  237. package/src/components/moni-text-field.ts +55 -9
  238. package/src/components/moni-textarea.ts +49 -18
  239. package/src/components/moni-time-picker.ts +41 -10
  240. package/src/components/moni-toolbar.ts +43 -14
  241. package/src/components/moni-tooltip.ts +55 -24
  242. package/src/components/moni-typography.ts +43 -17
  243. package/src/index.ts +67 -3
  244. package/src/styles/tailwind.css +67 -0
  245. package/src/styles/tokens.css +111 -99
  246. package/src/types/svelte-runes.d.ts +64 -2
  247. package/src/utils/color.ts +286 -5
  248. package/src/utils/theme.svelte.ts +411 -2
  249. package/src/web-components.ts +31 -2
  250. package/dist/assets/shapes/arch.svg +0 -1
  251. package/dist/assets/shapes/arrow.svg +0 -1
  252. package/dist/assets/shapes/boom.svg +0 -1
  253. package/dist/assets/shapes/burst.svg +0 -1
  254. package/dist/assets/shapes/circle.svg +0 -1
  255. package/dist/assets/shapes/clamshell.svg +0 -1
  256. package/dist/assets/shapes/diamond.svg +0 -1
  257. package/dist/assets/shapes/fan.svg +0 -1
  258. package/dist/assets/shapes/flower.svg +0 -1
  259. package/dist/assets/shapes/gem.svg +0 -1
  260. package/dist/assets/shapes/ghost-ish.svg +0 -1
  261. package/dist/assets/shapes/heart.svg +0 -1
  262. package/dist/assets/shapes/leaf-clover4.svg +0 -1
  263. package/dist/assets/shapes/leaf-clover8.svg +0 -1
  264. package/dist/assets/shapes/loading-indicator.svg +0 -1
  265. package/dist/assets/shapes/oval.svg +0 -1
  266. package/dist/assets/shapes/pentagon.svg +0 -1
  267. package/dist/assets/shapes/pill.svg +0 -1
  268. package/dist/assets/shapes/pixel-circle.svg +0 -1
  269. package/dist/assets/shapes/pixel-triangle.svg +0 -1
  270. package/dist/assets/shapes/puffy-diamond.svg +0 -1
  271. package/dist/assets/shapes/puffy.svg +0 -1
  272. package/dist/assets/shapes/semicircle.svg +0 -1
  273. package/dist/assets/shapes/sided-cookie12.svg +0 -1
  274. package/dist/assets/shapes/sided-cookie4.svg +0 -1
  275. package/dist/assets/shapes/sided-cookie6.svg +0 -1
  276. package/dist/assets/shapes/sided-cookie7.svg +0 -1
  277. package/dist/assets/shapes/sided-cookie9.svg +0 -1
  278. package/dist/assets/shapes/slanted.svg +0 -1
  279. package/dist/assets/shapes/soft-boom.svg +0 -1
  280. package/dist/assets/shapes/soft-burst.svg +0 -1
  281. package/dist/assets/shapes/square.svg +0 -1
  282. package/dist/assets/shapes/sunny.svg +0 -1
  283. package/dist/assets/shapes/triangle.svg +0 -1
  284. package/dist/assets/shapes/very-sunny.svg +0 -1
  285. package/dist/assets/shapes/wavy-circle.svg +0 -1
  286. package/dist/assets/shapes/wavy.svg +0 -1
  287. package/src/assets/shapes/arch.svg +0 -1
  288. package/src/assets/shapes/arrow.svg +0 -1
  289. package/src/assets/shapes/boom.svg +0 -1
  290. package/src/assets/shapes/burst.svg +0 -1
  291. package/src/assets/shapes/circle.svg +0 -1
  292. package/src/assets/shapes/clamshell.svg +0 -1
  293. package/src/assets/shapes/diamond.svg +0 -1
  294. package/src/assets/shapes/fan.svg +0 -1
  295. package/src/assets/shapes/flower.svg +0 -1
  296. package/src/assets/shapes/gem.svg +0 -1
  297. package/src/assets/shapes/ghost-ish.svg +0 -1
  298. package/src/assets/shapes/heart.svg +0 -1
  299. package/src/assets/shapes/leaf-clover4.svg +0 -1
  300. package/src/assets/shapes/leaf-clover8.svg +0 -1
  301. package/src/assets/shapes/loading-indicator.svg +0 -1
  302. package/src/assets/shapes/oval.svg +0 -1
  303. package/src/assets/shapes/pentagon.svg +0 -1
  304. package/src/assets/shapes/pill.svg +0 -1
  305. package/src/assets/shapes/pixel-circle.svg +0 -1
  306. package/src/assets/shapes/pixel-triangle.svg +0 -1
  307. package/src/assets/shapes/puffy-diamond.svg +0 -1
  308. package/src/assets/shapes/puffy.svg +0 -1
  309. package/src/assets/shapes/semicircle.svg +0 -1
  310. package/src/assets/shapes/sided-cookie12.svg +0 -1
  311. package/src/assets/shapes/sided-cookie4.svg +0 -1
  312. package/src/assets/shapes/sided-cookie6.svg +0 -1
  313. package/src/assets/shapes/sided-cookie7.svg +0 -1
  314. package/src/assets/shapes/sided-cookie9.svg +0 -1
  315. package/src/assets/shapes/slanted.svg +0 -1
  316. package/src/assets/shapes/soft-boom.svg +0 -1
  317. package/src/assets/shapes/soft-burst.svg +0 -1
  318. package/src/assets/shapes/square.svg +0 -1
  319. package/src/assets/shapes/sunny.svg +0 -1
  320. package/src/assets/shapes/triangle.svg +0 -1
  321. package/src/assets/shapes/very-sunny.svg +0 -1
  322. package/src/assets/shapes/wavy-circle.svg +0 -1
  323. package/src/assets/shapes/wavy.svg +0 -1
package/README.md CHANGED
@@ -1,53 +1,45 @@
1
- # @moni-labs/moni-ui 🎨
1
+ # Moni UI 🎨
2
2
 
3
- > Sistema de diseño unificado, responsivo y de alto rendimiento para Moni. Basado en **Material Design 3 Expressive**, diseñado específicamente para ser mobile-first, accesible y con animaciones de nivel premium.
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 listos para producción, 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**.
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**: Diseñado desde las bases para funcionar perfectamente en pantallas táctiles y móviles, cumpliendo con las pautas de accesibilidad y objetivos de toque mínimos de 48dp.
12
- - 🎨 **Material Design 3 Expressive**: Implementación fiel de los principios de diseño de Google M3 con extensiones expresivas de la marca Moni (esquinas asimétricas, formas combinadas, y animaciones de morphing).
13
- - 🧩 **Web Components Nativos**: Basados en Lit, ligeros, encapsulados mediante Shadow DOM y compatibles con cualquier framework o HTML plano.
14
- - 🌈 **Motor de Temas Dinámico**: Generación inteligente de esquemas de color armónicos HCT utilizando las utilidades de color oficiales de Material Design (`@material/material-color-utilities`).
15
- - 🏃‍♂️ **Animaciones de Alto Rendimiento**: Core de transiciones y gestos inerciales premium impulsado por **GSAP**.
16
- - 🛠️ **Integración de Svelte 5**: Utilidades reactivas con *Runes* para controlar dinámicamente la densidad, fuentes, bordes y modos claro/oscuro.
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 `@moni-labs/moni-ui` y sus dependencias en tu proyecto:
22
+ Instala el paquete y sus dependencias de desarrollo recomendadas:
23
23
 
24
24
  ```bash
25
- npm install @moni-labs/moni-ui svelte tailwindcss
25
+ npm install @moni-labs/moni-ui
26
26
  # O con bun
27
- bun add @moni-labs/moni-ui svelte tailwindcss
27
+ bun add @moni-labs/moni-ui
28
28
  ```
29
29
 
30
30
  ---
31
31
 
32
- ## Uso Básico 🚀
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
- O si solo deseas registrar los componentes web sin importar utilidades adicionales de Svelte:
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 Detallada de Componentes Clave 🧩
50
+ ## Guía del Componente Core: Botón Expresivo (`<moni-button>`) 🧩
59
51
 
60
- ### 1. Botón Expresivo (`<moni-button>`)
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 líder -->
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
- <!-- Botón de selección con morph de bordes activo (round ↔ square) -->
71
- <moni-button variant="tonal" shape="round" active>
72
- Seleccionado
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
- #### Atributos Clave:
77
- - `variant`: `filled` (por defecto) | `tonal` | `elevated` | `outlined` | `text` | `fill`.
78
- - `size`: `xsmall` | `small` | `medium` | `large` | `xlarge`.
79
- - `shape`: `round` | `square` | `circle` | `no-round` | `left-round` | `right-round` | `left-round-flat` (variante plana de marca), etc.
80
- - `active`: Aplica el estado de toggle y el morphing asimétrico de bordes.
81
- - `loading`: Reemplaza el icono por un indicador de carga circular indeterminado.
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
- ### 3. Selector con Categorías (`<moni-select>`)
79
+ ## Integraciones Avanzadas 🎨
115
80
 
116
- Componente de selección avanzado que soporta búsqueda difusa y categorías anidadas en cascada. En pantallas pequeñas, se adapta automáticamente como un Drawer/Sheet inferior.
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
- ```html
119
- <moni-select label="Elige una opción" searchable clearable>
120
- <moni-select-option value="chile" group="Sudamérica">Chile</moni-select-option>
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
- <!-- Aplica una máscara en forma de corazón al elemento -->
135
- <moni-shape type="heart" size="large" border shadow>
136
- <img src="user-profile.jpg" alt="Foto perfil" />
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
- #### Tipos de Forma Disponibles (`type`):
144
- - **Genéricos**: `square`, `rounded`, `circle`, `top-round`, `bottom-round`, `left-round`, `right-round`.
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
- <moni-button>Componente Tematizado</moni-button>
181
- </main>
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
- # Ejecutar pruebas en modo observador
226
- bun run test:watch
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
- ## Guía de Publicación a NPM y GitHub 🚀
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
- ### 2. Publicación en NPM
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