mtrl 0.3.8 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/LICENSE +21 -0
- package/dist/README.md +324 -0
- package/dist/components/badge/api.d.ts +48 -0
- package/{src/components/badge/badge.ts → dist/components/badge/badge.d.ts} +14 -57
- package/dist/components/badge/config.d.ts +79 -0
- package/dist/components/badge/constants.d.ts +35 -0
- package/dist/components/badge/features.d.ts +36 -0
- package/dist/components/badge/index.d.ts +8 -0
- package/dist/components/badge/types.d.ts +256 -0
- package/dist/components/bottom-app-bar/bottom-app-bar.d.ts +12 -0
- package/dist/components/bottom-app-bar/config.d.ts +16 -0
- package/dist/components/bottom-app-bar/constants.d.ts +22 -0
- package/{src/components/bottom-app-bar/index.ts → dist/components/bottom-app-bar/index.d.ts} +0 -9
- package/dist/components/bottom-app-bar/types.d.ts +96 -0
- package/dist/components/button/api.d.ts +47 -0
- package/dist/components/button/button.d.ts +25 -0
- package/dist/components/button/config.d.ts +59 -0
- package/dist/components/button/constants.d.ts +43 -0
- package/dist/components/button/index.d.ts +6 -0
- package/dist/components/button/types.d.ts +265 -0
- package/dist/components/card/api.d.ts +11 -0
- package/{src/components/card/card.ts → dist/components/card/card.d.ts} +10 -58
- package/dist/components/card/config.d.ts +105 -0
- package/dist/components/card/constants.d.ts +85 -0
- package/dist/components/card/content.d.ts +92 -0
- package/dist/components/card/features.d.ts +131 -0
- package/{src/components/card/index.ts → dist/components/card/index.d.ts} +13 -74
- package/dist/components/card/types.d.ts +471 -0
- package/dist/components/carousel/api.d.ts +33 -0
- package/dist/components/carousel/carousel.d.ts +75 -0
- package/dist/components/carousel/config.d.ts +45 -0
- package/dist/components/carousel/constants.d.ts +165 -0
- package/dist/components/carousel/features/drag.d.ts +8 -0
- package/{src/components/carousel/features/index.ts → dist/components/carousel/features/index.d.ts} +1 -4
- package/dist/components/carousel/features/slides.d.ts +8 -0
- package/{src/components/carousel/index.ts → dist/components/carousel/index.d.ts} +10 -29
- package/dist/components/carousel/types.d.ts +276 -0
- package/dist/components/checkbox/api.d.ts +7 -0
- package/dist/components/checkbox/checkbox.d.ts +65 -0
- package/dist/components/checkbox/config.d.ts +44 -0
- package/dist/components/checkbox/constants.d.ts +63 -0
- package/{src/components/checkbox/index.ts → dist/components/checkbox/index.d.ts} +8 -25
- package/dist/components/checkbox/types.d.ts +242 -0
- package/dist/components/chips/api.d.ts +49 -0
- package/dist/components/chips/chip/api.d.ts +23 -0
- package/dist/components/chips/chip/chip.d.ts +8 -0
- package/dist/components/chips/chip/config.d.ts +57 -0
- package/dist/components/chips/chip/constants.d.ts +38 -0
- package/dist/components/chips/chip/index.d.ts +2 -0
- package/dist/components/chips/chip/types.d.ts +11 -0
- package/dist/components/chips/chips.d.ts +17 -0
- package/dist/components/chips/config.d.ts +67 -0
- package/dist/components/chips/constants.d.ts +46 -0
- package/dist/components/chips/features/chip-items.d.ts +8 -0
- package/dist/components/chips/features/container.d.ts +8 -0
- package/dist/components/chips/features/controller.d.ts +9 -0
- package/{src/components/chips/features/index.ts → dist/components/chips/features/index.d.ts} +1 -2
- package/dist/components/chips/features/label.d.ts +8 -0
- package/dist/components/chips/index.d.ts +4 -0
- package/dist/components/chips/schema.d.ts +34 -0
- package/dist/components/chips/types.d.ts +398 -0
- package/dist/components/datepicker/api.d.ts +9 -0
- package/dist/components/datepicker/config.d.ts +79 -0
- package/dist/components/datepicker/constants.d.ts +97 -0
- package/dist/components/datepicker/datepicker.d.ts +8 -0
- package/dist/components/datepicker/index.d.ts +3 -0
- package/dist/components/datepicker/render.d.ts +43 -0
- package/dist/components/datepicker/types.d.ts +321 -0
- package/dist/components/datepicker/utils.d.ts +84 -0
- package/dist/components/dialog/api.d.ts +59 -0
- package/dist/components/dialog/config.d.ts +91 -0
- package/dist/components/dialog/constants.d.ts +116 -0
- package/{src/components/dialog/dialog.ts → dist/components/dialog/dialog.d.ts} +16 -69
- package/dist/components/dialog/features.d.ts +37 -0
- package/dist/components/dialog/index.d.ts +14 -0
- package/dist/components/dialog/types.d.ts +483 -0
- package/dist/components/divider/config.d.ts +143 -0
- package/dist/components/divider/constants.d.ts +45 -0
- package/{src/components/divider/divider.ts → dist/components/divider/divider.d.ts} +9 -37
- package/dist/components/divider/features.d.ts +50 -0
- package/{src/components/divider/index.ts → dist/components/divider/index.d.ts} +6 -12
- package/dist/components/divider/types.d.ts +124 -0
- package/dist/components/extended-fab/api.d.ts +83 -0
- package/dist/components/extended-fab/config.d.ts +75 -0
- package/dist/components/extended-fab/constants.d.ts +82 -0
- package/dist/components/extended-fab/extended-fab.d.ts +61 -0
- package/{src/components/extended-fab/index.ts → dist/components/extended-fab/index.d.ts} +6 -15
- package/dist/components/extended-fab/types.d.ts +703 -0
- package/dist/components/fab/api.d.ts +64 -0
- package/dist/components/fab/config.d.ts +71 -0
- package/dist/components/fab/constants.d.ts +75 -0
- package/{src/components/fab/fab.ts → dist/components/fab/fab.d.ts} +10 -46
- package/{src/components/fab/index.ts → dist/components/fab/index.d.ts} +6 -15
- package/dist/components/fab/types.d.ts +577 -0
- package/dist/components/index.d.ts +76 -0
- package/dist/components/list/api.d.ts +106 -0
- package/dist/components/list/config.d.ts +61 -0
- package/dist/components/list/constants.d.ts +76 -0
- package/dist/components/list/features/index.d.ts +2 -0
- package/dist/components/list/features/listmanager.d.ts +9 -0
- package/dist/components/list/features/selection.d.ts +9 -0
- package/dist/components/list/index.d.ts +12 -0
- package/dist/components/list/list.d.ts +11 -0
- package/dist/components/list/types.d.ts +294 -0
- package/dist/components/menu/api.d.ts +58 -0
- package/dist/components/menu/config.d.ts +78 -0
- package/dist/components/menu/constants.d.ts +106 -0
- package/dist/components/menu/features/controller.d.ts +10 -0
- package/dist/components/menu/features/index.d.ts +6 -0
- package/dist/components/menu/features/keyboard.d.ts +26 -0
- package/dist/components/menu/features/opener.d.ts +10 -0
- package/dist/components/menu/features/position.d.ts +18 -0
- package/dist/components/menu/features/submenu.d.ts +10 -0
- package/{src/components/menu/index.ts → dist/components/menu/index.d.ts} +11 -27
- package/dist/components/menu/menu.d.ts +29 -0
- package/dist/components/menu/types.d.ts +338 -0
- package/dist/components/navigation/api.d.ts +8 -0
- package/dist/components/navigation/config.d.ts +34 -0
- package/dist/components/navigation/constants.d.ts +137 -0
- package/dist/components/navigation/features/controller.d.ts +30 -0
- package/dist/components/navigation/features/items.d.ts +32 -0
- package/dist/components/navigation/index.d.ts +3 -0
- package/dist/components/navigation/nav-item.d.ts +30 -0
- package/dist/components/navigation/navigation.d.ts +8 -0
- package/dist/components/navigation/system/core.d.ts +72 -0
- package/dist/components/navigation/system/events.d.ts +35 -0
- package/dist/components/navigation/system/index.d.ts +10 -0
- package/dist/components/navigation/system/mobile.d.ts +52 -0
- package/dist/components/navigation/system/state.d.ts +22 -0
- package/dist/components/navigation/system/types.d.ts +305 -0
- package/dist/components/navigation/types.d.ts +216 -0
- package/dist/components/progress/api.d.ts +46 -0
- package/dist/components/progress/config.d.ts +72 -0
- package/dist/components/progress/constants.d.ts +139 -0
- package/dist/components/progress/features/canvas.d.ts +32 -0
- package/dist/components/progress/features/circular.d.ts +9 -0
- package/dist/components/progress/features/index.d.ts +8 -0
- package/dist/components/progress/features/linear.d.ts +9 -0
- package/dist/components/progress/features/resize-observer.d.ts +5 -0
- package/dist/components/progress/features/state.d.ts +38 -0
- package/dist/components/progress/features.d.ts +40 -0
- package/dist/components/progress/index.d.ts +3 -0
- package/dist/components/progress/progress.d.ts +24 -0
- package/dist/components/progress/types.d.ts +272 -0
- package/dist/components/radios/api.d.ts +37 -0
- package/dist/components/radios/config.d.ts +42 -0
- package/dist/components/radios/constants.d.ts +114 -0
- package/dist/components/radios/index.d.ts +3 -0
- package/dist/components/radios/radio.d.ts +8 -0
- package/dist/components/radios/radios.d.ts +8 -0
- package/dist/components/radios/types.d.ts +189 -0
- package/dist/components/search/api.d.ts +55 -0
- package/dist/components/search/config.d.ts +73 -0
- package/dist/components/search/constants.d.ts +128 -0
- package/{src/components/search/features/index.ts → dist/components/search/features/index.d.ts} +1 -2
- package/dist/components/search/features/search.d.ts +7 -0
- package/dist/components/search/features/states.d.ts +8 -0
- package/dist/components/search/features/structure.d.ts +7 -0
- package/dist/components/search/index.d.ts +3 -0
- package/dist/components/search/search.d.ts +8 -0
- package/dist/components/search/types.d.ts +132 -0
- package/dist/components/segmented-button/config.d.ts +65 -0
- package/dist/components/segmented-button/constants.d.ts +85 -0
- package/dist/components/segmented-button/index.d.ts +4 -0
- package/dist/components/segmented-button/segment.d.ts +15 -0
- package/dist/components/segmented-button/segmented-button.d.ts +49 -0
- package/dist/components/segmented-button/types.d.ts +257 -0
- package/dist/components/select/api.d.ts +8 -0
- package/dist/components/select/config.d.ts +18 -0
- package/dist/components/select/constants.d.ts +113 -0
- package/dist/components/select/features.d.ts +13 -0
- package/{src/components/select/index.ts → dist/components/select/index.d.ts} +7 -20
- package/dist/components/select/select.d.ts +36 -0
- package/dist/components/select/types.d.ts +302 -0
- package/dist/components/sheet/api.d.ts +37 -0
- package/dist/components/sheet/config.d.ts +42 -0
- package/dist/components/sheet/constants.d.ts +136 -0
- package/dist/components/sheet/features/content.d.ts +6 -0
- package/dist/components/sheet/features/gestures.d.ts +6 -0
- package/{src/components/sheet/features/index.ts → dist/components/sheet/features/index.d.ts} +1 -2
- package/dist/components/sheet/features/position.d.ts +7 -0
- package/dist/components/sheet/features/state.d.ts +6 -0
- package/dist/components/sheet/features/title.d.ts +6 -0
- package/dist/components/sheet/index.d.ts +3 -0
- package/dist/components/sheet/sheet.d.ts +8 -0
- package/dist/components/sheet/types.d.ts +250 -0
- package/dist/components/slider/api.d.ts +57 -0
- package/dist/components/slider/config.d.ts +75 -0
- package/dist/components/slider/constants.d.ts +138 -0
- package/dist/components/slider/features/controller.d.ts +9 -0
- package/dist/components/slider/features/handlers.d.ts +25 -0
- package/dist/components/slider/features/index.d.ts +3 -0
- package/dist/components/slider/features/range.d.ts +8 -0
- package/dist/components/slider/features/states.d.ts +9 -0
- package/dist/components/slider/index.d.ts +3 -0
- package/dist/components/slider/schema.d.ts +108 -0
- package/dist/components/slider/slider.d.ts +18 -0
- package/dist/components/slider/types.d.ts +170 -0
- package/dist/components/snackbar/api.d.ts +7 -0
- package/dist/components/snackbar/config.d.ts +55 -0
- package/dist/components/snackbar/constants.d.ts +88 -0
- package/dist/components/snackbar/features.d.ts +13 -0
- package/dist/components/snackbar/index.d.ts +3 -0
- package/dist/components/snackbar/position.d.ts +15 -0
- package/dist/components/snackbar/queue.d.ts +7 -0
- package/dist/components/snackbar/snackbar.d.ts +8 -0
- package/dist/components/snackbar/types.d.ts +172 -0
- package/dist/components/switch/api.d.ts +7 -0
- package/dist/components/switch/config.d.ts +34 -0
- package/dist/components/switch/constants.d.ts +88 -0
- package/dist/components/switch/features.d.ts +59 -0
- package/dist/components/switch/index.d.ts +4 -0
- package/dist/components/switch/switch.d.ts +8 -0
- package/dist/components/switch/types.d.ts +131 -0
- package/dist/components/tabs/api.d.ts +52 -0
- package/dist/components/tabs/config.d.ts +39 -0
- package/dist/components/tabs/constants.d.ts +142 -0
- package/dist/components/tabs/features.d.ts +133 -0
- package/dist/components/tabs/index.d.ts +11 -0
- package/dist/components/tabs/indicator.d.ts +49 -0
- package/dist/components/tabs/responsive.d.ts +38 -0
- package/dist/components/tabs/scroll-indicators.d.ts +18 -0
- package/dist/components/tabs/state.d.ts +53 -0
- package/dist/components/tabs/tab-api.d.ts +43 -0
- package/dist/components/tabs/tab.d.ts +7 -0
- package/dist/components/tabs/tabs.d.ts +27 -0
- package/dist/components/tabs/types.d.ts +390 -0
- package/dist/components/tabs/utils.d.ts +17 -0
- package/dist/components/textfield/api.d.ts +8 -0
- package/dist/components/textfield/config.d.ts +34 -0
- package/dist/components/textfield/constants.d.ts +148 -0
- package/{src/components/textfield/features/index.ts → dist/components/textfield/features/index.d.ts} +1 -6
- package/dist/components/textfield/features/leading-icon.d.ts +55 -0
- package/dist/components/textfield/features/placement.d.ts +28 -0
- package/dist/components/textfield/features/prefix-text.d.ts +54 -0
- package/dist/components/textfield/features/suffix-text.d.ts +54 -0
- package/dist/components/textfield/features/supporting-text.d.ts +59 -0
- package/dist/components/textfield/features/trailing-icon.d.ts +55 -0
- package/dist/components/textfield/index.d.ts +3 -0
- package/dist/components/textfield/textfield.d.ts +36 -0
- package/dist/components/textfield/types.d.ts +217 -0
- package/dist/components/timepicker/api.d.ts +24 -0
- package/dist/components/timepicker/clockdial.d.ts +34 -0
- package/dist/components/timepicker/config.d.ts +75 -0
- package/dist/components/timepicker/constants.d.ts +266 -0
- package/dist/components/timepicker/index.d.ts +4 -0
- package/dist/components/timepicker/render.d.ts +9 -0
- package/dist/components/timepicker/timepicker.d.ts +8 -0
- package/dist/components/timepicker/types.d.ts +284 -0
- package/dist/components/timepicker/utils.d.ts +74 -0
- package/dist/components/tooltip/api.d.ts +18 -0
- package/dist/components/tooltip/config.d.ts +38 -0
- package/dist/components/tooltip/constants.d.ts +108 -0
- package/dist/components/tooltip/index.d.ts +3 -0
- package/dist/components/tooltip/tooltip.d.ts +8 -0
- package/dist/components/tooltip/types.d.ts +188 -0
- package/dist/components/top-app-bar/config.d.ts +16 -0
- package/dist/components/top-app-bar/constants.d.ts +74 -0
- package/{src/components/top-app-bar/index.ts → dist/components/top-app-bar/index.d.ts} +2 -4
- package/dist/components/top-app-bar/top-app-bar.d.ts +68 -0
- package/dist/components/top-app-bar/types.d.ts +118 -0
- package/dist/constants.d.ts +30 -0
- package/dist/core/canvas/index.d.ts +5 -0
- package/dist/core/canvas/resize.d.ts +14 -0
- package/dist/core/collection/adapters/base.d.ts +47 -0
- package/dist/core/collection/adapters/route.d.ts +149 -0
- package/dist/core/collection/collection.d.ts +131 -0
- package/dist/core/collection/index.d.ts +10 -0
- package/dist/core/collection/list-manager/config.d.ts +29 -0
- package/dist/core/collection/list-manager/dom-elements.d.ts +30 -0
- package/dist/core/collection/list-manager/index.d.ts +61 -0
- package/dist/core/collection/list-manager/item-measurement.d.ts +91 -0
- package/dist/core/collection/list-manager/renderer.d.ts +31 -0
- package/dist/core/collection/list-manager/scroll-tracker.d.ts +20 -0
- package/dist/core/collection/list-manager/state.d.ts +60 -0
- package/dist/core/collection/list-manager/types.d.ts +361 -0
- package/dist/core/collection/list-manager/utils/recycling.d.ts +34 -0
- package/dist/core/collection/list-manager/utils/visibility.d.ts +45 -0
- package/dist/core/compose/base.d.ts +31 -0
- package/dist/core/compose/component.d.ts +61 -0
- package/dist/core/compose/features/badge.d.ts +43 -0
- package/dist/core/compose/features/checkable.d.ts +59 -0
- package/dist/core/compose/features/constants.d.ts +45 -0
- package/dist/core/compose/features/debounce.d.ts +84 -0
- package/dist/core/compose/features/disabled.d.ts +47 -0
- package/dist/core/compose/features/events.d.ts +37 -0
- package/dist/core/compose/features/gestures/longpress.d.ts +85 -0
- package/dist/core/compose/features/gestures/pan.d.ts +108 -0
- package/dist/core/compose/features/gestures/pinch.d.ts +111 -0
- package/dist/core/compose/features/gestures/rotate.d.ts +111 -0
- package/dist/core/compose/features/gestures/swipe.d.ts +149 -0
- package/dist/core/compose/features/gestures/tap.d.ts +79 -0
- package/dist/core/compose/features/gestures.d.ts +86 -0
- package/dist/core/compose/features/icon.d.ts +71 -0
- package/{src/core/compose/features/index.ts → dist/core/compose/features/index.d.ts} +7 -8
- package/dist/core/compose/features/input.d.ts +71 -0
- package/dist/core/compose/features/lifecycle.d.ts +61 -0
- package/dist/core/compose/features/position.d.ts +51 -0
- package/dist/core/compose/features/ripple.d.ts +61 -0
- package/dist/core/compose/features/size.d.ts +17 -0
- package/dist/core/compose/features/style.d.ts +16 -0
- package/dist/core/compose/features/text.d.ts +63 -0
- package/dist/core/compose/features/textinput.d.ts +93 -0
- package/dist/core/compose/features/textlabel.d.ts +57 -0
- package/dist/core/compose/features/throttle.d.ts +75 -0
- package/dist/core/compose/features/track.d.ts +42 -0
- package/dist/core/compose/features/variant.d.ts +17 -0
- package/dist/core/compose/features/withEvents.d.ts +45 -0
- package/dist/core/compose/index.d.ts +17 -0
- package/{src/core/compose/pipe.ts → dist/core/compose/pipe.d.ts} +4 -20
- package/dist/core/compose/utils/type-guards.d.ts +27 -0
- package/dist/core/composition/features/dom.d.ts +19 -0
- package/dist/core/composition/features/icon.d.ts +45 -0
- package/{src/core/composition/features/index.ts → dist/core/composition/features/index.d.ts} +1 -6
- package/dist/core/composition/features/label.d.ts +49 -0
- package/{src/core/composition/features/layout.ts → dist/core/composition/features/layout.d.ts} +8 -24
- package/{src/core/composition/index.ts → dist/core/composition/index.d.ts} +4 -14
- package/{src/core/config/component-config.ts → dist/core/config/component.d.ts} +35 -83
- package/dist/core/config.d.ts +130 -0
- package/dist/core/dom/attributes.d.ts +20 -0
- package/dist/core/dom/classes.d.ts +52 -0
- package/dist/core/dom/create.d.ts +154 -0
- package/dist/core/dom/events.d.ts +69 -0
- package/dist/core/dom/index.d.ts +6 -0
- package/dist/core/dom/utils.d.ts +42 -0
- package/dist/core/gestures/index.d.ts +12 -0
- package/dist/core/gestures/longpress.d.ts +23 -0
- package/dist/core/gestures/manager.d.ts +14 -0
- package/dist/core/gestures/pan.d.ts +12 -0
- package/dist/core/gestures/pinch.d.ts +14 -0
- package/dist/core/gestures/rotate.d.ts +14 -0
- package/dist/core/gestures/swipe.d.ts +20 -0
- package/dist/core/gestures/tap.d.ts +12 -0
- package/dist/core/gestures/types.d.ts +320 -0
- package/dist/core/gestures/utils.d.ts +57 -0
- package/dist/core/index.d.ts +29 -0
- package/dist/core/layout/array.d.ts +15 -0
- package/dist/core/layout/config.d.ts +32 -0
- package/dist/core/layout/create.d.ts +14 -0
- package/dist/core/layout/index.d.ts +13 -0
- package/dist/core/layout/jsx.d.ts +13 -0
- package/dist/core/layout/object.d.ts +14 -0
- package/dist/core/layout/processor.d.ts +28 -0
- package/dist/core/layout/result.d.ts +12 -0
- package/dist/core/layout/template.d.ts +12 -0
- package/dist/core/layout/types.d.ts +137 -0
- package/dist/core/layout/utils.d.ts +38 -0
- package/dist/core/state/disabled.d.ts +32 -0
- package/dist/core/state/emitter.d.ts +40 -0
- package/dist/core/state/events.d.ts +36 -0
- package/{src/core/state/index.ts → dist/core/state/index.d.ts} +1 -7
- package/dist/core/state/lifecycle.d.ts +57 -0
- package/dist/core/state/store.d.ts +82 -0
- package/dist/core/utils/background.d.ts +40 -0
- package/dist/core/utils/index.d.ts +18 -0
- package/dist/core/utils/mobile.d.ts +54 -0
- package/dist/core/utils/object.d.ts +13 -0
- package/dist/core/utils/performance.d.ts +79 -0
- package/dist/core/utils/theme.d.ts +38 -0
- package/dist/core/utils/validate.d.ts +73 -0
- package/dist/index.cjs +64 -0
- package/dist/index.cjs.map +291 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.js +53 -14854
- package/dist/index.js.map +291 -0
- package/dist/package.json +39 -0
- package/dist/styles.css +7 -0
- package/package.json +23 -4
- package/.env +0 -15
- package/.typedocignore +0 -11
- package/CONTRIBUTING.md +0 -218
- package/DOCS.md +0 -153
- package/TESTING.md +0 -214
- package/git-user-stats.js +0 -545
- package/index.ts +0 -10
- package/src/components/badge/api.ts +0 -313
- package/src/components/badge/config.ts +0 -153
- package/src/components/badge/features.ts +0 -194
- package/src/components/badge/index.ts +0 -90
- package/src/components/badge/types.ts +0 -279
- package/src/components/bottom-app-bar/bottom-app-bar.ts +0 -154
- package/src/components/bottom-app-bar/config.ts +0 -29
- package/src/components/bottom-app-bar/types.ts +0 -114
- package/src/components/button/api.ts +0 -172
- package/src/components/button/button.ts +0 -112
- package/src/components/button/config.ts +0 -96
- package/src/components/button/index.ts +0 -37
- package/src/components/button/types.ts +0 -290
- package/src/components/card/api.ts +0 -222
- package/src/components/card/config.ts +0 -304
- package/src/components/card/content.ts +0 -343
- package/src/components/card/features.ts +0 -407
- package/src/components/card/types.ts +0 -497
- package/src/components/carousel/api.ts +0 -147
- package/src/components/carousel/carousel.ts +0 -242
- package/src/components/carousel/config.ts +0 -91
- package/src/components/carousel/constants.ts +0 -181
- package/src/components/carousel/features/drag.ts +0 -388
- package/src/components/carousel/features/slides.ts +0 -682
- package/src/components/carousel/types.ts +0 -327
- package/src/components/checkbox/api.ts +0 -82
- package/src/components/checkbox/checkbox.ts +0 -142
- package/src/components/checkbox/config.ts +0 -89
- package/src/components/checkbox/types.ts +0 -342
- package/src/components/chips/api.ts +0 -194
- package/src/components/chips/chip/api.ts +0 -233
- package/src/components/chips/chip/chip.ts +0 -131
- package/src/components/chips/chip/config.ts +0 -91
- package/src/components/chips/chip/index.ts +0 -3
- package/src/components/chips/chips.md +0 -481
- package/src/components/chips/chips.ts +0 -75
- package/src/components/chips/config.ts +0 -109
- package/src/components/chips/constants.ts +0 -61
- package/src/components/chips/features/chip-items.ts +0 -33
- package/src/components/chips/features/container.ts +0 -77
- package/src/components/chips/features/controller.ts +0 -448
- package/src/components/chips/features/label.ts +0 -108
- package/src/components/chips/index.ts +0 -11
- package/src/components/chips/schema.ts +0 -61
- package/src/components/chips/types.ts +0 -469
- package/src/components/datepicker/api.ts +0 -265
- package/src/components/datepicker/config.ts +0 -141
- package/src/components/datepicker/datepicker.ts +0 -341
- package/src/components/datepicker/index.ts +0 -12
- package/src/components/datepicker/render.ts +0 -450
- package/src/components/datepicker/types.ts +0 -397
- package/src/components/datepicker/utils.ts +0 -289
- package/src/components/dialog/api.ts +0 -317
- package/src/components/dialog/config.ts +0 -116
- package/src/components/dialog/features.ts +0 -907
- package/src/components/dialog/index.ts +0 -141
- package/src/components/dialog/types.ts +0 -553
- package/src/components/divider/config.ts +0 -165
- package/src/components/divider/features.ts +0 -233
- package/src/components/divider/types.ts +0 -132
- package/src/components/extended-fab/api.ts +0 -193
- package/src/components/extended-fab/config.ts +0 -140
- package/src/components/extended-fab/extended-fab.ts +0 -153
- package/src/components/extended-fab/types.ts +0 -749
- package/src/components/fab/api.ts +0 -137
- package/src/components/fab/config.ts +0 -121
- package/src/components/fab/types.ts +0 -615
- package/src/components/list/api.ts +0 -82
- package/src/components/list/config.ts +0 -63
- package/src/components/list/features.ts +0 -229
- package/src/components/list/index.ts +0 -67
- package/src/components/list/list-item.ts +0 -163
- package/src/components/list/list.ts +0 -108
- package/src/components/list/types.ts +0 -396
- package/src/components/list/utils.ts +0 -98
- package/src/components/menu/api.ts +0 -230
- package/src/components/menu/config.ts +0 -127
- package/src/components/menu/features/anchor.ts +0 -394
- package/src/components/menu/features/controller.ts +0 -1423
- package/src/components/menu/features/index.ts +0 -13
- package/src/components/menu/features/position.ts +0 -353
- package/src/components/menu/menu.ts +0 -121
- package/src/components/menu/types.ts +0 -392
- package/src/components/navigation/api.ts +0 -142
- package/src/components/navigation/config.ts +0 -73
- package/src/components/navigation/features/controller.ts +0 -273
- package/src/components/navigation/features/items.ts +0 -353
- package/src/components/navigation/index.ts +0 -11
- package/src/components/navigation/nav-item.ts +0 -196
- package/src/components/navigation/navigation.ts +0 -115
- package/src/components/navigation/system/core.ts +0 -302
- package/src/components/navigation/system/events.ts +0 -240
- package/src/components/navigation/system/index.ts +0 -184
- package/src/components/navigation/system/mobile.ts +0 -278
- package/src/components/navigation/system/state.ts +0 -77
- package/src/components/navigation/system/types.ts +0 -364
- package/src/components/navigation/types.ts +0 -292
- package/src/components/progress/api.ts +0 -178
- package/src/components/progress/config.ts +0 -122
- package/src/components/progress/index.ts +0 -4
- package/src/components/progress/progress.ts +0 -159
- package/src/components/progress/types.ts +0 -255
- package/src/components/radios/api.ts +0 -125
- package/src/components/radios/config.ts +0 -59
- package/src/components/radios/constants.ts +0 -19
- package/src/components/radios/index.ts +0 -3
- package/src/components/radios/radio.ts +0 -292
- package/src/components/radios/radios.ts +0 -43
- package/src/components/radios/types.ts +0 -219
- package/src/components/search/api.ts +0 -203
- package/src/components/search/config.ts +0 -86
- package/src/components/search/features/search.ts +0 -717
- package/src/components/search/features/states.ts +0 -169
- package/src/components/search/features/structure.ts +0 -197
- package/src/components/search/index.ts +0 -7
- package/src/components/search/search.ts +0 -52
- package/src/components/search/types.ts +0 -175
- package/src/components/segmented-button/config.ts +0 -119
- package/src/components/segmented-button/index.ts +0 -4
- package/src/components/segmented-button/segment.ts +0 -108
- package/src/components/segmented-button/segmented-button.ts +0 -361
- package/src/components/segmented-button/types.ts +0 -306
- package/src/components/select/api.ts +0 -78
- package/src/components/select/config.ts +0 -76
- package/src/components/select/features.ts +0 -331
- package/src/components/select/select.ts +0 -73
- package/src/components/select/types.ts +0 -355
- package/src/components/sheet/api.ts +0 -96
- package/src/components/sheet/config.ts +0 -65
- package/src/components/sheet/features/content.ts +0 -51
- package/src/components/sheet/features/gestures.ts +0 -177
- package/src/components/sheet/features/position.ts +0 -41
- package/src/components/sheet/features/state.ts +0 -116
- package/src/components/sheet/features/title.ts +0 -86
- package/src/components/sheet/index.ts +0 -12
- package/src/components/sheet/sheet.ts +0 -56
- package/src/components/sheet/types.ts +0 -294
- package/src/components/slider/accessibility.md +0 -59
- package/src/components/slider/api.ts +0 -192
- package/src/components/slider/config.ts +0 -118
- package/src/components/slider/features/controller.ts +0 -737
- package/src/components/slider/features/handlers.ts +0 -497
- package/src/components/slider/features/index.ts +0 -5
- package/src/components/slider/features/range.ts +0 -104
- package/src/components/slider/features/states.ts +0 -195
- package/src/components/slider/index.ts +0 -17
- package/src/components/slider/schema.ts +0 -141
- package/src/components/slider/slider.ts +0 -76
- package/src/components/slider/types.ts +0 -223
- package/src/components/snackbar/api.ts +0 -162
- package/src/components/snackbar/config.ts +0 -61
- package/src/components/snackbar/features.ts +0 -76
- package/src/components/snackbar/index.ts +0 -9
- package/src/components/snackbar/position.ts +0 -79
- package/src/components/snackbar/queue.ts +0 -76
- package/src/components/snackbar/snackbar.ts +0 -60
- package/src/components/snackbar/types.ts +0 -159
- package/src/components/switch/api.ts +0 -93
- package/src/components/switch/config.ts +0 -56
- package/src/components/switch/features.ts +0 -198
- package/src/components/switch/index.ts +0 -8
- package/src/components/switch/switch.ts +0 -52
- package/src/components/switch/types.ts +0 -168
- package/src/components/tabs/api.ts +0 -221
- package/src/components/tabs/config.ts +0 -73
- package/src/components/tabs/features.ts +0 -403
- package/src/components/tabs/index.ts +0 -46
- package/src/components/tabs/indicator.ts +0 -285
- package/src/components/tabs/responsive.ts +0 -144
- package/src/components/tabs/scroll-indicators.ts +0 -149
- package/src/components/tabs/state.ts +0 -186
- package/src/components/tabs/tab-api.ts +0 -266
- package/src/components/tabs/tab.ts +0 -267
- package/src/components/tabs/tabs.ts +0 -71
- package/src/components/tabs/types.ts +0 -461
- package/src/components/tabs/utils.ts +0 -107
- package/src/components/textfield/api.ts +0 -197
- package/src/components/textfield/config.ts +0 -52
- package/src/components/textfield/features/leading-icon.ts +0 -127
- package/src/components/textfield/features/placement.ts +0 -149
- package/src/components/textfield/features/prefix-text.ts +0 -107
- package/src/components/textfield/features/suffix-text.ts +0 -100
- package/src/components/textfield/features/supporting-text.ts +0 -113
- package/src/components/textfield/features/trailing-icon.ts +0 -108
- package/src/components/textfield/index.ts +0 -9
- package/src/components/textfield/textfield.ts +0 -92
- package/src/components/textfield/types.ts +0 -265
- package/src/components/timepicker/README.md +0 -277
- package/src/components/timepicker/api.ts +0 -632
- package/src/components/timepicker/clockdial.ts +0 -479
- package/src/components/timepicker/config.ts +0 -228
- package/src/components/timepicker/index.ts +0 -3
- package/src/components/timepicker/render.ts +0 -613
- package/src/components/timepicker/timepicker.ts +0 -117
- package/src/components/timepicker/types.ts +0 -336
- package/src/components/timepicker/utils.ts +0 -241
- package/src/components/tooltip/api.ts +0 -415
- package/src/components/tooltip/config.ts +0 -80
- package/src/components/tooltip/index.ts +0 -12
- package/src/components/tooltip/tooltip.ts +0 -60
- package/src/components/tooltip/types.ts +0 -223
- package/src/components/top-app-bar/config.ts +0 -83
- package/src/components/top-app-bar/top-app-bar.ts +0 -316
- package/src/components/top-app-bar/types.ts +0 -140
- package/src/core/build/constants.ts +0 -48
- package/src/core/build/icon.ts +0 -137
- package/src/core/build/ripple.ts +0 -193
- package/src/core/build/text.ts +0 -91
- package/src/core/collection/adapters/base.ts +0 -62
- package/src/core/collection/adapters/route.ts +0 -201
- package/src/core/collection/collection.ts +0 -300
- package/src/core/collection/index.ts +0 -57
- package/src/core/collection/list-manager.ts +0 -333
- package/src/core/compose/base.ts +0 -43
- package/src/core/compose/component.ts +0 -255
- package/src/core/compose/features/badge.ts +0 -79
- package/src/core/compose/features/checkable.ts +0 -155
- package/src/core/compose/features/disabled.ts +0 -116
- package/src/core/compose/features/events.ts +0 -65
- package/src/core/compose/features/icon.ts +0 -71
- package/src/core/compose/features/input.ts +0 -174
- package/src/core/compose/features/lifecycle.ts +0 -139
- package/src/core/compose/features/position.ts +0 -94
- package/src/core/compose/features/ripple.ts +0 -58
- package/src/core/compose/features/size.ts +0 -29
- package/src/core/compose/features/style.ts +0 -31
- package/src/core/compose/features/text.ts +0 -44
- package/src/core/compose/features/textinput.ts +0 -238
- package/src/core/compose/features/textlabel.ts +0 -113
- package/src/core/compose/features/track.ts +0 -84
- package/src/core/compose/features/variant.ts +0 -29
- package/src/core/compose/features/withEvents.ts +0 -137
- package/src/core/compose/index.ts +0 -54
- package/src/core/composition/features/dom.ts +0 -45
- package/src/core/composition/features/icon.ts +0 -131
- package/src/core/composition/features/label.ts +0 -155
- package/src/core/config.ts +0 -211
- package/src/core/dom/attributes.ts +0 -33
- package/src/core/dom/classes.ts +0 -132
- package/src/core/dom/create.ts +0 -273
- package/src/core/dom/events.ts +0 -209
- package/src/core/dom/index.ts +0 -10
- package/src/core/dom/utils.ts +0 -97
- package/src/core/index.ts +0 -111
- package/src/core/layout/README.md +0 -715
- package/src/core/layout/array.ts +0 -180
- package/src/core/layout/config.ts +0 -193
- package/src/core/layout/create.ts +0 -54
- package/src/core/layout/index.ts +0 -36
- package/src/core/layout/object.ts +0 -123
- package/src/core/layout/processor.ts +0 -106
- package/src/core/layout/result.ts +0 -84
- package/src/core/layout/types.ts +0 -180
- package/src/core/layout/utils.ts +0 -144
- package/src/core/state/disabled.ts +0 -81
- package/src/core/state/emitter.ts +0 -94
- package/src/core/state/events.ts +0 -88
- package/src/core/state/lifecycle.ts +0 -131
- package/src/core/state/store.ts +0 -197
- package/src/core/utils/index.ts +0 -45
- package/src/core/utils/mobile.ts +0 -98
- package/src/core/utils/object.ts +0 -41
- package/src/core/utils/validate.ts +0 -234
- package/src/index.ts +0 -90
- package/src/styles/abstract/_base.scss +0 -2
- package/src/styles/abstract/_config.scss +0 -28
- package/src/styles/abstract/_functions.scss +0 -124
- package/src/styles/abstract/_mixins.scss +0 -352
- package/src/styles/abstract/_theme.scss +0 -269
- package/src/styles/abstract/_variables.scss +0 -305
- package/src/styles/base/_reset.scss +0 -86
- package/src/styles/base/_typography.scss +0 -155
- package/src/styles/components/_badge.scss +0 -182
- package/src/styles/components/_bottom-app-bar.scss +0 -103
- package/src/styles/components/_button.scss +0 -224
- package/src/styles/components/_card.scss +0 -401
- package/src/styles/components/_carousel.scss +0 -645
- package/src/styles/components/_checkbox.scss +0 -231
- package/src/styles/components/_chips.scss +0 -638
- package/src/styles/components/_datepicker.scss +0 -358
- package/src/styles/components/_dialog.scss +0 -259
- package/src/styles/components/_divider.scss +0 -57
- package/src/styles/components/_extended-fab.scss +0 -267
- package/src/styles/components/_fab.scss +0 -225
- package/src/styles/components/_list.scss +0 -248
- package/src/styles/components/_menu.scss +0 -242
- package/src/styles/components/_navigation-mobile.scss +0 -244
- package/src/styles/components/_navigation-system.scss +0 -151
- package/src/styles/components/_navigation.scss +0 -407
- package/src/styles/components/_progress.scss +0 -151
- package/src/styles/components/_radios.scss +0 -187
- package/src/styles/components/_search.scss +0 -306
- package/src/styles/components/_segmented-button.scss +0 -227
- package/src/styles/components/_select.scss +0 -272
- package/src/styles/components/_sheet.scss +0 -236
- package/src/styles/components/_slider.scss +0 -489
- package/src/styles/components/_snackbar.scss +0 -211
- package/src/styles/components/_switch.scss +0 -298
- package/src/styles/components/_tabs.scss +0 -416
- package/src/styles/components/_textfield.scss +0 -773
- package/src/styles/components/_timepicker.scss +0 -451
- package/src/styles/components/_tooltip.scss +0 -241
- package/src/styles/components/_top-app-bar.scss +0 -225
- package/src/styles/main.scss +0 -175
- package/src/styles/themes/_autumn.scss +0 -105
- package/src/styles/themes/_base-theme.scss +0 -85
- package/src/styles/themes/_baseline.scss +0 -173
- package/src/styles/themes/_bluekhaki.scss +0 -125
- package/src/styles/themes/_brownbeige.scss +0 -125
- package/src/styles/themes/_browngreen.scss +0 -125
- package/src/styles/themes/_forest.scss +0 -77
- package/src/styles/themes/_greenbeige.scss +0 -125
- package/src/styles/themes/_index.scss +0 -6
- package/src/styles/themes/_material.scss +0 -125
- package/src/styles/themes/_ocean.scss +0 -77
- package/src/styles/themes/_sageivory.scss +0 -125
- package/src/styles/themes/_spring.scss +0 -77
- package/src/styles/themes/_summer.scss +0 -87
- package/src/styles/themes/_sunset.scss +0 -60
- package/src/styles/themes/_tealcaramel.scss +0 -125
- package/src/styles/themes/_winter.scss +0 -77
- package/src/styles/utilities/_colors.scss +0 -154
- package/src/styles/utilities/_flexbox.scss +0 -194
- package/src/styles/utilities/_layout.scss +0 -665
- package/src/styles/utilities/_ripple.scss +0 -79
- package/src/styles/utilities/_spacing.scss +0 -139
- package/src/styles/utilities/_typography.scss +0 -178
- package/src/styles/utilities/_visibility.scss +0 -142
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module core/compose/features/gestures
|
|
3
|
+
* @description Adds swipe gesture recognition to components
|
|
4
|
+
*/
|
|
5
|
+
import { BaseComponent, ElementComponent } from '../../component';
|
|
6
|
+
import { SwipeEvent, GestureHandler } from '../../../gestures';
|
|
7
|
+
/**
|
|
8
|
+
* Configuration for swipe gesture feature
|
|
9
|
+
*/
|
|
10
|
+
export interface SwipeGestureConfig {
|
|
11
|
+
/**
|
|
12
|
+
* Minimum distance (in pixels) to recognize a swipe
|
|
13
|
+
* @default 30
|
|
14
|
+
*/
|
|
15
|
+
swipeThreshold?: number;
|
|
16
|
+
/**
|
|
17
|
+
* Maximum time (in ms) in which a swipe must be completed
|
|
18
|
+
* @default 300
|
|
19
|
+
*/
|
|
20
|
+
swipeTimeThreshold?: number;
|
|
21
|
+
/**
|
|
22
|
+
* Whether to prevent default behaviors on touch events
|
|
23
|
+
* @default true
|
|
24
|
+
*/
|
|
25
|
+
preventDefault?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Handler for any swipe direction
|
|
28
|
+
*/
|
|
29
|
+
onSwipe?: GestureHandler;
|
|
30
|
+
/**
|
|
31
|
+
* Handler specifically for left swipes
|
|
32
|
+
*/
|
|
33
|
+
onSwipeLeft?: GestureHandler;
|
|
34
|
+
/**
|
|
35
|
+
* Handler specifically for right swipes
|
|
36
|
+
*/
|
|
37
|
+
onSwipeRight?: GestureHandler;
|
|
38
|
+
/**
|
|
39
|
+
* Handler specifically for up swipes
|
|
40
|
+
*/
|
|
41
|
+
onSwipeUp?: GestureHandler;
|
|
42
|
+
/**
|
|
43
|
+
* Handler specifically for down swipes
|
|
44
|
+
*/
|
|
45
|
+
onSwipeDown?: GestureHandler;
|
|
46
|
+
/**
|
|
47
|
+
* Whether to enable swipe recognition immediately
|
|
48
|
+
* @default true
|
|
49
|
+
*/
|
|
50
|
+
enabled?: boolean;
|
|
51
|
+
[key: string]: any;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Component with swipe gesture recognition capabilities
|
|
55
|
+
*/
|
|
56
|
+
export interface SwipeGestureComponent extends BaseComponent {
|
|
57
|
+
/**
|
|
58
|
+
* Add a handler for any swipe direction
|
|
59
|
+
* @param handler - Event handler function
|
|
60
|
+
* @returns Component for chaining
|
|
61
|
+
*/
|
|
62
|
+
onSwipe: (handler: (event: SwipeEvent) => void) => SwipeGestureComponent;
|
|
63
|
+
/**
|
|
64
|
+
* Add a handler specifically for left swipes
|
|
65
|
+
* @param handler - Event handler function
|
|
66
|
+
* @returns Component for chaining
|
|
67
|
+
*/
|
|
68
|
+
onSwipeLeft: (handler: (event: SwipeEvent) => void) => SwipeGestureComponent;
|
|
69
|
+
/**
|
|
70
|
+
* Add a handler specifically for right swipes
|
|
71
|
+
* @param handler - Event handler function
|
|
72
|
+
* @returns Component for chaining
|
|
73
|
+
*/
|
|
74
|
+
onSwipeRight: (handler: (event: SwipeEvent) => void) => SwipeGestureComponent;
|
|
75
|
+
/**
|
|
76
|
+
* Add a handler specifically for up swipes
|
|
77
|
+
* @param handler - Event handler function
|
|
78
|
+
* @returns Component for chaining
|
|
79
|
+
*/
|
|
80
|
+
onSwipeUp: (handler: (event: SwipeEvent) => void) => SwipeGestureComponent;
|
|
81
|
+
/**
|
|
82
|
+
* Add a handler specifically for down swipes
|
|
83
|
+
* @param handler - Event handler function
|
|
84
|
+
* @returns Component for chaining
|
|
85
|
+
*/
|
|
86
|
+
onSwipeDown: (handler: (event: SwipeEvent) => void) => SwipeGestureComponent;
|
|
87
|
+
/**
|
|
88
|
+
* Remove a swipe event handler for any direction
|
|
89
|
+
* @param handler - Event handler function
|
|
90
|
+
* @returns Component for chaining
|
|
91
|
+
*/
|
|
92
|
+
offSwipe: (handler: (event: SwipeEvent) => void) => SwipeGestureComponent;
|
|
93
|
+
/**
|
|
94
|
+
* Remove a left swipe event handler
|
|
95
|
+
* @param handler - Event handler function
|
|
96
|
+
* @returns Component for chaining
|
|
97
|
+
*/
|
|
98
|
+
offSwipeLeft: (handler: (event: SwipeEvent) => void) => SwipeGestureComponent;
|
|
99
|
+
/**
|
|
100
|
+
* Remove a right swipe event handler
|
|
101
|
+
* @param handler - Event handler function
|
|
102
|
+
* @returns Component for chaining
|
|
103
|
+
*/
|
|
104
|
+
offSwipeRight: (handler: (event: SwipeEvent) => void) => SwipeGestureComponent;
|
|
105
|
+
/**
|
|
106
|
+
* Remove an up swipe event handler
|
|
107
|
+
* @param handler - Event handler function
|
|
108
|
+
* @returns Component for chaining
|
|
109
|
+
*/
|
|
110
|
+
offSwipeUp: (handler: (event: SwipeEvent) => void) => SwipeGestureComponent;
|
|
111
|
+
/**
|
|
112
|
+
* Remove a down swipe event handler
|
|
113
|
+
* @param handler - Event handler function
|
|
114
|
+
* @returns Component for chaining
|
|
115
|
+
*/
|
|
116
|
+
offSwipeDown: (handler: (event: SwipeEvent) => void) => SwipeGestureComponent;
|
|
117
|
+
/**
|
|
118
|
+
* Enable swipe recognition
|
|
119
|
+
* @returns Component for chaining
|
|
120
|
+
*/
|
|
121
|
+
enableSwipe: () => SwipeGestureComponent;
|
|
122
|
+
/**
|
|
123
|
+
* Disable swipe recognition
|
|
124
|
+
* @returns Component for chaining
|
|
125
|
+
*/
|
|
126
|
+
disableSwipe: () => SwipeGestureComponent;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Adds swipe gesture recognition to a component.
|
|
130
|
+
* This is a lightweight alternative to the full gesture system,
|
|
131
|
+
* focused only on swipe detection.
|
|
132
|
+
*
|
|
133
|
+
* @param config - Configuration object containing swipe settings
|
|
134
|
+
* @returns Function that enhances a component with swipe capabilities
|
|
135
|
+
*
|
|
136
|
+
* @example
|
|
137
|
+
* ```ts
|
|
138
|
+
* // Add swipe gesture recognition to a component
|
|
139
|
+
* const component = pipe(
|
|
140
|
+
* createBase,
|
|
141
|
+
* withElement(...),
|
|
142
|
+
* withSwipeGesture({
|
|
143
|
+
* onSwipeLeft: () => showNextPage(),
|
|
144
|
+
* onSwipeRight: () => showPreviousPage()
|
|
145
|
+
* })
|
|
146
|
+
* )(config);
|
|
147
|
+
* ```
|
|
148
|
+
*/
|
|
149
|
+
export declare const withSwipeGesture: (config?: SwipeGestureConfig) => <C extends ElementComponent>(component: C) => C & SwipeGestureComponent;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module core/compose/features/gestures
|
|
3
|
+
* @description Adds tap gesture recognition to components
|
|
4
|
+
*/
|
|
5
|
+
import { BaseComponent, ElementComponent } from '../../component';
|
|
6
|
+
import { TapEvent, GestureHandler } from '../../../gestures';
|
|
7
|
+
/**
|
|
8
|
+
* Configuration for tap gesture feature
|
|
9
|
+
*/
|
|
10
|
+
export interface TapGestureConfig {
|
|
11
|
+
/**
|
|
12
|
+
* Distance threshold (in pixels) for tap recognition
|
|
13
|
+
* @default 10
|
|
14
|
+
*/
|
|
15
|
+
tapDistanceThreshold?: number;
|
|
16
|
+
/**
|
|
17
|
+
* Whether to prevent default behaviors on touch events
|
|
18
|
+
* @default true
|
|
19
|
+
*/
|
|
20
|
+
preventDefault?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Handler for tap gesture
|
|
23
|
+
*/
|
|
24
|
+
onTap?: GestureHandler;
|
|
25
|
+
/**
|
|
26
|
+
* Whether to enable tap recognition immediately
|
|
27
|
+
* @default true
|
|
28
|
+
*/
|
|
29
|
+
enabled?: boolean;
|
|
30
|
+
[key: string]: any;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Component with tap gesture recognition capabilities
|
|
34
|
+
*/
|
|
35
|
+
export interface TapGestureComponent extends BaseComponent {
|
|
36
|
+
/**
|
|
37
|
+
* Add a tap event handler
|
|
38
|
+
* @param handler - Event handler function
|
|
39
|
+
* @returns Component for chaining
|
|
40
|
+
*/
|
|
41
|
+
onTap: (handler: (event: TapEvent) => void) => TapGestureComponent;
|
|
42
|
+
/**
|
|
43
|
+
* Remove a tap event handler
|
|
44
|
+
* @param handler - Event handler function
|
|
45
|
+
* @returns Component for chaining
|
|
46
|
+
*/
|
|
47
|
+
offTap: (handler: (event: TapEvent) => void) => TapGestureComponent;
|
|
48
|
+
/**
|
|
49
|
+
* Enable tap recognition
|
|
50
|
+
* @returns Component for chaining
|
|
51
|
+
*/
|
|
52
|
+
enableTap: () => TapGestureComponent;
|
|
53
|
+
/**
|
|
54
|
+
* Disable tap recognition
|
|
55
|
+
* @returns Component for chaining
|
|
56
|
+
*/
|
|
57
|
+
disableTap: () => TapGestureComponent;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Adds tap gesture recognition to a component.
|
|
61
|
+
* This is a lightweight alternative to the full gesture system,
|
|
62
|
+
* focused only on tap detection.
|
|
63
|
+
*
|
|
64
|
+
* @param config - Configuration object containing tap settings
|
|
65
|
+
* @returns Function that enhances a component with tap capabilities
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```ts
|
|
69
|
+
* // Add tap gesture recognition to a component
|
|
70
|
+
* const component = pipe(
|
|
71
|
+
* createBase,
|
|
72
|
+
* withElement(...),
|
|
73
|
+
* withTapGesture({
|
|
74
|
+
* onTap: (e) => console.log('Tapped at', e.x, e.y)
|
|
75
|
+
* })
|
|
76
|
+
* )(config);
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
export declare const withTapGesture: (config?: TapGestureConfig) => <C extends ElementComponent>(component: C) => C & TapGestureComponent;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module core/compose/features
|
|
3
|
+
* @description Adds gesture recognition capabilities to components
|
|
4
|
+
*/
|
|
5
|
+
import { BaseComponent, ElementComponent } from '../component';
|
|
6
|
+
import { GestureManager, GestureConfig, GestureHandler } from '../../gestures';
|
|
7
|
+
/**
|
|
8
|
+
* Configuration for gestures feature
|
|
9
|
+
*/
|
|
10
|
+
export interface GesturesFeatureConfig extends GestureConfig {
|
|
11
|
+
/**
|
|
12
|
+
* Whether to enable gesture recognition immediately
|
|
13
|
+
* @default true
|
|
14
|
+
*/
|
|
15
|
+
enableGestures?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Initial gesture event handlers
|
|
18
|
+
*/
|
|
19
|
+
gestureHandlers?: Record<string, GestureHandler>;
|
|
20
|
+
[key: string]: any;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Component with gesture recognition capabilities
|
|
24
|
+
*/
|
|
25
|
+
export interface GesturesComponent extends BaseComponent {
|
|
26
|
+
/**
|
|
27
|
+
* Gesture manager instance
|
|
28
|
+
*/
|
|
29
|
+
gestures: GestureManager;
|
|
30
|
+
/**
|
|
31
|
+
* Add a gesture event handler
|
|
32
|
+
* @param eventType - Type of gesture event
|
|
33
|
+
* @param handler - Event handler function
|
|
34
|
+
* @returns GesturesComponent for chaining
|
|
35
|
+
*/
|
|
36
|
+
onGesture: (eventType: string, handler: GestureHandler) => GesturesComponent;
|
|
37
|
+
/**
|
|
38
|
+
* Remove a gesture event handler
|
|
39
|
+
* @param eventType - Type of gesture event
|
|
40
|
+
* @param handler - Event handler function
|
|
41
|
+
* @returns GesturesComponent for chaining
|
|
42
|
+
*/
|
|
43
|
+
offGesture: (eventType: string, handler: GestureHandler) => GesturesComponent;
|
|
44
|
+
/**
|
|
45
|
+
* Check if a gesture type is supported on the current device
|
|
46
|
+
* @param gestureType - Type of gesture to check
|
|
47
|
+
* @returns Whether the gesture is supported
|
|
48
|
+
*/
|
|
49
|
+
isGestureSupported: (gestureType: string) => boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Enable gesture recognition
|
|
52
|
+
* @returns GesturesComponent for chaining
|
|
53
|
+
*/
|
|
54
|
+
enableGestures: () => GesturesComponent;
|
|
55
|
+
/**
|
|
56
|
+
* Disable gesture recognition
|
|
57
|
+
* @returns GesturesComponent for chaining
|
|
58
|
+
*/
|
|
59
|
+
disableGestures: () => GesturesComponent;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Adds gesture recognition capabilities to a component.
|
|
63
|
+
* This is a comprehensive gesture feature that adds support for all gesture types.
|
|
64
|
+
* For more lightweight, specific gestures, use the individual gesture features.
|
|
65
|
+
*
|
|
66
|
+
* @param config - Configuration object containing gesture settings
|
|
67
|
+
* @returns Function that enhances a component with gesture capabilities
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```ts
|
|
71
|
+
* // Add gesture recognition to a component
|
|
72
|
+
* const component = pipe(
|
|
73
|
+
* createBase,
|
|
74
|
+
* withElement(...),
|
|
75
|
+
* withGestures({
|
|
76
|
+
* swipeThreshold: 50,
|
|
77
|
+
* gestureHandlers: {
|
|
78
|
+
* 'tap': (e) => handleTap(e),
|
|
79
|
+
* 'swipeleft': (e) => navigateForward(e),
|
|
80
|
+
* 'swiperight': (e) => navigateBack(e)
|
|
81
|
+
* }
|
|
82
|
+
* })
|
|
83
|
+
* )(config);
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
export declare const withGestures: (config?: GesturesFeatureConfig) => <C extends ElementComponent>(component: C) => C & GesturesComponent;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { BaseComponent, ElementComponent } from '../component';
|
|
2
|
+
/**
|
|
3
|
+
* Icon manager interface
|
|
4
|
+
*/
|
|
5
|
+
export interface IconManager {
|
|
6
|
+
/**
|
|
7
|
+
* Sets icon HTML content
|
|
8
|
+
* @param html - Icon HTML content
|
|
9
|
+
* @returns IconManager instance for chaining
|
|
10
|
+
*/
|
|
11
|
+
setIcon: (html: string) => IconManager;
|
|
12
|
+
/**
|
|
13
|
+
* Gets current icon HTML content
|
|
14
|
+
* @returns Current icon HTML
|
|
15
|
+
*/
|
|
16
|
+
getIcon: () => string;
|
|
17
|
+
/**
|
|
18
|
+
* Gets icon element
|
|
19
|
+
* @returns Icon element or null if not created
|
|
20
|
+
*/
|
|
21
|
+
getElement: () => HTMLElement | null;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Configuration for icon feature
|
|
25
|
+
*/
|
|
26
|
+
export interface IconConfig {
|
|
27
|
+
/**
|
|
28
|
+
* Initial icon HTML content
|
|
29
|
+
*/
|
|
30
|
+
icon?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Icon position ('start' or 'end')
|
|
33
|
+
*/
|
|
34
|
+
iconPosition?: 'start' | 'end';
|
|
35
|
+
/**
|
|
36
|
+
* Icon size variant
|
|
37
|
+
*/
|
|
38
|
+
iconSize?: string;
|
|
39
|
+
/**
|
|
40
|
+
* CSS class prefix
|
|
41
|
+
*/
|
|
42
|
+
prefix?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Component name for class generation
|
|
45
|
+
*/
|
|
46
|
+
componentName?: string;
|
|
47
|
+
/**
|
|
48
|
+
* Text content (for determining button styling)
|
|
49
|
+
*/
|
|
50
|
+
text?: string;
|
|
51
|
+
/**
|
|
52
|
+
* Additional configuration options
|
|
53
|
+
*/
|
|
54
|
+
[key: string]: any;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Component with icon capabilities
|
|
58
|
+
*/
|
|
59
|
+
export interface IconComponent extends BaseComponent {
|
|
60
|
+
/**
|
|
61
|
+
* Icon manager
|
|
62
|
+
*/
|
|
63
|
+
icon: IconManager;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Adds icon management to a component
|
|
67
|
+
*
|
|
68
|
+
* @param config - Configuration object containing icon information
|
|
69
|
+
* @returns Function that enhances a component with icon capabilities
|
|
70
|
+
*/
|
|
71
|
+
export declare const withIcon: <T extends IconConfig>(config: T) => <C extends ElementComponent>(component: C) => C & IconComponent;
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
// src/core/compose/features/index.ts
|
|
2
|
-
|
|
3
|
-
// Core features
|
|
4
1
|
export { withEvents } from './events';
|
|
5
2
|
export { withText } from './text';
|
|
6
3
|
export { withIcon } from './icon';
|
|
@@ -16,12 +13,11 @@ export { withTextLabel } from './textlabel';
|
|
|
16
13
|
export { withTrack } from './track';
|
|
17
14
|
export { withEvents as withEnhancedEvents } from './withEvents';
|
|
18
15
|
export { withBadge } from './badge';
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
export { withThrottle } from './throttle';
|
|
17
|
+
export { withDebounce } from './debounce';
|
|
18
|
+
export { withGestures } from './gestures';
|
|
21
19
|
export { withDisabled } from './disabled';
|
|
22
20
|
export { withLifecycle } from './lifecycle';
|
|
23
|
-
|
|
24
|
-
// Re-export interfaces for better developer experience
|
|
25
21
|
export type { EventComponent } from './events';
|
|
26
22
|
export type { TextComponent } from './text';
|
|
27
23
|
export type { IconComponent } from './icon';
|
|
@@ -34,4 +30,7 @@ export type { TextInputComponent } from './textinput';
|
|
|
34
30
|
export type { LabelComponent, LabelManager } from './textlabel';
|
|
35
31
|
export type { TrackComponent } from './track';
|
|
36
32
|
export type { EnhancedEventComponent } from './withEvents';
|
|
37
|
-
export type { BadgeComponent, BadgeConfig } from './badge';
|
|
33
|
+
export type { BadgeComponent, BadgeConfig } from './badge';
|
|
34
|
+
export type { ThrottleComponent, ThrottleConfig } from './throttle';
|
|
35
|
+
export type { DebounceComponent, DebounceConfig } from './debounce';
|
|
36
|
+
export type { GesturesComponent, GesturesFeatureConfig } from './gestures';
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { ElementComponent } from '../component';
|
|
2
|
+
/**
|
|
3
|
+
* Input configuration options
|
|
4
|
+
*/
|
|
5
|
+
export interface InputConfig {
|
|
6
|
+
/**
|
|
7
|
+
* Input name attribute
|
|
8
|
+
*/
|
|
9
|
+
name?: string;
|
|
10
|
+
/**
|
|
11
|
+
* Initial checked state
|
|
12
|
+
*/
|
|
13
|
+
checked?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Whether input is required
|
|
16
|
+
*/
|
|
17
|
+
required?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Whether input is disabled
|
|
20
|
+
*/
|
|
21
|
+
disabled?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Input value attribute
|
|
24
|
+
*/
|
|
25
|
+
value?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Accessibility label text
|
|
28
|
+
*/
|
|
29
|
+
label?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Alternative accessibility label
|
|
32
|
+
*/
|
|
33
|
+
ariaLabel?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Component name for classes
|
|
36
|
+
*/
|
|
37
|
+
componentName?: string;
|
|
38
|
+
[key: string]: any;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Component with input element and related methods
|
|
42
|
+
*/
|
|
43
|
+
export interface InputComponent extends ElementComponent {
|
|
44
|
+
/**
|
|
45
|
+
* Input element
|
|
46
|
+
*/
|
|
47
|
+
input: HTMLInputElement;
|
|
48
|
+
/**
|
|
49
|
+
* Gets the current input value
|
|
50
|
+
* @returns Current value
|
|
51
|
+
*/
|
|
52
|
+
getValue: () => string;
|
|
53
|
+
/**
|
|
54
|
+
* Sets the input value and emits a value event
|
|
55
|
+
* @param value - New value to set
|
|
56
|
+
* @returns Component instance for chaining
|
|
57
|
+
*/
|
|
58
|
+
setValue: (value: string) => InputComponent;
|
|
59
|
+
/**
|
|
60
|
+
* Event emission method if available
|
|
61
|
+
*/
|
|
62
|
+
emit?: (event: string, data: any) => InputComponent;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Creates an input element and adds it to a component
|
|
66
|
+
* Handles both input creation and event emission for state changes
|
|
67
|
+
*
|
|
68
|
+
* @param config - Input configuration
|
|
69
|
+
* @returns Function that enhances a component with input functionality
|
|
70
|
+
*/
|
|
71
|
+
export declare const withInput: <T extends InputConfig>(config?: T) => <C extends ElementComponent>(component: C) => C & InputComponent;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { BaseComponent, ElementComponent } from '../component';
|
|
2
|
+
/**
|
|
3
|
+
* Component managers that can be passed to lifecycle
|
|
4
|
+
*/
|
|
5
|
+
export interface ComponentManagers {
|
|
6
|
+
events?: {
|
|
7
|
+
destroy: () => void;
|
|
8
|
+
};
|
|
9
|
+
text?: {
|
|
10
|
+
getElement: () => HTMLElement | null;
|
|
11
|
+
};
|
|
12
|
+
icon?: {
|
|
13
|
+
getElement: () => HTMLElement | null;
|
|
14
|
+
};
|
|
15
|
+
[key: string]: any;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Lifecycle methods interface
|
|
19
|
+
*/
|
|
20
|
+
export interface Lifecycle {
|
|
21
|
+
/**
|
|
22
|
+
* Registers a handler for mount event
|
|
23
|
+
* @param handler - Function to call when component is mounted
|
|
24
|
+
* @returns Unsubscribe function
|
|
25
|
+
*/
|
|
26
|
+
onMount: (handler: () => void) => () => void;
|
|
27
|
+
/**
|
|
28
|
+
* Registers a handler for unmount event
|
|
29
|
+
* @param handler - Function to call when component is unmounted
|
|
30
|
+
* @returns Unsubscribe function
|
|
31
|
+
*/
|
|
32
|
+
onUnmount: (handler: () => void) => () => void;
|
|
33
|
+
/**
|
|
34
|
+
* Mounts the component
|
|
35
|
+
*/
|
|
36
|
+
mount: () => void;
|
|
37
|
+
/**
|
|
38
|
+
* Unmounts the component
|
|
39
|
+
*/
|
|
40
|
+
unmount: () => void;
|
|
41
|
+
/**
|
|
42
|
+
* Checks if component is mounted
|
|
43
|
+
*/
|
|
44
|
+
isMounted: () => boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Destroys the component
|
|
47
|
+
*/
|
|
48
|
+
destroy: () => void;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Component with lifecycle capabilities
|
|
52
|
+
*/
|
|
53
|
+
export interface LifecycleComponent extends BaseComponent {
|
|
54
|
+
lifecycle: Lifecycle;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Adds lifecycle management to a component
|
|
58
|
+
*
|
|
59
|
+
* @returns Function that enhances a component with lifecycle management
|
|
60
|
+
*/
|
|
61
|
+
export declare const withLifecycle: () => <T extends ElementComponent>(component: T) => T & LifecycleComponent;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { BaseComponent, ElementComponent } from '../component';
|
|
2
|
+
/**
|
|
3
|
+
* Available position values
|
|
4
|
+
*/
|
|
5
|
+
export declare enum POSITIONS {
|
|
6
|
+
LEFT = "left",
|
|
7
|
+
RIGHT = "right",
|
|
8
|
+
TOP = "top",
|
|
9
|
+
BOTTOM = "bottom",
|
|
10
|
+
START = "start",
|
|
11
|
+
END = "end",
|
|
12
|
+
CENTER = "center"
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Configuration for position feature
|
|
16
|
+
*/
|
|
17
|
+
export interface PositionConfig {
|
|
18
|
+
position?: string;
|
|
19
|
+
prefix?: string;
|
|
20
|
+
componentName?: string;
|
|
21
|
+
[key: string]: any;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Position manager interface
|
|
25
|
+
*/
|
|
26
|
+
export interface PositionManager {
|
|
27
|
+
/**
|
|
28
|
+
* Sets the component's position
|
|
29
|
+
* @param newPosition - New position value
|
|
30
|
+
* @returns Position manager for chaining
|
|
31
|
+
*/
|
|
32
|
+
setPosition: (newPosition: string) => PositionManager;
|
|
33
|
+
/**
|
|
34
|
+
* Gets the current position
|
|
35
|
+
* @returns Current position
|
|
36
|
+
*/
|
|
37
|
+
getPosition: () => string;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Component with position capabilities
|
|
41
|
+
*/
|
|
42
|
+
export interface PositionComponent extends BaseComponent {
|
|
43
|
+
position: PositionManager;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Adds positioning functionality to a component
|
|
47
|
+
*
|
|
48
|
+
* @param config - Configuration object containing position information
|
|
49
|
+
* @returns Function that enhances a component with position capabilities
|
|
50
|
+
*/
|
|
51
|
+
export declare const withPosition: <T extends PositionConfig>(config: T) => <C extends ElementComponent>(component: C) => C & PositionComponent;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { BaseComponent, ElementComponent } from '../component';
|
|
2
|
+
import { LifecycleComponent } from './lifecycle';
|
|
3
|
+
/**
|
|
4
|
+
* Ripple configuration interface
|
|
5
|
+
*/
|
|
6
|
+
export interface RippleConfig {
|
|
7
|
+
/**
|
|
8
|
+
* Animation duration in milliseconds
|
|
9
|
+
*/
|
|
10
|
+
duration?: number;
|
|
11
|
+
/**
|
|
12
|
+
* Animation timing function
|
|
13
|
+
*/
|
|
14
|
+
timing?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Opacity values for start and end [start, end]
|
|
17
|
+
*/
|
|
18
|
+
opacity?: [string, string];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Ripple controller interface
|
|
22
|
+
*/
|
|
23
|
+
export interface RippleController {
|
|
24
|
+
/**
|
|
25
|
+
* Mounts ripple effect to an element
|
|
26
|
+
* @param element - Target element
|
|
27
|
+
*/
|
|
28
|
+
mount: (element: HTMLElement) => void;
|
|
29
|
+
/**
|
|
30
|
+
* Unmounts ripple effect from an element
|
|
31
|
+
* @param element - Target element
|
|
32
|
+
*/
|
|
33
|
+
unmount: (element: HTMLElement) => void;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Configuration for ripple feature
|
|
37
|
+
*/
|
|
38
|
+
export interface RippleFeatureConfig {
|
|
39
|
+
ripple?: boolean;
|
|
40
|
+
rippleConfig?: RippleConfig;
|
|
41
|
+
[key: string]: any;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Component with ripple capabilities
|
|
45
|
+
*/
|
|
46
|
+
export interface RippleComponent extends BaseComponent {
|
|
47
|
+
ripple: RippleController;
|
|
48
|
+
}
|
|
49
|
+
declare global {
|
|
50
|
+
interface HTMLElement {
|
|
51
|
+
__rippleHandlers?: Array<(e: MouseEvent) => void>;
|
|
52
|
+
__rippleContainer?: HTMLElement;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Adds ripple effect functionality to a component
|
|
57
|
+
*
|
|
58
|
+
* @param config - Configuration object
|
|
59
|
+
* @returns Function that enhances a component with ripple effect
|
|
60
|
+
*/
|
|
61
|
+
export declare const withRipple: <T extends RippleFeatureConfig>(config: T) => <C extends ElementComponent & Partial<LifecycleComponent>>(component: C) => C & RippleComponent;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ElementComponent } from '../component';
|
|
2
|
+
/**
|
|
3
|
+
* Configuration for size feature
|
|
4
|
+
*/
|
|
5
|
+
export interface SizeConfig {
|
|
6
|
+
size?: string;
|
|
7
|
+
prefix?: string;
|
|
8
|
+
componentName?: string;
|
|
9
|
+
[key: string]: any;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Adds a size class to a component
|
|
13
|
+
*
|
|
14
|
+
* @param config - Configuration object containing size information
|
|
15
|
+
* @returns Function that enhances a component with the size class
|
|
16
|
+
*/
|
|
17
|
+
export declare const withSize: <T extends SizeConfig>(config: T) => <C extends ElementComponent>(component: C) => C;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ElementComponent } from '../component';
|
|
2
|
+
/**
|
|
3
|
+
* Configuration for style feature
|
|
4
|
+
*/
|
|
5
|
+
export interface StyleConfig {
|
|
6
|
+
variant?: string;
|
|
7
|
+
size?: string;
|
|
8
|
+
[key: string]: any;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Adds style classes to a component based on configuration
|
|
12
|
+
*
|
|
13
|
+
* @param config - Configuration object containing style information
|
|
14
|
+
* @returns Function that enhances a component with style classes
|
|
15
|
+
*/
|
|
16
|
+
export declare const withStyle: <T extends StyleConfig>(config?: T) => <C extends ElementComponent>(component: C) => C;
|