mtrl 0.3.7 → 0.3.9
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 +63 -0
- package/dist/components/progress/constants.d.ts +58 -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 +199 -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/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} +34 -82
- package/dist/core/config.d.ts +130 -0
- package/{src/core/dom/attributes.ts → dist/core/dom/attributes.d.ts} +2 -13
- package/dist/core/dom/classes.d.ts +42 -0
- package/dist/core/dom/create.d.ts +124 -0
- package/dist/core/dom/events.d.ts +69 -0
- package/{src/core/dom/index.ts → dist/core/dom/index.d.ts} +1 -5
- 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 +23 -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/validate.d.ts +73 -0
- package/dist/index.cjs +64 -0
- package/dist/index.cjs.map +285 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.js +53 -14854
- package/dist/index.js.map +285 -0
- package/dist/package.json +39 -0
- package/dist/styles.css +7 -0
- package/package.json +24 -5
- 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 -193
- package/src/components/menu/config.ts +0 -125
- package/src/components/menu/features/anchor.ts +0 -243
- package/src/components/menu/features/controller.ts +0 -1167
- package/src/components/menu/features/index.ts +0 -5
- package/src/components/menu/features/position.ts +0 -353
- package/src/components/menu/menu.ts +0 -119
- package/src/components/menu/types.ts +0 -379
- 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 -317
- 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/classes.ts +0 -132
- package/src/core/dom/create.ts +0 -273
- package/src/core/dom/events.ts +0 -209
- 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 -134
- 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 -248
- 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 -265
- 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
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Segmented button selection mode
|
|
3
|
+
* @category Components
|
|
4
|
+
*/
|
|
5
|
+
export declare enum SelectionMode {
|
|
6
|
+
/** Only one segment can be selected at a time */
|
|
7
|
+
SINGLE = "single",
|
|
8
|
+
/** Multiple segments can be selected */
|
|
9
|
+
MULTI = "multi"
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Density options for segmented button
|
|
13
|
+
* Controls the overall sizing and spacing of the component.
|
|
14
|
+
* @category Components
|
|
15
|
+
*/
|
|
16
|
+
export declare enum Density {
|
|
17
|
+
/** Default size with standard spacing */
|
|
18
|
+
DEFAULT = "default",
|
|
19
|
+
/** Reduced size and spacing, more compact */
|
|
20
|
+
COMFORTABLE = "comfortable",
|
|
21
|
+
/** Minimal size and spacing, most compact */
|
|
22
|
+
COMPACT = "compact"
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Event types for segmented button
|
|
26
|
+
*/
|
|
27
|
+
export type SegmentedButtonEventType = 'change';
|
|
28
|
+
/**
|
|
29
|
+
* Event data for segmented button events
|
|
30
|
+
*/
|
|
31
|
+
export interface SegmentedButtonEvent {
|
|
32
|
+
/** The segmented button component that triggered the event */
|
|
33
|
+
segmentedButton: SegmentedButtonComponent;
|
|
34
|
+
/** The selected segments */
|
|
35
|
+
selected: Segment[];
|
|
36
|
+
/** Values of the selected segments */
|
|
37
|
+
values: string[];
|
|
38
|
+
/** Original DOM event if available */
|
|
39
|
+
originalEvent: Event | null;
|
|
40
|
+
/** Function to prevent default behavior */
|
|
41
|
+
preventDefault: () => void;
|
|
42
|
+
/** Whether default behavior was prevented */
|
|
43
|
+
defaultPrevented: boolean;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Configuration for a single segment within a segmented button
|
|
47
|
+
* @category Components
|
|
48
|
+
*/
|
|
49
|
+
export interface SegmentConfig {
|
|
50
|
+
/**
|
|
51
|
+
* Text content for the segment
|
|
52
|
+
* @example 'Day'
|
|
53
|
+
*/
|
|
54
|
+
text?: string;
|
|
55
|
+
/**
|
|
56
|
+
* Icon HTML content
|
|
57
|
+
* @example '<svg>...</svg>'
|
|
58
|
+
*/
|
|
59
|
+
icon?: string;
|
|
60
|
+
/**
|
|
61
|
+
* Whether this segment is initially selected
|
|
62
|
+
* @default false
|
|
63
|
+
*/
|
|
64
|
+
selected?: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Value associated with this segment
|
|
67
|
+
*/
|
|
68
|
+
value?: string;
|
|
69
|
+
/**
|
|
70
|
+
* Whether this segment is disabled
|
|
71
|
+
* @default false
|
|
72
|
+
*/
|
|
73
|
+
disabled?: boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Additional CSS class names for this segment
|
|
76
|
+
*/
|
|
77
|
+
class?: string;
|
|
78
|
+
/**
|
|
79
|
+
* Custom icon to display when segment is selected (replaces default checkmark)
|
|
80
|
+
*/
|
|
81
|
+
checkmarkIcon?: string;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Configuration interface for the Segmented Button component
|
|
85
|
+
* @category Components
|
|
86
|
+
*/
|
|
87
|
+
export interface SegmentedButtonConfig {
|
|
88
|
+
/**
|
|
89
|
+
* Selection mode for the segmented button group
|
|
90
|
+
* @default SelectionMode.SINGLE
|
|
91
|
+
*/
|
|
92
|
+
mode?: SelectionMode;
|
|
93
|
+
/**
|
|
94
|
+
* Array of segment configurations
|
|
95
|
+
*/
|
|
96
|
+
segments?: SegmentConfig[];
|
|
97
|
+
/**
|
|
98
|
+
* Component prefix for class names
|
|
99
|
+
* @default 'mtrl'
|
|
100
|
+
*/
|
|
101
|
+
prefix?: string;
|
|
102
|
+
/**
|
|
103
|
+
* Component name used in class generation
|
|
104
|
+
*/
|
|
105
|
+
componentName?: string;
|
|
106
|
+
/**
|
|
107
|
+
* Whether the entire segmented button is initially disabled
|
|
108
|
+
* @default false
|
|
109
|
+
*/
|
|
110
|
+
disabled?: boolean;
|
|
111
|
+
/**
|
|
112
|
+
* Additional CSS class for the segmented button container
|
|
113
|
+
*/
|
|
114
|
+
class?: string;
|
|
115
|
+
/**
|
|
116
|
+
* Whether to enable ripple effect
|
|
117
|
+
* @default true
|
|
118
|
+
*/
|
|
119
|
+
ripple?: boolean;
|
|
120
|
+
/**
|
|
121
|
+
* Density setting that controls the component's size and spacing
|
|
122
|
+
* @default Density.DEFAULT
|
|
123
|
+
*/
|
|
124
|
+
density?: Density | string;
|
|
125
|
+
/**
|
|
126
|
+
* Ripple effect configuration
|
|
127
|
+
*/
|
|
128
|
+
rippleConfig?: {
|
|
129
|
+
/** Duration of the ripple animation in milliseconds */
|
|
130
|
+
duration?: number;
|
|
131
|
+
/** Timing function for the ripple animation */
|
|
132
|
+
timing?: string;
|
|
133
|
+
/** Opacity values for ripple start and end [start, end] */
|
|
134
|
+
opacity?: [string, string];
|
|
135
|
+
};
|
|
136
|
+
/**
|
|
137
|
+
* Event handlers for segmented button events
|
|
138
|
+
*/
|
|
139
|
+
on?: {
|
|
140
|
+
[key in SegmentedButtonEventType]?: (event: SegmentedButtonEvent) => void;
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Interface for a segment within a segmented button
|
|
145
|
+
* @category Components
|
|
146
|
+
*/
|
|
147
|
+
export interface Segment {
|
|
148
|
+
/** The segment's DOM element */
|
|
149
|
+
element: HTMLElement;
|
|
150
|
+
/** The segment's value */
|
|
151
|
+
value: string;
|
|
152
|
+
/**
|
|
153
|
+
* Gets whether the segment is selected
|
|
154
|
+
*/
|
|
155
|
+
isSelected: () => boolean;
|
|
156
|
+
/**
|
|
157
|
+
* Sets the segment's selected state
|
|
158
|
+
* @param selected - Whether the segment should be selected
|
|
159
|
+
*/
|
|
160
|
+
setSelected: (selected: boolean) => void;
|
|
161
|
+
/**
|
|
162
|
+
* Gets whether the segment is disabled
|
|
163
|
+
*/
|
|
164
|
+
isDisabled: () => boolean;
|
|
165
|
+
/**
|
|
166
|
+
* Sets the segment's disabled state
|
|
167
|
+
* @param disabled - Whether the segment should be disabled
|
|
168
|
+
*/
|
|
169
|
+
setDisabled: (disabled: boolean) => void;
|
|
170
|
+
/**
|
|
171
|
+
* Destroys the segment and cleans up resources
|
|
172
|
+
*/
|
|
173
|
+
destroy: () => void;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Segmented Button component interface
|
|
177
|
+
* @category Components
|
|
178
|
+
*/
|
|
179
|
+
export interface SegmentedButtonComponent {
|
|
180
|
+
/** The component's container DOM element */
|
|
181
|
+
element: HTMLElement;
|
|
182
|
+
/** Array of segment objects */
|
|
183
|
+
segments: Segment[];
|
|
184
|
+
/**
|
|
185
|
+
* Gets the selected segment(s)
|
|
186
|
+
* @returns An array of selected segments
|
|
187
|
+
*/
|
|
188
|
+
getSelected: () => Segment[];
|
|
189
|
+
/**
|
|
190
|
+
* Gets the values of selected segment(s)
|
|
191
|
+
* @returns An array of selected segment values
|
|
192
|
+
*/
|
|
193
|
+
getValue: () => string[];
|
|
194
|
+
/**
|
|
195
|
+
* Selects a segment by its value
|
|
196
|
+
* @param value - The value of the segment to select
|
|
197
|
+
* @returns The SegmentedButtonComponent for chaining
|
|
198
|
+
*/
|
|
199
|
+
select: (value: string) => SegmentedButtonComponent;
|
|
200
|
+
/**
|
|
201
|
+
* Deselects a segment by its value
|
|
202
|
+
* @param value - The value of the segment to deselect
|
|
203
|
+
* @returns The SegmentedButtonComponent for chaining
|
|
204
|
+
*/
|
|
205
|
+
deselect: (value: string) => SegmentedButtonComponent;
|
|
206
|
+
/**
|
|
207
|
+
* Enables the segmented button
|
|
208
|
+
* @returns The SegmentedButtonComponent for chaining
|
|
209
|
+
*/
|
|
210
|
+
enable: () => SegmentedButtonComponent;
|
|
211
|
+
/**
|
|
212
|
+
* Disables the segmented button
|
|
213
|
+
* @returns The SegmentedButtonComponent for chaining
|
|
214
|
+
*/
|
|
215
|
+
disable: () => SegmentedButtonComponent;
|
|
216
|
+
/**
|
|
217
|
+
* Enables a specific segment by its value
|
|
218
|
+
* @param value - The value of the segment to enable
|
|
219
|
+
* @returns The SegmentedButtonComponent for chaining
|
|
220
|
+
*/
|
|
221
|
+
enableSegment: (value: string) => SegmentedButtonComponent;
|
|
222
|
+
/**
|
|
223
|
+
* Disables a specific segment by its value
|
|
224
|
+
* @param value - The value of the segment to disable
|
|
225
|
+
* @returns The SegmentedButtonComponent for chaining
|
|
226
|
+
*/
|
|
227
|
+
disableSegment: (value: string) => SegmentedButtonComponent;
|
|
228
|
+
/**
|
|
229
|
+
* Sets the density of the segmented button
|
|
230
|
+
* @param density - The density level to set
|
|
231
|
+
* @returns The SegmentedButtonComponent for chaining
|
|
232
|
+
*/
|
|
233
|
+
setDensity: (density: Density | string) => SegmentedButtonComponent;
|
|
234
|
+
/**
|
|
235
|
+
* Gets the current density setting
|
|
236
|
+
* @returns The current density
|
|
237
|
+
*/
|
|
238
|
+
getDensity: () => string;
|
|
239
|
+
/**
|
|
240
|
+
* Adds an event listener to the segmented button
|
|
241
|
+
* @param event - Event name ('change', etc.)
|
|
242
|
+
* @param handler - Event handler function
|
|
243
|
+
* @returns The SegmentedButtonComponent for chaining
|
|
244
|
+
*/
|
|
245
|
+
on: (event: SegmentedButtonEventType, handler: (event: SegmentedButtonEvent) => void) => SegmentedButtonComponent;
|
|
246
|
+
/**
|
|
247
|
+
* Removes an event listener from the segmented button
|
|
248
|
+
* @param event - Event name
|
|
249
|
+
* @param handler - Event handler function
|
|
250
|
+
* @returns The SegmentedButtonComponent for chaining
|
|
251
|
+
*/
|
|
252
|
+
off: (event: SegmentedButtonEventType, handler: (event: SegmentedButtonEvent) => void) => SegmentedButtonComponent;
|
|
253
|
+
/**
|
|
254
|
+
* Destroys the component and cleans up resources
|
|
255
|
+
*/
|
|
256
|
+
destroy: () => void;
|
|
257
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { SelectComponent, ApiOptions } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Enhances a select component with API methods
|
|
4
|
+
* @param options - API configuration options
|
|
5
|
+
* @returns Higher-order function that adds API methods to component
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export declare const withAPI: (options: ApiOptions) => (component: any) => SelectComponent;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { SelectConfig, BaseComponent, ApiOptions } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Default configuration for the Select component
|
|
4
|
+
*/
|
|
5
|
+
export declare const defaultConfig: SelectConfig;
|
|
6
|
+
/**
|
|
7
|
+
* Creates the base configuration for Select component
|
|
8
|
+
* @param {SelectConfig} config - User provided configuration
|
|
9
|
+
* @returns {SelectConfig} Complete configuration with defaults applied
|
|
10
|
+
*/
|
|
11
|
+
export declare const createBaseConfig: (config?: SelectConfig) => SelectConfig;
|
|
12
|
+
/**
|
|
13
|
+
* Creates API configuration for the Select component
|
|
14
|
+
* @param {BaseComponent} comp - Component with select features
|
|
15
|
+
* @returns {ApiOptions} API configuration object
|
|
16
|
+
*/
|
|
17
|
+
export declare const getApiConfig: (comp: BaseComponent) => ApiOptions;
|
|
18
|
+
export default defaultConfig;
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Select variants
|
|
3
|
+
*/
|
|
4
|
+
export declare const SELECT_VARIANTS: {
|
|
5
|
+
/** Filled select field with solid background */
|
|
6
|
+
readonly FILLED: "filled";
|
|
7
|
+
/** Outlined select field with border */
|
|
8
|
+
readonly OUTLINED: "outlined";
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Select menu placement options
|
|
12
|
+
*/
|
|
13
|
+
export declare const SELECT_PLACEMENT: {
|
|
14
|
+
/** Menu appears below the select field, aligned to the left edge */
|
|
15
|
+
readonly BOTTOM_START: "bottom-start";
|
|
16
|
+
/** Menu appears below the select field, centered */
|
|
17
|
+
readonly BOTTOM: "bottom";
|
|
18
|
+
/** Menu appears below the select field, aligned to the right edge */
|
|
19
|
+
readonly BOTTOM_END: "bottom-end";
|
|
20
|
+
/** Menu appears above the select field, aligned to the left edge */
|
|
21
|
+
readonly TOP_START: "top-start";
|
|
22
|
+
/** Menu appears above the select field, centered */
|
|
23
|
+
readonly TOP: "top";
|
|
24
|
+
/** Menu appears above the select field, aligned to the right edge */
|
|
25
|
+
readonly TOP_END: "top-end";
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Select interaction types
|
|
29
|
+
*/
|
|
30
|
+
export declare const SELECT_INTERACTION: {
|
|
31
|
+
/** Interaction via mouse or touch */
|
|
32
|
+
readonly MOUSE: "mouse";
|
|
33
|
+
/** Interaction via keyboard */
|
|
34
|
+
readonly KEYBOARD: "keyboard";
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Select event names
|
|
38
|
+
*/
|
|
39
|
+
export declare const SELECT_EVENTS: {
|
|
40
|
+
/** Fired when selected option changes */
|
|
41
|
+
readonly CHANGE: "change";
|
|
42
|
+
/** Fired when options menu opens */
|
|
43
|
+
readonly OPEN: "open";
|
|
44
|
+
/** Fired when options menu closes */
|
|
45
|
+
readonly CLOSE: "close";
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Default icons for select
|
|
49
|
+
*/
|
|
50
|
+
export declare const SELECT_ICONS: {
|
|
51
|
+
/** Dropdown arrow icon */
|
|
52
|
+
readonly DROPDOWN: "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M7 10l5 5 5-5z\"/></svg>";
|
|
53
|
+
/** Checkmark icon for selected item */
|
|
54
|
+
readonly CHECKMARK: "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"/></svg>";
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Default configuration values
|
|
58
|
+
*/
|
|
59
|
+
export declare const SELECT_DEFAULTS: {
|
|
60
|
+
/** Default variant */
|
|
61
|
+
readonly VARIANT: "filled";
|
|
62
|
+
/** Default menu placement */
|
|
63
|
+
readonly PLACEMENT: "bottom-start";
|
|
64
|
+
/** Default label */
|
|
65
|
+
readonly LABEL: "Select";
|
|
66
|
+
/** Default value */
|
|
67
|
+
readonly VALUE: "";
|
|
68
|
+
/** Whether the select is required by default */
|
|
69
|
+
readonly REQUIRED: false;
|
|
70
|
+
/** Whether the select is disabled by default */
|
|
71
|
+
readonly DISABLED: false;
|
|
72
|
+
/** Default supporting text */
|
|
73
|
+
readonly SUPPORTING_TEXT: "";
|
|
74
|
+
/** Whether in error state by default */
|
|
75
|
+
readonly ERROR: false;
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* CSS classes for select elements
|
|
79
|
+
*/
|
|
80
|
+
export declare const SELECT_CLASSES: {
|
|
81
|
+
/** Container element */
|
|
82
|
+
readonly CONTAINER: "select";
|
|
83
|
+
/** Textfield element */
|
|
84
|
+
readonly TEXTFIELD: "select__textfield";
|
|
85
|
+
/** Dropdown icon */
|
|
86
|
+
readonly DROPDOWN_ICON: "select__dropdown-icon";
|
|
87
|
+
/** Menu container */
|
|
88
|
+
readonly MENU: "select__menu";
|
|
89
|
+
/** Menu item */
|
|
90
|
+
readonly MENU_ITEM: "select__menu-item";
|
|
91
|
+
/** Selected menu item */
|
|
92
|
+
readonly MENU_ITEM_SELECTED: "select__menu-item--selected";
|
|
93
|
+
/** Disabled menu item */
|
|
94
|
+
readonly MENU_ITEM_DISABLED: "select__menu-item--disabled";
|
|
95
|
+
/** Menu item checkmark */
|
|
96
|
+
readonly MENU_ITEM_CHECKMARK: "select__menu-item-checkmark";
|
|
97
|
+
/** Menu item icon */
|
|
98
|
+
readonly MENU_ITEM_ICON: "select__menu-item-icon";
|
|
99
|
+
/** Menu item text */
|
|
100
|
+
readonly MENU_ITEM_TEXT: "select__menu-item-text";
|
|
101
|
+
/** Filled variant */
|
|
102
|
+
readonly FILLED: "select--filled";
|
|
103
|
+
/** Outlined variant */
|
|
104
|
+
readonly OUTLINED: "select--outlined";
|
|
105
|
+
/** Open state */
|
|
106
|
+
readonly OPEN: "select--open";
|
|
107
|
+
/** Disabled state */
|
|
108
|
+
readonly DISABLED: "select--disabled";
|
|
109
|
+
/** Required state */
|
|
110
|
+
readonly REQUIRED: "select--required";
|
|
111
|
+
/** Error state */
|
|
112
|
+
readonly ERROR: "select--error";
|
|
113
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { SelectConfig, BaseComponent } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a textfield for the select component
|
|
4
|
+
* @param config - Select configuration
|
|
5
|
+
* @returns Function that enhances a component with textfield functionality
|
|
6
|
+
*/
|
|
7
|
+
export declare const withTextfield: (config: SelectConfig) => (component: BaseComponent) => BaseComponent;
|
|
8
|
+
/**
|
|
9
|
+
* Creates a menu for the select component
|
|
10
|
+
* @param config - Select configuration
|
|
11
|
+
* @returns Function that enhances a component with menu functionality
|
|
12
|
+
*/
|
|
13
|
+
export declare const withMenu: (config: SelectConfig) => (component: BaseComponent) => BaseComponent;
|
|
@@ -1,38 +1,25 @@
|
|
|
1
|
-
// src/components/select/index.ts
|
|
2
|
-
|
|
3
1
|
/**
|
|
4
2
|
* Select Component Module
|
|
5
|
-
*
|
|
3
|
+
*
|
|
6
4
|
* The Select component provides a dropdown select control,
|
|
7
5
|
* combining a textfield and menu for a complete selection interface.
|
|
8
|
-
*
|
|
6
|
+
*
|
|
9
7
|
* @module components/select
|
|
10
8
|
* @category Components
|
|
11
9
|
*/
|
|
12
|
-
|
|
13
|
-
// Export main component factory
|
|
14
10
|
export { default } from './select';
|
|
15
|
-
|
|
16
|
-
// Export types and interfaces
|
|
17
|
-
export type {
|
|
18
|
-
SelectConfig,
|
|
19
|
-
SelectComponent,
|
|
20
|
-
SelectOption,
|
|
21
|
-
SelectEvent,
|
|
22
|
-
SelectChangeEvent
|
|
23
|
-
} from './types';
|
|
24
|
-
|
|
11
|
+
export type { SelectConfig, SelectComponent, SelectOption, SelectEvent, SelectChangeEvent } from './types';
|
|
25
12
|
/**
|
|
26
13
|
* Constants for select configuration
|
|
27
|
-
*
|
|
14
|
+
*
|
|
28
15
|
* @example
|
|
29
16
|
* import { createSelect, SELECT_VARIANTS } from 'mtrl';
|
|
30
|
-
*
|
|
17
|
+
*
|
|
31
18
|
* const select = createSelect({
|
|
32
19
|
* variant: SELECT_VARIANTS.OUTLINED,
|
|
33
20
|
* options: [...]
|
|
34
21
|
* });
|
|
35
|
-
*
|
|
22
|
+
*
|
|
36
23
|
* @category Components
|
|
37
24
|
*/
|
|
38
|
-
export { SELECT_VARIANTS } from './
|
|
25
|
+
export { SELECT_VARIANTS, SELECT_PLACEMENT, SELECT_INTERACTION, SELECT_EVENTS, SELECT_ICONS, SELECT_DEFAULTS, SELECT_CLASSES } from './constants';
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { SelectConfig, SelectComponent } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a new Select component with the specified configuration.
|
|
4
|
+
*
|
|
5
|
+
* The Select component implements a Material Design dropdown select control,
|
|
6
|
+
* combining a textfield and menu to provide a user-friendly selection interface.
|
|
7
|
+
*
|
|
8
|
+
* @param {SelectConfig} config - Configuration options for the select
|
|
9
|
+
* This must include an array of selection options. See {@link SelectConfig} for all available options.
|
|
10
|
+
*
|
|
11
|
+
* @returns {SelectComponent} A fully configured select component
|
|
12
|
+
*
|
|
13
|
+
* @throws {Error} Throws an error if select creation fails
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* // Create a simple country select
|
|
17
|
+
* const countrySelect = createSelect({
|
|
18
|
+
* label: 'Country',
|
|
19
|
+
* options: [
|
|
20
|
+
* { id: 'us', text: 'United States' },
|
|
21
|
+
* { id: 'ca', text: 'Canada' },
|
|
22
|
+
* { id: 'mx', text: 'Mexico' }
|
|
23
|
+
* ],
|
|
24
|
+
* value: 'us' // Pre-select United States
|
|
25
|
+
* });
|
|
26
|
+
*
|
|
27
|
+
* // Add to the DOM
|
|
28
|
+
* document.body.appendChild(countrySelect.element);
|
|
29
|
+
*
|
|
30
|
+
* // Listen for changes
|
|
31
|
+
* countrySelect.on('change', (event) => {
|
|
32
|
+
* console.log(`Selected: ${event.value} (${event.text})`);
|
|
33
|
+
* });
|
|
34
|
+
*/
|
|
35
|
+
declare const createSelect: (config: SelectConfig) => SelectComponent;
|
|
36
|
+
export default createSelect;
|