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
|
@@ -1,327 +0,0 @@
|
|
|
1
|
-
// src/components/carousel/types.ts
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Material Design 3 Carousel Layout Types
|
|
5
|
-
* @category Components
|
|
6
|
-
*/
|
|
7
|
-
export type CarouselLayout =
|
|
8
|
-
/** Best for browsing many visual items at once (photos, event feeds) */
|
|
9
|
-
| 'multi-browse'
|
|
10
|
-
/** For highly customized or text-heavy carousels (traditional behavior) */
|
|
11
|
-
| 'uncontained'
|
|
12
|
-
/** For spotlighting very large visual items (featured content) */
|
|
13
|
-
| 'hero'
|
|
14
|
-
/** For immersive vertical-scrolling experiences */
|
|
15
|
-
| 'full-screen';
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Carousel Scrolling Behaviors
|
|
19
|
-
* @category Components
|
|
20
|
-
*/
|
|
21
|
-
export type CarouselScrollBehavior =
|
|
22
|
-
/** Standard scrolling without snapping, recommended for uncontained layouts */
|
|
23
|
-
| 'default'
|
|
24
|
-
/** Items snap to carousel layout, recommended for multi-browse, hero, and full-screen layouts */
|
|
25
|
-
| 'snap';
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Slide data interface
|
|
29
|
-
* @category Components
|
|
30
|
-
*/
|
|
31
|
-
export interface CarouselSlide {
|
|
32
|
-
/** Image URL for the slide */
|
|
33
|
-
image: string;
|
|
34
|
-
|
|
35
|
-
/** Optional title text for the slide */
|
|
36
|
-
title?: string;
|
|
37
|
-
|
|
38
|
-
/** Optional accent color in hexadecimal or RGB format */
|
|
39
|
-
accent?: string;
|
|
40
|
-
|
|
41
|
-
/** Optional description text */
|
|
42
|
-
description?: string;
|
|
43
|
-
|
|
44
|
-
/** Optional action button text */
|
|
45
|
-
buttonText?: string;
|
|
46
|
-
|
|
47
|
-
/** Optional action button URL */
|
|
48
|
-
buttonUrl?: string;
|
|
49
|
-
|
|
50
|
-
/** Optional size designation for the item, will be auto-calculated if not provided */
|
|
51
|
-
size?: 'large' | 'medium' | 'small';
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Configuration interface for the Carousel component
|
|
56
|
-
* @category Components
|
|
57
|
-
*/
|
|
58
|
-
export interface CarouselConfig {
|
|
59
|
-
/**
|
|
60
|
-
* Initial slide index to display
|
|
61
|
-
* @default 0
|
|
62
|
-
*/
|
|
63
|
-
initialSlide?: number;
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Whether to loop the carousel
|
|
67
|
-
* @default true
|
|
68
|
-
*/
|
|
69
|
-
loop?: boolean;
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Transition effect for slide changes
|
|
73
|
-
* @default 'slide'
|
|
74
|
-
*/
|
|
75
|
-
transition?: 'slide' | 'fade' | 'none';
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* Transition duration in milliseconds
|
|
79
|
-
* @default 300
|
|
80
|
-
*/
|
|
81
|
-
transitionDuration?: number;
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Slides configuration for the carousel
|
|
85
|
-
* @example [{ image: 'image1.jpg', title: 'Title', accent: '#E6E1E5' }]
|
|
86
|
-
*/
|
|
87
|
-
slides?: CarouselSlide[];
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Border radius for slides in pixels
|
|
91
|
-
* @default 16
|
|
92
|
-
*/
|
|
93
|
-
borderRadius?: number;
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Gap between slides in pixels
|
|
97
|
-
* @default 8
|
|
98
|
-
*/
|
|
99
|
-
gap?: number;
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* Additional CSS classes to add to the carousel
|
|
103
|
-
* @example 'hero-carousel featured-carousel'
|
|
104
|
-
*/
|
|
105
|
-
class?: string;
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* Component prefix for class names
|
|
109
|
-
* @default 'carousel'
|
|
110
|
-
*/
|
|
111
|
-
prefix?: string;
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* Component name used in class generation
|
|
115
|
-
* @default 'carousel'
|
|
116
|
-
*/
|
|
117
|
-
componentName?: string;
|
|
118
|
-
|
|
119
|
-
/**
|
|
120
|
-
* Callback for "Show all" action when present
|
|
121
|
-
*/
|
|
122
|
-
onShowAll?: () => void;
|
|
123
|
-
|
|
124
|
-
/**
|
|
125
|
-
* Whether to show a "Show all" link at the end
|
|
126
|
-
* MD3 recommends adding this for accessibility on vertical scrolling pages
|
|
127
|
-
* @default true
|
|
128
|
-
*/
|
|
129
|
-
showAllLink?: boolean;
|
|
130
|
-
|
|
131
|
-
/**
|
|
132
|
-
* MD3 carousel layout type
|
|
133
|
-
* @default 'multi-browse'
|
|
134
|
-
*/
|
|
135
|
-
layout?: CarouselLayout;
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* Scrolling behavior for the carousel
|
|
139
|
-
* @default depends on layout (snap for multi-browse, hero, full-screen; default for uncontained)
|
|
140
|
-
*/
|
|
141
|
-
scrollBehavior?: CarouselScrollBehavior;
|
|
142
|
-
|
|
143
|
-
/**
|
|
144
|
-
* Whether to center the carousel items (applies to hero layout)
|
|
145
|
-
* @default false
|
|
146
|
-
*/
|
|
147
|
-
centered?: boolean;
|
|
148
|
-
|
|
149
|
-
/**
|
|
150
|
-
* Maximum width of large items (affects how many items fit on screen)
|
|
151
|
-
* Large items should remain big enough to be easily recognizable
|
|
152
|
-
*/
|
|
153
|
-
largeItemMaxWidth?: number;
|
|
154
|
-
|
|
155
|
-
/**
|
|
156
|
-
* Width for small items in pixels
|
|
157
|
-
* @default 40-56dp range as per MD3 guidelines
|
|
158
|
-
*/
|
|
159
|
-
smallItemWidth?: number;
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
/**
|
|
163
|
-
* Slides API interface for carousel
|
|
164
|
-
* @category Components
|
|
165
|
-
*/
|
|
166
|
-
export interface SlidesAPI {
|
|
167
|
-
/**
|
|
168
|
-
* Adds a new slide to the carousel
|
|
169
|
-
* @param slide - CarouselSlide object with slide data
|
|
170
|
-
* @param index - Optional position to insert the slide
|
|
171
|
-
* @returns The slides API for chaining
|
|
172
|
-
*/
|
|
173
|
-
addSlide: (slide: CarouselSlide, index?: number) => SlidesAPI;
|
|
174
|
-
|
|
175
|
-
/**
|
|
176
|
-
* Removes a slide at the specified index
|
|
177
|
-
* @param index - Index of the slide to remove
|
|
178
|
-
* @returns The slides API for chaining
|
|
179
|
-
*/
|
|
180
|
-
removeSlide: (index: number) => SlidesAPI;
|
|
181
|
-
|
|
182
|
-
/**
|
|
183
|
-
* Updates an existing slide
|
|
184
|
-
* @param index - Index of the slide to update
|
|
185
|
-
* @param slide - Updated CarouselSlide object
|
|
186
|
-
* @returns The slides API for chaining
|
|
187
|
-
*/
|
|
188
|
-
updateSlide: (index: number, slide: CarouselSlide) => SlidesAPI;
|
|
189
|
-
|
|
190
|
-
/**
|
|
191
|
-
* Gets a slide at the specified index
|
|
192
|
-
* @param index - Index of the slide
|
|
193
|
-
* @returns CarouselSlide object or null if not found
|
|
194
|
-
*/
|
|
195
|
-
getSlide: (index: number) => CarouselSlide | null;
|
|
196
|
-
|
|
197
|
-
/**
|
|
198
|
-
* Gets the total number of slides
|
|
199
|
-
* @returns Number of slides
|
|
200
|
-
*/
|
|
201
|
-
getCount: () => number;
|
|
202
|
-
|
|
203
|
-
/**
|
|
204
|
-
* Gets all slide elements
|
|
205
|
-
* @returns Array of slide elements
|
|
206
|
-
*/
|
|
207
|
-
getElements: () => HTMLElement[];
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
/**
|
|
211
|
-
* Carousel component interface
|
|
212
|
-
* @category Components
|
|
213
|
-
*/
|
|
214
|
-
export interface CarouselComponent {
|
|
215
|
-
/** The carousel's root DOM element */
|
|
216
|
-
element: HTMLElement;
|
|
217
|
-
|
|
218
|
-
/** API for managing carousel slides */
|
|
219
|
-
slides: SlidesAPI;
|
|
220
|
-
|
|
221
|
-
/** API for managing component lifecycle */
|
|
222
|
-
lifecycle: {
|
|
223
|
-
/** Destroys the component and cleans up resources */
|
|
224
|
-
destroy: () => void;
|
|
225
|
-
};
|
|
226
|
-
|
|
227
|
-
/**
|
|
228
|
-
* Gets a class name with the component's prefix
|
|
229
|
-
* @param name - Base class name
|
|
230
|
-
* @returns Prefixed class name
|
|
231
|
-
*/
|
|
232
|
-
getClass: (name: string) => string;
|
|
233
|
-
|
|
234
|
-
/**
|
|
235
|
-
* Goes to the next slide
|
|
236
|
-
* @returns The carousel component for chaining
|
|
237
|
-
*/
|
|
238
|
-
next: () => CarouselComponent;
|
|
239
|
-
|
|
240
|
-
/**
|
|
241
|
-
* Goes to the previous slide
|
|
242
|
-
* @returns The carousel component for chaining
|
|
243
|
-
*/
|
|
244
|
-
prev: () => CarouselComponent;
|
|
245
|
-
|
|
246
|
-
/**
|
|
247
|
-
* Goes to a specific slide
|
|
248
|
-
* @param index - Slide index
|
|
249
|
-
* @returns The carousel component for chaining
|
|
250
|
-
*/
|
|
251
|
-
goTo: (index: number) => CarouselComponent;
|
|
252
|
-
|
|
253
|
-
/**
|
|
254
|
-
* Gets the current slide index
|
|
255
|
-
* @returns Current slide index
|
|
256
|
-
*/
|
|
257
|
-
getCurrentSlide: () => number;
|
|
258
|
-
|
|
259
|
-
/**
|
|
260
|
-
* Adds a new slide
|
|
261
|
-
* @param slide - CarouselSlide object with slide data
|
|
262
|
-
* @param index - Optional position to insert the slide
|
|
263
|
-
* @returns The carousel component for chaining
|
|
264
|
-
*/
|
|
265
|
-
addSlide: (slide: CarouselSlide, index?: number) => CarouselComponent;
|
|
266
|
-
|
|
267
|
-
/**
|
|
268
|
-
* Removes a slide
|
|
269
|
-
* @param index - Index of the slide to remove
|
|
270
|
-
* @returns The carousel component for chaining
|
|
271
|
-
*/
|
|
272
|
-
removeSlide: (index: number) => CarouselComponent;
|
|
273
|
-
|
|
274
|
-
/**
|
|
275
|
-
* Enables the loop mode
|
|
276
|
-
* @returns The carousel component for chaining
|
|
277
|
-
*/
|
|
278
|
-
enableLoop: () => CarouselComponent;
|
|
279
|
-
|
|
280
|
-
/**
|
|
281
|
-
* Disables the loop mode
|
|
282
|
-
* @returns The carousel component for chaining
|
|
283
|
-
*/
|
|
284
|
-
disableLoop: () => CarouselComponent;
|
|
285
|
-
|
|
286
|
-
/**
|
|
287
|
-
* Sets the carousel border radius
|
|
288
|
-
* @param radius - Border radius in pixels
|
|
289
|
-
* @returns The carousel component for chaining
|
|
290
|
-
*/
|
|
291
|
-
setBorderRadius: (radius: number) => CarouselComponent;
|
|
292
|
-
|
|
293
|
-
/**
|
|
294
|
-
* Sets the gap between slides
|
|
295
|
-
* @param gap - Gap size in pixels
|
|
296
|
-
* @returns The carousel component for chaining
|
|
297
|
-
*/
|
|
298
|
-
setGap: (gap: number) => CarouselComponent;
|
|
299
|
-
|
|
300
|
-
/**
|
|
301
|
-
* Destroys the carousel component and cleans up resources
|
|
302
|
-
*/
|
|
303
|
-
destroy: () => void;
|
|
304
|
-
|
|
305
|
-
/**
|
|
306
|
-
* Adds an event listener to the carousel
|
|
307
|
-
* @param event - Event name
|
|
308
|
-
* @param handler - Event handler function
|
|
309
|
-
* @returns The carousel component for chaining
|
|
310
|
-
*/
|
|
311
|
-
on: (event: string, handler: Function) => CarouselComponent;
|
|
312
|
-
|
|
313
|
-
/**
|
|
314
|
-
* Removes an event listener from the carousel
|
|
315
|
-
* @param event - Event name
|
|
316
|
-
* @param handler - Event handler function
|
|
317
|
-
* @returns The carousel component for chaining
|
|
318
|
-
*/
|
|
319
|
-
off: (event: string, handler: Function) => CarouselComponent;
|
|
320
|
-
|
|
321
|
-
/**
|
|
322
|
-
* Adds CSS classes to the carousel element
|
|
323
|
-
* @param classes - One or more class names to add
|
|
324
|
-
* @returns The carousel component for chaining
|
|
325
|
-
*/
|
|
326
|
-
addClass: (...classes: string[]) => CarouselComponent;
|
|
327
|
-
}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
// src/components/checkbox/api.ts
|
|
2
|
-
import { BaseComponent, CheckboxComponent, ApiOptions } from './types';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Enhances checkbox component with API methods
|
|
6
|
-
* @param {ApiOptions} options - API configuration
|
|
7
|
-
* @returns {Function} Higher-order function that adds API methods to component
|
|
8
|
-
*/
|
|
9
|
-
export const withAPI = ({ disabled, lifecycle, checkable }: ApiOptions) =>
|
|
10
|
-
(component: BaseComponent): CheckboxComponent => ({
|
|
11
|
-
...component as any,
|
|
12
|
-
element: component.element,
|
|
13
|
-
input: component.input as HTMLInputElement,
|
|
14
|
-
|
|
15
|
-
// Value management
|
|
16
|
-
getValue: component.getValue || (() => ''),
|
|
17
|
-
setValue(value: string): CheckboxComponent {
|
|
18
|
-
component.setValue?.(value);
|
|
19
|
-
return this;
|
|
20
|
-
},
|
|
21
|
-
|
|
22
|
-
// State management
|
|
23
|
-
check(): CheckboxComponent {
|
|
24
|
-
checkable.check();
|
|
25
|
-
return this;
|
|
26
|
-
},
|
|
27
|
-
|
|
28
|
-
uncheck(): CheckboxComponent {
|
|
29
|
-
checkable.uncheck();
|
|
30
|
-
return this;
|
|
31
|
-
},
|
|
32
|
-
|
|
33
|
-
toggle(): CheckboxComponent {
|
|
34
|
-
checkable.toggle();
|
|
35
|
-
return this;
|
|
36
|
-
},
|
|
37
|
-
|
|
38
|
-
isChecked(): boolean {
|
|
39
|
-
return checkable.isChecked();
|
|
40
|
-
},
|
|
41
|
-
|
|
42
|
-
setIndeterminate(state: boolean): CheckboxComponent {
|
|
43
|
-
component.setIndeterminate?.(state);
|
|
44
|
-
return this;
|
|
45
|
-
},
|
|
46
|
-
|
|
47
|
-
// Label management
|
|
48
|
-
setLabel(text: string): CheckboxComponent {
|
|
49
|
-
component.text?.setText(text);
|
|
50
|
-
return this;
|
|
51
|
-
},
|
|
52
|
-
|
|
53
|
-
getLabel(): string {
|
|
54
|
-
return component.text?.getText() || '';
|
|
55
|
-
},
|
|
56
|
-
|
|
57
|
-
// Event handling
|
|
58
|
-
on(event: string, handler: Function): CheckboxComponent {
|
|
59
|
-
component.on?.(event, handler);
|
|
60
|
-
return this;
|
|
61
|
-
},
|
|
62
|
-
|
|
63
|
-
off(event: string, handler: Function): CheckboxComponent {
|
|
64
|
-
component.off?.(event, handler);
|
|
65
|
-
return this;
|
|
66
|
-
},
|
|
67
|
-
|
|
68
|
-
// State management
|
|
69
|
-
enable(): CheckboxComponent {
|
|
70
|
-
disabled.enable();
|
|
71
|
-
return this;
|
|
72
|
-
},
|
|
73
|
-
|
|
74
|
-
disable(): CheckboxComponent {
|
|
75
|
-
disabled.disable();
|
|
76
|
-
return this;
|
|
77
|
-
},
|
|
78
|
-
|
|
79
|
-
destroy(): void {
|
|
80
|
-
lifecycle.destroy();
|
|
81
|
-
}
|
|
82
|
-
});
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
// src/components/checkbox/checkbox.ts
|
|
2
|
-
/**
|
|
3
|
-
* Checkbox Component Implementation
|
|
4
|
-
*
|
|
5
|
-
* This module implements a Material Design 3 checkbox component
|
|
6
|
-
* with support for different visual variants, indeterminate state,
|
|
7
|
-
* and configurable label positioning.
|
|
8
|
-
*
|
|
9
|
-
* @module components/checkbox
|
|
10
|
-
* @category Components
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
import { pipe } from '../../core/compose';
|
|
14
|
-
import { createBase, withElement } from '../../core/compose/component';
|
|
15
|
-
import {
|
|
16
|
-
withEvents,
|
|
17
|
-
withTextLabel,
|
|
18
|
-
withDisabled,
|
|
19
|
-
withLifecycle,
|
|
20
|
-
withInput,
|
|
21
|
-
withCheckable
|
|
22
|
-
} from '../../core/compose/features';
|
|
23
|
-
import { withAPI } from './api';
|
|
24
|
-
import { CheckboxConfig, CheckboxComponent, BaseComponent } from './types';
|
|
25
|
-
import {
|
|
26
|
-
createBaseConfig,
|
|
27
|
-
getElementConfig,
|
|
28
|
-
withCheckIcon,
|
|
29
|
-
withLabelPosition,
|
|
30
|
-
getApiConfig
|
|
31
|
-
} from './config';
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Enhances a component with checkable features and indeterminate state support
|
|
35
|
-
*
|
|
36
|
-
* The indeterminate state is a third visual state for checkboxes that represents
|
|
37
|
-
* a mixed or partial selection (neither fully checked nor unchecked).
|
|
38
|
-
*
|
|
39
|
-
* @param {BaseComponent} component - The component to enhance
|
|
40
|
-
* @param {CheckboxConfig} config - Configuration options
|
|
41
|
-
* @returns {BaseComponent} The enhanced component
|
|
42
|
-
* @category Components
|
|
43
|
-
* @internal
|
|
44
|
-
*/
|
|
45
|
-
const enhanceWithCheckable = (component: BaseComponent, config: CheckboxConfig): BaseComponent => {
|
|
46
|
-
const enhanced = withCheckable(config)(component);
|
|
47
|
-
|
|
48
|
-
// Set initial indeterminate state if specified in config
|
|
49
|
-
if (config.indeterminate) {
|
|
50
|
-
enhanced.input.indeterminate = true;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
// Add method to control indeterminate state
|
|
54
|
-
enhanced.setIndeterminate = (state: boolean) => {
|
|
55
|
-
enhanced.input.indeterminate = state;
|
|
56
|
-
enhanced.element.classList.toggle(`${config.prefix}-checkbox--indeterminate`, state);
|
|
57
|
-
return enhanced;
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
return enhanced;
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Creates a new Checkbox component with the specified configuration.
|
|
65
|
-
*
|
|
66
|
-
* Checkboxes allow users to select one or more items from a set,
|
|
67
|
-
* or to toggle a single option on or off. This implementation follows
|
|
68
|
-
* Material Design 3 guidelines for accessible, customizable checkboxes.
|
|
69
|
-
*
|
|
70
|
-
* @param {CheckboxConfig} config - Configuration options for the checkbox
|
|
71
|
-
* @returns {CheckboxComponent} A fully configured checkbox component instance
|
|
72
|
-
* @throws {Error} Throws an error if checkbox creation fails
|
|
73
|
-
*
|
|
74
|
-
* @category Components
|
|
75
|
-
*
|
|
76
|
-
* @example
|
|
77
|
-
* // Create a basic checkbox
|
|
78
|
-
* const checkbox = createCheckbox({
|
|
79
|
-
* label: 'Accept terms and conditions',
|
|
80
|
-
* name: 'accept-terms'
|
|
81
|
-
* });
|
|
82
|
-
*
|
|
83
|
-
* document.querySelector('.form').appendChild(checkbox.element);
|
|
84
|
-
*
|
|
85
|
-
* @example
|
|
86
|
-
* // Create a pre-checked checkbox with custom styling
|
|
87
|
-
* const checkbox = createCheckbox({
|
|
88
|
-
* label: 'Remember me',
|
|
89
|
-
* checked: true,
|
|
90
|
-
* variant: 'outlined',
|
|
91
|
-
* labelPosition: 'start'
|
|
92
|
-
* });
|
|
93
|
-
*
|
|
94
|
-
* // Add event listener
|
|
95
|
-
* checkbox.on('change', (e) => {
|
|
96
|
-
* console.log('Checkbox changed:', e.target.checked);
|
|
97
|
-
* });
|
|
98
|
-
*
|
|
99
|
-
* @example
|
|
100
|
-
* // Create an indeterminate checkbox for "select all" functionality
|
|
101
|
-
* const selectAll = createCheckbox({
|
|
102
|
-
* label: 'Select All',
|
|
103
|
-
* indeterminate: true
|
|
104
|
-
* });
|
|
105
|
-
*
|
|
106
|
-
* // Later, based on selections:
|
|
107
|
-
* if (allSelected) {
|
|
108
|
-
* selectAll.check();
|
|
109
|
-
* } else if (noneSelected) {
|
|
110
|
-
* selectAll.uncheck();
|
|
111
|
-
* } else {
|
|
112
|
-
* selectAll.setIndeterminate(true);
|
|
113
|
-
* }
|
|
114
|
-
*/
|
|
115
|
-
const createCheckbox = (config: CheckboxConfig = {}): CheckboxComponent => {
|
|
116
|
-
const baseConfig = createBaseConfig(config);
|
|
117
|
-
|
|
118
|
-
try {
|
|
119
|
-
// Create the checkbox through functional composition
|
|
120
|
-
// Each function in the pipe adds specific features to the component
|
|
121
|
-
const checkbox = pipe(
|
|
122
|
-
createBase, // Base component
|
|
123
|
-
withEvents(), // Event handling
|
|
124
|
-
withElement(getElementConfig(baseConfig)), // DOM element
|
|
125
|
-
withInput(baseConfig), // Input element
|
|
126
|
-
withCheckIcon(baseConfig), // Checkbox icon
|
|
127
|
-
withTextLabel(baseConfig), // Text label
|
|
128
|
-
withLabelPosition(baseConfig), // Label positioning
|
|
129
|
-
component => enhanceWithCheckable(component, baseConfig), // Checkable state
|
|
130
|
-
withDisabled(baseConfig), // Disabled state
|
|
131
|
-
withLifecycle(), // Lifecycle management
|
|
132
|
-
comp => withAPI(getApiConfig(comp))(comp) // Public API
|
|
133
|
-
)(baseConfig);
|
|
134
|
-
|
|
135
|
-
return checkbox as CheckboxComponent;
|
|
136
|
-
} catch (error) {
|
|
137
|
-
console.error('Checkbox creation error:', error instanceof Error ? error.message : String(error));
|
|
138
|
-
throw new Error(`Failed to create checkbox: ${error instanceof Error ? error.message : String(error)}`);
|
|
139
|
-
}
|
|
140
|
-
};
|
|
141
|
-
|
|
142
|
-
export default createCheckbox;
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
// src/components/checkbox/config.ts
|
|
2
|
-
import {
|
|
3
|
-
createComponentConfig,
|
|
4
|
-
createElementConfig,
|
|
5
|
-
BaseComponentConfig
|
|
6
|
-
} from '../../core/config/component-config';
|
|
7
|
-
import { CheckboxConfig, BaseComponent, ApiOptions } from './types';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Default configuration for the Checkbox component
|
|
11
|
-
*/
|
|
12
|
-
export const defaultConfig: CheckboxConfig = {
|
|
13
|
-
variant: 'filled',
|
|
14
|
-
labelPosition: 'end'
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Creates the base configuration for Checkbox component
|
|
19
|
-
* @param {CheckboxConfig} config - User provided configuration
|
|
20
|
-
* @returns {CheckboxConfig} Complete configuration with defaults applied
|
|
21
|
-
*/
|
|
22
|
-
export const createBaseConfig = (config: CheckboxConfig = {}): CheckboxConfig =>
|
|
23
|
-
createComponentConfig(defaultConfig, config, 'checkbox') as CheckboxConfig;
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Generates element configuration for the Checkbox component
|
|
27
|
-
* @param {CheckboxConfig} config - Checkbox configuration
|
|
28
|
-
* @returns {Object} Element configuration object for withElement
|
|
29
|
-
*/
|
|
30
|
-
export const getElementConfig = (config: CheckboxConfig) =>
|
|
31
|
-
createElementConfig(config, {
|
|
32
|
-
tag: 'div',
|
|
33
|
-
componentName: 'checkbox',
|
|
34
|
-
className: config.class,
|
|
35
|
-
interactive: true
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Adds check icon to checkbox
|
|
40
|
-
* @param {CheckboxConfig} config - Component configuration
|
|
41
|
-
*/
|
|
42
|
-
export const withCheckIcon = (config: CheckboxConfig) => (component: BaseComponent): BaseComponent => {
|
|
43
|
-
const icon = document.createElement('span');
|
|
44
|
-
icon.className = `${config.prefix}-checkbox-icon`;
|
|
45
|
-
icon.innerHTML = `
|
|
46
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="currentColor">
|
|
47
|
-
<path d="M9.55 14.6L6.35 11.4l-1.9 1.9L9.55 18.4l10.9-10.9-1.9-1.9z"/>
|
|
48
|
-
</svg>
|
|
49
|
-
`;
|
|
50
|
-
|
|
51
|
-
component.element.appendChild(icon);
|
|
52
|
-
return component;
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Applies label position class to the component
|
|
57
|
-
* @param {CheckboxConfig} config - Component configuration
|
|
58
|
-
*/
|
|
59
|
-
export const withLabelPosition = (config: CheckboxConfig) => (component: BaseComponent): BaseComponent => {
|
|
60
|
-
const position = config.labelPosition || 'end';
|
|
61
|
-
const positionClass = `${config.prefix}-checkbox--label-${position}`;
|
|
62
|
-
|
|
63
|
-
component.element.classList.add(positionClass);
|
|
64
|
-
|
|
65
|
-
return component;
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Creates API configuration for the Checkbox component
|
|
70
|
-
* @param {BaseComponent} comp - Component with disabled, lifecycle, and checkable features
|
|
71
|
-
* @returns {ApiOptions} API configuration object
|
|
72
|
-
*/
|
|
73
|
-
export const getApiConfig = (comp: BaseComponent): ApiOptions => ({
|
|
74
|
-
disabled: {
|
|
75
|
-
enable: comp.disabled?.enable,
|
|
76
|
-
disable: comp.disabled?.disable
|
|
77
|
-
},
|
|
78
|
-
lifecycle: {
|
|
79
|
-
destroy: comp.lifecycle?.destroy
|
|
80
|
-
},
|
|
81
|
-
checkable: {
|
|
82
|
-
check: comp.checkable?.check,
|
|
83
|
-
uncheck: comp.checkable?.uncheck,
|
|
84
|
-
toggle: comp.checkable?.toggle,
|
|
85
|
-
isChecked: comp.checkable?.isChecked
|
|
86
|
-
}
|
|
87
|
-
});
|
|
88
|
-
|
|
89
|
-
export default defaultConfig;
|