@moni-labs/moni-ui 0.4.3 → 0.4.5
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 +9 -9
- package/custom-elements.json +4668 -15983
- package/dist/browser/moni-ui.iife.min.js +930 -115
- 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 +3246 -1844
- 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 +74 -3
- package/dist/cdn/components/moni-button.js +3 -2
- package/dist/cdn/components/moni-carousel.js +1 -1
- 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-loading-indicator.js +21 -2
- package/dist/cdn/components/moni-morph-modal.js +2 -2
- package/dist/cdn/components/moni-side-sheet.js +18 -6
- package/dist/cdn/components/moni-snackbar.js +15 -2
- package/dist/cdn/components/moni-time-picker.js +5 -1
- 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 +14 -0
- package/dist/components/moni-button-group.d.ts.map +1 -1
- package/dist/components/moni-button-group.js +141 -25
- package/dist/components/moni-button.d.ts.map +1 -1
- package/dist/components/moni-button.js +3 -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-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-loading-indicator.d.ts.map +1 -1
- package/dist/components/moni-loading-indicator.js +21 -2
- 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 +573 -51
- 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-time-picker.d.ts.map +1 -1
- package/dist/components/moni-time-picker.js +5 -1
- 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--false.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/target--default.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--false.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--false.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/blurContent--false.png +0 -0
- package/docs/assets/moni-morph-modal/blurContent--true.png +0 -0
- package/docs/assets/moni-morph-modal/closeOnClickOutside--false.png +0 -0
- package/docs/assets/moni-morph-modal/closeOnClickOutside--true.png +0 -0
- package/docs/assets/moni-morph-modal/closeOnEsc--false.png +0 -0
- package/docs/assets/moni-morph-modal/closeOnEsc--true.png +0 -0
- package/docs/assets/moni-morph-modal/coverTarget--false.png +0 -0
- package/docs/assets/moni-morph-modal/coverTarget--true.png +0 -0
- package/docs/assets/moni-morph-modal/debug--false.png +0 -0
- package/docs/assets/moni-morph-modal/debug--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/hideTarget--false.png +0 -0
- package/docs/assets/moni-morph-modal/hideTarget--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/morphLabel--false.png +0 -0
- package/docs/assets/moni-morph-modal/morphLabel--true.png +0 -0
- package/docs/assets/moni-morph-modal/morphLabelSelector--default.png +0 -0
- package/docs/assets/moni-morph-modal/open--false.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-morph-modal/target--default.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/target--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--false.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--false.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 +222 -0
- package/docs/components/button-group.md +207 -0
- package/docs/components/button-segment.md +171 -0
- package/docs/components/button.md +283 -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 +195 -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 +183 -0
- package/docs/components/morph-modal.md +254 -0
- package/docs/components/nav-item.md +175 -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 +220 -0
- package/docs/components/slider.md +240 -0
- package/docs/components/snackbar.md +169 -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 +90 -0
- package/src/components/moni-button-group.ts +145 -34
- package/src/components/moni-button.test.ts +8 -2
- package/src/components/moni-button.ts +3 -2
- package/src/components/moni-carousel.test.ts +15 -1
- package/src/components/moni-carousel.ts +19 -2
- 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-loading-indicator.test.ts +9 -0
- package/src/components/moni-loading-indicator.ts +21 -2
- package/src/components/moni-morph-modal.test.ts +173 -2
- package/src/components/moni-morph-modal.ts +621 -54
- 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-time-picker.ts +5 -1
- 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
|
@@ -59,6 +59,17 @@ import { MoniElement, sharedStyles } from './_base/index.js';
|
|
|
59
59
|
*/
|
|
60
60
|
@customElement('moni-button-group')
|
|
61
61
|
export class MoniButtonGroup extends MoniElement {
|
|
62
|
+
private readonly _activeObserver = new MutationObserver(() => this.updateSelectionNeighbors());
|
|
63
|
+
|
|
64
|
+
override connectedCallback() {
|
|
65
|
+
super.connectedCallback();
|
|
66
|
+
this._activeObserver.observe(this, { subtree: true, attributes: true, attributeFilter: ['active'] });
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
override disconnectedCallback() {
|
|
70
|
+
this._activeObserver.disconnect();
|
|
71
|
+
super.disconnectedCallback();
|
|
72
|
+
}
|
|
62
73
|
/**
|
|
63
74
|
* Variante visual del grupo de botones.
|
|
64
75
|
* - `standard`: Los elementos se espacian normalmente.
|
|
@@ -84,6 +95,18 @@ export class MoniButtonGroup extends MoniElement {
|
|
|
84
95
|
@property({ type: Boolean, reflect: true })
|
|
85
96
|
multi = false;
|
|
86
97
|
|
|
98
|
+
/** Impide que el grupo quede sin selección. */
|
|
99
|
+
@property({ type: Boolean, reflect: true, attribute: 'selection-required' })
|
|
100
|
+
selectionRequired = false;
|
|
101
|
+
|
|
102
|
+
/** Forma base común de los botones. La selección invierte round ↔ square. */
|
|
103
|
+
@property({ reflect: true })
|
|
104
|
+
shape: 'round' | 'square' = 'round';
|
|
105
|
+
|
|
106
|
+
/** Controla si los botones conservan su ancho intrínseco o llenan la superficie. */
|
|
107
|
+
@property({ reflect: true })
|
|
108
|
+
resizing: 'fixed' | 'flexible' = 'fixed';
|
|
109
|
+
|
|
87
110
|
/**
|
|
88
111
|
* Espacio CSS personalizado entre botones (ej., '1rem').
|
|
89
112
|
* Solo se aplica cuando la variante es 'standard'.
|
|
@@ -124,12 +147,18 @@ export class MoniButtonGroup extends MoniElement {
|
|
|
124
147
|
display: inline-flex;
|
|
125
148
|
align-items: center;
|
|
126
149
|
vertical-align: middle;
|
|
150
|
+
max-inline-size: 100%;
|
|
151
|
+
}
|
|
152
|
+
:host([variant='connected']),
|
|
153
|
+
:host([resizing='flexible']) {
|
|
154
|
+
inline-size: 100%;
|
|
127
155
|
}
|
|
128
156
|
|
|
129
157
|
.group-container {
|
|
130
158
|
display: inline-flex;
|
|
131
159
|
align-items: center;
|
|
132
160
|
width: 100%;
|
|
161
|
+
flex-wrap: nowrap;
|
|
133
162
|
}
|
|
134
163
|
|
|
135
164
|
slot {
|
|
@@ -159,6 +188,71 @@ export class MoniButtonGroup extends MoniElement {
|
|
|
159
188
|
:host([variant='connected']) .group-container {
|
|
160
189
|
gap: 0.125rem; /* 2dp */
|
|
161
190
|
}
|
|
191
|
+
:host([variant='connected']) ::slotted(moni-button),
|
|
192
|
+
:host([variant='connected']) ::slotted(moni-icon-button),
|
|
193
|
+
:host([resizing='flexible']) ::slotted(moni-button) {
|
|
194
|
+
flex: var(--_moni-group-flex-grow, 1) 1 0;
|
|
195
|
+
transition: flex-grow 450ms cubic-bezier(0.2, 0, 0, 1);
|
|
196
|
+
}
|
|
197
|
+
:host([variant='connected']) ::slotted(moni-button),
|
|
198
|
+
:host([variant='standard'][resizing='flexible']) ::slotted(moni-button) {
|
|
199
|
+
--moni-button-inline-size: 100%;
|
|
200
|
+
min-inline-size: 0;
|
|
201
|
+
}
|
|
202
|
+
:host([variant='connected'][size='xsmall']) ::slotted(moni-button),
|
|
203
|
+
:host([variant='connected'][size='xsmall']) ::slotted(moni-icon-button),
|
|
204
|
+
:host([variant='connected'][size='small']) ::slotted(moni-button),
|
|
205
|
+
:host([variant='connected'][size='small']) ::slotted(moni-icon-button) {
|
|
206
|
+
min-inline-size: 3rem;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
/* M3 Expressive selection emphasis. Increasing the button's internal
|
|
210
|
+
* space (instead of scaling the host) keeps labels and icons crisp and
|
|
211
|
+
* lets the existing padding transition transfer width smoothly. */
|
|
212
|
+
:host([variant='standard'][size='xsmall']) ::slotted(moni-button[active]),
|
|
213
|
+
:host([variant='standard'][size='xsmall']) ::slotted(moni-button[data-group-pressed]) {
|
|
214
|
+
--moni-button-padding: 0 1.25rem;
|
|
215
|
+
}
|
|
216
|
+
:host([variant='standard'][size='small']) ::slotted(moni-button[active]),
|
|
217
|
+
:host([variant='standard'][size='small']) ::slotted(moni-button[data-group-pressed]) {
|
|
218
|
+
--moni-button-padding: 0 1.75rem;
|
|
219
|
+
}
|
|
220
|
+
:host([variant='standard'][size='medium']) ::slotted(moni-button[active]),
|
|
221
|
+
:host([variant='standard'][size='medium']) ::slotted(moni-button[data-group-pressed]) {
|
|
222
|
+
--moni-button-padding: 0 2.375rem;
|
|
223
|
+
}
|
|
224
|
+
:host([variant='standard'][size='large']) ::slotted(moni-button[active]),
|
|
225
|
+
:host([variant='standard'][size='large']) ::slotted(moni-button[data-group-pressed]) {
|
|
226
|
+
--moni-button-padding: 0 4rem;
|
|
227
|
+
}
|
|
228
|
+
:host([variant='standard'][size='xlarge']) ::slotted(moni-button[active]),
|
|
229
|
+
:host([variant='standard'][size='extra']) ::slotted(moni-button[active]),
|
|
230
|
+
:host([variant='standard'][size='xlarge']) ::slotted(moni-button[data-group-pressed]),
|
|
231
|
+
:host([variant='standard'][size='extra']) ::slotted(moni-button[data-group-pressed]) {
|
|
232
|
+
--moni-button-padding: 0 5.25rem;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
:host([variant='standard'][size='xsmall']) ::slotted(moni-button[data-group-adjacent-pressed]) { --moni-button-padding: 0 .5rem; }
|
|
236
|
+
:host([variant='standard'][size='small']) ::slotted(moni-button[data-group-adjacent-pressed]) { --moni-button-padding: 0 .75rem; }
|
|
237
|
+
:host([variant='standard'][size='medium']) ::slotted(moni-button[data-group-adjacent-pressed]) { --moni-button-padding: 0 1.25rem; }
|
|
238
|
+
:host([variant='standard'][size='large']) ::slotted(moni-button[data-group-adjacent-pressed]) { --moni-button-padding: 0 2.75rem; }
|
|
239
|
+
:host([variant='standard'][size='xlarge']) ::slotted(moni-button[data-group-adjacent-pressed]),
|
|
240
|
+
:host([variant='standard'][size='extra']) ::slotted(moni-button[data-group-adjacent-pressed]) { --moni-button-padding: 0 3.75rem; }
|
|
241
|
+
|
|
242
|
+
/* A selected standard button borrows space from its immediate
|
|
243
|
+
* neighbours, keeping the group's outside footprint stable. */
|
|
244
|
+
:host([variant='standard'][size='xsmall']) ::slotted(moni-button[data-group-adjacent-selected='shared']) { --moni-button-padding: 0 .5rem; }
|
|
245
|
+
:host([variant='standard'][size='xsmall']) ::slotted(moni-button[data-group-adjacent-selected='sole']) { --moni-button-padding: 0 .25rem; }
|
|
246
|
+
:host([variant='standard'][size='small']) ::slotted(moni-button[data-group-adjacent-selected='shared']) { --moni-button-padding: 0 .625rem; }
|
|
247
|
+
:host([variant='standard'][size='small']) ::slotted(moni-button[data-group-adjacent-selected='sole']) { --moni-button-padding: 0 .25rem; }
|
|
248
|
+
:host([variant='standard'][size='medium']) ::slotted(moni-button[data-group-adjacent-selected='shared']) { --moni-button-padding: 0 1.0625rem; }
|
|
249
|
+
:host([variant='standard'][size='medium']) ::slotted(moni-button[data-group-adjacent-selected='sole']) { --moni-button-padding: 0 .625rem; }
|
|
250
|
+
:host([variant='standard'][size='large']) ::slotted(moni-button[data-group-adjacent-selected='shared']) { --moni-button-padding: 0 2.5rem; }
|
|
251
|
+
:host([variant='standard'][size='large']) ::slotted(moni-button[data-group-adjacent-selected='sole']) { --moni-button-padding: 0 2rem; }
|
|
252
|
+
:host([variant='standard'][size='xlarge']) ::slotted(moni-button[data-group-adjacent-selected='shared']),
|
|
253
|
+
:host([variant='standard'][size='extra']) ::slotted(moni-button[data-group-adjacent-selected='shared']) { --moni-button-padding: 0 3.375rem; }
|
|
254
|
+
:host([variant='standard'][size='xlarge']) ::slotted(moni-button[data-group-adjacent-selected='sole']),
|
|
255
|
+
:host([variant='standard'][size='extra']) ::slotted(moni-button[data-group-adjacent-selected='sole']) { --moni-button-padding: 0 2.75rem; }
|
|
162
256
|
`
|
|
163
257
|
];
|
|
164
258
|
|
|
@@ -169,7 +263,7 @@ export class MoniButtonGroup extends MoniElement {
|
|
|
169
263
|
*/
|
|
170
264
|
protected override updated(changedProperties: Map<string | number | symbol, unknown>) {
|
|
171
265
|
super.updated(changedProperties);
|
|
172
|
-
if (changedProperties.has('variant') || changedProperties.has('size') || changedProperties.has('gap')) {
|
|
266
|
+
if (changedProperties.has('variant') || changedProperties.has('size') || changedProperties.has('gap') || changedProperties.has('shape') || changedProperties.has('resizing')) {
|
|
173
267
|
this.updateChildren();
|
|
174
268
|
}
|
|
175
269
|
}
|
|
@@ -183,6 +277,40 @@ export class MoniButtonGroup extends MoniElement {
|
|
|
183
277
|
this.updateChildren();
|
|
184
278
|
}
|
|
185
279
|
|
|
280
|
+
private getButtons() {
|
|
281
|
+
return (this.slottedButtons ?? []).filter(
|
|
282
|
+
(el) => el.tagName.toLowerCase() === 'moni-button' || el.tagName.toLowerCase() === 'moni-icon-button'
|
|
283
|
+
);
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
/** Keeps selection emphasis inside the group's original visual footprint.
|
|
287
|
+
* The selected width is funded evenly by every unselected button so edge
|
|
288
|
+
* selections remain visually balanced instead of collapsing one neighbour. */
|
|
289
|
+
private updateSelectionNeighbors() {
|
|
290
|
+
const buttons = this.getButtons();
|
|
291
|
+
buttons.forEach((button) => {
|
|
292
|
+
button.removeAttribute('data-group-adjacent-selected');
|
|
293
|
+
button.style.removeProperty('--_moni-group-flex-grow');
|
|
294
|
+
});
|
|
295
|
+
if (this.variant !== 'standard') return;
|
|
296
|
+
|
|
297
|
+
const selected = buttons.filter((button) => button.hasAttribute('active'));
|
|
298
|
+
if (selected.length === 0) return;
|
|
299
|
+
const unselected = buttons.filter((button) => !button.hasAttribute('active'));
|
|
300
|
+
const weight = unselected.length === 1 ? 'sole' : 'shared';
|
|
301
|
+
unselected.forEach((button) => button.setAttribute('data-group-adjacent-selected', weight));
|
|
302
|
+
|
|
303
|
+
if (this.resizing === 'flexible' && unselected.length > 0) {
|
|
304
|
+
const activeWeight = 1.24;
|
|
305
|
+
const inactiveWeight = Math.max(
|
|
306
|
+
0.6,
|
|
307
|
+
(buttons.length - selected.length * activeWeight) / unselected.length
|
|
308
|
+
);
|
|
309
|
+
selected.forEach((button) => button.style.setProperty('--_moni-group-flex-grow', String(activeWeight)));
|
|
310
|
+
unselected.forEach((button) => button.style.setProperty('--_moni-group-flex-grow', String(inactiveWeight)));
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
|
|
186
314
|
private getGapValue(gap: string): string {
|
|
187
315
|
if (!gap) return '';
|
|
188
316
|
const preset = gap.toLowerCase();
|
|
@@ -202,9 +330,7 @@ export class MoniButtonGroup extends MoniElement {
|
|
|
202
330
|
* correspondiente (`left-round-flat`, `inner-round`, etc.) para formar una cápsula unificada.
|
|
203
331
|
*/
|
|
204
332
|
private updateChildren() {
|
|
205
|
-
const buttons = this.
|
|
206
|
-
(el) => el.tagName.toLowerCase() === 'moni-button' || el.tagName.toLowerCase() === 'moni-icon-button'
|
|
207
|
-
);
|
|
333
|
+
const buttons = this.getButtons();
|
|
208
334
|
|
|
209
335
|
const normalizedGap = this.gap.trim().toLowerCase();
|
|
210
336
|
const hasConnectedGap = !['0', '0px', '0rem', '0em'].includes(normalizedGap);
|
|
@@ -214,7 +340,9 @@ export class MoniButtonGroup extends MoniElement {
|
|
|
214
340
|
btn.setAttribute('size', this.size);
|
|
215
341
|
|
|
216
342
|
// Propagate shape for connected variant
|
|
217
|
-
if (this.variant === 'connected') {
|
|
343
|
+
if (this.variant === 'connected' && this.shape === 'square') {
|
|
344
|
+
btn.setAttribute('shape', 'square');
|
|
345
|
+
} else if (this.variant === 'connected') {
|
|
218
346
|
if (hasConnectedGap) {
|
|
219
347
|
if (buttons.length === 1) {
|
|
220
348
|
btn.setAttribute('shape', 'round');
|
|
@@ -237,13 +365,10 @@ export class MoniButtonGroup extends MoniElement {
|
|
|
237
365
|
}
|
|
238
366
|
}
|
|
239
367
|
} else {
|
|
240
|
-
|
|
241
|
-
const currentShape = btn.getAttribute('shape');
|
|
242
|
-
if (!currentShape || ['left-round-flat', 'right-round-flat', 'no-round', 'left-round', 'right-round', 'inner-round'].includes(currentShape)) {
|
|
243
|
-
btn.setAttribute('shape', 'round');
|
|
244
|
-
}
|
|
368
|
+
btn.setAttribute('shape', this.shape);
|
|
245
369
|
}
|
|
246
370
|
});
|
|
371
|
+
this.updateSelectionNeighbors();
|
|
247
372
|
}
|
|
248
373
|
|
|
249
374
|
/**
|
|
@@ -258,25 +383,13 @@ export class MoniButtonGroup extends MoniElement {
|
|
|
258
383
|
const button = target.closest('moni-button, moni-icon-button') as HTMLElement;
|
|
259
384
|
if (!button || button.hasAttribute('disabled')) return;
|
|
260
385
|
|
|
261
|
-
const buttons = this.
|
|
262
|
-
(el) => el.tagName.toLowerCase() === 'moni-button' || el.tagName.toLowerCase() === 'moni-icon-button'
|
|
263
|
-
);
|
|
386
|
+
const buttons = this.getButtons();
|
|
264
387
|
const index = buttons.indexOf(button);
|
|
265
388
|
if (index === -1) return;
|
|
266
389
|
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
if (prev) {
|
|
271
|
-
prev.style.transition = 'transform 200ms cubic-bezier(0.2, 0, 0, 1)';
|
|
272
|
-
prev.style.transform = 'translateX(-6px) scaleX(0.92)';
|
|
273
|
-
prev.style.transformOrigin = 'right center';
|
|
274
|
-
}
|
|
275
|
-
if (next) {
|
|
276
|
-
next.style.transition = 'transform 200ms cubic-bezier(0.2, 0, 0, 1)';
|
|
277
|
-
next.style.transform = 'translateX(6px) scaleX(0.92)';
|
|
278
|
-
next.style.transformOrigin = 'left center';
|
|
279
|
-
}
|
|
390
|
+
button.setAttribute('data-group-pressed', '');
|
|
391
|
+
buttons[index - 1]?.setAttribute('data-group-adjacent-pressed', '');
|
|
392
|
+
buttons[index + 1]?.setAttribute('data-group-adjacent-pressed', '');
|
|
280
393
|
}
|
|
281
394
|
|
|
282
395
|
/**
|
|
@@ -285,12 +398,10 @@ export class MoniButtonGroup extends MoniElement {
|
|
|
285
398
|
* a su estado nativo neutro.
|
|
286
399
|
*/
|
|
287
400
|
private handlePointerUp() {
|
|
288
|
-
const buttons = this.
|
|
289
|
-
(el) => el.tagName.toLowerCase() === 'moni-button' || el.tagName.toLowerCase() === 'moni-icon-button'
|
|
290
|
-
);
|
|
401
|
+
const buttons = this.getButtons();
|
|
291
402
|
buttons.forEach((btn) => {
|
|
292
|
-
btn.
|
|
293
|
-
btn.
|
|
403
|
+
btn.removeAttribute('data-group-pressed');
|
|
404
|
+
btn.removeAttribute('data-group-adjacent-pressed');
|
|
294
405
|
});
|
|
295
406
|
}
|
|
296
407
|
|
|
@@ -307,9 +418,7 @@ export class MoniButtonGroup extends MoniElement {
|
|
|
307
418
|
return;
|
|
308
419
|
}
|
|
309
420
|
|
|
310
|
-
const buttons = this.
|
|
311
|
-
(el) => el.tagName.toLowerCase() === 'moni-button' || el.tagName.toLowerCase() === 'moni-icon-button'
|
|
312
|
-
);
|
|
421
|
+
const buttons = this.getButtons();
|
|
313
422
|
|
|
314
423
|
if (!this.multi) {
|
|
315
424
|
buttons.forEach((btn) => {
|
|
@@ -322,6 +431,8 @@ export class MoniButtonGroup extends MoniElement {
|
|
|
322
431
|
|
|
323
432
|
// Toggle clicked button active state
|
|
324
433
|
const wasActive = clickedButton.hasAttribute('active');
|
|
434
|
+
const activeCount = buttons.filter((btn) => btn.hasAttribute('active')).length;
|
|
435
|
+
if (wasActive && this.selectionRequired && activeCount <= 1) return;
|
|
325
436
|
if (wasActive) {
|
|
326
437
|
clickedButton.removeAttribute('active');
|
|
327
438
|
(clickedButton as any).active = false;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest';
|
|
2
|
-
import './moni-button.js';
|
|
3
|
-
import type { MoniButton } from './moni-button.js';
|
|
2
|
+
import { MoniButton } from './moni-button.js';
|
|
4
3
|
|
|
5
4
|
describe('moni-button', () => {
|
|
6
5
|
let el: MoniButton;
|
|
@@ -151,6 +150,13 @@ describe('moni-button', () => {
|
|
|
151
150
|
expect(button.disabled).toBe(true);
|
|
152
151
|
});
|
|
153
152
|
|
|
153
|
+
it('usa la altura visual del tamaño como ancho de los botones circle', () => {
|
|
154
|
+
const cssText = String(MoniButton.styles).replace(/\s+/g, '');
|
|
155
|
+
expect(cssText).toContain(
|
|
156
|
+
'inline-size:var(--moni-button-height,var(--_button-visual-height))'
|
|
157
|
+
);
|
|
158
|
+
});
|
|
159
|
+
|
|
154
160
|
it('registra una advertencia de obsolescencia cuando se usa size="extra" (usar size="xlarge" según M3)', async () => {
|
|
155
161
|
(el.constructor as any)._deprecationWarned = false;
|
|
156
162
|
const warnSpy = vi.spyOn(console, 'warn').mockImplementation(() => {});
|
|
@@ -203,6 +203,7 @@ export class MoniButton extends MoniElement {
|
|
|
203
203
|
.button {
|
|
204
204
|
box-sizing: var(--moni-button-box-sizing, border-box);
|
|
205
205
|
display: inline-flex;
|
|
206
|
+
inline-size: var(--moni-button-inline-size, auto);
|
|
206
207
|
--_button-visual-height: 3.5rem;
|
|
207
208
|
align-items: center;
|
|
208
209
|
justify-content: center;
|
|
@@ -285,8 +286,8 @@ export class MoniButton extends MoniElement {
|
|
|
285
286
|
.button.circle {
|
|
286
287
|
padding: 0 !important;
|
|
287
288
|
border-radius: 50%;
|
|
288
|
-
inline-size: var(--moni-button-height,
|
|
289
|
-
min-inline-size: var(--moni-button-height,
|
|
289
|
+
inline-size: var(--moni-button-height, var(--_button-visual-height));
|
|
290
|
+
min-inline-size: var(--moni-button-height, var(--_button-visual-height));
|
|
290
291
|
aspect-ratio: 1;
|
|
291
292
|
}
|
|
292
293
|
.button.round.icon-only {
|
|
@@ -195,6 +195,20 @@ describe('moni-carousel', () => {
|
|
|
195
195
|
testEl.remove();
|
|
196
196
|
});
|
|
197
197
|
|
|
198
|
+
it('normaliza propiedades numéricas asignadas como strings por frameworks', async () => {
|
|
199
|
+
const testEl = document.createElement('moni-carousel') as MoniCarousel;
|
|
200
|
+
(testEl as unknown as { gap: string }).gap = '12';
|
|
201
|
+
(testEl as unknown as { padding: string }).padding = '8';
|
|
202
|
+
document.body.appendChild(testEl);
|
|
203
|
+
await testEl.updateComplete;
|
|
204
|
+
|
|
205
|
+
expect(testEl.gap).toBe(12);
|
|
206
|
+
expect(testEl.padding).toBe(8);
|
|
207
|
+
expect(testEl.itemSize).toBe(testEl.computedLayout.largeItemWidth + 12);
|
|
208
|
+
|
|
209
|
+
testEl.remove();
|
|
210
|
+
});
|
|
211
|
+
|
|
198
212
|
it('proporciona suficiente ancho de desplazamiento para alcanzar el último elemento (regresión de Firefox)', async () => {
|
|
199
213
|
const testEl = document.createElement('moni-carousel') as MoniCarousel;
|
|
200
214
|
testEl.items = Array.from({ length: 10 }, (_, i) => ({
|
|
@@ -235,4 +249,4 @@ describe('moni-carousel', () => {
|
|
|
235
249
|
|
|
236
250
|
testEl.remove();
|
|
237
251
|
});
|
|
238
|
-
});
|
|
252
|
+
});
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* @contributors Moni Labs & Contributors
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import { html, css } from 'lit';
|
|
8
|
+
import { html, css, type PropertyValues } from 'lit';
|
|
9
9
|
import { customElement, property, query, state, queryAll } from 'lit/decorators.js';
|
|
10
10
|
import { MoniElement, sharedStyles } from './_base/index.js';
|
|
11
11
|
import { emitMoniEvent } from '../utils/event-emitter.js';
|
|
@@ -84,6 +84,23 @@ export interface CarouselItem {
|
|
|
84
84
|
*/
|
|
85
85
|
@customElement('moni-carousel')
|
|
86
86
|
export class MoniCarousel extends MoniElement {
|
|
87
|
+
protected override willUpdate(changedProperties: PropertyValues<this>) {
|
|
88
|
+
super.willUpdate(changedProperties);
|
|
89
|
+
// Frameworks commonly assign static custom-element attributes as string
|
|
90
|
+
// properties, bypassing Lit's attribute converter. Normalize before the
|
|
91
|
+
// layout math so `184 + "12"` never becomes the coordinate `18412`.
|
|
92
|
+
const numericProperties = [
|
|
93
|
+
'largeWidth', 'mediumWidth', 'smallWidth', 'gap', 'padding',
|
|
94
|
+
'borderRadius', 'autoplayInterval'
|
|
95
|
+
] as const;
|
|
96
|
+
for (const key of numericProperties) {
|
|
97
|
+
const value = this[key] as unknown;
|
|
98
|
+
if (typeof value !== 'string') continue;
|
|
99
|
+
const normalized = Number(value);
|
|
100
|
+
if (Number.isFinite(normalized)) this[key] = normalized;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
87
104
|
/**
|
|
88
105
|
* Array de elementos a mostrar en el carrusel.
|
|
89
106
|
* Cada elemento requiere al menos `title` e `img`. El opcional `href` renderiza la tarjeta como un enlace.
|
|
@@ -1935,4 +1952,4 @@ declare global {
|
|
|
1935
1952
|
interface HTMLElementTagNameMap {
|
|
1936
1953
|
'moni-carousel': MoniCarousel;
|
|
1937
1954
|
}
|
|
1938
|
-
}
|
|
1955
|
+
}
|
|
@@ -60,6 +60,22 @@ describe('moni-context-menu (P3.5 — flip)', () => {
|
|
|
60
60
|
expect(menu?.hasAttribute('active')).toBe(true);
|
|
61
61
|
});
|
|
62
62
|
|
|
63
|
+
it('reserva ancho para la superficie y limita la coordenada al viewport', async () => {
|
|
64
|
+
await el.updateComplete;
|
|
65
|
+
parent.dispatchEvent(new MouseEvent('contextmenu', {
|
|
66
|
+
bubbles: true,
|
|
67
|
+
clientX: window.innerWidth + 500,
|
|
68
|
+
clientY: 75
|
|
69
|
+
}));
|
|
70
|
+
await el.updateComplete;
|
|
71
|
+
|
|
72
|
+
const menu = el.shadowRoot?.querySelector('moni-menu');
|
|
73
|
+
const host = el.shadowRoot?.querySelector('.menu-host') as HTMLElement;
|
|
74
|
+
const x = Number(host.style.getPropertyValue('--_x').replace('px', ''));
|
|
75
|
+
expect(menu?.hasAttribute('no-wrap')).toBe(true);
|
|
76
|
+
expect(x).toBeLessThanOrEqual(window.innerWidth - 192 - 8);
|
|
77
|
+
});
|
|
78
|
+
|
|
63
79
|
it('cierra el menú al hacer clic en el documento', async () => {
|
|
64
80
|
await el.updateComplete;
|
|
65
81
|
const menu = el.shadowRoot?.querySelector(
|
|
@@ -117,7 +117,12 @@ export class MoniContextMenu extends MoniElement {
|
|
|
117
117
|
e.preventDefault();
|
|
118
118
|
if (this._target) {
|
|
119
119
|
const rect = this._target.getBoundingClientRect();
|
|
120
|
-
|
|
120
|
+
const menuWidth = Math.min(192, window.innerWidth - 16);
|
|
121
|
+
const globalX = Math.min(
|
|
122
|
+
Math.max(8, e.clientX),
|
|
123
|
+
window.innerWidth - menuWidth - 8
|
|
124
|
+
);
|
|
125
|
+
this._x = globalX - rect.left;
|
|
121
126
|
this._y = e.clientY - rect.top;
|
|
122
127
|
} else {
|
|
123
128
|
this._x = e.clientX;
|
|
@@ -136,7 +141,6 @@ export class MoniContextMenu extends MoniElement {
|
|
|
136
141
|
* colisiona con el borde del Viewport, invirtiendo top/bottom o left/right.
|
|
137
142
|
*/
|
|
138
143
|
private _maybeFlip() {
|
|
139
|
-
if (!this.flip) return;
|
|
140
144
|
const menu = this._menuEl?.shadowRoot?.querySelector('menu') as HTMLElement | null;
|
|
141
145
|
if (!menu) return;
|
|
142
146
|
const rect = menu.getBoundingClientRect();
|
|
@@ -144,6 +148,11 @@ export class MoniContextMenu extends MoniElement {
|
|
|
144
148
|
const vh = window.innerHeight;
|
|
145
149
|
const overflowsBottom = rect.bottom > vh;
|
|
146
150
|
const overflowsRight = rect.right > vw;
|
|
151
|
+
// Context menus must always remain horizontally reachable, regardless of
|
|
152
|
+
// whether placement flipping was requested.
|
|
153
|
+
if (overflowsRight) this._x = Math.max(8, this._x - (rect.right - vw) - 8);
|
|
154
|
+
if (rect.left < 8) this._x += 8 - rect.left;
|
|
155
|
+
if (!this.flip) return;
|
|
147
156
|
if (this.placement === 'bottom' && overflowsBottom) {
|
|
148
157
|
this._resolvedPlacement = 'top';
|
|
149
158
|
} else if (this.placement === 'top' && rect.top < 0) {
|
|
@@ -188,6 +197,8 @@ export class MoniContextMenu extends MoniElement {
|
|
|
188
197
|
position: absolute;
|
|
189
198
|
inset-inline-start: var(--_x, 0);
|
|
190
199
|
inset-block-start: var(--_y, 0);
|
|
200
|
+
inline-size: min(12rem, calc(100vw - 1rem));
|
|
201
|
+
min-inline-size: min(12rem, calc(100vw - 1rem));
|
|
191
202
|
z-index: 200;
|
|
192
203
|
}
|
|
193
204
|
`
|
|
@@ -218,6 +229,7 @@ export class MoniContextMenu extends MoniElement {
|
|
|
218
229
|
>
|
|
219
230
|
<moni-menu
|
|
220
231
|
placement=${effectivePlacement}
|
|
232
|
+
no-wrap
|
|
221
233
|
?active=${this._open}
|
|
222
234
|
>
|
|
223
235
|
<slot></slot>
|
|
@@ -71,11 +71,13 @@ describe('moni-file-field', () => {
|
|
|
71
71
|
expect(trailing).toBeTruthy();
|
|
72
72
|
});
|
|
73
73
|
|
|
74
|
-
it('
|
|
74
|
+
it('muestra button-label como valor visible y mantiene el label elevado', async () => {
|
|
75
75
|
await el.updateComplete;
|
|
76
76
|
const text = el.shadowRoot?.querySelector(
|
|
77
77
|
'input[type="text"]'
|
|
78
78
|
) as HTMLInputElement;
|
|
79
|
-
expect(text.placeholder).toBe('
|
|
79
|
+
expect(text.placeholder).toBe('');
|
|
80
|
+
expect(text.value).toBe('Choose file');
|
|
81
|
+
expect(text.classList.contains('active')).toBe(true);
|
|
80
82
|
});
|
|
81
83
|
});
|
|
@@ -214,7 +214,10 @@ export class MoniFileField extends MoniElement {
|
|
|
214
214
|
* se muestra en su lugar el atributo `label` o un marcador de posición genérico.
|
|
215
215
|
*/
|
|
216
216
|
override render() {
|
|
217
|
-
|
|
217
|
+
// The picker action is meaningful visible content, not a placeholder.
|
|
218
|
+
// Keep the label lifted so it cannot collide with buttonLabel.
|
|
219
|
+
const displayValue = this.value || this.buttonLabel;
|
|
220
|
+
const isActive = Boolean(displayValue);
|
|
218
221
|
const hasLeading = Boolean(this.icon);
|
|
219
222
|
const hasTrailing = Boolean(this.trailingIcon);
|
|
220
223
|
const fieldClasses = {
|
|
@@ -250,8 +253,8 @@ export class MoniFileField extends MoniElement {
|
|
|
250
253
|
type="text"
|
|
251
254
|
part="display"
|
|
252
255
|
readonly
|
|
253
|
-
placeholder
|
|
254
|
-
.value=${
|
|
256
|
+
placeholder=""
|
|
257
|
+
.value=${displayValue}
|
|
255
258
|
?disabled=${this.disabled}
|
|
256
259
|
name=${ifDefined(this.name ? `${this.name}-display` : undefined)}
|
|
257
260
|
class=${isActive ? 'active' : ''}
|
|
@@ -57,4 +57,13 @@ describe('moni-loading-indicator', () => {
|
|
|
57
57
|
expect(cssText).toContain('prefers-reduced-motion: reduce');
|
|
58
58
|
expect(cssText).toContain('animation: none');
|
|
59
59
|
});
|
|
60
|
+
|
|
61
|
+
it('permite que el indicador contained crezca fuera de su superficie', () => {
|
|
62
|
+
const cssText = ((el.constructor as typeof HTMLElement & { styles: unknown[] }).styles)
|
|
63
|
+
.map((style: any) => style?.cssText ?? '')
|
|
64
|
+
.join(' ');
|
|
65
|
+
expect(cssText).not.toContain('contain: strict');
|
|
66
|
+
expect(cssText).toContain('contain: layout style');
|
|
67
|
+
expect(cssText).toContain('overflow: visible');
|
|
68
|
+
});
|
|
60
69
|
});
|
|
@@ -101,7 +101,11 @@ export class MoniLoadingIndicator extends MoniElement {
|
|
|
101
101
|
:host {
|
|
102
102
|
display: inline-block;
|
|
103
103
|
aspect-ratio: 1 / 1;
|
|
104
|
-
|
|
104
|
+
/* Paint containment clipped oversized morphs in the contained
|
|
105
|
+
* variant. Keep layout/style isolation while allowing the active
|
|
106
|
+
* indicator to animate beyond the container surface. */
|
|
107
|
+
contain: layout style;
|
|
108
|
+
overflow: visible;
|
|
105
109
|
vertical-align: middle;
|
|
106
110
|
}
|
|
107
111
|
|
|
@@ -133,6 +137,19 @@ export class MoniLoadingIndicator extends MoniElement {
|
|
|
133
137
|
justify-content: center;
|
|
134
138
|
border-radius: var(--moni-loading-indicator-container-shape, 9999px);
|
|
135
139
|
box-sizing: border-box;
|
|
140
|
+
overflow: visible;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.active-indicator-wrapper {
|
|
144
|
+
overflow: visible;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.active-indicator-scale {
|
|
148
|
+
display: flex;
|
|
149
|
+
align-items: center;
|
|
150
|
+
justify-content: center;
|
|
151
|
+
overflow: visible;
|
|
152
|
+
transform-origin: center;
|
|
136
153
|
}
|
|
137
154
|
|
|
138
155
|
.active-indicator {
|
|
@@ -243,7 +260,9 @@ export class MoniLoadingIndicator extends MoniElement {
|
|
|
243
260
|
return html`
|
|
244
261
|
<div class="container animate" aria-hidden="true">
|
|
245
262
|
<div class="active-indicator-wrapper">
|
|
246
|
-
<div class="active-indicator"
|
|
263
|
+
<div class="active-indicator-scale">
|
|
264
|
+
<div class="active-indicator"></div>
|
|
265
|
+
</div>
|
|
247
266
|
</div>
|
|
248
267
|
</div>
|
|
249
268
|
`;
|