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
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
// src/components/badge/index.ts
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Badge component module
|
|
5
|
-
* @module components/badge
|
|
6
|
-
* @description A small element that communicates status, shows a count,
|
|
7
|
-
* or highlights an element requiring attention.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
export { default } from './badge';
|
|
11
|
-
export type { BadgeConfig, BadgeComponent, BadgeVariant, BadgeColor, BadgePosition } from './types';
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Badge size variant constants
|
|
15
|
-
* Use these instead of string literals for better code completion and type safety.
|
|
16
|
-
*
|
|
17
|
-
* @example
|
|
18
|
-
* import { createBadge, BADGE_VARIANTS } from 'mtrl';
|
|
19
|
-
*
|
|
20
|
-
* const badge = createBadge({ variant: BADGE_VARIANTS.SMALL });
|
|
21
|
-
*
|
|
22
|
-
* @category Components
|
|
23
|
-
*/
|
|
24
|
-
export const BADGE_VARIANTS = {
|
|
25
|
-
/** 6dp dot badge (no text content) */
|
|
26
|
-
SMALL: 'small',
|
|
27
|
-
/** 16dp height badge (can contain text) */
|
|
28
|
-
LARGE: 'large'
|
|
29
|
-
} as const;
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Badge color constants
|
|
33
|
-
* Colors follow Material Design 3 color system.
|
|
34
|
-
*
|
|
35
|
-
* @example
|
|
36
|
-
* import { createBadge, BADGE_COLORS } from 'mtrl';
|
|
37
|
-
*
|
|
38
|
-
* const badge = createBadge({ color: BADGE_COLORS.ERROR });
|
|
39
|
-
*
|
|
40
|
-
* @category Components
|
|
41
|
-
*/
|
|
42
|
-
export const BADGE_COLORS = {
|
|
43
|
-
/** Red color for error states */
|
|
44
|
-
ERROR: 'error',
|
|
45
|
-
/** Primary theme color */
|
|
46
|
-
PRIMARY: 'primary',
|
|
47
|
-
/** Secondary theme color */
|
|
48
|
-
SECONDARY: 'secondary',
|
|
49
|
-
/** Tertiary theme color */
|
|
50
|
-
TERTIARY: 'tertiary',
|
|
51
|
-
/** Green color for success states */
|
|
52
|
-
SUCCESS: 'success',
|
|
53
|
-
/** Orange/yellow color for warning states */
|
|
54
|
-
WARNING: 'warning',
|
|
55
|
-
/** Blue color for information states */
|
|
56
|
-
INFO: 'info'
|
|
57
|
-
} as const;
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Badge position constants
|
|
61
|
-
* Defines where the badge appears relative to its target element.
|
|
62
|
-
*
|
|
63
|
-
* @example
|
|
64
|
-
* import { createBadge, BADGE_POSITIONS } from 'mtrl';
|
|
65
|
-
*
|
|
66
|
-
* const badge = createBadge({
|
|
67
|
-
* position: BADGE_POSITIONS.BOTTOM_RIGHT,
|
|
68
|
-
* target: document.querySelector('#notification-bell')
|
|
69
|
-
* });
|
|
70
|
-
*
|
|
71
|
-
* @category Components
|
|
72
|
-
*/
|
|
73
|
-
export const BADGE_POSITIONS = {
|
|
74
|
-
/** Position in the top-right corner (default) */
|
|
75
|
-
TOP_RIGHT: 'top-right',
|
|
76
|
-
/** Position in the top-left corner */
|
|
77
|
-
TOP_LEFT: 'top-left',
|
|
78
|
-
/** Position in the bottom-right corner */
|
|
79
|
-
BOTTOM_RIGHT: 'bottom-right',
|
|
80
|
-
/** Position in the bottom-left corner */
|
|
81
|
-
BOTTOM_LEFT: 'bottom-left'
|
|
82
|
-
} as const;
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* Maximum number of characters to display in a badge
|
|
86
|
-
* When label text exceeds this length, it will be truncated.
|
|
87
|
-
*
|
|
88
|
-
* @category Components
|
|
89
|
-
*/
|
|
90
|
-
export const BADGE_MAX_CHARACTERS = 4;
|
|
@@ -1,279 +0,0 @@
|
|
|
1
|
-
// src/components/badge/types.ts
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Badge variant types - determines the badge size and appearance
|
|
5
|
-
* @category Components
|
|
6
|
-
* @remarks
|
|
7
|
-
* - small: A 6dp circular dot badge without text (for notification indicators)
|
|
8
|
-
* - large: A 16dp height badge that can contain text (for counts or short labels)
|
|
9
|
-
*/
|
|
10
|
-
export type BadgeVariant = 'small' | 'large';
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Badge color types - determines the badge's background color
|
|
14
|
-
* @category Components
|
|
15
|
-
* @remarks
|
|
16
|
-
* Based on Material Design 3 color system:
|
|
17
|
-
* - error: Red color for error states (default)
|
|
18
|
-
* - primary: Primary theme color
|
|
19
|
-
* - secondary: Secondary theme color
|
|
20
|
-
* - tertiary: Tertiary theme color
|
|
21
|
-
* - success: Green color for success states
|
|
22
|
-
* - warning: Orange/yellow color for warning states
|
|
23
|
-
* - info: Blue color for information states
|
|
24
|
-
*/
|
|
25
|
-
export type BadgeColor = 'error' | 'primary' | 'secondary' | 'tertiary' | 'success' | 'warning' | 'info';
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Badge position types - determines where the badge appears relative to its target
|
|
29
|
-
* @category Components
|
|
30
|
-
* @remarks
|
|
31
|
-
* - top-right: Position in the top-right corner (default)
|
|
32
|
-
* - top-left: Position in the top-left corner
|
|
33
|
-
* - bottom-right: Position in the bottom-right corner
|
|
34
|
-
* - bottom-left: Position in the bottom-left corner
|
|
35
|
-
*/
|
|
36
|
-
export type BadgePosition = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left';
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Configuration interface for the Badge component
|
|
40
|
-
* @category Components
|
|
41
|
-
* @description
|
|
42
|
-
* Defines the appearance and behavior of a badge component.
|
|
43
|
-
* All properties are optional with sensible defaults.
|
|
44
|
-
*/
|
|
45
|
-
export interface BadgeConfig {
|
|
46
|
-
/**
|
|
47
|
-
* Badge variant (small dot or large numbered)
|
|
48
|
-
* Small badge (6dp) or Large badge (16dp height)
|
|
49
|
-
* @default 'large'
|
|
50
|
-
* @example 'small' | 'large'
|
|
51
|
-
*/
|
|
52
|
-
variant?: BadgeVariant | string;
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Badge color (follows Material Design 3 color system)
|
|
56
|
-
* @default 'error'
|
|
57
|
-
* @example 'error' | 'primary' | 'secondary' | 'tertiary' | 'success' | 'warning' | 'info'
|
|
58
|
-
*/
|
|
59
|
-
color?: BadgeColor | string;
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Badge position relative to its container element
|
|
63
|
-
* @default 'top-right'
|
|
64
|
-
* @example 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left'
|
|
65
|
-
*/
|
|
66
|
-
position?: BadgePosition | string;
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Text label inside the badge (for large badges)
|
|
70
|
-
* Up to 4 characters, numbers exceeding max will show "{max}+"
|
|
71
|
-
* @example "3" | "99+" | "New"
|
|
72
|
-
*/
|
|
73
|
-
label?: string | number;
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Maximum value to display (shows "{max}+" if label exceeds max)
|
|
77
|
-
* Usually 999+ for large numbers
|
|
78
|
-
* @example 99 | 999
|
|
79
|
-
*/
|
|
80
|
-
max?: number;
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* Whether the badge should be initially visible
|
|
84
|
-
* @default true
|
|
85
|
-
*/
|
|
86
|
-
visible?: boolean;
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* Target element to which badge will be attached
|
|
90
|
-
* When provided, the badge will be positioned relative to this element
|
|
91
|
-
*/
|
|
92
|
-
target?: HTMLElement;
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* Additional CSS classes to apply to the badge element
|
|
96
|
-
* @example "custom-badge highlighted-badge"
|
|
97
|
-
*/
|
|
98
|
-
class?: string;
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* CSS class prefix for all badge classes
|
|
102
|
-
* @default "mtrl"
|
|
103
|
-
*/
|
|
104
|
-
prefix?: string;
|
|
105
|
-
|
|
106
|
-
/**
|
|
107
|
-
* Component name used in CSS class generation
|
|
108
|
-
* @default "badge"
|
|
109
|
-
* @internal
|
|
110
|
-
*/
|
|
111
|
-
componentName?: string;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* Badge component interface
|
|
116
|
-
* Provides methods for controlling a Material Design 3 badge
|
|
117
|
-
*
|
|
118
|
-
* @category Components
|
|
119
|
-
*/
|
|
120
|
-
export interface BadgeComponent {
|
|
121
|
-
/**
|
|
122
|
-
* The badge's root DOM element
|
|
123
|
-
*/
|
|
124
|
-
element: HTMLElement;
|
|
125
|
-
|
|
126
|
-
/**
|
|
127
|
-
* Badge wrapper element (if badge is attached to target)
|
|
128
|
-
* This is the parent element that contains both the target and the badge
|
|
129
|
-
*/
|
|
130
|
-
wrapper?: HTMLElement;
|
|
131
|
-
|
|
132
|
-
/**
|
|
133
|
-
* Sets the badge's text label
|
|
134
|
-
* @param label - Text or number to display in the badge
|
|
135
|
-
* @returns Badge component for method chaining
|
|
136
|
-
* @example
|
|
137
|
-
* badge.setLabel(5); // Shows "5"
|
|
138
|
-
* badge.setLabel("New"); // Shows "New"
|
|
139
|
-
* badge.setLabel(1250); // With max=999, shows "999+"
|
|
140
|
-
*/
|
|
141
|
-
setLabel: (label: string | number) => BadgeComponent;
|
|
142
|
-
|
|
143
|
-
/**
|
|
144
|
-
* Gets the badge's current text label
|
|
145
|
-
* @returns Current text content of the badge
|
|
146
|
-
*/
|
|
147
|
-
getLabel: () => string;
|
|
148
|
-
|
|
149
|
-
/**
|
|
150
|
-
* Shows the badge (makes it visible)
|
|
151
|
-
* @returns Badge component for method chaining
|
|
152
|
-
*/
|
|
153
|
-
show: () => BadgeComponent;
|
|
154
|
-
|
|
155
|
-
/**
|
|
156
|
-
* Hides the badge (makes it invisible)
|
|
157
|
-
* @returns Badge component for method chaining
|
|
158
|
-
*/
|
|
159
|
-
hide: () => BadgeComponent;
|
|
160
|
-
|
|
161
|
-
/**
|
|
162
|
-
* Toggles badge visibility
|
|
163
|
-
* @param visible - Optional explicit visibility state
|
|
164
|
-
* @returns Badge component for method chaining
|
|
165
|
-
* @example
|
|
166
|
-
* badge.toggle(); // Toggles current state
|
|
167
|
-
* badge.toggle(true); // Forces visible
|
|
168
|
-
*/
|
|
169
|
-
toggle: (visible?: boolean) => BadgeComponent;
|
|
170
|
-
|
|
171
|
-
/**
|
|
172
|
-
* Checks if the badge is currently visible
|
|
173
|
-
* @returns True if badge is visible, false otherwise
|
|
174
|
-
*/
|
|
175
|
-
isVisible: () => boolean;
|
|
176
|
-
|
|
177
|
-
/**
|
|
178
|
-
* Sets maximum value (after which badge shows max+)
|
|
179
|
-
* @param max - Maximum number to display before showing "+"
|
|
180
|
-
* @returns Badge component for method chaining
|
|
181
|
-
* @example
|
|
182
|
-
* badge.setMax(99); // Shows "99+" for values > 99
|
|
183
|
-
*/
|
|
184
|
-
setMax: (max: number) => BadgeComponent;
|
|
185
|
-
|
|
186
|
-
/**
|
|
187
|
-
* Sets badge color
|
|
188
|
-
* @param color - Badge color from Material Design 3 palette
|
|
189
|
-
* @returns Badge component for method chaining
|
|
190
|
-
* @example
|
|
191
|
-
* badge.setColor('primary');
|
|
192
|
-
* badge.setColor(BADGE_COLORS.SUCCESS);
|
|
193
|
-
*/
|
|
194
|
-
setColor: (color: BadgeColor | string) => BadgeComponent;
|
|
195
|
-
|
|
196
|
-
/**
|
|
197
|
-
* Sets badge variant (size style)
|
|
198
|
-
* @param variant - Badge variant ('small' or 'large')
|
|
199
|
-
* @returns Badge component for method chaining
|
|
200
|
-
* @example
|
|
201
|
-
* badge.setVariant('small'); // Dot indicator
|
|
202
|
-
* badge.setVariant(BADGE_VARIANTS.LARGE); // Numbered indicator
|
|
203
|
-
*/
|
|
204
|
-
setVariant: (variant: BadgeVariant | string) => BadgeComponent;
|
|
205
|
-
|
|
206
|
-
/**
|
|
207
|
-
* Sets badge position relative to target
|
|
208
|
-
* @param position - Badge position
|
|
209
|
-
* @returns Badge component for method chaining
|
|
210
|
-
* @example
|
|
211
|
-
* badge.setPosition('bottom-left');
|
|
212
|
-
*/
|
|
213
|
-
setPosition: (position: BadgePosition | string) => BadgeComponent;
|
|
214
|
-
|
|
215
|
-
/**
|
|
216
|
-
* Attaches badge to a target element
|
|
217
|
-
* @param target - Element to attach badge to
|
|
218
|
-
* @returns Badge component for method chaining
|
|
219
|
-
* @example
|
|
220
|
-
* badge.attachTo(document.querySelector('#notification-bell'));
|
|
221
|
-
*/
|
|
222
|
-
attachTo: (target: HTMLElement) => BadgeComponent;
|
|
223
|
-
|
|
224
|
-
/**
|
|
225
|
-
* Makes badge standalone (removes from wrapper)
|
|
226
|
-
* @returns Badge component for method chaining
|
|
227
|
-
*/
|
|
228
|
-
detach: () => BadgeComponent;
|
|
229
|
-
|
|
230
|
-
/**
|
|
231
|
-
* Destroys the badge component and cleans up resources
|
|
232
|
-
* Removes the badge from the DOM and clears event listeners
|
|
233
|
-
*/
|
|
234
|
-
destroy: () => void;
|
|
235
|
-
|
|
236
|
-
/**
|
|
237
|
-
* Gets a class name with the component's prefix
|
|
238
|
-
* @param name - Base class name
|
|
239
|
-
* @returns Prefixed class name
|
|
240
|
-
* @internal
|
|
241
|
-
*/
|
|
242
|
-
getClass: (name: string) => string;
|
|
243
|
-
|
|
244
|
-
/**
|
|
245
|
-
* Adds CSS classes to the badge element
|
|
246
|
-
* @param classes - One or more class names to add
|
|
247
|
-
* @returns Badge component for method chaining
|
|
248
|
-
* @example
|
|
249
|
-
* badge.addClass('highlighted', 'animated');
|
|
250
|
-
*/
|
|
251
|
-
addClass: (...classes: string[]) => BadgeComponent;
|
|
252
|
-
|
|
253
|
-
/**
|
|
254
|
-
* Removes CSS classes from the badge element
|
|
255
|
-
* @param classes - One or more class names to remove
|
|
256
|
-
* @returns Badge component for method chaining
|
|
257
|
-
* @example
|
|
258
|
-
* badge.removeClass('highlighted', 'animated');
|
|
259
|
-
*/
|
|
260
|
-
removeClass: (...classes: string[]) => BadgeComponent;
|
|
261
|
-
|
|
262
|
-
/**
|
|
263
|
-
* Adds an event listener to the badge
|
|
264
|
-
* @param event - Event name ('click', 'mouseover', etc.)
|
|
265
|
-
* @param handler - Event handler function
|
|
266
|
-
* @returns Badge component for method chaining
|
|
267
|
-
* @example
|
|
268
|
-
* badge.on('click', () => console.log('Badge clicked'));
|
|
269
|
-
*/
|
|
270
|
-
on: (event: string, handler: Function) => BadgeComponent;
|
|
271
|
-
|
|
272
|
-
/**
|
|
273
|
-
* Removes an event listener from the badge
|
|
274
|
-
* @param event - Event name
|
|
275
|
-
* @param handler - Event handler function
|
|
276
|
-
* @returns Badge component for method chaining
|
|
277
|
-
*/
|
|
278
|
-
off: (event: string, handler: Function) => BadgeComponent;
|
|
279
|
-
}
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
// src/components/bottom-app-bar/bottom-app-bar.ts
|
|
2
|
-
/**
|
|
3
|
-
* @module components/bottom-app-bar
|
|
4
|
-
* @description Bottom app bar implementation
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import {
|
|
8
|
-
createBase,
|
|
9
|
-
withElement,
|
|
10
|
-
withEvents,
|
|
11
|
-
withLifecycle,
|
|
12
|
-
ElementComponent,
|
|
13
|
-
BaseComponent
|
|
14
|
-
} from '../../core/compose';
|
|
15
|
-
|
|
16
|
-
import { createConfig } from './config';
|
|
17
|
-
import { BottomAppBar, BottomAppBarConfig } from './types';
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Creates a bottom app bar component
|
|
21
|
-
*
|
|
22
|
-
* @param {BottomAppBarConfig} config - Configuration options
|
|
23
|
-
* @returns {BottomAppBar} Bottom app bar component instance
|
|
24
|
-
*/
|
|
25
|
-
export const createBottomAppBar = (config: BottomAppBarConfig = {}): BottomAppBar => {
|
|
26
|
-
// Process configuration with defaults
|
|
27
|
-
const componentConfig = createConfig(config);
|
|
28
|
-
|
|
29
|
-
// Create base component
|
|
30
|
-
const component = createBase(componentConfig);
|
|
31
|
-
|
|
32
|
-
// Create actions container
|
|
33
|
-
const actionsContainer = document.createElement('div');
|
|
34
|
-
actionsContainer.className = `${component.getClass('bottom-app-bar')}-actions`;
|
|
35
|
-
|
|
36
|
-
// FAB container for proper positioning
|
|
37
|
-
const fabContainer = document.createElement('div');
|
|
38
|
-
fabContainer.className = `${component.getClass('bottom-app-bar')}-fab-container`;
|
|
39
|
-
|
|
40
|
-
// Apply Element enhancer
|
|
41
|
-
const enhancedComponent = withElement({
|
|
42
|
-
tag: componentConfig.tag,
|
|
43
|
-
componentName: 'bottom-app-bar',
|
|
44
|
-
className: [
|
|
45
|
-
componentConfig.hasFab ? `${component.getClass('bottom-app-bar')}--with-fab` : '',
|
|
46
|
-
componentConfig.fabPosition === 'center' ? `${component.getClass('bottom-app-bar')}--fab-center` : '',
|
|
47
|
-
componentConfig.class
|
|
48
|
-
],
|
|
49
|
-
attrs: {
|
|
50
|
-
role: 'toolbar',
|
|
51
|
-
'aria-label': 'Bottom app bar'
|
|
52
|
-
},
|
|
53
|
-
interactive: true
|
|
54
|
-
})(component);
|
|
55
|
-
|
|
56
|
-
// Apply events enhancer for component events
|
|
57
|
-
const withEventsComponent = withEvents()(enhancedComponent);
|
|
58
|
-
|
|
59
|
-
// Apply lifecycle enhancer for cleanup
|
|
60
|
-
const withLifecycleComponent = withLifecycle()(withEventsComponent);
|
|
61
|
-
|
|
62
|
-
// Append actions and FAB containers to the main element
|
|
63
|
-
withLifecycleComponent.element.appendChild(actionsContainer);
|
|
64
|
-
withLifecycleComponent.element.appendChild(fabContainer);
|
|
65
|
-
|
|
66
|
-
// Flag to track visibility
|
|
67
|
-
let isVisible = true;
|
|
68
|
-
|
|
69
|
-
// Previous scroll position for determining scroll direction
|
|
70
|
-
let prevScrollY = window.scrollY;
|
|
71
|
-
|
|
72
|
-
// Handle scrolling behavior if autoHide is enabled
|
|
73
|
-
if (componentConfig.autoHide) {
|
|
74
|
-
const handleScroll = () => {
|
|
75
|
-
const currentScrollY = window.scrollY;
|
|
76
|
-
|
|
77
|
-
// Determine scroll direction
|
|
78
|
-
if (currentScrollY > prevScrollY + 10) {
|
|
79
|
-
// Scrolling down - hide the bottom bar
|
|
80
|
-
if (isVisible) {
|
|
81
|
-
bottomBar.hide();
|
|
82
|
-
componentConfig.onVisibilityChange?.(false);
|
|
83
|
-
}
|
|
84
|
-
} else if (currentScrollY < prevScrollY - 10) {
|
|
85
|
-
// Scrolling up - show the bottom bar
|
|
86
|
-
if (!isVisible) {
|
|
87
|
-
bottomBar.show();
|
|
88
|
-
componentConfig.onVisibilityChange?.(true);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
prevScrollY = currentScrollY;
|
|
93
|
-
};
|
|
94
|
-
|
|
95
|
-
// Add scroll event listener
|
|
96
|
-
window.addEventListener('scroll', handleScroll, { passive: true });
|
|
97
|
-
|
|
98
|
-
// Clean up event listener on destroy
|
|
99
|
-
const originalDestroy = withLifecycleComponent.lifecycle.destroy;
|
|
100
|
-
withLifecycleComponent.lifecycle.destroy = () => {
|
|
101
|
-
window.removeEventListener('scroll', handleScroll);
|
|
102
|
-
originalDestroy();
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
const bottomBar: BottomAppBar = {
|
|
107
|
-
...withLifecycleComponent,
|
|
108
|
-
|
|
109
|
-
addAction(button: HTMLElement) {
|
|
110
|
-
actionsContainer.appendChild(button);
|
|
111
|
-
return this;
|
|
112
|
-
},
|
|
113
|
-
|
|
114
|
-
addFab(fab: HTMLElement) {
|
|
115
|
-
// Clear existing FAB if any
|
|
116
|
-
fabContainer.innerHTML = '';
|
|
117
|
-
|
|
118
|
-
// Add the new FAB
|
|
119
|
-
fabContainer.appendChild(fab);
|
|
120
|
-
|
|
121
|
-
// Update component class to indicate it has a FAB
|
|
122
|
-
this.element.classList.add(`${component.getClass('bottom-app-bar')}--with-fab`);
|
|
123
|
-
|
|
124
|
-
return this;
|
|
125
|
-
},
|
|
126
|
-
|
|
127
|
-
show() {
|
|
128
|
-
this.element.classList.remove(`${component.getClass('bottom-app-bar')}--hidden`);
|
|
129
|
-
isVisible = true;
|
|
130
|
-
return this;
|
|
131
|
-
},
|
|
132
|
-
|
|
133
|
-
hide() {
|
|
134
|
-
this.element.classList.add(`${component.getClass('bottom-app-bar')}--hidden`);
|
|
135
|
-
isVisible = false;
|
|
136
|
-
return this;
|
|
137
|
-
},
|
|
138
|
-
|
|
139
|
-
isVisible() {
|
|
140
|
-
return isVisible;
|
|
141
|
-
},
|
|
142
|
-
|
|
143
|
-
getActionsContainer() {
|
|
144
|
-
return actionsContainer;
|
|
145
|
-
}
|
|
146
|
-
};
|
|
147
|
-
|
|
148
|
-
// Set the appropriate styles for transitions if needed
|
|
149
|
-
if (componentConfig.autoHide && componentConfig.transitionDuration) {
|
|
150
|
-
bottomBar.element.style.transition = `transform ${componentConfig.transitionDuration}ms ease-in-out`;
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
return bottomBar;
|
|
154
|
-
};
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
// src/components/bottom-app-bar/config.ts
|
|
2
|
-
/**
|
|
3
|
-
* @module components/bottom-app-bar
|
|
4
|
-
* @description Configuration for bottom app bar component
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import { createComponentConfig, BaseComponentConfig } from '../../core/config/component-config';
|
|
8
|
-
import { PREFIX } from '../../core/config';
|
|
9
|
-
import { BottomAppBarConfig } from './types';
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Default configuration for bottom app bar
|
|
13
|
-
*/
|
|
14
|
-
export const defaultConfig: Partial<BottomAppBarConfig> = {
|
|
15
|
-
tag: 'div',
|
|
16
|
-
hasFab: false,
|
|
17
|
-
fabPosition: 'end',
|
|
18
|
-
autoHide: false,
|
|
19
|
-
transitionDuration: 300
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Creates the configuration for a bottom app bar component
|
|
24
|
-
*
|
|
25
|
-
* @param {BottomAppBarConfig} config - User provided configuration
|
|
26
|
-
* @returns {BottomAppBarConfig} Complete configuration with defaults applied
|
|
27
|
-
*/
|
|
28
|
-
export const createConfig = (config: BottomAppBarConfig = {} as BottomAppBarConfig): BottomAppBarConfig =>
|
|
29
|
-
createComponentConfig(defaultConfig, config, 'bottom-app-bar') as BottomAppBarConfig;
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
// src/components/bottom-app-bar/types.ts
|
|
2
|
-
/**
|
|
3
|
-
* @module components/bottom-app-bar
|
|
4
|
-
* @description Type definitions for Bottom App Bar component
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import { ElementComponent } from '../../core/compose';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* FAB position type for Bottom App Bar
|
|
11
|
-
* @category Components
|
|
12
|
-
*/
|
|
13
|
-
export type FabPosition = 'center' | 'end';
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Configuration options for Bottom App Bar component
|
|
17
|
-
* @category Components
|
|
18
|
-
*/
|
|
19
|
-
export interface BottomAppBarConfig {
|
|
20
|
-
/**
|
|
21
|
-
* Element to use for the container
|
|
22
|
-
* @default 'div'
|
|
23
|
-
*/
|
|
24
|
-
tag?: string;
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Whether to show FAB in the bottom bar
|
|
28
|
-
* @default false
|
|
29
|
-
*/
|
|
30
|
-
hasFab?: boolean;
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* FAB position in bottom bar
|
|
34
|
-
* @default 'end'
|
|
35
|
-
*/
|
|
36
|
-
fabPosition?: FabPosition;
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Additional CSS classes to apply
|
|
40
|
-
*/
|
|
41
|
-
class?: string;
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Whether to enable auto-hide on scroll
|
|
45
|
-
* @default false
|
|
46
|
-
*/
|
|
47
|
-
autoHide?: boolean;
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Transition duration for show/hide in ms
|
|
51
|
-
* @default 300
|
|
52
|
-
*/
|
|
53
|
-
transitionDuration?: number;
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Optional callback when scrolling shows/hides the bar
|
|
57
|
-
*/
|
|
58
|
-
onVisibilityChange?: (visible: boolean) => void;
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Component prefix for class names
|
|
62
|
-
* @default 'mtrl'
|
|
63
|
-
*/
|
|
64
|
-
prefix?: string;
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Component name for class generation
|
|
68
|
-
*/
|
|
69
|
-
componentName?: string;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Bottom App Bar component interface
|
|
74
|
-
* @category Components
|
|
75
|
-
*/
|
|
76
|
-
export interface BottomAppBar extends ElementComponent {
|
|
77
|
-
/**
|
|
78
|
-
* Adds an action button to the bottom bar
|
|
79
|
-
* @param {HTMLElement} button - Button element to add
|
|
80
|
-
* @returns {BottomAppBar} BottomAppBar instance for chaining
|
|
81
|
-
*/
|
|
82
|
-
addAction: (button: HTMLElement) => BottomAppBar;
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* Adds a floating action button to the bottom bar
|
|
86
|
-
* @param {HTMLElement} fab - FAB element to add
|
|
87
|
-
* @returns {BottomAppBar} BottomAppBar instance for chaining
|
|
88
|
-
*/
|
|
89
|
-
addFab: (fab: HTMLElement) => BottomAppBar;
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Shows the bottom bar
|
|
93
|
-
* @returns {BottomAppBar} BottomAppBar instance for chaining
|
|
94
|
-
*/
|
|
95
|
-
show: () => BottomAppBar;
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* Hides the bottom bar
|
|
99
|
-
* @returns {BottomAppBar} BottomAppBar instance for chaining
|
|
100
|
-
*/
|
|
101
|
-
hide: () => BottomAppBar;
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* Checks if the bottom bar is visible
|
|
105
|
-
* @returns {boolean} Whether the bottom bar is visible
|
|
106
|
-
*/
|
|
107
|
-
isVisible: () => boolean;
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* Get the actions container element
|
|
111
|
-
* @returns {HTMLElement} Actions container element
|
|
112
|
-
*/
|
|
113
|
-
getActionsContainer: () => HTMLElement;
|
|
114
|
-
}
|