mtrl 0.3.8 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/LICENSE +21 -0
- package/dist/README.md +324 -0
- package/dist/components/badge/api.d.ts +48 -0
- package/{src/components/badge/badge.ts → dist/components/badge/badge.d.ts} +14 -57
- package/dist/components/badge/config.d.ts +79 -0
- package/dist/components/badge/constants.d.ts +35 -0
- package/dist/components/badge/features.d.ts +36 -0
- package/dist/components/badge/index.d.ts +8 -0
- package/dist/components/badge/types.d.ts +256 -0
- package/dist/components/bottom-app-bar/bottom-app-bar.d.ts +12 -0
- package/dist/components/bottom-app-bar/config.d.ts +16 -0
- package/dist/components/bottom-app-bar/constants.d.ts +22 -0
- package/{src/components/bottom-app-bar/index.ts → dist/components/bottom-app-bar/index.d.ts} +0 -9
- package/dist/components/bottom-app-bar/types.d.ts +96 -0
- package/dist/components/button/api.d.ts +47 -0
- package/dist/components/button/button.d.ts +25 -0
- package/dist/components/button/config.d.ts +59 -0
- package/dist/components/button/constants.d.ts +43 -0
- package/dist/components/button/index.d.ts +6 -0
- package/dist/components/button/types.d.ts +265 -0
- package/dist/components/card/api.d.ts +11 -0
- package/{src/components/card/card.ts → dist/components/card/card.d.ts} +10 -58
- package/dist/components/card/config.d.ts +105 -0
- package/dist/components/card/constants.d.ts +85 -0
- package/dist/components/card/content.d.ts +92 -0
- package/dist/components/card/features.d.ts +131 -0
- package/{src/components/card/index.ts → dist/components/card/index.d.ts} +13 -74
- package/dist/components/card/types.d.ts +471 -0
- package/dist/components/carousel/api.d.ts +33 -0
- package/dist/components/carousel/carousel.d.ts +75 -0
- package/dist/components/carousel/config.d.ts +45 -0
- package/dist/components/carousel/constants.d.ts +165 -0
- package/dist/components/carousel/features/drag.d.ts +8 -0
- package/{src/components/carousel/features/index.ts → dist/components/carousel/features/index.d.ts} +1 -4
- package/dist/components/carousel/features/slides.d.ts +8 -0
- package/{src/components/carousel/index.ts → dist/components/carousel/index.d.ts} +10 -29
- package/dist/components/carousel/types.d.ts +276 -0
- package/dist/components/checkbox/api.d.ts +7 -0
- package/dist/components/checkbox/checkbox.d.ts +65 -0
- package/dist/components/checkbox/config.d.ts +44 -0
- package/dist/components/checkbox/constants.d.ts +63 -0
- package/{src/components/checkbox/index.ts → dist/components/checkbox/index.d.ts} +8 -25
- package/dist/components/checkbox/types.d.ts +242 -0
- package/dist/components/chips/api.d.ts +49 -0
- package/dist/components/chips/chip/api.d.ts +23 -0
- package/dist/components/chips/chip/chip.d.ts +8 -0
- package/dist/components/chips/chip/config.d.ts +57 -0
- package/dist/components/chips/chip/constants.d.ts +38 -0
- package/dist/components/chips/chip/index.d.ts +2 -0
- package/dist/components/chips/chip/types.d.ts +11 -0
- package/dist/components/chips/chips.d.ts +17 -0
- package/dist/components/chips/config.d.ts +67 -0
- package/dist/components/chips/constants.d.ts +46 -0
- package/dist/components/chips/features/chip-items.d.ts +8 -0
- package/dist/components/chips/features/container.d.ts +8 -0
- package/dist/components/chips/features/controller.d.ts +9 -0
- package/{src/components/chips/features/index.ts → dist/components/chips/features/index.d.ts} +1 -2
- package/dist/components/chips/features/label.d.ts +8 -0
- package/dist/components/chips/index.d.ts +4 -0
- package/dist/components/chips/schema.d.ts +34 -0
- package/dist/components/chips/types.d.ts +398 -0
- package/dist/components/datepicker/api.d.ts +9 -0
- package/dist/components/datepicker/config.d.ts +79 -0
- package/dist/components/datepicker/constants.d.ts +97 -0
- package/dist/components/datepicker/datepicker.d.ts +8 -0
- package/dist/components/datepicker/index.d.ts +3 -0
- package/dist/components/datepicker/render.d.ts +43 -0
- package/dist/components/datepicker/types.d.ts +321 -0
- package/dist/components/datepicker/utils.d.ts +84 -0
- package/dist/components/dialog/api.d.ts +59 -0
- package/dist/components/dialog/config.d.ts +91 -0
- package/dist/components/dialog/constants.d.ts +116 -0
- package/{src/components/dialog/dialog.ts → dist/components/dialog/dialog.d.ts} +16 -69
- package/dist/components/dialog/features.d.ts +37 -0
- package/dist/components/dialog/index.d.ts +14 -0
- package/dist/components/dialog/types.d.ts +483 -0
- package/dist/components/divider/config.d.ts +143 -0
- package/dist/components/divider/constants.d.ts +45 -0
- package/{src/components/divider/divider.ts → dist/components/divider/divider.d.ts} +9 -37
- package/dist/components/divider/features.d.ts +50 -0
- package/{src/components/divider/index.ts → dist/components/divider/index.d.ts} +6 -12
- package/dist/components/divider/types.d.ts +124 -0
- package/dist/components/extended-fab/api.d.ts +83 -0
- package/dist/components/extended-fab/config.d.ts +75 -0
- package/dist/components/extended-fab/constants.d.ts +82 -0
- package/dist/components/extended-fab/extended-fab.d.ts +61 -0
- package/{src/components/extended-fab/index.ts → dist/components/extended-fab/index.d.ts} +6 -15
- package/dist/components/extended-fab/types.d.ts +703 -0
- package/dist/components/fab/api.d.ts +64 -0
- package/dist/components/fab/config.d.ts +71 -0
- package/dist/components/fab/constants.d.ts +75 -0
- package/{src/components/fab/fab.ts → dist/components/fab/fab.d.ts} +10 -46
- package/{src/components/fab/index.ts → dist/components/fab/index.d.ts} +6 -15
- package/dist/components/fab/types.d.ts +577 -0
- package/dist/components/index.d.ts +76 -0
- package/dist/components/list/api.d.ts +106 -0
- package/dist/components/list/config.d.ts +61 -0
- package/dist/components/list/constants.d.ts +76 -0
- package/dist/components/list/features/index.d.ts +2 -0
- package/dist/components/list/features/listmanager.d.ts +9 -0
- package/dist/components/list/features/selection.d.ts +9 -0
- package/dist/components/list/index.d.ts +12 -0
- package/dist/components/list/list.d.ts +11 -0
- package/dist/components/list/types.d.ts +294 -0
- package/dist/components/menu/api.d.ts +58 -0
- package/dist/components/menu/config.d.ts +78 -0
- package/dist/components/menu/constants.d.ts +106 -0
- package/dist/components/menu/features/controller.d.ts +10 -0
- package/dist/components/menu/features/index.d.ts +6 -0
- package/dist/components/menu/features/keyboard.d.ts +26 -0
- package/dist/components/menu/features/opener.d.ts +10 -0
- package/dist/components/menu/features/position.d.ts +18 -0
- package/dist/components/menu/features/submenu.d.ts +10 -0
- package/{src/components/menu/index.ts → dist/components/menu/index.d.ts} +11 -27
- package/dist/components/menu/menu.d.ts +29 -0
- package/dist/components/menu/types.d.ts +338 -0
- package/dist/components/navigation/api.d.ts +8 -0
- package/dist/components/navigation/config.d.ts +34 -0
- package/dist/components/navigation/constants.d.ts +137 -0
- package/dist/components/navigation/features/controller.d.ts +30 -0
- package/dist/components/navigation/features/items.d.ts +32 -0
- package/dist/components/navigation/index.d.ts +3 -0
- package/dist/components/navigation/nav-item.d.ts +30 -0
- package/dist/components/navigation/navigation.d.ts +8 -0
- package/dist/components/navigation/system/core.d.ts +72 -0
- package/dist/components/navigation/system/events.d.ts +35 -0
- package/dist/components/navigation/system/index.d.ts +10 -0
- package/dist/components/navigation/system/mobile.d.ts +52 -0
- package/dist/components/navigation/system/state.d.ts +22 -0
- package/dist/components/navigation/system/types.d.ts +305 -0
- package/dist/components/navigation/types.d.ts +216 -0
- package/dist/components/progress/api.d.ts +46 -0
- package/dist/components/progress/config.d.ts +72 -0
- package/dist/components/progress/constants.d.ts +139 -0
- package/dist/components/progress/features/canvas.d.ts +32 -0
- package/dist/components/progress/features/circular.d.ts +9 -0
- package/dist/components/progress/features/index.d.ts +8 -0
- package/dist/components/progress/features/linear.d.ts +9 -0
- package/dist/components/progress/features/resize-observer.d.ts +5 -0
- package/dist/components/progress/features/state.d.ts +38 -0
- package/dist/components/progress/features.d.ts +40 -0
- package/dist/components/progress/index.d.ts +3 -0
- package/dist/components/progress/progress.d.ts +24 -0
- package/dist/components/progress/types.d.ts +272 -0
- package/dist/components/radios/api.d.ts +37 -0
- package/dist/components/radios/config.d.ts +42 -0
- package/dist/components/radios/constants.d.ts +114 -0
- package/dist/components/radios/index.d.ts +3 -0
- package/dist/components/radios/radio.d.ts +8 -0
- package/dist/components/radios/radios.d.ts +8 -0
- package/dist/components/radios/types.d.ts +189 -0
- package/dist/components/search/api.d.ts +55 -0
- package/dist/components/search/config.d.ts +73 -0
- package/dist/components/search/constants.d.ts +128 -0
- package/{src/components/search/features/index.ts → dist/components/search/features/index.d.ts} +1 -2
- package/dist/components/search/features/search.d.ts +7 -0
- package/dist/components/search/features/states.d.ts +8 -0
- package/dist/components/search/features/structure.d.ts +7 -0
- package/dist/components/search/index.d.ts +3 -0
- package/dist/components/search/search.d.ts +8 -0
- package/dist/components/search/types.d.ts +132 -0
- package/dist/components/segmented-button/config.d.ts +65 -0
- package/dist/components/segmented-button/constants.d.ts +85 -0
- package/dist/components/segmented-button/index.d.ts +4 -0
- package/dist/components/segmented-button/segment.d.ts +15 -0
- package/dist/components/segmented-button/segmented-button.d.ts +49 -0
- package/dist/components/segmented-button/types.d.ts +257 -0
- package/dist/components/select/api.d.ts +8 -0
- package/dist/components/select/config.d.ts +18 -0
- package/dist/components/select/constants.d.ts +113 -0
- package/dist/components/select/features.d.ts +13 -0
- package/{src/components/select/index.ts → dist/components/select/index.d.ts} +7 -20
- package/dist/components/select/select.d.ts +36 -0
- package/dist/components/select/types.d.ts +302 -0
- package/dist/components/sheet/api.d.ts +37 -0
- package/dist/components/sheet/config.d.ts +42 -0
- package/dist/components/sheet/constants.d.ts +136 -0
- package/dist/components/sheet/features/content.d.ts +6 -0
- package/dist/components/sheet/features/gestures.d.ts +6 -0
- package/{src/components/sheet/features/index.ts → dist/components/sheet/features/index.d.ts} +1 -2
- package/dist/components/sheet/features/position.d.ts +7 -0
- package/dist/components/sheet/features/state.d.ts +6 -0
- package/dist/components/sheet/features/title.d.ts +6 -0
- package/dist/components/sheet/index.d.ts +3 -0
- package/dist/components/sheet/sheet.d.ts +8 -0
- package/dist/components/sheet/types.d.ts +250 -0
- package/dist/components/slider/api.d.ts +57 -0
- package/dist/components/slider/config.d.ts +75 -0
- package/dist/components/slider/constants.d.ts +138 -0
- package/dist/components/slider/features/controller.d.ts +9 -0
- package/dist/components/slider/features/handlers.d.ts +25 -0
- package/dist/components/slider/features/index.d.ts +3 -0
- package/dist/components/slider/features/range.d.ts +8 -0
- package/dist/components/slider/features/states.d.ts +9 -0
- package/dist/components/slider/index.d.ts +3 -0
- package/dist/components/slider/schema.d.ts +108 -0
- package/dist/components/slider/slider.d.ts +18 -0
- package/dist/components/slider/types.d.ts +170 -0
- package/dist/components/snackbar/api.d.ts +7 -0
- package/dist/components/snackbar/config.d.ts +55 -0
- package/dist/components/snackbar/constants.d.ts +88 -0
- package/dist/components/snackbar/features.d.ts +13 -0
- package/dist/components/snackbar/index.d.ts +3 -0
- package/dist/components/snackbar/position.d.ts +15 -0
- package/dist/components/snackbar/queue.d.ts +7 -0
- package/dist/components/snackbar/snackbar.d.ts +8 -0
- package/dist/components/snackbar/types.d.ts +172 -0
- package/dist/components/switch/api.d.ts +7 -0
- package/dist/components/switch/config.d.ts +34 -0
- package/dist/components/switch/constants.d.ts +88 -0
- package/dist/components/switch/features.d.ts +59 -0
- package/dist/components/switch/index.d.ts +4 -0
- package/dist/components/switch/switch.d.ts +8 -0
- package/dist/components/switch/types.d.ts +131 -0
- package/dist/components/tabs/api.d.ts +52 -0
- package/dist/components/tabs/config.d.ts +39 -0
- package/dist/components/tabs/constants.d.ts +142 -0
- package/dist/components/tabs/features.d.ts +133 -0
- package/dist/components/tabs/index.d.ts +11 -0
- package/dist/components/tabs/indicator.d.ts +49 -0
- package/dist/components/tabs/responsive.d.ts +38 -0
- package/dist/components/tabs/scroll-indicators.d.ts +18 -0
- package/dist/components/tabs/state.d.ts +53 -0
- package/dist/components/tabs/tab-api.d.ts +43 -0
- package/dist/components/tabs/tab.d.ts +7 -0
- package/dist/components/tabs/tabs.d.ts +27 -0
- package/dist/components/tabs/types.d.ts +390 -0
- package/dist/components/tabs/utils.d.ts +17 -0
- package/dist/components/textfield/api.d.ts +8 -0
- package/dist/components/textfield/config.d.ts +34 -0
- package/dist/components/textfield/constants.d.ts +148 -0
- package/{src/components/textfield/features/index.ts → dist/components/textfield/features/index.d.ts} +1 -6
- package/dist/components/textfield/features/leading-icon.d.ts +55 -0
- package/dist/components/textfield/features/placement.d.ts +28 -0
- package/dist/components/textfield/features/prefix-text.d.ts +54 -0
- package/dist/components/textfield/features/suffix-text.d.ts +54 -0
- package/dist/components/textfield/features/supporting-text.d.ts +59 -0
- package/dist/components/textfield/features/trailing-icon.d.ts +55 -0
- package/dist/components/textfield/index.d.ts +3 -0
- package/dist/components/textfield/textfield.d.ts +36 -0
- package/dist/components/textfield/types.d.ts +217 -0
- package/dist/components/timepicker/api.d.ts +24 -0
- package/dist/components/timepicker/clockdial.d.ts +34 -0
- package/dist/components/timepicker/config.d.ts +75 -0
- package/dist/components/timepicker/constants.d.ts +266 -0
- package/dist/components/timepicker/index.d.ts +4 -0
- package/dist/components/timepicker/render.d.ts +9 -0
- package/dist/components/timepicker/timepicker.d.ts +8 -0
- package/dist/components/timepicker/types.d.ts +284 -0
- package/dist/components/timepicker/utils.d.ts +74 -0
- package/dist/components/tooltip/api.d.ts +18 -0
- package/dist/components/tooltip/config.d.ts +38 -0
- package/dist/components/tooltip/constants.d.ts +108 -0
- package/dist/components/tooltip/index.d.ts +3 -0
- package/dist/components/tooltip/tooltip.d.ts +8 -0
- package/dist/components/tooltip/types.d.ts +188 -0
- package/dist/components/top-app-bar/config.d.ts +16 -0
- package/dist/components/top-app-bar/constants.d.ts +74 -0
- package/{src/components/top-app-bar/index.ts → dist/components/top-app-bar/index.d.ts} +2 -4
- package/dist/components/top-app-bar/top-app-bar.d.ts +68 -0
- package/dist/components/top-app-bar/types.d.ts +118 -0
- package/dist/constants.d.ts +30 -0
- package/dist/core/canvas/index.d.ts +5 -0
- package/dist/core/canvas/resize.d.ts +14 -0
- package/dist/core/collection/adapters/base.d.ts +47 -0
- package/dist/core/collection/adapters/route.d.ts +149 -0
- package/dist/core/collection/collection.d.ts +131 -0
- package/dist/core/collection/index.d.ts +10 -0
- package/dist/core/collection/list-manager/config.d.ts +29 -0
- package/dist/core/collection/list-manager/dom-elements.d.ts +30 -0
- package/dist/core/collection/list-manager/index.d.ts +61 -0
- package/dist/core/collection/list-manager/item-measurement.d.ts +91 -0
- package/dist/core/collection/list-manager/renderer.d.ts +31 -0
- package/dist/core/collection/list-manager/scroll-tracker.d.ts +20 -0
- package/dist/core/collection/list-manager/state.d.ts +60 -0
- package/dist/core/collection/list-manager/types.d.ts +361 -0
- package/dist/core/collection/list-manager/utils/recycling.d.ts +34 -0
- package/dist/core/collection/list-manager/utils/visibility.d.ts +45 -0
- package/dist/core/compose/base.d.ts +31 -0
- package/dist/core/compose/component.d.ts +61 -0
- package/dist/core/compose/features/badge.d.ts +43 -0
- package/dist/core/compose/features/checkable.d.ts +59 -0
- package/dist/core/compose/features/constants.d.ts +45 -0
- package/dist/core/compose/features/debounce.d.ts +84 -0
- package/dist/core/compose/features/disabled.d.ts +47 -0
- package/dist/core/compose/features/events.d.ts +37 -0
- package/dist/core/compose/features/gestures/longpress.d.ts +85 -0
- package/dist/core/compose/features/gestures/pan.d.ts +108 -0
- package/dist/core/compose/features/gestures/pinch.d.ts +111 -0
- package/dist/core/compose/features/gestures/rotate.d.ts +111 -0
- package/dist/core/compose/features/gestures/swipe.d.ts +149 -0
- package/dist/core/compose/features/gestures/tap.d.ts +79 -0
- package/dist/core/compose/features/gestures.d.ts +86 -0
- package/dist/core/compose/features/icon.d.ts +71 -0
- package/{src/core/compose/features/index.ts → dist/core/compose/features/index.d.ts} +7 -8
- package/dist/core/compose/features/input.d.ts +71 -0
- package/dist/core/compose/features/lifecycle.d.ts +61 -0
- package/dist/core/compose/features/position.d.ts +51 -0
- package/dist/core/compose/features/ripple.d.ts +61 -0
- package/dist/core/compose/features/size.d.ts +17 -0
- package/dist/core/compose/features/style.d.ts +16 -0
- package/dist/core/compose/features/text.d.ts +63 -0
- package/dist/core/compose/features/textinput.d.ts +93 -0
- package/dist/core/compose/features/textlabel.d.ts +57 -0
- package/dist/core/compose/features/throttle.d.ts +75 -0
- package/dist/core/compose/features/track.d.ts +42 -0
- package/dist/core/compose/features/variant.d.ts +17 -0
- package/dist/core/compose/features/withEvents.d.ts +45 -0
- package/dist/core/compose/index.d.ts +17 -0
- package/{src/core/compose/pipe.ts → dist/core/compose/pipe.d.ts} +4 -20
- package/dist/core/compose/utils/type-guards.d.ts +27 -0
- package/dist/core/composition/features/dom.d.ts +19 -0
- package/dist/core/composition/features/icon.d.ts +45 -0
- package/{src/core/composition/features/index.ts → dist/core/composition/features/index.d.ts} +1 -6
- package/dist/core/composition/features/label.d.ts +49 -0
- package/{src/core/composition/features/layout.ts → dist/core/composition/features/layout.d.ts} +8 -24
- package/{src/core/composition/index.ts → dist/core/composition/index.d.ts} +4 -14
- package/{src/core/config/component-config.ts → dist/core/config/component.d.ts} +35 -83
- package/dist/core/config.d.ts +130 -0
- package/dist/core/dom/attributes.d.ts +20 -0
- package/dist/core/dom/classes.d.ts +52 -0
- package/dist/core/dom/create.d.ts +154 -0
- package/dist/core/dom/events.d.ts +69 -0
- package/dist/core/dom/index.d.ts +6 -0
- package/dist/core/dom/utils.d.ts +42 -0
- package/dist/core/gestures/index.d.ts +12 -0
- package/dist/core/gestures/longpress.d.ts +23 -0
- package/dist/core/gestures/manager.d.ts +14 -0
- package/dist/core/gestures/pan.d.ts +12 -0
- package/dist/core/gestures/pinch.d.ts +14 -0
- package/dist/core/gestures/rotate.d.ts +14 -0
- package/dist/core/gestures/swipe.d.ts +20 -0
- package/dist/core/gestures/tap.d.ts +12 -0
- package/dist/core/gestures/types.d.ts +320 -0
- package/dist/core/gestures/utils.d.ts +57 -0
- package/dist/core/index.d.ts +29 -0
- package/dist/core/layout/array.d.ts +15 -0
- package/dist/core/layout/config.d.ts +32 -0
- package/dist/core/layout/create.d.ts +14 -0
- package/dist/core/layout/index.d.ts +13 -0
- package/dist/core/layout/jsx.d.ts +13 -0
- package/dist/core/layout/object.d.ts +14 -0
- package/dist/core/layout/processor.d.ts +28 -0
- package/dist/core/layout/result.d.ts +12 -0
- package/dist/core/layout/template.d.ts +12 -0
- package/dist/core/layout/types.d.ts +137 -0
- package/dist/core/layout/utils.d.ts +38 -0
- package/dist/core/state/disabled.d.ts +32 -0
- package/dist/core/state/emitter.d.ts +40 -0
- package/dist/core/state/events.d.ts +36 -0
- package/{src/core/state/index.ts → dist/core/state/index.d.ts} +1 -7
- package/dist/core/state/lifecycle.d.ts +57 -0
- package/dist/core/state/store.d.ts +82 -0
- package/dist/core/utils/background.d.ts +40 -0
- package/dist/core/utils/index.d.ts +18 -0
- package/dist/core/utils/mobile.d.ts +54 -0
- package/dist/core/utils/object.d.ts +13 -0
- package/dist/core/utils/performance.d.ts +79 -0
- package/dist/core/utils/theme.d.ts +38 -0
- package/dist/core/utils/validate.d.ts +73 -0
- package/dist/index.cjs +64 -0
- package/dist/index.cjs.map +291 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.js +53 -14854
- package/dist/index.js.map +291 -0
- package/dist/package.json +39 -0
- package/dist/styles.css +7 -0
- package/package.json +23 -4
- package/.env +0 -15
- package/.typedocignore +0 -11
- package/CONTRIBUTING.md +0 -218
- package/DOCS.md +0 -153
- package/TESTING.md +0 -214
- package/git-user-stats.js +0 -545
- package/index.ts +0 -10
- package/src/components/badge/api.ts +0 -313
- package/src/components/badge/config.ts +0 -153
- package/src/components/badge/features.ts +0 -194
- package/src/components/badge/index.ts +0 -90
- package/src/components/badge/types.ts +0 -279
- package/src/components/bottom-app-bar/bottom-app-bar.ts +0 -154
- package/src/components/bottom-app-bar/config.ts +0 -29
- package/src/components/bottom-app-bar/types.ts +0 -114
- package/src/components/button/api.ts +0 -172
- package/src/components/button/button.ts +0 -112
- package/src/components/button/config.ts +0 -96
- package/src/components/button/index.ts +0 -37
- package/src/components/button/types.ts +0 -290
- package/src/components/card/api.ts +0 -222
- package/src/components/card/config.ts +0 -304
- package/src/components/card/content.ts +0 -343
- package/src/components/card/features.ts +0 -407
- package/src/components/card/types.ts +0 -497
- package/src/components/carousel/api.ts +0 -147
- package/src/components/carousel/carousel.ts +0 -242
- package/src/components/carousel/config.ts +0 -91
- package/src/components/carousel/constants.ts +0 -181
- package/src/components/carousel/features/drag.ts +0 -388
- package/src/components/carousel/features/slides.ts +0 -682
- package/src/components/carousel/types.ts +0 -327
- package/src/components/checkbox/api.ts +0 -82
- package/src/components/checkbox/checkbox.ts +0 -142
- package/src/components/checkbox/config.ts +0 -89
- package/src/components/checkbox/types.ts +0 -342
- package/src/components/chips/api.ts +0 -194
- package/src/components/chips/chip/api.ts +0 -233
- package/src/components/chips/chip/chip.ts +0 -131
- package/src/components/chips/chip/config.ts +0 -91
- package/src/components/chips/chip/index.ts +0 -3
- package/src/components/chips/chips.md +0 -481
- package/src/components/chips/chips.ts +0 -75
- package/src/components/chips/config.ts +0 -109
- package/src/components/chips/constants.ts +0 -61
- package/src/components/chips/features/chip-items.ts +0 -33
- package/src/components/chips/features/container.ts +0 -77
- package/src/components/chips/features/controller.ts +0 -448
- package/src/components/chips/features/label.ts +0 -108
- package/src/components/chips/index.ts +0 -11
- package/src/components/chips/schema.ts +0 -61
- package/src/components/chips/types.ts +0 -469
- package/src/components/datepicker/api.ts +0 -265
- package/src/components/datepicker/config.ts +0 -141
- package/src/components/datepicker/datepicker.ts +0 -341
- package/src/components/datepicker/index.ts +0 -12
- package/src/components/datepicker/render.ts +0 -450
- package/src/components/datepicker/types.ts +0 -397
- package/src/components/datepicker/utils.ts +0 -289
- package/src/components/dialog/api.ts +0 -317
- package/src/components/dialog/config.ts +0 -116
- package/src/components/dialog/features.ts +0 -907
- package/src/components/dialog/index.ts +0 -141
- package/src/components/dialog/types.ts +0 -553
- package/src/components/divider/config.ts +0 -165
- package/src/components/divider/features.ts +0 -233
- package/src/components/divider/types.ts +0 -132
- package/src/components/extended-fab/api.ts +0 -193
- package/src/components/extended-fab/config.ts +0 -140
- package/src/components/extended-fab/extended-fab.ts +0 -153
- package/src/components/extended-fab/types.ts +0 -749
- package/src/components/fab/api.ts +0 -137
- package/src/components/fab/config.ts +0 -121
- package/src/components/fab/types.ts +0 -615
- package/src/components/list/api.ts +0 -82
- package/src/components/list/config.ts +0 -63
- package/src/components/list/features.ts +0 -229
- package/src/components/list/index.ts +0 -67
- package/src/components/list/list-item.ts +0 -163
- package/src/components/list/list.ts +0 -108
- package/src/components/list/types.ts +0 -396
- package/src/components/list/utils.ts +0 -98
- package/src/components/menu/api.ts +0 -230
- package/src/components/menu/config.ts +0 -127
- package/src/components/menu/features/anchor.ts +0 -394
- package/src/components/menu/features/controller.ts +0 -1423
- package/src/components/menu/features/index.ts +0 -13
- package/src/components/menu/features/position.ts +0 -353
- package/src/components/menu/menu.ts +0 -121
- package/src/components/menu/types.ts +0 -392
- package/src/components/navigation/api.ts +0 -142
- package/src/components/navigation/config.ts +0 -73
- package/src/components/navigation/features/controller.ts +0 -273
- package/src/components/navigation/features/items.ts +0 -353
- package/src/components/navigation/index.ts +0 -11
- package/src/components/navigation/nav-item.ts +0 -196
- package/src/components/navigation/navigation.ts +0 -115
- package/src/components/navigation/system/core.ts +0 -302
- package/src/components/navigation/system/events.ts +0 -240
- package/src/components/navigation/system/index.ts +0 -184
- package/src/components/navigation/system/mobile.ts +0 -278
- package/src/components/navigation/system/state.ts +0 -77
- package/src/components/navigation/system/types.ts +0 -364
- package/src/components/navigation/types.ts +0 -292
- package/src/components/progress/api.ts +0 -178
- package/src/components/progress/config.ts +0 -122
- package/src/components/progress/index.ts +0 -4
- package/src/components/progress/progress.ts +0 -159
- package/src/components/progress/types.ts +0 -255
- package/src/components/radios/api.ts +0 -125
- package/src/components/radios/config.ts +0 -59
- package/src/components/radios/constants.ts +0 -19
- package/src/components/radios/index.ts +0 -3
- package/src/components/radios/radio.ts +0 -292
- package/src/components/radios/radios.ts +0 -43
- package/src/components/radios/types.ts +0 -219
- package/src/components/search/api.ts +0 -203
- package/src/components/search/config.ts +0 -86
- package/src/components/search/features/search.ts +0 -717
- package/src/components/search/features/states.ts +0 -169
- package/src/components/search/features/structure.ts +0 -197
- package/src/components/search/index.ts +0 -7
- package/src/components/search/search.ts +0 -52
- package/src/components/search/types.ts +0 -175
- package/src/components/segmented-button/config.ts +0 -119
- package/src/components/segmented-button/index.ts +0 -4
- package/src/components/segmented-button/segment.ts +0 -108
- package/src/components/segmented-button/segmented-button.ts +0 -361
- package/src/components/segmented-button/types.ts +0 -306
- package/src/components/select/api.ts +0 -78
- package/src/components/select/config.ts +0 -76
- package/src/components/select/features.ts +0 -331
- package/src/components/select/select.ts +0 -73
- package/src/components/select/types.ts +0 -355
- package/src/components/sheet/api.ts +0 -96
- package/src/components/sheet/config.ts +0 -65
- package/src/components/sheet/features/content.ts +0 -51
- package/src/components/sheet/features/gestures.ts +0 -177
- package/src/components/sheet/features/position.ts +0 -41
- package/src/components/sheet/features/state.ts +0 -116
- package/src/components/sheet/features/title.ts +0 -86
- package/src/components/sheet/index.ts +0 -12
- package/src/components/sheet/sheet.ts +0 -56
- package/src/components/sheet/types.ts +0 -294
- package/src/components/slider/accessibility.md +0 -59
- package/src/components/slider/api.ts +0 -192
- package/src/components/slider/config.ts +0 -118
- package/src/components/slider/features/controller.ts +0 -737
- package/src/components/slider/features/handlers.ts +0 -497
- package/src/components/slider/features/index.ts +0 -5
- package/src/components/slider/features/range.ts +0 -104
- package/src/components/slider/features/states.ts +0 -195
- package/src/components/slider/index.ts +0 -17
- package/src/components/slider/schema.ts +0 -141
- package/src/components/slider/slider.ts +0 -76
- package/src/components/slider/types.ts +0 -223
- package/src/components/snackbar/api.ts +0 -162
- package/src/components/snackbar/config.ts +0 -61
- package/src/components/snackbar/features.ts +0 -76
- package/src/components/snackbar/index.ts +0 -9
- package/src/components/snackbar/position.ts +0 -79
- package/src/components/snackbar/queue.ts +0 -76
- package/src/components/snackbar/snackbar.ts +0 -60
- package/src/components/snackbar/types.ts +0 -159
- package/src/components/switch/api.ts +0 -93
- package/src/components/switch/config.ts +0 -56
- package/src/components/switch/features.ts +0 -198
- package/src/components/switch/index.ts +0 -8
- package/src/components/switch/switch.ts +0 -52
- package/src/components/switch/types.ts +0 -168
- package/src/components/tabs/api.ts +0 -221
- package/src/components/tabs/config.ts +0 -73
- package/src/components/tabs/features.ts +0 -403
- package/src/components/tabs/index.ts +0 -46
- package/src/components/tabs/indicator.ts +0 -285
- package/src/components/tabs/responsive.ts +0 -144
- package/src/components/tabs/scroll-indicators.ts +0 -149
- package/src/components/tabs/state.ts +0 -186
- package/src/components/tabs/tab-api.ts +0 -266
- package/src/components/tabs/tab.ts +0 -267
- package/src/components/tabs/tabs.ts +0 -71
- package/src/components/tabs/types.ts +0 -461
- package/src/components/tabs/utils.ts +0 -107
- package/src/components/textfield/api.ts +0 -197
- package/src/components/textfield/config.ts +0 -52
- package/src/components/textfield/features/leading-icon.ts +0 -127
- package/src/components/textfield/features/placement.ts +0 -149
- package/src/components/textfield/features/prefix-text.ts +0 -107
- package/src/components/textfield/features/suffix-text.ts +0 -100
- package/src/components/textfield/features/supporting-text.ts +0 -113
- package/src/components/textfield/features/trailing-icon.ts +0 -108
- package/src/components/textfield/index.ts +0 -9
- package/src/components/textfield/textfield.ts +0 -92
- package/src/components/textfield/types.ts +0 -265
- package/src/components/timepicker/README.md +0 -277
- package/src/components/timepicker/api.ts +0 -632
- package/src/components/timepicker/clockdial.ts +0 -479
- package/src/components/timepicker/config.ts +0 -228
- package/src/components/timepicker/index.ts +0 -3
- package/src/components/timepicker/render.ts +0 -613
- package/src/components/timepicker/timepicker.ts +0 -117
- package/src/components/timepicker/types.ts +0 -336
- package/src/components/timepicker/utils.ts +0 -241
- package/src/components/tooltip/api.ts +0 -415
- package/src/components/tooltip/config.ts +0 -80
- package/src/components/tooltip/index.ts +0 -12
- package/src/components/tooltip/tooltip.ts +0 -60
- package/src/components/tooltip/types.ts +0 -223
- package/src/components/top-app-bar/config.ts +0 -83
- package/src/components/top-app-bar/top-app-bar.ts +0 -316
- package/src/components/top-app-bar/types.ts +0 -140
- package/src/core/build/constants.ts +0 -48
- package/src/core/build/icon.ts +0 -137
- package/src/core/build/ripple.ts +0 -193
- package/src/core/build/text.ts +0 -91
- package/src/core/collection/adapters/base.ts +0 -62
- package/src/core/collection/adapters/route.ts +0 -201
- package/src/core/collection/collection.ts +0 -300
- package/src/core/collection/index.ts +0 -57
- package/src/core/collection/list-manager.ts +0 -333
- package/src/core/compose/base.ts +0 -43
- package/src/core/compose/component.ts +0 -255
- package/src/core/compose/features/badge.ts +0 -79
- package/src/core/compose/features/checkable.ts +0 -155
- package/src/core/compose/features/disabled.ts +0 -116
- package/src/core/compose/features/events.ts +0 -65
- package/src/core/compose/features/icon.ts +0 -71
- package/src/core/compose/features/input.ts +0 -174
- package/src/core/compose/features/lifecycle.ts +0 -139
- package/src/core/compose/features/position.ts +0 -94
- package/src/core/compose/features/ripple.ts +0 -58
- package/src/core/compose/features/size.ts +0 -29
- package/src/core/compose/features/style.ts +0 -31
- package/src/core/compose/features/text.ts +0 -44
- package/src/core/compose/features/textinput.ts +0 -238
- package/src/core/compose/features/textlabel.ts +0 -113
- package/src/core/compose/features/track.ts +0 -84
- package/src/core/compose/features/variant.ts +0 -29
- package/src/core/compose/features/withEvents.ts +0 -137
- package/src/core/compose/index.ts +0 -54
- package/src/core/composition/features/dom.ts +0 -45
- package/src/core/composition/features/icon.ts +0 -131
- package/src/core/composition/features/label.ts +0 -155
- package/src/core/config.ts +0 -211
- package/src/core/dom/attributes.ts +0 -33
- package/src/core/dom/classes.ts +0 -132
- package/src/core/dom/create.ts +0 -273
- package/src/core/dom/events.ts +0 -209
- package/src/core/dom/index.ts +0 -10
- package/src/core/dom/utils.ts +0 -97
- package/src/core/index.ts +0 -111
- package/src/core/layout/README.md +0 -715
- package/src/core/layout/array.ts +0 -180
- package/src/core/layout/config.ts +0 -193
- package/src/core/layout/create.ts +0 -54
- package/src/core/layout/index.ts +0 -36
- package/src/core/layout/object.ts +0 -123
- package/src/core/layout/processor.ts +0 -106
- package/src/core/layout/result.ts +0 -84
- package/src/core/layout/types.ts +0 -180
- package/src/core/layout/utils.ts +0 -144
- package/src/core/state/disabled.ts +0 -81
- package/src/core/state/emitter.ts +0 -94
- package/src/core/state/events.ts +0 -88
- package/src/core/state/lifecycle.ts +0 -131
- package/src/core/state/store.ts +0 -197
- package/src/core/utils/index.ts +0 -45
- package/src/core/utils/mobile.ts +0 -98
- package/src/core/utils/object.ts +0 -41
- package/src/core/utils/validate.ts +0 -234
- package/src/index.ts +0 -90
- package/src/styles/abstract/_base.scss +0 -2
- package/src/styles/abstract/_config.scss +0 -28
- package/src/styles/abstract/_functions.scss +0 -124
- package/src/styles/abstract/_mixins.scss +0 -352
- package/src/styles/abstract/_theme.scss +0 -269
- package/src/styles/abstract/_variables.scss +0 -305
- package/src/styles/base/_reset.scss +0 -86
- package/src/styles/base/_typography.scss +0 -155
- package/src/styles/components/_badge.scss +0 -182
- package/src/styles/components/_bottom-app-bar.scss +0 -103
- package/src/styles/components/_button.scss +0 -224
- package/src/styles/components/_card.scss +0 -401
- package/src/styles/components/_carousel.scss +0 -645
- package/src/styles/components/_checkbox.scss +0 -231
- package/src/styles/components/_chips.scss +0 -638
- package/src/styles/components/_datepicker.scss +0 -358
- package/src/styles/components/_dialog.scss +0 -259
- package/src/styles/components/_divider.scss +0 -57
- package/src/styles/components/_extended-fab.scss +0 -267
- package/src/styles/components/_fab.scss +0 -225
- package/src/styles/components/_list.scss +0 -248
- package/src/styles/components/_menu.scss +0 -242
- package/src/styles/components/_navigation-mobile.scss +0 -244
- package/src/styles/components/_navigation-system.scss +0 -151
- package/src/styles/components/_navigation.scss +0 -407
- package/src/styles/components/_progress.scss +0 -151
- package/src/styles/components/_radios.scss +0 -187
- package/src/styles/components/_search.scss +0 -306
- package/src/styles/components/_segmented-button.scss +0 -227
- package/src/styles/components/_select.scss +0 -272
- package/src/styles/components/_sheet.scss +0 -236
- package/src/styles/components/_slider.scss +0 -489
- package/src/styles/components/_snackbar.scss +0 -211
- package/src/styles/components/_switch.scss +0 -298
- package/src/styles/components/_tabs.scss +0 -416
- package/src/styles/components/_textfield.scss +0 -773
- package/src/styles/components/_timepicker.scss +0 -451
- package/src/styles/components/_tooltip.scss +0 -241
- package/src/styles/components/_top-app-bar.scss +0 -225
- package/src/styles/main.scss +0 -175
- package/src/styles/themes/_autumn.scss +0 -105
- package/src/styles/themes/_base-theme.scss +0 -85
- package/src/styles/themes/_baseline.scss +0 -173
- package/src/styles/themes/_bluekhaki.scss +0 -125
- package/src/styles/themes/_brownbeige.scss +0 -125
- package/src/styles/themes/_browngreen.scss +0 -125
- package/src/styles/themes/_forest.scss +0 -77
- package/src/styles/themes/_greenbeige.scss +0 -125
- package/src/styles/themes/_index.scss +0 -6
- package/src/styles/themes/_material.scss +0 -125
- package/src/styles/themes/_ocean.scss +0 -77
- package/src/styles/themes/_sageivory.scss +0 -125
- package/src/styles/themes/_spring.scss +0 -77
- package/src/styles/themes/_summer.scss +0 -87
- package/src/styles/themes/_sunset.scss +0 -60
- package/src/styles/themes/_tealcaramel.scss +0 -125
- package/src/styles/themes/_winter.scss +0 -77
- package/src/styles/utilities/_colors.scss +0 -154
- package/src/styles/utilities/_flexbox.scss +0 -194
- package/src/styles/utilities/_layout.scss +0 -665
- package/src/styles/utilities/_ripple.scss +0 -79
- package/src/styles/utilities/_spacing.scss +0 -139
- package/src/styles/utilities/_typography.scss +0 -178
- package/src/styles/utilities/_visibility.scss +0 -142
package/dist/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 floor
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/dist/README.md
ADDED
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
# mtrl Library
|
|
2
|
+
|
|
3
|
+
> **Project Status:** mtrl is in active development with TypeScript support! The core architecture and components are established, with more features on the roadmap. We welcome early adopters and contributors who want to help shape mtrl's future!
|
|
4
|
+
|
|
5
|
+
mtrl is a lightweight, composable TypeScript/JavaScript component library inspired by Material Design principles. Built with zero dependencies, mtrl provides a robust foundation for creating modern web interfaces with an emphasis on performance, type safety, and accessibility.
|
|
6
|
+
|
|
7
|
+
## Understanding mtrl
|
|
8
|
+
|
|
9
|
+
mtrl (pronounced "material") takes its inspiration from Material Design while providing a flexible, framework-agnostic implementation. The library's name is reflected in its component prefix `mtrl-`, which you'll see used consistently throughout the codebase.
|
|
10
|
+
|
|
11
|
+
### Design Philosophy
|
|
12
|
+
|
|
13
|
+
mtrl is built on several core principles:
|
|
14
|
+
|
|
15
|
+
1. **Composition Over Inheritance**: Components are constructed through functional composition with full type safety.
|
|
16
|
+
2. **Zero Dependencies**: The entire library is built with vanilla TypeScript, ensuring minimal bundle size and maximum compatibility.
|
|
17
|
+
3. **Material Design Inspiration**: While inspired by Material Design, mtrl provides flexibility in styling and behavior.
|
|
18
|
+
4. **Accessibility First**: Built-in accessibility features ensure your applications are usable by everyone.
|
|
19
|
+
5. **TypeScript First**: Comprehensive type definitions for better developer experience and code reliability.
|
|
20
|
+
|
|
21
|
+
## Core Components
|
|
22
|
+
|
|
23
|
+
mtrl provides a comprehensive set of components, each following Material Design principles:
|
|
24
|
+
|
|
25
|
+
```typescript
|
|
26
|
+
import { createButton, createTextField } from 'mtrl'
|
|
27
|
+
|
|
28
|
+
// Create a material button with ripple effect
|
|
29
|
+
const button = createButton({
|
|
30
|
+
text: 'Submit',
|
|
31
|
+
variant: 'filled',
|
|
32
|
+
ripple: true,
|
|
33
|
+
class: 'custom-button'
|
|
34
|
+
})
|
|
35
|
+
|
|
36
|
+
// className will be: mtrl-button mtrl-button--filled custom-button
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Component List
|
|
40
|
+
|
|
41
|
+
Each component follows the `mtrl-` prefix convention:
|
|
42
|
+
|
|
43
|
+
- `mtrl-button` - Material buttons with ripple effects
|
|
44
|
+
- `mtrl-textfield` - Text input components
|
|
45
|
+
- `mtrl-switch` - Toggle switches
|
|
46
|
+
- `mtrl-navigation` - Navigation components
|
|
47
|
+
- `mtrl-list` - List components with selection
|
|
48
|
+
- `mtrl-snackbar` - Toast notifications
|
|
49
|
+
- `mtrl-container` - Layout containers
|
|
50
|
+
|
|
51
|
+
## Installation
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
# Using npm
|
|
55
|
+
npm install mtrl
|
|
56
|
+
|
|
57
|
+
# Using yarn
|
|
58
|
+
yarn add mtrl
|
|
59
|
+
|
|
60
|
+
# Using bun
|
|
61
|
+
bun add mtrl
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Component Architecture
|
|
65
|
+
|
|
66
|
+
Let's look at how mtrl components are constructed:
|
|
67
|
+
|
|
68
|
+
```typescript
|
|
69
|
+
// Example of a button component creation
|
|
70
|
+
const button = createButton({
|
|
71
|
+
prefix: 'mtrl', // The library's prefix
|
|
72
|
+
componentName: 'button', // Component identifier
|
|
73
|
+
variant: 'filled', // Visual variant
|
|
74
|
+
text: 'Click me', // Button text
|
|
75
|
+
ripple: true // Enable ripple effect
|
|
76
|
+
})
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### The Composition System
|
|
80
|
+
|
|
81
|
+
mtrl uses a pipe-based composition system with full type safety for building components:
|
|
82
|
+
|
|
83
|
+
```typescript
|
|
84
|
+
// Internal component creation
|
|
85
|
+
const createButton = (config: ButtonConfig): ButtonComponent => {
|
|
86
|
+
return pipe(
|
|
87
|
+
createBase, // Base component structure
|
|
88
|
+
withEvents(), // Event handling capability
|
|
89
|
+
withElement({ // DOM element creation
|
|
90
|
+
tag: 'button',
|
|
91
|
+
componentName: 'button',
|
|
92
|
+
prefix: 'mtrl'
|
|
93
|
+
}),
|
|
94
|
+
withVariant(config), // Visual variant support
|
|
95
|
+
withText(config), // Text content management
|
|
96
|
+
withIcon(config), // Icon support
|
|
97
|
+
withRipple(config) // Ripple animation
|
|
98
|
+
)(config)
|
|
99
|
+
}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### TypeScript Integration
|
|
103
|
+
|
|
104
|
+
mtrl provides comprehensive TypeScript definitions:
|
|
105
|
+
|
|
106
|
+
```typescript
|
|
107
|
+
// Component interfaces for better developer experience
|
|
108
|
+
export interface ButtonComponent extends
|
|
109
|
+
BaseComponent,
|
|
110
|
+
ElementComponent,
|
|
111
|
+
TextComponent,
|
|
112
|
+
IconComponent,
|
|
113
|
+
DisabledComponent,
|
|
114
|
+
LifecycleComponent {
|
|
115
|
+
|
|
116
|
+
// Button-specific properties and methods
|
|
117
|
+
getValue: () => string;
|
|
118
|
+
setValue: (value: string) => ButtonComponent;
|
|
119
|
+
enable: () => ButtonComponent;
|
|
120
|
+
disable: () => ButtonComponent;
|
|
121
|
+
setText: (content: string) => ButtonComponent;
|
|
122
|
+
getText: () => string;
|
|
123
|
+
setIcon: (icon: string) => ButtonComponent;
|
|
124
|
+
getIcon: () => string;
|
|
125
|
+
destroy: () => void;
|
|
126
|
+
updateCircularStyle: () => void;
|
|
127
|
+
}
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### CSS Classes
|
|
131
|
+
|
|
132
|
+
mtrl follows a consistent class naming convention:
|
|
133
|
+
|
|
134
|
+
```css
|
|
135
|
+
.mtrl-component /* Base component class */
|
|
136
|
+
.mtrl-component--variant /* Variant modifier */
|
|
137
|
+
.mtrl-component--state /* State modifier (disabled, focused) */
|
|
138
|
+
.mtrl-component-element /* Child element */
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## State Management
|
|
142
|
+
|
|
143
|
+
mtrl provides several approaches to state management:
|
|
144
|
+
|
|
145
|
+
### Local Component State
|
|
146
|
+
|
|
147
|
+
```typescript
|
|
148
|
+
const textField = createTextField({
|
|
149
|
+
label: 'Username'
|
|
150
|
+
})
|
|
151
|
+
|
|
152
|
+
textField.on('input', ({ value }) => {
|
|
153
|
+
console.log('Current value:', value)
|
|
154
|
+
})
|
|
155
|
+
|
|
156
|
+
textField.setValue('New value')
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Collection Management
|
|
160
|
+
|
|
161
|
+
For managing lists and datasets:
|
|
162
|
+
|
|
163
|
+
```typescript
|
|
164
|
+
const collection = new Collection<User>({
|
|
165
|
+
transform: (item) => ({
|
|
166
|
+
...item,
|
|
167
|
+
displayName: `${item.firstName} ${item.lastName}`
|
|
168
|
+
})
|
|
169
|
+
})
|
|
170
|
+
|
|
171
|
+
collection.subscribe(({ event, data }) => {
|
|
172
|
+
console.log(`Collection ${event}:`, data)
|
|
173
|
+
})
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
## Data Integration
|
|
177
|
+
|
|
178
|
+
mtrl provides adapters for different data sources:
|
|
179
|
+
|
|
180
|
+
```typescript
|
|
181
|
+
// MongoDB adapter
|
|
182
|
+
const mongoAdapter = createMongoAdapter({
|
|
183
|
+
uri: 'mongodb://localhost:27017',
|
|
184
|
+
dbName: 'mtrl-app',
|
|
185
|
+
collection: 'users'
|
|
186
|
+
})
|
|
187
|
+
|
|
188
|
+
// Route adapter for REST APIs
|
|
189
|
+
const routeAdapter = createRouteAdapter({
|
|
190
|
+
base: '/api',
|
|
191
|
+
endpoints: {
|
|
192
|
+
list: '/users',
|
|
193
|
+
create: '/users'
|
|
194
|
+
}
|
|
195
|
+
})
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
## Customization
|
|
199
|
+
|
|
200
|
+
### Creating Custom Components
|
|
201
|
+
|
|
202
|
+
Extend mtrl by creating custom components with full type safety:
|
|
203
|
+
|
|
204
|
+
```typescript
|
|
205
|
+
interface CustomCardConfig {
|
|
206
|
+
title?: string;
|
|
207
|
+
class?: string;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
interface CustomCardComponent extends ElementComponent {
|
|
211
|
+
setContent: (content: string) => CustomCardComponent;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
const createCustomCard = (config: CustomCardConfig): CustomCardComponent => {
|
|
215
|
+
return pipe(
|
|
216
|
+
createBase,
|
|
217
|
+
withEvents(),
|
|
218
|
+
withElement({
|
|
219
|
+
tag: 'div',
|
|
220
|
+
componentName: 'card',
|
|
221
|
+
prefix: 'mtrl'
|
|
222
|
+
}),
|
|
223
|
+
// Add custom features
|
|
224
|
+
(component) => ({
|
|
225
|
+
...component,
|
|
226
|
+
setContent(content: string) {
|
|
227
|
+
component.element.innerHTML = content;
|
|
228
|
+
return this;
|
|
229
|
+
}
|
|
230
|
+
})
|
|
231
|
+
)(config);
|
|
232
|
+
}
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
### Styling
|
|
236
|
+
|
|
237
|
+
mtrl components can be styled through CSS custom properties:
|
|
238
|
+
|
|
239
|
+
```css
|
|
240
|
+
:root {
|
|
241
|
+
--mtrl-primary: #6200ee;
|
|
242
|
+
--mtrl-surface: #ffffff;
|
|
243
|
+
--mtrl-on-surface: #000000;
|
|
244
|
+
--mtrl-elevation-1: 0 2px 4px rgba(0,0,0,0.2);
|
|
245
|
+
}
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
## Best Practices
|
|
249
|
+
|
|
250
|
+
### Performance
|
|
251
|
+
|
|
252
|
+
mtrl is designed with performance in mind:
|
|
253
|
+
|
|
254
|
+
- Minimal DOM operations
|
|
255
|
+
- Efficient event handling
|
|
256
|
+
- Automatic cleanup of resources
|
|
257
|
+
- Lazy initialization of features
|
|
258
|
+
|
|
259
|
+
### Type Safety
|
|
260
|
+
|
|
261
|
+
mtrl leverages TypeScript for better developer experience:
|
|
262
|
+
|
|
263
|
+
- Clear component interfaces
|
|
264
|
+
- Type-safe method chaining
|
|
265
|
+
- Intelligent code completion
|
|
266
|
+
- Compile-time error checking
|
|
267
|
+
- Self-documenting code
|
|
268
|
+
|
|
269
|
+
### Accessibility
|
|
270
|
+
|
|
271
|
+
Built-in accessibility features include:
|
|
272
|
+
|
|
273
|
+
- ARIA attributes management
|
|
274
|
+
- Keyboard navigation
|
|
275
|
+
- Focus management
|
|
276
|
+
- Screen reader support
|
|
277
|
+
|
|
278
|
+
## Browser Support
|
|
279
|
+
|
|
280
|
+
mtrl supports modern browsers:
|
|
281
|
+
|
|
282
|
+
- Chrome (latest)
|
|
283
|
+
- Firefox (latest)
|
|
284
|
+
- Safari (latest)
|
|
285
|
+
- Edge (latest)
|
|
286
|
+
|
|
287
|
+
## Contributing
|
|
288
|
+
|
|
289
|
+
We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details and our [Migration Guide](MIGRATION-GUIDE.md) for TypeScript information.
|
|
290
|
+
|
|
291
|
+
## License
|
|
292
|
+
|
|
293
|
+
mtrl is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
294
|
+
|
|
295
|
+
## Testing
|
|
296
|
+
|
|
297
|
+
mtrl comes with a comprehensive test suite using Bun's test runner. The tests are written in TypeScript and use JSDOM for DOM testing.
|
|
298
|
+
|
|
299
|
+
```bash
|
|
300
|
+
# Run all tests
|
|
301
|
+
bun test
|
|
302
|
+
|
|
303
|
+
# Run tests in watch mode
|
|
304
|
+
bun test --watch
|
|
305
|
+
|
|
306
|
+
# Run tests with coverage report
|
|
307
|
+
bun test --coverage
|
|
308
|
+
|
|
309
|
+
# Run tests with UI
|
|
310
|
+
bun test --watch --ui
|
|
311
|
+
|
|
312
|
+
# Run a specific test file
|
|
313
|
+
bun test test/components/button.test.ts
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
For more details on writing and running tests, see our [Testing Guide](TESTING.md).
|
|
317
|
+
|
|
318
|
+
## Documentation
|
|
319
|
+
|
|
320
|
+
For detailed API documentation, examples, and guides, visit our [documentation site](https://mtrl.app).
|
|
321
|
+
|
|
322
|
+
---
|
|
323
|
+
|
|
324
|
+
This library is designed to provide a solid foundation for building modern web interfaces with TypeScript while maintaining flexibility for custom implementations. For questions, issues, or contributions, please visit our GitHub repository.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { BadgeComponent } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* API configuration options for badge component
|
|
4
|
+
* @category Components
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
interface ApiOptions {
|
|
8
|
+
visibility: {
|
|
9
|
+
show: () => void;
|
|
10
|
+
hide: () => void;
|
|
11
|
+
toggle: (visible?: boolean) => void;
|
|
12
|
+
isVisible: () => boolean;
|
|
13
|
+
};
|
|
14
|
+
lifecycle: {
|
|
15
|
+
destroy: () => void;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Component with required elements and methods for API enhancement
|
|
20
|
+
* @category Components
|
|
21
|
+
* @internal
|
|
22
|
+
*/
|
|
23
|
+
interface ComponentWithElements {
|
|
24
|
+
element: HTMLElement;
|
|
25
|
+
wrapper?: HTMLElement;
|
|
26
|
+
config: {
|
|
27
|
+
max?: number;
|
|
28
|
+
label?: string | number;
|
|
29
|
+
variant?: string;
|
|
30
|
+
};
|
|
31
|
+
getClass: (name: string) => string;
|
|
32
|
+
addClass: (...classes: string[]) => any;
|
|
33
|
+
removeClass: (...classes: string[]) => any;
|
|
34
|
+
on: (event: string, handler: Function) => any;
|
|
35
|
+
off: (event: string, handler: Function) => any;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Enhances a badge component with API methods.
|
|
39
|
+
* This follows the higher-order function pattern to add public API methods
|
|
40
|
+
* to the component, making them available to the end user.
|
|
41
|
+
*
|
|
42
|
+
* @param {ApiOptions} options - API configuration options
|
|
43
|
+
* @returns {Function} Higher-order function that adds API methods to component
|
|
44
|
+
* @category Components
|
|
45
|
+
* @internal This is an internal utility for the Badge component
|
|
46
|
+
*/
|
|
47
|
+
export declare const withAPI: ({ visibility, lifecycle }: ApiOptions) => (component: ComponentWithElements) => BadgeComponent;
|
|
48
|
+
export {};
|
|
@@ -1,45 +1,27 @@
|
|
|
1
|
-
// src/components/badge/badge.ts
|
|
2
|
-
import { pipe } from '../../core/compose';
|
|
3
|
-
import { createBase, withElement } from '../../core/compose/component';
|
|
4
|
-
import {
|
|
5
|
-
withEvents,
|
|
6
|
-
withLifecycle
|
|
7
|
-
} from '../../core/compose/features';
|
|
8
|
-
import {
|
|
9
|
-
withVisibility,
|
|
10
|
-
withVariant,
|
|
11
|
-
withColor,
|
|
12
|
-
withPosition,
|
|
13
|
-
withMax,
|
|
14
|
-
withAttachment
|
|
15
|
-
} from './features';
|
|
16
|
-
import { withAPI } from './api';
|
|
17
1
|
import { BadgeConfig, BadgeComponent } from './types';
|
|
18
|
-
import { createBaseConfig, getElementConfig, getApiConfig } from './config';
|
|
19
|
-
|
|
20
2
|
/**
|
|
21
3
|
* Creates a new Badge component following Material Design 3 guidelines.
|
|
22
|
-
*
|
|
23
|
-
* The Badge component displays a small circle or numerical indicator to
|
|
24
|
-
* draw attention to items requiring user attention, like notifications
|
|
4
|
+
*
|
|
5
|
+
* The Badge component displays a small circle or numerical indicator to
|
|
6
|
+
* draw attention to items requiring user attention, like notifications
|
|
25
7
|
* or counts. Badges can be attached to any element.
|
|
26
|
-
*
|
|
8
|
+
*
|
|
27
9
|
* @param {BadgeConfig} config - Badge configuration object
|
|
28
10
|
* @returns {BadgeComponent} Badge component instance with methods for
|
|
29
11
|
* managing the badge appearance, content, and visibility
|
|
30
|
-
*
|
|
12
|
+
*
|
|
31
13
|
* @throws {Error} Throws an error if badge creation fails
|
|
32
|
-
*
|
|
14
|
+
*
|
|
33
15
|
* @category Components
|
|
34
|
-
*
|
|
16
|
+
*
|
|
35
17
|
* @example
|
|
36
18
|
* // Create a small dot badge (notification indicator)
|
|
37
|
-
* const notificationBadge = createBadge({
|
|
19
|
+
* const notificationBadge = createBadge({
|
|
38
20
|
* variant: 'small',
|
|
39
21
|
* color: 'error',
|
|
40
22
|
* target: document.querySelector('.icon-button')
|
|
41
23
|
* });
|
|
42
|
-
*
|
|
24
|
+
*
|
|
43
25
|
* @example
|
|
44
26
|
* // Create a large badge with a count (numbered indicator)
|
|
45
27
|
* const countBadge = createBadge({
|
|
@@ -48,7 +30,7 @@ import { createBaseConfig, getElementConfig, getApiConfig } from './config';
|
|
|
48
30
|
* color: 'primary',
|
|
49
31
|
* target: document.querySelector('.notification-icon')
|
|
50
32
|
* });
|
|
51
|
-
*
|
|
33
|
+
*
|
|
52
34
|
* @example
|
|
53
35
|
* // Create a badge with a maximum value
|
|
54
36
|
* const messagesBadge = createBadge({
|
|
@@ -58,7 +40,7 @@ import { createBaseConfig, getElementConfig, getApiConfig } from './config';
|
|
|
58
40
|
* color: 'info',
|
|
59
41
|
* position: 'bottom-right'
|
|
60
42
|
* });
|
|
61
|
-
*
|
|
43
|
+
*
|
|
62
44
|
* @example
|
|
63
45
|
* // Control badge visibility programmatically
|
|
64
46
|
* const toggleBadge = createBadge({
|
|
@@ -66,7 +48,7 @@ import { createBaseConfig, getElementConfig, getApiConfig } from './config';
|
|
|
66
48
|
* color: 'success',
|
|
67
49
|
* target: document.querySelector('.toggle-button')
|
|
68
50
|
* });
|
|
69
|
-
*
|
|
51
|
+
*
|
|
70
52
|
* // Toggle badge visibility
|
|
71
53
|
* function toggleNotification() {
|
|
72
54
|
* if (toggleBadge.isVisible()) {
|
|
@@ -76,30 +58,5 @@ import { createBaseConfig, getElementConfig, getApiConfig } from './config';
|
|
|
76
58
|
* }
|
|
77
59
|
* }
|
|
78
60
|
*/
|
|
79
|
-
const createBadge
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
try {
|
|
83
|
-
// Compose the badge component from multiple feature enhancers
|
|
84
|
-
const badge = pipe(
|
|
85
|
-
createBase,
|
|
86
|
-
withEvents(),
|
|
87
|
-
withElement(getElementConfig(baseConfig)),
|
|
88
|
-
withVariant(baseConfig),
|
|
89
|
-
withColor(baseConfig),
|
|
90
|
-
withPosition(baseConfig),
|
|
91
|
-
withMax(baseConfig),
|
|
92
|
-
withVisibility(),
|
|
93
|
-
withAttachment(baseConfig),
|
|
94
|
-
withLifecycle(),
|
|
95
|
-
comp => withAPI(getApiConfig(comp))(comp)
|
|
96
|
-
)(baseConfig);
|
|
97
|
-
|
|
98
|
-
return badge;
|
|
99
|
-
} catch (error) {
|
|
100
|
-
console.error('Badge creation error:', error);
|
|
101
|
-
throw new Error(`Failed to create badge: ${(error as Error).message}`);
|
|
102
|
-
}
|
|
103
|
-
};
|
|
104
|
-
|
|
105
|
-
export default createBadge;
|
|
61
|
+
declare const createBadge: (config?: BadgeConfig) => BadgeComponent;
|
|
62
|
+
export default createBadge;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { BadgeConfig } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Default configuration for the Badge component
|
|
4
|
+
* These values will be used when not explicitly specified by the user.
|
|
5
|
+
*
|
|
6
|
+
* @category Components
|
|
7
|
+
*/
|
|
8
|
+
export declare const defaultConfig: BadgeConfig;
|
|
9
|
+
/**
|
|
10
|
+
* Creates the base configuration for Badge component by merging user-provided
|
|
11
|
+
* config with default values.
|
|
12
|
+
*
|
|
13
|
+
* @param {BadgeConfig} config - User provided configuration
|
|
14
|
+
* @returns {BadgeConfig} Complete configuration with defaults applied
|
|
15
|
+
* @category Components
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
export declare const createBaseConfig: (config?: BadgeConfig) => BadgeConfig;
|
|
19
|
+
/**
|
|
20
|
+
* Generates element configuration for the Badge component.
|
|
21
|
+
* This function creates the necessary attributes and configuration
|
|
22
|
+
* for the DOM element creation process.
|
|
23
|
+
*
|
|
24
|
+
* @param {BadgeConfig} config - Badge configuration
|
|
25
|
+
* @returns {Object} Element configuration object for withElement
|
|
26
|
+
* @category Components
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
export declare const getElementConfig: (config: BadgeConfig) => {
|
|
30
|
+
tag: string;
|
|
31
|
+
componentName: string;
|
|
32
|
+
attributes: Record<string, any>;
|
|
33
|
+
className: string[];
|
|
34
|
+
rawClass: string | string[];
|
|
35
|
+
html: string;
|
|
36
|
+
text: string;
|
|
37
|
+
forwardEvents: Record<string, boolean | ((component: any, event: Event) => boolean)>;
|
|
38
|
+
interactive: boolean;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Creates API configuration for the Badge component.
|
|
42
|
+
* This connects the core component features (like visibility)
|
|
43
|
+
* to the public API methods exposed to users.
|
|
44
|
+
*
|
|
45
|
+
* @param {Object} comp - Component with visibility and lifecycle features
|
|
46
|
+
* @returns {Object} API configuration object
|
|
47
|
+
* @category Components
|
|
48
|
+
* @internal
|
|
49
|
+
*/
|
|
50
|
+
export declare const getApiConfig: (comp: any) => {
|
|
51
|
+
visibility: {
|
|
52
|
+
show: () => any;
|
|
53
|
+
hide: () => any;
|
|
54
|
+
toggle: (visible?: boolean) => any;
|
|
55
|
+
isVisible: () => any;
|
|
56
|
+
};
|
|
57
|
+
lifecycle: {
|
|
58
|
+
destroy: () => any;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Format a badge label following Material Design 3 guidelines:
|
|
63
|
+
* - Max 4 characters including "+" for overflow
|
|
64
|
+
* - Add "+" for numeric values exceeding max
|
|
65
|
+
*
|
|
66
|
+
* @param {string|number} label - Original label
|
|
67
|
+
* @param {number} max - Maximum value before using "+"
|
|
68
|
+
* @returns {string} Formatted label that fits within badge constraints
|
|
69
|
+
* @category Components
|
|
70
|
+
* @internal
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* formatBadgeLabel(5) // "5"
|
|
74
|
+
* formatBadgeLabel(1250, 999) // "999+"
|
|
75
|
+
* formatBadgeLabel("New") // "New"
|
|
76
|
+
* formatBadgeLabel("VeryLong") // "Very" (truncated)
|
|
77
|
+
*/
|
|
78
|
+
export declare const formatBadgeLabel: (label: string | number, max?: number) => string;
|
|
79
|
+
export default defaultConfig;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Badge variants
|
|
3
|
+
* - SMALL: Simple dot badge (6dp diameter)
|
|
4
|
+
* - LARGE: Numbered badge (16dp height)
|
|
5
|
+
*/
|
|
6
|
+
export declare const BADGE_VARIANTS: {
|
|
7
|
+
readonly SMALL: "small";
|
|
8
|
+
readonly LARGE: "large";
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Badge colors
|
|
12
|
+
* ERROR is the default
|
|
13
|
+
*/
|
|
14
|
+
export declare const BADGE_COLORS: {
|
|
15
|
+
readonly ERROR: "error";
|
|
16
|
+
readonly PRIMARY: "primary";
|
|
17
|
+
readonly SECONDARY: "secondary";
|
|
18
|
+
readonly TERTIARY: "tertiary";
|
|
19
|
+
readonly SUCCESS: "success";
|
|
20
|
+
readonly WARNING: "warning";
|
|
21
|
+
readonly INFO: "info";
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Badge positions relative to its container
|
|
25
|
+
*/
|
|
26
|
+
export declare const BADGE_POSITIONS: {
|
|
27
|
+
readonly TOP_RIGHT: "top-right";
|
|
28
|
+
readonly TOP_LEFT: "top-left";
|
|
29
|
+
readonly BOTTOM_RIGHT: "bottom-right";
|
|
30
|
+
readonly BOTTOM_LEFT: "bottom-left";
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Maximum character count for badge labels
|
|
34
|
+
*/
|
|
35
|
+
export declare const BADGE_MAX_CHARACTERS = 4;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { BadgeConfig } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Higher-order function that adds visibility control features to a component
|
|
4
|
+
* @returns {Function} Component enhancer with visibility features
|
|
5
|
+
*/
|
|
6
|
+
export declare const withVisibility: () => (component: any) => any;
|
|
7
|
+
/**
|
|
8
|
+
* Higher-order function that adds variant features to a badge component
|
|
9
|
+
* @param {BadgeConfig} config - Badge configuration
|
|
10
|
+
* @returns {Function} Component enhancer with variant features
|
|
11
|
+
*/
|
|
12
|
+
export declare const withVariant: (config: BadgeConfig) => (component: any) => any;
|
|
13
|
+
/**
|
|
14
|
+
* Higher-order function that adds color features to a badge component
|
|
15
|
+
* @param {BadgeConfig} config - Badge configuration
|
|
16
|
+
* @returns {Function} Component enhancer with color features
|
|
17
|
+
*/
|
|
18
|
+
export declare const withColor: (config: BadgeConfig) => (component: any) => any;
|
|
19
|
+
/**
|
|
20
|
+
* Higher-order function that adds positioning features to a badge component
|
|
21
|
+
* @param {BadgeConfig} config - Badge configuration
|
|
22
|
+
* @returns {Function} Component enhancer with positioning features
|
|
23
|
+
*/
|
|
24
|
+
export declare const withPosition: (config: BadgeConfig) => (component: any) => any;
|
|
25
|
+
/**
|
|
26
|
+
* Higher-order function that adds max value features to a badge component
|
|
27
|
+
* @param {BadgeConfig} config - Badge configuration
|
|
28
|
+
* @returns {Function} Component enhancer with max value features
|
|
29
|
+
*/
|
|
30
|
+
export declare const withMax: (config: BadgeConfig) => (component: any) => any;
|
|
31
|
+
/**
|
|
32
|
+
* Higher-order function that attaches badge to a target element
|
|
33
|
+
* @param {BadgeConfig} config - Badge configuration
|
|
34
|
+
* @returns {Function} Component enhancer with attachment features
|
|
35
|
+
*/
|
|
36
|
+
export declare const withAttachment: (config: BadgeConfig) => (component: any) => any;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Badge component module
|
|
3
|
+
* @module components/badge
|
|
4
|
+
* @description A small element that communicates status, shows a count,
|
|
5
|
+
* or highlights an element requiring attention.
|
|
6
|
+
*/
|
|
7
|
+
export { default } from './badge';
|
|
8
|
+
export type { BadgeConfig, BadgeComponent, BadgeVariant, BadgeColor, BadgePosition } from './types';
|