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
|
@@ -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;
|
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Available Select variants
|
|
3
|
+
*/
|
|
4
|
+
export type SelectVariant = 'filled' | 'outlined';
|
|
5
|
+
/**
|
|
6
|
+
* Select variant constants
|
|
7
|
+
*/
|
|
8
|
+
export declare const SELECT_VARIANTS: {
|
|
9
|
+
readonly FILLED: "filled";
|
|
10
|
+
readonly OUTLINED: "outlined";
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Select option interface
|
|
14
|
+
*/
|
|
15
|
+
export interface SelectOption {
|
|
16
|
+
/**
|
|
17
|
+
* Unique identifier for the option
|
|
18
|
+
*/
|
|
19
|
+
id: string;
|
|
20
|
+
/**
|
|
21
|
+
* Display text for the option
|
|
22
|
+
*/
|
|
23
|
+
text: string;
|
|
24
|
+
/**
|
|
25
|
+
* Whether the option is disabled
|
|
26
|
+
*/
|
|
27
|
+
disabled?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Optional icon to display with the option
|
|
30
|
+
*/
|
|
31
|
+
icon?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Whether this option has a submenu
|
|
34
|
+
*/
|
|
35
|
+
hasSubmenu?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Optional array of submenu options
|
|
38
|
+
* Only used when hasSubmenu is true
|
|
39
|
+
*/
|
|
40
|
+
submenu?: SelectOption[];
|
|
41
|
+
/**
|
|
42
|
+
* Additional data associated with the option
|
|
43
|
+
*/
|
|
44
|
+
data?: any;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Configuration interface for the Select component
|
|
48
|
+
*/
|
|
49
|
+
export interface SelectConfig {
|
|
50
|
+
/**
|
|
51
|
+
* Array of options to display in the select menu
|
|
52
|
+
*/
|
|
53
|
+
options?: SelectOption[];
|
|
54
|
+
/**
|
|
55
|
+
* Currently selected value (option id)
|
|
56
|
+
*/
|
|
57
|
+
value?: string;
|
|
58
|
+
/**
|
|
59
|
+
* Visual variant (filled, outlined)
|
|
60
|
+
*/
|
|
61
|
+
variant?: SelectVariant | string;
|
|
62
|
+
/**
|
|
63
|
+
* Label text
|
|
64
|
+
*/
|
|
65
|
+
label?: string;
|
|
66
|
+
/**
|
|
67
|
+
* Input name attribute
|
|
68
|
+
*/
|
|
69
|
+
name?: string;
|
|
70
|
+
/**
|
|
71
|
+
* Whether select is required
|
|
72
|
+
*/
|
|
73
|
+
required?: boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Whether select is disabled
|
|
76
|
+
*/
|
|
77
|
+
disabled?: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Supporting text content
|
|
80
|
+
*/
|
|
81
|
+
supportingText?: string;
|
|
82
|
+
/**
|
|
83
|
+
* Whether supporting text indicates an error
|
|
84
|
+
*/
|
|
85
|
+
error?: boolean;
|
|
86
|
+
/**
|
|
87
|
+
* Menu placement relative to the textfield
|
|
88
|
+
*/
|
|
89
|
+
placement?: string;
|
|
90
|
+
/**
|
|
91
|
+
* Additional CSS classes
|
|
92
|
+
*/
|
|
93
|
+
class?: string;
|
|
94
|
+
/**
|
|
95
|
+
* Prefix for class names
|
|
96
|
+
*/
|
|
97
|
+
prefix?: string;
|
|
98
|
+
/**
|
|
99
|
+
* Component name
|
|
100
|
+
*/
|
|
101
|
+
componentName?: string;
|
|
102
|
+
/**
|
|
103
|
+
* Event callbacks
|
|
104
|
+
*/
|
|
105
|
+
on?: {
|
|
106
|
+
/**
|
|
107
|
+
* Called when the select value changes
|
|
108
|
+
*/
|
|
109
|
+
change?: (event: SelectChangeEvent) => void;
|
|
110
|
+
/**
|
|
111
|
+
* Called when the select menu opens
|
|
112
|
+
*/
|
|
113
|
+
open?: (event: SelectEvent) => void;
|
|
114
|
+
/**
|
|
115
|
+
* Called when the select menu closes
|
|
116
|
+
*/
|
|
117
|
+
close?: (event: SelectEvent) => void;
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Select component interface
|
|
122
|
+
*/
|
|
123
|
+
export interface SelectComponent {
|
|
124
|
+
/**
|
|
125
|
+
* The root element of the select
|
|
126
|
+
*/
|
|
127
|
+
element: HTMLElement;
|
|
128
|
+
/**
|
|
129
|
+
* The textfield component
|
|
130
|
+
*/
|
|
131
|
+
textfield: any;
|
|
132
|
+
/**
|
|
133
|
+
* The menu component
|
|
134
|
+
*/
|
|
135
|
+
menu: any;
|
|
136
|
+
/**
|
|
137
|
+
* Gets the select's current value (selected option id)
|
|
138
|
+
*/
|
|
139
|
+
getValue: () => string | null;
|
|
140
|
+
/**
|
|
141
|
+
* Sets the select's value (by option id)
|
|
142
|
+
* @param value - Option id to select
|
|
143
|
+
* @returns Select component for chaining
|
|
144
|
+
*/
|
|
145
|
+
setValue: (value: string) => SelectComponent;
|
|
146
|
+
/**
|
|
147
|
+
* Gets the select's current displayed text
|
|
148
|
+
*/
|
|
149
|
+
getText: () => string;
|
|
150
|
+
/**
|
|
151
|
+
* Gets the selected option object
|
|
152
|
+
*/
|
|
153
|
+
getSelectedOption: () => SelectOption | null;
|
|
154
|
+
/**
|
|
155
|
+
* Gets all available options
|
|
156
|
+
*/
|
|
157
|
+
getOptions: () => SelectOption[];
|
|
158
|
+
/**
|
|
159
|
+
* Sets new options
|
|
160
|
+
* @param options - New options array
|
|
161
|
+
* @returns Select component for chaining
|
|
162
|
+
*/
|
|
163
|
+
setOptions: (options: SelectOption[]) => SelectComponent;
|
|
164
|
+
/**
|
|
165
|
+
* Opens the select menu
|
|
166
|
+
* @param interactionType - The type of interaction ('mouse' or 'keyboard')
|
|
167
|
+
* @returns Select component for chaining
|
|
168
|
+
*/
|
|
169
|
+
open: (interactionType?: 'mouse' | 'keyboard') => SelectComponent;
|
|
170
|
+
/**
|
|
171
|
+
* Closes the select menu
|
|
172
|
+
* @returns Select component for chaining
|
|
173
|
+
*/
|
|
174
|
+
close: () => SelectComponent;
|
|
175
|
+
/**
|
|
176
|
+
* Checks if the menu is open
|
|
177
|
+
*/
|
|
178
|
+
isOpen: () => boolean;
|
|
179
|
+
/**
|
|
180
|
+
* Adds an event listener
|
|
181
|
+
* @param event - Event name
|
|
182
|
+
* @param handler - Event handler
|
|
183
|
+
* @returns Select component for chaining
|
|
184
|
+
*/
|
|
185
|
+
on: <T extends keyof SelectEvents>(event: T, handler: SelectEvents[T]) => SelectComponent;
|
|
186
|
+
/**
|
|
187
|
+
* Removes an event listener
|
|
188
|
+
* @param event - Event name
|
|
189
|
+
* @param handler - Event handler
|
|
190
|
+
* @returns Select component for chaining
|
|
191
|
+
*/
|
|
192
|
+
off: <T extends keyof SelectEvents>(event: T, handler: SelectEvents[T]) => SelectComponent;
|
|
193
|
+
/**
|
|
194
|
+
* Enables the select
|
|
195
|
+
* @returns Select component for chaining
|
|
196
|
+
*/
|
|
197
|
+
enable: () => SelectComponent;
|
|
198
|
+
/**
|
|
199
|
+
* Disables the select
|
|
200
|
+
* @returns Select component for chaining
|
|
201
|
+
*/
|
|
202
|
+
disable: () => SelectComponent;
|
|
203
|
+
/**
|
|
204
|
+
* Destroys the select component
|
|
205
|
+
*/
|
|
206
|
+
destroy: () => void;
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Select event interface
|
|
210
|
+
*/
|
|
211
|
+
export interface SelectEvent {
|
|
212
|
+
/**
|
|
213
|
+
* The select component
|
|
214
|
+
*/
|
|
215
|
+
select: SelectComponent;
|
|
216
|
+
/**
|
|
217
|
+
* Original DOM event if available
|
|
218
|
+
*/
|
|
219
|
+
originalEvent?: Event;
|
|
220
|
+
/**
|
|
221
|
+
* Function to prevent default behavior
|
|
222
|
+
*/
|
|
223
|
+
preventDefault: () => void;
|
|
224
|
+
/**
|
|
225
|
+
* Whether default behavior was prevented
|
|
226
|
+
*/
|
|
227
|
+
defaultPrevented: boolean;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Select change event interface
|
|
231
|
+
*/
|
|
232
|
+
export interface SelectChangeEvent extends SelectEvent {
|
|
233
|
+
/**
|
|
234
|
+
* The selected option id
|
|
235
|
+
*/
|
|
236
|
+
value: string;
|
|
237
|
+
/**
|
|
238
|
+
* The selected option text
|
|
239
|
+
*/
|
|
240
|
+
text: string;
|
|
241
|
+
/**
|
|
242
|
+
* The complete selected option object
|
|
243
|
+
*/
|
|
244
|
+
option: SelectOption;
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Select events interface for type-checking
|
|
248
|
+
* @internal
|
|
249
|
+
*/
|
|
250
|
+
export interface SelectEvents {
|
|
251
|
+
'change': (event: SelectChangeEvent) => void;
|
|
252
|
+
'open': (event: SelectEvent) => void;
|
|
253
|
+
'close': (event: SelectEvent) => void;
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* API options interface
|
|
257
|
+
* @internal
|
|
258
|
+
*/
|
|
259
|
+
export interface ApiOptions {
|
|
260
|
+
select: {
|
|
261
|
+
getValue: () => string | null;
|
|
262
|
+
setValue: (value: string) => any;
|
|
263
|
+
getText: () => string;
|
|
264
|
+
getSelectedOption: () => SelectOption | null;
|
|
265
|
+
getOptions: () => SelectOption[];
|
|
266
|
+
setOptions: (options: SelectOption[]) => any;
|
|
267
|
+
open: () => any;
|
|
268
|
+
close: () => any;
|
|
269
|
+
isOpen: () => boolean;
|
|
270
|
+
};
|
|
271
|
+
events?: {
|
|
272
|
+
on: <T extends string>(event: T, handler: (event: any) => void) => any;
|
|
273
|
+
off: <T extends string>(event: T, handler: (event: any) => void) => any;
|
|
274
|
+
};
|
|
275
|
+
disabled: {
|
|
276
|
+
enable: () => any;
|
|
277
|
+
disable: () => any;
|
|
278
|
+
};
|
|
279
|
+
lifecycle: {
|
|
280
|
+
destroy: () => void;
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Base component interface
|
|
285
|
+
* @internal
|
|
286
|
+
*/
|
|
287
|
+
export interface BaseComponent {
|
|
288
|
+
element: HTMLElement;
|
|
289
|
+
textfield?: any;
|
|
290
|
+
menu?: any;
|
|
291
|
+
on?: (event: string, handler: Function) => any;
|
|
292
|
+
off?: (event: string, handler: Function) => any;
|
|
293
|
+
emit?: (event: string, data: any) => void;
|
|
294
|
+
disabled?: {
|
|
295
|
+
enable: () => any;
|
|
296
|
+
disable: () => any;
|
|
297
|
+
};
|
|
298
|
+
lifecycle?: {
|
|
299
|
+
destroy: () => void;
|
|
300
|
+
};
|
|
301
|
+
[key: string]: any;
|
|
302
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { SheetComponent } from './types';
|
|
2
|
+
interface ApiOptions {
|
|
3
|
+
state: {
|
|
4
|
+
open: () => void;
|
|
5
|
+
close: () => void;
|
|
6
|
+
};
|
|
7
|
+
lifecycle: {
|
|
8
|
+
destroy: () => void;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
interface ComponentWithElements {
|
|
12
|
+
element: HTMLElement;
|
|
13
|
+
container: HTMLElement;
|
|
14
|
+
content: {
|
|
15
|
+
setContent: (html: string) => any;
|
|
16
|
+
getContent: () => string;
|
|
17
|
+
getElement: () => HTMLElement | null;
|
|
18
|
+
};
|
|
19
|
+
title: {
|
|
20
|
+
setTitle: (text: string) => any;
|
|
21
|
+
getTitle: () => string;
|
|
22
|
+
getElement: () => HTMLElement | null;
|
|
23
|
+
};
|
|
24
|
+
getClass: (name: string) => string;
|
|
25
|
+
dragHandle?: {
|
|
26
|
+
setVisible: (visible: boolean) => any;
|
|
27
|
+
};
|
|
28
|
+
initialize?: () => void;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Enhances a sheet component with API methods
|
|
32
|
+
* @param {ApiOptions} options - API configuration options
|
|
33
|
+
* @returns {Function} Higher-order function that adds API methods to component
|
|
34
|
+
* @internal This is an internal utility for the Sheet component
|
|
35
|
+
*/
|
|
36
|
+
export declare const withAPI: ({ state, lifecycle }: ApiOptions) => (component: ComponentWithElements) => SheetComponent;
|
|
37
|
+
export {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { SheetConfig } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Default configuration for the Sheet component
|
|
4
|
+
*/
|
|
5
|
+
export declare const defaultConfig: SheetConfig;
|
|
6
|
+
/**
|
|
7
|
+
* Creates the base configuration for Sheet component
|
|
8
|
+
* @param {SheetConfig} config - User provided configuration
|
|
9
|
+
* @returns {SheetConfig} Complete configuration with defaults applied
|
|
10
|
+
*/
|
|
11
|
+
export declare const createBaseConfig: (config?: SheetConfig) => SheetConfig;
|
|
12
|
+
/**
|
|
13
|
+
* Generates element configuration for the Sheet component
|
|
14
|
+
* @param {SheetConfig} config - Sheet configuration
|
|
15
|
+
* @returns {Object} Element configuration object for withElement
|
|
16
|
+
*/
|
|
17
|
+
export declare const getElementConfig: (config: SheetConfig) => {
|
|
18
|
+
tag: string;
|
|
19
|
+
componentName: string;
|
|
20
|
+
attributes: Record<string, any>;
|
|
21
|
+
className: string[];
|
|
22
|
+
rawClass: string | string[];
|
|
23
|
+
html: string;
|
|
24
|
+
text: string;
|
|
25
|
+
forwardEvents: Record<string, boolean | ((component: any, event: Event) => boolean)>;
|
|
26
|
+
interactive: boolean;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Creates API configuration for the Sheet component
|
|
30
|
+
* @param {Object} comp - Component with state and lifecycle features
|
|
31
|
+
* @returns {Object} API configuration object
|
|
32
|
+
*/
|
|
33
|
+
export declare const getApiConfig: (comp: any) => {
|
|
34
|
+
state: {
|
|
35
|
+
open: () => any;
|
|
36
|
+
close: () => any;
|
|
37
|
+
};
|
|
38
|
+
lifecycle: {
|
|
39
|
+
destroy: () => any;
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
export default defaultConfig;
|