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,390 @@
|
|
|
1
|
+
import type { BadgeComponent } from '../badge';
|
|
2
|
+
import { TabIndicator } from './indicator';
|
|
3
|
+
/**
|
|
4
|
+
* Available tabs variants
|
|
5
|
+
*/
|
|
6
|
+
export type TabsVariant = 'primary' | 'secondary';
|
|
7
|
+
/**
|
|
8
|
+
* Available tabs states
|
|
9
|
+
*/
|
|
10
|
+
export type TabStates = 'active' | 'inactive' | 'disabled';
|
|
11
|
+
/**
|
|
12
|
+
* Configuration for the tab indicator
|
|
13
|
+
* @category Components
|
|
14
|
+
*/
|
|
15
|
+
export interface IndicatorConfig {
|
|
16
|
+
/** Height of the indicator in pixels */
|
|
17
|
+
height?: number;
|
|
18
|
+
/**
|
|
19
|
+
* Width strategy for the indicator
|
|
20
|
+
* - 'fixed': Uses a fixed width defined by fixedWidth
|
|
21
|
+
* - 'dynamic': Uses half the tab width
|
|
22
|
+
* - 'content': Uses the text content width
|
|
23
|
+
* - 'auto': Adapts based on variant (primary: text width, secondary: full tab width)
|
|
24
|
+
*/
|
|
25
|
+
widthStrategy?: 'fixed' | 'dynamic' | 'content' | 'auto';
|
|
26
|
+
/** Fixed width in pixels (when using fixed strategy) */
|
|
27
|
+
fixedWidth?: number;
|
|
28
|
+
/** Animation duration in milliseconds */
|
|
29
|
+
animationDuration?: number;
|
|
30
|
+
/** Animation timing function */
|
|
31
|
+
animationTiming?: string;
|
|
32
|
+
/** Custom color for the indicator */
|
|
33
|
+
color?: string;
|
|
34
|
+
/** Tab variant (primary or secondary) */
|
|
35
|
+
variant?: string;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Tab change event data interface
|
|
39
|
+
* @category Events
|
|
40
|
+
*/
|
|
41
|
+
export interface TabChangeEventData {
|
|
42
|
+
/**
|
|
43
|
+
* The tab component that was activated
|
|
44
|
+
*/
|
|
45
|
+
tab: TabComponent;
|
|
46
|
+
/**
|
|
47
|
+
* The value of the activated tab
|
|
48
|
+
*/
|
|
49
|
+
value: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Configuration interface for a single Tab
|
|
53
|
+
* @category Components
|
|
54
|
+
*/
|
|
55
|
+
export interface TabConfig {
|
|
56
|
+
/**
|
|
57
|
+
* Tab state that determines if it's the active destination
|
|
58
|
+
* @default 'inactive'
|
|
59
|
+
*/
|
|
60
|
+
state?: TabStates | string;
|
|
61
|
+
/**
|
|
62
|
+
* Whether the tab is initially disabled
|
|
63
|
+
* @default false
|
|
64
|
+
*/
|
|
65
|
+
disabled?: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Initial tab text content (label)
|
|
68
|
+
* @example 'Home'
|
|
69
|
+
*/
|
|
70
|
+
text?: string;
|
|
71
|
+
/**
|
|
72
|
+
* Initial tab icon HTML content
|
|
73
|
+
* @example '<svg>...</svg>'
|
|
74
|
+
*/
|
|
75
|
+
icon?: string;
|
|
76
|
+
/**
|
|
77
|
+
* Badge text or value to display (if applicable)
|
|
78
|
+
* @example '5'
|
|
79
|
+
*/
|
|
80
|
+
badge?: string | number;
|
|
81
|
+
/**
|
|
82
|
+
* Badge configuration object
|
|
83
|
+
* Pass additional options for the badge component
|
|
84
|
+
*/
|
|
85
|
+
badgeConfig?: {
|
|
86
|
+
variant?: string;
|
|
87
|
+
color?: string;
|
|
88
|
+
size?: string;
|
|
89
|
+
position?: string;
|
|
90
|
+
max?: number;
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* Icon size in pixels or other CSS units
|
|
94
|
+
* @default '24px'
|
|
95
|
+
*/
|
|
96
|
+
iconSize?: string;
|
|
97
|
+
/**
|
|
98
|
+
* Additional CSS classes to add to the tab
|
|
99
|
+
* @example 'home-tab main-navigation'
|
|
100
|
+
*/
|
|
101
|
+
class?: string;
|
|
102
|
+
/**
|
|
103
|
+
* Tab value attribute for identifying the selected tab
|
|
104
|
+
*/
|
|
105
|
+
value?: string;
|
|
106
|
+
/**
|
|
107
|
+
* Whether to enable ripple effect
|
|
108
|
+
* @default true
|
|
109
|
+
*/
|
|
110
|
+
ripple?: boolean;
|
|
111
|
+
/**
|
|
112
|
+
* Component prefix for class names
|
|
113
|
+
* @default 'mtrl'
|
|
114
|
+
*/
|
|
115
|
+
prefix?: string;
|
|
116
|
+
/**
|
|
117
|
+
* Component name used in class generation
|
|
118
|
+
*/
|
|
119
|
+
componentName?: string;
|
|
120
|
+
/**
|
|
121
|
+
* Ripple effect configuration
|
|
122
|
+
*/
|
|
123
|
+
rippleConfig?: {
|
|
124
|
+
/** Duration of the ripple animation in milliseconds */
|
|
125
|
+
duration?: number;
|
|
126
|
+
/** Timing function for the ripple animation */
|
|
127
|
+
timing?: string;
|
|
128
|
+
/** Opacity values for ripple start and end [start, end] */
|
|
129
|
+
opacity?: [string, string];
|
|
130
|
+
};
|
|
131
|
+
/**
|
|
132
|
+
* Variant of the tab
|
|
133
|
+
*/
|
|
134
|
+
variant?: string;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Configuration interface for the Tabs component
|
|
138
|
+
* @category Components
|
|
139
|
+
*/
|
|
140
|
+
export interface TabsConfig {
|
|
141
|
+
/**
|
|
142
|
+
* Tabs variant (primary or secondary)
|
|
143
|
+
* @default 'primary'
|
|
144
|
+
*/
|
|
145
|
+
variant?: TabsVariant | string;
|
|
146
|
+
/**
|
|
147
|
+
* Initial tabs to create
|
|
148
|
+
*/
|
|
149
|
+
tabs?: TabConfig[];
|
|
150
|
+
/**
|
|
151
|
+
* Whether to show the divider
|
|
152
|
+
* @default true
|
|
153
|
+
*/
|
|
154
|
+
showDivider?: boolean;
|
|
155
|
+
/**
|
|
156
|
+
* Whether to enable horizontal scrolling
|
|
157
|
+
* @default true
|
|
158
|
+
*/
|
|
159
|
+
scrollable?: boolean;
|
|
160
|
+
/**
|
|
161
|
+
* Additional CSS classes for the container
|
|
162
|
+
*/
|
|
163
|
+
class?: string;
|
|
164
|
+
/**
|
|
165
|
+
* Component prefix for class names
|
|
166
|
+
* @default 'mtrl'
|
|
167
|
+
*/
|
|
168
|
+
prefix?: string;
|
|
169
|
+
/**
|
|
170
|
+
* Event handlers configuration
|
|
171
|
+
*/
|
|
172
|
+
on?: {
|
|
173
|
+
/**
|
|
174
|
+
* Tab change event handler
|
|
175
|
+
*/
|
|
176
|
+
change?: (event: TabChangeEventData) => void;
|
|
177
|
+
/**
|
|
178
|
+
* Event handlers for other events
|
|
179
|
+
*/
|
|
180
|
+
[key: string]: Function | undefined;
|
|
181
|
+
};
|
|
182
|
+
/**
|
|
183
|
+
* Tab indicator configuration
|
|
184
|
+
*/
|
|
185
|
+
indicator?: IndicatorConfig;
|
|
186
|
+
/**
|
|
187
|
+
* Tab indicator height in pixels
|
|
188
|
+
* @deprecated Use indicator.height instead
|
|
189
|
+
*/
|
|
190
|
+
indicatorHeight?: number;
|
|
191
|
+
/**
|
|
192
|
+
* Tab indicator width strategy
|
|
193
|
+
* @deprecated Use indicator.widthStrategy instead
|
|
194
|
+
*/
|
|
195
|
+
indicatorWidthStrategy?: 'fixed' | 'dynamic' | 'content';
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Icon API interface for managing tab icons
|
|
199
|
+
* @category Components
|
|
200
|
+
*/
|
|
201
|
+
export interface IconAPI {
|
|
202
|
+
/**
|
|
203
|
+
* Sets the icon HTML content
|
|
204
|
+
* @param html - HTML string for the icon
|
|
205
|
+
* @returns The icon API for chaining
|
|
206
|
+
*/
|
|
207
|
+
setIcon: (html: string) => IconAPI;
|
|
208
|
+
/**
|
|
209
|
+
* Gets the current icon HTML content
|
|
210
|
+
* @returns HTML string for the icon
|
|
211
|
+
*/
|
|
212
|
+
getIcon: () => string;
|
|
213
|
+
/**
|
|
214
|
+
* Gets the icon DOM element
|
|
215
|
+
* @returns The icon element or null if not present
|
|
216
|
+
*/
|
|
217
|
+
getElement: () => HTMLElement | null;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Text API interface for managing tab text
|
|
221
|
+
* @category Components
|
|
222
|
+
*/
|
|
223
|
+
export interface TextAPI {
|
|
224
|
+
/**
|
|
225
|
+
* Sets the text content
|
|
226
|
+
* @param content - Text content
|
|
227
|
+
* @returns The text API for chaining
|
|
228
|
+
*/
|
|
229
|
+
setText: (content: string) => TextAPI;
|
|
230
|
+
/**
|
|
231
|
+
* Gets the current text content
|
|
232
|
+
* @returns Tab text content
|
|
233
|
+
*/
|
|
234
|
+
getText: () => string;
|
|
235
|
+
/**
|
|
236
|
+
* Gets the text DOM element
|
|
237
|
+
* @returns The text element or null if not present
|
|
238
|
+
*/
|
|
239
|
+
getElement: () => HTMLElement | null;
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Tab component interface
|
|
243
|
+
* @category Components
|
|
244
|
+
*/
|
|
245
|
+
export interface TabComponent {
|
|
246
|
+
/** The tab's DOM element */
|
|
247
|
+
element: HTMLElement;
|
|
248
|
+
/** The tab's badge component (if any) */
|
|
249
|
+
badge?: BadgeComponent;
|
|
250
|
+
/** Gets a class name with the component's prefix */
|
|
251
|
+
getClass: (name: string) => string;
|
|
252
|
+
/** Gets the tab's value attribute */
|
|
253
|
+
getValue: () => string;
|
|
254
|
+
/** Sets the tab's value attribute */
|
|
255
|
+
setValue: (value: string) => TabComponent;
|
|
256
|
+
/** Activates the tab (sets active state) */
|
|
257
|
+
activate: () => TabComponent;
|
|
258
|
+
/** Deactivates the tab (sets inactive state) */
|
|
259
|
+
deactivate: () => TabComponent;
|
|
260
|
+
/** Checks if the tab is active */
|
|
261
|
+
isActive: () => boolean;
|
|
262
|
+
/** Enables the tab (removes disabled attribute) */
|
|
263
|
+
enable: () => TabComponent;
|
|
264
|
+
/** Disables the tab (adds disabled attribute) */
|
|
265
|
+
disable: () => TabComponent;
|
|
266
|
+
/** Sets the tab's text content */
|
|
267
|
+
setText: (content: string) => TabComponent;
|
|
268
|
+
/** Gets the tab's text content */
|
|
269
|
+
getText: () => string;
|
|
270
|
+
/** Sets the tab's icon */
|
|
271
|
+
setIcon: (icon: string) => TabComponent;
|
|
272
|
+
/** Gets the tab's icon HTML content */
|
|
273
|
+
getIcon: () => string;
|
|
274
|
+
/** Sets the tab's badge */
|
|
275
|
+
setBadge: (content: string | number) => TabComponent;
|
|
276
|
+
/** Gets the tab's badge content */
|
|
277
|
+
getBadge: () => string;
|
|
278
|
+
/** Shows the tab's badge */
|
|
279
|
+
showBadge: () => TabComponent;
|
|
280
|
+
/** Hides the tab's badge */
|
|
281
|
+
hideBadge: () => TabComponent;
|
|
282
|
+
/** Gets the badge component instance */
|
|
283
|
+
getBadgeComponent: () => BadgeComponent | undefined;
|
|
284
|
+
/** Updates the tab's layout style based on content */
|
|
285
|
+
updateLayoutStyle: () => void;
|
|
286
|
+
/** Adds an event listener to the tab */
|
|
287
|
+
on: (event: string, handler: Function) => TabComponent;
|
|
288
|
+
/** Removes an event listener from the tab */
|
|
289
|
+
off: (event: string, handler: Function) => TabComponent;
|
|
290
|
+
/** Destroys the tab component and cleans up resources */
|
|
291
|
+
destroy: () => void;
|
|
292
|
+
/** API for managing disabled state */
|
|
293
|
+
disabled?: {
|
|
294
|
+
enable: () => void;
|
|
295
|
+
disable: () => void;
|
|
296
|
+
isDisabled: () => boolean;
|
|
297
|
+
};
|
|
298
|
+
/** API for managing component lifecycle */
|
|
299
|
+
lifecycle?: {
|
|
300
|
+
destroy: () => void;
|
|
301
|
+
};
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Tabs component interface
|
|
305
|
+
* @category Components
|
|
306
|
+
*/
|
|
307
|
+
export interface TabsComponent {
|
|
308
|
+
/**
|
|
309
|
+
* Container element
|
|
310
|
+
*/
|
|
311
|
+
element: HTMLElement;
|
|
312
|
+
/**
|
|
313
|
+
* Gets a class name with the component's prefix
|
|
314
|
+
* @param name - Base class name
|
|
315
|
+
* @returns Prefixed class name
|
|
316
|
+
*/
|
|
317
|
+
getClass: (name: string) => string;
|
|
318
|
+
/**
|
|
319
|
+
* Creates and adds a new tab to the tabs component
|
|
320
|
+
* @param config - Tab configuration
|
|
321
|
+
* @returns The created tab component
|
|
322
|
+
*/
|
|
323
|
+
addTab: (config: TabConfig) => TabComponent;
|
|
324
|
+
/**
|
|
325
|
+
* Adds a pre-created tab to the tabs component
|
|
326
|
+
* @param tab - Tab component to add
|
|
327
|
+
* @returns Tabs component for chaining
|
|
328
|
+
*/
|
|
329
|
+
add: (tab: TabComponent) => TabsComponent;
|
|
330
|
+
/**
|
|
331
|
+
* Gets all tabs in the container
|
|
332
|
+
* @returns Array of tab components
|
|
333
|
+
*/
|
|
334
|
+
getTabs: () => TabComponent[];
|
|
335
|
+
/**
|
|
336
|
+
* Gets the active tab
|
|
337
|
+
* @returns Active tab or null if none
|
|
338
|
+
*/
|
|
339
|
+
getActiveTab: () => TabComponent | null;
|
|
340
|
+
/**
|
|
341
|
+
* Gets the indicator component
|
|
342
|
+
* @returns Tab indicator component
|
|
343
|
+
*/
|
|
344
|
+
getIndicator?: () => TabIndicator;
|
|
345
|
+
/**
|
|
346
|
+
* Sets a tab as active
|
|
347
|
+
* @param tabOrValue - Tab component or tab value
|
|
348
|
+
* @returns Tabs component for chaining
|
|
349
|
+
*/
|
|
350
|
+
setActiveTab: (tabOrValue: TabComponent | string) => TabsComponent;
|
|
351
|
+
/**
|
|
352
|
+
* Removes a tab from the container
|
|
353
|
+
* @param tabOrValue - Tab component or tab value
|
|
354
|
+
* @returns Tabs component for chaining
|
|
355
|
+
*/
|
|
356
|
+
removeTab: (tabOrValue: TabComponent | string) => TabsComponent;
|
|
357
|
+
/**
|
|
358
|
+
* Adds an event listener
|
|
359
|
+
* @param event - Event name
|
|
360
|
+
* @param handler - Event handler
|
|
361
|
+
* @returns Tabs component for chaining
|
|
362
|
+
*/
|
|
363
|
+
on: (event: string, handler: Function) => TabsComponent;
|
|
364
|
+
/**
|
|
365
|
+
* Removes an event listener
|
|
366
|
+
* @param event - Event name
|
|
367
|
+
* @param handler - Event handler
|
|
368
|
+
* @returns Tabs component for chaining
|
|
369
|
+
*/
|
|
370
|
+
off: (event: string, handler: Function) => TabsComponent;
|
|
371
|
+
/**
|
|
372
|
+
* Emit an event
|
|
373
|
+
* @param event - Event name
|
|
374
|
+
* @param data - Event data
|
|
375
|
+
* @returns Tabs component for chaining
|
|
376
|
+
*/
|
|
377
|
+
emit?: (event: string, data: any) => TabsComponent;
|
|
378
|
+
/**
|
|
379
|
+
* Destroys the tabs component and all tabs
|
|
380
|
+
*/
|
|
381
|
+
destroy: () => void;
|
|
382
|
+
/**
|
|
383
|
+
* Tab click event handler
|
|
384
|
+
*/
|
|
385
|
+
handleTabClick: (event: any, tab: TabComponent) => void;
|
|
386
|
+
/**
|
|
387
|
+
* Scroll container for scrollable tabs
|
|
388
|
+
*/
|
|
389
|
+
scrollContainer?: HTMLElement;
|
|
390
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { TabComponent } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Gets the active tab from a component
|
|
4
|
+
* @param component - Component with tabs
|
|
5
|
+
* @returns Active tab or null
|
|
6
|
+
*/
|
|
7
|
+
export declare function getActiveTab(component: any): TabComponent | null;
|
|
8
|
+
/**
|
|
9
|
+
* Updates tab panels based on active tab
|
|
10
|
+
* @param component - Component with tabs
|
|
11
|
+
*/
|
|
12
|
+
export declare function updateTabPanels(component: any): void;
|
|
13
|
+
/**
|
|
14
|
+
* Sets up keyboard navigation for tabs
|
|
15
|
+
* @param component - Tabs component
|
|
16
|
+
*/
|
|
17
|
+
export declare function setupKeyboardNavigation(component: any): void;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { BaseComponent, TextfieldComponent, ApiOptions } from './types';
|
|
2
|
+
import { PlacementComponent } from './features/placement';
|
|
3
|
+
/**
|
|
4
|
+
* Enhances textfield component with API methods
|
|
5
|
+
* @param {ApiOptions} options - API configuration
|
|
6
|
+
* @returns {Function} Higher-order function that adds API methods to component
|
|
7
|
+
*/
|
|
8
|
+
export declare const withAPI: ({ disabled, lifecycle }: ApiOptions) => (component: BaseComponent & Partial<PlacementComponent>) => TextfieldComponent;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { TextfieldConfig, BaseComponent, ApiOptions } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Default configuration for the Textfield component
|
|
4
|
+
*/
|
|
5
|
+
export declare const defaultConfig: TextfieldConfig;
|
|
6
|
+
/**
|
|
7
|
+
* Creates the base configuration for Textfield component
|
|
8
|
+
* @param {TextfieldConfig} config - User provided configuration
|
|
9
|
+
* @returns {TextfieldConfig} Complete configuration with defaults applied
|
|
10
|
+
*/
|
|
11
|
+
export declare const createBaseConfig: (config?: TextfieldConfig) => TextfieldConfig;
|
|
12
|
+
/**
|
|
13
|
+
* Generates element configuration for the Textfield component
|
|
14
|
+
* @param {TextfieldConfig} config - Textfield configuration
|
|
15
|
+
* @returns {Object} Element configuration object for withElement
|
|
16
|
+
*/
|
|
17
|
+
export declare const getElementConfig: (config: TextfieldConfig) => {
|
|
18
|
+
tag: string;
|
|
19
|
+
componentName: string;
|
|
20
|
+
attributes: Record<string, any>;
|
|
21
|
+
className: string[];
|
|
22
|
+
rawClass: string | string[];
|
|
23
|
+
html: string;
|
|
24
|
+
text: string;
|
|
25
|
+
forwardEvents: Record<string, boolean | ((component: any, event: Event) => boolean)>;
|
|
26
|
+
interactive: boolean;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Creates API configuration for the Textfield component
|
|
30
|
+
* @param {BaseComponent} comp - Component with disabled and lifecycle features
|
|
31
|
+
* @returns {ApiOptions} API configuration object
|
|
32
|
+
*/
|
|
33
|
+
export declare const getApiConfig: (comp: BaseComponent) => ApiOptions;
|
|
34
|
+
export default defaultConfig;
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Textfield variant constants
|
|
3
|
+
* @category Components
|
|
4
|
+
*/
|
|
5
|
+
export declare const TEXTFIELD_VARIANTS: {
|
|
6
|
+
/** Filled variant with background and animated label */
|
|
7
|
+
readonly FILLED: "filled";
|
|
8
|
+
/** Outlined variant with border and animated label */
|
|
9
|
+
readonly OUTLINED: "outlined";
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Textfield size constants
|
|
13
|
+
* @category Components
|
|
14
|
+
*/
|
|
15
|
+
export declare const TEXTFIELD_SIZES: {
|
|
16
|
+
/** Small textfield */
|
|
17
|
+
readonly SMALL: "small";
|
|
18
|
+
/** Medium textfield (default) */
|
|
19
|
+
readonly MEDIUM: "medium";
|
|
20
|
+
/** Large textfield */
|
|
21
|
+
readonly LARGE: "large";
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Textfield state constants
|
|
25
|
+
* @category Components
|
|
26
|
+
*/
|
|
27
|
+
export declare const TEXTFIELD_STATES: {
|
|
28
|
+
/** Textfield is active (focused) */
|
|
29
|
+
readonly ACTIVE: "active";
|
|
30
|
+
/** Textfield is inactive (not focused) */
|
|
31
|
+
readonly INACTIVE: "inactive";
|
|
32
|
+
/** Textfield is disabled */
|
|
33
|
+
readonly DISABLED: "disabled";
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Textfield type constants
|
|
37
|
+
* @category Components
|
|
38
|
+
*/
|
|
39
|
+
export declare const TEXTFIELD_TYPES: {
|
|
40
|
+
/** Standard text input */
|
|
41
|
+
readonly TEXT: "text";
|
|
42
|
+
/** Password input with obscured characters */
|
|
43
|
+
readonly PASSWORD: "password";
|
|
44
|
+
/** Email input with email validation */
|
|
45
|
+
readonly EMAIL: "email";
|
|
46
|
+
/** Numeric input */
|
|
47
|
+
readonly NUMBER: "number";
|
|
48
|
+
/** Telephone number input */
|
|
49
|
+
readonly TEL: "tel";
|
|
50
|
+
/** URL input with URL validation */
|
|
51
|
+
readonly URL: "url";
|
|
52
|
+
/** Search input */
|
|
53
|
+
readonly SEARCH: "search";
|
|
54
|
+
/** Multiline text input (textarea) */
|
|
55
|
+
readonly MULTILINE: "multiline";
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Textfield event constants
|
|
59
|
+
* @category Components
|
|
60
|
+
*/
|
|
61
|
+
export declare const TEXTFIELD_EVENTS: {
|
|
62
|
+
/** Fired when textfield value changes */
|
|
63
|
+
readonly CHANGE: "change";
|
|
64
|
+
/** Fired during input */
|
|
65
|
+
readonly INPUT: "input";
|
|
66
|
+
/** Fired when textfield receives focus */
|
|
67
|
+
readonly FOCUS: "focus";
|
|
68
|
+
/** Fired when textfield loses focus */
|
|
69
|
+
readonly BLUR: "blur";
|
|
70
|
+
/** Fired when enter key is pressed */
|
|
71
|
+
readonly ENTER: "enter";
|
|
72
|
+
/** Fired when a key is pressed down */
|
|
73
|
+
readonly KEYDOWN: "keydown";
|
|
74
|
+
/** Fired when a key is released */
|
|
75
|
+
readonly KEYUP: "keyup";
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* Default textfield configuration values
|
|
79
|
+
* @category Components
|
|
80
|
+
*/
|
|
81
|
+
export declare const TEXTFIELD_DEFAULTS: {
|
|
82
|
+
/** Default input type */
|
|
83
|
+
readonly TYPE: "text";
|
|
84
|
+
/** Default visual variant */
|
|
85
|
+
readonly VARIANT: "filled";
|
|
86
|
+
/** Default textfield size */
|
|
87
|
+
readonly SIZE: "medium";
|
|
88
|
+
/** Default disabled state */
|
|
89
|
+
readonly DISABLED: false;
|
|
90
|
+
/** Default required state */
|
|
91
|
+
readonly REQUIRED: false;
|
|
92
|
+
/** Default error state */
|
|
93
|
+
readonly ERROR: false;
|
|
94
|
+
/** Default label floating behavior (always floats on focus) */
|
|
95
|
+
readonly FLOAT_LABEL: true;
|
|
96
|
+
/** Default animation duration in milliseconds */
|
|
97
|
+
readonly ANIMATION_DURATION: 150;
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* CSS class names used by the textfield component
|
|
101
|
+
* @category Components
|
|
102
|
+
*/
|
|
103
|
+
export declare const TEXTFIELD_CLASSES: {
|
|
104
|
+
/** Root element class */
|
|
105
|
+
readonly ROOT: "textfield";
|
|
106
|
+
/** Input element class */
|
|
107
|
+
readonly INPUT: "textfield-input";
|
|
108
|
+
/** Label element class */
|
|
109
|
+
readonly LABEL: "textfield-label";
|
|
110
|
+
/** Container element class */
|
|
111
|
+
readonly CONTAINER: "textfield-container";
|
|
112
|
+
/** Filled variant class */
|
|
113
|
+
readonly FILLED: "textfield--filled";
|
|
114
|
+
/** Outlined variant class */
|
|
115
|
+
readonly OUTLINED: "textfield--outlined";
|
|
116
|
+
/** Small size class */
|
|
117
|
+
readonly SMALL: "textfield--small";
|
|
118
|
+
/** Medium size class */
|
|
119
|
+
readonly MEDIUM: "textfield--medium";
|
|
120
|
+
/** Large size class */
|
|
121
|
+
readonly LARGE: "textfield--large";
|
|
122
|
+
/** Focused state class */
|
|
123
|
+
readonly FOCUSED: "textfield--focused";
|
|
124
|
+
/** Disabled state class */
|
|
125
|
+
readonly DISABLED: "textfield--disabled";
|
|
126
|
+
/** Error state class */
|
|
127
|
+
readonly ERROR: "textfield--error";
|
|
128
|
+
/** Required indicator class */
|
|
129
|
+
readonly REQUIRED: "textfield--required";
|
|
130
|
+
/** Floating label class */
|
|
131
|
+
readonly LABEL_FLOATING: "textfield-label--floating";
|
|
132
|
+
/** Supporting text class */
|
|
133
|
+
readonly SUPPORTING_TEXT: "textfield-supporting-text";
|
|
134
|
+
/** Supporting text error class */
|
|
135
|
+
readonly SUPPORTING_TEXT_ERROR: "textfield-supporting-text--error";
|
|
136
|
+
/** Leading icon class */
|
|
137
|
+
readonly LEADING_ICON: "textfield-leading-icon";
|
|
138
|
+
/** Trailing icon class */
|
|
139
|
+
readonly TRAILING_ICON: "textfield-trailing-icon";
|
|
140
|
+
/** Prefix text class */
|
|
141
|
+
readonly PREFIX_TEXT: "textfield-prefix-text";
|
|
142
|
+
/** Suffix text class */
|
|
143
|
+
readonly SUFFIX_TEXT: "textfield-suffix-text";
|
|
144
|
+
/** Outline element class (for outlined variant) */
|
|
145
|
+
readonly OUTLINE: "textfield-outline";
|
|
146
|
+
/** Multiline class */
|
|
147
|
+
readonly MULTILINE: "textfield--multiline";
|
|
148
|
+
};
|
package/{src/components/textfield/features/index.ts → dist/components/textfield/features/index.d.ts}
RENAMED
|
@@ -1,17 +1,12 @@
|
|
|
1
|
-
// src/components/textfield/features/index.ts
|
|
2
|
-
|
|
3
|
-
// Export features
|
|
4
1
|
export { withLeadingIcon } from './leading-icon';
|
|
5
2
|
export { withTrailingIcon } from './trailing-icon';
|
|
6
3
|
export { withPrefixText } from './prefix-text';
|
|
7
4
|
export { withSuffixText } from './suffix-text';
|
|
8
5
|
export { withSupportingText } from './supporting-text';
|
|
9
6
|
export { withPlacement } from './placement';
|
|
10
|
-
|
|
11
|
-
// Export interfaces
|
|
12
7
|
export type { LeadingIconComponent, LeadingIconConfig } from './leading-icon';
|
|
13
8
|
export type { TrailingIconComponent, TrailingIconConfig } from './trailing-icon';
|
|
14
9
|
export type { PrefixTextComponent, PrefixTextConfig } from './prefix-text';
|
|
15
10
|
export type { SuffixTextComponent, SuffixTextConfig } from './suffix-text';
|
|
16
11
|
export type { SupportingTextComponent, SupportingTextConfig } from './supporting-text';
|
|
17
|
-
export type { PlacementComponent } from './placement';
|
|
12
|
+
export type { PlacementComponent } from './placement';
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { BaseComponent, ElementComponent } from '../../../core/compose/component';
|
|
2
|
+
/**
|
|
3
|
+
* Extended element component with input field
|
|
4
|
+
*/
|
|
5
|
+
interface InputElementComponent extends ElementComponent {
|
|
6
|
+
input?: HTMLInputElement | HTMLTextAreaElement;
|
|
7
|
+
lifecycle?: {
|
|
8
|
+
destroy: () => void;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Configuration for leading icon feature
|
|
13
|
+
*/
|
|
14
|
+
export interface LeadingIconConfig {
|
|
15
|
+
/**
|
|
16
|
+
* Leading icon HTML content
|
|
17
|
+
*/
|
|
18
|
+
leadingIcon?: string;
|
|
19
|
+
/**
|
|
20
|
+
* CSS class prefix
|
|
21
|
+
*/
|
|
22
|
+
prefix?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Component name
|
|
25
|
+
*/
|
|
26
|
+
componentName?: string;
|
|
27
|
+
[key: string]: any;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Component with leading icon capabilities
|
|
31
|
+
*/
|
|
32
|
+
export interface LeadingIconComponent extends BaseComponent {
|
|
33
|
+
/**
|
|
34
|
+
* Leading icon element
|
|
35
|
+
*/
|
|
36
|
+
leadingIcon: HTMLElement | null;
|
|
37
|
+
/**
|
|
38
|
+
* Sets leading icon content
|
|
39
|
+
* @param html - HTML content for the icon
|
|
40
|
+
* @returns Component instance for chaining
|
|
41
|
+
*/
|
|
42
|
+
setLeadingIcon: (html: string) => LeadingIconComponent;
|
|
43
|
+
/**
|
|
44
|
+
* Removes leading icon
|
|
45
|
+
* @returns Component instance for chaining
|
|
46
|
+
*/
|
|
47
|
+
removeLeadingIcon: () => LeadingIconComponent;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Adds leading icon to a textfield component
|
|
51
|
+
* @param config - Configuration with leading icon settings
|
|
52
|
+
* @returns Function that enhances a component with leading icon
|
|
53
|
+
*/
|
|
54
|
+
export declare const withLeadingIcon: <T extends LeadingIconConfig>(config: T) => <C extends InputElementComponent>(component: C) => C & LeadingIconComponent;
|
|
55
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { BaseComponent, ElementComponent } from '../../../core/compose/component';
|
|
2
|
+
/**
|
|
3
|
+
* Extended element component with input field
|
|
4
|
+
*/
|
|
5
|
+
interface InputElementComponent extends ElementComponent {
|
|
6
|
+
input?: HTMLInputElement | HTMLTextAreaElement;
|
|
7
|
+
lifecycle?: {
|
|
8
|
+
destroy: () => void;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Component with placement management capabilities
|
|
13
|
+
*/
|
|
14
|
+
export interface PlacementComponent extends BaseComponent {
|
|
15
|
+
/**
|
|
16
|
+
* Updates positions of all elements in the textfield
|
|
17
|
+
* @returns The component instance for chaining
|
|
18
|
+
*/
|
|
19
|
+
updateElementPositions: () => PlacementComponent;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Handles dynamic positioning of textfield elements (label, prefix, suffix)
|
|
23
|
+
* This feature should be added last in the pipe to ensure all elements exist
|
|
24
|
+
*
|
|
25
|
+
* @returns Function that enhances a component with dynamic positioning
|
|
26
|
+
*/
|
|
27
|
+
export declare const withPlacement: () => <C extends InputElementComponent>(component: C) => C & PlacementComponent;
|
|
28
|
+
export {};
|