mtrl 0.3.8 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/LICENSE +21 -0
- package/dist/README.md +324 -0
- package/dist/components/badge/api.d.ts +48 -0
- package/{src/components/badge/badge.ts → dist/components/badge/badge.d.ts} +14 -57
- package/dist/components/badge/config.d.ts +79 -0
- package/dist/components/badge/constants.d.ts +35 -0
- package/dist/components/badge/features.d.ts +36 -0
- package/dist/components/badge/index.d.ts +8 -0
- package/dist/components/badge/types.d.ts +256 -0
- package/dist/components/bottom-app-bar/bottom-app-bar.d.ts +12 -0
- package/dist/components/bottom-app-bar/config.d.ts +16 -0
- package/dist/components/bottom-app-bar/constants.d.ts +22 -0
- package/{src/components/bottom-app-bar/index.ts → dist/components/bottom-app-bar/index.d.ts} +0 -9
- package/dist/components/bottom-app-bar/types.d.ts +96 -0
- package/dist/components/button/api.d.ts +47 -0
- package/dist/components/button/button.d.ts +25 -0
- package/dist/components/button/config.d.ts +59 -0
- package/dist/components/button/constants.d.ts +43 -0
- package/dist/components/button/index.d.ts +6 -0
- package/dist/components/button/types.d.ts +265 -0
- package/dist/components/card/api.d.ts +11 -0
- package/{src/components/card/card.ts → dist/components/card/card.d.ts} +10 -58
- package/dist/components/card/config.d.ts +105 -0
- package/dist/components/card/constants.d.ts +85 -0
- package/dist/components/card/content.d.ts +92 -0
- package/dist/components/card/features.d.ts +131 -0
- package/{src/components/card/index.ts → dist/components/card/index.d.ts} +13 -74
- package/dist/components/card/types.d.ts +471 -0
- package/dist/components/carousel/api.d.ts +33 -0
- package/dist/components/carousel/carousel.d.ts +75 -0
- package/dist/components/carousel/config.d.ts +45 -0
- package/dist/components/carousel/constants.d.ts +165 -0
- package/dist/components/carousel/features/drag.d.ts +8 -0
- package/{src/components/carousel/features/index.ts → dist/components/carousel/features/index.d.ts} +1 -4
- package/dist/components/carousel/features/slides.d.ts +8 -0
- package/{src/components/carousel/index.ts → dist/components/carousel/index.d.ts} +10 -29
- package/dist/components/carousel/types.d.ts +276 -0
- package/dist/components/checkbox/api.d.ts +7 -0
- package/dist/components/checkbox/checkbox.d.ts +65 -0
- package/dist/components/checkbox/config.d.ts +44 -0
- package/dist/components/checkbox/constants.d.ts +63 -0
- package/{src/components/checkbox/index.ts → dist/components/checkbox/index.d.ts} +8 -25
- package/dist/components/checkbox/types.d.ts +242 -0
- package/dist/components/chips/api.d.ts +49 -0
- package/dist/components/chips/chip/api.d.ts +23 -0
- package/dist/components/chips/chip/chip.d.ts +8 -0
- package/dist/components/chips/chip/config.d.ts +57 -0
- package/dist/components/chips/chip/constants.d.ts +38 -0
- package/dist/components/chips/chip/index.d.ts +2 -0
- package/dist/components/chips/chip/types.d.ts +11 -0
- package/dist/components/chips/chips.d.ts +17 -0
- package/dist/components/chips/config.d.ts +67 -0
- package/dist/components/chips/constants.d.ts +46 -0
- package/dist/components/chips/features/chip-items.d.ts +8 -0
- package/dist/components/chips/features/container.d.ts +8 -0
- package/dist/components/chips/features/controller.d.ts +9 -0
- package/{src/components/chips/features/index.ts → dist/components/chips/features/index.d.ts} +1 -2
- package/dist/components/chips/features/label.d.ts +8 -0
- package/dist/components/chips/index.d.ts +4 -0
- package/dist/components/chips/schema.d.ts +34 -0
- package/dist/components/chips/types.d.ts +398 -0
- package/dist/components/datepicker/api.d.ts +9 -0
- package/dist/components/datepicker/config.d.ts +79 -0
- package/dist/components/datepicker/constants.d.ts +97 -0
- package/dist/components/datepicker/datepicker.d.ts +8 -0
- package/dist/components/datepicker/index.d.ts +3 -0
- package/dist/components/datepicker/render.d.ts +43 -0
- package/dist/components/datepicker/types.d.ts +321 -0
- package/dist/components/datepicker/utils.d.ts +84 -0
- package/dist/components/dialog/api.d.ts +59 -0
- package/dist/components/dialog/config.d.ts +91 -0
- package/dist/components/dialog/constants.d.ts +116 -0
- package/{src/components/dialog/dialog.ts → dist/components/dialog/dialog.d.ts} +16 -69
- package/dist/components/dialog/features.d.ts +37 -0
- package/dist/components/dialog/index.d.ts +14 -0
- package/dist/components/dialog/types.d.ts +483 -0
- package/dist/components/divider/config.d.ts +143 -0
- package/dist/components/divider/constants.d.ts +45 -0
- package/{src/components/divider/divider.ts → dist/components/divider/divider.d.ts} +9 -37
- package/dist/components/divider/features.d.ts +50 -0
- package/{src/components/divider/index.ts → dist/components/divider/index.d.ts} +6 -12
- package/dist/components/divider/types.d.ts +124 -0
- package/dist/components/extended-fab/api.d.ts +83 -0
- package/dist/components/extended-fab/config.d.ts +75 -0
- package/dist/components/extended-fab/constants.d.ts +82 -0
- package/dist/components/extended-fab/extended-fab.d.ts +61 -0
- package/{src/components/extended-fab/index.ts → dist/components/extended-fab/index.d.ts} +6 -15
- package/dist/components/extended-fab/types.d.ts +703 -0
- package/dist/components/fab/api.d.ts +64 -0
- package/dist/components/fab/config.d.ts +71 -0
- package/dist/components/fab/constants.d.ts +75 -0
- package/{src/components/fab/fab.ts → dist/components/fab/fab.d.ts} +10 -46
- package/{src/components/fab/index.ts → dist/components/fab/index.d.ts} +6 -15
- package/dist/components/fab/types.d.ts +577 -0
- package/dist/components/index.d.ts +76 -0
- package/dist/components/list/api.d.ts +106 -0
- package/dist/components/list/config.d.ts +61 -0
- package/dist/components/list/constants.d.ts +76 -0
- package/dist/components/list/features/index.d.ts +2 -0
- package/dist/components/list/features/listmanager.d.ts +9 -0
- package/dist/components/list/features/selection.d.ts +9 -0
- package/dist/components/list/index.d.ts +12 -0
- package/dist/components/list/list.d.ts +11 -0
- package/dist/components/list/types.d.ts +294 -0
- package/dist/components/menu/api.d.ts +58 -0
- package/dist/components/menu/config.d.ts +78 -0
- package/dist/components/menu/constants.d.ts +106 -0
- package/dist/components/menu/features/controller.d.ts +10 -0
- package/dist/components/menu/features/index.d.ts +6 -0
- package/dist/components/menu/features/keyboard.d.ts +26 -0
- package/dist/components/menu/features/opener.d.ts +10 -0
- package/dist/components/menu/features/position.d.ts +18 -0
- package/dist/components/menu/features/submenu.d.ts +10 -0
- package/{src/components/menu/index.ts → dist/components/menu/index.d.ts} +11 -27
- package/dist/components/menu/menu.d.ts +29 -0
- package/dist/components/menu/types.d.ts +338 -0
- package/dist/components/navigation/api.d.ts +8 -0
- package/dist/components/navigation/config.d.ts +34 -0
- package/dist/components/navigation/constants.d.ts +137 -0
- package/dist/components/navigation/features/controller.d.ts +30 -0
- package/dist/components/navigation/features/items.d.ts +32 -0
- package/dist/components/navigation/index.d.ts +3 -0
- package/dist/components/navigation/nav-item.d.ts +30 -0
- package/dist/components/navigation/navigation.d.ts +8 -0
- package/dist/components/navigation/system/core.d.ts +72 -0
- package/dist/components/navigation/system/events.d.ts +35 -0
- package/dist/components/navigation/system/index.d.ts +10 -0
- package/dist/components/navigation/system/mobile.d.ts +52 -0
- package/dist/components/navigation/system/state.d.ts +22 -0
- package/dist/components/navigation/system/types.d.ts +305 -0
- package/dist/components/navigation/types.d.ts +216 -0
- package/dist/components/progress/api.d.ts +46 -0
- package/dist/components/progress/config.d.ts +72 -0
- package/dist/components/progress/constants.d.ts +139 -0
- package/dist/components/progress/features/canvas.d.ts +32 -0
- package/dist/components/progress/features/circular.d.ts +9 -0
- package/dist/components/progress/features/index.d.ts +8 -0
- package/dist/components/progress/features/linear.d.ts +9 -0
- package/dist/components/progress/features/resize-observer.d.ts +5 -0
- package/dist/components/progress/features/state.d.ts +38 -0
- package/dist/components/progress/features.d.ts +40 -0
- package/dist/components/progress/index.d.ts +3 -0
- package/dist/components/progress/progress.d.ts +24 -0
- package/dist/components/progress/types.d.ts +272 -0
- package/dist/components/radios/api.d.ts +37 -0
- package/dist/components/radios/config.d.ts +42 -0
- package/dist/components/radios/constants.d.ts +114 -0
- package/dist/components/radios/index.d.ts +3 -0
- package/dist/components/radios/radio.d.ts +8 -0
- package/dist/components/radios/radios.d.ts +8 -0
- package/dist/components/radios/types.d.ts +189 -0
- package/dist/components/search/api.d.ts +55 -0
- package/dist/components/search/config.d.ts +73 -0
- package/dist/components/search/constants.d.ts +128 -0
- package/{src/components/search/features/index.ts → dist/components/search/features/index.d.ts} +1 -2
- package/dist/components/search/features/search.d.ts +7 -0
- package/dist/components/search/features/states.d.ts +8 -0
- package/dist/components/search/features/structure.d.ts +7 -0
- package/dist/components/search/index.d.ts +3 -0
- package/dist/components/search/search.d.ts +8 -0
- package/dist/components/search/types.d.ts +132 -0
- package/dist/components/segmented-button/config.d.ts +65 -0
- package/dist/components/segmented-button/constants.d.ts +85 -0
- package/dist/components/segmented-button/index.d.ts +4 -0
- package/dist/components/segmented-button/segment.d.ts +15 -0
- package/dist/components/segmented-button/segmented-button.d.ts +49 -0
- package/dist/components/segmented-button/types.d.ts +257 -0
- package/dist/components/select/api.d.ts +8 -0
- package/dist/components/select/config.d.ts +18 -0
- package/dist/components/select/constants.d.ts +113 -0
- package/dist/components/select/features.d.ts +13 -0
- package/{src/components/select/index.ts → dist/components/select/index.d.ts} +7 -20
- package/dist/components/select/select.d.ts +36 -0
- package/dist/components/select/types.d.ts +302 -0
- package/dist/components/sheet/api.d.ts +37 -0
- package/dist/components/sheet/config.d.ts +42 -0
- package/dist/components/sheet/constants.d.ts +136 -0
- package/dist/components/sheet/features/content.d.ts +6 -0
- package/dist/components/sheet/features/gestures.d.ts +6 -0
- package/{src/components/sheet/features/index.ts → dist/components/sheet/features/index.d.ts} +1 -2
- package/dist/components/sheet/features/position.d.ts +7 -0
- package/dist/components/sheet/features/state.d.ts +6 -0
- package/dist/components/sheet/features/title.d.ts +6 -0
- package/dist/components/sheet/index.d.ts +3 -0
- package/dist/components/sheet/sheet.d.ts +8 -0
- package/dist/components/sheet/types.d.ts +250 -0
- package/dist/components/slider/api.d.ts +57 -0
- package/dist/components/slider/config.d.ts +75 -0
- package/dist/components/slider/constants.d.ts +138 -0
- package/dist/components/slider/features/controller.d.ts +9 -0
- package/dist/components/slider/features/handlers.d.ts +25 -0
- package/dist/components/slider/features/index.d.ts +3 -0
- package/dist/components/slider/features/range.d.ts +8 -0
- package/dist/components/slider/features/states.d.ts +9 -0
- package/dist/components/slider/index.d.ts +3 -0
- package/dist/components/slider/schema.d.ts +108 -0
- package/dist/components/slider/slider.d.ts +18 -0
- package/dist/components/slider/types.d.ts +170 -0
- package/dist/components/snackbar/api.d.ts +7 -0
- package/dist/components/snackbar/config.d.ts +55 -0
- package/dist/components/snackbar/constants.d.ts +88 -0
- package/dist/components/snackbar/features.d.ts +13 -0
- package/dist/components/snackbar/index.d.ts +3 -0
- package/dist/components/snackbar/position.d.ts +15 -0
- package/dist/components/snackbar/queue.d.ts +7 -0
- package/dist/components/snackbar/snackbar.d.ts +8 -0
- package/dist/components/snackbar/types.d.ts +172 -0
- package/dist/components/switch/api.d.ts +7 -0
- package/dist/components/switch/config.d.ts +34 -0
- package/dist/components/switch/constants.d.ts +88 -0
- package/dist/components/switch/features.d.ts +59 -0
- package/dist/components/switch/index.d.ts +4 -0
- package/dist/components/switch/switch.d.ts +8 -0
- package/dist/components/switch/types.d.ts +131 -0
- package/dist/components/tabs/api.d.ts +52 -0
- package/dist/components/tabs/config.d.ts +39 -0
- package/dist/components/tabs/constants.d.ts +142 -0
- package/dist/components/tabs/features.d.ts +133 -0
- package/dist/components/tabs/index.d.ts +11 -0
- package/dist/components/tabs/indicator.d.ts +49 -0
- package/dist/components/tabs/responsive.d.ts +38 -0
- package/dist/components/tabs/scroll-indicators.d.ts +18 -0
- package/dist/components/tabs/state.d.ts +53 -0
- package/dist/components/tabs/tab-api.d.ts +43 -0
- package/dist/components/tabs/tab.d.ts +7 -0
- package/dist/components/tabs/tabs.d.ts +27 -0
- package/dist/components/tabs/types.d.ts +390 -0
- package/dist/components/tabs/utils.d.ts +17 -0
- package/dist/components/textfield/api.d.ts +8 -0
- package/dist/components/textfield/config.d.ts +34 -0
- package/dist/components/textfield/constants.d.ts +148 -0
- package/{src/components/textfield/features/index.ts → dist/components/textfield/features/index.d.ts} +1 -6
- package/dist/components/textfield/features/leading-icon.d.ts +55 -0
- package/dist/components/textfield/features/placement.d.ts +28 -0
- package/dist/components/textfield/features/prefix-text.d.ts +54 -0
- package/dist/components/textfield/features/suffix-text.d.ts +54 -0
- package/dist/components/textfield/features/supporting-text.d.ts +59 -0
- package/dist/components/textfield/features/trailing-icon.d.ts +55 -0
- package/dist/components/textfield/index.d.ts +3 -0
- package/dist/components/textfield/textfield.d.ts +36 -0
- package/dist/components/textfield/types.d.ts +217 -0
- package/dist/components/timepicker/api.d.ts +24 -0
- package/dist/components/timepicker/clockdial.d.ts +34 -0
- package/dist/components/timepicker/config.d.ts +75 -0
- package/dist/components/timepicker/constants.d.ts +266 -0
- package/dist/components/timepicker/index.d.ts +4 -0
- package/dist/components/timepicker/render.d.ts +9 -0
- package/dist/components/timepicker/timepicker.d.ts +8 -0
- package/dist/components/timepicker/types.d.ts +284 -0
- package/dist/components/timepicker/utils.d.ts +74 -0
- package/dist/components/tooltip/api.d.ts +18 -0
- package/dist/components/tooltip/config.d.ts +38 -0
- package/dist/components/tooltip/constants.d.ts +108 -0
- package/dist/components/tooltip/index.d.ts +3 -0
- package/dist/components/tooltip/tooltip.d.ts +8 -0
- package/dist/components/tooltip/types.d.ts +188 -0
- package/dist/components/top-app-bar/config.d.ts +16 -0
- package/dist/components/top-app-bar/constants.d.ts +74 -0
- package/{src/components/top-app-bar/index.ts → dist/components/top-app-bar/index.d.ts} +2 -4
- package/dist/components/top-app-bar/top-app-bar.d.ts +68 -0
- package/dist/components/top-app-bar/types.d.ts +118 -0
- package/dist/constants.d.ts +30 -0
- package/dist/core/canvas/index.d.ts +5 -0
- package/dist/core/canvas/resize.d.ts +14 -0
- package/dist/core/collection/adapters/base.d.ts +47 -0
- package/dist/core/collection/adapters/route.d.ts +149 -0
- package/dist/core/collection/collection.d.ts +131 -0
- package/dist/core/collection/index.d.ts +10 -0
- package/dist/core/collection/list-manager/config.d.ts +29 -0
- package/dist/core/collection/list-manager/dom-elements.d.ts +30 -0
- package/dist/core/collection/list-manager/index.d.ts +61 -0
- package/dist/core/collection/list-manager/item-measurement.d.ts +91 -0
- package/dist/core/collection/list-manager/renderer.d.ts +31 -0
- package/dist/core/collection/list-manager/scroll-tracker.d.ts +20 -0
- package/dist/core/collection/list-manager/state.d.ts +60 -0
- package/dist/core/collection/list-manager/types.d.ts +361 -0
- package/dist/core/collection/list-manager/utils/recycling.d.ts +34 -0
- package/dist/core/collection/list-manager/utils/visibility.d.ts +45 -0
- package/dist/core/compose/base.d.ts +31 -0
- package/dist/core/compose/component.d.ts +61 -0
- package/dist/core/compose/features/badge.d.ts +43 -0
- package/dist/core/compose/features/checkable.d.ts +59 -0
- package/dist/core/compose/features/constants.d.ts +45 -0
- package/dist/core/compose/features/debounce.d.ts +84 -0
- package/dist/core/compose/features/disabled.d.ts +47 -0
- package/dist/core/compose/features/events.d.ts +37 -0
- package/dist/core/compose/features/gestures/longpress.d.ts +85 -0
- package/dist/core/compose/features/gestures/pan.d.ts +108 -0
- package/dist/core/compose/features/gestures/pinch.d.ts +111 -0
- package/dist/core/compose/features/gestures/rotate.d.ts +111 -0
- package/dist/core/compose/features/gestures/swipe.d.ts +149 -0
- package/dist/core/compose/features/gestures/tap.d.ts +79 -0
- package/dist/core/compose/features/gestures.d.ts +86 -0
- package/dist/core/compose/features/icon.d.ts +71 -0
- package/{src/core/compose/features/index.ts → dist/core/compose/features/index.d.ts} +7 -8
- package/dist/core/compose/features/input.d.ts +71 -0
- package/dist/core/compose/features/lifecycle.d.ts +61 -0
- package/dist/core/compose/features/position.d.ts +51 -0
- package/dist/core/compose/features/ripple.d.ts +61 -0
- package/dist/core/compose/features/size.d.ts +17 -0
- package/dist/core/compose/features/style.d.ts +16 -0
- package/dist/core/compose/features/text.d.ts +63 -0
- package/dist/core/compose/features/textinput.d.ts +93 -0
- package/dist/core/compose/features/textlabel.d.ts +57 -0
- package/dist/core/compose/features/throttle.d.ts +75 -0
- package/dist/core/compose/features/track.d.ts +42 -0
- package/dist/core/compose/features/variant.d.ts +17 -0
- package/dist/core/compose/features/withEvents.d.ts +45 -0
- package/dist/core/compose/index.d.ts +17 -0
- package/{src/core/compose/pipe.ts → dist/core/compose/pipe.d.ts} +4 -20
- package/dist/core/compose/utils/type-guards.d.ts +27 -0
- package/dist/core/composition/features/dom.d.ts +19 -0
- package/dist/core/composition/features/icon.d.ts +45 -0
- package/{src/core/composition/features/index.ts → dist/core/composition/features/index.d.ts} +1 -6
- package/dist/core/composition/features/label.d.ts +49 -0
- package/{src/core/composition/features/layout.ts → dist/core/composition/features/layout.d.ts} +8 -24
- package/{src/core/composition/index.ts → dist/core/composition/index.d.ts} +4 -14
- package/{src/core/config/component-config.ts → dist/core/config/component.d.ts} +35 -83
- package/dist/core/config.d.ts +130 -0
- package/dist/core/dom/attributes.d.ts +20 -0
- package/dist/core/dom/classes.d.ts +52 -0
- package/dist/core/dom/create.d.ts +154 -0
- package/dist/core/dom/events.d.ts +69 -0
- package/dist/core/dom/index.d.ts +6 -0
- package/dist/core/dom/utils.d.ts +42 -0
- package/dist/core/gestures/index.d.ts +12 -0
- package/dist/core/gestures/longpress.d.ts +23 -0
- package/dist/core/gestures/manager.d.ts +14 -0
- package/dist/core/gestures/pan.d.ts +12 -0
- package/dist/core/gestures/pinch.d.ts +14 -0
- package/dist/core/gestures/rotate.d.ts +14 -0
- package/dist/core/gestures/swipe.d.ts +20 -0
- package/dist/core/gestures/tap.d.ts +12 -0
- package/dist/core/gestures/types.d.ts +320 -0
- package/dist/core/gestures/utils.d.ts +57 -0
- package/dist/core/index.d.ts +29 -0
- package/dist/core/layout/array.d.ts +15 -0
- package/dist/core/layout/config.d.ts +32 -0
- package/dist/core/layout/create.d.ts +14 -0
- package/dist/core/layout/index.d.ts +13 -0
- package/dist/core/layout/jsx.d.ts +13 -0
- package/dist/core/layout/object.d.ts +14 -0
- package/dist/core/layout/processor.d.ts +28 -0
- package/dist/core/layout/result.d.ts +12 -0
- package/dist/core/layout/template.d.ts +12 -0
- package/dist/core/layout/types.d.ts +137 -0
- package/dist/core/layout/utils.d.ts +38 -0
- package/dist/core/state/disabled.d.ts +32 -0
- package/dist/core/state/emitter.d.ts +40 -0
- package/dist/core/state/events.d.ts +36 -0
- package/{src/core/state/index.ts → dist/core/state/index.d.ts} +1 -7
- package/dist/core/state/lifecycle.d.ts +57 -0
- package/dist/core/state/store.d.ts +82 -0
- package/dist/core/utils/background.d.ts +40 -0
- package/dist/core/utils/index.d.ts +18 -0
- package/dist/core/utils/mobile.d.ts +54 -0
- package/dist/core/utils/object.d.ts +13 -0
- package/dist/core/utils/performance.d.ts +79 -0
- package/dist/core/utils/theme.d.ts +38 -0
- package/dist/core/utils/validate.d.ts +73 -0
- package/dist/index.cjs +64 -0
- package/dist/index.cjs.map +291 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.js +53 -14854
- package/dist/index.js.map +291 -0
- package/dist/package.json +39 -0
- package/dist/styles.css +7 -0
- package/package.json +23 -4
- package/.env +0 -15
- package/.typedocignore +0 -11
- package/CONTRIBUTING.md +0 -218
- package/DOCS.md +0 -153
- package/TESTING.md +0 -214
- package/git-user-stats.js +0 -545
- package/index.ts +0 -10
- package/src/components/badge/api.ts +0 -313
- package/src/components/badge/config.ts +0 -153
- package/src/components/badge/features.ts +0 -194
- package/src/components/badge/index.ts +0 -90
- package/src/components/badge/types.ts +0 -279
- package/src/components/bottom-app-bar/bottom-app-bar.ts +0 -154
- package/src/components/bottom-app-bar/config.ts +0 -29
- package/src/components/bottom-app-bar/types.ts +0 -114
- package/src/components/button/api.ts +0 -172
- package/src/components/button/button.ts +0 -112
- package/src/components/button/config.ts +0 -96
- package/src/components/button/index.ts +0 -37
- package/src/components/button/types.ts +0 -290
- package/src/components/card/api.ts +0 -222
- package/src/components/card/config.ts +0 -304
- package/src/components/card/content.ts +0 -343
- package/src/components/card/features.ts +0 -407
- package/src/components/card/types.ts +0 -497
- package/src/components/carousel/api.ts +0 -147
- package/src/components/carousel/carousel.ts +0 -242
- package/src/components/carousel/config.ts +0 -91
- package/src/components/carousel/constants.ts +0 -181
- package/src/components/carousel/features/drag.ts +0 -388
- package/src/components/carousel/features/slides.ts +0 -682
- package/src/components/carousel/types.ts +0 -327
- package/src/components/checkbox/api.ts +0 -82
- package/src/components/checkbox/checkbox.ts +0 -142
- package/src/components/checkbox/config.ts +0 -89
- package/src/components/checkbox/types.ts +0 -342
- package/src/components/chips/api.ts +0 -194
- package/src/components/chips/chip/api.ts +0 -233
- package/src/components/chips/chip/chip.ts +0 -131
- package/src/components/chips/chip/config.ts +0 -91
- package/src/components/chips/chip/index.ts +0 -3
- package/src/components/chips/chips.md +0 -481
- package/src/components/chips/chips.ts +0 -75
- package/src/components/chips/config.ts +0 -109
- package/src/components/chips/constants.ts +0 -61
- package/src/components/chips/features/chip-items.ts +0 -33
- package/src/components/chips/features/container.ts +0 -77
- package/src/components/chips/features/controller.ts +0 -448
- package/src/components/chips/features/label.ts +0 -108
- package/src/components/chips/index.ts +0 -11
- package/src/components/chips/schema.ts +0 -61
- package/src/components/chips/types.ts +0 -469
- package/src/components/datepicker/api.ts +0 -265
- package/src/components/datepicker/config.ts +0 -141
- package/src/components/datepicker/datepicker.ts +0 -341
- package/src/components/datepicker/index.ts +0 -12
- package/src/components/datepicker/render.ts +0 -450
- package/src/components/datepicker/types.ts +0 -397
- package/src/components/datepicker/utils.ts +0 -289
- package/src/components/dialog/api.ts +0 -317
- package/src/components/dialog/config.ts +0 -116
- package/src/components/dialog/features.ts +0 -907
- package/src/components/dialog/index.ts +0 -141
- package/src/components/dialog/types.ts +0 -553
- package/src/components/divider/config.ts +0 -165
- package/src/components/divider/features.ts +0 -233
- package/src/components/divider/types.ts +0 -132
- package/src/components/extended-fab/api.ts +0 -193
- package/src/components/extended-fab/config.ts +0 -140
- package/src/components/extended-fab/extended-fab.ts +0 -153
- package/src/components/extended-fab/types.ts +0 -749
- package/src/components/fab/api.ts +0 -137
- package/src/components/fab/config.ts +0 -121
- package/src/components/fab/types.ts +0 -615
- package/src/components/list/api.ts +0 -82
- package/src/components/list/config.ts +0 -63
- package/src/components/list/features.ts +0 -229
- package/src/components/list/index.ts +0 -67
- package/src/components/list/list-item.ts +0 -163
- package/src/components/list/list.ts +0 -108
- package/src/components/list/types.ts +0 -396
- package/src/components/list/utils.ts +0 -98
- package/src/components/menu/api.ts +0 -230
- package/src/components/menu/config.ts +0 -127
- package/src/components/menu/features/anchor.ts +0 -394
- package/src/components/menu/features/controller.ts +0 -1423
- package/src/components/menu/features/index.ts +0 -13
- package/src/components/menu/features/position.ts +0 -353
- package/src/components/menu/menu.ts +0 -121
- package/src/components/menu/types.ts +0 -392
- package/src/components/navigation/api.ts +0 -142
- package/src/components/navigation/config.ts +0 -73
- package/src/components/navigation/features/controller.ts +0 -273
- package/src/components/navigation/features/items.ts +0 -353
- package/src/components/navigation/index.ts +0 -11
- package/src/components/navigation/nav-item.ts +0 -196
- package/src/components/navigation/navigation.ts +0 -115
- package/src/components/navigation/system/core.ts +0 -302
- package/src/components/navigation/system/events.ts +0 -240
- package/src/components/navigation/system/index.ts +0 -184
- package/src/components/navigation/system/mobile.ts +0 -278
- package/src/components/navigation/system/state.ts +0 -77
- package/src/components/navigation/system/types.ts +0 -364
- package/src/components/navigation/types.ts +0 -292
- package/src/components/progress/api.ts +0 -178
- package/src/components/progress/config.ts +0 -122
- package/src/components/progress/index.ts +0 -4
- package/src/components/progress/progress.ts +0 -159
- package/src/components/progress/types.ts +0 -255
- package/src/components/radios/api.ts +0 -125
- package/src/components/radios/config.ts +0 -59
- package/src/components/radios/constants.ts +0 -19
- package/src/components/radios/index.ts +0 -3
- package/src/components/radios/radio.ts +0 -292
- package/src/components/radios/radios.ts +0 -43
- package/src/components/radios/types.ts +0 -219
- package/src/components/search/api.ts +0 -203
- package/src/components/search/config.ts +0 -86
- package/src/components/search/features/search.ts +0 -717
- package/src/components/search/features/states.ts +0 -169
- package/src/components/search/features/structure.ts +0 -197
- package/src/components/search/index.ts +0 -7
- package/src/components/search/search.ts +0 -52
- package/src/components/search/types.ts +0 -175
- package/src/components/segmented-button/config.ts +0 -119
- package/src/components/segmented-button/index.ts +0 -4
- package/src/components/segmented-button/segment.ts +0 -108
- package/src/components/segmented-button/segmented-button.ts +0 -361
- package/src/components/segmented-button/types.ts +0 -306
- package/src/components/select/api.ts +0 -78
- package/src/components/select/config.ts +0 -76
- package/src/components/select/features.ts +0 -331
- package/src/components/select/select.ts +0 -73
- package/src/components/select/types.ts +0 -355
- package/src/components/sheet/api.ts +0 -96
- package/src/components/sheet/config.ts +0 -65
- package/src/components/sheet/features/content.ts +0 -51
- package/src/components/sheet/features/gestures.ts +0 -177
- package/src/components/sheet/features/position.ts +0 -41
- package/src/components/sheet/features/state.ts +0 -116
- package/src/components/sheet/features/title.ts +0 -86
- package/src/components/sheet/index.ts +0 -12
- package/src/components/sheet/sheet.ts +0 -56
- package/src/components/sheet/types.ts +0 -294
- package/src/components/slider/accessibility.md +0 -59
- package/src/components/slider/api.ts +0 -192
- package/src/components/slider/config.ts +0 -118
- package/src/components/slider/features/controller.ts +0 -737
- package/src/components/slider/features/handlers.ts +0 -497
- package/src/components/slider/features/index.ts +0 -5
- package/src/components/slider/features/range.ts +0 -104
- package/src/components/slider/features/states.ts +0 -195
- package/src/components/slider/index.ts +0 -17
- package/src/components/slider/schema.ts +0 -141
- package/src/components/slider/slider.ts +0 -76
- package/src/components/slider/types.ts +0 -223
- package/src/components/snackbar/api.ts +0 -162
- package/src/components/snackbar/config.ts +0 -61
- package/src/components/snackbar/features.ts +0 -76
- package/src/components/snackbar/index.ts +0 -9
- package/src/components/snackbar/position.ts +0 -79
- package/src/components/snackbar/queue.ts +0 -76
- package/src/components/snackbar/snackbar.ts +0 -60
- package/src/components/snackbar/types.ts +0 -159
- package/src/components/switch/api.ts +0 -93
- package/src/components/switch/config.ts +0 -56
- package/src/components/switch/features.ts +0 -198
- package/src/components/switch/index.ts +0 -8
- package/src/components/switch/switch.ts +0 -52
- package/src/components/switch/types.ts +0 -168
- package/src/components/tabs/api.ts +0 -221
- package/src/components/tabs/config.ts +0 -73
- package/src/components/tabs/features.ts +0 -403
- package/src/components/tabs/index.ts +0 -46
- package/src/components/tabs/indicator.ts +0 -285
- package/src/components/tabs/responsive.ts +0 -144
- package/src/components/tabs/scroll-indicators.ts +0 -149
- package/src/components/tabs/state.ts +0 -186
- package/src/components/tabs/tab-api.ts +0 -266
- package/src/components/tabs/tab.ts +0 -267
- package/src/components/tabs/tabs.ts +0 -71
- package/src/components/tabs/types.ts +0 -461
- package/src/components/tabs/utils.ts +0 -107
- package/src/components/textfield/api.ts +0 -197
- package/src/components/textfield/config.ts +0 -52
- package/src/components/textfield/features/leading-icon.ts +0 -127
- package/src/components/textfield/features/placement.ts +0 -149
- package/src/components/textfield/features/prefix-text.ts +0 -107
- package/src/components/textfield/features/suffix-text.ts +0 -100
- package/src/components/textfield/features/supporting-text.ts +0 -113
- package/src/components/textfield/features/trailing-icon.ts +0 -108
- package/src/components/textfield/index.ts +0 -9
- package/src/components/textfield/textfield.ts +0 -92
- package/src/components/textfield/types.ts +0 -265
- package/src/components/timepicker/README.md +0 -277
- package/src/components/timepicker/api.ts +0 -632
- package/src/components/timepicker/clockdial.ts +0 -479
- package/src/components/timepicker/config.ts +0 -228
- package/src/components/timepicker/index.ts +0 -3
- package/src/components/timepicker/render.ts +0 -613
- package/src/components/timepicker/timepicker.ts +0 -117
- package/src/components/timepicker/types.ts +0 -336
- package/src/components/timepicker/utils.ts +0 -241
- package/src/components/tooltip/api.ts +0 -415
- package/src/components/tooltip/config.ts +0 -80
- package/src/components/tooltip/index.ts +0 -12
- package/src/components/tooltip/tooltip.ts +0 -60
- package/src/components/tooltip/types.ts +0 -223
- package/src/components/top-app-bar/config.ts +0 -83
- package/src/components/top-app-bar/top-app-bar.ts +0 -316
- package/src/components/top-app-bar/types.ts +0 -140
- package/src/core/build/constants.ts +0 -48
- package/src/core/build/icon.ts +0 -137
- package/src/core/build/ripple.ts +0 -193
- package/src/core/build/text.ts +0 -91
- package/src/core/collection/adapters/base.ts +0 -62
- package/src/core/collection/adapters/route.ts +0 -201
- package/src/core/collection/collection.ts +0 -300
- package/src/core/collection/index.ts +0 -57
- package/src/core/collection/list-manager.ts +0 -333
- package/src/core/compose/base.ts +0 -43
- package/src/core/compose/component.ts +0 -255
- package/src/core/compose/features/badge.ts +0 -79
- package/src/core/compose/features/checkable.ts +0 -155
- package/src/core/compose/features/disabled.ts +0 -116
- package/src/core/compose/features/events.ts +0 -65
- package/src/core/compose/features/icon.ts +0 -71
- package/src/core/compose/features/input.ts +0 -174
- package/src/core/compose/features/lifecycle.ts +0 -139
- package/src/core/compose/features/position.ts +0 -94
- package/src/core/compose/features/ripple.ts +0 -58
- package/src/core/compose/features/size.ts +0 -29
- package/src/core/compose/features/style.ts +0 -31
- package/src/core/compose/features/text.ts +0 -44
- package/src/core/compose/features/textinput.ts +0 -238
- package/src/core/compose/features/textlabel.ts +0 -113
- package/src/core/compose/features/track.ts +0 -84
- package/src/core/compose/features/variant.ts +0 -29
- package/src/core/compose/features/withEvents.ts +0 -137
- package/src/core/compose/index.ts +0 -54
- package/src/core/composition/features/dom.ts +0 -45
- package/src/core/composition/features/icon.ts +0 -131
- package/src/core/composition/features/label.ts +0 -155
- package/src/core/config.ts +0 -211
- package/src/core/dom/attributes.ts +0 -33
- package/src/core/dom/classes.ts +0 -132
- package/src/core/dom/create.ts +0 -273
- package/src/core/dom/events.ts +0 -209
- package/src/core/dom/index.ts +0 -10
- package/src/core/dom/utils.ts +0 -97
- package/src/core/index.ts +0 -111
- package/src/core/layout/README.md +0 -715
- package/src/core/layout/array.ts +0 -180
- package/src/core/layout/config.ts +0 -193
- package/src/core/layout/create.ts +0 -54
- package/src/core/layout/index.ts +0 -36
- package/src/core/layout/object.ts +0 -123
- package/src/core/layout/processor.ts +0 -106
- package/src/core/layout/result.ts +0 -84
- package/src/core/layout/types.ts +0 -180
- package/src/core/layout/utils.ts +0 -144
- package/src/core/state/disabled.ts +0 -81
- package/src/core/state/emitter.ts +0 -94
- package/src/core/state/events.ts +0 -88
- package/src/core/state/lifecycle.ts +0 -131
- package/src/core/state/store.ts +0 -197
- package/src/core/utils/index.ts +0 -45
- package/src/core/utils/mobile.ts +0 -98
- package/src/core/utils/object.ts +0 -41
- package/src/core/utils/validate.ts +0 -234
- package/src/index.ts +0 -90
- package/src/styles/abstract/_base.scss +0 -2
- package/src/styles/abstract/_config.scss +0 -28
- package/src/styles/abstract/_functions.scss +0 -124
- package/src/styles/abstract/_mixins.scss +0 -352
- package/src/styles/abstract/_theme.scss +0 -269
- package/src/styles/abstract/_variables.scss +0 -305
- package/src/styles/base/_reset.scss +0 -86
- package/src/styles/base/_typography.scss +0 -155
- package/src/styles/components/_badge.scss +0 -182
- package/src/styles/components/_bottom-app-bar.scss +0 -103
- package/src/styles/components/_button.scss +0 -224
- package/src/styles/components/_card.scss +0 -401
- package/src/styles/components/_carousel.scss +0 -645
- package/src/styles/components/_checkbox.scss +0 -231
- package/src/styles/components/_chips.scss +0 -638
- package/src/styles/components/_datepicker.scss +0 -358
- package/src/styles/components/_dialog.scss +0 -259
- package/src/styles/components/_divider.scss +0 -57
- package/src/styles/components/_extended-fab.scss +0 -267
- package/src/styles/components/_fab.scss +0 -225
- package/src/styles/components/_list.scss +0 -248
- package/src/styles/components/_menu.scss +0 -242
- package/src/styles/components/_navigation-mobile.scss +0 -244
- package/src/styles/components/_navigation-system.scss +0 -151
- package/src/styles/components/_navigation.scss +0 -407
- package/src/styles/components/_progress.scss +0 -151
- package/src/styles/components/_radios.scss +0 -187
- package/src/styles/components/_search.scss +0 -306
- package/src/styles/components/_segmented-button.scss +0 -227
- package/src/styles/components/_select.scss +0 -272
- package/src/styles/components/_sheet.scss +0 -236
- package/src/styles/components/_slider.scss +0 -489
- package/src/styles/components/_snackbar.scss +0 -211
- package/src/styles/components/_switch.scss +0 -298
- package/src/styles/components/_tabs.scss +0 -416
- package/src/styles/components/_textfield.scss +0 -773
- package/src/styles/components/_timepicker.scss +0 -451
- package/src/styles/components/_tooltip.scss +0 -241
- package/src/styles/components/_top-app-bar.scss +0 -225
- package/src/styles/main.scss +0 -175
- package/src/styles/themes/_autumn.scss +0 -105
- package/src/styles/themes/_base-theme.scss +0 -85
- package/src/styles/themes/_baseline.scss +0 -173
- package/src/styles/themes/_bluekhaki.scss +0 -125
- package/src/styles/themes/_brownbeige.scss +0 -125
- package/src/styles/themes/_browngreen.scss +0 -125
- package/src/styles/themes/_forest.scss +0 -77
- package/src/styles/themes/_greenbeige.scss +0 -125
- package/src/styles/themes/_index.scss +0 -6
- package/src/styles/themes/_material.scss +0 -125
- package/src/styles/themes/_ocean.scss +0 -77
- package/src/styles/themes/_sageivory.scss +0 -125
- package/src/styles/themes/_spring.scss +0 -77
- package/src/styles/themes/_summer.scss +0 -87
- package/src/styles/themes/_sunset.scss +0 -60
- package/src/styles/themes/_tealcaramel.scss +0 -125
- package/src/styles/themes/_winter.scss +0 -77
- package/src/styles/utilities/_colors.scss +0 -154
- package/src/styles/utilities/_flexbox.scss +0 -194
- package/src/styles/utilities/_layout.scss +0 -665
- package/src/styles/utilities/_ripple.scss +0 -79
- package/src/styles/utilities/_spacing.scss +0 -139
- package/src/styles/utilities/_typography.scss +0 -178
- package/src/styles/utilities/_visibility.scss +0 -142
package/src/core/dom/create.ts
DELETED
|
@@ -1,273 +0,0 @@
|
|
|
1
|
-
// src/core/dom/create.ts
|
|
2
|
-
/**
|
|
3
|
-
* @module core/dom
|
|
4
|
-
* @description DOM manipulation utilities
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import { setAttributes } from './attributes';
|
|
8
|
-
import { normalizeClasses } from '../utils';
|
|
9
|
-
import { PREFIX } from '../config';
|
|
10
|
-
import { addClass } from './classes'; // Import addClass
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Event handler function type
|
|
14
|
-
*/
|
|
15
|
-
export type EventHandler = (event: Event) => void;
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Event condition type - either a boolean or a function that returns a boolean
|
|
19
|
-
*/
|
|
20
|
-
export type EventCondition = boolean | ((context: any, event: Event) => boolean);
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Options for element creation
|
|
24
|
-
*/
|
|
25
|
-
export interface CreateElementOptions {
|
|
26
|
-
/**
|
|
27
|
-
* HTML tag name
|
|
28
|
-
*/
|
|
29
|
-
tag?: string;
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Container to append element to
|
|
33
|
-
*/
|
|
34
|
-
container?: HTMLElement | null;
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Inner HTML content
|
|
38
|
-
*/
|
|
39
|
-
html?: string;
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Text content
|
|
43
|
-
*/
|
|
44
|
-
text?: string;
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Element ID
|
|
48
|
-
*/
|
|
49
|
-
id?: string;
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Element ariaLabel
|
|
53
|
-
*/
|
|
54
|
-
ariaLabel?: string;
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Dataset attributes
|
|
58
|
-
*/
|
|
59
|
-
data?: Record<string, string>;
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* CSS classes (will be automatically prefixed with 'mtrl-')
|
|
63
|
-
* Alias for 'className'
|
|
64
|
-
*/
|
|
65
|
-
class?: string | string[];
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* CSS classes (will be automatically prefixed with 'mtrl-')
|
|
69
|
-
* Alias for 'class'
|
|
70
|
-
*/
|
|
71
|
-
className?: string | string[];
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* CSS classes that will NOT be prefixed
|
|
75
|
-
* Added as-is to the element
|
|
76
|
-
*/
|
|
77
|
-
rawClass?: string | string[];
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* HTML attributes
|
|
81
|
-
*/
|
|
82
|
-
attrs?: Record<string, any>;
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* Events to forward when component has emit method
|
|
86
|
-
*/
|
|
87
|
-
forwardEvents?: Record<string, EventCondition>;
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Callback after element creation
|
|
91
|
-
*/
|
|
92
|
-
onCreate?: (element: HTMLElement, context?: any) => void;
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* Component context
|
|
96
|
-
*/
|
|
97
|
-
context?: any;
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Additional attributes
|
|
101
|
-
*/
|
|
102
|
-
[key: string]: any;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* Event handler storage to facilitate cleanup
|
|
107
|
-
*/
|
|
108
|
-
export interface EventHandlerStorage {
|
|
109
|
-
[eventName: string]: EventHandler;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* Creates a DOM element with the specified options
|
|
114
|
-
*
|
|
115
|
-
* @param {CreateElementOptions} options - Element creation options
|
|
116
|
-
* @returns {HTMLElement} Created element
|
|
117
|
-
*/
|
|
118
|
-
export const createElement = (options: CreateElementOptions = {}): HTMLElement => {
|
|
119
|
-
const {
|
|
120
|
-
tag = 'div',
|
|
121
|
-
container = null,
|
|
122
|
-
html = '',
|
|
123
|
-
text = '',
|
|
124
|
-
id = '',
|
|
125
|
-
data = {},
|
|
126
|
-
class: classOption,
|
|
127
|
-
className,
|
|
128
|
-
rawClass,
|
|
129
|
-
attrs = {},
|
|
130
|
-
forwardEvents = {},
|
|
131
|
-
onCreate,
|
|
132
|
-
context,
|
|
133
|
-
...rest
|
|
134
|
-
} = options;
|
|
135
|
-
|
|
136
|
-
const element = document.createElement(tag);
|
|
137
|
-
|
|
138
|
-
// Apply basic properties
|
|
139
|
-
if (html) element.innerHTML = html;
|
|
140
|
-
if (text) element.textContent = text;
|
|
141
|
-
if (id) element.id = id;
|
|
142
|
-
|
|
143
|
-
// 1. Handle prefixed classes using addClass
|
|
144
|
-
const prefixedClassSource = classOption || className;
|
|
145
|
-
if (prefixedClassSource) {
|
|
146
|
-
addClass(element, prefixedClassSource);
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
// 2. Handle raw classes (no prefix)
|
|
150
|
-
if (rawClass) {
|
|
151
|
-
const rawClasses = normalizeClasses(rawClass);
|
|
152
|
-
if (rawClasses.length) {
|
|
153
|
-
element.classList.add(...rawClasses);
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
// Handle data attributes directly
|
|
158
|
-
for (const key in data) {
|
|
159
|
-
element.dataset[key] = data[key];
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
// Handle regular attributes
|
|
163
|
-
const allAttrs = { ...attrs, ...rest };
|
|
164
|
-
for (const key in allAttrs) {
|
|
165
|
-
const value = allAttrs[key];
|
|
166
|
-
if (value != null) element.setAttribute(key, String(value));
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
// Handle event forwarding
|
|
170
|
-
if (forwardEvents && (context?.emit || context?.on)) {
|
|
171
|
-
element.__eventHandlers = {};
|
|
172
|
-
|
|
173
|
-
for (const nativeEvent in forwardEvents) {
|
|
174
|
-
const eventConfig = forwardEvents[nativeEvent];
|
|
175
|
-
|
|
176
|
-
const handler = (event: Event) => {
|
|
177
|
-
let shouldForward = true;
|
|
178
|
-
|
|
179
|
-
if (typeof eventConfig === 'function') {
|
|
180
|
-
try {
|
|
181
|
-
// Create a lightweight context clone
|
|
182
|
-
const ctxWithElement = { ...context, element };
|
|
183
|
-
shouldForward = eventConfig(ctxWithElement, event);
|
|
184
|
-
} catch (error) {
|
|
185
|
-
console.warn(`Error in event condition for ${nativeEvent}:`, error);
|
|
186
|
-
shouldForward = false;
|
|
187
|
-
}
|
|
188
|
-
} else {
|
|
189
|
-
shouldForward = Boolean(eventConfig);
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
if (shouldForward) {
|
|
193
|
-
if (context.emit) {
|
|
194
|
-
context.emit(nativeEvent, { event, element, originalEvent: event });
|
|
195
|
-
} else if (context.on) {
|
|
196
|
-
element.dispatchEvent(new CustomEvent(nativeEvent, {
|
|
197
|
-
detail: { event, element, originalEvent: event },
|
|
198
|
-
bubbles: true,
|
|
199
|
-
cancelable: true
|
|
200
|
-
}));
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
};
|
|
204
|
-
|
|
205
|
-
element.__eventHandlers[nativeEvent] = handler;
|
|
206
|
-
element.addEventListener(nativeEvent, handler);
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
// Append to container if provided
|
|
211
|
-
if (container) container.appendChild(element);
|
|
212
|
-
if (onCreate) onCreate(element, context);
|
|
213
|
-
|
|
214
|
-
return element;
|
|
215
|
-
};
|
|
216
|
-
|
|
217
|
-
/**
|
|
218
|
-
* Removes event handlers from an element
|
|
219
|
-
* @param element - Element to cleanup
|
|
220
|
-
*/
|
|
221
|
-
export const removeEventHandlers = (element: HTMLElement): void => {
|
|
222
|
-
const handlers = element.__eventHandlers;
|
|
223
|
-
if (handlers) {
|
|
224
|
-
for (const event in handlers) {
|
|
225
|
-
element.removeEventListener(event, handlers[event]);
|
|
226
|
-
}
|
|
227
|
-
delete element.__eventHandlers;
|
|
228
|
-
}
|
|
229
|
-
};
|
|
230
|
-
|
|
231
|
-
/**
|
|
232
|
-
* Higher-order function to add attributes to an element
|
|
233
|
-
* @param {Record<string, any>} attrs - Attributes to add
|
|
234
|
-
* @returns {(element: HTMLElement) => HTMLElement} Element transformer
|
|
235
|
-
*/
|
|
236
|
-
export const withAttributes = (attrs: Record<string, any>) =>
|
|
237
|
-
(element: HTMLElement): HTMLElement => {
|
|
238
|
-
setAttributes(element, attrs);
|
|
239
|
-
return element;
|
|
240
|
-
};
|
|
241
|
-
|
|
242
|
-
/**
|
|
243
|
-
* Higher-order function to add classes to an element
|
|
244
|
-
* @param {...(string | string[])} classes - Classes to add
|
|
245
|
-
* @returns {(element: HTMLElement) => HTMLElement} Element transformer
|
|
246
|
-
*/
|
|
247
|
-
export const withClasses = (...classes: (string | string[])[]) =>
|
|
248
|
-
(element: HTMLElement): HTMLElement => {
|
|
249
|
-
addClass(element, ...classes);
|
|
250
|
-
return element;
|
|
251
|
-
};
|
|
252
|
-
|
|
253
|
-
/**
|
|
254
|
-
* Higher-order function to add content to an element
|
|
255
|
-
* @param {Node|string} content - Content to add
|
|
256
|
-
* @returns {(element: HTMLElement) => HTMLElement} Element transformer
|
|
257
|
-
*/
|
|
258
|
-
export const withContent = (content: Node | string) =>
|
|
259
|
-
(element: HTMLElement): HTMLElement => {
|
|
260
|
-
if (content instanceof Node) element.appendChild(content);
|
|
261
|
-
else element.textContent = content;
|
|
262
|
-
return element;
|
|
263
|
-
};
|
|
264
|
-
|
|
265
|
-
// Extend HTMLElement interface to add eventHandlers property
|
|
266
|
-
declare global {
|
|
267
|
-
interface HTMLElement {
|
|
268
|
-
/**
|
|
269
|
-
* Storage for event handlers to enable cleanup
|
|
270
|
-
*/
|
|
271
|
-
__eventHandlers?: EventHandlerStorage;
|
|
272
|
-
}
|
|
273
|
-
}
|
package/src/core/dom/events.ts
DELETED
|
@@ -1,209 +0,0 @@
|
|
|
1
|
-
// src/core/dom/events.ts
|
|
2
|
-
/**
|
|
3
|
-
* @module core/dom
|
|
4
|
-
* @description DOM manipulation utilities
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Event manager interface for handling DOM events
|
|
9
|
-
*/
|
|
10
|
-
export interface EventManager {
|
|
11
|
-
/**
|
|
12
|
-
* Add an event listener with options
|
|
13
|
-
* @param event - Event name
|
|
14
|
-
* @param handler - Event handler
|
|
15
|
-
* @param options - addEventListener options
|
|
16
|
-
* @returns EventManager instance for chaining
|
|
17
|
-
*/
|
|
18
|
-
on: <T extends Event>(event: string, handler: (e: T) => void, options?: AddEventListenerOptions) => EventManager;
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Remove an event listener
|
|
22
|
-
* @param event - Event name
|
|
23
|
-
* @param handler - Event handler
|
|
24
|
-
* @returns EventManager instance for chaining
|
|
25
|
-
*/
|
|
26
|
-
off: <T extends Event>(event: string, handler: (e: T) => void) => EventManager;
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Temporarily disable all event listeners
|
|
30
|
-
* @returns EventManager instance for chaining
|
|
31
|
-
*/
|
|
32
|
-
pause: () => EventManager;
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Re-enable all event listeners
|
|
36
|
-
* @returns EventManager instance for chaining
|
|
37
|
-
*/
|
|
38
|
-
resume: () => EventManager;
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Remove all event listeners and clean up
|
|
42
|
-
*/
|
|
43
|
-
destroy: () => void;
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Get all active handlers
|
|
47
|
-
* @returns Map of active handlers
|
|
48
|
-
*/
|
|
49
|
-
getHandlers: () => Map<string, HandlerInfo>;
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Check if a specific handler exists
|
|
53
|
-
* @param event - Event name
|
|
54
|
-
* @param handler - Event handler
|
|
55
|
-
* @returns Whether handler exists
|
|
56
|
-
*/
|
|
57
|
-
hasHandler: <T extends Event>(event: string, handler: (e: T) => void) => boolean;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Handler information
|
|
62
|
-
*/
|
|
63
|
-
interface HandlerInfo {
|
|
64
|
-
original: EventListener;
|
|
65
|
-
enhanced: EventListener;
|
|
66
|
-
event: string;
|
|
67
|
-
options: AddEventListenerOptions;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Creates an event manager to handle DOM events with enhanced functionality.
|
|
72
|
-
* Provides a robust interface for managing event listeners with error handling,
|
|
73
|
-
* cleanup, and lifecycle management.
|
|
74
|
-
*
|
|
75
|
-
* @param element - DOM element to attach events to
|
|
76
|
-
* @returns Event manager interface
|
|
77
|
-
*/
|
|
78
|
-
export const createEventManager = (element: HTMLElement): EventManager => {
|
|
79
|
-
// Store handlers with their metadata
|
|
80
|
-
const handlers = new Map<string, HandlerInfo>();
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* Creates a unique handler identifier
|
|
84
|
-
* @param event - Event name
|
|
85
|
-
* @param handler - EventListener
|
|
86
|
-
* @returns Unique identifier
|
|
87
|
-
*/
|
|
88
|
-
const createHandlerId = (event: string, handler: EventListener): string =>
|
|
89
|
-
`${event}_${handler.toString()}`;
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Wraps an event handler with error boundary and logging
|
|
93
|
-
* @param handler - Original event handler
|
|
94
|
-
* @param event - Event name for error context
|
|
95
|
-
* @returns Enhanced handler with error boundary
|
|
96
|
-
*/
|
|
97
|
-
const enhanceHandler = (handler: EventListener, event: string): EventListener => (e: Event) => {
|
|
98
|
-
try {
|
|
99
|
-
handler(e);
|
|
100
|
-
} catch (error) {
|
|
101
|
-
console.error(`Error in ${event} handler:`, error);
|
|
102
|
-
}
|
|
103
|
-
};
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* Safely removes event listener
|
|
107
|
-
* @param event - Event name
|
|
108
|
-
* @param handler - Event handler
|
|
109
|
-
*/
|
|
110
|
-
const safeRemoveListener = (event: string, handler: EventListener): void => {
|
|
111
|
-
try {
|
|
112
|
-
element.removeEventListener(event, handler);
|
|
113
|
-
} catch (error) {
|
|
114
|
-
console.warn(`Failed to remove ${event} listener:`, error);
|
|
115
|
-
}
|
|
116
|
-
};
|
|
117
|
-
|
|
118
|
-
return {
|
|
119
|
-
/**
|
|
120
|
-
* Adds an event listener with options
|
|
121
|
-
* @param event - Event name
|
|
122
|
-
* @param handler - Event handler
|
|
123
|
-
* @param options - addEventListener options
|
|
124
|
-
* @returns EventManager instance for chaining
|
|
125
|
-
*/
|
|
126
|
-
on<T extends Event>(event: string, handler: (e: T) => void, options: AddEventListenerOptions = {}): EventManager {
|
|
127
|
-
const enhanced = enhanceHandler(handler as EventListener, event);
|
|
128
|
-
const id = createHandlerId(event, handler as EventListener);
|
|
129
|
-
|
|
130
|
-
handlers.set(id, {
|
|
131
|
-
original: handler as EventListener,
|
|
132
|
-
enhanced,
|
|
133
|
-
event,
|
|
134
|
-
options
|
|
135
|
-
});
|
|
136
|
-
|
|
137
|
-
element.addEventListener(event, enhanced, options);
|
|
138
|
-
return this;
|
|
139
|
-
},
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* Removes an event listener
|
|
143
|
-
* @param event - Event name
|
|
144
|
-
* @param handler - Event handler
|
|
145
|
-
* @returns EventManager instance for chaining
|
|
146
|
-
*/
|
|
147
|
-
off<T extends Event>(event: string, handler: (e: T) => void): EventManager {
|
|
148
|
-
const id = createHandlerId(event, handler as EventListener);
|
|
149
|
-
const stored = handlers.get(id);
|
|
150
|
-
|
|
151
|
-
if (stored) {
|
|
152
|
-
safeRemoveListener(event, stored.enhanced);
|
|
153
|
-
handlers.delete(id);
|
|
154
|
-
}
|
|
155
|
-
return this;
|
|
156
|
-
},
|
|
157
|
-
|
|
158
|
-
/**
|
|
159
|
-
* Temporarily disables all event listeners
|
|
160
|
-
* @returns EventManager instance for chaining
|
|
161
|
-
*/
|
|
162
|
-
pause(): EventManager {
|
|
163
|
-
handlers.forEach(({ enhanced, event }) => {
|
|
164
|
-
safeRemoveListener(event, enhanced);
|
|
165
|
-
});
|
|
166
|
-
return this;
|
|
167
|
-
},
|
|
168
|
-
|
|
169
|
-
/**
|
|
170
|
-
* Re-enables all event listeners
|
|
171
|
-
* @returns EventManager instance for chaining
|
|
172
|
-
*/
|
|
173
|
-
resume(): EventManager {
|
|
174
|
-
handlers.forEach(({ enhanced, event, options }) => {
|
|
175
|
-
element.addEventListener(event, enhanced, options);
|
|
176
|
-
});
|
|
177
|
-
return this;
|
|
178
|
-
},
|
|
179
|
-
|
|
180
|
-
/**
|
|
181
|
-
* Removes all event listeners and cleans up
|
|
182
|
-
*/
|
|
183
|
-
destroy(): void {
|
|
184
|
-
handlers.forEach(({ enhanced, event }) => {
|
|
185
|
-
safeRemoveListener(event, enhanced);
|
|
186
|
-
});
|
|
187
|
-
handlers.clear();
|
|
188
|
-
},
|
|
189
|
-
|
|
190
|
-
/**
|
|
191
|
-
* Gets all active handlers
|
|
192
|
-
* @returns Map of active handlers
|
|
193
|
-
*/
|
|
194
|
-
getHandlers(): Map<string, HandlerInfo> {
|
|
195
|
-
return new Map(handlers);
|
|
196
|
-
},
|
|
197
|
-
|
|
198
|
-
/**
|
|
199
|
-
* Checks if a specific handler exists
|
|
200
|
-
* @param event - Event name
|
|
201
|
-
* @param handler - Event handler
|
|
202
|
-
* @returns Whether handler exists
|
|
203
|
-
*/
|
|
204
|
-
hasHandler<T extends Event>(event: string, handler: (e: T) => void): boolean {
|
|
205
|
-
const id = createHandlerId(event, handler as EventListener);
|
|
206
|
-
return handlers.has(id);
|
|
207
|
-
}
|
|
208
|
-
};
|
|
209
|
-
};
|
package/src/core/dom/index.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
// src/core/dom/index.ts
|
|
2
|
-
|
|
3
|
-
export { createElement, withAttributes, withClasses, withContent } from './create';
|
|
4
|
-
export type { CreateElementOptions } from './create';
|
|
5
|
-
|
|
6
|
-
export { setAttributes, removeAttributes } from './attributes';
|
|
7
|
-
export { addClass, removeClass, toggleClass, hasClass } from './classes';
|
|
8
|
-
|
|
9
|
-
export { createEventManager } from './events';
|
|
10
|
-
export type { EventManager } from './events';
|
package/src/core/dom/utils.ts
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
// src/core/dom/utils.ts
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Normalizes class names input by handling various formats:
|
|
5
|
-
* - String with space-separated classes
|
|
6
|
-
* - Array of strings
|
|
7
|
-
* - Mixed array of strings and space-separated classes
|
|
8
|
-
*
|
|
9
|
-
* @param classes - Classes to normalize
|
|
10
|
-
* @returns Array of unique, non-empty class names
|
|
11
|
-
*/
|
|
12
|
-
export const normalizeClasses = (...classes: (string | string[])[]): string[] => {
|
|
13
|
-
return [...new Set(
|
|
14
|
-
classes
|
|
15
|
-
.flat()
|
|
16
|
-
.reduce((acc: string[], cls) => {
|
|
17
|
-
if (typeof cls === 'string') {
|
|
18
|
-
// Split space-separated classes and add them individually
|
|
19
|
-
acc.push(...cls.split(/\s+/));
|
|
20
|
-
}
|
|
21
|
-
return acc;
|
|
22
|
-
}, [])
|
|
23
|
-
.filter(Boolean) // Remove empty strings
|
|
24
|
-
)];
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Creates a DOM element with attributes
|
|
29
|
-
*
|
|
30
|
-
* @param tag - Element tag name
|
|
31
|
-
* @param attributes - Element attributes
|
|
32
|
-
* @returns Created element
|
|
33
|
-
*/
|
|
34
|
-
export const createElement = <T extends HTMLElement>(tag: string, attributes: Record<string, any> = {}): T => {
|
|
35
|
-
const element = document.createElement(tag) as T;
|
|
36
|
-
|
|
37
|
-
Object.entries(attributes).forEach(([key, value]) => {
|
|
38
|
-
if (key === 'className') {
|
|
39
|
-
element.className = value;
|
|
40
|
-
} else if (key === 'style' && typeof value === 'object') {
|
|
41
|
-
Object.assign(element.style, value);
|
|
42
|
-
} else if (key === 'data' && typeof value === 'object') {
|
|
43
|
-
Object.entries(value).forEach(([dataKey, dataValue]) => {
|
|
44
|
-
element.dataset[dataKey] = String(dataValue);
|
|
45
|
-
});
|
|
46
|
-
} else if (key === 'children' && Array.isArray(value)) {
|
|
47
|
-
value.forEach(child => {
|
|
48
|
-
if (child instanceof Node) {
|
|
49
|
-
element.appendChild(child);
|
|
50
|
-
} else if (child != null) {
|
|
51
|
-
element.appendChild(document.createTextNode(String(child)));
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
} else if (key.startsWith('on') && typeof value === 'function') {
|
|
55
|
-
const eventName = key.slice(2).toLowerCase();
|
|
56
|
-
element.addEventListener(eventName, value);
|
|
57
|
-
} else if (value !== null && value !== undefined) {
|
|
58
|
-
element.setAttribute(key, String(value));
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
return element;
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Sets inline styles on an element
|
|
67
|
-
*
|
|
68
|
-
* @param element - Target element
|
|
69
|
-
* @param styles - Styles to set
|
|
70
|
-
* @returns Modified element
|
|
71
|
-
*/
|
|
72
|
-
export const setStyles = <T extends HTMLElement>(element: T, styles: Partial<CSSStyleDeclaration>): T => {
|
|
73
|
-
Object.assign(element.style, styles);
|
|
74
|
-
return element;
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* Checks if an element matches a selector
|
|
79
|
-
*
|
|
80
|
-
* @param element - Element to check
|
|
81
|
-
* @param selector - CSS selector
|
|
82
|
-
* @returns Whether element matches selector
|
|
83
|
-
*/
|
|
84
|
-
export const matches = (element: Element, selector: string): boolean => {
|
|
85
|
-
return element.matches(selector);
|
|
86
|
-
};
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* Finds the closest ancestor matching a selector
|
|
90
|
-
*
|
|
91
|
-
* @param element - Starting element
|
|
92
|
-
* @param selector - CSS selector
|
|
93
|
-
* @returns Matching ancestor or null
|
|
94
|
-
*/
|
|
95
|
-
export const closest = <T extends HTMLElement>(element: Element, selector: string): T | null => {
|
|
96
|
-
return element.closest(selector) as T | null;
|
|
97
|
-
};
|
package/src/core/index.ts
DELETED
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
// src/core/index.ts
|
|
2
|
-
/**
|
|
3
|
-
* @module core
|
|
4
|
-
* @description Core utilities and building blocks for the component system
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
// Config
|
|
8
|
-
export { PREFIX, COMPONENTS, STATES, classNames } from './config';
|
|
9
|
-
export type {
|
|
10
|
-
ThemeConfig,
|
|
11
|
-
ComponentConfig,
|
|
12
|
-
ThemedComponentConfig,
|
|
13
|
-
VariantComponentConfig,
|
|
14
|
-
StateComponentConfig
|
|
15
|
-
} from './config';
|
|
16
|
-
|
|
17
|
-
// Build
|
|
18
|
-
export { createText } from './build/text';
|
|
19
|
-
export { createIcon } from './build/icon';
|
|
20
|
-
export { createRipple } from './build/ripple';
|
|
21
|
-
export { RIPPLE_TIMING } from './build/constants';
|
|
22
|
-
|
|
23
|
-
// DOM manipulation
|
|
24
|
-
export { createElement, withAttributes, withClasses, withContent } from './dom/create';
|
|
25
|
-
export { setAttributes, removeAttributes } from './dom/attributes';
|
|
26
|
-
export { addClass, removeClass, toggleClass, hasClass } from './dom/classes';
|
|
27
|
-
|
|
28
|
-
// State Management
|
|
29
|
-
export { createDisabled } from './state/disabled';
|
|
30
|
-
export { createEventManager } from './state/events';
|
|
31
|
-
export { createLifecycle } from './state/lifecycle';
|
|
32
|
-
export { createEmitter } from './state/emitter';
|
|
33
|
-
export { createStore } from './state/store';
|
|
34
|
-
|
|
35
|
-
// Composition Utilities
|
|
36
|
-
export { pipe, compose, transform } from './compose/pipe';
|
|
37
|
-
export { createBase, withElement } from './compose/component';
|
|
38
|
-
export {
|
|
39
|
-
withEvents,
|
|
40
|
-
withText,
|
|
41
|
-
withIcon,
|
|
42
|
-
withVariant,
|
|
43
|
-
withSize,
|
|
44
|
-
withPosition,
|
|
45
|
-
withDisabled,
|
|
46
|
-
withLifecycle,
|
|
47
|
-
withRipple
|
|
48
|
-
} from './compose/features';
|
|
49
|
-
|
|
50
|
-
// Utilities
|
|
51
|
-
export {
|
|
52
|
-
normalizeClasses,
|
|
53
|
-
when,
|
|
54
|
-
classNames as joinClasses,
|
|
55
|
-
isObject,
|
|
56
|
-
byString,
|
|
57
|
-
hasTouchSupport,
|
|
58
|
-
isMobileDevice,
|
|
59
|
-
normalizeEvent
|
|
60
|
-
} from './utils';
|
|
61
|
-
|
|
62
|
-
// Component feature interfaces for better developer experience
|
|
63
|
-
export type {
|
|
64
|
-
BaseComponent,
|
|
65
|
-
ElementComponent,
|
|
66
|
-
TouchState
|
|
67
|
-
} from './compose/component';
|
|
68
|
-
|
|
69
|
-
export type {
|
|
70
|
-
EventComponent,
|
|
71
|
-
TextComponent,
|
|
72
|
-
IconComponent,
|
|
73
|
-
LifecycleComponent,
|
|
74
|
-
Lifecycle,
|
|
75
|
-
DisabledComponent,
|
|
76
|
-
DisabledManager,
|
|
77
|
-
RippleComponent
|
|
78
|
-
} from './compose/features';
|
|
79
|
-
|
|
80
|
-
// Other interfaces
|
|
81
|
-
export type {
|
|
82
|
-
CreateElementOptions
|
|
83
|
-
} from './dom/create';
|
|
84
|
-
|
|
85
|
-
export type {
|
|
86
|
-
TextManager,
|
|
87
|
-
TextConfig
|
|
88
|
-
} from './build/text';
|
|
89
|
-
|
|
90
|
-
export type {
|
|
91
|
-
IconManager,
|
|
92
|
-
IconConfig
|
|
93
|
-
} from './build/icon';
|
|
94
|
-
|
|
95
|
-
export type {
|
|
96
|
-
RippleController,
|
|
97
|
-
RippleConfig
|
|
98
|
-
} from './build/ripple';
|
|
99
|
-
|
|
100
|
-
export type {
|
|
101
|
-
Emitter,
|
|
102
|
-
EventCallback
|
|
103
|
-
} from './state/emitter';
|
|
104
|
-
|
|
105
|
-
export type {
|
|
106
|
-
DisabledState
|
|
107
|
-
} from './state/disabled';
|
|
108
|
-
|
|
109
|
-
export type {
|
|
110
|
-
NormalizedEvent
|
|
111
|
-
} from './utils/mobile';
|