mtrl 0.3.8 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/LICENSE +21 -0
- package/dist/README.md +324 -0
- package/dist/components/badge/api.d.ts +48 -0
- package/{src/components/badge/badge.ts → dist/components/badge/badge.d.ts} +14 -57
- package/dist/components/badge/config.d.ts +79 -0
- package/dist/components/badge/constants.d.ts +35 -0
- package/dist/components/badge/features.d.ts +36 -0
- package/dist/components/badge/index.d.ts +8 -0
- package/dist/components/badge/types.d.ts +256 -0
- package/dist/components/bottom-app-bar/bottom-app-bar.d.ts +12 -0
- package/dist/components/bottom-app-bar/config.d.ts +16 -0
- package/dist/components/bottom-app-bar/constants.d.ts +22 -0
- package/{src/components/bottom-app-bar/index.ts → dist/components/bottom-app-bar/index.d.ts} +0 -9
- package/dist/components/bottom-app-bar/types.d.ts +96 -0
- package/dist/components/button/api.d.ts +47 -0
- package/dist/components/button/button.d.ts +25 -0
- package/dist/components/button/config.d.ts +59 -0
- package/dist/components/button/constants.d.ts +43 -0
- package/dist/components/button/index.d.ts +6 -0
- package/dist/components/button/types.d.ts +265 -0
- package/dist/components/card/api.d.ts +11 -0
- package/{src/components/card/card.ts → dist/components/card/card.d.ts} +10 -58
- package/dist/components/card/config.d.ts +105 -0
- package/dist/components/card/constants.d.ts +85 -0
- package/dist/components/card/content.d.ts +92 -0
- package/dist/components/card/features.d.ts +131 -0
- package/{src/components/card/index.ts → dist/components/card/index.d.ts} +13 -74
- package/dist/components/card/types.d.ts +471 -0
- package/dist/components/carousel/api.d.ts +33 -0
- package/dist/components/carousel/carousel.d.ts +75 -0
- package/dist/components/carousel/config.d.ts +45 -0
- package/dist/components/carousel/constants.d.ts +165 -0
- package/dist/components/carousel/features/drag.d.ts +8 -0
- package/{src/components/carousel/features/index.ts → dist/components/carousel/features/index.d.ts} +1 -4
- package/dist/components/carousel/features/slides.d.ts +8 -0
- package/{src/components/carousel/index.ts → dist/components/carousel/index.d.ts} +10 -29
- package/dist/components/carousel/types.d.ts +276 -0
- package/dist/components/checkbox/api.d.ts +7 -0
- package/dist/components/checkbox/checkbox.d.ts +65 -0
- package/dist/components/checkbox/config.d.ts +44 -0
- package/dist/components/checkbox/constants.d.ts +63 -0
- package/{src/components/checkbox/index.ts → dist/components/checkbox/index.d.ts} +8 -25
- package/dist/components/checkbox/types.d.ts +242 -0
- package/dist/components/chips/api.d.ts +49 -0
- package/dist/components/chips/chip/api.d.ts +23 -0
- package/dist/components/chips/chip/chip.d.ts +8 -0
- package/dist/components/chips/chip/config.d.ts +57 -0
- package/dist/components/chips/chip/constants.d.ts +38 -0
- package/dist/components/chips/chip/index.d.ts +2 -0
- package/dist/components/chips/chip/types.d.ts +11 -0
- package/dist/components/chips/chips.d.ts +17 -0
- package/dist/components/chips/config.d.ts +67 -0
- package/dist/components/chips/constants.d.ts +46 -0
- package/dist/components/chips/features/chip-items.d.ts +8 -0
- package/dist/components/chips/features/container.d.ts +8 -0
- package/dist/components/chips/features/controller.d.ts +9 -0
- package/{src/components/chips/features/index.ts → dist/components/chips/features/index.d.ts} +1 -2
- package/dist/components/chips/features/label.d.ts +8 -0
- package/dist/components/chips/index.d.ts +4 -0
- package/dist/components/chips/schema.d.ts +34 -0
- package/dist/components/chips/types.d.ts +398 -0
- package/dist/components/datepicker/api.d.ts +9 -0
- package/dist/components/datepicker/config.d.ts +79 -0
- package/dist/components/datepicker/constants.d.ts +97 -0
- package/dist/components/datepicker/datepicker.d.ts +8 -0
- package/dist/components/datepicker/index.d.ts +3 -0
- package/dist/components/datepicker/render.d.ts +43 -0
- package/dist/components/datepicker/types.d.ts +321 -0
- package/dist/components/datepicker/utils.d.ts +84 -0
- package/dist/components/dialog/api.d.ts +59 -0
- package/dist/components/dialog/config.d.ts +91 -0
- package/dist/components/dialog/constants.d.ts +116 -0
- package/{src/components/dialog/dialog.ts → dist/components/dialog/dialog.d.ts} +16 -69
- package/dist/components/dialog/features.d.ts +37 -0
- package/dist/components/dialog/index.d.ts +14 -0
- package/dist/components/dialog/types.d.ts +483 -0
- package/dist/components/divider/config.d.ts +143 -0
- package/dist/components/divider/constants.d.ts +45 -0
- package/{src/components/divider/divider.ts → dist/components/divider/divider.d.ts} +9 -37
- package/dist/components/divider/features.d.ts +50 -0
- package/{src/components/divider/index.ts → dist/components/divider/index.d.ts} +6 -12
- package/dist/components/divider/types.d.ts +124 -0
- package/dist/components/extended-fab/api.d.ts +83 -0
- package/dist/components/extended-fab/config.d.ts +75 -0
- package/dist/components/extended-fab/constants.d.ts +82 -0
- package/dist/components/extended-fab/extended-fab.d.ts +61 -0
- package/{src/components/extended-fab/index.ts → dist/components/extended-fab/index.d.ts} +6 -15
- package/dist/components/extended-fab/types.d.ts +703 -0
- package/dist/components/fab/api.d.ts +64 -0
- package/dist/components/fab/config.d.ts +71 -0
- package/dist/components/fab/constants.d.ts +75 -0
- package/{src/components/fab/fab.ts → dist/components/fab/fab.d.ts} +10 -46
- package/{src/components/fab/index.ts → dist/components/fab/index.d.ts} +6 -15
- package/dist/components/fab/types.d.ts +577 -0
- package/dist/components/index.d.ts +76 -0
- package/dist/components/list/api.d.ts +106 -0
- package/dist/components/list/config.d.ts +61 -0
- package/dist/components/list/constants.d.ts +76 -0
- package/dist/components/list/features/index.d.ts +2 -0
- package/dist/components/list/features/listmanager.d.ts +9 -0
- package/dist/components/list/features/selection.d.ts +9 -0
- package/dist/components/list/index.d.ts +12 -0
- package/dist/components/list/list.d.ts +11 -0
- package/dist/components/list/types.d.ts +294 -0
- package/dist/components/menu/api.d.ts +58 -0
- package/dist/components/menu/config.d.ts +78 -0
- package/dist/components/menu/constants.d.ts +106 -0
- package/dist/components/menu/features/controller.d.ts +10 -0
- package/dist/components/menu/features/index.d.ts +6 -0
- package/dist/components/menu/features/keyboard.d.ts +26 -0
- package/dist/components/menu/features/opener.d.ts +10 -0
- package/dist/components/menu/features/position.d.ts +18 -0
- package/dist/components/menu/features/submenu.d.ts +10 -0
- package/{src/components/menu/index.ts → dist/components/menu/index.d.ts} +11 -27
- package/dist/components/menu/menu.d.ts +29 -0
- package/dist/components/menu/types.d.ts +338 -0
- package/dist/components/navigation/api.d.ts +8 -0
- package/dist/components/navigation/config.d.ts +34 -0
- package/dist/components/navigation/constants.d.ts +137 -0
- package/dist/components/navigation/features/controller.d.ts +30 -0
- package/dist/components/navigation/features/items.d.ts +32 -0
- package/dist/components/navigation/index.d.ts +3 -0
- package/dist/components/navigation/nav-item.d.ts +30 -0
- package/dist/components/navigation/navigation.d.ts +8 -0
- package/dist/components/navigation/system/core.d.ts +72 -0
- package/dist/components/navigation/system/events.d.ts +35 -0
- package/dist/components/navigation/system/index.d.ts +10 -0
- package/dist/components/navigation/system/mobile.d.ts +52 -0
- package/dist/components/navigation/system/state.d.ts +22 -0
- package/dist/components/navigation/system/types.d.ts +305 -0
- package/dist/components/navigation/types.d.ts +216 -0
- package/dist/components/progress/api.d.ts +46 -0
- package/dist/components/progress/config.d.ts +72 -0
- package/dist/components/progress/constants.d.ts +139 -0
- package/dist/components/progress/features/canvas.d.ts +32 -0
- package/dist/components/progress/features/circular.d.ts +9 -0
- package/dist/components/progress/features/index.d.ts +8 -0
- package/dist/components/progress/features/linear.d.ts +9 -0
- package/dist/components/progress/features/resize-observer.d.ts +5 -0
- package/dist/components/progress/features/state.d.ts +38 -0
- package/dist/components/progress/features.d.ts +40 -0
- package/dist/components/progress/index.d.ts +3 -0
- package/dist/components/progress/progress.d.ts +24 -0
- package/dist/components/progress/types.d.ts +272 -0
- package/dist/components/radios/api.d.ts +37 -0
- package/dist/components/radios/config.d.ts +42 -0
- package/dist/components/radios/constants.d.ts +114 -0
- package/dist/components/radios/index.d.ts +3 -0
- package/dist/components/radios/radio.d.ts +8 -0
- package/dist/components/radios/radios.d.ts +8 -0
- package/dist/components/radios/types.d.ts +189 -0
- package/dist/components/search/api.d.ts +55 -0
- package/dist/components/search/config.d.ts +73 -0
- package/dist/components/search/constants.d.ts +128 -0
- package/{src/components/search/features/index.ts → dist/components/search/features/index.d.ts} +1 -2
- package/dist/components/search/features/search.d.ts +7 -0
- package/dist/components/search/features/states.d.ts +8 -0
- package/dist/components/search/features/structure.d.ts +7 -0
- package/dist/components/search/index.d.ts +3 -0
- package/dist/components/search/search.d.ts +8 -0
- package/dist/components/search/types.d.ts +132 -0
- package/dist/components/segmented-button/config.d.ts +65 -0
- package/dist/components/segmented-button/constants.d.ts +85 -0
- package/dist/components/segmented-button/index.d.ts +4 -0
- package/dist/components/segmented-button/segment.d.ts +15 -0
- package/dist/components/segmented-button/segmented-button.d.ts +49 -0
- package/dist/components/segmented-button/types.d.ts +257 -0
- package/dist/components/select/api.d.ts +8 -0
- package/dist/components/select/config.d.ts +18 -0
- package/dist/components/select/constants.d.ts +113 -0
- package/dist/components/select/features.d.ts +13 -0
- package/{src/components/select/index.ts → dist/components/select/index.d.ts} +7 -20
- package/dist/components/select/select.d.ts +36 -0
- package/dist/components/select/types.d.ts +302 -0
- package/dist/components/sheet/api.d.ts +37 -0
- package/dist/components/sheet/config.d.ts +42 -0
- package/dist/components/sheet/constants.d.ts +136 -0
- package/dist/components/sheet/features/content.d.ts +6 -0
- package/dist/components/sheet/features/gestures.d.ts +6 -0
- package/{src/components/sheet/features/index.ts → dist/components/sheet/features/index.d.ts} +1 -2
- package/dist/components/sheet/features/position.d.ts +7 -0
- package/dist/components/sheet/features/state.d.ts +6 -0
- package/dist/components/sheet/features/title.d.ts +6 -0
- package/dist/components/sheet/index.d.ts +3 -0
- package/dist/components/sheet/sheet.d.ts +8 -0
- package/dist/components/sheet/types.d.ts +250 -0
- package/dist/components/slider/api.d.ts +57 -0
- package/dist/components/slider/config.d.ts +75 -0
- package/dist/components/slider/constants.d.ts +138 -0
- package/dist/components/slider/features/controller.d.ts +9 -0
- package/dist/components/slider/features/handlers.d.ts +25 -0
- package/dist/components/slider/features/index.d.ts +3 -0
- package/dist/components/slider/features/range.d.ts +8 -0
- package/dist/components/slider/features/states.d.ts +9 -0
- package/dist/components/slider/index.d.ts +3 -0
- package/dist/components/slider/schema.d.ts +108 -0
- package/dist/components/slider/slider.d.ts +18 -0
- package/dist/components/slider/types.d.ts +170 -0
- package/dist/components/snackbar/api.d.ts +7 -0
- package/dist/components/snackbar/config.d.ts +55 -0
- package/dist/components/snackbar/constants.d.ts +88 -0
- package/dist/components/snackbar/features.d.ts +13 -0
- package/dist/components/snackbar/index.d.ts +3 -0
- package/dist/components/snackbar/position.d.ts +15 -0
- package/dist/components/snackbar/queue.d.ts +7 -0
- package/dist/components/snackbar/snackbar.d.ts +8 -0
- package/dist/components/snackbar/types.d.ts +172 -0
- package/dist/components/switch/api.d.ts +7 -0
- package/dist/components/switch/config.d.ts +34 -0
- package/dist/components/switch/constants.d.ts +88 -0
- package/dist/components/switch/features.d.ts +59 -0
- package/dist/components/switch/index.d.ts +4 -0
- package/dist/components/switch/switch.d.ts +8 -0
- package/dist/components/switch/types.d.ts +131 -0
- package/dist/components/tabs/api.d.ts +52 -0
- package/dist/components/tabs/config.d.ts +39 -0
- package/dist/components/tabs/constants.d.ts +142 -0
- package/dist/components/tabs/features.d.ts +133 -0
- package/dist/components/tabs/index.d.ts +11 -0
- package/dist/components/tabs/indicator.d.ts +49 -0
- package/dist/components/tabs/responsive.d.ts +38 -0
- package/dist/components/tabs/scroll-indicators.d.ts +18 -0
- package/dist/components/tabs/state.d.ts +53 -0
- package/dist/components/tabs/tab-api.d.ts +43 -0
- package/dist/components/tabs/tab.d.ts +7 -0
- package/dist/components/tabs/tabs.d.ts +27 -0
- package/dist/components/tabs/types.d.ts +390 -0
- package/dist/components/tabs/utils.d.ts +17 -0
- package/dist/components/textfield/api.d.ts +8 -0
- package/dist/components/textfield/config.d.ts +34 -0
- package/dist/components/textfield/constants.d.ts +148 -0
- package/{src/components/textfield/features/index.ts → dist/components/textfield/features/index.d.ts} +1 -6
- package/dist/components/textfield/features/leading-icon.d.ts +55 -0
- package/dist/components/textfield/features/placement.d.ts +28 -0
- package/dist/components/textfield/features/prefix-text.d.ts +54 -0
- package/dist/components/textfield/features/suffix-text.d.ts +54 -0
- package/dist/components/textfield/features/supporting-text.d.ts +59 -0
- package/dist/components/textfield/features/trailing-icon.d.ts +55 -0
- package/dist/components/textfield/index.d.ts +3 -0
- package/dist/components/textfield/textfield.d.ts +36 -0
- package/dist/components/textfield/types.d.ts +217 -0
- package/dist/components/timepicker/api.d.ts +24 -0
- package/dist/components/timepicker/clockdial.d.ts +34 -0
- package/dist/components/timepicker/config.d.ts +75 -0
- package/dist/components/timepicker/constants.d.ts +266 -0
- package/dist/components/timepicker/index.d.ts +4 -0
- package/dist/components/timepicker/render.d.ts +9 -0
- package/dist/components/timepicker/timepicker.d.ts +8 -0
- package/dist/components/timepicker/types.d.ts +284 -0
- package/dist/components/timepicker/utils.d.ts +74 -0
- package/dist/components/tooltip/api.d.ts +18 -0
- package/dist/components/tooltip/config.d.ts +38 -0
- package/dist/components/tooltip/constants.d.ts +108 -0
- package/dist/components/tooltip/index.d.ts +3 -0
- package/dist/components/tooltip/tooltip.d.ts +8 -0
- package/dist/components/tooltip/types.d.ts +188 -0
- package/dist/components/top-app-bar/config.d.ts +16 -0
- package/dist/components/top-app-bar/constants.d.ts +74 -0
- package/{src/components/top-app-bar/index.ts → dist/components/top-app-bar/index.d.ts} +2 -4
- package/dist/components/top-app-bar/top-app-bar.d.ts +68 -0
- package/dist/components/top-app-bar/types.d.ts +118 -0
- package/dist/constants.d.ts +30 -0
- package/dist/core/canvas/index.d.ts +5 -0
- package/dist/core/canvas/resize.d.ts +14 -0
- package/dist/core/collection/adapters/base.d.ts +47 -0
- package/dist/core/collection/adapters/route.d.ts +149 -0
- package/dist/core/collection/collection.d.ts +131 -0
- package/dist/core/collection/index.d.ts +10 -0
- package/dist/core/collection/list-manager/config.d.ts +29 -0
- package/dist/core/collection/list-manager/dom-elements.d.ts +30 -0
- package/dist/core/collection/list-manager/index.d.ts +61 -0
- package/dist/core/collection/list-manager/item-measurement.d.ts +91 -0
- package/dist/core/collection/list-manager/renderer.d.ts +31 -0
- package/dist/core/collection/list-manager/scroll-tracker.d.ts +20 -0
- package/dist/core/collection/list-manager/state.d.ts +60 -0
- package/dist/core/collection/list-manager/types.d.ts +361 -0
- package/dist/core/collection/list-manager/utils/recycling.d.ts +34 -0
- package/dist/core/collection/list-manager/utils/visibility.d.ts +45 -0
- package/dist/core/compose/base.d.ts +31 -0
- package/dist/core/compose/component.d.ts +61 -0
- package/dist/core/compose/features/badge.d.ts +43 -0
- package/dist/core/compose/features/checkable.d.ts +59 -0
- package/dist/core/compose/features/constants.d.ts +45 -0
- package/dist/core/compose/features/debounce.d.ts +84 -0
- package/dist/core/compose/features/disabled.d.ts +47 -0
- package/dist/core/compose/features/events.d.ts +37 -0
- package/dist/core/compose/features/gestures/longpress.d.ts +85 -0
- package/dist/core/compose/features/gestures/pan.d.ts +108 -0
- package/dist/core/compose/features/gestures/pinch.d.ts +111 -0
- package/dist/core/compose/features/gestures/rotate.d.ts +111 -0
- package/dist/core/compose/features/gestures/swipe.d.ts +149 -0
- package/dist/core/compose/features/gestures/tap.d.ts +79 -0
- package/dist/core/compose/features/gestures.d.ts +86 -0
- package/dist/core/compose/features/icon.d.ts +71 -0
- package/{src/core/compose/features/index.ts → dist/core/compose/features/index.d.ts} +7 -8
- package/dist/core/compose/features/input.d.ts +71 -0
- package/dist/core/compose/features/lifecycle.d.ts +61 -0
- package/dist/core/compose/features/position.d.ts +51 -0
- package/dist/core/compose/features/ripple.d.ts +61 -0
- package/dist/core/compose/features/size.d.ts +17 -0
- package/dist/core/compose/features/style.d.ts +16 -0
- package/dist/core/compose/features/text.d.ts +63 -0
- package/dist/core/compose/features/textinput.d.ts +93 -0
- package/dist/core/compose/features/textlabel.d.ts +57 -0
- package/dist/core/compose/features/throttle.d.ts +75 -0
- package/dist/core/compose/features/track.d.ts +42 -0
- package/dist/core/compose/features/variant.d.ts +17 -0
- package/dist/core/compose/features/withEvents.d.ts +45 -0
- package/dist/core/compose/index.d.ts +17 -0
- package/{src/core/compose/pipe.ts → dist/core/compose/pipe.d.ts} +4 -20
- package/dist/core/compose/utils/type-guards.d.ts +27 -0
- package/dist/core/composition/features/dom.d.ts +19 -0
- package/dist/core/composition/features/icon.d.ts +45 -0
- package/{src/core/composition/features/index.ts → dist/core/composition/features/index.d.ts} +1 -6
- package/dist/core/composition/features/label.d.ts +49 -0
- package/{src/core/composition/features/layout.ts → dist/core/composition/features/layout.d.ts} +8 -24
- package/{src/core/composition/index.ts → dist/core/composition/index.d.ts} +4 -14
- package/{src/core/config/component-config.ts → dist/core/config/component.d.ts} +35 -83
- package/dist/core/config.d.ts +130 -0
- package/dist/core/dom/attributes.d.ts +20 -0
- package/dist/core/dom/classes.d.ts +52 -0
- package/dist/core/dom/create.d.ts +154 -0
- package/dist/core/dom/events.d.ts +69 -0
- package/dist/core/dom/index.d.ts +6 -0
- package/dist/core/dom/utils.d.ts +42 -0
- package/dist/core/gestures/index.d.ts +12 -0
- package/dist/core/gestures/longpress.d.ts +23 -0
- package/dist/core/gestures/manager.d.ts +14 -0
- package/dist/core/gestures/pan.d.ts +12 -0
- package/dist/core/gestures/pinch.d.ts +14 -0
- package/dist/core/gestures/rotate.d.ts +14 -0
- package/dist/core/gestures/swipe.d.ts +20 -0
- package/dist/core/gestures/tap.d.ts +12 -0
- package/dist/core/gestures/types.d.ts +320 -0
- package/dist/core/gestures/utils.d.ts +57 -0
- package/dist/core/index.d.ts +29 -0
- package/dist/core/layout/array.d.ts +15 -0
- package/dist/core/layout/config.d.ts +32 -0
- package/dist/core/layout/create.d.ts +14 -0
- package/dist/core/layout/index.d.ts +13 -0
- package/dist/core/layout/jsx.d.ts +13 -0
- package/dist/core/layout/object.d.ts +14 -0
- package/dist/core/layout/processor.d.ts +28 -0
- package/dist/core/layout/result.d.ts +12 -0
- package/dist/core/layout/template.d.ts +12 -0
- package/dist/core/layout/types.d.ts +137 -0
- package/dist/core/layout/utils.d.ts +38 -0
- package/dist/core/state/disabled.d.ts +32 -0
- package/dist/core/state/emitter.d.ts +40 -0
- package/dist/core/state/events.d.ts +36 -0
- package/{src/core/state/index.ts → dist/core/state/index.d.ts} +1 -7
- package/dist/core/state/lifecycle.d.ts +57 -0
- package/dist/core/state/store.d.ts +82 -0
- package/dist/core/utils/background.d.ts +40 -0
- package/dist/core/utils/index.d.ts +18 -0
- package/dist/core/utils/mobile.d.ts +54 -0
- package/dist/core/utils/object.d.ts +13 -0
- package/dist/core/utils/performance.d.ts +79 -0
- package/dist/core/utils/theme.d.ts +38 -0
- package/dist/core/utils/validate.d.ts +73 -0
- package/dist/index.cjs +64 -0
- package/dist/index.cjs.map +291 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.js +53 -14854
- package/dist/index.js.map +291 -0
- package/dist/package.json +39 -0
- package/dist/styles.css +7 -0
- package/package.json +23 -4
- package/.env +0 -15
- package/.typedocignore +0 -11
- package/CONTRIBUTING.md +0 -218
- package/DOCS.md +0 -153
- package/TESTING.md +0 -214
- package/git-user-stats.js +0 -545
- package/index.ts +0 -10
- package/src/components/badge/api.ts +0 -313
- package/src/components/badge/config.ts +0 -153
- package/src/components/badge/features.ts +0 -194
- package/src/components/badge/index.ts +0 -90
- package/src/components/badge/types.ts +0 -279
- package/src/components/bottom-app-bar/bottom-app-bar.ts +0 -154
- package/src/components/bottom-app-bar/config.ts +0 -29
- package/src/components/bottom-app-bar/types.ts +0 -114
- package/src/components/button/api.ts +0 -172
- package/src/components/button/button.ts +0 -112
- package/src/components/button/config.ts +0 -96
- package/src/components/button/index.ts +0 -37
- package/src/components/button/types.ts +0 -290
- package/src/components/card/api.ts +0 -222
- package/src/components/card/config.ts +0 -304
- package/src/components/card/content.ts +0 -343
- package/src/components/card/features.ts +0 -407
- package/src/components/card/types.ts +0 -497
- package/src/components/carousel/api.ts +0 -147
- package/src/components/carousel/carousel.ts +0 -242
- package/src/components/carousel/config.ts +0 -91
- package/src/components/carousel/constants.ts +0 -181
- package/src/components/carousel/features/drag.ts +0 -388
- package/src/components/carousel/features/slides.ts +0 -682
- package/src/components/carousel/types.ts +0 -327
- package/src/components/checkbox/api.ts +0 -82
- package/src/components/checkbox/checkbox.ts +0 -142
- package/src/components/checkbox/config.ts +0 -89
- package/src/components/checkbox/types.ts +0 -342
- package/src/components/chips/api.ts +0 -194
- package/src/components/chips/chip/api.ts +0 -233
- package/src/components/chips/chip/chip.ts +0 -131
- package/src/components/chips/chip/config.ts +0 -91
- package/src/components/chips/chip/index.ts +0 -3
- package/src/components/chips/chips.md +0 -481
- package/src/components/chips/chips.ts +0 -75
- package/src/components/chips/config.ts +0 -109
- package/src/components/chips/constants.ts +0 -61
- package/src/components/chips/features/chip-items.ts +0 -33
- package/src/components/chips/features/container.ts +0 -77
- package/src/components/chips/features/controller.ts +0 -448
- package/src/components/chips/features/label.ts +0 -108
- package/src/components/chips/index.ts +0 -11
- package/src/components/chips/schema.ts +0 -61
- package/src/components/chips/types.ts +0 -469
- package/src/components/datepicker/api.ts +0 -265
- package/src/components/datepicker/config.ts +0 -141
- package/src/components/datepicker/datepicker.ts +0 -341
- package/src/components/datepicker/index.ts +0 -12
- package/src/components/datepicker/render.ts +0 -450
- package/src/components/datepicker/types.ts +0 -397
- package/src/components/datepicker/utils.ts +0 -289
- package/src/components/dialog/api.ts +0 -317
- package/src/components/dialog/config.ts +0 -116
- package/src/components/dialog/features.ts +0 -907
- package/src/components/dialog/index.ts +0 -141
- package/src/components/dialog/types.ts +0 -553
- package/src/components/divider/config.ts +0 -165
- package/src/components/divider/features.ts +0 -233
- package/src/components/divider/types.ts +0 -132
- package/src/components/extended-fab/api.ts +0 -193
- package/src/components/extended-fab/config.ts +0 -140
- package/src/components/extended-fab/extended-fab.ts +0 -153
- package/src/components/extended-fab/types.ts +0 -749
- package/src/components/fab/api.ts +0 -137
- package/src/components/fab/config.ts +0 -121
- package/src/components/fab/types.ts +0 -615
- package/src/components/list/api.ts +0 -82
- package/src/components/list/config.ts +0 -63
- package/src/components/list/features.ts +0 -229
- package/src/components/list/index.ts +0 -67
- package/src/components/list/list-item.ts +0 -163
- package/src/components/list/list.ts +0 -108
- package/src/components/list/types.ts +0 -396
- package/src/components/list/utils.ts +0 -98
- package/src/components/menu/api.ts +0 -230
- package/src/components/menu/config.ts +0 -127
- package/src/components/menu/features/anchor.ts +0 -394
- package/src/components/menu/features/controller.ts +0 -1423
- package/src/components/menu/features/index.ts +0 -13
- package/src/components/menu/features/position.ts +0 -353
- package/src/components/menu/menu.ts +0 -121
- package/src/components/menu/types.ts +0 -392
- package/src/components/navigation/api.ts +0 -142
- package/src/components/navigation/config.ts +0 -73
- package/src/components/navigation/features/controller.ts +0 -273
- package/src/components/navigation/features/items.ts +0 -353
- package/src/components/navigation/index.ts +0 -11
- package/src/components/navigation/nav-item.ts +0 -196
- package/src/components/navigation/navigation.ts +0 -115
- package/src/components/navigation/system/core.ts +0 -302
- package/src/components/navigation/system/events.ts +0 -240
- package/src/components/navigation/system/index.ts +0 -184
- package/src/components/navigation/system/mobile.ts +0 -278
- package/src/components/navigation/system/state.ts +0 -77
- package/src/components/navigation/system/types.ts +0 -364
- package/src/components/navigation/types.ts +0 -292
- package/src/components/progress/api.ts +0 -178
- package/src/components/progress/config.ts +0 -122
- package/src/components/progress/index.ts +0 -4
- package/src/components/progress/progress.ts +0 -159
- package/src/components/progress/types.ts +0 -255
- package/src/components/radios/api.ts +0 -125
- package/src/components/radios/config.ts +0 -59
- package/src/components/radios/constants.ts +0 -19
- package/src/components/radios/index.ts +0 -3
- package/src/components/radios/radio.ts +0 -292
- package/src/components/radios/radios.ts +0 -43
- package/src/components/radios/types.ts +0 -219
- package/src/components/search/api.ts +0 -203
- package/src/components/search/config.ts +0 -86
- package/src/components/search/features/search.ts +0 -717
- package/src/components/search/features/states.ts +0 -169
- package/src/components/search/features/structure.ts +0 -197
- package/src/components/search/index.ts +0 -7
- package/src/components/search/search.ts +0 -52
- package/src/components/search/types.ts +0 -175
- package/src/components/segmented-button/config.ts +0 -119
- package/src/components/segmented-button/index.ts +0 -4
- package/src/components/segmented-button/segment.ts +0 -108
- package/src/components/segmented-button/segmented-button.ts +0 -361
- package/src/components/segmented-button/types.ts +0 -306
- package/src/components/select/api.ts +0 -78
- package/src/components/select/config.ts +0 -76
- package/src/components/select/features.ts +0 -331
- package/src/components/select/select.ts +0 -73
- package/src/components/select/types.ts +0 -355
- package/src/components/sheet/api.ts +0 -96
- package/src/components/sheet/config.ts +0 -65
- package/src/components/sheet/features/content.ts +0 -51
- package/src/components/sheet/features/gestures.ts +0 -177
- package/src/components/sheet/features/position.ts +0 -41
- package/src/components/sheet/features/state.ts +0 -116
- package/src/components/sheet/features/title.ts +0 -86
- package/src/components/sheet/index.ts +0 -12
- package/src/components/sheet/sheet.ts +0 -56
- package/src/components/sheet/types.ts +0 -294
- package/src/components/slider/accessibility.md +0 -59
- package/src/components/slider/api.ts +0 -192
- package/src/components/slider/config.ts +0 -118
- package/src/components/slider/features/controller.ts +0 -737
- package/src/components/slider/features/handlers.ts +0 -497
- package/src/components/slider/features/index.ts +0 -5
- package/src/components/slider/features/range.ts +0 -104
- package/src/components/slider/features/states.ts +0 -195
- package/src/components/slider/index.ts +0 -17
- package/src/components/slider/schema.ts +0 -141
- package/src/components/slider/slider.ts +0 -76
- package/src/components/slider/types.ts +0 -223
- package/src/components/snackbar/api.ts +0 -162
- package/src/components/snackbar/config.ts +0 -61
- package/src/components/snackbar/features.ts +0 -76
- package/src/components/snackbar/index.ts +0 -9
- package/src/components/snackbar/position.ts +0 -79
- package/src/components/snackbar/queue.ts +0 -76
- package/src/components/snackbar/snackbar.ts +0 -60
- package/src/components/snackbar/types.ts +0 -159
- package/src/components/switch/api.ts +0 -93
- package/src/components/switch/config.ts +0 -56
- package/src/components/switch/features.ts +0 -198
- package/src/components/switch/index.ts +0 -8
- package/src/components/switch/switch.ts +0 -52
- package/src/components/switch/types.ts +0 -168
- package/src/components/tabs/api.ts +0 -221
- package/src/components/tabs/config.ts +0 -73
- package/src/components/tabs/features.ts +0 -403
- package/src/components/tabs/index.ts +0 -46
- package/src/components/tabs/indicator.ts +0 -285
- package/src/components/tabs/responsive.ts +0 -144
- package/src/components/tabs/scroll-indicators.ts +0 -149
- package/src/components/tabs/state.ts +0 -186
- package/src/components/tabs/tab-api.ts +0 -266
- package/src/components/tabs/tab.ts +0 -267
- package/src/components/tabs/tabs.ts +0 -71
- package/src/components/tabs/types.ts +0 -461
- package/src/components/tabs/utils.ts +0 -107
- package/src/components/textfield/api.ts +0 -197
- package/src/components/textfield/config.ts +0 -52
- package/src/components/textfield/features/leading-icon.ts +0 -127
- package/src/components/textfield/features/placement.ts +0 -149
- package/src/components/textfield/features/prefix-text.ts +0 -107
- package/src/components/textfield/features/suffix-text.ts +0 -100
- package/src/components/textfield/features/supporting-text.ts +0 -113
- package/src/components/textfield/features/trailing-icon.ts +0 -108
- package/src/components/textfield/index.ts +0 -9
- package/src/components/textfield/textfield.ts +0 -92
- package/src/components/textfield/types.ts +0 -265
- package/src/components/timepicker/README.md +0 -277
- package/src/components/timepicker/api.ts +0 -632
- package/src/components/timepicker/clockdial.ts +0 -479
- package/src/components/timepicker/config.ts +0 -228
- package/src/components/timepicker/index.ts +0 -3
- package/src/components/timepicker/render.ts +0 -613
- package/src/components/timepicker/timepicker.ts +0 -117
- package/src/components/timepicker/types.ts +0 -336
- package/src/components/timepicker/utils.ts +0 -241
- package/src/components/tooltip/api.ts +0 -415
- package/src/components/tooltip/config.ts +0 -80
- package/src/components/tooltip/index.ts +0 -12
- package/src/components/tooltip/tooltip.ts +0 -60
- package/src/components/tooltip/types.ts +0 -223
- package/src/components/top-app-bar/config.ts +0 -83
- package/src/components/top-app-bar/top-app-bar.ts +0 -316
- package/src/components/top-app-bar/types.ts +0 -140
- package/src/core/build/constants.ts +0 -48
- package/src/core/build/icon.ts +0 -137
- package/src/core/build/ripple.ts +0 -193
- package/src/core/build/text.ts +0 -91
- package/src/core/collection/adapters/base.ts +0 -62
- package/src/core/collection/adapters/route.ts +0 -201
- package/src/core/collection/collection.ts +0 -300
- package/src/core/collection/index.ts +0 -57
- package/src/core/collection/list-manager.ts +0 -333
- package/src/core/compose/base.ts +0 -43
- package/src/core/compose/component.ts +0 -255
- package/src/core/compose/features/badge.ts +0 -79
- package/src/core/compose/features/checkable.ts +0 -155
- package/src/core/compose/features/disabled.ts +0 -116
- package/src/core/compose/features/events.ts +0 -65
- package/src/core/compose/features/icon.ts +0 -71
- package/src/core/compose/features/input.ts +0 -174
- package/src/core/compose/features/lifecycle.ts +0 -139
- package/src/core/compose/features/position.ts +0 -94
- package/src/core/compose/features/ripple.ts +0 -58
- package/src/core/compose/features/size.ts +0 -29
- package/src/core/compose/features/style.ts +0 -31
- package/src/core/compose/features/text.ts +0 -44
- package/src/core/compose/features/textinput.ts +0 -238
- package/src/core/compose/features/textlabel.ts +0 -113
- package/src/core/compose/features/track.ts +0 -84
- package/src/core/compose/features/variant.ts +0 -29
- package/src/core/compose/features/withEvents.ts +0 -137
- package/src/core/compose/index.ts +0 -54
- package/src/core/composition/features/dom.ts +0 -45
- package/src/core/composition/features/icon.ts +0 -131
- package/src/core/composition/features/label.ts +0 -155
- package/src/core/config.ts +0 -211
- package/src/core/dom/attributes.ts +0 -33
- package/src/core/dom/classes.ts +0 -132
- package/src/core/dom/create.ts +0 -273
- package/src/core/dom/events.ts +0 -209
- package/src/core/dom/index.ts +0 -10
- package/src/core/dom/utils.ts +0 -97
- package/src/core/index.ts +0 -111
- package/src/core/layout/README.md +0 -715
- package/src/core/layout/array.ts +0 -180
- package/src/core/layout/config.ts +0 -193
- package/src/core/layout/create.ts +0 -54
- package/src/core/layout/index.ts +0 -36
- package/src/core/layout/object.ts +0 -123
- package/src/core/layout/processor.ts +0 -106
- package/src/core/layout/result.ts +0 -84
- package/src/core/layout/types.ts +0 -180
- package/src/core/layout/utils.ts +0 -144
- package/src/core/state/disabled.ts +0 -81
- package/src/core/state/emitter.ts +0 -94
- package/src/core/state/events.ts +0 -88
- package/src/core/state/lifecycle.ts +0 -131
- package/src/core/state/store.ts +0 -197
- package/src/core/utils/index.ts +0 -45
- package/src/core/utils/mobile.ts +0 -98
- package/src/core/utils/object.ts +0 -41
- package/src/core/utils/validate.ts +0 -234
- package/src/index.ts +0 -90
- package/src/styles/abstract/_base.scss +0 -2
- package/src/styles/abstract/_config.scss +0 -28
- package/src/styles/abstract/_functions.scss +0 -124
- package/src/styles/abstract/_mixins.scss +0 -352
- package/src/styles/abstract/_theme.scss +0 -269
- package/src/styles/abstract/_variables.scss +0 -305
- package/src/styles/base/_reset.scss +0 -86
- package/src/styles/base/_typography.scss +0 -155
- package/src/styles/components/_badge.scss +0 -182
- package/src/styles/components/_bottom-app-bar.scss +0 -103
- package/src/styles/components/_button.scss +0 -224
- package/src/styles/components/_card.scss +0 -401
- package/src/styles/components/_carousel.scss +0 -645
- package/src/styles/components/_checkbox.scss +0 -231
- package/src/styles/components/_chips.scss +0 -638
- package/src/styles/components/_datepicker.scss +0 -358
- package/src/styles/components/_dialog.scss +0 -259
- package/src/styles/components/_divider.scss +0 -57
- package/src/styles/components/_extended-fab.scss +0 -267
- package/src/styles/components/_fab.scss +0 -225
- package/src/styles/components/_list.scss +0 -248
- package/src/styles/components/_menu.scss +0 -242
- package/src/styles/components/_navigation-mobile.scss +0 -244
- package/src/styles/components/_navigation-system.scss +0 -151
- package/src/styles/components/_navigation.scss +0 -407
- package/src/styles/components/_progress.scss +0 -151
- package/src/styles/components/_radios.scss +0 -187
- package/src/styles/components/_search.scss +0 -306
- package/src/styles/components/_segmented-button.scss +0 -227
- package/src/styles/components/_select.scss +0 -272
- package/src/styles/components/_sheet.scss +0 -236
- package/src/styles/components/_slider.scss +0 -489
- package/src/styles/components/_snackbar.scss +0 -211
- package/src/styles/components/_switch.scss +0 -298
- package/src/styles/components/_tabs.scss +0 -416
- package/src/styles/components/_textfield.scss +0 -773
- package/src/styles/components/_timepicker.scss +0 -451
- package/src/styles/components/_tooltip.scss +0 -241
- package/src/styles/components/_top-app-bar.scss +0 -225
- package/src/styles/main.scss +0 -175
- package/src/styles/themes/_autumn.scss +0 -105
- package/src/styles/themes/_base-theme.scss +0 -85
- package/src/styles/themes/_baseline.scss +0 -173
- package/src/styles/themes/_bluekhaki.scss +0 -125
- package/src/styles/themes/_brownbeige.scss +0 -125
- package/src/styles/themes/_browngreen.scss +0 -125
- package/src/styles/themes/_forest.scss +0 -77
- package/src/styles/themes/_greenbeige.scss +0 -125
- package/src/styles/themes/_index.scss +0 -6
- package/src/styles/themes/_material.scss +0 -125
- package/src/styles/themes/_ocean.scss +0 -77
- package/src/styles/themes/_sageivory.scss +0 -125
- package/src/styles/themes/_spring.scss +0 -77
- package/src/styles/themes/_summer.scss +0 -87
- package/src/styles/themes/_sunset.scss +0 -60
- package/src/styles/themes/_tealcaramel.scss +0 -125
- package/src/styles/themes/_winter.scss +0 -77
- package/src/styles/utilities/_colors.scss +0 -154
- package/src/styles/utilities/_flexbox.scss +0 -194
- package/src/styles/utilities/_layout.scss +0 -665
- package/src/styles/utilities/_ripple.scss +0 -79
- package/src/styles/utilities/_spacing.scss +0 -139
- package/src/styles/utilities/_typography.scss +0 -178
- package/src/styles/utilities/_visibility.scss +0 -142
|
@@ -1,26 +1,16 @@
|
|
|
1
|
-
// src/core/composition/index.ts
|
|
2
|
-
|
|
3
1
|
/**
|
|
4
2
|
* @module core/composition
|
|
5
3
|
* @description Composition utilities for creating components using the structure-based approach
|
|
6
|
-
*
|
|
4
|
+
*
|
|
7
5
|
* The composition module provides features that work with the structure definition
|
|
8
6
|
* mechanism. Unlike traditional features that directly modify the DOM, these
|
|
9
7
|
* features modify a layout schema that is later used to create DOM elements.
|
|
10
|
-
*
|
|
8
|
+
*
|
|
11
9
|
* This approach provides several advantages:
|
|
12
10
|
* - Clearer separation between layout and DOM creation
|
|
13
11
|
* - More predictable component creation process
|
|
14
12
|
* - Better support for server-side rendering
|
|
15
13
|
* - Enhanced testability
|
|
16
14
|
*/
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
export {
|
|
20
|
-
withLayout,
|
|
21
|
-
withDom,
|
|
22
|
-
withIcon,
|
|
23
|
-
withLabel,
|
|
24
|
-
} from './features';
|
|
25
|
-
|
|
26
|
-
export type { IconConfig, LabelConfig } from './features';
|
|
15
|
+
export { withLayout, withDom, withIcon, withLabel, } from './features';
|
|
16
|
+
export type { IconConfig, LabelConfig } from './features';
|
|
@@ -1,136 +1,88 @@
|
|
|
1
|
-
// src/core/config/component-config.ts
|
|
2
|
-
import { PREFIX } from '../config';
|
|
3
|
-
|
|
4
1
|
/**
|
|
5
2
|
* Base component configuration interface
|
|
6
3
|
* Common configuration properties shared by all components
|
|
7
4
|
*/
|
|
8
5
|
export interface BaseComponentConfig {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
componentName?: string;
|
|
7
|
+
prefix?: string;
|
|
8
|
+
class?: string | string[];
|
|
9
|
+
className?: string | string[];
|
|
10
|
+
rawClass?: string | string[];
|
|
11
|
+
[key: string]: any;
|
|
13
12
|
}
|
|
14
|
-
|
|
15
13
|
/**
|
|
16
14
|
* Creates a base configuration for any component
|
|
17
|
-
*
|
|
15
|
+
*
|
|
18
16
|
* @param {BaseComponentConfig} defaults - Default configuration for the component
|
|
19
17
|
* @param {BaseComponentConfig} userConfig - User provided configuration
|
|
20
18
|
* @param {string} componentName - The name of the component
|
|
21
19
|
* @returns {BaseComponentConfig} Complete configuration with defaults applied
|
|
22
|
-
*
|
|
20
|
+
*
|
|
23
21
|
* @example
|
|
24
22
|
* // In button/config.ts
|
|
25
|
-
* export const createBaseConfig = (config: ButtonConfig = {}) =>
|
|
23
|
+
* export const createBaseConfig = (config: ButtonConfig = {}) =>
|
|
26
24
|
* createComponentConfig(defaultConfig, config, 'button');
|
|
27
25
|
*/
|
|
28
|
-
export const createComponentConfig
|
|
29
|
-
defaults: BaseComponentConfig,
|
|
30
|
-
userConfig: BaseComponentConfig = {},
|
|
31
|
-
componentName: string
|
|
32
|
-
): BaseComponentConfig => {
|
|
33
|
-
// Create a new object with defaults and user config
|
|
34
|
-
const config = {
|
|
35
|
-
...defaults,
|
|
36
|
-
...userConfig,
|
|
37
|
-
// Force these values to ensure consistency
|
|
38
|
-
componentName,
|
|
39
|
-
prefix: PREFIX
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
return config;
|
|
43
|
-
};
|
|
44
|
-
|
|
26
|
+
export declare const createComponentConfig: (defaults: BaseComponentConfig, userConfig: BaseComponentConfig, componentName: string) => BaseComponentConfig;
|
|
45
27
|
/**
|
|
46
28
|
* Creates a class name with proper prefixing
|
|
47
|
-
*
|
|
29
|
+
*
|
|
48
30
|
* @param {string} componentName - The name of the component
|
|
49
31
|
* @param {string} [element] - Optional element name for BEM notation
|
|
50
32
|
* @param {string} [modifier] - Optional modifier name for BEM notation
|
|
51
33
|
* @returns {string} Properly formatted class name
|
|
52
|
-
*
|
|
34
|
+
*
|
|
53
35
|
* @example
|
|
54
36
|
* // Returns 'mtrl-button'
|
|
55
37
|
* createClassName('button');
|
|
56
|
-
*
|
|
38
|
+
*
|
|
57
39
|
* // Returns 'mtrl-button__icon'
|
|
58
40
|
* createClassName('button', 'icon');
|
|
59
|
-
*
|
|
41
|
+
*
|
|
60
42
|
* // Returns 'mtrl-button--primary'
|
|
61
43
|
* createClassName('button', null, 'primary');
|
|
62
|
-
*
|
|
44
|
+
*
|
|
63
45
|
* // Returns 'mtrl-button__icon--small'
|
|
64
46
|
* createClassName('button', 'icon', 'small');
|
|
65
47
|
*/
|
|
66
|
-
export const createClassName
|
|
67
|
-
componentName: string,
|
|
68
|
-
element?: string | null,
|
|
69
|
-
modifier?: string | null
|
|
70
|
-
): string => {
|
|
71
|
-
let className = `${PREFIX}-${componentName}`;
|
|
72
|
-
|
|
73
|
-
if (element) {
|
|
74
|
-
className += `__${element}`;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
if (modifier) {
|
|
78
|
-
className += `--${modifier}`;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
return className;
|
|
82
|
-
};
|
|
83
|
-
|
|
48
|
+
export declare const createClassName: (componentName: string, element?: string | null, modifier?: string | null) => string;
|
|
84
49
|
/**
|
|
85
50
|
* Processes class names for an element, handling arrays, nulls and conditional classes
|
|
86
|
-
*
|
|
51
|
+
*
|
|
87
52
|
* @param {string | string[] | null} classNames - Class names to process
|
|
88
53
|
* @returns {string} Space-separated class names as a string
|
|
89
|
-
*
|
|
54
|
+
*
|
|
90
55
|
* @example
|
|
91
56
|
* // Returns 'mtrl-card mtrl-card--elevated custom-class'
|
|
92
57
|
* processClassNames(['mtrl-card', 'mtrl-card--elevated', 'custom-class']);
|
|
93
|
-
*
|
|
58
|
+
*
|
|
94
59
|
* // Returns 'mtrl-card'
|
|
95
60
|
* processClassNames(['mtrl-card', null, undefined]);
|
|
96
61
|
*/
|
|
97
|
-
export const processClassNames
|
|
98
|
-
if (!classNames) return '';
|
|
99
|
-
|
|
100
|
-
if (typeof classNames === 'string') return classNames;
|
|
101
|
-
|
|
102
|
-
return classNames
|
|
103
|
-
.filter(Boolean) // Remove null, undefined, empty strings
|
|
104
|
-
.join(' ');
|
|
105
|
-
};
|
|
106
|
-
|
|
62
|
+
export declare const processClassNames: (classNames: string | string[] | null) => string;
|
|
107
63
|
/**
|
|
108
64
|
* Creates a configuration object for withElement HOC
|
|
109
|
-
*
|
|
65
|
+
*
|
|
110
66
|
* @param {BaseComponentConfig} config - Component configuration
|
|
111
67
|
* @param {Object} options - Element options
|
|
112
68
|
* @returns {Object} Configuration object for withElement
|
|
113
69
|
*/
|
|
114
|
-
export const createElementConfig
|
|
115
|
-
config: BaseComponentConfig,
|
|
116
|
-
options: {
|
|
70
|
+
export declare const createElementConfig: (config: BaseComponentConfig, options: {
|
|
117
71
|
tag: string;
|
|
118
|
-
|
|
72
|
+
attributes?: Record<string, any>;
|
|
119
73
|
className?: string | string[] | null;
|
|
120
74
|
html?: string;
|
|
121
75
|
text?: string;
|
|
122
|
-
forwardEvents?: Record<string, boolean |
|
|
76
|
+
forwardEvents?: Record<string, boolean | ((component: any, event: Event) => boolean)>;
|
|
123
77
|
interactive?: boolean;
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
};
|
|
136
|
-
};
|
|
78
|
+
}) => {
|
|
79
|
+
tag: string;
|
|
80
|
+
componentName: string;
|
|
81
|
+
attributes: Record<string, any>;
|
|
82
|
+
className: string[];
|
|
83
|
+
rawClass: string | string[];
|
|
84
|
+
html: string;
|
|
85
|
+
text: string;
|
|
86
|
+
forwardEvents: Record<string, boolean | ((component: any, event: Event) => boolean)>;
|
|
87
|
+
interactive: boolean;
|
|
88
|
+
};
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Library prefix used for all components
|
|
3
|
+
*/
|
|
4
|
+
export declare const PREFIX = "mtrl";
|
|
5
|
+
/**
|
|
6
|
+
* Gets a prefixed component class name
|
|
7
|
+
* @param type - Component type
|
|
8
|
+
* @returns Prefixed class name
|
|
9
|
+
*/
|
|
10
|
+
export declare const getComponentClass: (type: string) => string;
|
|
11
|
+
/**
|
|
12
|
+
* Gets a BEM modifier class name
|
|
13
|
+
* @param baseClass - Base class name
|
|
14
|
+
* @param modifier - Modifier name
|
|
15
|
+
* @returns Modifier class name
|
|
16
|
+
*/
|
|
17
|
+
export declare const getModifierClass: (baseClass: string, modifier: string) => string;
|
|
18
|
+
/**
|
|
19
|
+
* Gets a BEM element class name
|
|
20
|
+
* @param baseClass - Base class name
|
|
21
|
+
* @param element - Element name
|
|
22
|
+
* @returns Element class name
|
|
23
|
+
*/
|
|
24
|
+
export declare const getElementClass: (baseClass: string, element: string) => string;
|
|
25
|
+
/**
|
|
26
|
+
* Component type identifiers
|
|
27
|
+
*/
|
|
28
|
+
export declare enum COMPONENTS {
|
|
29
|
+
BUTTON = "button",
|
|
30
|
+
TEXTFIELD = "textfield",
|
|
31
|
+
CONTAINER = "container",
|
|
32
|
+
SNACKBAR = "snackbar",
|
|
33
|
+
SWITCH = "switch"
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Theme configuration interface
|
|
37
|
+
*/
|
|
38
|
+
export interface ThemeConfig {
|
|
39
|
+
/**
|
|
40
|
+
* Theme name
|
|
41
|
+
*/
|
|
42
|
+
name: string;
|
|
43
|
+
/**
|
|
44
|
+
* Theme CSS variables
|
|
45
|
+
*/
|
|
46
|
+
variables: Record<string, string>;
|
|
47
|
+
/**
|
|
48
|
+
* Theme variants
|
|
49
|
+
*/
|
|
50
|
+
variants: Record<string, any>;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Component configuration interface
|
|
54
|
+
*/
|
|
55
|
+
export interface ComponentConfig {
|
|
56
|
+
prefix: string;
|
|
57
|
+
type: string;
|
|
58
|
+
baseClass: string;
|
|
59
|
+
getClass: () => string;
|
|
60
|
+
getModifierClass: (modifier: string) => string;
|
|
61
|
+
getElementClass: (element: string) => string;
|
|
62
|
+
withTheme: (theme: string) => ThemedComponentConfig;
|
|
63
|
+
withVariants: (...variants: string[]) => VariantComponentConfig;
|
|
64
|
+
withStates: (...states: string[]) => StateComponentConfig;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Themed component configuration interface
|
|
68
|
+
*/
|
|
69
|
+
export interface ThemedComponentConfig extends ComponentConfig {
|
|
70
|
+
theme: string;
|
|
71
|
+
getThemeClass: (variant: string) => string;
|
|
72
|
+
getCssVariables: () => Record<string, string>;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Variant component configuration interface
|
|
76
|
+
*/
|
|
77
|
+
export interface VariantComponentConfig extends ComponentConfig {
|
|
78
|
+
variants: string[];
|
|
79
|
+
hasVariant: (variant: string) => boolean;
|
|
80
|
+
getVariantClass: (variant: string) => string | null;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* State component configuration interface
|
|
84
|
+
*/
|
|
85
|
+
export interface StateComponentConfig extends ComponentConfig {
|
|
86
|
+
states: string[];
|
|
87
|
+
getStateClass: (state: string) => string | null;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Creates a component configuration object
|
|
91
|
+
* @param type - Component type
|
|
92
|
+
* @returns Component configuration interface
|
|
93
|
+
*/
|
|
94
|
+
export declare const createComponentConfig: (type: string) => ComponentConfig;
|
|
95
|
+
/**
|
|
96
|
+
* Common component states
|
|
97
|
+
*/
|
|
98
|
+
export declare enum STATES {
|
|
99
|
+
DISABLED = "disabled",
|
|
100
|
+
FOCUSED = "focused",
|
|
101
|
+
ACTIVE = "active",
|
|
102
|
+
LOADING = "loading",
|
|
103
|
+
ERROR = "error"
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* CSS class generation utilities
|
|
107
|
+
*/
|
|
108
|
+
export declare const classNames: {
|
|
109
|
+
/**
|
|
110
|
+
* Creates a BEM-style class name
|
|
111
|
+
* @param block - Block name
|
|
112
|
+
* @param element - Element name
|
|
113
|
+
* @param modifier - Modifier name
|
|
114
|
+
* @returns BEM class name
|
|
115
|
+
*/
|
|
116
|
+
bem: (block: string, element?: string, modifier?: string) => string;
|
|
117
|
+
/**
|
|
118
|
+
* Joins class names, filtering out falsy values
|
|
119
|
+
* @param classes - Class names to join
|
|
120
|
+
* @returns Joined class names
|
|
121
|
+
*/
|
|
122
|
+
join: (...classes: (string | undefined | null | false)[]) => string;
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* Creates a themed component configuration
|
|
126
|
+
* @param type - Component type
|
|
127
|
+
* @param theme - Theme configuration
|
|
128
|
+
* @returns Themed component configuration
|
|
129
|
+
*/
|
|
130
|
+
export declare const createThemedComponent: (type: string, theme: ThemeConfig) => ThemedComponentConfig;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module core/dom
|
|
3
|
+
* @description DOM attribute helpers
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Sets attributes on an HTML element
|
|
7
|
+
*
|
|
8
|
+
* @param {HTMLElement} element - Element to set attributes on
|
|
9
|
+
* @param {Record<string, any>} attributes - Attributes to set
|
|
10
|
+
* @returns {HTMLElement} The element for chaining
|
|
11
|
+
*/
|
|
12
|
+
export declare const setAttributes: (element: HTMLElement, attributes?: Record<string, any>) => HTMLElement;
|
|
13
|
+
/**
|
|
14
|
+
* Removes attributes from an HTML element
|
|
15
|
+
*
|
|
16
|
+
* @param {HTMLElement} element - Element to remove attributes from
|
|
17
|
+
* @param {string[]} attributes - Attributes to remove
|
|
18
|
+
* @returns {HTMLElement} The element for chaining
|
|
19
|
+
*/
|
|
20
|
+
export declare const removeAttributes: (element: HTMLElement, attributes?: string[]) => HTMLElement;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module core/dom
|
|
3
|
+
* @description DOM manipulation utilities optimized for performance
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Normalizes class names input by handling various formats:
|
|
7
|
+
* - String with space-separated classes
|
|
8
|
+
* - Array of strings
|
|
9
|
+
* - Mixed array of strings and space-separated classes
|
|
10
|
+
*
|
|
11
|
+
* @param classes - Classes to normalize
|
|
12
|
+
* @returns Array of unique, non-empty class names
|
|
13
|
+
*/
|
|
14
|
+
export declare const normalizeClasses: (...classes: (string | string[])[]) => string[];
|
|
15
|
+
/**
|
|
16
|
+
* Adds multiple classes to an element
|
|
17
|
+
* Automatically adds prefix to classes that don't already have it
|
|
18
|
+
* Optimized for minimal array operations and DOM interactions
|
|
19
|
+
*
|
|
20
|
+
* @param {HTMLElement} element - Target element
|
|
21
|
+
* @param {...(string | string[])} classes - Classes to add
|
|
22
|
+
* @returns {HTMLElement} Modified element
|
|
23
|
+
*/
|
|
24
|
+
export declare const addClass: (element: HTMLElement, ...classes: (string | string[])[]) => HTMLElement;
|
|
25
|
+
/**
|
|
26
|
+
* Removes multiple classes from an element
|
|
27
|
+
* Handles only exact class names as specified (no automatic prefixing)
|
|
28
|
+
* For better performance, clients should know exactly which classes to remove
|
|
29
|
+
*
|
|
30
|
+
* @param {HTMLElement} element - Target element
|
|
31
|
+
* @param {...(string | string[])} classes - Classes to remove
|
|
32
|
+
* @returns {HTMLElement} Modified element
|
|
33
|
+
*/
|
|
34
|
+
export declare const removeClass: (element: HTMLElement, ...classes: (string | string[])[]) => HTMLElement;
|
|
35
|
+
/**
|
|
36
|
+
* Toggles multiple classes on an element
|
|
37
|
+
* Automatically adds prefix to classes that don't already have it
|
|
38
|
+
*
|
|
39
|
+
* @param {HTMLElement} element - Target element
|
|
40
|
+
* @param {...(string | string[])} classes - Classes to toggle
|
|
41
|
+
* @returns {HTMLElement} Modified element
|
|
42
|
+
*/
|
|
43
|
+
export declare const toggleClass: (element: HTMLElement, ...classes: (string | string[])[]) => HTMLElement;
|
|
44
|
+
/**
|
|
45
|
+
* Checks if an element has all specified classes
|
|
46
|
+
* Automatically adds prefix to classes that don't already have it
|
|
47
|
+
*
|
|
48
|
+
* @param {HTMLElement} element - Target element
|
|
49
|
+
* @param {...(string | string[])} classes - Classes to check
|
|
50
|
+
* @returns {boolean} True if element has all specified classes
|
|
51
|
+
*/
|
|
52
|
+
export declare const hasClass: (element: HTMLElement, ...classes: (string | string[])[]) => boolean;
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module core/dom
|
|
3
|
+
* @description DOM manipulation utilities
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Event handler function type
|
|
7
|
+
*/
|
|
8
|
+
export type EventHandler = (event: Event) => void;
|
|
9
|
+
/**
|
|
10
|
+
* Event condition type - either a boolean or a function that returns a boolean
|
|
11
|
+
*/
|
|
12
|
+
export type EventCondition = boolean | ((context: any, event: Event) => boolean);
|
|
13
|
+
/**
|
|
14
|
+
* Element type that can be either HTMLElement or SVGElement
|
|
15
|
+
*/
|
|
16
|
+
export type DOMElement = HTMLElement | SVGElement;
|
|
17
|
+
/**
|
|
18
|
+
* Options for element creation
|
|
19
|
+
*/
|
|
20
|
+
export interface CreateElementOptions {
|
|
21
|
+
/**
|
|
22
|
+
* HTML tag name
|
|
23
|
+
*/
|
|
24
|
+
tag?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Container to append element to
|
|
27
|
+
*/
|
|
28
|
+
container?: HTMLElement | null;
|
|
29
|
+
/**
|
|
30
|
+
* Inner HTML content
|
|
31
|
+
*/
|
|
32
|
+
html?: string;
|
|
33
|
+
/**
|
|
34
|
+
* Text content
|
|
35
|
+
*/
|
|
36
|
+
text?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Element ID
|
|
39
|
+
*/
|
|
40
|
+
id?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Element ariaLabel
|
|
43
|
+
*/
|
|
44
|
+
ariaLabel?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Dataset attributes
|
|
47
|
+
*/
|
|
48
|
+
data?: Record<string, string>;
|
|
49
|
+
/**
|
|
50
|
+
* CSS classes (will be automatically prefixed with 'mtrl-')
|
|
51
|
+
* Alias for 'className'
|
|
52
|
+
*/
|
|
53
|
+
class?: string | string[];
|
|
54
|
+
/**
|
|
55
|
+
* CSS classes (will be automatically prefixed with 'mtrl-')
|
|
56
|
+
* Alias for 'class'
|
|
57
|
+
*/
|
|
58
|
+
className?: string | string[];
|
|
59
|
+
/**
|
|
60
|
+
* CSS classes that will NOT be prefixed
|
|
61
|
+
* Added as-is to the element
|
|
62
|
+
*/
|
|
63
|
+
rawClass?: string | string[];
|
|
64
|
+
/**
|
|
65
|
+
* HTML attributes
|
|
66
|
+
*/
|
|
67
|
+
attributes?: Record<string, any>;
|
|
68
|
+
/**
|
|
69
|
+
* Events to forward when component has emit method
|
|
70
|
+
*/
|
|
71
|
+
forwardEvents?: Record<string, EventCondition>;
|
|
72
|
+
/**
|
|
73
|
+
* Callback after element creation
|
|
74
|
+
*/
|
|
75
|
+
onCreate?: (element: HTMLElement, context?: any) => void;
|
|
76
|
+
/**
|
|
77
|
+
* Component context
|
|
78
|
+
*/
|
|
79
|
+
context?: any;
|
|
80
|
+
/**
|
|
81
|
+
* Additional attributes
|
|
82
|
+
*/
|
|
83
|
+
[key: string]: any;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Options for SVG element creation, extends regular element options
|
|
87
|
+
*/
|
|
88
|
+
export interface CreateSVGElementOptions extends Omit<CreateElementOptions, 'container' | 'onCreate'> {
|
|
89
|
+
/**
|
|
90
|
+
* Container to append element to
|
|
91
|
+
*/
|
|
92
|
+
container?: DOMElement | null;
|
|
93
|
+
/**
|
|
94
|
+
* Callback after element creation
|
|
95
|
+
*/
|
|
96
|
+
onCreate?: (element: SVGElement, context?: any) => void;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Event handler storage to facilitate cleanup
|
|
100
|
+
*/
|
|
101
|
+
export interface EventHandlerStorage {
|
|
102
|
+
[eventName: string]: EventHandler;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Creates an HTML element with the specified options
|
|
106
|
+
*
|
|
107
|
+
* @param {CreateElementOptions} options - Element creation options
|
|
108
|
+
* @returns {HTMLElement} Created HTML element
|
|
109
|
+
*/
|
|
110
|
+
export declare const createElement: (options?: CreateElementOptions) => HTMLElement;
|
|
111
|
+
/**
|
|
112
|
+
* Creates an SVG element with the specified options
|
|
113
|
+
*
|
|
114
|
+
* @param {CreateSVGElementOptions} options - SVG element creation options
|
|
115
|
+
* @returns {SVGElement} Created SVG element
|
|
116
|
+
*/
|
|
117
|
+
export declare const createSVGElement: (options?: CreateSVGElementOptions) => SVGElement;
|
|
118
|
+
/**
|
|
119
|
+
* Removes event handlers from an element
|
|
120
|
+
* @param element - Element to cleanup
|
|
121
|
+
*/
|
|
122
|
+
export declare const removeEventHandlers: (element: HTMLElement | SVGElement) => void;
|
|
123
|
+
/**
|
|
124
|
+
* Higher-order function to add attributes to an element
|
|
125
|
+
* @param {Record<string, any>} attributes - Attributes to add
|
|
126
|
+
* @returns {(element: HTMLElement) => HTMLElement} Element transformer
|
|
127
|
+
*/
|
|
128
|
+
export declare const withAttributes: (attributes: Record<string, any>) => (element: HTMLElement) => HTMLElement;
|
|
129
|
+
/**
|
|
130
|
+
* Higher-order function to add classes to an element
|
|
131
|
+
* @param {...(string | string[])} classes - Classes to add
|
|
132
|
+
* @returns {(element: HTMLElement) => HTMLElement} Element transformer
|
|
133
|
+
*/
|
|
134
|
+
export declare const withClasses: (...classes: (string | string[])[]) => (element: HTMLElement) => HTMLElement;
|
|
135
|
+
/**
|
|
136
|
+
* Higher-order function to add content to an element
|
|
137
|
+
* @param {Node|string} content - Content to add
|
|
138
|
+
* @returns {(element: HTMLElement) => HTMLElement} Element transformer
|
|
139
|
+
*/
|
|
140
|
+
export declare const withContent: (content: Node | string) => (element: HTMLElement) => HTMLElement;
|
|
141
|
+
declare global {
|
|
142
|
+
interface HTMLElement {
|
|
143
|
+
/**
|
|
144
|
+
* Storage for event handlers to enable cleanup
|
|
145
|
+
*/
|
|
146
|
+
__eventHandlers?: EventHandlerStorage;
|
|
147
|
+
}
|
|
148
|
+
interface SVGElement {
|
|
149
|
+
/**
|
|
150
|
+
* Storage for event handlers to enable cleanup
|
|
151
|
+
*/
|
|
152
|
+
__eventHandlers?: EventHandlerStorage;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module core/dom
|
|
3
|
+
* @description DOM manipulation utilities
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Event manager interface for handling DOM events
|
|
7
|
+
*/
|
|
8
|
+
export interface EventManager {
|
|
9
|
+
/**
|
|
10
|
+
* Add an event listener with options
|
|
11
|
+
* @param event - Event name
|
|
12
|
+
* @param handler - Event handler
|
|
13
|
+
* @param options - addEventListener options
|
|
14
|
+
* @returns EventManager instance for chaining
|
|
15
|
+
*/
|
|
16
|
+
on: <T extends Event>(event: string, handler: (e: T) => void, options?: AddEventListenerOptions) => EventManager;
|
|
17
|
+
/**
|
|
18
|
+
* Remove an event listener
|
|
19
|
+
* @param event - Event name
|
|
20
|
+
* @param handler - Event handler
|
|
21
|
+
* @returns EventManager instance for chaining
|
|
22
|
+
*/
|
|
23
|
+
off: <T extends Event>(event: string, handler: (e: T) => void) => EventManager;
|
|
24
|
+
/**
|
|
25
|
+
* Temporarily disable all event listeners
|
|
26
|
+
* @returns EventManager instance for chaining
|
|
27
|
+
*/
|
|
28
|
+
pause: () => EventManager;
|
|
29
|
+
/**
|
|
30
|
+
* Re-enable all event listeners
|
|
31
|
+
* @returns EventManager instance for chaining
|
|
32
|
+
*/
|
|
33
|
+
resume: () => EventManager;
|
|
34
|
+
/**
|
|
35
|
+
* Remove all event listeners and clean up
|
|
36
|
+
*/
|
|
37
|
+
destroy: () => void;
|
|
38
|
+
/**
|
|
39
|
+
* Get all active handlers
|
|
40
|
+
* @returns Map of active handlers
|
|
41
|
+
*/
|
|
42
|
+
getHandlers: () => Map<string, HandlerInfo>;
|
|
43
|
+
/**
|
|
44
|
+
* Check if a specific handler exists
|
|
45
|
+
* @param event - Event name
|
|
46
|
+
* @param handler - Event handler
|
|
47
|
+
* @returns Whether handler exists
|
|
48
|
+
*/
|
|
49
|
+
hasHandler: <T extends Event>(event: string, handler: (e: T) => void) => boolean;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Handler information
|
|
53
|
+
*/
|
|
54
|
+
interface HandlerInfo {
|
|
55
|
+
original: EventListener;
|
|
56
|
+
enhanced: EventListener;
|
|
57
|
+
event: string;
|
|
58
|
+
options: AddEventListenerOptions;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Creates an event manager to handle DOM events with enhanced functionality.
|
|
62
|
+
* Provides a robust interface for managing event listeners with error handling,
|
|
63
|
+
* cleanup, and lifecycle management.
|
|
64
|
+
*
|
|
65
|
+
* @param element - DOM element to attach events to
|
|
66
|
+
* @returns Event manager interface
|
|
67
|
+
*/
|
|
68
|
+
export declare const createEventManager: (element: HTMLElement) => EventManager;
|
|
69
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { createElement, createSVGElement } from './create';
|
|
2
|
+
export type { CreateElementOptions } from './create';
|
|
3
|
+
export { setAttributes, removeAttributes } from './attributes';
|
|
4
|
+
export { addClass, removeClass, toggleClass, hasClass, normalizeClasses } from './classes';
|
|
5
|
+
export { createEventManager } from './events';
|
|
6
|
+
export type { EventManager } from './events';
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Normalizes class names input by handling various formats:
|
|
3
|
+
* - String with space-separated classes
|
|
4
|
+
* - Array of strings
|
|
5
|
+
* - Mixed array of strings and space-separated classes
|
|
6
|
+
*
|
|
7
|
+
* @param classes - Classes to normalize
|
|
8
|
+
* @returns Array of unique, non-empty class names
|
|
9
|
+
*/
|
|
10
|
+
export declare const normalizeClasses: (...classes: (string | string[])[]) => string[];
|
|
11
|
+
/**
|
|
12
|
+
* Creates a DOM element with attributes
|
|
13
|
+
*
|
|
14
|
+
* @param tag - Element tag name
|
|
15
|
+
* @param attributes - Element attributes
|
|
16
|
+
* @returns Created element
|
|
17
|
+
*/
|
|
18
|
+
export declare const createElement: <T extends HTMLElement>(tag: string, attributes?: Record<string, any>) => T;
|
|
19
|
+
/**
|
|
20
|
+
* Sets inline styles on an element
|
|
21
|
+
*
|
|
22
|
+
* @param element - Target element
|
|
23
|
+
* @param styles - Styles to set
|
|
24
|
+
* @returns Modified element
|
|
25
|
+
*/
|
|
26
|
+
export declare const setStyles: <T extends HTMLElement>(element: T, styles: Partial<CSSStyleDeclaration>) => T;
|
|
27
|
+
/**
|
|
28
|
+
* Checks if an element matches a selector
|
|
29
|
+
*
|
|
30
|
+
* @param element - Element to check
|
|
31
|
+
* @param selector - CSS selector
|
|
32
|
+
* @returns Whether element matches selector
|
|
33
|
+
*/
|
|
34
|
+
export declare const matches: (element: Element, selector: string) => boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Finds the closest ancestor matching a selector
|
|
37
|
+
*
|
|
38
|
+
* @param element - Starting element
|
|
39
|
+
* @param selector - CSS selector
|
|
40
|
+
* @returns Matching ancestor or null
|
|
41
|
+
*/
|
|
42
|
+
export declare const closest: <T extends HTMLElement>(element: Element, selector: string) => T | null;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module core/gestures
|
|
3
|
+
* @description Modular gesture recognition system for touch and mouse interactions
|
|
4
|
+
*/
|
|
5
|
+
export { createGestureManager, GESTURE_TYPES, SWIPE_DIRECTIONS } from './manager';
|
|
6
|
+
export { detectTap } from './tap';
|
|
7
|
+
export { detectSwipe } from './swipe';
|
|
8
|
+
export { detectLongPress } from './longpress';
|
|
9
|
+
export { detectPinch } from './pinch';
|
|
10
|
+
export { detectRotate } from './rotate';
|
|
11
|
+
export { detectPan } from './pan';
|
|
12
|
+
export type { GestureManager, GestureConfig, GestureEvent, TapEvent, SwipeEvent, LongPressEvent, PinchEvent, RotateEvent, PanEvent, AnyGestureEvent, GestureHandler, GestureState, GestureDetectionContext } from './types';
|