@moni-labs/moni-ui 0.4.4 → 0.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/custom-elements.json +4670 -16030
- package/dist/browser/moni-ui.iife.min.js +848 -117
- package/dist/browser/moni-ui.iife.min.js.br +0 -0
- package/dist/browser/moni-ui.iife.min.js.gz +0 -0
- package/dist/browser/moni-ui.iife.min.js.map +1 -1
- package/dist/browser/moni-ui.min.js +3138 -1813
- package/dist/browser/moni-ui.min.js.br +0 -0
- package/dist/browser/moni-ui.min.js.gz +0 -0
- package/dist/browser/moni-ui.min.js.map +1 -1
- package/dist/cdn/components/moni-button-group.js +5 -3
- package/dist/cdn/components/moni-button.js +2 -2
- package/dist/cdn/components/moni-carousel.js +1 -1
- package/dist/cdn/components/moni-color-field.js +9 -6
- package/dist/cdn/components/moni-context-menu.js +4 -1
- package/dist/cdn/components/moni-file-field.js +9 -9
- package/dist/cdn/components/moni-morph-modal.js +2 -2
- package/dist/cdn/components/moni-nav.js +5 -5
- package/dist/cdn/components/moni-select.js +2 -0
- package/dist/cdn/components/moni-side-sheet.js +18 -6
- package/dist/cdn/components/moni-snackbar.js +15 -2
- package/dist/cdn/components/moni-stepper.js +1 -1
- package/dist/cdn/components/moni-text-field.js +2 -0
- package/dist/cdn/components/moni-textarea.js +2 -0
- package/dist/cdn/components/moni-toolbar.js +3 -1
- package/dist/cdn/components/moni-tooltip.js +60 -4
- package/dist/cdn/importmap.json +98 -98
- package/dist/components/index.d.ts +8 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +8 -0
- package/dist/components/moni-button-group.d.ts.map +1 -1
- package/dist/components/moni-button-group.js +15 -4
- package/dist/components/moni-button.js +2 -2
- package/dist/components/moni-carousel.d.ts +2 -0
- package/dist/components/moni-carousel.d.ts.map +1 -1
- package/dist/components/moni-carousel.js +18 -0
- package/dist/components/moni-color-field.d.ts +19 -0
- package/dist/components/moni-color-field.d.ts.map +1 -1
- package/dist/components/moni-color-field.js +43 -2
- package/dist/components/moni-context-menu.d.ts.map +1 -1
- package/dist/components/moni-context-menu.js +14 -3
- package/dist/components/moni-file-field.d.ts.map +1 -1
- package/dist/components/moni-file-field.js +6 -3
- package/dist/components/moni-morph-modal.d.ts +21 -0
- package/dist/components/moni-morph-modal.d.ts.map +1 -1
- package/dist/components/moni-morph-modal.js +574 -52
- package/dist/components/moni-nav.d.ts.map +1 -1
- package/dist/components/moni-nav.js +4 -3
- package/dist/components/moni-select-option.d.ts.map +1 -1
- package/dist/components/moni-select-option.js +19 -0
- package/dist/components/moni-select.d.ts.map +1 -1
- package/dist/components/moni-select.js +2 -0
- package/dist/components/moni-side-sheet.d.ts +5 -0
- package/dist/components/moni-side-sheet.d.ts.map +1 -1
- package/dist/components/moni-side-sheet.js +48 -17
- package/dist/components/moni-snackbar.d.ts +1 -0
- package/dist/components/moni-snackbar.d.ts.map +1 -1
- package/dist/components/moni-snackbar.js +21 -1
- package/dist/components/moni-stepper.d.ts.map +1 -1
- package/dist/components/moni-stepper.js +4 -0
- package/dist/components/moni-text-field.d.ts.map +1 -1
- package/dist/components/moni-text-field.js +2 -0
- package/dist/components/moni-textarea.d.ts.map +1 -1
- package/dist/components/moni-textarea.js +2 -0
- package/dist/components/moni-toolbar.d.ts.map +1 -1
- package/dist/components/moni-toolbar.js +3 -1
- package/dist/components/moni-tooltip.d.ts +11 -2
- package/dist/components/moni-tooltip.d.ts.map +1 -1
- package/dist/components/moni-tooltip.js +195 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/docs/COMPONENTS.md +10 -0
- package/docs/LLM-GUIDE.md +107 -0
- package/docs/PUBLISHING.md +31 -0
- package/docs/README.md +64 -0
- package/docs/api.json +6178 -0
- package/docs/assets/moni-app-bar/elevated--false.png +0 -0
- package/docs/assets/moni-app-bar/elevated--true.png +0 -0
- package/docs/assets/moni-app-bar/placement--bottom.png +0 -0
- package/docs/assets/moni-app-bar/placement--top.png +0 -0
- package/docs/assets/moni-app-bar/size--default.png +0 -0
- package/docs/assets/moni-app-bar/size--prominent.png +0 -0
- package/docs/assets/moni-app-bar/subtitle--default.png +0 -0
- package/docs/assets/moni-app-bar/title--default.png +0 -0
- package/docs/assets/moni-app-bar/variant--floating.png +0 -0
- package/docs/assets/moni-app-bar/variant--standard.png +0 -0
- package/docs/assets/moni-badge/border--false.png +0 -0
- package/docs/assets/moni-badge/border--true.png +0 -0
- package/docs/assets/moni-badge/color--error.png +0 -0
- package/docs/assets/moni-badge/color--primary.png +0 -0
- package/docs/assets/moni-badge/color--secondary.png +0 -0
- package/docs/assets/moni-badge/color--tertiary.png +0 -0
- package/docs/assets/moni-badge/inline--false.png +0 -0
- package/docs/assets/moni-badge/inline--true.png +0 -0
- package/docs/assets/moni-badge/position--bottom.png +0 -0
- package/docs/assets/moni-badge/position--empty.png +0 -0
- package/docs/assets/moni-badge/position--left.png +0 -0
- package/docs/assets/moni-badge/position--none.png +0 -0
- package/docs/assets/moni-badge/position--right.png +0 -0
- package/docs/assets/moni-badge/position--top.png +0 -0
- package/docs/assets/moni-badge/shape--circle.png +0 -0
- package/docs/assets/moni-badge/shape--empty.png +0 -0
- package/docs/assets/moni-badge/shape--min.png +0 -0
- package/docs/assets/moni-badge/shape--square.png +0 -0
- package/docs/assets/moni-badge/value--default.png +0 -0
- package/docs/assets/moni-bottom-sheet/expandedHeight--default.png +0 -0
- package/docs/assets/moni-bottom-sheet/handle--false.png +0 -0
- package/docs/assets/moni-bottom-sheet/handle--true.png +0 -0
- package/docs/assets/moni-bottom-sheet/maxWidth--default.png +0 -0
- package/docs/assets/moni-bottom-sheet/modal--false.png +0 -0
- package/docs/assets/moni-bottom-sheet/modal--true.png +0 -0
- package/docs/assets/moni-bottom-sheet/open--true.png +0 -0
- package/docs/assets/moni-bottom-sheet/positioning--absolute.png +0 -0
- package/docs/assets/moni-bottom-sheet/positioning--body.png +0 -0
- package/docs/assets/moni-bottom-sheet/positioning--fixed.png +0 -0
- package/docs/assets/moni-bottom-sheet/positioning--static.png +0 -0
- package/docs/assets/moni-bottom-sheet/size--auto.png +0 -0
- package/docs/assets/moni-bottom-sheet/size--large.png +0 -0
- package/docs/assets/moni-bottom-sheet/size--medium.png +0 -0
- package/docs/assets/moni-bottom-sheet/size--small.png +0 -0
- package/docs/assets/moni-bottom-sheet/title--default.png +0 -0
- package/docs/assets/moni-button/active--false.png +0 -0
- package/docs/assets/moni-button/active--true.png +0 -0
- package/docs/assets/moni-button/disabled--false.png +0 -0
- package/docs/assets/moni-button/disabled--true.png +0 -0
- package/docs/assets/moni-button/href--default.png +0 -0
- package/docs/assets/moni-button/icon--default.png +0 -0
- package/docs/assets/moni-button/iconTrailing--default.png +0 -0
- package/docs/assets/moni-button/loading--false.png +0 -0
- package/docs/assets/moni-button/loading--true.png +0 -0
- package/docs/assets/moni-button/shape--bottom-round-flat.png +0 -0
- package/docs/assets/moni-button/shape--bottom-round.png +0 -0
- package/docs/assets/moni-button/shape--circle.png +0 -0
- package/docs/assets/moni-button/shape--inner-round.png +0 -0
- package/docs/assets/moni-button/shape--left-round-flat.png +0 -0
- package/docs/assets/moni-button/shape--left-round.png +0 -0
- package/docs/assets/moni-button/shape--no-round.png +0 -0
- package/docs/assets/moni-button/shape--right-round-flat.png +0 -0
- package/docs/assets/moni-button/shape--right-round.png +0 -0
- package/docs/assets/moni-button/shape--round.png +0 -0
- package/docs/assets/moni-button/shape--square.png +0 -0
- package/docs/assets/moni-button/shape--top-round-flat.png +0 -0
- package/docs/assets/moni-button/shape--top-round.png +0 -0
- package/docs/assets/moni-button/size--extra.png +0 -0
- package/docs/assets/moni-button/size--large.png +0 -0
- package/docs/assets/moni-button/size--medium.png +0 -0
- package/docs/assets/moni-button/size--small.png +0 -0
- package/docs/assets/moni-button/size--xlarge.png +0 -0
- package/docs/assets/moni-button/size--xsmall.png +0 -0
- package/docs/assets/moni-button/type--button.png +0 -0
- package/docs/assets/moni-button/type--reset.png +0 -0
- package/docs/assets/moni-button/type--submit.png +0 -0
- package/docs/assets/moni-button/variant--elevated.png +0 -0
- package/docs/assets/moni-button/variant--error.png +0 -0
- package/docs/assets/moni-button/variant--fill.png +0 -0
- package/docs/assets/moni-button/variant--filled.png +0 -0
- package/docs/assets/moni-button/variant--outlined.png +0 -0
- package/docs/assets/moni-button/variant--text.png +0 -0
- package/docs/assets/moni-button/variant--tonal.png +0 -0
- package/docs/assets/moni-button-group/gap--default.png +0 -0
- package/docs/assets/moni-button-group/label--default.png +0 -0
- package/docs/assets/moni-button-group/labelledBy--default.png +0 -0
- package/docs/assets/moni-button-group/multi--false.png +0 -0
- package/docs/assets/moni-button-group/multi--true.png +0 -0
- package/docs/assets/moni-button-group/resizing--fixed.png +0 -0
- package/docs/assets/moni-button-group/resizing--flexible.png +0 -0
- package/docs/assets/moni-button-group/role--group.png +0 -0
- package/docs/assets/moni-button-group/role--radiogroup.png +0 -0
- package/docs/assets/moni-button-group/role--toolbar.png +0 -0
- package/docs/assets/moni-button-group/selectionRequired--false.png +0 -0
- package/docs/assets/moni-button-group/selectionRequired--true.png +0 -0
- package/docs/assets/moni-button-group/shape--round.png +0 -0
- package/docs/assets/moni-button-group/shape--square.png +0 -0
- package/docs/assets/moni-button-group/size--extra.png +0 -0
- package/docs/assets/moni-button-group/size--large.png +0 -0
- package/docs/assets/moni-button-group/size--medium.png +0 -0
- package/docs/assets/moni-button-group/size--small.png +0 -0
- package/docs/assets/moni-button-group/size--xlarge.png +0 -0
- package/docs/assets/moni-button-group/size--xsmall.png +0 -0
- package/docs/assets/moni-button-group/variant--connected.png +0 -0
- package/docs/assets/moni-button-group/variant--standard.png +0 -0
- package/docs/assets/moni-button-segment/checked--false.png +0 -0
- package/docs/assets/moni-button-segment/checked--true.png +0 -0
- package/docs/assets/moni-button-segment/disabled--false.png +0 -0
- package/docs/assets/moni-button-segment/disabled--true.png +0 -0
- package/docs/assets/moni-button-segment/hideCheck--false.png +0 -0
- package/docs/assets/moni-button-segment/hideCheck--true.png +0 -0
- package/docs/assets/moni-button-segment/position--first.png +0 -0
- package/docs/assets/moni-button-segment/position--last.png +0 -0
- package/docs/assets/moni-button-segment/position--middle.png +0 -0
- package/docs/assets/moni-button-segment/position--solo.png +0 -0
- package/docs/assets/moni-button-segment/size--extra.png +0 -0
- package/docs/assets/moni-button-segment/size--large.png +0 -0
- package/docs/assets/moni-button-segment/size--medium.png +0 -0
- package/docs/assets/moni-button-segment/size--small.png +0 -0
- package/docs/assets/moni-button-segment/size--xlarge.png +0 -0
- package/docs/assets/moni-button-segment/size--xsmall.png +0 -0
- package/docs/assets/moni-button-segment/value--default.png +0 -0
- package/docs/assets/moni-card/clickable--false.png +0 -0
- package/docs/assets/moni-card/clickable--true.png +0 -0
- package/docs/assets/moni-card/disabled--false.png +0 -0
- package/docs/assets/moni-card/disabled--true.png +0 -0
- package/docs/assets/moni-card/draggable--false.png +0 -0
- package/docs/assets/moni-card/draggable--true.png +0 -0
- package/docs/assets/moni-card/variant--elevated.png +0 -0
- package/docs/assets/moni-card/variant--filled.png +0 -0
- package/docs/assets/moni-card/variant--outlined.png +0 -0
- package/docs/assets/moni-carousel/auto--false.png +0 -0
- package/docs/assets/moni-carousel/auto--true.png +0 -0
- package/docs/assets/moni-carousel/autoplay--false.png +0 -0
- package/docs/assets/moni-carousel/autoplay--true.png +0 -0
- package/docs/assets/moni-carousel/autoplayInterval--default.png +0 -0
- package/docs/assets/moni-carousel/borderRadius--default.png +0 -0
- package/docs/assets/moni-carousel/gap--default.png +0 -0
- package/docs/assets/moni-carousel/headerText--default.png +0 -0
- package/docs/assets/moni-carousel/hideNav--false.png +0 -0
- package/docs/assets/moni-carousel/hideNav--true.png +0 -0
- package/docs/assets/moni-carousel/infinite--false.png +0 -0
- package/docs/assets/moni-carousel/infinite--true.png +0 -0
- package/docs/assets/moni-carousel/items--default.png +0 -0
- package/docs/assets/moni-carousel/largeWidth--default.png +0 -0
- package/docs/assets/moni-carousel/layout--hero.png +0 -0
- package/docs/assets/moni-carousel/layout--multi-browse.png +0 -0
- package/docs/assets/moni-carousel/layout--uncontained.png +0 -0
- package/docs/assets/moni-carousel/mediumWidth--default.png +0 -0
- package/docs/assets/moni-carousel/padding--default.png +0 -0
- package/docs/assets/moni-carousel/showAll--false.png +0 -0
- package/docs/assets/moni-carousel/showAll--true.png +0 -0
- package/docs/assets/moni-carousel/showAllText--default.png +0 -0
- package/docs/assets/moni-carousel/smallWidth--default.png +0 -0
- package/docs/assets/moni-checkbox/checked--false.png +0 -0
- package/docs/assets/moni-checkbox/checked--true.png +0 -0
- package/docs/assets/moni-checkbox/checkedIcon--default.png +0 -0
- package/docs/assets/moni-checkbox/disabled--false.png +0 -0
- package/docs/assets/moni-checkbox/disabled--true.png +0 -0
- package/docs/assets/moni-checkbox/label--default.png +0 -0
- package/docs/assets/moni-checkbox/name--default.png +0 -0
- package/docs/assets/moni-checkbox/size--extra.png +0 -0
- package/docs/assets/moni-checkbox/size--large.png +0 -0
- package/docs/assets/moni-checkbox/size--medium.png +0 -0
- package/docs/assets/moni-checkbox/size--small.png +0 -0
- package/docs/assets/moni-checkbox/uncheckedIcon--default.png +0 -0
- package/docs/assets/moni-checkbox/value--default.png +0 -0
- package/docs/assets/moni-chip/disabled--false.png +0 -0
- package/docs/assets/moni-chip/disabled--true.png +0 -0
- package/docs/assets/moni-chip/icon--default.png +0 -0
- package/docs/assets/moni-chip/loading--false.png +0 -0
- package/docs/assets/moni-chip/loading--true.png +0 -0
- package/docs/assets/moni-chip/removable--false.png +0 -0
- package/docs/assets/moni-chip/removable--true.png +0 -0
- package/docs/assets/moni-chip/selected--false.png +0 -0
- package/docs/assets/moni-chip/selected--true.png +0 -0
- package/docs/assets/moni-chip/shape--bottom-round.png +0 -0
- package/docs/assets/moni-chip/shape--circle.png +0 -0
- package/docs/assets/moni-chip/shape--left-round.png +0 -0
- package/docs/assets/moni-chip/shape--no-round.png +0 -0
- package/docs/assets/moni-chip/shape--right-round.png +0 -0
- package/docs/assets/moni-chip/shape--round.png +0 -0
- package/docs/assets/moni-chip/shape--square.png +0 -0
- package/docs/assets/moni-chip/shape--top-round.png +0 -0
- package/docs/assets/moni-chip/size--large.png +0 -0
- package/docs/assets/moni-chip/size--medium.png +0 -0
- package/docs/assets/moni-chip/size--small.png +0 -0
- package/docs/assets/moni-chip/variant--assist.png +0 -0
- package/docs/assets/moni-chip/variant--fill.png +0 -0
- package/docs/assets/moni-chip/variant--filter.png +0 -0
- package/docs/assets/moni-chip/variant--input.png +0 -0
- package/docs/assets/moni-chip/variant--outlined.png +0 -0
- package/docs/assets/moni-chip/variant--suggestion.png +0 -0
- package/docs/assets/moni-color-field/disabled--false.png +0 -0
- package/docs/assets/moni-color-field/disabled--true.png +0 -0
- package/docs/assets/moni-color-field/error--false.png +0 -0
- package/docs/assets/moni-color-field/error--true.png +0 -0
- package/docs/assets/moni-color-field/errorText--default.png +0 -0
- package/docs/assets/moni-color-field/helper--default.png +0 -0
- package/docs/assets/moni-color-field/label--default.png +0 -0
- package/docs/assets/moni-color-field/name--default.png +0 -0
- package/docs/assets/moni-color-field/shape--no-round.png +0 -0
- package/docs/assets/moni-color-field/shape--round.png +0 -0
- package/docs/assets/moni-color-field/shape--square.png +0 -0
- package/docs/assets/moni-color-field/size--extra.png +0 -0
- package/docs/assets/moni-color-field/size--large.png +0 -0
- package/docs/assets/moni-color-field/size--medium.png +0 -0
- package/docs/assets/moni-color-field/size--small.png +0 -0
- package/docs/assets/moni-color-field/value--default.png +0 -0
- package/docs/assets/moni-color-field/variant--filled.png +0 -0
- package/docs/assets/moni-color-field/variant--outlined.png +0 -0
- package/docs/assets/moni-context-menu/flip--false.png +0 -0
- package/docs/assets/moni-context-menu/flip--true.png +0 -0
- package/docs/assets/moni-context-menu/placement--bottom.png +0 -0
- package/docs/assets/moni-context-menu/placement--left.png +0 -0
- package/docs/assets/moni-context-menu/placement--right.png +0 -0
- package/docs/assets/moni-context-menu/placement--top.png +0 -0
- package/docs/assets/moni-dialog/modal--false.png +0 -0
- package/docs/assets/moni-dialog/modal--true.png +0 -0
- package/docs/assets/moni-dialog/open--true.png +0 -0
- package/docs/assets/moni-dialog/side--bottom.png +0 -0
- package/docs/assets/moni-dialog/side--center.png +0 -0
- package/docs/assets/moni-dialog/side--left.png +0 -0
- package/docs/assets/moni-dialog/side--max.png +0 -0
- package/docs/assets/moni-dialog/side--right.png +0 -0
- package/docs/assets/moni-dialog/side--top.png +0 -0
- package/docs/assets/moni-dialog/size--large.png +0 -0
- package/docs/assets/moni-dialog/size--medium.png +0 -0
- package/docs/assets/moni-dialog/size--small.png +0 -0
- package/docs/assets/moni-dialog/title--default.png +0 -0
- package/docs/assets/moni-divider/inset--leading.png +0 -0
- package/docs/assets/moni-divider/inset--middle.png +0 -0
- package/docs/assets/moni-divider/inset--none.png +0 -0
- package/docs/assets/moni-expansion/open--false.png +0 -0
- package/docs/assets/moni-expansion/open--true.png +0 -0
- package/docs/assets/moni-expansion/title--default.png +0 -0
- package/docs/assets/moni-fab/accessibleLabel--default.png +0 -0
- package/docs/assets/moni-fab/color--default.png +0 -0
- package/docs/assets/moni-fab/disabled--false.png +0 -0
- package/docs/assets/moni-fab/disabled--true.png +0 -0
- package/docs/assets/moni-fab/expanded--false.png +0 -0
- package/docs/assets/moni-fab/expanded--true.png +0 -0
- package/docs/assets/moni-fab/extended--false.png +0 -0
- package/docs/assets/moni-fab/extended--true.png +0 -0
- package/docs/assets/moni-fab/icon--default.png +0 -0
- package/docs/assets/moni-fab/label--default.png +0 -0
- package/docs/assets/moni-fab/name--default.png +0 -0
- package/docs/assets/moni-fab/position--default.png +0 -0
- package/docs/assets/moni-fab/shape--circle.png +0 -0
- package/docs/assets/moni-fab/shape--rounded.png +0 -0
- package/docs/assets/moni-fab/size--default.png +0 -0
- package/docs/assets/moni-fab/type--button.png +0 -0
- package/docs/assets/moni-fab/type--reset.png +0 -0
- package/docs/assets/moni-fab/type--submit.png +0 -0
- package/docs/assets/moni-fab/value--default.png +0 -0
- package/docs/assets/moni-fab-menu/closeIcon--default.png +0 -0
- package/docs/assets/moni-fab-menu/closeLabel--default.png +0 -0
- package/docs/assets/moni-fab-menu/color--default.png +0 -0
- package/docs/assets/moni-fab-menu/direction--default.png +0 -0
- package/docs/assets/moni-fab-menu/disabled--false.png +0 -0
- package/docs/assets/moni-fab-menu/disabled--true.png +0 -0
- package/docs/assets/moni-fab-menu/icon--default.png +0 -0
- package/docs/assets/moni-fab-menu/label--default.png +0 -0
- package/docs/assets/moni-fab-menu/open--false.png +0 -0
- package/docs/assets/moni-fab-menu/open--true.png +0 -0
- package/docs/assets/moni-fab-menu/position--default.png +0 -0
- package/docs/assets/moni-fab-menu/shape--circle.png +0 -0
- package/docs/assets/moni-fab-menu/shape--rounded.png +0 -0
- package/docs/assets/moni-fab-menu/size--default.png +0 -0
- package/docs/assets/moni-file-field/accept--default.png +0 -0
- package/docs/assets/moni-file-field/buttonLabel--default.png +0 -0
- package/docs/assets/moni-file-field/disabled--false.png +0 -0
- package/docs/assets/moni-file-field/disabled--true.png +0 -0
- package/docs/assets/moni-file-field/error--false.png +0 -0
- package/docs/assets/moni-file-field/error--true.png +0 -0
- package/docs/assets/moni-file-field/errorText--default.png +0 -0
- package/docs/assets/moni-file-field/helper--default.png +0 -0
- package/docs/assets/moni-file-field/icon--default.png +0 -0
- package/docs/assets/moni-file-field/label--default.png +0 -0
- package/docs/assets/moni-file-field/multiple--false.png +0 -0
- package/docs/assets/moni-file-field/multiple--true.png +0 -0
- package/docs/assets/moni-file-field/name--default.png +0 -0
- package/docs/assets/moni-file-field/shape--no-round.png +0 -0
- package/docs/assets/moni-file-field/shape--round.png +0 -0
- package/docs/assets/moni-file-field/shape--square.png +0 -0
- package/docs/assets/moni-file-field/size--extra.png +0 -0
- package/docs/assets/moni-file-field/size--large.png +0 -0
- package/docs/assets/moni-file-field/size--medium.png +0 -0
- package/docs/assets/moni-file-field/size--small.png +0 -0
- package/docs/assets/moni-file-field/trailingIcon--default.png +0 -0
- package/docs/assets/moni-file-field/value--default.png +0 -0
- package/docs/assets/moni-file-field/variant--filled.png +0 -0
- package/docs/assets/moni-file-field/variant--outlined.png +0 -0
- package/docs/assets/moni-icon/filled--false.png +0 -0
- package/docs/assets/moni-icon/filled--true.png +0 -0
- package/docs/assets/moni-icon/name--default.png +0 -0
- package/docs/assets/moni-icon/size--extra.png +0 -0
- package/docs/assets/moni-icon/size--large.png +0 -0
- package/docs/assets/moni-icon/size--medium.png +0 -0
- package/docs/assets/moni-icon/size--small.png +0 -0
- package/docs/assets/moni-icon/size--tiny.png +0 -0
- package/docs/assets/moni-list/rounded--false.png +0 -0
- package/docs/assets/moni-list/rounded--true.png +0 -0
- package/docs/assets/moni-list/variant--border.png +0 -0
- package/docs/assets/moni-list/variant--empty.png +0 -0
- package/docs/assets/moni-list-item/active--false.png +0 -0
- package/docs/assets/moni-list-item/active--true.png +0 -0
- package/docs/assets/moni-list-item/avatar--default.png +0 -0
- package/docs/assets/moni-list-item/disabled--false.png +0 -0
- package/docs/assets/moni-list-item/disabled--true.png +0 -0
- package/docs/assets/moni-list-item/href--default.png +0 -0
- package/docs/assets/moni-list-item/icon--default.png +0 -0
- package/docs/assets/moni-list-item/lines--default.png +0 -0
- package/docs/assets/moni-list-item/trailingIcon--default.png +0 -0
- package/docs/assets/moni-loading-indicator/variant--contained.png +0 -0
- package/docs/assets/moni-loading-indicator/variant--uncontained.png +0 -0
- package/docs/assets/moni-menu/active--true.png +0 -0
- package/docs/assets/moni-menu/flip--false.png +0 -0
- package/docs/assets/moni-menu/flip--true.png +0 -0
- package/docs/assets/moni-menu/noWrap--false.png +0 -0
- package/docs/assets/moni-menu/noWrap--true.png +0 -0
- package/docs/assets/moni-menu/placement--bottom.png +0 -0
- package/docs/assets/moni-menu/placement--left.png +0 -0
- package/docs/assets/moni-menu/placement--max.png +0 -0
- package/docs/assets/moni-menu/placement--min.png +0 -0
- package/docs/assets/moni-menu/placement--right.png +0 -0
- package/docs/assets/moni-menu/placement--top.png +0 -0
- package/docs/assets/moni-menu/space--extra-space.png +0 -0
- package/docs/assets/moni-menu/space--large-space.png +0 -0
- package/docs/assets/moni-menu/space--medium-space.png +0 -0
- package/docs/assets/moni-menu/space--no-space.png +0 -0
- package/docs/assets/moni-menu/space--small-space.png +0 -0
- package/docs/assets/moni-menu/space--space.png +0 -0
- package/docs/assets/moni-menu-item/active--false.png +0 -0
- package/docs/assets/moni-menu-item/active--true.png +0 -0
- package/docs/assets/moni-menu-item/disabled--false.png +0 -0
- package/docs/assets/moni-menu-item/disabled--true.png +0 -0
- package/docs/assets/moni-menu-item/icon--default.png +0 -0
- package/docs/assets/moni-menu-item/label--default.png +0 -0
- package/docs/assets/moni-morph-modal/autoSize--false.png +0 -0
- package/docs/assets/moni-morph-modal/autoSize--true.png +0 -0
- package/docs/assets/moni-morph-modal/expandedHeight--default.png +0 -0
- package/docs/assets/moni-morph-modal/expandedWidth--default.png +0 -0
- package/docs/assets/moni-morph-modal/hasBackdrop--false.png +0 -0
- package/docs/assets/moni-morph-modal/hasBackdrop--true.png +0 -0
- package/docs/assets/moni-morph-modal/modal--false.png +0 -0
- package/docs/assets/moni-morph-modal/modal--true.png +0 -0
- package/docs/assets/moni-morph-modal/open--true.png +0 -0
- package/docs/assets/moni-morph-modal/placement--default.png +0 -0
- package/docs/assets/moni-morph-modal/showCloseButton--false.png +0 -0
- package/docs/assets/moni-morph-modal/showCloseButton--true.png +0 -0
- package/docs/assets/moni-nav/layout--auto.png +0 -0
- package/docs/assets/moni-nav/layout--horizontal.png +0 -0
- package/docs/assets/moni-nav/layout--vertical.png +0 -0
- package/docs/assets/moni-nav/modal--false.png +0 -0
- package/docs/assets/moni-nav/modal--true.png +0 -0
- package/docs/assets/moni-nav/open--false.png +0 -0
- package/docs/assets/moni-nav/open--true.png +0 -0
- package/docs/assets/moni-nav/placement--bottom.png +0 -0
- package/docs/assets/moni-nav/placement--left.png +0 -0
- package/docs/assets/moni-nav/placement--right.png +0 -0
- package/docs/assets/moni-nav/placement--top.png +0 -0
- package/docs/assets/moni-nav/variant--drawer.png +0 -0
- package/docs/assets/moni-nav/variant--rail.png +0 -0
- package/docs/assets/moni-nav-item/active--false.png +0 -0
- package/docs/assets/moni-nav-item/active--true.png +0 -0
- package/docs/assets/moni-nav-item/href--default.png +0 -0
- package/docs/assets/moni-nav-item/icon--default.png +0 -0
- package/docs/assets/moni-nav-item/label--default.png +0 -0
- package/docs/assets/moni-nav-item/layout--default.png +0 -0
- package/docs/assets/moni-nav-item/placement--default.png +0 -0
- package/docs/assets/moni-nav-item/variant--default.png +0 -0
- package/docs/assets/moni-progress/bufferValue--default.png +0 -0
- package/docs/assets/moni-progress/indeterminate--false.png +0 -0
- package/docs/assets/moni-progress/indeterminate--true.png +0 -0
- package/docs/assets/moni-progress/label--default.png +0 -0
- package/docs/assets/moni-progress/max--default.png +0 -0
- package/docs/assets/moni-progress/mode--default.png +0 -0
- package/docs/assets/moni-progress/size--default.png +0 -0
- package/docs/assets/moni-progress/stopIndicator--false.png +0 -0
- package/docs/assets/moni-progress/stopIndicator--true.png +0 -0
- package/docs/assets/moni-progress/value--default.png +0 -0
- package/docs/assets/moni-progress/variant--default.png +0 -0
- package/docs/assets/moni-progress/waveTransition--false.png +0 -0
- package/docs/assets/moni-progress/waveTransition--true.png +0 -0
- package/docs/assets/moni-radio/checked--false.png +0 -0
- package/docs/assets/moni-radio/checked--true.png +0 -0
- package/docs/assets/moni-radio/checkedIcon--default.png +0 -0
- package/docs/assets/moni-radio/disabled--false.png +0 -0
- package/docs/assets/moni-radio/disabled--true.png +0 -0
- package/docs/assets/moni-radio/iconContainer--circle.png +0 -0
- package/docs/assets/moni-radio/iconContainer--none.png +0 -0
- package/docs/assets/moni-radio/label--default.png +0 -0
- package/docs/assets/moni-radio/name--default.png +0 -0
- package/docs/assets/moni-radio/size--extra.png +0 -0
- package/docs/assets/moni-radio/size--large.png +0 -0
- package/docs/assets/moni-radio/size--medium.png +0 -0
- package/docs/assets/moni-radio/size--small.png +0 -0
- package/docs/assets/moni-radio/uncheckedIcon--default.png +0 -0
- package/docs/assets/moni-radio/value--default.png +0 -0
- package/docs/assets/moni-ripple/active--false.png +0 -0
- package/docs/assets/moni-ripple/active--true.png +0 -0
- package/docs/assets/moni-ripple/color--primary.png +0 -0
- package/docs/assets/moni-ripple/color--secondary.png +0 -0
- package/docs/assets/moni-ripple/color--surface.png +0 -0
- package/docs/assets/moni-ripple/speed--fast.png +0 -0
- package/docs/assets/moni-ripple/speed--normal.png +0 -0
- package/docs/assets/moni-ripple/speed--slow.png +0 -0
- package/docs/assets/moni-ripple/x--default.png +0 -0
- package/docs/assets/moni-ripple/y--default.png +0 -0
- package/docs/assets/moni-segmented-button/gap--default.png +0 -0
- package/docs/assets/moni-segmented-button/hideCheck--false.png +0 -0
- package/docs/assets/moni-segmented-button/hideCheck--true.png +0 -0
- package/docs/assets/moni-segmented-button/multi--false.png +0 -0
- package/docs/assets/moni-segmented-button/multi--true.png +0 -0
- package/docs/assets/moni-segmented-button/name--default.png +0 -0
- package/docs/assets/moni-segmented-button/size--extra.png +0 -0
- package/docs/assets/moni-segmented-button/size--large.png +0 -0
- package/docs/assets/moni-segmented-button/size--medium.png +0 -0
- package/docs/assets/moni-segmented-button/size--small.png +0 -0
- package/docs/assets/moni-segmented-button/size--xlarge.png +0 -0
- package/docs/assets/moni-segmented-button/size--xsmall.png +0 -0
- package/docs/assets/moni-select/clearable--false.png +0 -0
- package/docs/assets/moni-select/clearable--true.png +0 -0
- package/docs/assets/moni-select/disabled--false.png +0 -0
- package/docs/assets/moni-select/disabled--true.png +0 -0
- package/docs/assets/moni-select/dropdownMaxHeight--default.png +0 -0
- package/docs/assets/moni-select/dropdownWidth--default.png +0 -0
- package/docs/assets/moni-select/error--false.png +0 -0
- package/docs/assets/moni-select/error--true.png +0 -0
- package/docs/assets/moni-select/errorText--default.png +0 -0
- package/docs/assets/moni-select/helper--default.png +0 -0
- package/docs/assets/moni-select/icon--default.png +0 -0
- package/docs/assets/moni-select/label--default.png +0 -0
- package/docs/assets/moni-select/loading--false.png +0 -0
- package/docs/assets/moni-select/loading--true.png +0 -0
- package/docs/assets/moni-select/name--default.png +0 -0
- package/docs/assets/moni-select/placeholder--default.png +0 -0
- package/docs/assets/moni-select/placement--auto.png +0 -0
- package/docs/assets/moni-select/placement--bottom.png +0 -0
- package/docs/assets/moni-select/placement--left.png +0 -0
- package/docs/assets/moni-select/placement--right.png +0 -0
- package/docs/assets/moni-select/placement--top.png +0 -0
- package/docs/assets/moni-select/positioning--absolute.png +0 -0
- package/docs/assets/moni-select/positioning--body.png +0 -0
- package/docs/assets/moni-select/positioning--fixed.png +0 -0
- package/docs/assets/moni-select/searchable--false.png +0 -0
- package/docs/assets/moni-select/searchable--true.png +0 -0
- package/docs/assets/moni-select/shape--no-round.png +0 -0
- package/docs/assets/moni-select/shape--round.png +0 -0
- package/docs/assets/moni-select/shape--square.png +0 -0
- package/docs/assets/moni-select/sheet--false.png +0 -0
- package/docs/assets/moni-select/sheet--true.png +0 -0
- package/docs/assets/moni-select/size--extra.png +0 -0
- package/docs/assets/moni-select/size--large.png +0 -0
- package/docs/assets/moni-select/size--medium.png +0 -0
- package/docs/assets/moni-select/size--small.png +0 -0
- package/docs/assets/moni-select/trailingIcon--default.png +0 -0
- package/docs/assets/moni-select/value--default.png +0 -0
- package/docs/assets/moni-select/variant--filled.png +0 -0
- package/docs/assets/moni-select/variant--outlined.png +0 -0
- package/docs/assets/moni-select-option/disabled--false.png +0 -0
- package/docs/assets/moni-select-option/disabled--true.png +0 -0
- package/docs/assets/moni-select-option/group--default.png +0 -0
- package/docs/assets/moni-select-option/label--default.png +0 -0
- package/docs/assets/moni-select-option/selected--false.png +0 -0
- package/docs/assets/moni-select-option/selected--true.png +0 -0
- package/docs/assets/moni-select-option/value--default.png +0 -0
- package/docs/assets/moni-shape/border--false.png +0 -0
- package/docs/assets/moni-shape/border--true.png +0 -0
- package/docs/assets/moni-shape/color--primary.png +0 -0
- package/docs/assets/moni-shape/color--secondary.png +0 -0
- package/docs/assets/moni-shape/color--surface.png +0 -0
- package/docs/assets/moni-shape/color--tertiary.png +0 -0
- package/docs/assets/moni-shape/duration--default.png +0 -0
- package/docs/assets/moni-shape/easing--default.png +0 -0
- package/docs/assets/moni-shape/name--empty.png +0 -0
- package/docs/assets/moni-shape/shadow--false.png +0 -0
- package/docs/assets/moni-shape/shadow--true.png +0 -0
- package/docs/assets/moni-shape/shapeRadius--default.png +0 -0
- package/docs/assets/moni-shape/size--extra.png +0 -0
- package/docs/assets/moni-shape/size--large.png +0 -0
- package/docs/assets/moni-shape/size--medium.png +0 -0
- package/docs/assets/moni-shape/size--small.png +0 -0
- package/docs/assets/moni-shape/type--default.png +0 -0
- package/docs/assets/moni-side-sheet/detached--false.png +0 -0
- package/docs/assets/moni-side-sheet/detached--true.png +0 -0
- package/docs/assets/moni-side-sheet/expandedWidth--default.png +0 -0
- package/docs/assets/moni-side-sheet/hideClose--false.png +0 -0
- package/docs/assets/moni-side-sheet/hideClose--true.png +0 -0
- package/docs/assets/moni-side-sheet/maxWidth--default.png +0 -0
- package/docs/assets/moni-side-sheet/modal--false.png +0 -0
- package/docs/assets/moni-side-sheet/modal--true.png +0 -0
- package/docs/assets/moni-side-sheet/noBorder--false.png +0 -0
- package/docs/assets/moni-side-sheet/noBorder--true.png +0 -0
- package/docs/assets/moni-side-sheet/open--true.png +0 -0
- package/docs/assets/moni-side-sheet/showBack--false.png +0 -0
- package/docs/assets/moni-side-sheet/showBack--true.png +0 -0
- package/docs/assets/moni-side-sheet/side--left.png +0 -0
- package/docs/assets/moni-side-sheet/side--right.png +0 -0
- package/docs/assets/moni-side-sheet/title--default.png +0 -0
- package/docs/assets/moni-side-sheet/withHandle--false.png +0 -0
- package/docs/assets/moni-side-sheet/withHandle--true.png +0 -0
- package/docs/assets/moni-slider/disabled--false.png +0 -0
- package/docs/assets/moni-slider/disabled--true.png +0 -0
- package/docs/assets/moni-slider/indicator--false.png +0 -0
- package/docs/assets/moni-slider/indicator--true.png +0 -0
- package/docs/assets/moni-slider/indicatorPlacement--bottom.png +0 -0
- package/docs/assets/moni-slider/indicatorPlacement--top.png +0 -0
- package/docs/assets/moni-slider/insetIcon--default.png +0 -0
- package/docs/assets/moni-slider/isVertical--false.png +0 -0
- package/docs/assets/moni-slider/isVertical--true.png +0 -0
- package/docs/assets/moni-slider/max--default.png +0 -0
- package/docs/assets/moni-slider/min--default.png +0 -0
- package/docs/assets/moni-slider/name--default.png +0 -0
- package/docs/assets/moni-slider/range--false.png +0 -0
- package/docs/assets/moni-slider/range--true.png +0 -0
- package/docs/assets/moni-slider/size--extra.png +0 -0
- package/docs/assets/moni-slider/size--large.png +0 -0
- package/docs/assets/moni-slider/size--medium.png +0 -0
- package/docs/assets/moni-slider/size--small.png +0 -0
- package/docs/assets/moni-slider/size--tiny.png +0 -0
- package/docs/assets/moni-slider/step--default.png +0 -0
- package/docs/assets/moni-slider/tickInterval--default.png +0 -0
- package/docs/assets/moni-slider/ticks--false.png +0 -0
- package/docs/assets/moni-slider/ticks--true.png +0 -0
- package/docs/assets/moni-snackbar/action--default.png +0 -0
- package/docs/assets/moni-snackbar/active--true.png +0 -0
- package/docs/assets/moni-snackbar/maxLines--default.png +0 -0
- package/docs/assets/moni-snackbar/placement--bottom.png +0 -0
- package/docs/assets/moni-snackbar/placement--top.png +0 -0
- package/docs/assets/moni-snackbar/text--default.png +0 -0
- package/docs/assets/moni-split-button/gap--default.png +0 -0
- package/docs/assets/moni-split-button/size--extra.png +0 -0
- package/docs/assets/moni-split-button/size--large.png +0 -0
- package/docs/assets/moni-split-button/size--medium.png +0 -0
- package/docs/assets/moni-split-button/size--small.png +0 -0
- package/docs/assets/moni-split-button/size--xlarge.png +0 -0
- package/docs/assets/moni-split-button/size--xsmall.png +0 -0
- package/docs/assets/moni-split-button/variant--elevated.png +0 -0
- package/docs/assets/moni-split-button/variant--filled.png +0 -0
- package/docs/assets/moni-split-button/variant--outlined.png +0 -0
- package/docs/assets/moni-split-button/variant--tonal.png +0 -0
- package/docs/assets/moni-step/active--false.png +0 -0
- package/docs/assets/moni-step/active--true.png +0 -0
- package/docs/assets/moni-step/completed--false.png +0 -0
- package/docs/assets/moni-step/completed--true.png +0 -0
- package/docs/assets/moni-step/description--default.png +0 -0
- package/docs/assets/moni-step/icon--default.png +0 -0
- package/docs/assets/moni-step/index--default.png +0 -0
- package/docs/assets/moni-step/orientation--horizontal.png +0 -0
- package/docs/assets/moni-step/orientation--vertical.png +0 -0
- package/docs/assets/moni-step/title--default.png +0 -0
- package/docs/assets/moni-stepper/current--default.png +0 -0
- package/docs/assets/moni-stepper/orientation--horizontal.png +0 -0
- package/docs/assets/moni-stepper/orientation--vertical.png +0 -0
- package/docs/assets/moni-switch/checked--false.png +0 -0
- package/docs/assets/moni-switch/checked--true.png +0 -0
- package/docs/assets/moni-switch/checkedIcon--default.png +0 -0
- package/docs/assets/moni-switch/disabled--false.png +0 -0
- package/docs/assets/moni-switch/disabled--true.png +0 -0
- package/docs/assets/moni-switch/icon--false.png +0 -0
- package/docs/assets/moni-switch/icon--true.png +0 -0
- package/docs/assets/moni-switch/label--default.png +0 -0
- package/docs/assets/moni-switch/name--default.png +0 -0
- package/docs/assets/moni-switch/uncheckedIcon--default.png +0 -0
- package/docs/assets/moni-switch/value--default.png +0 -0
- package/docs/assets/moni-tab/active--false.png +0 -0
- package/docs/assets/moni-tab/active--true.png +0 -0
- package/docs/assets/moni-tab/href--default.png +0 -0
- package/docs/assets/moni-tab/icon--default.png +0 -0
- package/docs/assets/moni-tab/label--default.png +0 -0
- package/docs/assets/moni-tabs/align--center.png +0 -0
- package/docs/assets/moni-tabs/align--default.png +0 -0
- package/docs/assets/moni-tabs/align--left.png +0 -0
- package/docs/assets/moni-tabs/align--right.png +0 -0
- package/docs/assets/moni-tabs/indicatorSize--default.png +0 -0
- package/docs/assets/moni-tabs/indicatorSize--max.png +0 -0
- package/docs/assets/moni-tabs/indicatorSize--min.png +0 -0
- package/docs/assets/moni-tabs/mode--primary.png +0 -0
- package/docs/assets/moni-tabs/mode--secondary.png +0 -0
- package/docs/assets/moni-tabs/scrollable--false.png +0 -0
- package/docs/assets/moni-tabs/scrollable--true.png +0 -0
- package/docs/assets/moni-tabs/vertical--false.png +0 -0
- package/docs/assets/moni-tabs/vertical--true.png +0 -0
- package/docs/assets/moni-text-field/disabled--false.png +0 -0
- package/docs/assets/moni-text-field/disabled--true.png +0 -0
- package/docs/assets/moni-text-field/error--false.png +0 -0
- package/docs/assets/moni-text-field/error--true.png +0 -0
- package/docs/assets/moni-text-field/errorText--default.png +0 -0
- package/docs/assets/moni-text-field/helper--default.png +0 -0
- package/docs/assets/moni-text-field/icon--default.png +0 -0
- package/docs/assets/moni-text-field/label--default.png +0 -0
- package/docs/assets/moni-text-field/loading--false.png +0 -0
- package/docs/assets/moni-text-field/loading--true.png +0 -0
- package/docs/assets/moni-text-field/mask--default.png +0 -0
- package/docs/assets/moni-text-field/maskAlias--default.png +0 -0
- package/docs/assets/moni-text-field/maskOptions--default.png +0 -0
- package/docs/assets/moni-text-field/name--default.png +0 -0
- package/docs/assets/moni-text-field/placeholder--default.png +0 -0
- package/docs/assets/moni-text-field/prefix--default.png +0 -0
- package/docs/assets/moni-text-field/shape--no-round.png +0 -0
- package/docs/assets/moni-text-field/shape--round.png +0 -0
- package/docs/assets/moni-text-field/size--extra.png +0 -0
- package/docs/assets/moni-text-field/size--large.png +0 -0
- package/docs/assets/moni-text-field/size--medium.png +0 -0
- package/docs/assets/moni-text-field/size--small.png +0 -0
- package/docs/assets/moni-text-field/suffix--default.png +0 -0
- package/docs/assets/moni-text-field/suffixButtonIcon--default.png +0 -0
- package/docs/assets/moni-text-field/suffixButtonLabel--default.png +0 -0
- package/docs/assets/moni-text-field/trailingIcon--default.png +0 -0
- package/docs/assets/moni-text-field/type--email.png +0 -0
- package/docs/assets/moni-text-field/type--number.png +0 -0
- package/docs/assets/moni-text-field/type--password.png +0 -0
- package/docs/assets/moni-text-field/type--search.png +0 -0
- package/docs/assets/moni-text-field/type--tel.png +0 -0
- package/docs/assets/moni-text-field/type--text.png +0 -0
- package/docs/assets/moni-text-field/type--url.png +0 -0
- package/docs/assets/moni-text-field/value--default.png +0 -0
- package/docs/assets/moni-text-field/variant--filled.png +0 -0
- package/docs/assets/moni-text-field/variant--outlined.png +0 -0
- package/docs/assets/moni-text-field/variant--underlined.png +0 -0
- package/docs/assets/moni-textarea/autosize--false.png +0 -0
- package/docs/assets/moni-textarea/autosize--true.png +0 -0
- package/docs/assets/moni-textarea/disabled--false.png +0 -0
- package/docs/assets/moni-textarea/disabled--true.png +0 -0
- package/docs/assets/moni-textarea/error--false.png +0 -0
- package/docs/assets/moni-textarea/error--true.png +0 -0
- package/docs/assets/moni-textarea/errorText--default.png +0 -0
- package/docs/assets/moni-textarea/helper--default.png +0 -0
- package/docs/assets/moni-textarea/icon--default.png +0 -0
- package/docs/assets/moni-textarea/label--default.png +0 -0
- package/docs/assets/moni-textarea/loading--false.png +0 -0
- package/docs/assets/moni-textarea/loading--true.png +0 -0
- package/docs/assets/moni-textarea/maxRows--default.png +0 -0
- package/docs/assets/moni-textarea/maxlength--default.png +0 -0
- package/docs/assets/moni-textarea/name--default.png +0 -0
- package/docs/assets/moni-textarea/noCounter--false.png +0 -0
- package/docs/assets/moni-textarea/noCounter--true.png +0 -0
- package/docs/assets/moni-textarea/placeholder--default.png +0 -0
- package/docs/assets/moni-textarea/prefix--default.png +0 -0
- package/docs/assets/moni-textarea/rows--default.png +0 -0
- package/docs/assets/moni-textarea/shape--no-round.png +0 -0
- package/docs/assets/moni-textarea/shape--round.png +0 -0
- package/docs/assets/moni-textarea/shape--square.png +0 -0
- package/docs/assets/moni-textarea/size--extra.png +0 -0
- package/docs/assets/moni-textarea/size--large.png +0 -0
- package/docs/assets/moni-textarea/size--medium.png +0 -0
- package/docs/assets/moni-textarea/size--small.png +0 -0
- package/docs/assets/moni-textarea/suffix--default.png +0 -0
- package/docs/assets/moni-textarea/trailingIcon--default.png +0 -0
- package/docs/assets/moni-textarea/value--default.png +0 -0
- package/docs/assets/moni-textarea/variant--filled.png +0 -0
- package/docs/assets/moni-textarea/variant--outlined.png +0 -0
- package/docs/assets/moni-time-picker/hideHeadline--false.png +0 -0
- package/docs/assets/moni-time-picker/hideHeadline--true.png +0 -0
- package/docs/assets/moni-time-picker/hideModeToggle--false.png +0 -0
- package/docs/assets/moni-time-picker/hideModeToggle--true.png +0 -0
- package/docs/assets/moni-time-picker/hourLabel--default.png +0 -0
- package/docs/assets/moni-time-picker/minuteLabel--default.png +0 -0
- package/docs/assets/moni-time-picker/mode--dial.png +0 -0
- package/docs/assets/moni-time-picker/mode--input.png +0 -0
- package/docs/assets/moni-time-picker/orientation--auto.png +0 -0
- package/docs/assets/moni-time-picker/orientation--horizontal.png +0 -0
- package/docs/assets/moni-time-picker/orientation--vertical.png +0 -0
- package/docs/assets/moni-time-picker/use24Hour--false.png +0 -0
- package/docs/assets/moni-time-picker/use24Hour--true.png +0 -0
- package/docs/assets/moni-time-picker/value--default.png +0 -0
- package/docs/assets/moni-toolbar/scrolled--false.png +0 -0
- package/docs/assets/moni-toolbar/scrolled--true.png +0 -0
- package/docs/assets/moni-toolbar/title--default.png +0 -0
- package/docs/assets/moni-toolbar/type--floating.png +0 -0
- package/docs/assets/moni-toolbar/type--standard.png +0 -0
- package/docs/assets/moni-tooltip/position--bottom-end.png +0 -0
- package/docs/assets/moni-tooltip/position--bottom-start.png +0 -0
- package/docs/assets/moni-tooltip/position--bottom.png +0 -0
- package/docs/assets/moni-tooltip/position--left.png +0 -0
- package/docs/assets/moni-tooltip/position--right.png +0 -0
- package/docs/assets/moni-tooltip/position--top-end.png +0 -0
- package/docs/assets/moni-tooltip/position--top-start.png +0 -0
- package/docs/assets/moni-tooltip/position--top.png +0 -0
- package/docs/assets/moni-tooltip/rich--false.png +0 -0
- package/docs/assets/moni-tooltip/rich--true.png +0 -0
- package/docs/assets/moni-tooltip/rotateWithTarget--false.png +0 -0
- package/docs/assets/moni-tooltip/rotateWithTarget--true.png +0 -0
- package/docs/assets/moni-tooltip/size--empty.png +0 -0
- package/docs/assets/moni-tooltip/size--large.png +0 -0
- package/docs/assets/moni-tooltip/size--medium.png +0 -0
- package/docs/assets/moni-tooltip/size--small.png +0 -0
- package/docs/assets/moni-tooltip/text--default.png +0 -0
- package/docs/assets/moni-typography/as--default.png +0 -0
- package/docs/assets/moni-typography/size--large.png +0 -0
- package/docs/assets/moni-typography/size--medium.png +0 -0
- package/docs/assets/moni-typography/size--small.png +0 -0
- package/docs/assets/moni-typography/text--default.png +0 -0
- package/docs/assets/moni-typography/variant--body.png +0 -0
- package/docs/assets/moni-typography/variant--display.png +0 -0
- package/docs/assets/moni-typography/variant--headline.png +0 -0
- package/docs/assets/moni-typography/variant--label.png +0 -0
- package/docs/assets/moni-typography/variant--title.png +0 -0
- package/docs/components/app-bar.md +192 -0
- package/docs/components/badge.md +207 -0
- package/docs/components/bottom-sheet.md +220 -0
- package/docs/components/button-group.md +207 -0
- package/docs/components/button-segment.md +171 -0
- package/docs/components/button.md +277 -0
- package/docs/components/card.md +181 -0
- package/docs/components/carousel.md +275 -0
- package/docs/components/checkbox.md +196 -0
- package/docs/components/chip.md +222 -0
- package/docs/components/color-field.md +195 -0
- package/docs/components/context-menu.md +132 -0
- package/docs/components/dialog.md +193 -0
- package/docs/components/divider.md +123 -0
- package/docs/components/expansion.md +130 -0
- package/docs/components/fab-menu.md +162 -0
- package/docs/components/fab.md +202 -0
- package/docs/components/file-field.md +244 -0
- package/docs/components/icon.md +156 -0
- package/docs/components/list-item.md +189 -0
- package/docs/components/list.md +121 -0
- package/docs/components/loading-indicator.md +124 -0
- package/docs/components/menu-item.md +131 -0
- package/docs/components/menu.md +181 -0
- package/docs/components/morph-modal.md +183 -0
- package/docs/components/nav-item.md +169 -0
- package/docs/components/nav.md +172 -0
- package/docs/components/progress.md +172 -0
- package/docs/components/radio.md +200 -0
- package/docs/components/ripple.md +177 -0
- package/docs/components/segmented-button.md +145 -0
- package/docs/components/select-option.md +148 -0
- package/docs/components/select.md +332 -0
- package/docs/components/shape.md +169 -0
- package/docs/components/side-sheet.md +218 -0
- package/docs/components/slider.md +240 -0
- package/docs/components/snackbar.md +167 -0
- package/docs/components/split-button.md +148 -0
- package/docs/components/step.md +169 -0
- package/docs/components/stepper.md +121 -0
- package/docs/components/switch.md +198 -0
- package/docs/components/tab.md +133 -0
- package/docs/components/tabs.md +163 -0
- package/docs/components/text-field.md +321 -0
- package/docs/components/textarea.md +290 -0
- package/docs/components/time-picker.md +184 -0
- package/docs/components/toolbar.md +142 -0
- package/docs/components/tooltip.md +184 -0
- package/docs/components/typography.md +148 -0
- package/docs/llms.txt +53 -0
- package/package.json +6 -1
- package/src/components/index.test.ts +24 -0
- package/src/components/index.ts +8 -1
- package/src/components/moni-button-group.test.ts +15 -1
- package/src/components/moni-button-group.ts +19 -4
- package/src/components/moni-button.test.ts +8 -2
- package/src/components/moni-button.ts +2 -2
- package/src/components/moni-carousel.test.ts +15 -1
- package/src/components/moni-carousel.ts +19 -2
- package/src/components/moni-color-field.test.ts +71 -0
- package/src/components/moni-color-field.ts +50 -1
- package/src/components/moni-context-menu.test.ts +16 -0
- package/src/components/moni-context-menu.ts +14 -2
- package/src/components/moni-file-field.test.ts +4 -2
- package/src/components/moni-file-field.ts +6 -3
- package/src/components/moni-morph-modal.test.ts +173 -2
- package/src/components/moni-morph-modal.ts +622 -55
- package/src/components/moni-nav.ts +6 -3
- package/src/components/moni-select-option.ts +19 -0
- package/src/components/moni-select.test.ts +16 -0
- package/src/components/moni-select.ts +2 -0
- package/src/components/moni-side-sheet.test.ts +39 -2
- package/src/components/moni-side-sheet.ts +49 -17
- package/src/components/moni-snackbar.test.ts +16 -0
- package/src/components/moni-snackbar.ts +24 -1
- package/src/components/moni-stepper.ts +4 -0
- package/src/components/moni-text-field.test.ts +25 -0
- package/src/components/moni-text-field.ts +2 -0
- package/src/components/moni-textarea.test.ts +16 -0
- package/src/components/moni-textarea.ts +2 -0
- package/src/components/moni-toolbar.test.ts +6 -3
- package/src/components/moni-toolbar.ts +4 -2
- package/src/components/moni-tooltip.test.ts +77 -3
- package/src/components/moni-tooltip.ts +194 -3
- package/src/index.ts +8 -0
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
# Carousel
|
|
2
|
+
|
|
3
|
+
Componente Material Design 3 Expressive Carousel.
|
|
4
|
+
|
|
5
|
+
Los carruseles muestran una colección de elementos relacionados en una lista horizontal desplazable.
|
|
6
|
+
Permiten a los usuarios navegar rápidamente a través de elementos como imágenes, tarjetas, o productos.
|
|
7
|
+
|
|
8
|
+
**Referencia de la especificación M3:** `m3-docs/components/carousel/specs.md`
|
|
9
|
+
|
|
10
|
+
**Variantes de diseño:**
|
|
11
|
+
- `multi-browse` (por defecto) — Muestra una mezcla de elementos grandes, medianos y pequeños (asomando).
|
|
12
|
+
Mejor para explorar un gran número de elementos.
|
|
13
|
+
- `hero` — Se enfoca en un elemento primario grande mientras muestra una fracción del
|
|
14
|
+
siguiente elemento. Mejor para destacar contenido importante.
|
|
15
|
+
- `uncontained` — Diseño estándar donde todos los elementos tienen el mismo ancho y
|
|
16
|
+
se desbordan por los bordes del contenedor.
|
|
17
|
+
|
|
18
|
+
**Animación y Gestos:**
|
|
19
|
+
Este componente usa GSAP para animaciones suaves de arrastre, deslizamiento y ajuste,
|
|
20
|
+
reflejando las especificaciones de movimiento de alta fidelidad de M3 Expressive. Maneja
|
|
21
|
+
gestos táctiles para móviles y arrastre del ratón para escritorio.
|
|
22
|
+
|
|
23
|
+
**Auto-tamaño (modo `auto`):**
|
|
24
|
+
Cuando `auto=true` (por defecto), el carrusel mide su propio ancho y
|
|
25
|
+
calcula dinámicamente los tamaños óptimos para los elementos grandes, medianos y pequeños
|
|
26
|
+
basados en el `layout` activo para asegurar que encajen perfectamente sin huecos incómodos
|
|
27
|
+
ni recortes en los bordes.
|
|
28
|
+
|
|
29
|
+
- Tag: `moni-carousel`
|
|
30
|
+
- Clase: `MoniCarousel`
|
|
31
|
+
- Fuente: `src/components/moni-carousel.ts`
|
|
32
|
+
|
|
33
|
+
## Cuándo usarlo
|
|
34
|
+
|
|
35
|
+
Usa `moni-carousel` cuando la interfaz necesite el patrón que describe este componente. Antes de elegirlo, revisa sus estados, contenido permitido y comportamiento accesible; las capturas del final muestran el resultado real de cada variante.
|
|
36
|
+
|
|
37
|
+
## Uso básico
|
|
38
|
+
|
|
39
|
+
```html
|
|
40
|
+
<!-- Uso declarativo a través de propiedades DOM (recomendado) -->
|
|
41
|
+
<moni-carousel layout="hero"></moni-carousel>
|
|
42
|
+
<script>
|
|
43
|
+
const carousel = document.querySelector('moni-carousel');
|
|
44
|
+
carousel.items = [
|
|
45
|
+
{ title: 'Elemento 1', img: '/img1.jpg', href: '/link1' },
|
|
46
|
+
{ title: 'Elemento 2', img: '/img2.jpg' }
|
|
47
|
+
];
|
|
48
|
+
</script>
|
|
49
|
+
|
|
50
|
+
<!-- Uso basado en slots (para SSR o contenido estático simple) -->
|
|
51
|
+
<moni-carousel layout="uncontained">
|
|
52
|
+
<div slot="item">
|
|
53
|
+
<img src="/img1.jpg" />
|
|
54
|
+
<h3>Elemento Estático</h3>
|
|
55
|
+
</div>
|
|
56
|
+
</moni-carousel>
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Ejemplo práctico con Tailwind CSS v4
|
|
60
|
+
|
|
61
|
+
Tailwind controla composición, ancho, espaciado y responsividad alrededor del Web Component. Moni UI conserva el aspecto interno mediante Shadow DOM y design tokens.
|
|
62
|
+
|
|
63
|
+
```html
|
|
64
|
+
<div class="mx-auto flex w-full max-w-md flex-col gap-4 p-6">
|
|
65
|
+
<moni-carousel></moni-carousel>
|
|
66
|
+
</div>
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
No necesitas un plugin de Tailwind. En tu CSS v4 importa ambas capas una sola vez:
|
|
70
|
+
|
|
71
|
+
```css
|
|
72
|
+
@import "tailwindcss";
|
|
73
|
+
@import "@moni-labs/moni-ui/styles";
|
|
74
|
+
|
|
75
|
+
@theme {
|
|
76
|
+
--font-sans: Inter, ui-sans-serif, system-ui, sans-serif;
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Las utilities aplicadas directamente al tag afectan su caja anfitriona. No uses selectores Tailwind para asumir acceso al DOM interno; personaliza únicamente con los CSS Parts y Custom Properties públicos enumerados más abajo.
|
|
81
|
+
|
|
82
|
+
## Recomendaciones
|
|
83
|
+
|
|
84
|
+
- Usa `moni-carousel` para su propósito semántico; no lo sustituyas por un `div` estilizado.
|
|
85
|
+
- Aplica Tailwind al layout exterior. Para el interior del Shadow DOM usa las variables CSS y `::part()` documentados.
|
|
86
|
+
- Prueba los estados claro, oscuro, foco por teclado, deshabilitado y viewport móvil antes de publicar.
|
|
87
|
+
|
|
88
|
+
## Propiedades y atributos
|
|
89
|
+
|
|
90
|
+
| Atributo | Propiedad | Tipo | Default | Descripción |
|
|
91
|
+
|---|---|---|---|---|
|
|
92
|
+
| `items` | `items` | `CarouselItem[]` | `[]` | Array de elementos a mostrar en el carrusel. Cada elemento requiere al menos `title` e `img`. El opcional `href` renderiza la tarjeta como un enlace. |
|
|
93
|
+
| `layout` | `layout` | `'multi-browse' \| 'hero' \| 'uncontained'` | `'multi-browse'` | Variante de diseño visual. Determina cuántos elementos son visibles y cómo escalan. - `'multi-browse'` (por defecto) — Elementos grandes + medianos + pequeños (asomando). - `'hero'` — Uno o más elementos grandes + elemento pequeño asomando. - `'uncontained'` — Elementos de igual ancho que se desbordan por el borde. |
|
|
94
|
+
| `auto` | `auto` | `boolean` | `true` | Cuando es `true`, el carrusel calcula los tamaños óptimos de los elementos automáticamente basado en el ancho del contenedor y la variante de `layout` activa. Cuando es `false`, usa los valores explícitos `largeWidth`, `mediumWidth`, `smallWidth`. |
|
|
95
|
+
| `large-width` | `largeWidth` | `number` | `220` | Ancho en píxeles para el elemento grande (enfoque principal) del carrusel. Solo se usa cuando `auto=false`. |
|
|
96
|
+
| `medium-width` | `mediumWidth` | `number` | `96` | Ancho en píxeles para el elemento de tamaño mediano (secundario) del carrusel. Solo se usa cuando `auto=false` y `layout='multi-browse'`. |
|
|
97
|
+
| `small-width` | `smallWidth` | `number` | `48` | Ancho en píxeles para el elemento pequeño (asomando) del carrusel. Solo se usa cuando `auto=false`. |
|
|
98
|
+
| `gap` | `gap` | `number` | `8` | Espacio en píxeles entre los elementos del carrusel. |
|
|
99
|
+
| `padding` | `padding` | `number` | `16` | Relleno horizontal en píxeles aplicado al inicio de la pista del carrusel. |
|
|
100
|
+
| `border-radius` | `borderRadius` | `number` | `28` | Radio del borde en píxeles aplicado a cada tarjeta. |
|
|
101
|
+
| `show-all` | `showAll` | `boolean` | `false` | Cuando es `true`, renderiza un enlace "Mostrar todo" en el encabezado. |
|
|
102
|
+
| `show-all-text` | `showAllText` | `string` | `'Show all'` | Texto de etiqueta para el enlace "Mostrar todo". |
|
|
103
|
+
| `header-text` | `headerText` | `string` | `''` | Encabezado de sección opcional renderizado sobre la pista del carrusel. |
|
|
104
|
+
| `hide-nav` | `hideNav` | `boolean` | `false` | Cuando es `true`, oculta los botones de flecha de navegación anterior/siguiente. |
|
|
105
|
+
| `infinite` | `infinite` | `boolean` | `false` | Cuando es `true`, habilita el bucle infinito sin interrupciones clonando la lista de elementos a través de un búfer de desplazamiento virtual grande, luego reposicionando silenciosamente el desplazamiento cuando el usuario se acerca a cualquier borde. |
|
|
106
|
+
| `autoplay` | `autoplay` | `boolean` | `false` | Cuando es `true`, avanza automáticamente el carrusel en el intervalo definido por `autoplayInterval`. La reproducción automática se detiene durante las interacciones de arrastre activas. |
|
|
107
|
+
| `autoplay-interval` | `autoplayInterval` | `number` | `3000` | Milisegundos entre los avances automáticos de diapositivas cuando `autoplay=true`. |
|
|
108
|
+
|
|
109
|
+
## Slots
|
|
110
|
+
|
|
111
|
+
- `item`: Alternativa a la propiedad `items`. Inserta elementos HTML individuales
|
|
112
|
+
en lugar de pasar objetos de datos.
|
|
113
|
+
|
|
114
|
+
## Eventos
|
|
115
|
+
|
|
116
|
+
- `item-click`: evento compuesto y burbujeante emitido por el componente.
|
|
117
|
+
- `show-all-click`: evento compuesto y burbujeante emitido por el componente.
|
|
118
|
+
|
|
119
|
+
## Métodos públicos
|
|
120
|
+
|
|
121
|
+
No expone métodos públicos adicionales.
|
|
122
|
+
|
|
123
|
+
## CSS Parts
|
|
124
|
+
|
|
125
|
+
- `carousel`: El envoltorio exterior.
|
|
126
|
+
- `track`: El elemento de la pista desplazable.
|
|
127
|
+
- `item`: Contenedores de elementos del carrusel individuales.
|
|
128
|
+
- `img`: Los elementos de imagen dentro de los elementos.
|
|
129
|
+
- `title`: Los elementos de texto de título dentro de los elementos.
|
|
130
|
+
|
|
131
|
+
## CSS Custom Properties consumidas
|
|
132
|
+
|
|
133
|
+
- `--carousel-border-radius`
|
|
134
|
+
- `--carousel-gap`
|
|
135
|
+
- `--carousel-padding`
|
|
136
|
+
- `--carousel-right-padding`
|
|
137
|
+
- `--carousel-snap-width`
|
|
138
|
+
- `--carousel-track-width`
|
|
139
|
+
- `--elevate1`
|
|
140
|
+
- `--elevate2`
|
|
141
|
+
- `--font-icon`
|
|
142
|
+
- `--font-title`
|
|
143
|
+
- `--on-primary-container`
|
|
144
|
+
- `--on-surface`
|
|
145
|
+
- `--primary`
|
|
146
|
+
- `--primary-container`
|
|
147
|
+
- `--speed2`
|
|
148
|
+
- `--surface-container-high`
|
|
149
|
+
- `--surface-container-highest`
|
|
150
|
+
|
|
151
|
+
## Referencia visual por variable
|
|
152
|
+
|
|
153
|
+
Cada imagen se genera con el componente real: cambia solo la variable indicada y mantiene estable el resto del escenario. Úsala para comparar estados, no como sustituto de la API.
|
|
154
|
+
|
|
155
|
+
### `items`
|
|
156
|
+
|
|
157
|
+
Array de elementos a mostrar en el carrusel.
|
|
158
|
+
Cada elemento requiere al menos `title` e `img`. El opcional `href` renderiza la tarjeta como un enlace.
|
|
159
|
+
|
|
160
|
+

|
|
161
|
+
|
|
162
|
+
### `layout`
|
|
163
|
+
|
|
164
|
+
Variante de diseño visual. Determina cuántos elementos son visibles y cómo escalan.
|
|
165
|
+
- `'multi-browse'` (por defecto) — Elementos grandes + medianos + pequeños (asomando).
|
|
166
|
+
- `'hero'` — Uno o más elementos grandes + elemento pequeño asomando.
|
|
167
|
+
- `'uncontained'` — Elementos de igual ancho que se desbordan por el borde.
|
|
168
|
+
|
|
169
|
+

|
|
170
|
+
|
|
171
|
+

|
|
172
|
+
|
|
173
|
+

|
|
174
|
+
|
|
175
|
+
### `auto`
|
|
176
|
+
|
|
177
|
+
Cuando es `true`, el carrusel calcula los tamaños óptimos de los elementos automáticamente
|
|
178
|
+
basado en el ancho del contenedor y la variante de `layout` activa.
|
|
179
|
+
Cuando es `false`, usa los valores explícitos `largeWidth`, `mediumWidth`, `smallWidth`.
|
|
180
|
+
|
|
181
|
+

|
|
182
|
+
|
|
183
|
+

|
|
184
|
+
|
|
185
|
+
### `large-width`
|
|
186
|
+
|
|
187
|
+
Ancho en píxeles para el elemento grande (enfoque principal) del carrusel.
|
|
188
|
+
Solo se usa cuando `auto=false`.
|
|
189
|
+
|
|
190
|
+

|
|
191
|
+
|
|
192
|
+
### `medium-width`
|
|
193
|
+
|
|
194
|
+
Ancho en píxeles para el elemento de tamaño mediano (secundario) del carrusel.
|
|
195
|
+
Solo se usa cuando `auto=false` y `layout='multi-browse'`.
|
|
196
|
+
|
|
197
|
+

|
|
198
|
+
|
|
199
|
+
### `small-width`
|
|
200
|
+
|
|
201
|
+
Ancho en píxeles para el elemento pequeño (asomando) del carrusel.
|
|
202
|
+
Solo se usa cuando `auto=false`.
|
|
203
|
+
|
|
204
|
+

|
|
205
|
+
|
|
206
|
+
### `gap`
|
|
207
|
+
|
|
208
|
+
Espacio en píxeles entre los elementos del carrusel.
|
|
209
|
+
|
|
210
|
+

|
|
211
|
+
|
|
212
|
+
### `padding`
|
|
213
|
+
|
|
214
|
+
Relleno horizontal en píxeles aplicado al inicio de la pista del carrusel.
|
|
215
|
+
|
|
216
|
+

|
|
217
|
+
|
|
218
|
+
### `border-radius`
|
|
219
|
+
|
|
220
|
+
Radio del borde en píxeles aplicado a cada tarjeta.
|
|
221
|
+
|
|
222
|
+

|
|
223
|
+
|
|
224
|
+
### `show-all`
|
|
225
|
+
|
|
226
|
+
Cuando es `true`, renderiza un enlace "Mostrar todo" en el encabezado.
|
|
227
|
+
|
|
228
|
+

|
|
229
|
+
|
|
230
|
+

|
|
231
|
+
|
|
232
|
+
### `show-all-text`
|
|
233
|
+
|
|
234
|
+
Texto de etiqueta para el enlace "Mostrar todo".
|
|
235
|
+
|
|
236
|
+

|
|
237
|
+
|
|
238
|
+
### `header-text`
|
|
239
|
+
|
|
240
|
+
Encabezado de sección opcional renderizado sobre la pista del carrusel.
|
|
241
|
+
|
|
242
|
+

|
|
243
|
+
|
|
244
|
+
### `hide-nav`
|
|
245
|
+
|
|
246
|
+
Cuando es `true`, oculta los botones de flecha de navegación anterior/siguiente.
|
|
247
|
+
|
|
248
|
+

|
|
249
|
+
|
|
250
|
+

|
|
251
|
+
|
|
252
|
+
### `infinite`
|
|
253
|
+
|
|
254
|
+
Cuando es `true`, habilita el bucle infinito sin interrupciones clonando la lista de elementos
|
|
255
|
+
a través de un búfer de desplazamiento virtual grande, luego reposicionando silenciosamente
|
|
256
|
+
el desplazamiento cuando el usuario se acerca a cualquier borde.
|
|
257
|
+
|
|
258
|
+

|
|
259
|
+
|
|
260
|
+

|
|
261
|
+
|
|
262
|
+
### `autoplay`
|
|
263
|
+
|
|
264
|
+
Cuando es `true`, avanza automáticamente el carrusel en el intervalo definido
|
|
265
|
+
por `autoplayInterval`. La reproducción automática se detiene durante las interacciones de arrastre activas.
|
|
266
|
+
|
|
267
|
+

|
|
268
|
+
|
|
269
|
+

|
|
270
|
+
|
|
271
|
+
### `autoplay-interval`
|
|
272
|
+
|
|
273
|
+
Milisegundos entre los avances automáticos de diapositivas cuando `autoplay=true`.
|
|
274
|
+
|
|
275
|
+

|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
# Checkbox
|
|
2
|
+
|
|
3
|
+
Componente Material Design 3 Checkbox.
|
|
4
|
+
|
|
5
|
+
Los checkboxes permiten a los usuarios seleccionar uno o más elementos de un conjunto, o alternar
|
|
6
|
+
una sola opción binaria. Son envolturas solo visuales — el consumidor es
|
|
7
|
+
responsable de conectar la lógica de envío y validación del formulario.
|
|
8
|
+
|
|
9
|
+
**Arquitectura visual (Patrón BeerCSS):**
|
|
10
|
+
El `<input type="checkbox">` nativo ocupa espacio real en el diseño (mínimo 16×16)
|
|
11
|
+
pero está oculto visualmente con `opacity: 0`. Un hermano `<span>` renderizado después
|
|
12
|
+
del input contiene dos pseudo-elementos:
|
|
13
|
+
- `::before` — el icono visible del checkbox (ligadura de Material Symbols).
|
|
14
|
+
- `::after` — el anillo de onda (ripple) de la capa de estado hover/focus.
|
|
15
|
+
|
|
16
|
+
El contenido de `::before` cambia entre:
|
|
17
|
+
- `'check_box_outline_blank'` (desmarcado)
|
|
18
|
+
- `'check_box'` (marcado)
|
|
19
|
+
- `'indeterminate_check_box'` (estado nativo indeterminado)
|
|
20
|
+
|
|
21
|
+
**Integración de formulario:**
|
|
22
|
+
Establecer `name` y `value` los pasa al elemento `<input>` nativo,
|
|
23
|
+
permitiendo la participación en envíos de formularios HTML.
|
|
24
|
+
|
|
25
|
+
- Tag: `moni-checkbox`
|
|
26
|
+
- Clase: `MoniCheckbox`
|
|
27
|
+
- Fuente: `src/components/moni-checkbox.ts`
|
|
28
|
+
|
|
29
|
+
## Cuándo usarlo
|
|
30
|
+
|
|
31
|
+
Usa `moni-checkbox` cuando la interfaz necesite el patrón que describe este componente. Antes de elegirlo, revisa sus estados, contenido permitido y comportamiento accesible; las capturas del final muestran el resultado real de cada variante.
|
|
32
|
+
|
|
33
|
+
## Uso básico
|
|
34
|
+
|
|
35
|
+
```html
|
|
36
|
+
<moni-checkbox label="Aceptar términos" name="terms" value="yes"></moni-checkbox>
|
|
37
|
+
|
|
38
|
+
<script>
|
|
39
|
+
document.querySelector('moni-checkbox').addEventListener('moni-change', (e) => {
|
|
40
|
+
console.log('checked:', e.target.checked);
|
|
41
|
+
});
|
|
42
|
+
</script>
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Ejemplo práctico con Tailwind CSS v4
|
|
46
|
+
|
|
47
|
+
Tailwind controla composición, ancho, espaciado y responsividad alrededor del Web Component. Moni UI conserva el aspecto interno mediante Shadow DOM y design tokens.
|
|
48
|
+
|
|
49
|
+
```html
|
|
50
|
+
<div class="mx-auto flex w-full max-w-md flex-col gap-4 p-6">
|
|
51
|
+
<moni-checkbox label="Ejemplo"></moni-checkbox>
|
|
52
|
+
</div>
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
No necesitas un plugin de Tailwind. En tu CSS v4 importa ambas capas una sola vez:
|
|
56
|
+
|
|
57
|
+
```css
|
|
58
|
+
@import "tailwindcss";
|
|
59
|
+
@import "@moni-labs/moni-ui/styles";
|
|
60
|
+
|
|
61
|
+
@theme {
|
|
62
|
+
--font-sans: Inter, ui-sans-serif, system-ui, sans-serif;
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Las utilities aplicadas directamente al tag afectan su caja anfitriona. No uses selectores Tailwind para asumir acceso al DOM interno; personaliza únicamente con los CSS Parts y Custom Properties públicos enumerados más abajo.
|
|
67
|
+
|
|
68
|
+
## Recomendaciones
|
|
69
|
+
|
|
70
|
+
- Usa `moni-checkbox` para su propósito semántico; no lo sustituyas por un `div` estilizado.
|
|
71
|
+
- Aplica Tailwind al layout exterior. Para el interior del Shadow DOM usa las variables CSS y `::part()` documentados.
|
|
72
|
+
- Durante una operación asíncrona combina el estado `loading` —si existe— con `disabled` para evitar envíos duplicados.
|
|
73
|
+
- En formularios controlados, sincroniza la propiedad `value` y escucha el evento documentado; no dependas solo del atributo inicial.
|
|
74
|
+
- Prueba los estados claro, oscuro, foco por teclado, deshabilitado y viewport móvil antes de publicar.
|
|
75
|
+
|
|
76
|
+
## Propiedades y atributos
|
|
77
|
+
|
|
78
|
+
| Atributo | Propiedad | Tipo | Default | Descripción |
|
|
79
|
+
|---|---|---|---|---|
|
|
80
|
+
| `label` | `label` | `string` | `''` | Texto de la etiqueta mostrado a la derecha del icono del checkbox. Cuando no está vacío, la etiqueta se renderiza como un nodo de texto dentro del `<span>`. Cuando está vacío, el slot por defecto se renderiza en su lugar, permitiendo HTML en el slot. |
|
|
81
|
+
| `checked` | `checked` | `boolean` | `false` | Si el checkbox está actualmente marcado. Reflejado como un atributo para que los selectores de atributos CSS y los lectores de estado externos puedan observar el estado marcado sin acceder a la propiedad JS. Sincronizado con el input nativo a través de `updated()`. |
|
|
82
|
+
| `disabled` | `disabled` | `boolean` | `false` | Cuando es `true`, el input nativo se deshabilita: el checkbox no es interactivo y se renderiza con opacidad del 50%. |
|
|
83
|
+
| `unchecked-icon` | `uncheckedIcon` | `string` | `''` | Material Symbol mostrado cuando el checkbox está desmarcado. |
|
|
84
|
+
| `checked-icon` | `checkedIcon` | `string` | `''` | Material Symbol mostrado cuando el checkbox está marcado. |
|
|
85
|
+
| `size` | `size` | `'small' \| 'medium' \| 'large' \| 'extra'` | `'medium'` | Tamaño visual del icono del checkbox. Se mapea a la propiedad personalizada `--_size` que controla tanto el área de impacto del input invisible como el tamaño del icono visible `::before`. \| Valor \| `--_size` \| \|------------\|-----------\| \| `'small'` \| 1rem \| \| `'medium'` \| 1.5rem \| \| `'large'` \| 2rem \| \| `'extra'` \| 2.5rem \| |
|
|
86
|
+
| `name` | `name` | `string` | `''` | Reenviado al atributo `<input name>` nativo. Requerido para agrupar checkboxes dentro de un formulario. |
|
|
87
|
+
| `value` | `value` | `string` | `''` | Reenviado al atributo `<input value>` nativo. El valor enviado en un formulario cuando este checkbox está marcado. |
|
|
88
|
+
|
|
89
|
+
## Slots
|
|
90
|
+
|
|
91
|
+
Este componente no declara slots públicos.
|
|
92
|
+
|
|
93
|
+
## Eventos
|
|
94
|
+
|
|
95
|
+
No declara eventos propios.
|
|
96
|
+
|
|
97
|
+
## Métodos públicos
|
|
98
|
+
|
|
99
|
+
No expone métodos públicos adicionales.
|
|
100
|
+
|
|
101
|
+
## CSS Parts
|
|
102
|
+
|
|
103
|
+
- `checkbox`: Parte interna personalizable.
|
|
104
|
+
|
|
105
|
+
## CSS Custom Properties consumidas
|
|
106
|
+
|
|
107
|
+
- `--_size`
|
|
108
|
+
- `--font`
|
|
109
|
+
- `--font-icon`
|
|
110
|
+
- `--on-primary`
|
|
111
|
+
- `--on-surface`
|
|
112
|
+
- `--on-surface-variant`
|
|
113
|
+
- `--primary`
|
|
114
|
+
- `--speed1`
|
|
115
|
+
|
|
116
|
+
## Referencia visual por variable
|
|
117
|
+
|
|
118
|
+
Cada imagen se genera con el componente real: cambia solo la variable indicada y mantiene estable el resto del escenario. Úsala para comparar estados, no como sustituto de la API.
|
|
119
|
+
|
|
120
|
+
### `label`
|
|
121
|
+
|
|
122
|
+
Texto de la etiqueta mostrado a la derecha del icono del checkbox.
|
|
123
|
+
|
|
124
|
+
Cuando no está vacío, la etiqueta se renderiza como un nodo de texto dentro del `<span>`.
|
|
125
|
+
Cuando está vacío, el slot por defecto se renderiza en su lugar, permitiendo HTML en el slot.
|
|
126
|
+
|
|
127
|
+

|
|
128
|
+
|
|
129
|
+
### `checked`
|
|
130
|
+
|
|
131
|
+
Si el checkbox está actualmente marcado.
|
|
132
|
+
|
|
133
|
+
Reflejado como un atributo para que los selectores de atributos CSS y los lectores
|
|
134
|
+
de estado externos puedan observar el estado marcado sin acceder a la propiedad JS.
|
|
135
|
+
Sincronizado con el input nativo a través de `updated()`.
|
|
136
|
+
|
|
137
|
+

|
|
138
|
+
|
|
139
|
+

|
|
140
|
+
|
|
141
|
+
### `disabled`
|
|
142
|
+
|
|
143
|
+
Cuando es `true`, el input nativo se deshabilita: el checkbox no es interactivo
|
|
144
|
+
y se renderiza con opacidad del 50%.
|
|
145
|
+
|
|
146
|
+

|
|
147
|
+
|
|
148
|
+

|
|
149
|
+
|
|
150
|
+
### `unchecked-icon`
|
|
151
|
+
|
|
152
|
+
Material Symbol mostrado cuando el checkbox está desmarcado.
|
|
153
|
+
|
|
154
|
+

|
|
155
|
+
|
|
156
|
+
### `checked-icon`
|
|
157
|
+
|
|
158
|
+
Material Symbol mostrado cuando el checkbox está marcado.
|
|
159
|
+
|
|
160
|
+

|
|
161
|
+
|
|
162
|
+
### `size`
|
|
163
|
+
|
|
164
|
+
Tamaño visual del icono del checkbox.
|
|
165
|
+
|
|
166
|
+
Se mapea a la propiedad personalizada `--_size` que controla tanto el área de impacto
|
|
167
|
+
del input invisible como el tamaño del icono visible `::before`.
|
|
168
|
+
|
|
169
|
+
| Valor | `--_size` |
|
|
170
|
+
|------------|-----------|
|
|
171
|
+
| `'small'` | 1rem |
|
|
172
|
+
| `'medium'` | 1.5rem |
|
|
173
|
+
| `'large'` | 2rem |
|
|
174
|
+
| `'extra'` | 2.5rem |
|
|
175
|
+
|
|
176
|
+

|
|
177
|
+
|
|
178
|
+

|
|
179
|
+
|
|
180
|
+

|
|
181
|
+
|
|
182
|
+

|
|
183
|
+
|
|
184
|
+
### `name`
|
|
185
|
+
|
|
186
|
+
Reenviado al atributo `<input name>` nativo.
|
|
187
|
+
Requerido para agrupar checkboxes dentro de un formulario.
|
|
188
|
+
|
|
189
|
+

|
|
190
|
+
|
|
191
|
+
### `value`
|
|
192
|
+
|
|
193
|
+
Reenviado al atributo `<input value>` nativo.
|
|
194
|
+
El valor enviado en un formulario cuando este checkbox está marcado.
|
|
195
|
+
|
|
196
|
+

|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
# Chip
|
|
2
|
+
|
|
3
|
+
Componente Material Design 3 Chip.
|
|
4
|
+
|
|
5
|
+
Los chips (fichas) son elementos compactos e interactivos que representan acciones, filtros,
|
|
6
|
+
atributos o entradas de usuario. Son contenedores solo visuales — el consumidor
|
|
7
|
+
es dueño de todo el manejo del estado (selección, eliminación, estado de filtro activo).
|
|
8
|
+
|
|
9
|
+
**Referencia de la especificación M3:** `m3-docs/components/chips/specs.md`
|
|
10
|
+
|
|
11
|
+
**Variantes:**
|
|
12
|
+
- `assist` (por defecto) — Acciones inteligentes o sugeridas. Usa borde `var(--outline)`
|
|
13
|
+
para asegurar un contraste de 3:1 según la especificación de accesibilidad de M3. Alias: `outlined`.
|
|
14
|
+
- `filter` — Filtros para una colección de contenido. Muestra una marca de verificación al principio cuando
|
|
15
|
+
está `selected`. Alias: `fill`.
|
|
16
|
+
- `input` — Representa una entrada de usuario discreta (etiquetas, tokens). Añade un icono de
|
|
17
|
+
eliminación al final cuando es `removable`.
|
|
18
|
+
- `suggestion` — Sugerencias generadas por el producto. Con contorno, sin iconos.
|
|
19
|
+
|
|
20
|
+
**Medidas M3:**
|
|
21
|
+
- Altura por defecto: 32dp (tamaño `small` = línea base de la especificación M3).
|
|
22
|
+
- Radio de esquina: 8dp.
|
|
23
|
+
- Tamaño de icono: 18dp.
|
|
24
|
+
- Los tamaños `medium` y `large` son extensiones de Moni con áreas táctiles más grandes.
|
|
25
|
+
|
|
26
|
+
**Accesibilidad:**
|
|
27
|
+
Los chips `assist` y `suggestion` usan `var(--outline)` para su trazo para
|
|
28
|
+
garantizar un contraste de 3:1 contra el fondo de la superficie en reposo.
|
|
29
|
+
`filter` e `input` usan `outline-variant` en reposo pero logran contraste
|
|
30
|
+
a través del relleno `secondary-container` cuando se seleccionan.
|
|
31
|
+
|
|
32
|
+
- Tag: `moni-chip`
|
|
33
|
+
- Clase: `MoniChip`
|
|
34
|
+
- Fuente: `src/components/moni-chip.ts`
|
|
35
|
+
|
|
36
|
+
## Cuándo usarlo
|
|
37
|
+
|
|
38
|
+
Usa `moni-chip` cuando la interfaz necesite el patrón que describe este componente. Antes de elegirlo, revisa sus estados, contenido permitido y comportamiento accesible; las capturas del final muestran el resultado real de cada variante.
|
|
39
|
+
|
|
40
|
+
## Uso básico
|
|
41
|
+
|
|
42
|
+
```html
|
|
43
|
+
<!-- Chip de filtro con estado seleccionado -->
|
|
44
|
+
<moni-chip variant="filter" selected>Technology</moni-chip>
|
|
45
|
+
|
|
46
|
+
<!-- Chip de entrada (etiqueta/token) -->
|
|
47
|
+
<moni-chip variant="input" removable icon="label">TypeScript</moni-chip>
|
|
48
|
+
|
|
49
|
+
<!-- Chip de asistencia con icono -->
|
|
50
|
+
<moni-chip icon="directions_car">Get directions</moni-chip>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Ejemplo práctico con Tailwind CSS v4
|
|
54
|
+
|
|
55
|
+
Tailwind controla composición, ancho, espaciado y responsividad alrededor del Web Component. Moni UI conserva el aspecto interno mediante Shadow DOM y design tokens.
|
|
56
|
+
|
|
57
|
+
```html
|
|
58
|
+
<div class="mx-auto flex w-full max-w-md flex-col gap-4 p-6">
|
|
59
|
+
<moni-chip>Accesibilidad</moni-chip>
|
|
60
|
+
</div>
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
No necesitas un plugin de Tailwind. En tu CSS v4 importa ambas capas una sola vez:
|
|
64
|
+
|
|
65
|
+
```css
|
|
66
|
+
@import "tailwindcss";
|
|
67
|
+
@import "@moni-labs/moni-ui/styles";
|
|
68
|
+
|
|
69
|
+
@theme {
|
|
70
|
+
--font-sans: Inter, ui-sans-serif, system-ui, sans-serif;
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Las utilities aplicadas directamente al tag afectan su caja anfitriona. No uses selectores Tailwind para asumir acceso al DOM interno; personaliza únicamente con los CSS Parts y Custom Properties públicos enumerados más abajo.
|
|
75
|
+
|
|
76
|
+
## Recomendaciones
|
|
77
|
+
|
|
78
|
+
- Usa `moni-chip` para su propósito semántico; no lo sustituyas por un `div` estilizado.
|
|
79
|
+
- Aplica Tailwind al layout exterior. Para el interior del Shadow DOM usa las variables CSS y `::part()` documentados.
|
|
80
|
+
- Durante una operación asíncrona combina el estado `loading` —si existe— con `disabled` para evitar envíos duplicados.
|
|
81
|
+
- Cuando el control muestre únicamente un icono, añade siempre un `aria-label` descriptivo.
|
|
82
|
+
- Prueba los estados claro, oscuro, foco por teclado, deshabilitado y viewport móvil antes de publicar.
|
|
83
|
+
|
|
84
|
+
## Propiedades y atributos
|
|
85
|
+
|
|
86
|
+
| Atributo | Propiedad | Tipo | Default | Descripción |
|
|
87
|
+
|---|---|---|---|---|
|
|
88
|
+
| `variant` | `variant` | `'assist' \| 'filter' \| 'input' \| 'suggestion' \| 'outlined' \| 'fill'` | `'assist'` | Variante visual del chip. |
|
|
89
|
+
| `size` | `size` | `'small' \| 'medium' \| 'large'` | `'small'` | Define las dimensiones del chip. |
|
|
90
|
+
| `shape` | `shape` | `'round' \| 'no-round' \| 'square' \| 'circle' \| 'left-round' \| 'right-round' \| 'top-round' \| 'bottom-round'` | `'round'` | Forma del radio del borde del chip. |
|
|
91
|
+
| `selected` | `selected` | `boolean` | `false` | Si es true, marca el chip como seleccionado (útil para chips de filtro). |
|
|
92
|
+
| `removable` | `removable` | `boolean` | `false` | Si es true, muestra un icono de cierre al final para permitir la eliminación. |
|
|
93
|
+
| `disabled` | `disabled` | `boolean` | `false` | Deshabilita el chip. |
|
|
94
|
+
| `loading` | `loading` | `boolean` | `false` | Si es true, muestra un indicador de carga dentro del chip. |
|
|
95
|
+
| `icon` | `icon` | `string` | `''` | Nombre del icono inicial (Material Symbols). |
|
|
96
|
+
|
|
97
|
+
## Slots
|
|
98
|
+
|
|
99
|
+
- `default`: El texto de la etiqueta del chip.
|
|
100
|
+
- `icon`: Anula el icono inicial (alternativa al atributo `icon`).
|
|
101
|
+
|
|
102
|
+
## Eventos
|
|
103
|
+
|
|
104
|
+
- `remove`: evento compuesto y burbujeante emitido por el componente.
|
|
105
|
+
|
|
106
|
+
## Métodos públicos
|
|
107
|
+
|
|
108
|
+
No expone métodos públicos adicionales.
|
|
109
|
+
|
|
110
|
+
## CSS Parts
|
|
111
|
+
|
|
112
|
+
- `chip`: Parte interna personalizable.
|
|
113
|
+
- `label`: Parte interna personalizable.
|
|
114
|
+
- `icon`: Parte interna personalizable.
|
|
115
|
+
- `loading`: Parte interna personalizable.
|
|
116
|
+
- `remove`: Parte interna personalizable.
|
|
117
|
+
|
|
118
|
+
## CSS Custom Properties consumidas
|
|
119
|
+
|
|
120
|
+
- `--_icon-size`
|
|
121
|
+
- `--_padding`
|
|
122
|
+
- `--_round`
|
|
123
|
+
- `--_size`
|
|
124
|
+
- `--font`
|
|
125
|
+
- `--font-icon`
|
|
126
|
+
- `--on-secondary-container`
|
|
127
|
+
- `--on-surface`
|
|
128
|
+
- `--on-surface-variant`
|
|
129
|
+
- `--outline`
|
|
130
|
+
- `--outline-variant`
|
|
131
|
+
- `--primary`
|
|
132
|
+
- `--secondary-container`
|
|
133
|
+
- `--speed2`
|
|
134
|
+
- `--speed3`
|
|
135
|
+
|
|
136
|
+
## Referencia visual por variable
|
|
137
|
+
|
|
138
|
+
Cada imagen se genera con el componente real: cambia solo la variable indicada y mantiene estable el resto del escenario. Úsala para comparar estados, no como sustituto de la API.
|
|
139
|
+
|
|
140
|
+
### `variant`
|
|
141
|
+
|
|
142
|
+
Variante visual del chip.
|
|
143
|
+
|
|
144
|
+

|
|
145
|
+
|
|
146
|
+

|
|
147
|
+
|
|
148
|
+

|
|
149
|
+
|
|
150
|
+

|
|
151
|
+
|
|
152
|
+

|
|
153
|
+
|
|
154
|
+

|
|
155
|
+
|
|
156
|
+
### `size`
|
|
157
|
+
|
|
158
|
+
Define las dimensiones del chip.
|
|
159
|
+
|
|
160
|
+

|
|
161
|
+
|
|
162
|
+

|
|
163
|
+
|
|
164
|
+

|
|
165
|
+
|
|
166
|
+
### `shape`
|
|
167
|
+
|
|
168
|
+
Forma del radio del borde del chip.
|
|
169
|
+
|
|
170
|
+

|
|
171
|
+
|
|
172
|
+

|
|
173
|
+
|
|
174
|
+

|
|
175
|
+
|
|
176
|
+

|
|
177
|
+
|
|
178
|
+

|
|
179
|
+
|
|
180
|
+

|
|
181
|
+
|
|
182
|
+

|
|
183
|
+
|
|
184
|
+

|
|
185
|
+
|
|
186
|
+
### `selected`
|
|
187
|
+
|
|
188
|
+
Si es true, marca el chip como seleccionado (útil para chips de filtro).
|
|
189
|
+
|
|
190
|
+

|
|
191
|
+
|
|
192
|
+

|
|
193
|
+
|
|
194
|
+
### `removable`
|
|
195
|
+
|
|
196
|
+
Si es true, muestra un icono de cierre al final para permitir la eliminación.
|
|
197
|
+
|
|
198
|
+

|
|
199
|
+
|
|
200
|
+

|
|
201
|
+
|
|
202
|
+
### `disabled`
|
|
203
|
+
|
|
204
|
+
Deshabilita el chip.
|
|
205
|
+
|
|
206
|
+

|
|
207
|
+
|
|
208
|
+

|
|
209
|
+
|
|
210
|
+
### `loading`
|
|
211
|
+
|
|
212
|
+
Si es true, muestra un indicador de carga dentro del chip.
|
|
213
|
+
|
|
214
|
+

|
|
215
|
+
|
|
216
|
+

|
|
217
|
+
|
|
218
|
+
### `icon`
|
|
219
|
+
|
|
220
|
+
Nombre del icono inicial (Material Symbols).
|
|
221
|
+
|
|
222
|
+

|