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,63 @@
|
|
|
1
|
+
import { BaseComponent, ElementComponent } from '../component';
|
|
2
|
+
/**
|
|
3
|
+
* Text manager interface
|
|
4
|
+
*/
|
|
5
|
+
export interface TextManager {
|
|
6
|
+
/**
|
|
7
|
+
* Sets text content
|
|
8
|
+
* @param text - Text content to set
|
|
9
|
+
* @returns TextManager instance for chaining
|
|
10
|
+
*/
|
|
11
|
+
setText: (text: string) => TextManager;
|
|
12
|
+
/**
|
|
13
|
+
* Gets current text content
|
|
14
|
+
* @returns Current text
|
|
15
|
+
*/
|
|
16
|
+
getText: () => string;
|
|
17
|
+
/**
|
|
18
|
+
* Gets text element
|
|
19
|
+
* @returns Text element or null if not created
|
|
20
|
+
*/
|
|
21
|
+
getElement: () => HTMLElement | null;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Configuration for text feature
|
|
25
|
+
*/
|
|
26
|
+
export interface TextConfig {
|
|
27
|
+
/**
|
|
28
|
+
* Initial text content
|
|
29
|
+
*/
|
|
30
|
+
text?: string;
|
|
31
|
+
/**
|
|
32
|
+
* CSS class prefix
|
|
33
|
+
*/
|
|
34
|
+
prefix?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Component name for class generation
|
|
37
|
+
*/
|
|
38
|
+
componentName?: string;
|
|
39
|
+
/**
|
|
40
|
+
* Element to insert text before (optional)
|
|
41
|
+
*/
|
|
42
|
+
beforeElement?: HTMLElement;
|
|
43
|
+
/**
|
|
44
|
+
* Additional configuration options
|
|
45
|
+
*/
|
|
46
|
+
[key: string]: any;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Component with text capabilities
|
|
50
|
+
*/
|
|
51
|
+
export interface TextComponent extends BaseComponent {
|
|
52
|
+
/**
|
|
53
|
+
* Text manager
|
|
54
|
+
*/
|
|
55
|
+
text: TextManager;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Adds text management to a component
|
|
59
|
+
*
|
|
60
|
+
* @param config - Configuration object containing text information
|
|
61
|
+
* @returns Function that enhances a component with text capabilities
|
|
62
|
+
*/
|
|
63
|
+
export declare const withText: <T extends TextConfig>(config: T) => <C extends ElementComponent>(component: C) => C & TextComponent;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { ElementComponent } from '../component';
|
|
2
|
+
/**
|
|
3
|
+
* Configuration for text input feature
|
|
4
|
+
*/
|
|
5
|
+
export interface TextInputConfig {
|
|
6
|
+
/**
|
|
7
|
+
* Input type (text, password, etc.)
|
|
8
|
+
*/
|
|
9
|
+
type?: string;
|
|
10
|
+
/**
|
|
11
|
+
* Whether to use textarea instead of input
|
|
12
|
+
*/
|
|
13
|
+
multiline?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Input name attribute
|
|
16
|
+
*/
|
|
17
|
+
name?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Whether input is required
|
|
20
|
+
*/
|
|
21
|
+
required?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Whether input is disabled
|
|
24
|
+
*/
|
|
25
|
+
disabled?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Maximum allowed length
|
|
28
|
+
*/
|
|
29
|
+
maxLength?: number;
|
|
30
|
+
/**
|
|
31
|
+
* Input validation pattern
|
|
32
|
+
*/
|
|
33
|
+
pattern?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Autocomplete setting
|
|
36
|
+
*/
|
|
37
|
+
autocomplete?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Initial input value
|
|
40
|
+
*/
|
|
41
|
+
value?: string;
|
|
42
|
+
[key: string]: any;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Component with text input capabilities
|
|
46
|
+
*/
|
|
47
|
+
export interface TextInputComponent extends ElementComponent {
|
|
48
|
+
/**
|
|
49
|
+
* Input element
|
|
50
|
+
*/
|
|
51
|
+
input: HTMLInputElement | HTMLTextAreaElement;
|
|
52
|
+
/**
|
|
53
|
+
* Sets the input value
|
|
54
|
+
* @param value - Value to set
|
|
55
|
+
* @returns Component instance for chaining
|
|
56
|
+
*/
|
|
57
|
+
setValue: (value: string) => TextInputComponent;
|
|
58
|
+
/**
|
|
59
|
+
* Gets the current input value
|
|
60
|
+
* @returns Current value
|
|
61
|
+
*/
|
|
62
|
+
getValue: () => string;
|
|
63
|
+
/**
|
|
64
|
+
* Sets an attribute on the input
|
|
65
|
+
* @param name - Attribute name
|
|
66
|
+
* @param value - Attribute value
|
|
67
|
+
* @returns Component instance for chaining
|
|
68
|
+
*/
|
|
69
|
+
setAttribute: (name: string, value: string) => TextInputComponent;
|
|
70
|
+
/**
|
|
71
|
+
* Gets an attribute from the input
|
|
72
|
+
* @param name - Attribute name
|
|
73
|
+
* @returns Attribute value
|
|
74
|
+
*/
|
|
75
|
+
getAttribute: (name: string) => string | null;
|
|
76
|
+
/**
|
|
77
|
+
* Removes an attribute from the input
|
|
78
|
+
* @param name - Attribute name
|
|
79
|
+
* @returns Component instance for chaining
|
|
80
|
+
*/
|
|
81
|
+
removeAttribute: (name: string) => TextInputComponent;
|
|
82
|
+
/**
|
|
83
|
+
* Event emission method if available
|
|
84
|
+
*/
|
|
85
|
+
emit?: (event: string, data: any) => TextInputComponent;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Enhances a component with text input functionality
|
|
89
|
+
*
|
|
90
|
+
* @param config - Text input configuration
|
|
91
|
+
* @returns Function that enhances a component with text input capabilities
|
|
92
|
+
*/
|
|
93
|
+
export declare const withTextInput: <T extends TextInputConfig>(config?: T) => <C extends ElementComponent>(component: C) => C & TextInputComponent;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { BaseComponent, ElementComponent } from '../component';
|
|
2
|
+
/**
|
|
3
|
+
* Configuration for text label feature
|
|
4
|
+
*/
|
|
5
|
+
export interface TextLabelConfig {
|
|
6
|
+
/**
|
|
7
|
+
* Label text
|
|
8
|
+
*/
|
|
9
|
+
label?: string;
|
|
10
|
+
/**
|
|
11
|
+
* Label position ('start' or 'end')
|
|
12
|
+
*/
|
|
13
|
+
labelPosition?: 'start' | 'end';
|
|
14
|
+
/**
|
|
15
|
+
* CSS class prefix
|
|
16
|
+
*/
|
|
17
|
+
prefix?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Component name for class generation
|
|
20
|
+
*/
|
|
21
|
+
componentName?: string;
|
|
22
|
+
[key: string]: any;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Label manager interface
|
|
26
|
+
*/
|
|
27
|
+
export interface LabelManager {
|
|
28
|
+
/**
|
|
29
|
+
* Sets the label text
|
|
30
|
+
* @param text - Text to set
|
|
31
|
+
* @returns LabelManager instance for chaining
|
|
32
|
+
*/
|
|
33
|
+
setText: (text: string) => LabelManager;
|
|
34
|
+
/**
|
|
35
|
+
* Gets the current label text
|
|
36
|
+
* @returns Current text
|
|
37
|
+
*/
|
|
38
|
+
getText: () => string;
|
|
39
|
+
/**
|
|
40
|
+
* Gets the label element
|
|
41
|
+
* @returns Label element
|
|
42
|
+
*/
|
|
43
|
+
getElement: () => HTMLElement;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Component with label capabilities
|
|
47
|
+
*/
|
|
48
|
+
export interface LabelComponent extends BaseComponent {
|
|
49
|
+
label: LabelManager;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Adds a text label to a component
|
|
53
|
+
*
|
|
54
|
+
* @param config - Configuration object containing label information
|
|
55
|
+
* @returns Function that enhances a component with a label
|
|
56
|
+
*/
|
|
57
|
+
export declare const withTextLabel: <T extends TextLabelConfig>(config?: T) => <C extends ElementComponent>(component: C) => C & LabelComponent;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module core/compose/features
|
|
3
|
+
* @description Adds throttled event handling capabilities to components
|
|
4
|
+
*/
|
|
5
|
+
import { BaseComponent, ElementComponent } from '../component';
|
|
6
|
+
/**
|
|
7
|
+
* Configuration for throttled event handlers
|
|
8
|
+
*/
|
|
9
|
+
export interface ThrottleConfig {
|
|
10
|
+
/**
|
|
11
|
+
* Event handlers with throttle settings
|
|
12
|
+
*/
|
|
13
|
+
throttledEvents?: Record<string, {
|
|
14
|
+
handler: (event: Event) => void;
|
|
15
|
+
wait: number;
|
|
16
|
+
options?: {
|
|
17
|
+
leading?: boolean;
|
|
18
|
+
trailing?: boolean;
|
|
19
|
+
};
|
|
20
|
+
}>;
|
|
21
|
+
[key: string]: any;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Component with throttled event capabilities
|
|
25
|
+
*/
|
|
26
|
+
export interface ThrottleComponent extends BaseComponent {
|
|
27
|
+
/**
|
|
28
|
+
* Adds a throttled event listener
|
|
29
|
+
* @param event - Event name
|
|
30
|
+
* @param handler - Event handler
|
|
31
|
+
* @param wait - Throttle interval in milliseconds
|
|
32
|
+
* @param options - Throttle options
|
|
33
|
+
* @returns ThrottleComponent for chaining
|
|
34
|
+
*/
|
|
35
|
+
addThrottledEvent: (event: string, handler: (event: Event) => void, wait: number, options?: {
|
|
36
|
+
leading?: boolean;
|
|
37
|
+
trailing?: boolean;
|
|
38
|
+
}) => ThrottleComponent;
|
|
39
|
+
/**
|
|
40
|
+
* Removes a throttled event listener
|
|
41
|
+
* @param event - Event name
|
|
42
|
+
* @returns ThrottleComponent for chaining
|
|
43
|
+
*/
|
|
44
|
+
removeThrottledEvent: (event: string) => ThrottleComponent;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Adds throttled event handling capabilities to a component
|
|
48
|
+
*
|
|
49
|
+
* @param config - Configuration object containing throttled event settings
|
|
50
|
+
* @returns Function that enhances a component with throttled event handling
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```ts
|
|
54
|
+
* // Add throttled events to a component
|
|
55
|
+
* const component = pipe(
|
|
56
|
+
* createBase,
|
|
57
|
+
* withElement(...),
|
|
58
|
+
* withThrottle({
|
|
59
|
+
* throttledEvents: {
|
|
60
|
+
* 'scroll': {
|
|
61
|
+
* handler: (e) => updateScrollPosition(e),
|
|
62
|
+
* wait: 100
|
|
63
|
+
* },
|
|
64
|
+
* 'mousemove': {
|
|
65
|
+
* handler: handleMouseMove,
|
|
66
|
+
* wait: 50,
|
|
67
|
+
* options: { leading: true, trailing: false }
|
|
68
|
+
* }
|
|
69
|
+
* }
|
|
70
|
+
* })
|
|
71
|
+
* )(config);
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
export declare const withThrottle: (config?: ThrottleConfig) => <C extends ElementComponent>(component: C) => C & ThrottleComponent;
|
|
75
|
+
export default withThrottle;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module core/compose/features
|
|
3
|
+
*/
|
|
4
|
+
import { BaseComponent, ElementComponent } from '../component';
|
|
5
|
+
/**
|
|
6
|
+
* Configuration for track feature
|
|
7
|
+
*/
|
|
8
|
+
export interface TrackConfig {
|
|
9
|
+
/**
|
|
10
|
+
* CSS class prefix
|
|
11
|
+
*/
|
|
12
|
+
prefix: string;
|
|
13
|
+
/**
|
|
14
|
+
* Component name for class generation
|
|
15
|
+
*/
|
|
16
|
+
componentName: string;
|
|
17
|
+
/**
|
|
18
|
+
* Custom icon HTML or 'none'
|
|
19
|
+
*/
|
|
20
|
+
icon?: string;
|
|
21
|
+
[key: string]: any;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Component with track and thumb elements
|
|
25
|
+
*/
|
|
26
|
+
export interface TrackComponent extends BaseComponent {
|
|
27
|
+
/**
|
|
28
|
+
* Track element
|
|
29
|
+
*/
|
|
30
|
+
track: HTMLElement;
|
|
31
|
+
/**
|
|
32
|
+
* Thumb element
|
|
33
|
+
*/
|
|
34
|
+
thumb: HTMLElement;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Adds track and thumb elements to a component
|
|
38
|
+
*
|
|
39
|
+
* @param config - Track configuration
|
|
40
|
+
* @returns Function that enhances a component with track and thumb elements
|
|
41
|
+
*/
|
|
42
|
+
export declare const withTrack: <T extends TrackConfig>(config: T) => <C extends ElementComponent>(component: C) => C & TrackComponent;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ElementComponent } from '../component';
|
|
2
|
+
/**
|
|
3
|
+
* Configuration for variant feature
|
|
4
|
+
*/
|
|
5
|
+
export interface VariantConfig {
|
|
6
|
+
variant?: string;
|
|
7
|
+
prefix?: string;
|
|
8
|
+
componentName?: string;
|
|
9
|
+
[key: string]: any;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Adds a variant class to a component
|
|
13
|
+
*
|
|
14
|
+
* @param config - Configuration object containing variant information
|
|
15
|
+
* @returns Function that enhances a component with the variant class
|
|
16
|
+
*/
|
|
17
|
+
export declare const withVariant: <T extends VariantConfig>(config: T) => <C extends ElementComponent>(component: C) => C;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { BaseComponent, ElementComponent } from '../component';
|
|
2
|
+
/**
|
|
3
|
+
* Event manager interface
|
|
4
|
+
*/
|
|
5
|
+
export interface EnhancedEventManager {
|
|
6
|
+
/**
|
|
7
|
+
* Add an event listener
|
|
8
|
+
*/
|
|
9
|
+
on: (event: string, handler: Function) => EnhancedEventManager;
|
|
10
|
+
/**
|
|
11
|
+
* Remove an event listener
|
|
12
|
+
*/
|
|
13
|
+
off: (event: string, handler: Function) => EnhancedEventManager;
|
|
14
|
+
/**
|
|
15
|
+
* Add multiple event listeners at once
|
|
16
|
+
*/
|
|
17
|
+
addListeners: (listeners: Record<string, Function>) => EnhancedEventManager;
|
|
18
|
+
/**
|
|
19
|
+
* Remove multiple event listeners at once
|
|
20
|
+
*/
|
|
21
|
+
removeListeners: (listeners: Record<string, Function>) => EnhancedEventManager;
|
|
22
|
+
/**
|
|
23
|
+
* One-time event handler
|
|
24
|
+
*/
|
|
25
|
+
once: (event: string, handler: Function) => EnhancedEventManager;
|
|
26
|
+
/**
|
|
27
|
+
* Clean up all event listeners
|
|
28
|
+
*/
|
|
29
|
+
destroy: () => void;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Component with enhanced event capabilities
|
|
33
|
+
*/
|
|
34
|
+
export interface EnhancedEventComponent extends BaseComponent {
|
|
35
|
+
events: EnhancedEventManager;
|
|
36
|
+
on: (event: string, handler: Function) => EnhancedEventComponent;
|
|
37
|
+
off: (event: string, handler: Function) => EnhancedEventComponent;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Adds enhanced event handling capabilities to a component
|
|
41
|
+
*
|
|
42
|
+
* @param target - Optional custom event target
|
|
43
|
+
* @returns Function that enhances a component with event capabilities
|
|
44
|
+
*/
|
|
45
|
+
export declare const withEvents: (target?: HTMLElement) => <C extends ElementComponent>(component: C) => C & EnhancedEventComponent;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module core/compose
|
|
3
|
+
* @description Core composition utilities for creating and combining components
|
|
4
|
+
*/
|
|
5
|
+
export { pipe, compose, transform } from './pipe';
|
|
6
|
+
export { createComponent } from './base';
|
|
7
|
+
export { createBase, withElement } from './component';
|
|
8
|
+
export { withEvents, withIcon, withSize, withPosition, withText, withVariant, withDisabled, withLifecycle, withRipple, withInput, withCheckable, withStyle, withTextInput, withTextLabel, withTrack, withEnhancedEvents, withThrottle, withDebounce, withGestures } from './features';
|
|
9
|
+
export { withTapGesture } from './features/gestures/tap';
|
|
10
|
+
export { withSwipeGesture } from './features/gestures/swipe';
|
|
11
|
+
export { withLongPressGesture } from './features/gestures/longpress';
|
|
12
|
+
export { withPanGesture } from './features/gestures/pan';
|
|
13
|
+
export type { Component } from './base';
|
|
14
|
+
export type { BaseComponent, ElementComponent, TouchState, WithElementOptions } from './component';
|
|
15
|
+
export type { EventComponent, TextComponent, IconComponent, LifecycleComponent, Lifecycle, DisabledComponent, DisabledManager, RippleComponent, InputComponent, CheckableComponent, CheckableManager, TextInputComponent, LabelComponent, TrackComponent, EnhancedEventComponent, ThrottleComponent, ThrottleConfig, DebounceComponent, DebounceConfig, GesturesComponent, GesturesFeatureConfig } from './features';
|
|
16
|
+
export { hasLifecycle, hasEmit } from './utils/type-guards';
|
|
17
|
+
export type { ComponentWithLifecycle, ComponentWithEmit } from './utils/type-guards';
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
// src/core/compose/pipe.ts
|
|
2
1
|
/**
|
|
3
2
|
* @namespace compose
|
|
4
3
|
* @description Core composition utilities for creating and combining components
|
|
5
4
|
*/
|
|
6
|
-
|
|
7
5
|
/**
|
|
8
6
|
* Performs left-to-right function composition.
|
|
9
7
|
* Each function takes the return value of the previous function as its input.
|
|
@@ -19,9 +17,7 @@
|
|
|
19
17
|
* const addOneThenDouble = pipe(addOne, double);
|
|
20
18
|
* console.log(addOneThenDouble(3)); // Output: 8
|
|
21
19
|
*/
|
|
22
|
-
export const pipe
|
|
23
|
-
(x: T): any => fns.reduce((v, f) => f(v), x);
|
|
24
|
-
|
|
20
|
+
export declare const pipe: <T>(...fns: Array<(arg: any) => any>) => (x: T) => any;
|
|
25
21
|
/**
|
|
26
22
|
* Performs right-to-left function composition.
|
|
27
23
|
* This is the mathematical composition order: (f ∘ g)(x) = f(g(x))
|
|
@@ -37,9 +33,7 @@ export const pipe = <T>(...fns: Array<(arg: any) => any>) =>
|
|
|
37
33
|
* const doubleTheAddOne = compose(addOne, double);
|
|
38
34
|
* console.log(doubleTheAddOne(3)); // Output: 7
|
|
39
35
|
*/
|
|
40
|
-
export const compose
|
|
41
|
-
(x: T): any => fns.reduceRight((v, f) => f(v), x);
|
|
42
|
-
|
|
36
|
+
export declare const compose: <T>(...fns: Array<(arg: any) => any>) => (x: T) => any;
|
|
43
37
|
/**
|
|
44
38
|
* Creates a function that applies transformations to an object with shared context.
|
|
45
39
|
* Useful for applying multiple transformations while maintaining a shared state.
|
|
@@ -57,18 +51,8 @@ export const compose = <T>(...fns: Array<(arg: any) => any>) =>
|
|
|
57
51
|
* const person = createPerson({}, { name: 'John', age: 30 });
|
|
58
52
|
* // Result: { name: 'John', age: 30 }
|
|
59
53
|
*/
|
|
60
|
-
export const transform
|
|
61
|
-
...transformers: Array<(obj: T, context: C) => Partial<T>>
|
|
62
|
-
) => (obj: T, context: C = {} as C): T =>
|
|
63
|
-
transformers.reduce(
|
|
64
|
-
(acc, transformer) => ({
|
|
65
|
-
...acc,
|
|
66
|
-
...transformer(acc, context)
|
|
67
|
-
}),
|
|
68
|
-
obj
|
|
69
|
-
);
|
|
70
|
-
|
|
54
|
+
export declare const transform: <T, C = Record<string, any>>(...transformers: Array<(obj: T, context: C) => Partial<T>>) => (obj: T, context?: C) => T;
|
|
71
55
|
/**
|
|
72
56
|
* @typedef {Object} TransformContext
|
|
73
57
|
* @property {any} [key] - Any contextual data needed by transformers
|
|
74
|
-
*/
|
|
58
|
+
*/
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility functions for type checking component capabilities
|
|
3
|
+
*/
|
|
4
|
+
import { ElementComponent } from '../component';
|
|
5
|
+
/**
|
|
6
|
+
* Interface for components with lifecycle
|
|
7
|
+
*/
|
|
8
|
+
export interface ComponentWithLifecycle extends ElementComponent {
|
|
9
|
+
lifecycle: {
|
|
10
|
+
destroy: () => void;
|
|
11
|
+
[key: string]: any;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Interface for components with emit method
|
|
16
|
+
*/
|
|
17
|
+
export interface ComponentWithEmit extends ElementComponent {
|
|
18
|
+
emit: (event: string, data: any) => any;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Type guard to check if component has lifecycle
|
|
22
|
+
*/
|
|
23
|
+
export declare function hasLifecycle(component: any): component is ComponentWithLifecycle;
|
|
24
|
+
/**
|
|
25
|
+
* Type guard to check if component has emit method
|
|
26
|
+
*/
|
|
27
|
+
export declare function hasEmit(component: any): component is ComponentWithEmit;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates DOM elements from component schema using the core createLayout utility
|
|
3
|
+
* This is a key feature that bridges the gap between declarative schema and actual DOM
|
|
4
|
+
*
|
|
5
|
+
* @returns Component enhancer that creates DOM structure from schema
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* // Materialize component schema into DOM
|
|
10
|
+
* const component = pipe(
|
|
11
|
+
* createBase,
|
|
12
|
+
* withLayout(config),
|
|
13
|
+
* withIcon(config),
|
|
14
|
+
* withLabel(config),
|
|
15
|
+
* withDom()
|
|
16
|
+
* )(config);
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare const withDom: () => (component: any) => any;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration for icon feature
|
|
3
|
+
*/
|
|
4
|
+
export interface IconConfig {
|
|
5
|
+
/**
|
|
6
|
+
* Icon HTML content
|
|
7
|
+
*/
|
|
8
|
+
icon?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Position of the icon ('start' or 'end')
|
|
11
|
+
*/
|
|
12
|
+
iconPosition?: 'start' | 'end';
|
|
13
|
+
/**
|
|
14
|
+
* Size variant for the icon
|
|
15
|
+
*/
|
|
16
|
+
iconSize?: string;
|
|
17
|
+
/**
|
|
18
|
+
* CSS class prefix
|
|
19
|
+
*/
|
|
20
|
+
prefix?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Component name for class generation
|
|
23
|
+
*/
|
|
24
|
+
componentName?: string;
|
|
25
|
+
[key: string]: any;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Enhances component schema with an icon element
|
|
29
|
+
* Unlike the traditional withIcon, this modifies the schema
|
|
30
|
+
* without creating actual DOM elements.
|
|
31
|
+
*
|
|
32
|
+
* @param config Configuration containing icon information
|
|
33
|
+
* @returns Component enhancer that adds icon to schema
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```ts
|
|
37
|
+
* // Add icon to a component schema
|
|
38
|
+
* const component = pipe(
|
|
39
|
+
* createBase,
|
|
40
|
+
* withLayout(config),
|
|
41
|
+
* withIcon(config)
|
|
42
|
+
* )(config);
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export declare const withIcon: (config: IconConfig) => (component: any) => any;
|
package/{src/core/composition/features/index.ts → dist/core/composition/features/index.d.ts}
RENAMED
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
// src/core/composition/features/index.ts
|
|
2
|
-
|
|
3
|
-
// Export composition features
|
|
4
1
|
export { withLayout } from './layout';
|
|
5
2
|
export { withIcon } from './icon';
|
|
6
3
|
export { withLabel } from './label';
|
|
7
4
|
export { withDom } from './dom';
|
|
8
|
-
|
|
9
|
-
// Re-export interface types for better developer experience
|
|
10
5
|
export type { IconConfig } from './icon';
|
|
11
6
|
export type { LabelConfig } from './label';
|
|
12
|
-
export type { LayoutConfig } from './layout';
|
|
7
|
+
export type { LayoutConfig } from './layout';
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration for label feature
|
|
3
|
+
*/
|
|
4
|
+
export interface LabelConfig {
|
|
5
|
+
/**
|
|
6
|
+
* Label text content
|
|
7
|
+
*/
|
|
8
|
+
label?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Position of the label ('start', 'end', 'top', or 'bottom')
|
|
11
|
+
*/
|
|
12
|
+
labelPosition?: 'start' | 'end' | 'top' | 'bottom';
|
|
13
|
+
/**
|
|
14
|
+
* CSS class prefix
|
|
15
|
+
*/
|
|
16
|
+
prefix?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Component name for class generation
|
|
19
|
+
*/
|
|
20
|
+
componentName?: string;
|
|
21
|
+
/**
|
|
22
|
+
* ID for the input element this label is associated with
|
|
23
|
+
*/
|
|
24
|
+
id?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Whether the labeled element is required
|
|
27
|
+
*/
|
|
28
|
+
required?: boolean;
|
|
29
|
+
[key: string]: any;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Enhances component schema with a label element
|
|
33
|
+
* Unlike the traditional withLabel, this modifies the schema
|
|
34
|
+
* without creating actual DOM elements.
|
|
35
|
+
*
|
|
36
|
+
* @param config Configuration containing label information
|
|
37
|
+
* @returns Component enhancer that adds label to schema
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```ts
|
|
41
|
+
* // Add label to a component schema
|
|
42
|
+
* const component = pipe(
|
|
43
|
+
* createBase,
|
|
44
|
+
* withLayout(config),
|
|
45
|
+
* withLabel(config)
|
|
46
|
+
* )(config);
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
export declare const withLabel: (config: LabelConfig) => (component: any) => any;
|
package/{src/core/composition/features/layout.ts → dist/core/composition/features/layout.d.ts}
RENAMED
|
@@ -1,25 +1,21 @@
|
|
|
1
|
-
// src/core/composition/features/layout.ts
|
|
2
|
-
|
|
3
1
|
/**
|
|
4
2
|
* Configuration that includes a component schema
|
|
5
3
|
*/
|
|
6
4
|
export interface LayoutConfig {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
[key: string]: any;
|
|
5
|
+
/**
|
|
6
|
+
* Component schema definition
|
|
7
|
+
*/
|
|
8
|
+
schema?: any;
|
|
9
|
+
[key: string]: any;
|
|
13
10
|
}
|
|
14
|
-
|
|
15
11
|
/**
|
|
16
12
|
* Adds schema definition to component without creating DOM
|
|
17
13
|
* This establishes the blueprint for the component's layout
|
|
18
14
|
* before materializing it with withDom
|
|
19
|
-
*
|
|
15
|
+
*
|
|
20
16
|
* @param config Configuration containing schema definition
|
|
21
17
|
* @returns Component enhancer with schema definition
|
|
22
|
-
*
|
|
18
|
+
*
|
|
23
19
|
* @example
|
|
24
20
|
* ```ts
|
|
25
21
|
* // Add layout to a component
|
|
@@ -32,16 +28,4 @@ export interface LayoutConfig {
|
|
|
32
28
|
* )(config);
|
|
33
29
|
* ```
|
|
34
30
|
*/
|
|
35
|
-
export const withLayout
|
|
36
|
-
// Use the schema definition from the config
|
|
37
|
-
if (!config.schema) {
|
|
38
|
-
console.warn('No schema definition found in component config');
|
|
39
|
-
return component;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
// Return enhanced component with schema definition
|
|
43
|
-
return {
|
|
44
|
-
...component,
|
|
45
|
-
schema: config.schema
|
|
46
|
-
};
|
|
47
|
-
};
|
|
31
|
+
export declare const withLayout: (config: LayoutConfig) => (component: any) => any;
|