@moni-labs/moni-ui 0.4.5 → 0.4.7

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 (809) hide show
  1. package/custom-elements.json +181 -1
  2. package/dist/browser/moni-ui.iife.min.js +299 -275
  3. package/dist/browser/moni-ui.iife.min.js.br +0 -0
  4. package/dist/browser/moni-ui.iife.min.js.gz +0 -0
  5. package/dist/browser/moni-ui.iife.min.js.map +1 -1
  6. package/dist/browser/moni-ui.min.js +1493 -1377
  7. package/dist/browser/moni-ui.min.js.br +0 -0
  8. package/dist/browser/moni-ui.min.js.gz +0 -0
  9. package/dist/browser/moni-ui.min.js.map +1 -1
  10. package/dist/cdn/components/moni-color-field.js +10 -6
  11. package/dist/cdn/components/moni-nav.js +5 -5
  12. package/dist/cdn/components/moni-select.js +5 -3
  13. package/dist/cdn/components/moni-stepper.js +1 -1
  14. package/dist/cdn/components/moni-text-field.js +14 -2
  15. package/dist/cdn/components/moni-textarea.js +8 -2
  16. package/dist/cdn/importmap.json +98 -98
  17. package/dist/components/moni-color-field.d.ts +19 -0
  18. package/dist/components/moni-color-field.d.ts.map +1 -1
  19. package/dist/components/moni-color-field.js +44 -2
  20. package/dist/components/moni-morph-modal.js +1 -1
  21. package/dist/components/moni-nav.d.ts.map +1 -1
  22. package/dist/components/moni-nav.js +4 -3
  23. package/dist/components/moni-select-option.d.ts.map +1 -1
  24. package/dist/components/moni-select-option.js +19 -0
  25. package/dist/components/moni-select.d.ts +28 -0
  26. package/dist/components/moni-select.d.ts.map +1 -1
  27. package/dist/components/moni-select.js +50 -0
  28. package/dist/components/moni-stepper.d.ts.map +1 -1
  29. package/dist/components/moni-stepper.js +4 -0
  30. package/dist/components/moni-text-field.d.ts +45 -2
  31. package/dist/components/moni-text-field.d.ts.map +1 -1
  32. package/dist/components/moni-text-field.js +115 -1
  33. package/dist/components/moni-textarea.d.ts +27 -0
  34. package/dist/components/moni-textarea.d.ts.map +1 -1
  35. package/dist/components/moni-textarea.js +63 -0
  36. package/docs/api.json +178 -5
  37. package/docs/assets/moni-app-bar/elevated--false.png +0 -0
  38. package/docs/assets/moni-app-bar/elevated--true.png +0 -0
  39. package/docs/assets/moni-app-bar/placement--bottom.png +0 -0
  40. package/docs/assets/moni-app-bar/placement--top.png +0 -0
  41. package/docs/assets/moni-app-bar/size--default.png +0 -0
  42. package/docs/assets/moni-app-bar/size--prominent.png +0 -0
  43. package/docs/assets/moni-app-bar/subtitle--default.png +0 -0
  44. package/docs/assets/moni-app-bar/title--default.png +0 -0
  45. package/docs/assets/moni-app-bar/variant--floating.png +0 -0
  46. package/docs/assets/moni-app-bar/variant--standard.png +0 -0
  47. package/docs/assets/moni-badge/border--false.png +0 -0
  48. package/docs/assets/moni-badge/border--true.png +0 -0
  49. package/docs/assets/moni-badge/color--error.png +0 -0
  50. package/docs/assets/moni-badge/color--primary.png +0 -0
  51. package/docs/assets/moni-badge/color--secondary.png +0 -0
  52. package/docs/assets/moni-badge/color--tertiary.png +0 -0
  53. package/docs/assets/moni-badge/inline--false.png +0 -0
  54. package/docs/assets/moni-badge/inline--true.png +0 -0
  55. package/docs/assets/moni-badge/position--bottom.png +0 -0
  56. package/docs/assets/moni-badge/position--empty.png +0 -0
  57. package/docs/assets/moni-badge/position--left.png +0 -0
  58. package/docs/assets/moni-badge/position--none.png +0 -0
  59. package/docs/assets/moni-badge/position--right.png +0 -0
  60. package/docs/assets/moni-badge/position--top.png +0 -0
  61. package/docs/assets/moni-badge/shape--circle.png +0 -0
  62. package/docs/assets/moni-badge/shape--empty.png +0 -0
  63. package/docs/assets/moni-badge/shape--min.png +0 -0
  64. package/docs/assets/moni-badge/shape--square.png +0 -0
  65. package/docs/assets/moni-badge/value--default.png +0 -0
  66. package/docs/assets/moni-bottom-sheet/expandedHeight--default.png +0 -0
  67. package/docs/assets/moni-bottom-sheet/handle--false.png +0 -0
  68. package/docs/assets/moni-bottom-sheet/handle--true.png +0 -0
  69. package/docs/assets/moni-bottom-sheet/maxWidth--default.png +0 -0
  70. package/docs/assets/moni-bottom-sheet/modal--false.png +0 -0
  71. package/docs/assets/moni-bottom-sheet/modal--true.png +0 -0
  72. package/docs/assets/moni-bottom-sheet/open--true.png +0 -0
  73. package/docs/assets/moni-bottom-sheet/positioning--absolute.png +0 -0
  74. package/docs/assets/moni-bottom-sheet/positioning--body.png +0 -0
  75. package/docs/assets/moni-bottom-sheet/positioning--fixed.png +0 -0
  76. package/docs/assets/moni-bottom-sheet/positioning--static.png +0 -0
  77. package/docs/assets/moni-bottom-sheet/size--auto.png +0 -0
  78. package/docs/assets/moni-bottom-sheet/size--large.png +0 -0
  79. package/docs/assets/moni-bottom-sheet/size--medium.png +0 -0
  80. package/docs/assets/moni-bottom-sheet/size--small.png +0 -0
  81. package/docs/assets/moni-bottom-sheet/title--default.png +0 -0
  82. package/docs/assets/moni-button/active--false.png +0 -0
  83. package/docs/assets/moni-button/active--true.png +0 -0
  84. package/docs/assets/moni-button/disabled--false.png +0 -0
  85. package/docs/assets/moni-button/disabled--true.png +0 -0
  86. package/docs/assets/moni-button/href--default.png +0 -0
  87. package/docs/assets/moni-button/icon--default.png +0 -0
  88. package/docs/assets/moni-button/iconTrailing--default.png +0 -0
  89. package/docs/assets/moni-button/loading--false.png +0 -0
  90. package/docs/assets/moni-button/loading--true.png +0 -0
  91. package/docs/assets/moni-button/shape--bottom-round-flat.png +0 -0
  92. package/docs/assets/moni-button/shape--bottom-round.png +0 -0
  93. package/docs/assets/moni-button/shape--circle.png +0 -0
  94. package/docs/assets/moni-button/shape--inner-round.png +0 -0
  95. package/docs/assets/moni-button/shape--left-round-flat.png +0 -0
  96. package/docs/assets/moni-button/shape--left-round.png +0 -0
  97. package/docs/assets/moni-button/shape--no-round.png +0 -0
  98. package/docs/assets/moni-button/shape--right-round-flat.png +0 -0
  99. package/docs/assets/moni-button/shape--right-round.png +0 -0
  100. package/docs/assets/moni-button/shape--round.png +0 -0
  101. package/docs/assets/moni-button/shape--square.png +0 -0
  102. package/docs/assets/moni-button/shape--top-round-flat.png +0 -0
  103. package/docs/assets/moni-button/shape--top-round.png +0 -0
  104. package/docs/assets/moni-button/size--extra.png +0 -0
  105. package/docs/assets/moni-button/size--large.png +0 -0
  106. package/docs/assets/moni-button/size--medium.png +0 -0
  107. package/docs/assets/moni-button/size--small.png +0 -0
  108. package/docs/assets/moni-button/size--xlarge.png +0 -0
  109. package/docs/assets/moni-button/size--xsmall.png +0 -0
  110. package/docs/assets/moni-button/type--button.png +0 -0
  111. package/docs/assets/moni-button/type--reset.png +0 -0
  112. package/docs/assets/moni-button/type--submit.png +0 -0
  113. package/docs/assets/moni-button/variant--elevated.png +0 -0
  114. package/docs/assets/moni-button/variant--error.png +0 -0
  115. package/docs/assets/moni-button/variant--fill.png +0 -0
  116. package/docs/assets/moni-button/variant--filled.png +0 -0
  117. package/docs/assets/moni-button/variant--outlined.png +0 -0
  118. package/docs/assets/moni-button/variant--text.png +0 -0
  119. package/docs/assets/moni-button/variant--tonal.png +0 -0
  120. package/docs/assets/moni-button-group/gap--default.png +0 -0
  121. package/docs/assets/moni-button-group/label--default.png +0 -0
  122. package/docs/assets/moni-button-group/labelledBy--default.png +0 -0
  123. package/docs/assets/moni-button-group/multi--false.png +0 -0
  124. package/docs/assets/moni-button-group/multi--true.png +0 -0
  125. package/docs/assets/moni-button-group/resizing--fixed.png +0 -0
  126. package/docs/assets/moni-button-group/resizing--flexible.png +0 -0
  127. package/docs/assets/moni-button-group/role--group.png +0 -0
  128. package/docs/assets/moni-button-group/role--radiogroup.png +0 -0
  129. package/docs/assets/moni-button-group/role--toolbar.png +0 -0
  130. package/docs/assets/moni-button-group/selectionRequired--false.png +0 -0
  131. package/docs/assets/moni-button-group/selectionRequired--true.png +0 -0
  132. package/docs/assets/moni-button-group/shape--round.png +0 -0
  133. package/docs/assets/moni-button-group/shape--square.png +0 -0
  134. package/docs/assets/moni-button-group/size--extra.png +0 -0
  135. package/docs/assets/moni-button-group/size--large.png +0 -0
  136. package/docs/assets/moni-button-group/size--medium.png +0 -0
  137. package/docs/assets/moni-button-group/size--small.png +0 -0
  138. package/docs/assets/moni-button-group/size--xlarge.png +0 -0
  139. package/docs/assets/moni-button-group/size--xsmall.png +0 -0
  140. package/docs/assets/moni-button-group/variant--connected.png +0 -0
  141. package/docs/assets/moni-button-group/variant--standard.png +0 -0
  142. package/docs/assets/moni-button-segment/checked--false.png +0 -0
  143. package/docs/assets/moni-button-segment/checked--true.png +0 -0
  144. package/docs/assets/moni-button-segment/disabled--false.png +0 -0
  145. package/docs/assets/moni-button-segment/disabled--true.png +0 -0
  146. package/docs/assets/moni-button-segment/hideCheck--false.png +0 -0
  147. package/docs/assets/moni-button-segment/hideCheck--true.png +0 -0
  148. package/docs/assets/moni-button-segment/position--first.png +0 -0
  149. package/docs/assets/moni-button-segment/position--last.png +0 -0
  150. package/docs/assets/moni-button-segment/position--middle.png +0 -0
  151. package/docs/assets/moni-button-segment/position--solo.png +0 -0
  152. package/docs/assets/moni-button-segment/size--extra.png +0 -0
  153. package/docs/assets/moni-button-segment/size--large.png +0 -0
  154. package/docs/assets/moni-button-segment/size--medium.png +0 -0
  155. package/docs/assets/moni-button-segment/size--small.png +0 -0
  156. package/docs/assets/moni-button-segment/size--xlarge.png +0 -0
  157. package/docs/assets/moni-button-segment/size--xsmall.png +0 -0
  158. package/docs/assets/moni-button-segment/value--default.png +0 -0
  159. package/docs/assets/moni-card/clickable--false.png +0 -0
  160. package/docs/assets/moni-card/clickable--true.png +0 -0
  161. package/docs/assets/moni-card/disabled--false.png +0 -0
  162. package/docs/assets/moni-card/disabled--true.png +0 -0
  163. package/docs/assets/moni-card/draggable--false.png +0 -0
  164. package/docs/assets/moni-card/draggable--true.png +0 -0
  165. package/docs/assets/moni-card/variant--elevated.png +0 -0
  166. package/docs/assets/moni-card/variant--filled.png +0 -0
  167. package/docs/assets/moni-card/variant--outlined.png +0 -0
  168. package/docs/assets/moni-carousel/auto--false.png +0 -0
  169. package/docs/assets/moni-carousel/auto--true.png +0 -0
  170. package/docs/assets/moni-carousel/autoplay--false.png +0 -0
  171. package/docs/assets/moni-carousel/autoplay--true.png +0 -0
  172. package/docs/assets/moni-carousel/autoplayInterval--default.png +0 -0
  173. package/docs/assets/moni-carousel/borderRadius--default.png +0 -0
  174. package/docs/assets/moni-carousel/gap--default.png +0 -0
  175. package/docs/assets/moni-carousel/headerText--default.png +0 -0
  176. package/docs/assets/moni-carousel/hideNav--false.png +0 -0
  177. package/docs/assets/moni-carousel/hideNav--true.png +0 -0
  178. package/docs/assets/moni-carousel/infinite--false.png +0 -0
  179. package/docs/assets/moni-carousel/infinite--true.png +0 -0
  180. package/docs/assets/moni-carousel/items--default.png +0 -0
  181. package/docs/assets/moni-carousel/largeWidth--default.png +0 -0
  182. package/docs/assets/moni-carousel/layout--hero.png +0 -0
  183. package/docs/assets/moni-carousel/layout--multi-browse.png +0 -0
  184. package/docs/assets/moni-carousel/layout--uncontained.png +0 -0
  185. package/docs/assets/moni-carousel/mediumWidth--default.png +0 -0
  186. package/docs/assets/moni-carousel/padding--default.png +0 -0
  187. package/docs/assets/moni-carousel/showAll--false.png +0 -0
  188. package/docs/assets/moni-carousel/showAll--true.png +0 -0
  189. package/docs/assets/moni-carousel/showAllText--default.png +0 -0
  190. package/docs/assets/moni-carousel/smallWidth--default.png +0 -0
  191. package/docs/assets/moni-checkbox/checked--false.png +0 -0
  192. package/docs/assets/moni-checkbox/checked--true.png +0 -0
  193. package/docs/assets/moni-checkbox/checkedIcon--default.png +0 -0
  194. package/docs/assets/moni-checkbox/disabled--false.png +0 -0
  195. package/docs/assets/moni-checkbox/disabled--true.png +0 -0
  196. package/docs/assets/moni-checkbox/label--default.png +0 -0
  197. package/docs/assets/moni-checkbox/name--default.png +0 -0
  198. package/docs/assets/moni-checkbox/size--extra.png +0 -0
  199. package/docs/assets/moni-checkbox/size--large.png +0 -0
  200. package/docs/assets/moni-checkbox/size--medium.png +0 -0
  201. package/docs/assets/moni-checkbox/size--small.png +0 -0
  202. package/docs/assets/moni-checkbox/uncheckedIcon--default.png +0 -0
  203. package/docs/assets/moni-checkbox/value--default.png +0 -0
  204. package/docs/assets/moni-chip/disabled--false.png +0 -0
  205. package/docs/assets/moni-chip/disabled--true.png +0 -0
  206. package/docs/assets/moni-chip/icon--default.png +0 -0
  207. package/docs/assets/moni-chip/loading--false.png +0 -0
  208. package/docs/assets/moni-chip/loading--true.png +0 -0
  209. package/docs/assets/moni-chip/removable--false.png +0 -0
  210. package/docs/assets/moni-chip/removable--true.png +0 -0
  211. package/docs/assets/moni-chip/selected--false.png +0 -0
  212. package/docs/assets/moni-chip/selected--true.png +0 -0
  213. package/docs/assets/moni-chip/shape--bottom-round.png +0 -0
  214. package/docs/assets/moni-chip/shape--circle.png +0 -0
  215. package/docs/assets/moni-chip/shape--left-round.png +0 -0
  216. package/docs/assets/moni-chip/shape--no-round.png +0 -0
  217. package/docs/assets/moni-chip/shape--right-round.png +0 -0
  218. package/docs/assets/moni-chip/shape--round.png +0 -0
  219. package/docs/assets/moni-chip/shape--square.png +0 -0
  220. package/docs/assets/moni-chip/shape--top-round.png +0 -0
  221. package/docs/assets/moni-chip/size--large.png +0 -0
  222. package/docs/assets/moni-chip/size--medium.png +0 -0
  223. package/docs/assets/moni-chip/size--small.png +0 -0
  224. package/docs/assets/moni-chip/variant--assist.png +0 -0
  225. package/docs/assets/moni-chip/variant--fill.png +0 -0
  226. package/docs/assets/moni-chip/variant--filter.png +0 -0
  227. package/docs/assets/moni-chip/variant--input.png +0 -0
  228. package/docs/assets/moni-chip/variant--outlined.png +0 -0
  229. package/docs/assets/moni-chip/variant--suggestion.png +0 -0
  230. package/docs/assets/moni-color-field/disabled--false.png +0 -0
  231. package/docs/assets/moni-color-field/disabled--true.png +0 -0
  232. package/docs/assets/moni-color-field/error--false.png +0 -0
  233. package/docs/assets/moni-color-field/error--true.png +0 -0
  234. package/docs/assets/moni-color-field/errorText--default.png +0 -0
  235. package/docs/assets/moni-color-field/helper--default.png +0 -0
  236. package/docs/assets/moni-color-field/label--default.png +0 -0
  237. package/docs/assets/moni-color-field/name--default.png +0 -0
  238. package/docs/assets/moni-color-field/shape--no-round.png +0 -0
  239. package/docs/assets/moni-color-field/shape--round.png +0 -0
  240. package/docs/assets/moni-color-field/shape--square.png +0 -0
  241. package/docs/assets/moni-color-field/size--extra.png +0 -0
  242. package/docs/assets/moni-color-field/size--large.png +0 -0
  243. package/docs/assets/moni-color-field/size--medium.png +0 -0
  244. package/docs/assets/moni-color-field/size--small.png +0 -0
  245. package/docs/assets/moni-color-field/value--default.png +0 -0
  246. package/docs/assets/moni-color-field/variant--filled.png +0 -0
  247. package/docs/assets/moni-color-field/variant--outlined.png +0 -0
  248. package/docs/assets/moni-context-menu/flip--false.png +0 -0
  249. package/docs/assets/moni-context-menu/flip--true.png +0 -0
  250. package/docs/assets/moni-context-menu/placement--bottom.png +0 -0
  251. package/docs/assets/moni-context-menu/placement--left.png +0 -0
  252. package/docs/assets/moni-context-menu/placement--right.png +0 -0
  253. package/docs/assets/moni-context-menu/placement--top.png +0 -0
  254. package/docs/assets/moni-dialog/modal--false.png +0 -0
  255. package/docs/assets/moni-dialog/modal--true.png +0 -0
  256. package/docs/assets/moni-dialog/open--true.png +0 -0
  257. package/docs/assets/moni-dialog/side--bottom.png +0 -0
  258. package/docs/assets/moni-dialog/side--center.png +0 -0
  259. package/docs/assets/moni-dialog/side--left.png +0 -0
  260. package/docs/assets/moni-dialog/side--max.png +0 -0
  261. package/docs/assets/moni-dialog/side--right.png +0 -0
  262. package/docs/assets/moni-dialog/side--top.png +0 -0
  263. package/docs/assets/moni-dialog/size--large.png +0 -0
  264. package/docs/assets/moni-dialog/size--medium.png +0 -0
  265. package/docs/assets/moni-dialog/size--small.png +0 -0
  266. package/docs/assets/moni-dialog/title--default.png +0 -0
  267. package/docs/assets/moni-divider/inset--leading.png +0 -0
  268. package/docs/assets/moni-divider/inset--middle.png +0 -0
  269. package/docs/assets/moni-divider/inset--none.png +0 -0
  270. package/docs/assets/moni-expansion/open--false.png +0 -0
  271. package/docs/assets/moni-expansion/open--true.png +0 -0
  272. package/docs/assets/moni-expansion/title--default.png +0 -0
  273. package/docs/assets/moni-fab/accessibleLabel--default.png +0 -0
  274. package/docs/assets/moni-fab/color--default.png +0 -0
  275. package/docs/assets/moni-fab/disabled--false.png +0 -0
  276. package/docs/assets/moni-fab/disabled--true.png +0 -0
  277. package/docs/assets/moni-fab/expanded--false.png +0 -0
  278. package/docs/assets/moni-fab/expanded--true.png +0 -0
  279. package/docs/assets/moni-fab/extended--false.png +0 -0
  280. package/docs/assets/moni-fab/extended--true.png +0 -0
  281. package/docs/assets/moni-fab/icon--default.png +0 -0
  282. package/docs/assets/moni-fab/label--default.png +0 -0
  283. package/docs/assets/moni-fab/name--default.png +0 -0
  284. package/docs/assets/moni-fab/position--default.png +0 -0
  285. package/docs/assets/moni-fab/shape--circle.png +0 -0
  286. package/docs/assets/moni-fab/shape--rounded.png +0 -0
  287. package/docs/assets/moni-fab/size--default.png +0 -0
  288. package/docs/assets/moni-fab/type--button.png +0 -0
  289. package/docs/assets/moni-fab/type--reset.png +0 -0
  290. package/docs/assets/moni-fab/type--submit.png +0 -0
  291. package/docs/assets/moni-fab/value--default.png +0 -0
  292. package/docs/assets/moni-fab-menu/closeIcon--default.png +0 -0
  293. package/docs/assets/moni-fab-menu/closeLabel--default.png +0 -0
  294. package/docs/assets/moni-fab-menu/color--default.png +0 -0
  295. package/docs/assets/moni-fab-menu/direction--default.png +0 -0
  296. package/docs/assets/moni-fab-menu/disabled--false.png +0 -0
  297. package/docs/assets/moni-fab-menu/disabled--true.png +0 -0
  298. package/docs/assets/moni-fab-menu/icon--default.png +0 -0
  299. package/docs/assets/moni-fab-menu/label--default.png +0 -0
  300. package/docs/assets/moni-fab-menu/open--false.png +0 -0
  301. package/docs/assets/moni-fab-menu/open--true.png +0 -0
  302. package/docs/assets/moni-fab-menu/position--default.png +0 -0
  303. package/docs/assets/moni-fab-menu/shape--circle.png +0 -0
  304. package/docs/assets/moni-fab-menu/shape--rounded.png +0 -0
  305. package/docs/assets/moni-fab-menu/size--default.png +0 -0
  306. package/docs/assets/moni-file-field/accept--default.png +0 -0
  307. package/docs/assets/moni-file-field/buttonLabel--default.png +0 -0
  308. package/docs/assets/moni-file-field/disabled--false.png +0 -0
  309. package/docs/assets/moni-file-field/disabled--true.png +0 -0
  310. package/docs/assets/moni-file-field/error--false.png +0 -0
  311. package/docs/assets/moni-file-field/error--true.png +0 -0
  312. package/docs/assets/moni-file-field/errorText--default.png +0 -0
  313. package/docs/assets/moni-file-field/helper--default.png +0 -0
  314. package/docs/assets/moni-file-field/icon--default.png +0 -0
  315. package/docs/assets/moni-file-field/label--default.png +0 -0
  316. package/docs/assets/moni-file-field/multiple--false.png +0 -0
  317. package/docs/assets/moni-file-field/multiple--true.png +0 -0
  318. package/docs/assets/moni-file-field/name--default.png +0 -0
  319. package/docs/assets/moni-file-field/shape--no-round.png +0 -0
  320. package/docs/assets/moni-file-field/shape--round.png +0 -0
  321. package/docs/assets/moni-file-field/shape--square.png +0 -0
  322. package/docs/assets/moni-file-field/size--extra.png +0 -0
  323. package/docs/assets/moni-file-field/size--large.png +0 -0
  324. package/docs/assets/moni-file-field/size--medium.png +0 -0
  325. package/docs/assets/moni-file-field/size--small.png +0 -0
  326. package/docs/assets/moni-file-field/trailingIcon--default.png +0 -0
  327. package/docs/assets/moni-file-field/value--default.png +0 -0
  328. package/docs/assets/moni-file-field/variant--filled.png +0 -0
  329. package/docs/assets/moni-file-field/variant--outlined.png +0 -0
  330. package/docs/assets/moni-icon/filled--false.png +0 -0
  331. package/docs/assets/moni-icon/filled--true.png +0 -0
  332. package/docs/assets/moni-icon/name--default.png +0 -0
  333. package/docs/assets/moni-icon/size--extra.png +0 -0
  334. package/docs/assets/moni-icon/size--large.png +0 -0
  335. package/docs/assets/moni-icon/size--medium.png +0 -0
  336. package/docs/assets/moni-icon/size--small.png +0 -0
  337. package/docs/assets/moni-icon/size--tiny.png +0 -0
  338. package/docs/assets/moni-list/rounded--false.png +0 -0
  339. package/docs/assets/moni-list/rounded--true.png +0 -0
  340. package/docs/assets/moni-list/variant--border.png +0 -0
  341. package/docs/assets/moni-list/variant--empty.png +0 -0
  342. package/docs/assets/moni-list-item/active--false.png +0 -0
  343. package/docs/assets/moni-list-item/active--true.png +0 -0
  344. package/docs/assets/moni-list-item/avatar--default.png +0 -0
  345. package/docs/assets/moni-list-item/disabled--false.png +0 -0
  346. package/docs/assets/moni-list-item/disabled--true.png +0 -0
  347. package/docs/assets/moni-list-item/href--default.png +0 -0
  348. package/docs/assets/moni-list-item/icon--default.png +0 -0
  349. package/docs/assets/moni-list-item/lines--default.png +0 -0
  350. package/docs/assets/moni-list-item/trailingIcon--default.png +0 -0
  351. package/docs/assets/moni-loading-indicator/variant--contained.png +0 -0
  352. package/docs/assets/moni-loading-indicator/variant--uncontained.png +0 -0
  353. package/docs/assets/moni-menu/active--true.png +0 -0
  354. package/docs/assets/moni-menu/flip--false.png +0 -0
  355. package/docs/assets/moni-menu/flip--true.png +0 -0
  356. package/docs/assets/moni-menu/noWrap--false.png +0 -0
  357. package/docs/assets/moni-menu/noWrap--true.png +0 -0
  358. package/docs/assets/moni-menu/placement--bottom.png +0 -0
  359. package/docs/assets/moni-menu/placement--left.png +0 -0
  360. package/docs/assets/moni-menu/placement--min.png +0 -0
  361. package/docs/assets/moni-menu/placement--right.png +0 -0
  362. package/docs/assets/moni-menu/placement--top.png +0 -0
  363. package/docs/assets/moni-menu/space--extra-space.png +0 -0
  364. package/docs/assets/moni-menu/space--large-space.png +0 -0
  365. package/docs/assets/moni-menu/space--medium-space.png +0 -0
  366. package/docs/assets/moni-menu/space--no-space.png +0 -0
  367. package/docs/assets/moni-menu/space--small-space.png +0 -0
  368. package/docs/assets/moni-menu/space--space.png +0 -0
  369. package/docs/assets/moni-menu-item/active--false.png +0 -0
  370. package/docs/assets/moni-menu-item/active--true.png +0 -0
  371. package/docs/assets/moni-menu-item/disabled--false.png +0 -0
  372. package/docs/assets/moni-menu-item/disabled--true.png +0 -0
  373. package/docs/assets/moni-menu-item/icon--default.png +0 -0
  374. package/docs/assets/moni-menu-item/label--default.png +0 -0
  375. package/docs/assets/moni-morph-modal/autoSize--false.png +0 -0
  376. package/docs/assets/moni-morph-modal/autoSize--true.png +0 -0
  377. package/docs/assets/moni-morph-modal/expandedHeight--default.png +0 -0
  378. package/docs/assets/moni-morph-modal/expandedWidth--default.png +0 -0
  379. package/docs/assets/moni-morph-modal/hasBackdrop--false.png +0 -0
  380. package/docs/assets/moni-morph-modal/hasBackdrop--true.png +0 -0
  381. package/docs/assets/moni-morph-modal/modal--false.png +0 -0
  382. package/docs/assets/moni-morph-modal/modal--true.png +0 -0
  383. package/docs/assets/moni-morph-modal/open--true.png +0 -0
  384. package/docs/assets/moni-morph-modal/placement--default.png +0 -0
  385. package/docs/assets/moni-morph-modal/showCloseButton--false.png +0 -0
  386. package/docs/assets/moni-morph-modal/showCloseButton--true.png +0 -0
  387. package/docs/assets/moni-nav/layout--auto.png +0 -0
  388. package/docs/assets/moni-nav/layout--horizontal.png +0 -0
  389. package/docs/assets/moni-nav/layout--vertical.png +0 -0
  390. package/docs/assets/moni-nav/modal--false.png +0 -0
  391. package/docs/assets/moni-nav/modal--true.png +0 -0
  392. package/docs/assets/moni-nav/open--false.png +0 -0
  393. package/docs/assets/moni-nav/open--true.png +0 -0
  394. package/docs/assets/moni-nav/placement--bottom.png +0 -0
  395. package/docs/assets/moni-nav/placement--left.png +0 -0
  396. package/docs/assets/moni-nav/placement--right.png +0 -0
  397. package/docs/assets/moni-nav/placement--top.png +0 -0
  398. package/docs/assets/moni-nav/variant--drawer.png +0 -0
  399. package/docs/assets/moni-nav/variant--rail.png +0 -0
  400. package/docs/assets/moni-nav-item/active--false.png +0 -0
  401. package/docs/assets/moni-nav-item/active--true.png +0 -0
  402. package/docs/assets/moni-nav-item/href--default.png +0 -0
  403. package/docs/assets/moni-nav-item/icon--default.png +0 -0
  404. package/docs/assets/moni-nav-item/label--default.png +0 -0
  405. package/docs/assets/moni-nav-item/layout--default.png +0 -0
  406. package/docs/assets/moni-nav-item/placement--default.png +0 -0
  407. package/docs/assets/moni-nav-item/variant--default.png +0 -0
  408. package/docs/assets/moni-progress/bufferValue--default.png +0 -0
  409. package/docs/assets/moni-progress/indeterminate--false.png +0 -0
  410. package/docs/assets/moni-progress/indeterminate--true.png +0 -0
  411. package/docs/assets/moni-progress/label--default.png +0 -0
  412. package/docs/assets/moni-progress/max--default.png +0 -0
  413. package/docs/assets/moni-progress/mode--default.png +0 -0
  414. package/docs/assets/moni-progress/size--default.png +0 -0
  415. package/docs/assets/moni-progress/stopIndicator--false.png +0 -0
  416. package/docs/assets/moni-progress/stopIndicator--true.png +0 -0
  417. package/docs/assets/moni-progress/value--default.png +0 -0
  418. package/docs/assets/moni-progress/variant--default.png +0 -0
  419. package/docs/assets/moni-progress/waveTransition--false.png +0 -0
  420. package/docs/assets/moni-progress/waveTransition--true.png +0 -0
  421. package/docs/assets/moni-radio/checked--false.png +0 -0
  422. package/docs/assets/moni-radio/checked--true.png +0 -0
  423. package/docs/assets/moni-radio/checkedIcon--default.png +0 -0
  424. package/docs/assets/moni-radio/disabled--false.png +0 -0
  425. package/docs/assets/moni-radio/disabled--true.png +0 -0
  426. package/docs/assets/moni-radio/iconContainer--circle.png +0 -0
  427. package/docs/assets/moni-radio/iconContainer--none.png +0 -0
  428. package/docs/assets/moni-radio/label--default.png +0 -0
  429. package/docs/assets/moni-radio/name--default.png +0 -0
  430. package/docs/assets/moni-radio/size--extra.png +0 -0
  431. package/docs/assets/moni-radio/size--large.png +0 -0
  432. package/docs/assets/moni-radio/size--medium.png +0 -0
  433. package/docs/assets/moni-radio/size--small.png +0 -0
  434. package/docs/assets/moni-radio/uncheckedIcon--default.png +0 -0
  435. package/docs/assets/moni-radio/value--default.png +0 -0
  436. package/docs/assets/moni-ripple/active--false.png +0 -0
  437. package/docs/assets/moni-ripple/active--true.png +0 -0
  438. package/docs/assets/moni-ripple/color--primary.png +0 -0
  439. package/docs/assets/moni-ripple/color--secondary.png +0 -0
  440. package/docs/assets/moni-ripple/color--surface.png +0 -0
  441. package/docs/assets/moni-ripple/speed--fast.png +0 -0
  442. package/docs/assets/moni-ripple/speed--normal.png +0 -0
  443. package/docs/assets/moni-ripple/speed--slow.png +0 -0
  444. package/docs/assets/moni-ripple/x--default.png +0 -0
  445. package/docs/assets/moni-ripple/y--default.png +0 -0
  446. package/docs/assets/moni-segmented-button/gap--default.png +0 -0
  447. package/docs/assets/moni-segmented-button/hideCheck--false.png +0 -0
  448. package/docs/assets/moni-segmented-button/hideCheck--true.png +0 -0
  449. package/docs/assets/moni-segmented-button/multi--false.png +0 -0
  450. package/docs/assets/moni-segmented-button/multi--true.png +0 -0
  451. package/docs/assets/moni-segmented-button/name--default.png +0 -0
  452. package/docs/assets/moni-segmented-button/size--extra.png +0 -0
  453. package/docs/assets/moni-segmented-button/size--large.png +0 -0
  454. package/docs/assets/moni-segmented-button/size--medium.png +0 -0
  455. package/docs/assets/moni-segmented-button/size--small.png +0 -0
  456. package/docs/assets/moni-segmented-button/size--xlarge.png +0 -0
  457. package/docs/assets/moni-segmented-button/size--xsmall.png +0 -0
  458. package/docs/assets/moni-select/clearable--false.png +0 -0
  459. package/docs/assets/moni-select/clearable--true.png +0 -0
  460. package/docs/assets/moni-select/disabled--false.png +0 -0
  461. package/docs/assets/moni-select/disabled--true.png +0 -0
  462. package/docs/assets/moni-select/dropdownMaxHeight--default.png +0 -0
  463. package/docs/assets/moni-select/dropdownWidth--default.png +0 -0
  464. package/docs/assets/moni-select/error--false.png +0 -0
  465. package/docs/assets/moni-select/error--true.png +0 -0
  466. package/docs/assets/moni-select/errorText--default.png +0 -0
  467. package/docs/assets/moni-select/helper--default.png +0 -0
  468. package/docs/assets/moni-select/icon--default.png +0 -0
  469. package/docs/assets/moni-select/label--default.png +0 -0
  470. package/docs/assets/moni-select/loading--false.png +0 -0
  471. package/docs/assets/moni-select/loading--true.png +0 -0
  472. package/docs/assets/moni-select/name--default.png +0 -0
  473. package/docs/assets/moni-select/placeholder--default.png +0 -0
  474. package/docs/assets/moni-select/placement--auto.png +0 -0
  475. package/docs/assets/moni-select/placement--bottom.png +0 -0
  476. package/docs/assets/moni-select/placement--left.png +0 -0
  477. package/docs/assets/moni-select/placement--right.png +0 -0
  478. package/docs/assets/moni-select/placement--top.png +0 -0
  479. package/docs/assets/moni-select/positioning--absolute.png +0 -0
  480. package/docs/assets/moni-select/positioning--body.png +0 -0
  481. package/docs/assets/moni-select/positioning--fixed.png +0 -0
  482. package/docs/assets/moni-select/required--false.png +0 -0
  483. package/docs/assets/moni-select/required--true.png +0 -0
  484. package/docs/assets/moni-select/searchable--false.png +0 -0
  485. package/docs/assets/moni-select/searchable--true.png +0 -0
  486. package/docs/assets/moni-select/shape--no-round.png +0 -0
  487. package/docs/assets/moni-select/shape--round.png +0 -0
  488. package/docs/assets/moni-select/shape--square.png +0 -0
  489. package/docs/assets/moni-select/sheet--false.png +0 -0
  490. package/docs/assets/moni-select/sheet--true.png +0 -0
  491. package/docs/assets/moni-select/size--extra.png +0 -0
  492. package/docs/assets/moni-select/size--large.png +0 -0
  493. package/docs/assets/moni-select/size--medium.png +0 -0
  494. package/docs/assets/moni-select/size--small.png +0 -0
  495. package/docs/assets/moni-select/trailingIcon--default.png +0 -0
  496. package/docs/assets/moni-select/value--default.png +0 -0
  497. package/docs/assets/moni-select/variant--filled.png +0 -0
  498. package/docs/assets/moni-select/variant--outlined.png +0 -0
  499. package/docs/assets/moni-select-option/disabled--false.png +0 -0
  500. package/docs/assets/moni-select-option/disabled--true.png +0 -0
  501. package/docs/assets/moni-select-option/group--default.png +0 -0
  502. package/docs/assets/moni-select-option/label--default.png +0 -0
  503. package/docs/assets/moni-select-option/selected--false.png +0 -0
  504. package/docs/assets/moni-select-option/selected--true.png +0 -0
  505. package/docs/assets/moni-select-option/value--default.png +0 -0
  506. package/docs/assets/moni-shape/border--false.png +0 -0
  507. package/docs/assets/moni-shape/border--true.png +0 -0
  508. package/docs/assets/moni-shape/color--primary.png +0 -0
  509. package/docs/assets/moni-shape/color--secondary.png +0 -0
  510. package/docs/assets/moni-shape/color--surface.png +0 -0
  511. package/docs/assets/moni-shape/color--tertiary.png +0 -0
  512. package/docs/assets/moni-shape/duration--default.png +0 -0
  513. package/docs/assets/moni-shape/easing--default.png +0 -0
  514. package/docs/assets/moni-shape/name--empty.png +0 -0
  515. package/docs/assets/moni-shape/shadow--false.png +0 -0
  516. package/docs/assets/moni-shape/shadow--true.png +0 -0
  517. package/docs/assets/moni-shape/shapeRadius--default.png +0 -0
  518. package/docs/assets/moni-shape/size--extra.png +0 -0
  519. package/docs/assets/moni-shape/size--large.png +0 -0
  520. package/docs/assets/moni-shape/size--medium.png +0 -0
  521. package/docs/assets/moni-shape/size--small.png +0 -0
  522. package/docs/assets/moni-shape/type--default.png +0 -0
  523. package/docs/assets/moni-side-sheet/detached--false.png +0 -0
  524. package/docs/assets/moni-side-sheet/detached--true.png +0 -0
  525. package/docs/assets/moni-side-sheet/expandedWidth--default.png +0 -0
  526. package/docs/assets/moni-side-sheet/hideClose--false.png +0 -0
  527. package/docs/assets/moni-side-sheet/hideClose--true.png +0 -0
  528. package/docs/assets/moni-side-sheet/maxWidth--default.png +0 -0
  529. package/docs/assets/moni-side-sheet/modal--false.png +0 -0
  530. package/docs/assets/moni-side-sheet/modal--true.png +0 -0
  531. package/docs/assets/moni-side-sheet/noBorder--false.png +0 -0
  532. package/docs/assets/moni-side-sheet/noBorder--true.png +0 -0
  533. package/docs/assets/moni-side-sheet/open--true.png +0 -0
  534. package/docs/assets/moni-side-sheet/showBack--false.png +0 -0
  535. package/docs/assets/moni-side-sheet/showBack--true.png +0 -0
  536. package/docs/assets/moni-side-sheet/side--left.png +0 -0
  537. package/docs/assets/moni-side-sheet/side--right.png +0 -0
  538. package/docs/assets/moni-side-sheet/title--default.png +0 -0
  539. package/docs/assets/moni-side-sheet/withHandle--false.png +0 -0
  540. package/docs/assets/moni-side-sheet/withHandle--true.png +0 -0
  541. package/docs/assets/moni-slider/disabled--false.png +0 -0
  542. package/docs/assets/moni-slider/disabled--true.png +0 -0
  543. package/docs/assets/moni-slider/indicator--false.png +0 -0
  544. package/docs/assets/moni-slider/indicator--true.png +0 -0
  545. package/docs/assets/moni-slider/indicatorPlacement--bottom.png +0 -0
  546. package/docs/assets/moni-slider/indicatorPlacement--top.png +0 -0
  547. package/docs/assets/moni-slider/insetIcon--default.png +0 -0
  548. package/docs/assets/moni-slider/isVertical--false.png +0 -0
  549. package/docs/assets/moni-slider/isVertical--true.png +0 -0
  550. package/docs/assets/moni-slider/max--default.png +0 -0
  551. package/docs/assets/moni-slider/min--default.png +0 -0
  552. package/docs/assets/moni-slider/name--default.png +0 -0
  553. package/docs/assets/moni-slider/range--false.png +0 -0
  554. package/docs/assets/moni-slider/range--true.png +0 -0
  555. package/docs/assets/moni-slider/size--extra.png +0 -0
  556. package/docs/assets/moni-slider/size--large.png +0 -0
  557. package/docs/assets/moni-slider/size--medium.png +0 -0
  558. package/docs/assets/moni-slider/size--small.png +0 -0
  559. package/docs/assets/moni-slider/size--tiny.png +0 -0
  560. package/docs/assets/moni-slider/step--default.png +0 -0
  561. package/docs/assets/moni-slider/tickInterval--default.png +0 -0
  562. package/docs/assets/moni-slider/ticks--false.png +0 -0
  563. package/docs/assets/moni-slider/ticks--true.png +0 -0
  564. package/docs/assets/moni-snackbar/action--default.png +0 -0
  565. package/docs/assets/moni-snackbar/active--true.png +0 -0
  566. package/docs/assets/moni-snackbar/maxLines--default.png +0 -0
  567. package/docs/assets/moni-snackbar/placement--bottom.png +0 -0
  568. package/docs/assets/moni-snackbar/placement--top.png +0 -0
  569. package/docs/assets/moni-snackbar/text--default.png +0 -0
  570. package/docs/assets/moni-split-button/gap--default.png +0 -0
  571. package/docs/assets/moni-split-button/size--extra.png +0 -0
  572. package/docs/assets/moni-split-button/size--large.png +0 -0
  573. package/docs/assets/moni-split-button/size--medium.png +0 -0
  574. package/docs/assets/moni-split-button/size--small.png +0 -0
  575. package/docs/assets/moni-split-button/size--xlarge.png +0 -0
  576. package/docs/assets/moni-split-button/size--xsmall.png +0 -0
  577. package/docs/assets/moni-split-button/variant--elevated.png +0 -0
  578. package/docs/assets/moni-split-button/variant--filled.png +0 -0
  579. package/docs/assets/moni-split-button/variant--outlined.png +0 -0
  580. package/docs/assets/moni-split-button/variant--tonal.png +0 -0
  581. package/docs/assets/moni-step/active--false.png +0 -0
  582. package/docs/assets/moni-step/active--true.png +0 -0
  583. package/docs/assets/moni-step/completed--false.png +0 -0
  584. package/docs/assets/moni-step/completed--true.png +0 -0
  585. package/docs/assets/moni-step/description--default.png +0 -0
  586. package/docs/assets/moni-step/icon--default.png +0 -0
  587. package/docs/assets/moni-step/index--default.png +0 -0
  588. package/docs/assets/moni-step/orientation--horizontal.png +0 -0
  589. package/docs/assets/moni-step/orientation--vertical.png +0 -0
  590. package/docs/assets/moni-step/title--default.png +0 -0
  591. package/docs/assets/moni-stepper/current--default.png +0 -0
  592. package/docs/assets/moni-stepper/orientation--horizontal.png +0 -0
  593. package/docs/assets/moni-stepper/orientation--vertical.png +0 -0
  594. package/docs/assets/moni-switch/checked--false.png +0 -0
  595. package/docs/assets/moni-switch/checked--true.png +0 -0
  596. package/docs/assets/moni-switch/checkedIcon--default.png +0 -0
  597. package/docs/assets/moni-switch/disabled--false.png +0 -0
  598. package/docs/assets/moni-switch/disabled--true.png +0 -0
  599. package/docs/assets/moni-switch/icon--false.png +0 -0
  600. package/docs/assets/moni-switch/icon--true.png +0 -0
  601. package/docs/assets/moni-switch/label--default.png +0 -0
  602. package/docs/assets/moni-switch/name--default.png +0 -0
  603. package/docs/assets/moni-switch/uncheckedIcon--default.png +0 -0
  604. package/docs/assets/moni-switch/value--default.png +0 -0
  605. package/docs/assets/moni-tab/active--false.png +0 -0
  606. package/docs/assets/moni-tab/active--true.png +0 -0
  607. package/docs/assets/moni-tab/href--default.png +0 -0
  608. package/docs/assets/moni-tab/icon--default.png +0 -0
  609. package/docs/assets/moni-tab/label--default.png +0 -0
  610. package/docs/assets/moni-tabs/align--center.png +0 -0
  611. package/docs/assets/moni-tabs/align--default.png +0 -0
  612. package/docs/assets/moni-tabs/align--left.png +0 -0
  613. package/docs/assets/moni-tabs/align--right.png +0 -0
  614. package/docs/assets/moni-tabs/indicatorSize--default.png +0 -0
  615. package/docs/assets/moni-tabs/indicatorSize--max.png +0 -0
  616. package/docs/assets/moni-tabs/indicatorSize--min.png +0 -0
  617. package/docs/assets/moni-tabs/mode--primary.png +0 -0
  618. package/docs/assets/moni-tabs/mode--secondary.png +0 -0
  619. package/docs/assets/moni-tabs/scrollable--false.png +0 -0
  620. package/docs/assets/moni-tabs/scrollable--true.png +0 -0
  621. package/docs/assets/moni-tabs/vertical--false.png +0 -0
  622. package/docs/assets/moni-tabs/vertical--true.png +0 -0
  623. package/docs/assets/moni-text-field/autocomplete--default.png +0 -0
  624. package/docs/assets/moni-text-field/disabled--false.png +0 -0
  625. package/docs/assets/moni-text-field/disabled--true.png +0 -0
  626. package/docs/assets/moni-text-field/error--false.png +0 -0
  627. package/docs/assets/moni-text-field/error--true.png +0 -0
  628. package/docs/assets/moni-text-field/errorText--default.png +0 -0
  629. package/docs/assets/moni-text-field/helper--default.png +0 -0
  630. package/docs/assets/moni-text-field/icon--default.png +0 -0
  631. package/docs/assets/moni-text-field/inputmode--default.png +0 -0
  632. package/docs/assets/moni-text-field/label--default.png +0 -0
  633. package/docs/assets/moni-text-field/loading--false.png +0 -0
  634. package/docs/assets/moni-text-field/loading--true.png +0 -0
  635. package/docs/assets/moni-text-field/mask--default.png +0 -0
  636. package/docs/assets/moni-text-field/maskAlias--default.png +0 -0
  637. package/docs/assets/moni-text-field/maskOptions--default.png +0 -0
  638. package/docs/assets/moni-text-field/max--default.png +0 -0
  639. package/docs/assets/moni-text-field/maxlength--default.png +0 -0
  640. package/docs/assets/moni-text-field/min--default.png +0 -0
  641. package/docs/assets/moni-text-field/minlength--default.png +0 -0
  642. package/docs/assets/moni-text-field/name--default.png +0 -0
  643. package/docs/assets/moni-text-field/pattern--default.png +0 -0
  644. package/docs/assets/moni-text-field/placeholder--default.png +0 -0
  645. package/docs/assets/moni-text-field/prefix--default.png +0 -0
  646. package/docs/assets/moni-text-field/readonly--false.png +0 -0
  647. package/docs/assets/moni-text-field/readonly--true.png +0 -0
  648. package/docs/assets/moni-text-field/required--false.png +0 -0
  649. package/docs/assets/moni-text-field/required--true.png +0 -0
  650. package/docs/assets/moni-text-field/shape--no-round.png +0 -0
  651. package/docs/assets/moni-text-field/shape--round.png +0 -0
  652. package/docs/assets/moni-text-field/size--extra.png +0 -0
  653. package/docs/assets/moni-text-field/size--large.png +0 -0
  654. package/docs/assets/moni-text-field/size--medium.png +0 -0
  655. package/docs/assets/moni-text-field/size--small.png +0 -0
  656. package/docs/assets/moni-text-field/step--default.png +0 -0
  657. package/docs/assets/moni-text-field/suffix--default.png +0 -0
  658. package/docs/assets/moni-text-field/suffixButtonIcon--default.png +0 -0
  659. package/docs/assets/moni-text-field/suffixButtonLabel--default.png +0 -0
  660. package/docs/assets/moni-text-field/trailingIcon--default.png +0 -0
  661. package/docs/assets/moni-text-field/type--color.png +0 -0
  662. package/docs/assets/moni-text-field/type--date.png +0 -0
  663. package/docs/assets/moni-text-field/type--datetime-local.png +0 -0
  664. package/docs/assets/moni-text-field/type--email.png +0 -0
  665. package/docs/assets/moni-text-field/type--month.png +0 -0
  666. package/docs/assets/moni-text-field/type--number.png +0 -0
  667. package/docs/assets/moni-text-field/type--password.png +0 -0
  668. package/docs/assets/moni-text-field/type--search.png +0 -0
  669. package/docs/assets/moni-text-field/type--tel.png +0 -0
  670. package/docs/assets/moni-text-field/type--text.png +0 -0
  671. package/docs/assets/moni-text-field/type--time.png +0 -0
  672. package/docs/assets/moni-text-field/type--url.png +0 -0
  673. package/docs/assets/moni-text-field/type--week.png +0 -0
  674. package/docs/assets/moni-text-field/value--default.png +0 -0
  675. package/docs/assets/moni-text-field/variant--filled.png +0 -0
  676. package/docs/assets/moni-text-field/variant--outlined.png +0 -0
  677. package/docs/assets/moni-text-field/variant--underlined.png +0 -0
  678. package/docs/assets/moni-textarea/autocomplete--default.png +0 -0
  679. package/docs/assets/moni-textarea/autosize--false.png +0 -0
  680. package/docs/assets/moni-textarea/autosize--true.png +0 -0
  681. package/docs/assets/moni-textarea/disabled--false.png +0 -0
  682. package/docs/assets/moni-textarea/disabled--true.png +0 -0
  683. package/docs/assets/moni-textarea/error--false.png +0 -0
  684. package/docs/assets/moni-textarea/error--true.png +0 -0
  685. package/docs/assets/moni-textarea/errorText--default.png +0 -0
  686. package/docs/assets/moni-textarea/helper--default.png +0 -0
  687. package/docs/assets/moni-textarea/icon--default.png +0 -0
  688. package/docs/assets/moni-textarea/label--default.png +0 -0
  689. package/docs/assets/moni-textarea/loading--false.png +0 -0
  690. package/docs/assets/moni-textarea/loading--true.png +0 -0
  691. package/docs/assets/moni-textarea/maxRows--default.png +0 -0
  692. package/docs/assets/moni-textarea/maxlength--default.png +0 -0
  693. package/docs/assets/moni-textarea/minlength--default.png +0 -0
  694. package/docs/assets/moni-textarea/name--default.png +0 -0
  695. package/docs/assets/moni-textarea/noCounter--false.png +0 -0
  696. package/docs/assets/moni-textarea/noCounter--true.png +0 -0
  697. package/docs/assets/moni-textarea/placeholder--default.png +0 -0
  698. package/docs/assets/moni-textarea/prefix--default.png +0 -0
  699. package/docs/assets/moni-textarea/readonly--false.png +0 -0
  700. package/docs/assets/moni-textarea/readonly--true.png +0 -0
  701. package/docs/assets/moni-textarea/required--false.png +0 -0
  702. package/docs/assets/moni-textarea/required--true.png +0 -0
  703. package/docs/assets/moni-textarea/rows--default.png +0 -0
  704. package/docs/assets/moni-textarea/shape--no-round.png +0 -0
  705. package/docs/assets/moni-textarea/shape--round.png +0 -0
  706. package/docs/assets/moni-textarea/shape--square.png +0 -0
  707. package/docs/assets/moni-textarea/size--extra.png +0 -0
  708. package/docs/assets/moni-textarea/size--large.png +0 -0
  709. package/docs/assets/moni-textarea/size--medium.png +0 -0
  710. package/docs/assets/moni-textarea/size--small.png +0 -0
  711. package/docs/assets/moni-textarea/suffix--default.png +0 -0
  712. package/docs/assets/moni-textarea/trailingIcon--default.png +0 -0
  713. package/docs/assets/moni-textarea/value--default.png +0 -0
  714. package/docs/assets/moni-textarea/variant--filled.png +0 -0
  715. package/docs/assets/moni-textarea/variant--outlined.png +0 -0
  716. package/docs/assets/moni-time-picker/hideHeadline--false.png +0 -0
  717. package/docs/assets/moni-time-picker/hideHeadline--true.png +0 -0
  718. package/docs/assets/moni-time-picker/hideModeToggle--false.png +0 -0
  719. package/docs/assets/moni-time-picker/hideModeToggle--true.png +0 -0
  720. package/docs/assets/moni-time-picker/hourLabel--default.png +0 -0
  721. package/docs/assets/moni-time-picker/minuteLabel--default.png +0 -0
  722. package/docs/assets/moni-time-picker/mode--dial.png +0 -0
  723. package/docs/assets/moni-time-picker/mode--input.png +0 -0
  724. package/docs/assets/moni-time-picker/orientation--auto.png +0 -0
  725. package/docs/assets/moni-time-picker/orientation--horizontal.png +0 -0
  726. package/docs/assets/moni-time-picker/orientation--vertical.png +0 -0
  727. package/docs/assets/moni-time-picker/use24Hour--false.png +0 -0
  728. package/docs/assets/moni-time-picker/use24Hour--true.png +0 -0
  729. package/docs/assets/moni-time-picker/value--default.png +0 -0
  730. package/docs/assets/moni-toolbar/scrolled--false.png +0 -0
  731. package/docs/assets/moni-toolbar/scrolled--true.png +0 -0
  732. package/docs/assets/moni-toolbar/title--default.png +0 -0
  733. package/docs/assets/moni-toolbar/type--floating.png +0 -0
  734. package/docs/assets/moni-toolbar/type--standard.png +0 -0
  735. package/docs/assets/moni-tooltip/position--bottom-end.png +0 -0
  736. package/docs/assets/moni-tooltip/position--bottom-start.png +0 -0
  737. package/docs/assets/moni-tooltip/position--bottom.png +0 -0
  738. package/docs/assets/moni-tooltip/position--left.png +0 -0
  739. package/docs/assets/moni-tooltip/position--right.png +0 -0
  740. package/docs/assets/moni-tooltip/position--top-end.png +0 -0
  741. package/docs/assets/moni-tooltip/position--top-start.png +0 -0
  742. package/docs/assets/moni-tooltip/position--top.png +0 -0
  743. package/docs/assets/moni-tooltip/rich--false.png +0 -0
  744. package/docs/assets/moni-tooltip/rich--true.png +0 -0
  745. package/docs/assets/moni-tooltip/rotateWithTarget--false.png +0 -0
  746. package/docs/assets/moni-tooltip/rotateWithTarget--true.png +0 -0
  747. package/docs/assets/moni-tooltip/size--empty.png +0 -0
  748. package/docs/assets/moni-tooltip/size--large.png +0 -0
  749. package/docs/assets/moni-tooltip/size--medium.png +0 -0
  750. package/docs/assets/moni-tooltip/size--small.png +0 -0
  751. package/docs/assets/moni-tooltip/text--default.png +0 -0
  752. package/docs/assets/moni-typography/as--default.png +0 -0
  753. package/docs/assets/moni-typography/size--large.png +0 -0
  754. package/docs/assets/moni-typography/size--medium.png +0 -0
  755. package/docs/assets/moni-typography/size--small.png +0 -0
  756. package/docs/assets/moni-typography/text--default.png +0 -0
  757. package/docs/assets/moni-typography/variant--body.png +0 -0
  758. package/docs/assets/moni-typography/variant--display.png +0 -0
  759. package/docs/assets/moni-typography/variant--headline.png +0 -0
  760. package/docs/assets/moni-typography/variant--label.png +0 -0
  761. package/docs/assets/moni-typography/variant--title.png +0 -0
  762. package/docs/components/bottom-sheet.md +0 -2
  763. package/docs/components/button.md +0 -6
  764. package/docs/components/dialog.md +0 -2
  765. package/docs/components/menu.md +0 -2
  766. package/docs/components/morph-modal.md +0 -71
  767. package/docs/components/nav-item.md +0 -6
  768. package/docs/components/select.md +15 -1
  769. package/docs/components/side-sheet.md +0 -2
  770. package/docs/components/snackbar.md +0 -2
  771. package/docs/components/text-field.md +89 -1
  772. package/docs/components/textarea.md +34 -1
  773. package/package.json +1 -1
  774. package/src/components/moni-color-field.test.ts +71 -0
  775. package/src/components/moni-color-field.ts +51 -1
  776. package/src/components/moni-morph-modal.ts +1 -1
  777. package/src/components/moni-nav.ts +6 -3
  778. package/src/components/moni-select-option.ts +19 -0
  779. package/src/components/moni-select.test.ts +50 -0
  780. package/src/components/moni-select.ts +56 -0
  781. package/src/components/moni-stepper.ts +4 -0
  782. package/src/components/moni-text-field.test.ts +103 -0
  783. package/src/components/moni-text-field.ts +111 -2
  784. package/src/components/moni-textarea.test.ts +16 -0
  785. package/src/components/moni-textarea.ts +64 -0
  786. package/docs/assets/moni-bottom-sheet/open--false.png +0 -0
  787. package/docs/assets/moni-button/target--default.png +0 -0
  788. package/docs/assets/moni-dialog/open--false.png +0 -0
  789. package/docs/assets/moni-menu/active--false.png +0 -0
  790. package/docs/assets/moni-morph-modal/blurContent--false.png +0 -0
  791. package/docs/assets/moni-morph-modal/blurContent--true.png +0 -0
  792. package/docs/assets/moni-morph-modal/closeOnClickOutside--false.png +0 -0
  793. package/docs/assets/moni-morph-modal/closeOnClickOutside--true.png +0 -0
  794. package/docs/assets/moni-morph-modal/closeOnEsc--false.png +0 -0
  795. package/docs/assets/moni-morph-modal/closeOnEsc--true.png +0 -0
  796. package/docs/assets/moni-morph-modal/coverTarget--false.png +0 -0
  797. package/docs/assets/moni-morph-modal/coverTarget--true.png +0 -0
  798. package/docs/assets/moni-morph-modal/debug--false.png +0 -0
  799. package/docs/assets/moni-morph-modal/debug--true.png +0 -0
  800. package/docs/assets/moni-morph-modal/hideTarget--false.png +0 -0
  801. package/docs/assets/moni-morph-modal/hideTarget--true.png +0 -0
  802. package/docs/assets/moni-morph-modal/morphLabel--false.png +0 -0
  803. package/docs/assets/moni-morph-modal/morphLabel--true.png +0 -0
  804. package/docs/assets/moni-morph-modal/morphLabelSelector--default.png +0 -0
  805. package/docs/assets/moni-morph-modal/open--false.png +0 -0
  806. package/docs/assets/moni-morph-modal/target--default.png +0 -0
  807. package/docs/assets/moni-nav-item/target--default.png +0 -0
  808. package/docs/assets/moni-side-sheet/open--false.png +0 -0
  809. package/docs/assets/moni-snackbar/active--false.png +0 -0
