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,471 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Card variant types following Material Design 3 guidelines.
|
|
3
|
+
* - elevated: Card with shadow elevation (default)
|
|
4
|
+
* - filled: Card with filled background color and no elevation
|
|
5
|
+
* - outlined: Card with outline border and no elevation
|
|
6
|
+
*
|
|
7
|
+
* @category Components
|
|
8
|
+
*/
|
|
9
|
+
export type CardVariant = 'elevated' | 'filled' | 'outlined';
|
|
10
|
+
/**
|
|
11
|
+
* Card elevation levels in Material Design 3.
|
|
12
|
+
* Specifies the shadow height in density-independent pixels (dp).
|
|
13
|
+
* These values match the CARD_ELEVATION_LEVELS constants.
|
|
14
|
+
*
|
|
15
|
+
* @category Components
|
|
16
|
+
*/
|
|
17
|
+
export type CardElevationLevel = 0 | 1 | 2 | 4;
|
|
18
|
+
/**
|
|
19
|
+
* Button configuration interface for buttons shorthand.
|
|
20
|
+
* Used in the card's `buttons` configuration property for simple button creation.
|
|
21
|
+
*
|
|
22
|
+
* @interface ButtonConfig
|
|
23
|
+
* @category Components
|
|
24
|
+
*/
|
|
25
|
+
export interface ButtonConfig {
|
|
26
|
+
/** Button text content */
|
|
27
|
+
text?: string;
|
|
28
|
+
/** Button variant (text, outlined, filled, etc.) */
|
|
29
|
+
variant?: string;
|
|
30
|
+
/** Button icon HTML content */
|
|
31
|
+
icon?: string;
|
|
32
|
+
/** Additional button properties passed to button component */
|
|
33
|
+
[key: string]: any;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Card configuration interface defining all possible card options.
|
|
37
|
+
* This is the primary configuration interface for creating card components.
|
|
38
|
+
*
|
|
39
|
+
* @interface CardSchema
|
|
40
|
+
* @category Components
|
|
41
|
+
* @example
|
|
42
|
+
* ```typescript
|
|
43
|
+
* const cardConfig: CardSchema = {
|
|
44
|
+
* variant: 'elevated',
|
|
45
|
+
* interactive: true,
|
|
46
|
+
* header: {
|
|
47
|
+
* title: 'Card Title',
|
|
48
|
+
* subtitle: 'Secondary text'
|
|
49
|
+
* },
|
|
50
|
+
* content: {
|
|
51
|
+
* text: 'Card content text'
|
|
52
|
+
* },
|
|
53
|
+
* buttons: [
|
|
54
|
+
* { text: 'Action', variant: 'text' }
|
|
55
|
+
* ]
|
|
56
|
+
* };
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export interface CardSchema {
|
|
60
|
+
/** Card variant type (elevated, filled, outlined) */
|
|
61
|
+
variant?: CardVariant | string;
|
|
62
|
+
/** Whether the card is interactive */
|
|
63
|
+
interactive?: boolean;
|
|
64
|
+
/** Whether the card should take full width */
|
|
65
|
+
fullWidth?: boolean;
|
|
66
|
+
/** Whether the card is clickable (with ripple effect) */
|
|
67
|
+
clickable?: boolean;
|
|
68
|
+
/** Whether the card is draggable */
|
|
69
|
+
draggable?: boolean;
|
|
70
|
+
/** Additional CSS class(es) */
|
|
71
|
+
class?: string;
|
|
72
|
+
/** Header configuration */
|
|
73
|
+
headerConfig?: CardHeaderConfig;
|
|
74
|
+
/** Content configuration */
|
|
75
|
+
contentConfig?: CardContentConfig;
|
|
76
|
+
/** Actions configuration */
|
|
77
|
+
actionsConfig?: CardActionsConfig;
|
|
78
|
+
/** Media configuration */
|
|
79
|
+
mediaConfig?: CardMediaConfig;
|
|
80
|
+
/** ARIA attributes for accessibility */
|
|
81
|
+
aria?: CardAriaAttributes;
|
|
82
|
+
/** Inline header configuration (alternative to headerConfig) */
|
|
83
|
+
header?: CardHeaderConfig;
|
|
84
|
+
/** Inline content configuration (alternative to contentConfig) */
|
|
85
|
+
content?: CardContentConfig;
|
|
86
|
+
/** Inline media configuration (alternative to mediaConfig) */
|
|
87
|
+
media?: CardMediaConfig;
|
|
88
|
+
/** Inline actions configuration (alternative to actionsConfig) */
|
|
89
|
+
actions?: CardActionsConfig;
|
|
90
|
+
/** Simple buttons array for actions (will be converted to actionsConfig) */
|
|
91
|
+
buttons?: ButtonConfig[];
|
|
92
|
+
/** Internal component name */
|
|
93
|
+
componentName?: string;
|
|
94
|
+
/** CSS class prefix */
|
|
95
|
+
prefix?: string;
|
|
96
|
+
/** Callback executed after component creation */
|
|
97
|
+
afterCreation?: (component: BaseComponent) => void;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* ARIA attributes for card accessibility.
|
|
101
|
+
* These attributes enhance the card's accessibility for assistive technologies.
|
|
102
|
+
*
|
|
103
|
+
* @interface CardAriaAttributes
|
|
104
|
+
* @category Components
|
|
105
|
+
*/
|
|
106
|
+
export interface CardAriaAttributes {
|
|
107
|
+
/** ARIA label */
|
|
108
|
+
label?: string;
|
|
109
|
+
/** ARIA labelledby */
|
|
110
|
+
labelledby?: string;
|
|
111
|
+
/** ARIA describedby */
|
|
112
|
+
describedby?: string;
|
|
113
|
+
/** ARIA role (default is 'region' for non-interactive, 'button' for interactive) */
|
|
114
|
+
role?: string;
|
|
115
|
+
/** Additional ARIA attributes as key-value pairs */
|
|
116
|
+
[key: string]: string | undefined;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Card header configuration.
|
|
120
|
+
* Options for configuring the card's header section with title, subtitle, and actions.
|
|
121
|
+
*
|
|
122
|
+
* @interface CardHeaderConfig
|
|
123
|
+
* @category Components
|
|
124
|
+
*/
|
|
125
|
+
export interface CardHeaderConfig {
|
|
126
|
+
/** Header title text */
|
|
127
|
+
title?: string;
|
|
128
|
+
/** Header subtitle text */
|
|
129
|
+
subtitle?: string;
|
|
130
|
+
/** Avatar element or HTML string */
|
|
131
|
+
avatar?: HTMLElement | string;
|
|
132
|
+
/** Action element or HTML string */
|
|
133
|
+
action?: HTMLElement | string;
|
|
134
|
+
/** Additional CSS class(es) */
|
|
135
|
+
class?: string;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Card content configuration.
|
|
139
|
+
* Options for configuring the card's main content area.
|
|
140
|
+
*
|
|
141
|
+
* @interface CardContentConfig
|
|
142
|
+
* @category Components
|
|
143
|
+
*/
|
|
144
|
+
export interface CardContentConfig {
|
|
145
|
+
/** Text content */
|
|
146
|
+
text?: string;
|
|
147
|
+
/** HTML content */
|
|
148
|
+
html?: string;
|
|
149
|
+
/** Child elements */
|
|
150
|
+
children?: HTMLElement[];
|
|
151
|
+
/** Whether to add padding (true by default) */
|
|
152
|
+
padding?: boolean;
|
|
153
|
+
/** Additional CSS class(es) */
|
|
154
|
+
class?: string;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Card actions configuration.
|
|
158
|
+
* Options for configuring the card's action buttons area at the bottom.
|
|
159
|
+
*
|
|
160
|
+
* @interface CardActionsConfig
|
|
161
|
+
* @category Components
|
|
162
|
+
*/
|
|
163
|
+
export interface CardActionsConfig {
|
|
164
|
+
/** Action elements */
|
|
165
|
+
actions?: HTMLElement[];
|
|
166
|
+
/** Whether actions should be full-bleed */
|
|
167
|
+
fullBleed?: boolean;
|
|
168
|
+
/** Whether actions should be stacked vertically */
|
|
169
|
+
vertical?: boolean;
|
|
170
|
+
/** Horizontal alignment */
|
|
171
|
+
align?: 'start' | 'center' | 'end' | 'space-between';
|
|
172
|
+
/** Additional CSS class(es) */
|
|
173
|
+
class?: string;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Card media configuration.
|
|
177
|
+
* Options for configuring the card's media section (images or other media content).
|
|
178
|
+
*
|
|
179
|
+
* @interface CardMediaConfig
|
|
180
|
+
* @category Components
|
|
181
|
+
*/
|
|
182
|
+
export interface CardMediaConfig {
|
|
183
|
+
/** Image source URL */
|
|
184
|
+
src?: string;
|
|
185
|
+
/** Image alt text (required for accessibility) */
|
|
186
|
+
alt?: string;
|
|
187
|
+
/** Custom element instead of image */
|
|
188
|
+
element?: HTMLElement;
|
|
189
|
+
/** Aspect ratio */
|
|
190
|
+
aspectRatio?: '16:9' | '4:3' | '1:1' | string;
|
|
191
|
+
/** Whether media should use object-fit: contain */
|
|
192
|
+
contain?: boolean;
|
|
193
|
+
/** Additional CSS class(es) */
|
|
194
|
+
class?: string;
|
|
195
|
+
/**
|
|
196
|
+
* Position of the media in the card
|
|
197
|
+
* - 'top': Media appears at the top of the card (default)
|
|
198
|
+
* - 'bottom': Media appears after the content
|
|
199
|
+
*/
|
|
200
|
+
position?: 'top' | 'bottom';
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Base component interface.
|
|
204
|
+
* Core interface that all components extend with basic functionality.
|
|
205
|
+
*
|
|
206
|
+
* @interface BaseComponent
|
|
207
|
+
* @category Components
|
|
208
|
+
*/
|
|
209
|
+
export interface BaseComponent {
|
|
210
|
+
/** The DOM element */
|
|
211
|
+
element: HTMLElement;
|
|
212
|
+
/** Get class name with prefix */
|
|
213
|
+
getClass: (name?: string) => string;
|
|
214
|
+
/** Get modifier class */
|
|
215
|
+
getModifierClass: (base: string, modifier: string) => string;
|
|
216
|
+
/** Get element class */
|
|
217
|
+
getElementClass: (base: string, element: string) => string;
|
|
218
|
+
/** Add CSS class(es) */
|
|
219
|
+
addClass: (...classes: string[]) => BaseComponent;
|
|
220
|
+
/** Emit an event */
|
|
221
|
+
emit?: (event: string, data?: any) => void;
|
|
222
|
+
/** Component configuration */
|
|
223
|
+
config: CardComponentConfig;
|
|
224
|
+
/** Touch state for touch interactions */
|
|
225
|
+
touchState?: TouchState;
|
|
226
|
+
/** Update touch state */
|
|
227
|
+
updateTouchState?: (event: TouchEvent | MouseEvent, status: 'start' | 'end') => void;
|
|
228
|
+
/** Component lifecycle methods */
|
|
229
|
+
lifecycle?: ComponentLifecycle;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Touch state interface for touch interactions.
|
|
233
|
+
* Used to track touch events for interactive components.
|
|
234
|
+
*
|
|
235
|
+
* @interface TouchState
|
|
236
|
+
* @category Components
|
|
237
|
+
*/
|
|
238
|
+
export interface TouchState {
|
|
239
|
+
/** Timestamp when touch started */
|
|
240
|
+
startTime: number;
|
|
241
|
+
/** Starting position */
|
|
242
|
+
startPosition: {
|
|
243
|
+
x: number;
|
|
244
|
+
y: number;
|
|
245
|
+
};
|
|
246
|
+
/** Whether touch is active */
|
|
247
|
+
isTouching: boolean;
|
|
248
|
+
/** Current touch target */
|
|
249
|
+
activeTarget: EventTarget | null;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Component lifecycle interface.
|
|
253
|
+
* Defines the lifecycle hooks for component creation, updates, and destruction.
|
|
254
|
+
*
|
|
255
|
+
* @interface ComponentLifecycle
|
|
256
|
+
* @category Components
|
|
257
|
+
*/
|
|
258
|
+
export interface ComponentLifecycle {
|
|
259
|
+
/** Called when component is mounted to DOM */
|
|
260
|
+
mount?: () => void;
|
|
261
|
+
/** Called when component is updated */
|
|
262
|
+
update?: () => void;
|
|
263
|
+
/** Called when component is destroyed */
|
|
264
|
+
destroy: () => void;
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Card component configuration.
|
|
268
|
+
* Internal configuration object that extends the user-provided schema
|
|
269
|
+
* with additional required properties.
|
|
270
|
+
*
|
|
271
|
+
* @interface CardComponentConfig
|
|
272
|
+
* @extends CardSchema
|
|
273
|
+
* @category Components
|
|
274
|
+
*/
|
|
275
|
+
export interface CardComponentConfig extends CardSchema {
|
|
276
|
+
/** Component name */
|
|
277
|
+
componentName: string;
|
|
278
|
+
/** CSS class prefix */
|
|
279
|
+
prefix: string;
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Card component interface with methods.
|
|
283
|
+
* This is the public API of the card component that users interact with.
|
|
284
|
+
*
|
|
285
|
+
* @interface CardComponent
|
|
286
|
+
* @extends BaseComponent
|
|
287
|
+
* @category Components
|
|
288
|
+
*/
|
|
289
|
+
export interface CardComponent extends BaseComponent {
|
|
290
|
+
/**
|
|
291
|
+
* Adds content to the card.
|
|
292
|
+
* This method appends content to the card component.
|
|
293
|
+
*
|
|
294
|
+
* @param contentElement - The content element to add
|
|
295
|
+
* @returns The card instance for chaining
|
|
296
|
+
* @example
|
|
297
|
+
* ```typescript
|
|
298
|
+
* const content = document.createElement('div');
|
|
299
|
+
* content.className = 'mtrl-card-content';
|
|
300
|
+
* content.textContent = 'Card content goes here';
|
|
301
|
+
* card.addContent(content);
|
|
302
|
+
* ```
|
|
303
|
+
*/
|
|
304
|
+
addContent: (contentElement: HTMLElement) => CardComponent;
|
|
305
|
+
/**
|
|
306
|
+
* Sets the card header.
|
|
307
|
+
* Places the header element in the card. When media elements exist,
|
|
308
|
+
* the header is placed after the last media element to ensure proper
|
|
309
|
+
* visual hierarchy following Material Design guidelines.
|
|
310
|
+
*
|
|
311
|
+
* @param headerElement - The header element to add
|
|
312
|
+
* @returns The card instance for chaining
|
|
313
|
+
* @example
|
|
314
|
+
* ```typescript
|
|
315
|
+
* // Add a header after media
|
|
316
|
+
* card.setHeader(headerElement);
|
|
317
|
+
* ```
|
|
318
|
+
*/
|
|
319
|
+
setHeader: (headerElement: HTMLElement) => CardComponent;
|
|
320
|
+
/**
|
|
321
|
+
* Adds media to the card.
|
|
322
|
+
* Places media elements at the specified position in the card.
|
|
323
|
+
*
|
|
324
|
+
* @param mediaElement - The media element to add
|
|
325
|
+
* @param position - Position to place media ('top', 'bottom')
|
|
326
|
+
* @returns The card instance for chaining
|
|
327
|
+
* @example
|
|
328
|
+
* ```typescript
|
|
329
|
+
* // Creating media element
|
|
330
|
+
* const media = document.createElement('div');
|
|
331
|
+
* media.className = 'mtrl-card-media';
|
|
332
|
+
*
|
|
333
|
+
* // Adding at the top (default)
|
|
334
|
+
* card.addMedia(media);
|
|
335
|
+
*
|
|
336
|
+
* // Or adding at the bottom
|
|
337
|
+
* card.addMedia(media, 'bottom');
|
|
338
|
+
* ```
|
|
339
|
+
*/
|
|
340
|
+
addMedia: (mediaElement: HTMLElement, position?: 'top' | 'bottom') => CardComponent;
|
|
341
|
+
/**
|
|
342
|
+
* Sets the card actions section.
|
|
343
|
+
* Replaces any existing actions with the provided actions element.
|
|
344
|
+
* Actions typically contain buttons or other interactive controls,
|
|
345
|
+
* and are placed at the bottom of the card.
|
|
346
|
+
*
|
|
347
|
+
* @param actionsElement - The actions element to add
|
|
348
|
+
* @returns The card instance for chaining
|
|
349
|
+
* @example
|
|
350
|
+
* ```typescript
|
|
351
|
+
* // Create actions container
|
|
352
|
+
* const actions = document.createElement('div');
|
|
353
|
+
* actions.className = 'mtrl-card-actions';
|
|
354
|
+
*
|
|
355
|
+
* // Add buttons to actions
|
|
356
|
+
* const button = document.createElement('button');
|
|
357
|
+
* button.textContent = 'Action';
|
|
358
|
+
* actions.appendChild(button);
|
|
359
|
+
*
|
|
360
|
+
* // Set actions on card
|
|
361
|
+
* card.setActions(actions);
|
|
362
|
+
* ```
|
|
363
|
+
*/
|
|
364
|
+
setActions: (actionsElement: HTMLElement) => CardComponent;
|
|
365
|
+
/**
|
|
366
|
+
* Makes the card draggable.
|
|
367
|
+
* Sets up native HTML5 drag and drop functionality and adds appropriate
|
|
368
|
+
* accessibility attributes. Automatically updates ARIA attributes during drag.
|
|
369
|
+
*
|
|
370
|
+
* @param dragStartCallback - Callback for drag start event
|
|
371
|
+
* @returns The card instance for chaining
|
|
372
|
+
* @example
|
|
373
|
+
* ```typescript
|
|
374
|
+
* // Basic draggable card
|
|
375
|
+
* card.makeDraggable();
|
|
376
|
+
*
|
|
377
|
+
* // With custom drag start handler
|
|
378
|
+
* card.makeDraggable((event) => {
|
|
379
|
+
* // Set custom data or perform other actions on drag start
|
|
380
|
+
* event.dataTransfer.setData('text/plain', 'Card data');
|
|
381
|
+
* });
|
|
382
|
+
* ```
|
|
383
|
+
*/
|
|
384
|
+
makeDraggable: (dragStartCallback?: (event: DragEvent) => void) => CardComponent;
|
|
385
|
+
/**
|
|
386
|
+
* Sets focus to the card.
|
|
387
|
+
* Useful for programmatic focus management, especially in keyboard navigation
|
|
388
|
+
* scenarios or after dynamic content changes.
|
|
389
|
+
*
|
|
390
|
+
* @returns The card instance for chaining
|
|
391
|
+
* @example
|
|
392
|
+
* ```typescript
|
|
393
|
+
* // Focus the card
|
|
394
|
+
* card.focus();
|
|
395
|
+
*
|
|
396
|
+
* // Can be chained with other methods
|
|
397
|
+
* card.setHeader(headerElement).focus();
|
|
398
|
+
* ```
|
|
399
|
+
*/
|
|
400
|
+
focus: () => CardComponent;
|
|
401
|
+
/**
|
|
402
|
+
* Destroys the card component and removes event listeners.
|
|
403
|
+
* Call this method when the card is no longer needed to prevent memory leaks.
|
|
404
|
+
*
|
|
405
|
+
* @example
|
|
406
|
+
* ```typescript
|
|
407
|
+
* // Clean up resources when done with the card
|
|
408
|
+
* card.destroy();
|
|
409
|
+
* ```
|
|
410
|
+
*/
|
|
411
|
+
destroy: () => void;
|
|
412
|
+
/** Optional loading feature */
|
|
413
|
+
loading?: LoadingFeature;
|
|
414
|
+
/** Optional expandable feature */
|
|
415
|
+
expandable?: ExpandableFeature;
|
|
416
|
+
/** Optional swipeable feature */
|
|
417
|
+
swipeable?: SwipeableFeature;
|
|
418
|
+
}
|
|
419
|
+
/**
|
|
420
|
+
* Loading feature interface.
|
|
421
|
+
* Provides methods to control loading state on the card.
|
|
422
|
+
*
|
|
423
|
+
* @interface LoadingFeature
|
|
424
|
+
* @category Components
|
|
425
|
+
*/
|
|
426
|
+
export interface LoadingFeature {
|
|
427
|
+
/** Check if loading state is active */
|
|
428
|
+
isLoading: () => boolean;
|
|
429
|
+
/** Set loading state */
|
|
430
|
+
setLoading: (loading: boolean) => void;
|
|
431
|
+
}
|
|
432
|
+
/**
|
|
433
|
+
* Expandable feature interface.
|
|
434
|
+
* Provides methods to control the expanded/collapsed state of a card.
|
|
435
|
+
*
|
|
436
|
+
* @interface ExpandableFeature
|
|
437
|
+
* @category Components
|
|
438
|
+
*/
|
|
439
|
+
export interface ExpandableFeature {
|
|
440
|
+
/** Check if expanded state is active */
|
|
441
|
+
isExpanded: () => boolean;
|
|
442
|
+
/** Set expanded state */
|
|
443
|
+
setExpanded: (expanded: boolean) => void;
|
|
444
|
+
/** Toggle expanded state */
|
|
445
|
+
toggleExpanded: () => void;
|
|
446
|
+
}
|
|
447
|
+
/**
|
|
448
|
+
* Swipeable feature interface.
|
|
449
|
+
* Provides methods to control the swipe behavior of a card.
|
|
450
|
+
*
|
|
451
|
+
* @interface SwipeableFeature
|
|
452
|
+
* @category Components
|
|
453
|
+
*/
|
|
454
|
+
export interface SwipeableFeature {
|
|
455
|
+
/** Reset swipe position */
|
|
456
|
+
reset: () => void;
|
|
457
|
+
}
|
|
458
|
+
/**
|
|
459
|
+
* API options interface.
|
|
460
|
+
* Configuration object for the card's API methods.
|
|
461
|
+
*
|
|
462
|
+
* @interface ApiOptions
|
|
463
|
+
* @category Components
|
|
464
|
+
*/
|
|
465
|
+
export interface ApiOptions {
|
|
466
|
+
/** Lifecycle methods */
|
|
467
|
+
lifecycle: {
|
|
468
|
+
/** Destroy callback */
|
|
469
|
+
destroy: () => void;
|
|
470
|
+
};
|
|
471
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { CarouselComponent, CarouselSlide } from './types';
|
|
2
|
+
interface ApiOptions {
|
|
3
|
+
slides: {
|
|
4
|
+
addSlide: (slide: CarouselSlide, index?: number) => any;
|
|
5
|
+
removeSlide: (index: number) => any;
|
|
6
|
+
updateSlide: (index: number, slide: CarouselSlide) => any;
|
|
7
|
+
getCount: () => number;
|
|
8
|
+
getElements: () => HTMLElement[];
|
|
9
|
+
};
|
|
10
|
+
lifecycle: {
|
|
11
|
+
destroy: () => void;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
interface ComponentWithElements {
|
|
15
|
+
element: HTMLElement;
|
|
16
|
+
getClass: (name: string) => string;
|
|
17
|
+
getCurrentSlide: () => number;
|
|
18
|
+
goTo: (index: number) => any;
|
|
19
|
+
next: () => any;
|
|
20
|
+
prev: () => any;
|
|
21
|
+
enableLoop: () => any;
|
|
22
|
+
disableLoop: () => any;
|
|
23
|
+
setBorderRadius?: (radius: number) => any;
|
|
24
|
+
setGap?: (gap: number) => any;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Enhances a carousel component with API methods
|
|
28
|
+
* @param {ApiOptions} options - API configuration options
|
|
29
|
+
* @returns {Function} Higher-order function that adds API methods to component
|
|
30
|
+
* @internal This is an internal utility for the Carousel component
|
|
31
|
+
*/
|
|
32
|
+
export declare const withAPI: (options: ApiOptions) => (component: ComponentWithElements) => CarouselComponent;
|
|
33
|
+
export {};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates carousels with different layouts based on Material Design 3 guidelines.
|
|
3
|
+
*
|
|
4
|
+
* This module implements a carousel component that supports four layout types:
|
|
5
|
+
* - Multi-browse: For browsing many visual items at once (photos, feeds)
|
|
6
|
+
* - Uncontained: For customized or text-heavy carousels (traditional)
|
|
7
|
+
* - Hero: For spotlighting large visual items (featured content)
|
|
8
|
+
* - Full-screen: For immersive vertical-scrolling experiences
|
|
9
|
+
*
|
|
10
|
+
* Each layout is optimized for different content types and presentation needs,
|
|
11
|
+
* following the Material Design 3 component guidelines.
|
|
12
|
+
*
|
|
13
|
+
* @module components/carousel
|
|
14
|
+
* @category Components
|
|
15
|
+
*/
|
|
16
|
+
import { CarouselConfig, CarouselComponent } from './types';
|
|
17
|
+
/**
|
|
18
|
+
* Creates a new carousel component with the specified configuration.
|
|
19
|
+
*
|
|
20
|
+
* The carousel supports different layout types for various content
|
|
21
|
+
* presentation needs, from image galleries to full-screen experiences.
|
|
22
|
+
* It handles gesture interactions, keyboard navigation, and responsive
|
|
23
|
+
* behavior following Material Design 3 guidelines.
|
|
24
|
+
*
|
|
25
|
+
* @param {CarouselConfig} config - Configuration options for the carousel
|
|
26
|
+
* @returns {CarouselComponent} A fully configured carousel component instance
|
|
27
|
+
* @throws {Error} Throws an error if carousel creation fails
|
|
28
|
+
*
|
|
29
|
+
* @category Components
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* // Create a multi-browse carousel for a photo gallery
|
|
33
|
+
* const photoGallery = createCarousel({
|
|
34
|
+
* layout: 'multi-browse',
|
|
35
|
+
* scrollBehavior: 'snap',
|
|
36
|
+
* slides: [
|
|
37
|
+
* { image: 'image1.jpg', title: 'Recent highlights', accent: '#3C4043' },
|
|
38
|
+
* { image: 'image2.jpg', title: 'La Familia', accent: '#7E5260' }
|
|
39
|
+
* ],
|
|
40
|
+
* showAllLink: true
|
|
41
|
+
* });
|
|
42
|
+
*
|
|
43
|
+
* document.getElementById('gallery-container').appendChild(photoGallery.element);
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* // Create a hero carousel for featured content
|
|
47
|
+
* const featuredContent = createCarousel({
|
|
48
|
+
* layout: 'hero',
|
|
49
|
+
* centered: true,
|
|
50
|
+
* gap: 16,
|
|
51
|
+
* slides: [
|
|
52
|
+
* { image: 'hero1.jpg', title: 'Featured Story', buttonText: 'Read More' },
|
|
53
|
+
* { image: 'hero2.jpg', title: 'Special Offer', buttonText: 'Shop Now' }
|
|
54
|
+
* ]
|
|
55
|
+
* });
|
|
56
|
+
*
|
|
57
|
+
* // Listen for slide changes
|
|
58
|
+
* featuredContent.on('slide-changed', (index) => {
|
|
59
|
+
* console.log(`Now showing featured item ${index}`);
|
|
60
|
+
* });
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* // Create a full-screen immersive carousel
|
|
64
|
+
* const storyViewer = createCarousel({
|
|
65
|
+
* layout: 'full-screen',
|
|
66
|
+
* loop: false,
|
|
67
|
+
* transition: 'fade',
|
|
68
|
+
* slides: [
|
|
69
|
+
* { image: 'story1.jpg', description: 'Chapter 1' },
|
|
70
|
+
* { image: 'story2.jpg', description: 'Chapter 2' }
|
|
71
|
+
* ]
|
|
72
|
+
* });
|
|
73
|
+
*/
|
|
74
|
+
export declare const createCarousel: (config?: CarouselConfig) => CarouselComponent;
|
|
75
|
+
export default createCarousel;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { CarouselConfig } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Default configuration for the Carousel component
|
|
4
|
+
*/
|
|
5
|
+
export declare const defaultConfig: CarouselConfig;
|
|
6
|
+
/**
|
|
7
|
+
* Creates the base configuration for Carousel component
|
|
8
|
+
* @param {CarouselConfig} config - User provided configuration
|
|
9
|
+
* @returns {CarouselConfig} Complete configuration with defaults applied
|
|
10
|
+
*/
|
|
11
|
+
export declare const createBaseConfig: (config?: CarouselConfig) => CarouselConfig;
|
|
12
|
+
/**
|
|
13
|
+
* Generates element configuration for the Carousel component
|
|
14
|
+
* @param {CarouselConfig} config - Carousel configuration
|
|
15
|
+
* @returns {Object} Element configuration object for withElement
|
|
16
|
+
*/
|
|
17
|
+
export declare const getElementConfig: (config: CarouselConfig) => {
|
|
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 Carousel component
|
|
30
|
+
* @param {Object} comp - Component with slides and lifecycle features
|
|
31
|
+
* @returns {Object} API configuration object
|
|
32
|
+
*/
|
|
33
|
+
export declare const getApiConfig: (comp: any) => {
|
|
34
|
+
slides: {
|
|
35
|
+
addSlide: any;
|
|
36
|
+
removeSlide: any;
|
|
37
|
+
updateSlide: any;
|
|
38
|
+
getCount: any;
|
|
39
|
+
getElements: any;
|
|
40
|
+
};
|
|
41
|
+
lifecycle: {
|
|
42
|
+
destroy: any;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
export default defaultConfig;
|