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,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tab component variants
|
|
3
|
+
* @category Components
|
|
4
|
+
*/
|
|
5
|
+
export declare const TAB_VARIANTS: {
|
|
6
|
+
/** Primary tabs */
|
|
7
|
+
readonly PRIMARY: "primary";
|
|
8
|
+
/** Secondary tabs */
|
|
9
|
+
readonly SECONDARY: "secondary";
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Tab states
|
|
13
|
+
* @category Components
|
|
14
|
+
*/
|
|
15
|
+
export declare const TAB_STATES: {
|
|
16
|
+
/** Tab is currently active */
|
|
17
|
+
readonly ACTIVE: "active";
|
|
18
|
+
/** Tab is not currently active */
|
|
19
|
+
readonly INACTIVE: "inactive";
|
|
20
|
+
/** Tab is disabled */
|
|
21
|
+
readonly DISABLED: "disabled";
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Tab indicator width strategies
|
|
25
|
+
* @category Components
|
|
26
|
+
*/
|
|
27
|
+
export declare const TAB_INDICATOR_WIDTH_STRATEGIES: {
|
|
28
|
+
/** Fixed width defined by fixedWidth */
|
|
29
|
+
readonly FIXED: "fixed";
|
|
30
|
+
/** Half the tab width */
|
|
31
|
+
readonly DYNAMIC: "dynamic";
|
|
32
|
+
/** Match the text content width */
|
|
33
|
+
readonly CONTENT: "content";
|
|
34
|
+
/** Adapts based on variant (primary: text width, secondary: full tab width) */
|
|
35
|
+
readonly AUTO: "auto";
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Tab events
|
|
39
|
+
* @category Components
|
|
40
|
+
*/
|
|
41
|
+
export declare const TAB_EVENTS: {
|
|
42
|
+
/** Fired when a tab is clicked */
|
|
43
|
+
readonly CLICK: "click";
|
|
44
|
+
/** Fired when a tab receives focus */
|
|
45
|
+
readonly FOCUS: "focus";
|
|
46
|
+
/** Fired when a tab loses focus */
|
|
47
|
+
readonly BLUR: "blur";
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Tabs component events
|
|
51
|
+
* @category Components
|
|
52
|
+
*/
|
|
53
|
+
export declare const TABS_EVENTS: {
|
|
54
|
+
/** Fired when the active tab changes */
|
|
55
|
+
readonly CHANGE: "change";
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Default values for tabs component
|
|
59
|
+
* @category Components
|
|
60
|
+
*/
|
|
61
|
+
export declare const TABS_DEFAULTS: {
|
|
62
|
+
/** Default tab variant */
|
|
63
|
+
readonly VARIANT: "primary";
|
|
64
|
+
/** Whether tabs are horizontally scrollable */
|
|
65
|
+
readonly SCROLLABLE: true;
|
|
66
|
+
/** Whether to show a divider below the tabs */
|
|
67
|
+
readonly SHOW_DIVIDER: true;
|
|
68
|
+
/** Default indicator height in pixels */
|
|
69
|
+
readonly INDICATOR_HEIGHT: 3;
|
|
70
|
+
/** Default indicator width strategy */
|
|
71
|
+
readonly INDICATOR_WIDTH_STRATEGY: "auto";
|
|
72
|
+
/** Default fixed width for fixed indicator in pixels */
|
|
73
|
+
readonly INDICATOR_FIXED_WIDTH: 40;
|
|
74
|
+
/** Default indicator animation duration in milliseconds */
|
|
75
|
+
readonly INDICATOR_ANIMATION_DURATION: 250;
|
|
76
|
+
/** Default indicator animation timing function */
|
|
77
|
+
readonly INDICATOR_ANIMATION_TIMING: "cubic-bezier(0.4, 0, 0.2, 1)";
|
|
78
|
+
/** Default icon size */
|
|
79
|
+
readonly ICON_SIZE: "24px";
|
|
80
|
+
/** Whether to enable ripple effect on tabs */
|
|
81
|
+
readonly RIPPLE: true;
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Tab layout types
|
|
85
|
+
* @category Components
|
|
86
|
+
*/
|
|
87
|
+
export declare const TAB_LAYOUT: {
|
|
88
|
+
/** Icon-only tab layout */
|
|
89
|
+
readonly ICON_ONLY: "icon-only";
|
|
90
|
+
/** Text-only tab layout */
|
|
91
|
+
readonly TEXT_ONLY: "text-only";
|
|
92
|
+
/** Icon and text layout */
|
|
93
|
+
readonly ICON_AND_TEXT: "icon-and-text";
|
|
94
|
+
};
|
|
95
|
+
/**
|
|
96
|
+
* CSS class names used by the tabs component
|
|
97
|
+
* @category Components
|
|
98
|
+
*/
|
|
99
|
+
export declare const TABS_CLASSES: {
|
|
100
|
+
/** Root element class */
|
|
101
|
+
readonly ROOT: "tabs";
|
|
102
|
+
/** Root element with primary variant */
|
|
103
|
+
readonly PRIMARY: "tabs--primary";
|
|
104
|
+
/** Root element with secondary variant */
|
|
105
|
+
readonly SECONDARY: "tabs--secondary";
|
|
106
|
+
/** Root element with scrollable tabs */
|
|
107
|
+
readonly SCROLLABLE: "tabs--scrollable";
|
|
108
|
+
/** Scroll container element */
|
|
109
|
+
readonly SCROLL: "tabs-scroll";
|
|
110
|
+
/** Divider element */
|
|
111
|
+
readonly DIVIDER: "tabs-divider";
|
|
112
|
+
/** Indicator element */
|
|
113
|
+
readonly INDICATOR: "tabs-indicator";
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* CSS class names used by the tab component
|
|
117
|
+
* @category Components
|
|
118
|
+
*/
|
|
119
|
+
export declare const TAB_CLASSES: {
|
|
120
|
+
/** Root element class */
|
|
121
|
+
readonly ROOT: "tab";
|
|
122
|
+
/** Active state class */
|
|
123
|
+
readonly ACTIVE: "tab--active";
|
|
124
|
+
/** Inactive state class */
|
|
125
|
+
readonly INACTIVE: "tab--inactive";
|
|
126
|
+
/** Disabled state class */
|
|
127
|
+
readonly DISABLED: "tab--disabled";
|
|
128
|
+
/** Text content container */
|
|
129
|
+
readonly TEXT: "tab-text";
|
|
130
|
+
/** Icon container */
|
|
131
|
+
readonly ICON: "tab-icon";
|
|
132
|
+
/** Ripple effect container */
|
|
133
|
+
readonly RIPPLE: "tab-ripple";
|
|
134
|
+
/** Root element with primary variant */
|
|
135
|
+
readonly PRIMARY: "tab--primary";
|
|
136
|
+
/** Root element with secondary variant */
|
|
137
|
+
readonly SECONDARY: "tab--secondary";
|
|
138
|
+
/** Container for text and icon */
|
|
139
|
+
readonly CONTAINER: "tab-container";
|
|
140
|
+
/** Badge container */
|
|
141
|
+
readonly BADGE: "tab-badge";
|
|
142
|
+
};
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { TabConfig, TabComponent } from './types';
|
|
2
|
+
import { TabIndicator } from './indicator';
|
|
3
|
+
interface ComponentBase {
|
|
4
|
+
element: HTMLElement;
|
|
5
|
+
getClass: (name: string) => string;
|
|
6
|
+
scrollContainer?: HTMLElement;
|
|
7
|
+
emit?: (event: string, data: any) => any;
|
|
8
|
+
destroy?: () => void;
|
|
9
|
+
tabs?: TabComponent[];
|
|
10
|
+
handleTabClick?: (event: any, tab: TabComponent) => void;
|
|
11
|
+
variant?: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Configuration for tabs management feature
|
|
15
|
+
*/
|
|
16
|
+
export interface TabsManagementConfig {
|
|
17
|
+
/** Initial tabs to create */
|
|
18
|
+
tabs?: TabConfig[];
|
|
19
|
+
/** Tab variant */
|
|
20
|
+
variant?: string;
|
|
21
|
+
/** Component prefix */
|
|
22
|
+
prefix?: string;
|
|
23
|
+
/** Other configuration properties */
|
|
24
|
+
[key: string]: any;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Component with tabs management capabilities
|
|
28
|
+
*/
|
|
29
|
+
export interface TabsManagementComponent {
|
|
30
|
+
/** Array of tab components */
|
|
31
|
+
tabs: TabComponent[];
|
|
32
|
+
/** Target container for tabs */
|
|
33
|
+
tabsContainer: HTMLElement;
|
|
34
|
+
/** Tab click handler */
|
|
35
|
+
handleTabClick: (event: Event, tab: TabComponent) => void;
|
|
36
|
+
/** Get all tabs */
|
|
37
|
+
getTabs?: () => TabComponent[];
|
|
38
|
+
/** Get the active tab */
|
|
39
|
+
getActiveTab?: () => TabComponent | null;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Adds tabs management capabilities to a component
|
|
43
|
+
* @param {TabsManagementConfig} config - Tabs configuration
|
|
44
|
+
* @returns {Function} Component enhancer with tabs management
|
|
45
|
+
*/
|
|
46
|
+
export declare const withTabsManagement: <T extends TabsManagementConfig>(config: T) => <C extends ComponentBase>(component: C) => C & TabsManagementComponent;
|
|
47
|
+
/**
|
|
48
|
+
* Configuration for scrollable feature
|
|
49
|
+
*/
|
|
50
|
+
export interface ScrollableConfig {
|
|
51
|
+
/** Whether tabs are scrollable horizontally */
|
|
52
|
+
scrollable?: boolean;
|
|
53
|
+
/** Other configuration properties */
|
|
54
|
+
[key: string]: any;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Component with scrollable capabilities
|
|
58
|
+
*/
|
|
59
|
+
export interface ScrollableComponent {
|
|
60
|
+
/** Scroll container element */
|
|
61
|
+
scrollContainer?: HTMLElement;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Adds scrollable capabilities to a component
|
|
65
|
+
* @param {ScrollableConfig} config - Scrollable configuration
|
|
66
|
+
* @returns {Function} Component enhancer with scrollable container
|
|
67
|
+
*/
|
|
68
|
+
export declare const withScrollable: <T extends ScrollableConfig>(config: T) => <C extends ComponentBase>(component: C) => C & ScrollableComponent;
|
|
69
|
+
/**
|
|
70
|
+
* Configuration for divider feature
|
|
71
|
+
*/
|
|
72
|
+
export interface DividerConfig {
|
|
73
|
+
/** Whether to show a divider below the tabs */
|
|
74
|
+
showDivider?: boolean;
|
|
75
|
+
/** Other configuration properties */
|
|
76
|
+
[key: string]: any;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Adds a divider to a component
|
|
80
|
+
* @param {DividerConfig} config - Divider configuration
|
|
81
|
+
* @returns {Function} Component enhancer with divider
|
|
82
|
+
*/
|
|
83
|
+
export declare const withDivider: <T extends DividerConfig>(config: T) => <C extends ComponentBase>(component: C) => C;
|
|
84
|
+
/**
|
|
85
|
+
* Configuration for indicator feature
|
|
86
|
+
*/
|
|
87
|
+
export interface IndicatorFeatureConfig {
|
|
88
|
+
/** Component prefix */
|
|
89
|
+
prefix?: string;
|
|
90
|
+
/** Width strategy for the indicator */
|
|
91
|
+
widthStrategy?: 'fixed' | 'dynamic' | 'content';
|
|
92
|
+
/** Height of the indicator in pixels */
|
|
93
|
+
height?: number;
|
|
94
|
+
/** Fixed width in pixels (when using fixed strategy) */
|
|
95
|
+
fixedWidth?: number;
|
|
96
|
+
/** Animation duration in milliseconds */
|
|
97
|
+
animationDuration?: number;
|
|
98
|
+
/** Animation timing function */
|
|
99
|
+
animationTiming?: string;
|
|
100
|
+
/** Custom color for the indicator */
|
|
101
|
+
color?: string;
|
|
102
|
+
/** Legacy height property */
|
|
103
|
+
indicatorHeight?: number;
|
|
104
|
+
/** Legacy width strategy property */
|
|
105
|
+
indicatorWidthStrategy?: 'fixed' | 'dynamic' | 'content';
|
|
106
|
+
/** Indicator configuration object */
|
|
107
|
+
indicator?: {
|
|
108
|
+
widthStrategy?: 'fixed' | 'dynamic' | 'content';
|
|
109
|
+
height?: number;
|
|
110
|
+
fixedWidth?: number;
|
|
111
|
+
animationDuration?: number;
|
|
112
|
+
animationTiming?: string;
|
|
113
|
+
color?: string;
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Component with indicator capability
|
|
118
|
+
*/
|
|
119
|
+
export interface IndicatorComponent {
|
|
120
|
+
/** The indicator instance */
|
|
121
|
+
indicator: TabIndicator;
|
|
122
|
+
/** Get the indicator instance */
|
|
123
|
+
getIndicator: () => TabIndicator;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Enhances a component with tab indicator functionality
|
|
127
|
+
* @param config - Indicator configuration
|
|
128
|
+
* @returns Component enhancer with indicator functionality
|
|
129
|
+
*/
|
|
130
|
+
export declare const withIndicator: <T extends IndicatorFeatureConfig>(config: T) => <C extends ComponentBase & {
|
|
131
|
+
tabs: TabComponent[];
|
|
132
|
+
}>(component: C) => C & IndicatorComponent;
|
|
133
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import createTabs from './tabs';
|
|
2
|
+
import { addScrollIndicators } from './scroll-indicators';
|
|
3
|
+
import { setupResponsiveBehavior } from './responsive';
|
|
4
|
+
import { createTabsState } from './state';
|
|
5
|
+
import { createTabIndicator } from './indicator';
|
|
6
|
+
import { updateTabPanels, setupKeyboardNavigation } from './utils';
|
|
7
|
+
export { TAB_VARIANTS, TAB_STATES, TAB_INDICATOR_WIDTH_STRATEGIES, TAB_EVENTS, TABS_EVENTS, TABS_DEFAULTS, TABS_CLASSES, TAB_CLASSES } from './constants';
|
|
8
|
+
export { TabsConfig, TabsComponent, TabComponent, TabConfig, TabChangeEventData, IndicatorConfig } from './types';
|
|
9
|
+
export { addScrollIndicators, setupResponsiveBehavior, createTabsState, createTabIndicator, updateTabPanels, setupKeyboardNavigation };
|
|
10
|
+
export { withTabsManagement, withScrollable, withDivider, withIndicator, TabsManagementConfig, TabsManagementComponent, ScrollableConfig, ScrollableComponent, DividerConfig, IndicatorFeatureConfig, IndicatorComponent } from './features';
|
|
11
|
+
export default createTabs;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { TabComponent } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Configuration for tab indicator
|
|
4
|
+
*/
|
|
5
|
+
export interface TabIndicatorConfig {
|
|
6
|
+
/** Height of the indicator in pixels */
|
|
7
|
+
height?: number;
|
|
8
|
+
/** Width strategy - fixed size or dynamic based on tab width */
|
|
9
|
+
widthStrategy?: 'fixed' | 'dynamic' | 'content' | 'auto';
|
|
10
|
+
/** Fixed width in pixels when using fixed strategy */
|
|
11
|
+
fixedWidth?: number;
|
|
12
|
+
/** Animation duration in milliseconds */
|
|
13
|
+
animationDuration?: number;
|
|
14
|
+
/** Animation timing function */
|
|
15
|
+
animationTiming?: string;
|
|
16
|
+
/** Whether to show the indicator */
|
|
17
|
+
visible?: boolean;
|
|
18
|
+
/** CSS class prefix */
|
|
19
|
+
prefix?: string;
|
|
20
|
+
/** Custom color for the indicator */
|
|
21
|
+
color?: string;
|
|
22
|
+
/** Tabs variant (primary or secondary) */
|
|
23
|
+
variant?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Tab indicator API
|
|
27
|
+
*/
|
|
28
|
+
export interface TabIndicator {
|
|
29
|
+
/** The indicator DOM element */
|
|
30
|
+
element: HTMLElement;
|
|
31
|
+
/** Move the indicator to a specific tab */
|
|
32
|
+
moveToTab: (tab: TabComponent, immediate?: boolean) => void;
|
|
33
|
+
/** Show the indicator */
|
|
34
|
+
show: () => void;
|
|
35
|
+
/** Hide the indicator */
|
|
36
|
+
hide: () => void;
|
|
37
|
+
/** Set indicator color */
|
|
38
|
+
setColor: (color: string) => void;
|
|
39
|
+
/** Update indicator position (e.g. after resize) */
|
|
40
|
+
update: () => void;
|
|
41
|
+
/** Destroy the indicator and clean up */
|
|
42
|
+
destroy: () => void;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Creates a tab indicator component
|
|
46
|
+
* @param config - Indicator configuration
|
|
47
|
+
* @returns Tab indicator instance
|
|
48
|
+
*/
|
|
49
|
+
export declare const createTabIndicator: (config?: TabIndicatorConfig) => TabIndicator;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { TabsComponent } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Breakpoints for responsive behavior
|
|
4
|
+
*/
|
|
5
|
+
export declare const RESPONSIVE_BREAKPOINTS: {
|
|
6
|
+
/** Small screens (mobile) */
|
|
7
|
+
SMALL: number;
|
|
8
|
+
/** Medium screens (tablet) */
|
|
9
|
+
MEDIUM: number;
|
|
10
|
+
/** Large screens (desktop) */
|
|
11
|
+
LARGE: number;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Configuration for responsive behavior
|
|
15
|
+
*/
|
|
16
|
+
export interface ResponsiveConfig {
|
|
17
|
+
/** Whether to enable responsive behavior */
|
|
18
|
+
responsive?: boolean;
|
|
19
|
+
/** Options for small screens */
|
|
20
|
+
smallScreen?: {
|
|
21
|
+
/** Layout to use on small screens */
|
|
22
|
+
layout?: 'icon-only' | 'text-only' | 'icon-and-text';
|
|
23
|
+
/** Maximum tabs to show before scrolling */
|
|
24
|
+
maxVisibleTabs?: number;
|
|
25
|
+
};
|
|
26
|
+
/** Custom breakpoint values */
|
|
27
|
+
breakpoints?: {
|
|
28
|
+
small?: number;
|
|
29
|
+
medium?: number;
|
|
30
|
+
large?: number;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Enhances tabs with responsive behavior
|
|
35
|
+
* @param tabs - The tabs component to enhance
|
|
36
|
+
* @param config - Responsive configuration
|
|
37
|
+
*/
|
|
38
|
+
export declare const setupResponsiveBehavior: (tabs: TabsComponent, config?: ResponsiveConfig) => void;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { TabsComponent } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Configuration for scroll indicators
|
|
4
|
+
*/
|
|
5
|
+
export interface ScrollIndicatorConfig {
|
|
6
|
+
/** Whether to show scroll indicators */
|
|
7
|
+
enabled?: boolean;
|
|
8
|
+
/** Whether to add scroll buttons */
|
|
9
|
+
showButtons?: boolean;
|
|
10
|
+
/** Scroll indicator appearance */
|
|
11
|
+
appearance?: 'fade' | 'shadow';
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Adds scroll indicators to a tabs component
|
|
15
|
+
* @param tabs - Tabs component to enhance
|
|
16
|
+
* @param config - Scroll indicator configuration
|
|
17
|
+
*/
|
|
18
|
+
export declare const addScrollIndicators: (tabs: TabsComponent, config?: ScrollIndicatorConfig) => void;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { TabComponent } from './types';
|
|
2
|
+
import { TabIndicator } from './indicator';
|
|
3
|
+
/**
|
|
4
|
+
* State manager for MD3 tab states
|
|
5
|
+
* Handles proper state transitions between tabs
|
|
6
|
+
*/
|
|
7
|
+
export interface TabsStateManager {
|
|
8
|
+
/**
|
|
9
|
+
* Activates a tab and handles state transitions
|
|
10
|
+
* @param tab - The tab to activate
|
|
11
|
+
* @param immediate - Whether to skip animation
|
|
12
|
+
*/
|
|
13
|
+
activateTab: (tab: TabComponent, immediate?: boolean) => void;
|
|
14
|
+
/**
|
|
15
|
+
* Gets the currently active tab
|
|
16
|
+
*/
|
|
17
|
+
getActiveTab: () => TabComponent | null;
|
|
18
|
+
/**
|
|
19
|
+
* Cleans up event listeners
|
|
20
|
+
*/
|
|
21
|
+
destroy: () => void;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Options for creating a tabs state manager
|
|
25
|
+
*/
|
|
26
|
+
export interface TabsStateOptions {
|
|
27
|
+
/**
|
|
28
|
+
* Initial tabs to manage
|
|
29
|
+
*/
|
|
30
|
+
tabs: TabComponent[];
|
|
31
|
+
/**
|
|
32
|
+
* Optional callback when active tab changes
|
|
33
|
+
*/
|
|
34
|
+
onChange?: (data: {
|
|
35
|
+
tab: TabComponent;
|
|
36
|
+
value: string;
|
|
37
|
+
}) => void;
|
|
38
|
+
/**
|
|
39
|
+
* Optional indicator component
|
|
40
|
+
*/
|
|
41
|
+
indicator?: TabIndicator;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Creates a state manager for MD3 tabs
|
|
45
|
+
* @param options - State manager options
|
|
46
|
+
* @returns A tabs state manager instance
|
|
47
|
+
*/
|
|
48
|
+
export declare const createTabsState: (options: TabsStateOptions) => TabsStateManager;
|
|
49
|
+
/**
|
|
50
|
+
* Adds animation styles for ripple effects
|
|
51
|
+
* This is separate from indicator animations
|
|
52
|
+
*/
|
|
53
|
+
export declare const addTabStateStyles: () => void;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { TabComponent } from './types';
|
|
2
|
+
import type { BadgeComponent } from '../badge';
|
|
3
|
+
/**
|
|
4
|
+
* API options for a Tab component
|
|
5
|
+
*/
|
|
6
|
+
interface ApiOptions {
|
|
7
|
+
/** The button component's disabled API */
|
|
8
|
+
disabled: {
|
|
9
|
+
enable: () => void;
|
|
10
|
+
disable: () => void;
|
|
11
|
+
isDisabled?: () => boolean;
|
|
12
|
+
};
|
|
13
|
+
/** The component's lifecycle API */
|
|
14
|
+
lifecycle: {
|
|
15
|
+
destroy: () => void;
|
|
16
|
+
};
|
|
17
|
+
/** The button component (optional) */
|
|
18
|
+
button?: any;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Component with required elements and methods
|
|
22
|
+
*/
|
|
23
|
+
interface ComponentWithElements {
|
|
24
|
+
/** The DOM element */
|
|
25
|
+
element: HTMLElement;
|
|
26
|
+
/** The button component (optional) */
|
|
27
|
+
button?: any;
|
|
28
|
+
/** The badge component (optional) */
|
|
29
|
+
badge?: BadgeComponent;
|
|
30
|
+
/** Class name helper */
|
|
31
|
+
getClass: (name: string) => string;
|
|
32
|
+
/** Component configuration */
|
|
33
|
+
config: Record<string, any>;
|
|
34
|
+
/** Event emitter (optional) */
|
|
35
|
+
emit?: (event: string, data: any) => any;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Enhances a tab component with API methods
|
|
39
|
+
* @param {ApiOptions} options - API configuration options
|
|
40
|
+
* @returns {Function} Higher-order function that adds API methods to component
|
|
41
|
+
*/
|
|
42
|
+
export declare const withTabAPI: ({ disabled, lifecycle, button }: ApiOptions) => (component: ComponentWithElements) => TabComponent;
|
|
43
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { TabConfig, TabComponent } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a new Tab component following MD3 guidelines
|
|
4
|
+
* @param {TabConfig} config - Tab configuration object
|
|
5
|
+
* @returns {TabComponent} Tab component instance
|
|
6
|
+
*/
|
|
7
|
+
export declare const createTab: (config?: TabConfig) => TabComponent;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { TabsConfig, TabsComponent } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a new Tabs component following MD3 guidelines
|
|
4
|
+
* @param {TabsConfig} config - Tabs configuration object
|
|
5
|
+
* @returns {TabsComponent} Tabs component instance
|
|
6
|
+
* @example
|
|
7
|
+
* ```typescript
|
|
8
|
+
* // Create basic tabs with three items
|
|
9
|
+
* const tabs = createTabs({
|
|
10
|
+
* tabs: [
|
|
11
|
+
* { text: 'Home', value: 'home', state: 'active' },
|
|
12
|
+
* { text: 'Products', value: 'products' },
|
|
13
|
+
* { text: 'About', value: 'about' }
|
|
14
|
+
* ]
|
|
15
|
+
* });
|
|
16
|
+
*
|
|
17
|
+
* // Add tabs to DOM
|
|
18
|
+
* document.body.appendChild(tabs.element);
|
|
19
|
+
*
|
|
20
|
+
* // Listen for tab changes
|
|
21
|
+
* tabs.on('change', (e) => {
|
|
22
|
+
* console.log(`Active tab: ${e.value}`);
|
|
23
|
+
* });
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
declare const createTabs: (config?: TabsConfig) => TabsComponent;
|
|
27
|
+
export default createTabs;
|