@@ -111,6 +111,14 @@ let MoniSelect = class MoniSelect extends MoniElement {
111
111
  * @type {boolean}
112
112
  */
113
113
  this.disabled = false;
114
+ /**
115
+ * Obliga a elegir una opción antes de enviar el formulario.
116
+ *
117
+ * El `<input>` visible es de sólo lectura, así que la validación nativa no
118
+ * se aplica sobre él: la restricción se declara en el host con
119
+ * `ElementInternals.setValidity`, que es lo que mira el formulario.
120
+ */
121
+ this.required = false;
114
122
  /**
115
123
  * Si es verdadero, muestra un indicador de carga (progreso lineal).
116
124
  * @type {boolean}
@@ -256,6 +264,42 @@ let MoniSelect = class MoniSelect extends MoniElement {
256
264
  };
257
265
  this._internals = this.attachInternals();
258
266
  }
267
+ /**
268
+ * Declara la validez del host según `required`.
269
+ *
270
+ * No se puede delegar en el `<input>` interno porque es `readonly`, y un
271
+ * campo de sólo lectura queda excluido de la validación de restricciones. El
272
+ * ancla sigue siendo ese input para que el navegador tenga dónde mostrar el
273
+ * mensaje y a dónde llevar el foco.
274
+ */
275
+ /**
276
+ * API de validación equivalente a la de un control nativo.
277
+ *
278
+ * Los elementos form-associated participan en la validación del formulario,
279
+ * pero no reciben estos miembros automáticamente: hay que exponerlos para que
280
+ * un `moni-select` se pueda interrogar igual que un `<input>`.
281
+ */
282
+ get validity() {
283
+ return this._internals.validity;
284
+ }
285
+ get validationMessage() {
286
+ return this._internals.validationMessage;
287
+ }
288
+ checkValidity() {
289
+ return this._internals.checkValidity();
290
+ }
291
+ reportValidity() {
292
+ return this._internals.reportValidity();
293
+ }
294
+ _syncValidity() {
295
+ if (!this._internals?.setValidity)
296
+ return;
297
+ if (this.required && !this.value) {
298
+ this._internals.setValidity({ valueMissing: true }, 'Selecciona una opción.', this._input ?? undefined);
299
+ return;
300
+ }
301
+ this._internals.setValidity({});
302
+ }
259
303
  static { this.styles = [
260
304
  sharedStyles,
261
305
  fieldStyles,
@@ -634,6 +678,7 @@ let MoniSelect = class MoniSelect extends MoniElement {
634
678
  if (changedProperties.has('value')) {
635
679
  this._internals?.setFormValue?.(this.value);
636
680
  }
681
+ this._syncValidity();
637
682
  if (changedProperties.has('_open') ||
638
683
  changedProperties.has('_drilldownPath') ||
639
684
  changedProperties.has('_searchQuery') ||
@@ -1535,6 +1580,7 @@ let MoniSelect = class MoniSelect extends MoniElement {
1535
1580
  return html `<div class=${classMap(fieldClasses)} part="field">
1536
1581
  ${leading}
1537
1582
  <input
1583
+ id="input"
1538
1584
  type="text"
1539
1585
  part="input"
1540
1586
  .value=${displayValue}
@@ -1549,6 +1595,7 @@ let MoniSelect = class MoniSelect extends MoniElement {
1549
1595
  />
1550
1596
  ${this.label
1551
1597
  ? html `<label
1598
+ for="input"
1552
1599
  part="label"
1553
1600
  class=${classMap({ active: isActive })}
1554
1601
  >${this.label}</label
@@ -1622,6 +1669,9 @@ __decorate([
1622
1669
  __decorate([
1623
1670
  property({ type: Boolean, reflect: true })
1624
1671
  ], MoniSelect.prototype, "disabled", void 0);
1672
+ __decorate([
1673
+ property({ type: Boolean, reflect: true })
1674
+ ], MoniSelect.prototype, "required", void 0);
1625
1675
  __decorate([
1626
1676
  property({ type: Boolean, reflect: true })
1627
1677
  ], MoniSelect.prototype, "loading", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"moni-stepper.d.ts","sourceRoot":"","sources":["../../src/components/moni-stepper.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,WAAW,EAAgB,MAAM,kBAAkB,CAAC;AAG7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,qBACa,WAAY,SAAQ,WAAW;IAE3C,WAAW,EAAE,YAAY,GAAG,UAAU,CAAgB;IACX,OAAO,SAAK;IAGvD,OAAO,CAAC,MAAM,CAAc;IAE5B;;;;OAIG;IACM,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAU9C;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,OAAO,CAAC,UAAU;IAgBlB,OAAgB,MAAM,4BAyBpB;IAEF;;;;;;;;;;;;OAYG;IACM,MAAM;IAMf;;;;OAIG;IACH,OAAO,CAAC,aAAa,CAGnB;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,cAAc,EAAE,WAAW,CAAC;KAC5B;CACD;AAED,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"moni-stepper.d.ts","sourceRoot":"","sources":["../../src/components/moni-stepper.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,WAAW,EAAgB,MAAM,kBAAkB,CAAC;AAG7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,qBACa,WAAY,SAAQ,WAAW;IAE3C,WAAW,EAAE,YAAY,GAAG,UAAU,CAAgB;IACX,OAAO,SAAK;IAGvD,OAAO,CAAC,MAAM,CAAc;IAE5B;;;;OAIG;IACM,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAU9C;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,OAAO,CAAC,UAAU;IAoBlB,OAAgB,MAAM,4BAyBpB;IAEF;;;;;;;;;;;;OAYG;IACM,MAAM;IAMf;;;;OAIG;IACH,OAAO,CAAC,aAAa,CAGnB;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,cAAc,EAAE,WAAW,CAAC;KAC5B;CACD;AAED,eAAe,WAAW,CAAC"}
@@ -114,6 +114,10 @@ let MoniStepper = class MoniStepper extends MoniElement {
114
114
  stepElement.orientation = this.orientation;
115
115
  stepElement.completed = stepIndex < this.current;
116
116
  stepElement.active = stepIndex === this.current;
117
+ // El <ol> proyecta hosts <moni-step>, no <li>. Sin un rol explícito
118
+ // el árbol aplanado deja una lista cuyos hijos no son elementos de
119
+ // lista, y los lectores de pantalla no anuncian "1 de N".
120
+ stepElement.setAttribute('role', 'listitem');
117
121
  });
118
122
  });
119
123
  }
@@ -93,10 +93,10 @@ export declare class MoniTextField extends MoniElement {
93
93
  shape: 'round' | 'no-round';
94
94
  /**
95
95
  * El tipo de input HTML nativo.
96
- * @type {'text' | 'password' | 'email' | 'number' | 'tel' | 'url' | 'search'}
96
+ * @type {'text' | 'password' | 'email' | 'number' | 'tel' | 'url' | 'search' | 'date' | 'time' | 'datetime-local' | 'month' | 'week' | 'color'}
97
97
  * @default 'text'
98
98
  */
99
- type: 'text' | 'password' | 'email' | 'number' | 'tel' | 'url' | 'search';
99
+ type: 'text' | 'password' | 'email' | 'number' | 'tel' | 'url' | 'search' | 'date' | 'time' | 'datetime-local' | 'month' | 'week' | 'color';
100
100
  /**
101
101
  * Nombre del icono inicial (leading) (Material Symbols).
102
102
  * @type {string}
@@ -158,6 +158,26 @@ export declare class MoniTextField extends MoniElement {
158
158
  * @type {string}
159
159
  */
160
160
  placeholder: string;
161
+ /** Marca el campo como obligatorio y lo integra en la validación del formulario. */
162
+ required: boolean;
163
+ /** Impide editar el valor sin sacarlo del envío ni atenuarlo como `disabled`. */
164
+ readonly: boolean;
165
+ /** Pista de autocompletado del navegador, por ejemplo `email` o `current-password`. */
166
+ autocomplete: string;
167
+ /** Teclado virtual a mostrar en móvil, por ejemplo `numeric` o `tel`. */
168
+ inputmode: string;
169
+ /** Máximo de caracteres aceptados. */
170
+ maxlength: number | null;
171
+ /** Mínimo de caracteres aceptados. */
172
+ minlength: number | null;
173
+ /** Valor mínimo para `number` y los tipos de fecha y hora. */
174
+ min: string;
175
+ /** Valor máximo para `number` y los tipos de fecha y hora. */
176
+ max: string;
177
+ /** Incremento para `number` y los tipos de fecha y hora. */
178
+ step: string;
179
+ /** Expresión regular que debe cumplir el valor. */
180
+ pattern: string;
161
181
  /**
162
182
  * Patrón Inputmask. Admite opcionales `[]`, grupos `()`, alternadores `|`,
163
183
  * cuantificadores `{n,m}` y los tokens `9`, `a`, `*` y `K` (RUT).
@@ -203,6 +223,29 @@ export declare class MoniTextField extends MoniElement {
203
223
  * @param changed - Mapa de los nombres de propiedades a sus valores anteriores que causaron esta actualización.
204
224
  */
205
225
  updated(changed: Map<string, unknown>): void;
226
+ /**
227
+ * Copia la validez del `<input>` interno al host.
228
+ *
229
+ * Reenviar `required` o `pattern` no basta: el navegador valida el
230
+ * formulario mirando los controles asociados a él, y el que aquí participa
231
+ * es el host, no el input del Shadow DOM. Sin este puente el campo se
232
+ * pintaría como obligatorio pero el envío no se detendría.
233
+ *
234
+ * El tercer argumento ancla el globo de validación al input real, para que
235
+ * el navegador tenga dónde mostrarlo y a dónde mover el foco.
236
+ */
237
+ /**
238
+ * API de validación equivalente a la de un control nativo.
239
+ *
240
+ * Los elementos form-associated participan en la validación del formulario,
241
+ * pero no reciben estos miembros automáticamente: hay que exponerlos para que
242
+ * un `moni-text-field` se pueda interrogar igual que un `<input>`.
243
+ */
244
+ get validity(): ValidityState;
245
+ get validationMessage(): string;
246
+ checkValidity(): boolean;
247
+ reportValidity(): boolean;
248
+ private _syncValidity;
206
249
  private _handleInput;
207
250
  private _handleChange;
208
251
  disconnectedCallback(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"moni-text-field.d.ts","sourceRoot":"","sources":["../../src/components/moni-text-field.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"moni-text-field.d.ts","sourceRoot":"","sources":["../../src/components/moni-text-field.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,SAAS,EAAE,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACrF,OAAO,EAAE,WAAW,EAA6B,MAAM,kBAAkB,CAAC;AAE1E,OAAO,gBAAgB,CAAC;AACxB,OAAO,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,qBACa,aAAc,SAAQ,WAAW;IAC7C,MAAM,CAAC,cAAc,UAAQ;IAC7B,yFAAyF;IACzF,MAAM,CAAC,QAAQ,CAAC,SAAS,mBAAa;IACtC,OAAO,CAAC,UAAU,CAAmB;;IAOrC;;;OAGG;IAC0B,IAAI,SAAM;IAEvC;;;OAGG;IAC0B,KAAK,SAAM;IAExC;;;;OAIG;IAEH,OAAO,EAAE,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAY;IAEzD;;;;OAIG;IAEH,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAY;IAExD;;;;OAIG;IAEH,KAAK,EAAE,OAAO,GAAG,UAAU,CAAc;IAEzC;;;;OAIG;IAEH,IAAI,EACD,MAAM,GACN,UAAU,GACV,OAAO,GACP,QAAQ,GACR,KAAK,GACL,KAAK,GACL,QAAQ,GACR,MAAM,GACN,MAAM,GACN,gBAAgB,GAChB,OAAO,GACP,MAAM,GACN,OAAO,CAAU;IAEpB;;;OAGG;IAC0B,IAAI,SAAM;IAEvC;;;OAGG;IACsD,YAAY,SAAM;IAE3E;;;OAGG;IAC0B,MAAM,SAAM;IAEzC;;;OAGG;IAC0B,MAAM,SAAM;IAEzC,8DAA8D;IACA,gBAAgB,SAAM;IAEpF,2CAA2C;IACoB,iBAAiB,SAAsB;IAE7F,OAAO,CAAC,cAAc,CAAS;IAExC;;;OAGG;IAC0B,MAAM,SAAM;IAEzC;;;;OAIG;IACmD,SAAS,SAAM;IAErE;;;OAGG;IACyC,KAAK,UAAS;IAE1D;;;OAGG;IACyC,OAAO,UAAS;IAE5D;;;OAGG;IACyC,QAAQ,UAAS;IAE7D;;;OAGG;IAC0B,KAAK,SAAM;IAExC;;;OAGG;IAC0B,WAAW,SAAM;IAgB9C,oFAAoF;IACxC,QAAQ,UAAS;IAE7D,iFAAiF;IACrC,QAAQ,UAAS;IAE7D,uFAAuF;IAC1D,YAAY,SAAM;IAE/C,yEAAyE;IAC5C,SAAS,SAAM;IAE5C,sCAAsC;IACK,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE3E,sCAAsC;IACK,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE3E,8DAA8D;IACjC,GAAG,SAAM;IAEtC,8DAA8D;IACjC,GAAG,SAAM;IAEtC,4DAA4D;IAC/B,IAAI,SAAM;IAEvC,mDAAmD;IACtB,OAAO,SAAM;IAE1C;;;;OAIG;IAC0B,IAAI,SAAM;IAEvC,mGAAmG;IAC7C,SAAS,SAAM;IAErE,gGAAgG;IAWhG,WAAW,EAAE,gBAAgB,CAAM;IAEnC,sEAAsE;IACtE,IAAI,aAAa,IAAI,MAAM,CAE1B;IAEe,OAAO,CAAC,MAAM,CAAoB;IAClD,OAAO,CAAC,aAAa,CAAC,CAAoB;IAE1C,gEAAgE;IAChE,IAAI,iBAAiB,IAAI,iBAAiB,GAAG,SAAS,CAErD;IAED,uDAAuD;IACvD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IACjC,UAAU,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS;IAQxF,YAAY,IAAI,MAAM;IAItB,cAAc,IAAI,OAAO;IAIzB,cAAc,IAAI,OAAO;IAIzB,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO;IAIpC,eAAe,IAAI,OAAO;IAI1B,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,UAAQ,GAAG,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE;IAI9F,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAUnC,UAAU,IAAI,IAAI;IAKlB,OAAO,CAAC,cAAc;IAoBtB;;;;;;;;;;;;OAYG;IACM,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAiB9C;;;;;;;;;;OAUG;IACJ;;;;;;WAMI;IACH,IAAI,QAAQ,IAAI,aAAa,CAE5B;IAED,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,aAAa,IAAI,OAAO;IAIxB,cAAc,IAAI,OAAO;IAIzB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,aAAa;IAQZ,oBAAoB;IAM7B,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,uBAAuB;IAK/B,OAAgB,MAAM,4BAiCnB;IAEH;;;;;;;;;;;;;;;;;;;;;OAqBG;IACM,MAAM;CA2Gf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,iBAAiB,EAAE,aAAa,CAAC;KACjC;CACD;AAED,eAAe,aAAa,CAAC"}
@@ -104,7 +104,7 @@ let MoniTextField = class MoniTextField extends MoniElement {
104
104
  this.shape = 'no-round';
105
105
  /**
106
106
  * El tipo de input HTML nativo.
107
- * @type {'text' | 'password' | 'email' | 'number' | 'tel' | 'url' | 'search'}
107
+ * @type {'text' | 'password' | 'email' | 'number' | 'tel' | 'url' | 'search' | 'date' | 'time' | 'datetime-local' | 'month' | 'week' | 'color'}
108
108
  * @default 'text'
109
109
  */
110
110
  this.type = 'text';
@@ -169,6 +169,39 @@ let MoniTextField = class MoniTextField extends MoniElement {
169
169
  * @type {string}
170
170
  */
171
171
  this.placeholder = '';
172
+ /*
173
+ * Restricciones nativas.
174
+ *
175
+ * Antes ninguna de estas llegaba al `<input>` interno: el componente sólo
176
+ * reenviaba `type`, `placeholder`, `disabled`, `value` y `name`. Eso dejaba
177
+ * fuera el autocompletado de contraseñas, el teclado correcto en móvil, el
178
+ * límite de caracteres y toda la validación de restricciones, así que cada
179
+ * consumidor que necesitaba una de ellas tenía que renunciar al componente y
180
+ * usar un input nativo.
181
+ *
182
+ * Se reflejan al host además de reenviarse para que `[required]` y compañía
183
+ * puedan usarse como selectores CSS desde fuera.
184
+ */
185
+ /** Marca el campo como obligatorio y lo integra en la validación del formulario. */
186
+ this.required = false;
187
+ /** Impide editar el valor sin sacarlo del envío ni atenuarlo como `disabled`. */
188
+ this.readonly = false;
189
+ /** Pista de autocompletado del navegador, por ejemplo `email` o `current-password`. */
190
+ this.autocomplete = '';
191
+ /** Teclado virtual a mostrar en móvil, por ejemplo `numeric` o `tel`. */
192
+ this.inputmode = '';
193
+ /** Máximo de caracteres aceptados. */
194
+ this.maxlength = null;
195
+ /** Mínimo de caracteres aceptados. */
196
+ this.minlength = null;
197
+ /** Valor mínimo para `number` y los tipos de fecha y hora. */
198
+ this.min = '';
199
+ /** Valor máximo para `number` y los tipos de fecha y hora. */
200
+ this.max = '';
201
+ /** Incremento para `number` y los tipos de fecha y hora. */
202
+ this.step = '';
203
+ /** Expresión regular que debe cumplir el valor. */
204
+ this.pattern = '';
172
205
  /**
173
206
  * Patrón Inputmask. Admite opcionales `[]`, grupos `()`, alternadores `|`,
174
207
  * cuantificadores `{n,m}` y los tokens `9`, `a`, `*` y `K` (RUT).
@@ -274,10 +307,49 @@ let MoniTextField = class MoniTextField extends MoniElement {
274
307
  if (changed.has('disabled'))
275
308
  this._input.disabled = this.disabled;
276
309
  }
310
+ this._syncValidity();
311
+ }
312
+ /**
313
+ * Copia la validez del `<input>` interno al host.
314
+ *
315
+ * Reenviar `required` o `pattern` no basta: el navegador valida el
316
+ * formulario mirando los controles asociados a él, y el que aquí participa
317
+ * es el host, no el input del Shadow DOM. Sin este puente el campo se
318
+ * pintaría como obligatorio pero el envío no se detendría.
319
+ *
320
+ * El tercer argumento ancla el globo de validación al input real, para que
321
+ * el navegador tenga dónde mostrarlo y a dónde mover el foco.
322
+ */
323
+ /**
324
+ * API de validación equivalente a la de un control nativo.
325
+ *
326
+ * Los elementos form-associated participan en la validación del formulario,
327
+ * pero no reciben estos miembros automáticamente: hay que exponerlos para que
328
+ * un `moni-text-field` se pueda interrogar igual que un `<input>`.
329
+ */
330
+ get validity() {
331
+ return this._internals.validity;
332
+ }
333
+ get validationMessage() {
334
+ return this._internals.validationMessage;
335
+ }
336
+ checkValidity() {
337
+ return this._internals.checkValidity();
338
+ }
339
+ reportValidity() {
340
+ return this._internals.reportValidity();
341
+ }
342
+ _syncValidity() {
343
+ if (!this._input || !this._internals?.setValidity)
344
+ return;
345
+ this._internals.setValidity(this._input.validity, this._input.validationMessage, this._input);
277
346
  }
278
347
  _handleInput(e) {
279
348
  const target = e.target;
280
349
  this.value = target.value;
350
+ // Al teclear, `value` no siempre cambia de referencia (máscaras), así que
351
+ // la validez se refresca aquí y no sólo desde `updated()`.
352
+ this._syncValidity();
281
353
  emitMoniEvent(this, 'moni-input', {
282
354
  detail: { value: this.value, unmaskedValue: this.unmaskedValue, originalEvent: e }
283
355
  });
@@ -424,10 +496,21 @@ let MoniTextField = class MoniTextField extends MoniElement {
424
496
  return html `<div class=${classMap(fieldClasses)} part="field">
425
497
  ${leading}
426
498
  <input
499
+ id="input"
427
500
  part="input"
428
501
  type=${this.type}
429
502
  placeholder=${placeholder}
430
503
  ?disabled=${this.disabled}
504
+ ?required=${this.required}
505
+ ?readonly=${this.readonly}
506
+ autocomplete=${ifDefined(this.autocomplete || undefined)}
507
+ inputmode=${ifDefined(this.inputmode || undefined)}
508
+ maxlength=${ifDefined(this.maxlength ?? undefined)}
509
+ minlength=${ifDefined(this.minlength ?? undefined)}
510
+ min=${ifDefined(this.min || undefined)}
511
+ max=${ifDefined(this.max || undefined)}
512
+ step=${ifDefined(this.step || undefined)}
513
+ pattern=${ifDefined(this.pattern || undefined)}
431
514
  .value=${this.value}
432
515
  name=${ifDefined(this.name || undefined)}
433
516
  class=${isActive ? 'active' : ''}
@@ -436,6 +519,7 @@ let MoniTextField = class MoniTextField extends MoniElement {
436
519
  />
437
520
  ${this.label
438
521
  ? html `<label
522
+ for="input"
439
523
  part="label"
440
524
  class=${classMap({ active: isActive })}
441
525
  >${this.label}</label
@@ -515,6 +599,36 @@ __decorate([
515
599
  __decorate([
516
600
  property({ reflect: true })
517
601
  ], MoniTextField.prototype, "placeholder", void 0);
602
+ __decorate([
603
+ property({ type: Boolean, reflect: true })
604
+ ], MoniTextField.prototype, "required", void 0);
605
+ __decorate([
606
+ property({ type: Boolean, reflect: true })
607
+ ], MoniTextField.prototype, "readonly", void 0);
608
+ __decorate([
609
+ property({ reflect: true })
610
+ ], MoniTextField.prototype, "autocomplete", void 0);
611
+ __decorate([
612
+ property({ reflect: true })
613
+ ], MoniTextField.prototype, "inputmode", void 0);
614
+ __decorate([
615
+ property({ type: Number, reflect: true })
616
+ ], MoniTextField.prototype, "maxlength", void 0);
617
+ __decorate([
618
+ property({ type: Number, reflect: true })
619
+ ], MoniTextField.prototype, "minlength", void 0);
620
+ __decorate([
621
+ property({ reflect: true })
622
+ ], MoniTextField.prototype, "min", void 0);
623
+ __decorate([
624
+ property({ reflect: true })
625
+ ], MoniTextField.prototype, "max", void 0);
626
+ __decorate([
627
+ property({ reflect: true })
628
+ ], MoniTextField.prototype, "step", void 0);
629
+ __decorate([
630
+ property({ reflect: true })
631
+ ], MoniTextField.prototype, "pattern", void 0);
518
632
  __decorate([
519
633
  property({ reflect: true })
520
634
  ], MoniTextField.prototype, "mask", void 0);
@@ -121,6 +121,14 @@ export declare class MoniTextarea extends MoniElement {
121
121
  * @type {number | null}
122
122
  */
123
123
  maxlength: number | null;
124
+ /** Marca el campo como obligatorio y lo integra en la validación del formulario. */
125
+ required: boolean;
126
+ /** Impide editar el valor sin sacarlo del envío ni atenuarlo como `disabled`. */
127
+ readonly: boolean;
128
+ /** Mínimo de caracteres aceptados. */
129
+ minlength: number | null;
130
+ /** Pista de autocompletado del navegador. */
131
+ autocomplete: string;
124
132
  /**
125
133
  * Oculta la visualización del contador de caracteres cuando se establece `maxlength`.
126
134
  * @type {boolean}
@@ -170,6 +178,25 @@ export declare class MoniTextarea extends MoniElement {
170
178
  private _handleInput;
171
179
  private _resizeTextarea;
172
180
  updated(changed: Map<string, unknown>): void;
181
+ /**
182
+ * Copia la validez del `<textarea>` interno al host.
183
+ *
184
+ * El navegador valida mirando los controles asociados al formulario, y el
185
+ * que participa es el host, no el control del Shadow DOM: sin este puente
186
+ * `required` se pintaría pero no detendría el envío.
187
+ */
188
+ /**
189
+ * API de validación equivalente a la de un control nativo.
190
+ *
191
+ * Los elementos form-associated participan en la validación del formulario,
192
+ * pero no reciben estos miembros automáticamente: hay que exponerlos para que
193
+ * un `moni-textarea` se pueda interrogar igual que un `<input>`.
194
+ */
195
+ get validity(): ValidityState;
196
+ get validationMessage(): string;
197
+ checkValidity(): boolean;
198
+ reportValidity(): boolean;
199
+ private _syncValidity;
173
200
  static styles: import("lit").CSSResult[];
174
201
  /**
175
202
  * Renderiza el campo del área de texto con etiqueta, iconos de prefijo/sufijo y contador de caracteres.
@@ -1 +1 @@
1
- {"version":3,"file":"moni-textarea.d.ts","sourceRoot":"","sources":["../../src/components/moni-textarea.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,WAAW,EAA6B,MAAM,kBAAkB,CAAC;AAC1E,OAAO,gBAAgB,CAAC;AACxB,OAAO,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,qBACa,YAAa,SAAQ,WAAW;IAC5C,MAAM,CAAC,cAAc,UAAQ;IAC7B,OAAO,CAAC,UAAU,CAAmB;;IAOrC;;;OAGG;IAC0B,IAAI,SAAM;IAEvC;;;OAGG;IAC0B,KAAK,SAAM;IAExC;;;;OAIG;IAC0B,OAAO,EAAE,QAAQ,GAAG,UAAU,CAAY;IAEvE;;;;OAIG;IAEH,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAY;IAExD;;;;OAIG;IAEH,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAc;IAEpD;;;OAGG;IAC0B,IAAI,SAAM;IAEvC;;;OAGG;IACsD,YAAY,SAAM;IAE3E;;;OAGG;IAC0B,MAAM,SAAM;IAEzC;;;OAGG;IAC0B,MAAM,SAAM;IAEzC;;;;OAIG;IACwC,IAAI,SAAK;IAEpD,mEAAmE;IACvB,QAAQ,UAAS;IAE7D,4FAA4F;IAC1B,OAAO,SAAK;IAE9E;;;;OAIG;IACwC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE3E;;;OAGG;IAEH,SAAS,UAAS;IAElB;;;OAGG;IACyC,OAAO,UAAS;IAE5D;;;OAGG;IACyC,QAAQ,UAAS;IAE7D;;;OAGG;IAC0B,MAAM,SAAM;IAEzC;;;;OAIG;IACmD,SAAS,SAAM;IAErE;;;OAGG;IACyC,KAAK,UAAS;IAE1D;;;OAGG;IAC0B,KAAK,SAAM;IAExC;;;OAGG;IAC0B,WAAW,SAAM;IAE3B,OAAO,CAAC,MAAM,CAAuB;IACxD,OAAO,CAAC,eAAe,CAAC,CAAiB;IAEhC,iBAAiB;IAKjB,oBAAoB;IAMpB,YAAY;IAKrB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,eAAe;IAyBd,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAmB9C,OAAgB,MAAM,4BAEnB;IAEH;;;;;;;;;;;;OAYG;IACM,MAAM;CAmGf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,eAAe,EAAE,YAAY,CAAC;KAC9B;CACD;AAED,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"moni-textarea.d.ts","sourceRoot":"","sources":["../../src/components/moni-textarea.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,WAAW,EAA6B,MAAM,kBAAkB,CAAC;AAC1E,OAAO,gBAAgB,CAAC;AACxB,OAAO,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,qBACa,YAAa,SAAQ,WAAW;IAC5C,MAAM,CAAC,cAAc,UAAQ;IAC7B,OAAO,CAAC,UAAU,CAAmB;;IAOrC;;;OAGG;IAC0B,IAAI,SAAM;IAEvC;;;OAGG;IAC0B,KAAK,SAAM;IAExC;;;;OAIG;IAC0B,OAAO,EAAE,QAAQ,GAAG,UAAU,CAAY;IAEvE;;;;OAIG;IAEH,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAY;IAExD;;;;OAIG;IAEH,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAc;IAEpD;;;OAGG;IAC0B,IAAI,SAAM;IAEvC;;;OAGG;IACsD,YAAY,SAAM;IAE3E;;;OAGG;IAC0B,MAAM,SAAM;IAEzC;;;OAGG;IAC0B,MAAM,SAAM;IAEzC;;;;OAIG;IACwC,IAAI,SAAK;IAEpD,mEAAmE;IACvB,QAAQ,UAAS;IAE7D,4FAA4F;IAC1B,OAAO,SAAK;IAE9E;;;;OAIG;IACwC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAQ3E,oFAAoF;IACxC,QAAQ,UAAS;IAE7D,iFAAiF;IACrC,QAAQ,UAAS;IAE7D,sCAAsC;IACK,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE3E,6CAA6C;IAChB,YAAY,SAAM;IAE/C;;;OAGG;IAEH,SAAS,UAAS;IAElB;;;OAGG;IACyC,OAAO,UAAS;IAE5D;;;OAGG;IACyC,QAAQ,UAAS;IAE7D;;;OAGG;IAC0B,MAAM,SAAM;IAEzC;;;;OAIG;IACmD,SAAS,SAAM;IAErE;;;OAGG;IACyC,KAAK,UAAS;IAE1D;;;OAGG;IAC0B,KAAK,SAAM;IAExC;;;OAGG;IAC0B,WAAW,SAAM;IAE3B,OAAO,CAAC,MAAM,CAAuB;IACxD,OAAO,CAAC,eAAe,CAAC,CAAiB;IAEhC,iBAAiB;IAKjB,oBAAoB;IAMpB,YAAY;IAKrB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,eAAe;IAyBd,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAoB9C;;;;;;OAMG;IACJ;;;;;;WAMI;IACH,IAAI,QAAQ,IAAI,aAAa,CAE5B;IAED,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,aAAa,IAAI,OAAO;IAIxB,cAAc,IAAI,OAAO;IAIzB,OAAO,CAAC,aAAa;IASrB,OAAgB,MAAM,4BAEnB;IAEH;;;;;;;;;;;;OAYG;IACM,MAAM;CAyGf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,eAAe,EAAE,YAAY,CAAC;KAC9B;CACD;AAED,eAAe,YAAY,CAAC"}
@@ -131,6 +131,19 @@ let MoniTextarea = class MoniTextarea extends MoniElement {
131
131
  * @type {number | null}
132
132
  */
133
133
  this.maxlength = null;
134
+ /*
135
+ * Restricciones nativas. Antes sólo `maxlength` llegaba al `<textarea>`
136
+ * interno, así que un campo obligatorio o de sólo lectura obligaba a
137
+ * abandonar el componente y usar un control nativo.
138
+ */
139
+ /** Marca el campo como obligatorio y lo integra en la validación del formulario. */
140
+ this.required = false;
141
+ /** Impide editar el valor sin sacarlo del envío ni atenuarlo como `disabled`. */
142
+ this.readonly = false;
143
+ /** Mínimo de caracteres aceptados. */
144
+ this.minlength = null;
145
+ /** Pista de autocompletado del navegador. */
146
+ this.autocomplete = '';
134
147
  /**
135
148
  * Oculta la visualización del contador de caracteres cuando se establece `maxlength`.
136
149
  * @type {boolean}
@@ -232,6 +245,38 @@ let MoniTextarea = class MoniTextarea extends MoniElement {
232
245
  changed.has('maxRows'))
233
246
  this._resizeTextarea();
234
247
  }
248
+ this._syncValidity();
249
+ }
250
+ /**
251
+ * Copia la validez del `<textarea>` interno al host.
252
+ *
253
+ * El navegador valida mirando los controles asociados al formulario, y el
254
+ * que participa es el host, no el control del Shadow DOM: sin este puente
255
+ * `required` se pintaría pero no detendría el envío.
256
+ */
257
+ /**
258
+ * API de validación equivalente a la de un control nativo.
259
+ *
260
+ * Los elementos form-associated participan en la validación del formulario,
261
+ * pero no reciben estos miembros automáticamente: hay que exponerlos para que
262
+ * un `moni-textarea` se pueda interrogar igual que un `<input>`.
263
+ */
264
+ get validity() {
265
+ return this._internals.validity;
266
+ }
267
+ get validationMessage() {
268
+ return this._internals.validationMessage;
269
+ }
270
+ checkValidity() {
271
+ return this._internals.checkValidity();
272
+ }
273
+ reportValidity() {
274
+ return this._internals.reportValidity();
275
+ }
276
+ _syncValidity() {
277
+ if (!this._input || !this._internals?.setValidity)
278
+ return;
279
+ this._internals.setValidity(this._input.validity, this._input.validationMessage, this._input);
235
280
  }
236
281
  static { this.styles = [sharedStyles, fieldStyles, css `
237
282
  :host([autosize]) textarea { resize: none; }
@@ -315,11 +360,16 @@ let MoniTextarea = class MoniTextarea extends MoniElement {
315
360
  return html `<div class=${classMap(fieldClasses)} part="field">
316
361
  ${leading}
317
362
  <textarea
363
+ id="input"
318
364
  part="input"
319
365
  rows=${this.rows}
320
366
  maxlength=${ifDefined(this.maxlength ?? undefined)}
367
+ minlength=${ifDefined(this.minlength ?? undefined)}
321
368
  placeholder=${placeholder}
322
369
  ?disabled=${this.disabled}
370
+ ?required=${this.required}
371
+ ?readonly=${this.readonly}
372
+ autocomplete=${ifDefined(this.autocomplete || undefined)}
323
373
  .value=${this.value}
324
374
  name=${ifDefined(this.name || undefined)}
325
375
  class=${isActive ? 'active' : ''}
@@ -327,6 +377,7 @@ let MoniTextarea = class MoniTextarea extends MoniElement {
327
377
  ></textarea>
328
378
  ${this.label
329
379
  ? html `<label
380
+ for="input"
330
381
  part="label"
331
382
  class=${classMap({ active: isActive })}
332
383
  >${this.label}</label
@@ -382,6 +433,18 @@ __decorate([
382
433
  __decorate([
383
434
  property({ type: Number, reflect: true })
384
435
  ], MoniTextarea.prototype, "maxlength", void 0);
436
+ __decorate([
437
+ property({ type: Boolean, reflect: true })
438
+ ], MoniTextarea.prototype, "required", void 0);
439
+ __decorate([
440
+ property({ type: Boolean, reflect: true })
441
+ ], MoniTextarea.prototype, "readonly", void 0);
442
+ __decorate([
443
+ property({ type: Number, reflect: true })
444
+ ], MoniTextarea.prototype, "minlength", void 0);
445
+ __decorate([
446
+ property({ reflect: true })
447
+ ], MoniTextarea.prototype, "autocomplete", void 0);
385
448
  __decorate([
386
449
  property({ type: Boolean, reflect: true, attribute: 'no-counter' })
387
450
  ], MoniTextarea.prototype, "noCounter", void 0);