@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
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import { html, css } from 'lit';
|
|
9
9
|
import { customElement, property } from 'lit/decorators.js';
|
|
10
|
+
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
10
11
|
import { MoniElement, sharedStyles } from './_base/index.js';
|
|
11
12
|
|
|
12
13
|
/**
|
|
@@ -341,9 +342,11 @@ export class MoniNav extends MoniElement {
|
|
|
341
342
|
return html`${scrim}<nav
|
|
342
343
|
class=${classes}
|
|
343
344
|
part="nav"
|
|
344
|
-
role=${isModalDrawer ? 'dialog' : undefined}
|
|
345
|
-
aria-modal=${isModalDrawer ? 'true' : undefined}
|
|
346
|
-
aria-expanded=${
|
|
345
|
+
role=${ifDefined(isModalDrawer ? 'dialog' : undefined)}
|
|
346
|
+
aria-modal=${ifDefined(isModalDrawer ? 'true' : undefined)}
|
|
347
|
+
aria-expanded=${ifDefined(
|
|
348
|
+
isModalDrawer ? (this.open ? 'true' : 'false') : undefined
|
|
349
|
+
)}
|
|
347
350
|
>
|
|
348
351
|
<slot name="header"></slot>
|
|
349
352
|
<slot @slotchange=${this._propagateToItems}></slot>
|
|
@@ -108,6 +108,25 @@ export class MoniSelectOption extends MoniElement {
|
|
|
108
108
|
* Cuando `selected=true`, se renderiza un icono de marca de verificación principal (leading checkmark) a través de `<moni-icon name="check">`
|
|
109
109
|
* en lugar del slot del icono principal, según la especificación de opciones de Select de M3.
|
|
110
110
|
*/
|
|
111
|
+
/*
|
|
112
|
+
* Este `<li>` no declara `role="option"` ni `aria-selected`, aunque la ficha
|
|
113
|
+
* del componente diga que sí.
|
|
114
|
+
*
|
|
115
|
+
* Hoy no afecta a nadie: `moni-select` proyecta a sus hijos en un
|
|
116
|
+
* `<slot style="display:none">` y los usa sólo como fuente de datos —
|
|
117
|
+
* redibuja la lista visible con sus propios `<li class="option-item">`—, así
|
|
118
|
+
* que estos nodos no llegan al árbol de accesibilidad de Chrome (comprobado
|
|
119
|
+
* con `Accessibility.getFullAXTree`: cero nodos). axe sí los reporta como
|
|
120
|
+
* `listitem` porque no sigue el `display:none` a través del límite del slot.
|
|
121
|
+
*
|
|
122
|
+
* Añadir `role="option"` aquí empeora las cosas: exige un ancestro
|
|
123
|
+
* `role="listbox"` y en el árbol aplanado queda el host sin rol entre medio,
|
|
124
|
+
* con lo que aparece `aria-required-parent`. La corrección completa es marcar
|
|
125
|
+
* como `listbox` los `<ul>` de las cinco rutas de render de `moni-select`
|
|
126
|
+
* (desplegable, drilldown, submenu y hoja), mover `role="option"` al host y
|
|
127
|
+
* dejar el `<li>` en `presentation`. Queda fuera de este cambio porque toca
|
|
128
|
+
* el manejo de teclado del componente.
|
|
129
|
+
*/
|
|
111
130
|
override render() {
|
|
112
131
|
return html`<li
|
|
113
132
|
part="option"
|
|
@@ -406,3 +406,19 @@ describe('moni-select', () => {
|
|
|
406
406
|
expect(menu.classList.contains('open')).toBe(true);
|
|
407
407
|
});
|
|
408
408
|
});
|
|
409
|
+
|
|
410
|
+
describe('moni-select · nombre accesible', () => {
|
|
411
|
+
it('asocia la etiqueta con el input mediante for/id', async () => {
|
|
412
|
+
const el = document.createElement('moni-select') as MoniSelect;
|
|
413
|
+
el.label = 'Estado';
|
|
414
|
+
document.body.appendChild(el);
|
|
415
|
+
await el.updateComplete;
|
|
416
|
+
|
|
417
|
+
const input = el.shadowRoot?.querySelector('input');
|
|
418
|
+
const label = el.shadowRoot?.querySelector('label');
|
|
419
|
+
expect(input?.id).toBe('input');
|
|
420
|
+
expect(label?.getAttribute('for')).toBe('input');
|
|
421
|
+
expect(input?.nextElementSibling).toBe(label);
|
|
422
|
+
el.remove();
|
|
423
|
+
});
|
|
424
|
+
})
|
|
@@ -1679,6 +1679,7 @@ export class MoniSelect extends MoniElement {
|
|
|
1679
1679
|
return html`<div class=${classMap(fieldClasses)} part="field">
|
|
1680
1680
|
${leading}
|
|
1681
1681
|
<input
|
|
1682
|
+
id="input"
|
|
1682
1683
|
type="text"
|
|
1683
1684
|
part="input"
|
|
1684
1685
|
.value=${displayValue}
|
|
@@ -1693,6 +1694,7 @@ export class MoniSelect extends MoniElement {
|
|
|
1693
1694
|
/>
|
|
1694
1695
|
${this.label
|
|
1695
1696
|
? html`<label
|
|
1697
|
+
for="input"
|
|
1696
1698
|
part="label"
|
|
1697
1699
|
class=${classMap({ active: isActive })}
|
|
1698
1700
|
>${this.label}</label
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { describe, it, expect, beforeEach, afterEach } from 'vitest';
|
|
2
|
-
import './moni-side-sheet.js';
|
|
3
|
-
import type { MoniSideSheet } from './moni-side-sheet.js';
|
|
2
|
+
import { MoniSideSheet } from './moni-side-sheet.js';
|
|
4
3
|
|
|
5
4
|
describe('moni-side-sheet', () => {
|
|
6
5
|
let el: MoniSideSheet;
|
|
@@ -41,6 +40,7 @@ describe('moni-side-sheet', () => {
|
|
|
41
40
|
await el.updateComplete;
|
|
42
41
|
|
|
43
42
|
const headline = el.shadowRoot?.querySelector('.headline') as HTMLHeadingElement;
|
|
43
|
+
const dialog = el.shadowRoot?.querySelector('dialog') as HTMLDialogElement;
|
|
44
44
|
expect(headline.textContent?.trim()).toBe('Configuración');
|
|
45
45
|
|
|
46
46
|
let eventFired = false;
|
|
@@ -54,7 +54,38 @@ describe('moni-side-sheet', () => {
|
|
|
54
54
|
|
|
55
55
|
await el.updateComplete;
|
|
56
56
|
expect(el.open).toBe(false);
|
|
57
|
+
expect(eventFired).toBe(false);
|
|
58
|
+
expect(dialog.open).toBe(true);
|
|
59
|
+
dialog.dispatchEvent(new TransitionEvent('transitionend', { propertyName: 'transform' }));
|
|
57
60
|
expect(eventFired).toBe(true);
|
|
61
|
+
expect(dialog.matches(':not([open])')).toBe(true);
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
it('anima el cierre por Escape antes de cerrar el dialog nativo', async () => {
|
|
65
|
+
el.modal = true;
|
|
66
|
+
el.open = true;
|
|
67
|
+
await el.updateComplete;
|
|
68
|
+
const dialog = el.shadowRoot?.querySelector('dialog') as HTMLDialogElement;
|
|
69
|
+
const cancel = new Event('cancel', { cancelable: true });
|
|
70
|
+
dialog.dispatchEvent(cancel);
|
|
71
|
+
await el.updateComplete;
|
|
72
|
+
|
|
73
|
+
expect(cancel.defaultPrevented).toBe(true);
|
|
74
|
+
expect(el.open).toBe(false);
|
|
75
|
+
expect(dialog.open).toBe(true);
|
|
76
|
+
expect(dialog.classList.contains('opened')).toBe(false);
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
it('oculta explícitamente el dialog cuando no tiene open', () => {
|
|
80
|
+
const cssText = String(MoniSideSheet.styles).replace(/\s+/g, '');
|
|
81
|
+
expect(cssText).toContain('dialog:not([open]){display:none;');
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
it('anula el límite nativo de dialog y ocupa todo el alto dinámico', () => {
|
|
85
|
+
const cssText = String(MoniSideSheet.styles).replace(/\s+/g, '');
|
|
86
|
+
expect(cssText).toContain('block-size:100dvh;');
|
|
87
|
+
expect(cssText).toContain('max-block-size:100dvh;');
|
|
88
|
+
expect(cssText).toContain('inset-block:0;');
|
|
58
89
|
});
|
|
59
90
|
|
|
60
91
|
it('dispara el evento back cuando se hace clic en el botón de volver', async () => {
|
|
@@ -82,6 +113,12 @@ describe('moni-side-sheet', () => {
|
|
|
82
113
|
expect(dialog?.classList.contains('no-border')).toBe(true);
|
|
83
114
|
});
|
|
84
115
|
|
|
116
|
+
it('compensa los márgenes del modo detached sin desbordar el viewport', () => {
|
|
117
|
+
const cssText = String(MoniSideSheet.styles).replace(/\s+/g, '');
|
|
118
|
+
expect(cssText).toContain('inline-size:calc(100%-32px)');
|
|
119
|
+
expect(cssText).toContain('calc(100%-32px)');
|
|
120
|
+
});
|
|
121
|
+
|
|
85
122
|
it('renderiza el tirador (handle) y soporta el cierre por arrastre cuando withHandle es true', async () => {
|
|
86
123
|
el.withHandle = true;
|
|
87
124
|
el.open = true;
|
|
@@ -84,6 +84,25 @@ export class MoniSideSheet extends MoniElement {
|
|
|
84
84
|
private _sheetWidth = 0;
|
|
85
85
|
private _defaultWidth = 0;
|
|
86
86
|
private _justDragged = false;
|
|
87
|
+
private _closeTimer: ReturnType<typeof setTimeout> | undefined;
|
|
88
|
+
private _closing = false;
|
|
89
|
+
|
|
90
|
+
override disconnectedCallback() {
|
|
91
|
+
clearTimeout(this._closeTimer);
|
|
92
|
+
super.disconnectedCallback();
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
private _finishClose() {
|
|
96
|
+
if (!this._closing || this.open) return;
|
|
97
|
+
this._closing = false;
|
|
98
|
+
clearTimeout(this._closeTimer);
|
|
99
|
+
this._dialog.classList.remove('expanded');
|
|
100
|
+
if (this._dialog.open) {
|
|
101
|
+
if (typeof this._dialog.close === 'function') this._dialog.close();
|
|
102
|
+
else this._dialog.open = false;
|
|
103
|
+
}
|
|
104
|
+
this.dispatchEvent(new CustomEvent('close', { bubbles: true, composed: true }));
|
|
105
|
+
}
|
|
87
106
|
|
|
88
107
|
private _getMaxWidthPx(): number {
|
|
89
108
|
const val = this.expandedWidth || '600px';
|
|
@@ -119,6 +138,8 @@ export class MoniSideSheet extends MoniElement {
|
|
|
119
138
|
|
|
120
139
|
if (changedProperties.has('open') && this._dialog) {
|
|
121
140
|
if (this.open) {
|
|
141
|
+
this._closing = false;
|
|
142
|
+
clearTimeout(this._closeTimer);
|
|
122
143
|
if (this.modal) {
|
|
123
144
|
if (!this._dialog.open) {
|
|
124
145
|
if (typeof this._dialog.showModal === 'function') {
|
|
@@ -141,23 +162,18 @@ export class MoniSideSheet extends MoniElement {
|
|
|
141
162
|
this._dialog.classList.add('opened');
|
|
142
163
|
} else {
|
|
143
164
|
if (this._dialog.open) {
|
|
165
|
+
this._closing = true;
|
|
144
166
|
this._dialog.classList.remove('opened');
|
|
145
167
|
const onTransitionEnd = (e: TransitionEvent) => {
|
|
146
|
-
if (e.target === this._dialog &&
|
|
168
|
+
if (e.target === this._dialog && e.propertyName === 'transform') {
|
|
147
169
|
this._dialog.removeEventListener('transitionend', onTransitionEnd);
|
|
148
|
-
|
|
149
|
-
this._dialog.classList.remove('expanded');
|
|
150
|
-
this._dialog.close();
|
|
151
|
-
}
|
|
170
|
+
this._finishClose();
|
|
152
171
|
}
|
|
153
172
|
};
|
|
154
173
|
this._dialog.addEventListener('transitionend', onTransitionEnd);
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
this._dialog.classList.remove('expanded');
|
|
159
|
-
this._dialog.close();
|
|
160
|
-
}
|
|
174
|
+
this._closeTimer = setTimeout(() => {
|
|
175
|
+
this._dialog.removeEventListener('transitionend', onTransitionEnd);
|
|
176
|
+
this._finishClose();
|
|
161
177
|
}, 350);
|
|
162
178
|
}
|
|
163
179
|
}
|
|
@@ -341,7 +357,11 @@ export class MoniSideSheet extends MoniElement {
|
|
|
341
357
|
*/
|
|
342
358
|
private _onCloseClick() {
|
|
343
359
|
this.open = false;
|
|
344
|
-
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
private _onCancel(e: Event) {
|
|
363
|
+
e.preventDefault();
|
|
364
|
+
this._onCloseClick();
|
|
345
365
|
}
|
|
346
366
|
|
|
347
367
|
/**
|
|
@@ -381,9 +401,9 @@ export class MoniSideSheet extends MoniElement {
|
|
|
381
401
|
flex-direction: column;
|
|
382
402
|
border: none;
|
|
383
403
|
position: fixed;
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
block-size:
|
|
404
|
+
inset-block: 0;
|
|
405
|
+
block-size: 100dvh;
|
|
406
|
+
max-block-size: 100dvh;
|
|
387
407
|
inline-size: 100%;
|
|
388
408
|
max-inline-size: var(--moni-side-sheet-max-width, 400px);
|
|
389
409
|
background-color: var(--surface);
|
|
@@ -404,6 +424,12 @@ export class MoniSideSheet extends MoniElement {
|
|
|
404
424
|
visibility: hidden;
|
|
405
425
|
}
|
|
406
426
|
|
|
427
|
+
/* Author-level display:flex overrides the browser's native
|
|
428
|
+
dialog:not([open]) rule, so closed sheets must be hidden explicitly. */
|
|
429
|
+
dialog:not([open]) {
|
|
430
|
+
display: none;
|
|
431
|
+
}
|
|
432
|
+
|
|
407
433
|
dialog.dragging {
|
|
408
434
|
transition: none !important;
|
|
409
435
|
}
|
|
@@ -433,7 +459,13 @@ export class MoniSideSheet extends MoniElement {
|
|
|
433
459
|
dialog.detached {
|
|
434
460
|
top: 16px;
|
|
435
461
|
bottom: 16px;
|
|
436
|
-
block-size: calc(
|
|
462
|
+
block-size: calc(100dvh - 32px);
|
|
463
|
+
max-block-size: calc(100dvh - 32px);
|
|
464
|
+
inline-size: calc(100% - 32px);
|
|
465
|
+
max-inline-size: min(
|
|
466
|
+
var(--moni-side-sheet-max-width, 400px),
|
|
467
|
+
calc(100% - 32px)
|
|
468
|
+
);
|
|
437
469
|
border-radius: 1.75rem !important;
|
|
438
470
|
border: 1px solid var(--outline-variant);
|
|
439
471
|
box-shadow: var(--elevate1);
|
|
@@ -586,8 +618,8 @@ export class MoniSideSheet extends MoniElement {
|
|
|
586
618
|
return html`
|
|
587
619
|
<dialog
|
|
588
620
|
part="dialog"
|
|
589
|
-
?open=${this.open}
|
|
590
621
|
class=${classes}
|
|
622
|
+
@cancel=${this._onCancel}
|
|
591
623
|
@click=${this._onDialogClick}
|
|
592
624
|
@pointerdown=${this._onPointerDown}
|
|
593
625
|
@pointermove=${this._onPointerMove}
|
|
@@ -59,6 +59,22 @@ describe('moni-snackbar', () => {
|
|
|
59
59
|
await el.updateComplete;
|
|
60
60
|
const action = el.shadowRoot?.querySelector('[part="action"]');
|
|
61
61
|
expect(action?.textContent).toBe('Undo');
|
|
62
|
+
expect(action?.tagName).toBe('BUTTON');
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
it('emite action y se cierra al activar la acción', async () => {
|
|
66
|
+
el.action = 'Undo';
|
|
67
|
+
el.active = true;
|
|
68
|
+
await el.updateComplete;
|
|
69
|
+
let received = false;
|
|
70
|
+
el.addEventListener('action', () => (received = true));
|
|
71
|
+
|
|
72
|
+
(el.shadowRoot?.querySelector('[part="action"]') as HTMLButtonElement).click();
|
|
73
|
+
await el.updateComplete;
|
|
74
|
+
|
|
75
|
+
expect(received).toBe(true);
|
|
76
|
+
expect(el.active).toBe(false);
|
|
77
|
+
expect(el.hasAttribute('active')).toBe(false);
|
|
62
78
|
});
|
|
63
79
|
|
|
64
80
|
it('max-lines es 2 por defecto (especificación M3)', async () => {
|
|
@@ -178,12 +178,25 @@ export class MoniSnackbar extends MoniElement {
|
|
|
178
178
|
}
|
|
179
179
|
|
|
180
180
|
.action {
|
|
181
|
+
appearance: none;
|
|
182
|
+
border: 0;
|
|
183
|
+
background: transparent;
|
|
184
|
+
padding: 0.5rem;
|
|
185
|
+
margin: -0.5rem;
|
|
186
|
+
border-radius: 999px;
|
|
187
|
+
font: inherit;
|
|
181
188
|
font-weight: 500;
|
|
182
189
|
text-transform: uppercase;
|
|
183
190
|
font-size: 0.875rem;
|
|
184
191
|
letter-spacing: 0.05em;
|
|
185
192
|
color: var(--inverse-primary);
|
|
186
193
|
white-space: nowrap;
|
|
194
|
+
cursor: pointer;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
.action:focus-visible {
|
|
198
|
+
outline: 2px solid currentColor;
|
|
199
|
+
outline-offset: 2px;
|
|
187
200
|
}
|
|
188
201
|
|
|
189
202
|
@media only screen and (min-width: 993px) {
|
|
@@ -194,6 +207,16 @@ export class MoniSnackbar extends MoniElement {
|
|
|
194
207
|
`
|
|
195
208
|
];
|
|
196
209
|
|
|
210
|
+
private handleAction() {
|
|
211
|
+
this.active = false;
|
|
212
|
+
this.dispatchEvent(
|
|
213
|
+
new CustomEvent('action', {
|
|
214
|
+
bubbles: true,
|
|
215
|
+
composed: true
|
|
216
|
+
})
|
|
217
|
+
);
|
|
218
|
+
}
|
|
219
|
+
|
|
197
220
|
/**
|
|
198
221
|
* Renderiza el snackbar con su mensaje y el botón de acción opcional.
|
|
199
222
|
*
|
|
@@ -215,7 +238,7 @@ export class MoniSnackbar extends MoniElement {
|
|
|
215
238
|
<slot name="icon"></slot>
|
|
216
239
|
<span class="max" part="text"><slot>${this.text}</slot></span>
|
|
217
240
|
${this.action
|
|
218
|
-
? html`<
|
|
241
|
+
? html`<button class="action" part="action" type="button" @click=${this.handleAction}>${this.action}</button>`
|
|
219
242
|
: ''}
|
|
220
243
|
</div>`;
|
|
221
244
|
}
|
|
@@ -108,6 +108,10 @@ export class MoniStepper extends MoniElement {
|
|
|
108
108
|
stepElement.orientation = this.orientation;
|
|
109
109
|
stepElement.completed = stepIndex < this.current;
|
|
110
110
|
stepElement.active = stepIndex === this.current;
|
|
111
|
+
// El <ol> proyecta hosts <moni-step>, no <li>. Sin un rol explícito
|
|
112
|
+
// el árbol aplanado deja una lista cuyos hijos no son elementos de
|
|
113
|
+
// lista, y los lectores de pantalla no anuncian "1 de N".
|
|
114
|
+
stepElement.setAttribute('role', 'listitem');
|
|
111
115
|
});
|
|
112
116
|
});
|
|
113
117
|
}
|
|
@@ -229,3 +229,28 @@ describe('moni-text-field', () => {
|
|
|
229
229
|
expect(MoniTextField.Inputmask.isValid('123-456', { mask: '999-999' })).toBe(true);
|
|
230
230
|
});
|
|
231
231
|
});
|
|
232
|
+
|
|
233
|
+
describe('moni-text-field · nombre accesible', () => {
|
|
234
|
+
/*
|
|
235
|
+
* El <label> y el <input> son hermanos dentro del mismo shadow root: sin
|
|
236
|
+
* `for`/`id` no hay asociación y el lector de pantalla anuncia el campo sin
|
|
237
|
+
* nombre. La adyacencia no se puede cambiar porque `field-styles` la usa
|
|
238
|
+
* (`:focus + label`) para elevar la etiqueta, así que la unión va por id.
|
|
239
|
+
*/
|
|
240
|
+
it('asocia la etiqueta con el input mediante for/id', async () => {
|
|
241
|
+
const el = document.createElement('moni-text-field') as HTMLElement & {
|
|
242
|
+
label: string;
|
|
243
|
+
updateComplete: Promise<unknown>;
|
|
244
|
+
};
|
|
245
|
+
el.label = 'Correo';
|
|
246
|
+
document.body.appendChild(el);
|
|
247
|
+
await el.updateComplete;
|
|
248
|
+
|
|
249
|
+
const input = el.shadowRoot?.querySelector('input');
|
|
250
|
+
const label = el.shadowRoot?.querySelector('label');
|
|
251
|
+
expect(input?.id).toBe('input');
|
|
252
|
+
expect(label?.getAttribute('for')).toBe('input');
|
|
253
|
+
expect(input?.nextElementSibling).toBe(label);
|
|
254
|
+
el.remove();
|
|
255
|
+
});
|
|
256
|
+
})
|
|
@@ -494,6 +494,7 @@ export class MoniTextField extends MoniElement {
|
|
|
494
494
|
return html`<div class=${classMap(fieldClasses)} part="field">
|
|
495
495
|
${leading}
|
|
496
496
|
<input
|
|
497
|
+
id="input"
|
|
497
498
|
part="input"
|
|
498
499
|
type=${this.type}
|
|
499
500
|
placeholder=${placeholder}
|
|
@@ -506,6 +507,7 @@ export class MoniTextField extends MoniElement {
|
|
|
506
507
|
/>
|
|
507
508
|
${this.label
|
|
508
509
|
? html`<label
|
|
510
|
+
for="input"
|
|
509
511
|
part="label"
|
|
510
512
|
class=${classMap({ active: isActive })}
|
|
511
513
|
>${this.label}</label
|
|
@@ -171,3 +171,19 @@ describe('moni-textarea', () => {
|
|
|
171
171
|
expect(textarea.style.blockSize).toBe('');
|
|
172
172
|
});
|
|
173
173
|
});
|
|
174
|
+
|
|
175
|
+
describe('moni-textarea · nombre accesible', () => {
|
|
176
|
+
it('asocia la etiqueta con el textarea mediante for/id', async () => {
|
|
177
|
+
const el = document.createElement('moni-textarea') as MoniTextarea;
|
|
178
|
+
el.label = 'Comentario';
|
|
179
|
+
document.body.appendChild(el);
|
|
180
|
+
await el.updateComplete;
|
|
181
|
+
|
|
182
|
+
const control = el.shadowRoot?.querySelector('textarea');
|
|
183
|
+
const label = el.shadowRoot?.querySelector('label');
|
|
184
|
+
expect(control?.id).toBe('input');
|
|
185
|
+
expect(label?.getAttribute('for')).toBe('input');
|
|
186
|
+
expect(control?.nextElementSibling).toBe(label);
|
|
187
|
+
el.remove();
|
|
188
|
+
});
|
|
189
|
+
})
|
|
@@ -357,6 +357,7 @@ export class MoniTextarea extends MoniElement {
|
|
|
357
357
|
return html`<div class=${classMap(fieldClasses)} part="field">
|
|
358
358
|
${leading}
|
|
359
359
|
<textarea
|
|
360
|
+
id="input"
|
|
360
361
|
part="input"
|
|
361
362
|
rows=${this.rows}
|
|
362
363
|
maxlength=${ifDefined(this.maxlength ?? undefined)}
|
|
@@ -369,6 +370,7 @@ export class MoniTextarea extends MoniElement {
|
|
|
369
370
|
></textarea>
|
|
370
371
|
${this.label
|
|
371
372
|
? html`<label
|
|
373
|
+
for="input"
|
|
372
374
|
part="label"
|
|
373
375
|
class=${classMap({ active: isActive })}
|
|
374
376
|
>${this.label}</label
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { describe, it, expect, beforeEach, afterEach } from 'vitest';
|
|
2
|
-
import './moni-toolbar.js';
|
|
3
|
-
import type { MoniToolbar } from './moni-toolbar.js';
|
|
2
|
+
import { MoniToolbar } from './moni-toolbar.js';
|
|
4
3
|
|
|
5
4
|
describe('moni-toolbar (P5.4 — recreated)', () => {
|
|
6
5
|
let el: MoniToolbar;
|
|
@@ -90,4 +89,8 @@ describe('moni-toolbar (P5.4 — recreated)', () => {
|
|
|
90
89
|
const assigned = slot?.assignedNodes({ flatten: true }) ?? [];
|
|
91
90
|
expect(assigned.length).toBeGreaterThan(0);
|
|
92
91
|
});
|
|
93
|
-
|
|
92
|
+
|
|
93
|
+
it('usa un z-index local que no atraviesa overlays modales', () => {
|
|
94
|
+
expect(String(MoniToolbar.styles).replace(/\s+/g, '')).toContain('z-index:var(--z-index-toolbar,10)');
|
|
95
|
+
});
|
|
96
|
+
});
|
|
@@ -65,7 +65,9 @@ export class MoniToolbar extends MoniElement {
|
|
|
65
65
|
:host {
|
|
66
66
|
display: block;
|
|
67
67
|
position: relative;
|
|
68
|
-
|
|
68
|
+
/* Participate in the local surface stack. A four-digit default
|
|
69
|
+
allowed toolbars to paint above modal sheets and dialogs. */
|
|
70
|
+
z-index: var(--z-index-toolbar, 10);
|
|
69
71
|
}
|
|
70
72
|
|
|
71
73
|
.container {
|
|
@@ -159,4 +161,4 @@ declare global {
|
|
|
159
161
|
}
|
|
160
162
|
}
|
|
161
163
|
|
|
162
|
-
export default MoniToolbar;
|
|
164
|
+
export default MoniToolbar;
|
|
@@ -22,6 +22,8 @@ describe('moni-tooltip (P3.1)', () => {
|
|
|
22
22
|
await el.updateComplete;
|
|
23
23
|
const tip = el.shadowRoot?.querySelector('[role="tooltip"]');
|
|
24
24
|
expect(tip).toBeTruthy();
|
|
25
|
+
expect(tip?.classList.contains('js-positioned')).toBe(true);
|
|
26
|
+
expect((tip as HTMLElement).style.getPropertyValue('--_tooltip-origin-x')).not.toBe('');
|
|
25
27
|
});
|
|
26
28
|
|
|
27
29
|
it('refleja el texto en el host', async () => {
|
|
@@ -35,14 +37,16 @@ describe('moni-tooltip (P3.1)', () => {
|
|
|
35
37
|
expect(tip?.classList.contains('top')).toBe(true);
|
|
36
38
|
});
|
|
37
39
|
|
|
38
|
-
it('acepta los
|
|
39
|
-
const positions: Array<'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end'> = [
|
|
40
|
+
it('acepta los 8 posicionamientos disponibles', async () => {
|
|
41
|
+
const positions: Array<'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'right'> = [
|
|
40
42
|
'top',
|
|
41
43
|
'top-start',
|
|
42
44
|
'top-end',
|
|
43
45
|
'bottom',
|
|
44
46
|
'bottom-start',
|
|
45
|
-
'bottom-end'
|
|
47
|
+
'bottom-end',
|
|
48
|
+
'left',
|
|
49
|
+
'right'
|
|
46
50
|
];
|
|
47
51
|
for (const pos of positions) {
|
|
48
52
|
el.position = pos;
|
|
@@ -58,6 +62,21 @@ describe('moni-tooltip (P3.1)', () => {
|
|
|
58
62
|
expect(el.hasAttribute('rich')).toBe(false);
|
|
59
63
|
});
|
|
60
64
|
|
|
65
|
+
it('rota con el target solo cuando rotate-with-target está activo', async () => {
|
|
66
|
+
await el.updateComplete;
|
|
67
|
+
const tip = el.shadowRoot?.querySelector('.tooltip') as HTMLElement;
|
|
68
|
+
parent.style.transform = 'matrix(0.996195, 0.087156, -0.087156, 0.996195, 0, 0)';
|
|
69
|
+
parent.dispatchEvent(new MouseEvent('mouseenter', { bubbles: true }));
|
|
70
|
+
expect(tip.style.getPropertyValue('--_tooltip-target-rotation')).toBe('0deg');
|
|
71
|
+
|
|
72
|
+
parent.dispatchEvent(new MouseEvent('mouseleave', { bubbles: true }));
|
|
73
|
+
el.rotateWithTarget = true;
|
|
74
|
+
await el.updateComplete;
|
|
75
|
+
parent.dispatchEvent(new MouseEvent('mouseenter', { bubbles: true }));
|
|
76
|
+
expect(Number.parseFloat(tip.style.getPropertyValue('--_tooltip-target-rotation'))).toBeCloseTo(5, 1);
|
|
77
|
+
expect(el.hasAttribute('rotate-with-target')).toBe(true);
|
|
78
|
+
});
|
|
79
|
+
|
|
61
80
|
it('rich=true habilita el modo de contenido enriquecido (atributo rich reflejado)', async () => {
|
|
62
81
|
el.rich = true;
|
|
63
82
|
await el.updateComplete;
|
|
@@ -79,6 +98,61 @@ describe('moni-tooltip (P3.1)', () => {
|
|
|
79
98
|
expect(tip?.classList.contains('visible')).toBe(false);
|
|
80
99
|
});
|
|
81
100
|
|
|
101
|
+
it('centra matemáticamente el tooltip sobre el trigger', async () => {
|
|
102
|
+
await el.updateComplete;
|
|
103
|
+
const tip = el.shadowRoot?.querySelector('.tooltip') as HTMLElement;
|
|
104
|
+
parent.getBoundingClientRect = () => new DOMRect(500, 300, 160, 48);
|
|
105
|
+
Object.defineProperty(tip, 'offsetWidth', { configurable: true, value: 112 });
|
|
106
|
+
Object.defineProperty(tip, 'offsetHeight', { configurable: true, value: 36 });
|
|
107
|
+
|
|
108
|
+
parent.dispatchEvent(new MouseEvent('mouseenter', { bubbles: true }));
|
|
109
|
+
|
|
110
|
+
expect(tip.style.left).toBe('524px');
|
|
111
|
+
expect(tip.style.top).toBe('256px');
|
|
112
|
+
expect(tip.classList.contains('js-positioned')).toBe(true);
|
|
113
|
+
expect(tip.style.transformOrigin).toBe('center');
|
|
114
|
+
expect(tip.style.getPropertyValue('--_tooltip-origin-x')).toBe('0px');
|
|
115
|
+
expect(tip.style.getPropertyValue('--_tooltip-origin-y')).toBe('50px');
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
it('posiciona left y right desde el borde del trigger', async () => {
|
|
119
|
+
await el.updateComplete;
|
|
120
|
+
const tip = el.shadowRoot?.querySelector('.tooltip') as HTMLElement;
|
|
121
|
+
parent.getBoundingClientRect = () => new DOMRect(500, 300, 160, 48);
|
|
122
|
+
Object.defineProperty(tip, 'offsetWidth', { configurable: true, value: 112 });
|
|
123
|
+
Object.defineProperty(tip, 'offsetHeight', { configurable: true, value: 36 });
|
|
124
|
+
|
|
125
|
+
el.position = 'left';
|
|
126
|
+
await el.updateComplete;
|
|
127
|
+
parent.dispatchEvent(new MouseEvent('mouseenter', { bubbles: true }));
|
|
128
|
+
expect(tip.style.left).toBe('380px');
|
|
129
|
+
expect(tip.style.top).toBe('306px');
|
|
130
|
+
expect(tip.style.getPropertyValue('--_tooltip-origin-x')).toBe('144px');
|
|
131
|
+
expect(tip.style.getPropertyValue('--_tooltip-origin-y')).toBe('0px');
|
|
132
|
+
|
|
133
|
+
parent.dispatchEvent(new MouseEvent('mouseleave', { bubbles: true }));
|
|
134
|
+
el.position = 'right';
|
|
135
|
+
await el.updateComplete;
|
|
136
|
+
parent.dispatchEvent(new MouseEvent('mouseenter', { bubbles: true }));
|
|
137
|
+
expect(tip.style.left).toBe('668px');
|
|
138
|
+
expect(tip.style.getPropertyValue('--_tooltip-origin-x')).toBe('-144px');
|
|
139
|
+
});
|
|
140
|
+
|
|
141
|
+
it('sigue al trigger cuando cambia de posición durante scroll', async () => {
|
|
142
|
+
await el.updateComplete;
|
|
143
|
+
const tip = el.shadowRoot?.querySelector('.tooltip') as HTMLElement;
|
|
144
|
+
let top = 300;
|
|
145
|
+
parent.getBoundingClientRect = () => new DOMRect(500, top, 160, 48);
|
|
146
|
+
Object.defineProperty(tip, 'offsetWidth', { configurable: true, value: 112 });
|
|
147
|
+
Object.defineProperty(tip, 'offsetHeight', { configurable: true, value: 36 });
|
|
148
|
+
parent.dispatchEvent(new MouseEvent('mouseenter', { bubbles: true }));
|
|
149
|
+
expect(tip.style.top).toBe('256px');
|
|
150
|
+
|
|
151
|
+
top = 180;
|
|
152
|
+
document.dispatchEvent(new Event('scroll'));
|
|
153
|
+
expect(tip.style.top).toBe('136px');
|
|
154
|
+
});
|
|
155
|
+
|
|
82
156
|
it('muestra el tooltip en focusin y lo oculta en focusout', async () => {
|
|
83
157
|
await el.updateComplete;
|
|
84
158
|
const tip = el.shadowRoot?.querySelector('.tooltip') as HTMLElement;
|