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,165 +0,0 @@
|
|
|
1
|
-
// src/components/divider/config.ts
|
|
2
|
-
import { createComponentConfig } from '../../core/config/component-config';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Configuration options for divider components
|
|
6
|
-
*
|
|
7
|
-
* Controls the appearance, orientation, and behavior of Material Design 3 dividers.
|
|
8
|
-
*
|
|
9
|
-
* @category Components
|
|
10
|
-
*/
|
|
11
|
-
export interface DividerConfig {
|
|
12
|
-
/**
|
|
13
|
-
* CSS class prefix (defaults to 'mtrl')
|
|
14
|
-
*
|
|
15
|
-
* Used for generating BEM-style class names for the component
|
|
16
|
-
*/
|
|
17
|
-
prefix?: string;
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* CSS class to add to the divider
|
|
21
|
-
*
|
|
22
|
-
* Additional classes for custom styling needs
|
|
23
|
-
*
|
|
24
|
-
* @example 'my-custom-divider'
|
|
25
|
-
*/
|
|
26
|
-
class?: string;
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Orientation of the divider
|
|
30
|
-
*
|
|
31
|
-
* - 'horizontal': Creates a horizontal line (default)
|
|
32
|
-
* - 'vertical': Creates a vertical line
|
|
33
|
-
*
|
|
34
|
-
* @default 'horizontal'
|
|
35
|
-
*
|
|
36
|
-
* @example
|
|
37
|
-
* ```typescript
|
|
38
|
-
* // Create a vertical divider
|
|
39
|
-
* createDivider({ orientation: 'vertical' })
|
|
40
|
-
* ```
|
|
41
|
-
*/
|
|
42
|
-
orientation?: 'horizontal' | 'vertical';
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Variant of the divider
|
|
46
|
-
*
|
|
47
|
-
* Controls how the divider is inset within its container:
|
|
48
|
-
* - 'full-width': Spans the entire width/height (default)
|
|
49
|
-
* - 'inset': Adds space at the start (left for horizontal, top for vertical)
|
|
50
|
-
* - 'middle-inset': Adds space at both start and end
|
|
51
|
-
*
|
|
52
|
-
* Most commonly used in lists to align dividers with text content.
|
|
53
|
-
*
|
|
54
|
-
* @default 'full-width'
|
|
55
|
-
*
|
|
56
|
-
* @example
|
|
57
|
-
* ```typescript
|
|
58
|
-
* // Create a list divider with left inset
|
|
59
|
-
* createDivider({ variant: 'inset' })
|
|
60
|
-
* ```
|
|
61
|
-
*/
|
|
62
|
-
variant?: 'full-width' | 'inset' | 'middle-inset';
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Custom inset value (left margin for horizontal, top margin for vertical)
|
|
66
|
-
*
|
|
67
|
-
* Overrides the default inset spacing at the start of the divider.
|
|
68
|
-
* Only applies when variant is 'inset' or 'middle-inset'.
|
|
69
|
-
*
|
|
70
|
-
* @default 16 for 'inset' and 'middle-inset' variants
|
|
71
|
-
*
|
|
72
|
-
* @example
|
|
73
|
-
* ```typescript
|
|
74
|
-
* // Create a divider with 24px left inset
|
|
75
|
-
* createDivider({ variant: 'inset', insetStart: 24 })
|
|
76
|
-
* ```
|
|
77
|
-
*/
|
|
78
|
-
insetStart?: number;
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* Custom inset end value (right margin for horizontal, bottom margin for vertical)
|
|
82
|
-
*
|
|
83
|
-
* Overrides the default inset spacing at the end of the divider.
|
|
84
|
-
* Only applies when variant is 'middle-inset'.
|
|
85
|
-
*
|
|
86
|
-
* @default 0 for 'inset', 16 for 'middle-inset'
|
|
87
|
-
*
|
|
88
|
-
* @example
|
|
89
|
-
* ```typescript
|
|
90
|
-
* // Create a divider with custom insets on both sides
|
|
91
|
-
* createDivider({ variant: 'middle-inset', insetStart: 16, insetEnd: 24 })
|
|
92
|
-
* ```
|
|
93
|
-
*/
|
|
94
|
-
insetEnd?: number;
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
* Color of the divider
|
|
98
|
-
*
|
|
99
|
-
* Sets a custom color for the divider. Accepts any valid CSS color value.
|
|
100
|
-
* By default, dividers use the 'outline-variant' color from the Material theme.
|
|
101
|
-
*
|
|
102
|
-
* @example
|
|
103
|
-
* ```typescript
|
|
104
|
-
* // Create a blue divider
|
|
105
|
-
* createDivider({ color: '#2196F3' })
|
|
106
|
-
*
|
|
107
|
-
* // Create a divider with a semi-transparent color
|
|
108
|
-
* createDivider({ color: 'rgba(0, 0, 0, 0.12)' })
|
|
109
|
-
* ```
|
|
110
|
-
*/
|
|
111
|
-
color?: string;
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* Thickness of the divider in pixels
|
|
115
|
-
*
|
|
116
|
-
* Controls the thickness (height for horizontal, width for vertical) of the divider.
|
|
117
|
-
* Material Design 3 typically uses 1px thickness for dividers.
|
|
118
|
-
*
|
|
119
|
-
* @default 1
|
|
120
|
-
*
|
|
121
|
-
* @example
|
|
122
|
-
* ```typescript
|
|
123
|
-
* // Create a bold divider
|
|
124
|
-
* createDivider({ thickness: 2 })
|
|
125
|
-
* ```
|
|
126
|
-
*/
|
|
127
|
-
thickness?: number;
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* Used internally for component composition
|
|
131
|
-
*
|
|
132
|
-
* @internal
|
|
133
|
-
*/
|
|
134
|
-
componentName?: string;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* Default configuration for dividers
|
|
139
|
-
*
|
|
140
|
-
* @internal
|
|
141
|
-
*/
|
|
142
|
-
export const defaultConfig: Partial<DividerConfig> = {
|
|
143
|
-
orientation: 'horizontal',
|
|
144
|
-
variant: 'full-width',
|
|
145
|
-
thickness: 1
|
|
146
|
-
};
|
|
147
|
-
|
|
148
|
-
/**
|
|
149
|
-
* Creates a base configuration object for divider
|
|
150
|
-
*
|
|
151
|
-
* Merges user-provided configuration with default values and ensures
|
|
152
|
-
* all required properties have values.
|
|
153
|
-
*
|
|
154
|
-
* @param config - User provided configuration
|
|
155
|
-
* @returns Complete configuration with defaults applied
|
|
156
|
-
*
|
|
157
|
-
* @internal
|
|
158
|
-
*/
|
|
159
|
-
export const createBaseConfig = (config: DividerConfig = {}): DividerConfig => {
|
|
160
|
-
return createComponentConfig(
|
|
161
|
-
defaultConfig as DividerConfig,
|
|
162
|
-
config,
|
|
163
|
-
'divider'
|
|
164
|
-
);
|
|
165
|
-
};
|
|
@@ -1,233 +0,0 @@
|
|
|
1
|
-
// src/components/divider/features.ts
|
|
2
|
-
import { BaseComponent, ElementComponent } from '../../core/compose';
|
|
3
|
-
import { DividerConfig } from './config';
|
|
4
|
-
import { DividerComponent } from './types';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Adds orientation functionality to divider
|
|
8
|
-
*
|
|
9
|
-
* Higher-order function that enhances a component with the ability to be
|
|
10
|
-
* oriented horizontally (default) or vertically. Controls the appropriate
|
|
11
|
-
* CSS classes and dimensional styling based on orientation.
|
|
12
|
-
*
|
|
13
|
-
* @param config - Divider configuration
|
|
14
|
-
* @returns Function that enhances a component with orientation capabilities
|
|
15
|
-
*
|
|
16
|
-
* @internal
|
|
17
|
-
*/
|
|
18
|
-
export const withOrientation = (config: DividerConfig) =>
|
|
19
|
-
<C extends ElementComponent & BaseComponent>(component: C): C & Partial<DividerComponent> => {
|
|
20
|
-
const orientation = config.orientation || 'horizontal';
|
|
21
|
-
|
|
22
|
-
// Apply the orientation class
|
|
23
|
-
component.element.classList.add(`${component.getClass('divider')}--${orientation}`);
|
|
24
|
-
|
|
25
|
-
// Set styles based on orientation and thickness
|
|
26
|
-
const thickness = config.thickness || 1;
|
|
27
|
-
|
|
28
|
-
if (orientation === 'horizontal') {
|
|
29
|
-
component.element.style.height = `${thickness}px`;
|
|
30
|
-
component.element.style.width = '100%';
|
|
31
|
-
} else {
|
|
32
|
-
component.element.style.width = `${thickness}px`;
|
|
33
|
-
component.element.style.height = '100%';
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
return {
|
|
37
|
-
...component,
|
|
38
|
-
|
|
39
|
-
getOrientation() {
|
|
40
|
-
return orientation;
|
|
41
|
-
},
|
|
42
|
-
|
|
43
|
-
setOrientation(newOrientation: 'horizontal' | 'vertical') {
|
|
44
|
-
// Remove existing orientation class
|
|
45
|
-
component.element.classList.remove(`${component.getClass('divider')}--${orientation}`);
|
|
46
|
-
|
|
47
|
-
// Add new orientation class
|
|
48
|
-
component.element.classList.add(`${component.getClass('divider')}--${newOrientation}`);
|
|
49
|
-
|
|
50
|
-
// Update styles
|
|
51
|
-
if (newOrientation === 'horizontal') {
|
|
52
|
-
component.element.style.height = `${thickness}px`;
|
|
53
|
-
component.element.style.width = '100%';
|
|
54
|
-
|
|
55
|
-
// Reset vertical styles
|
|
56
|
-
component.element.style.marginTop = '';
|
|
57
|
-
component.element.style.marginBottom = '';
|
|
58
|
-
} else {
|
|
59
|
-
component.element.style.width = `${thickness}px`;
|
|
60
|
-
component.element.style.height = '100%';
|
|
61
|
-
|
|
62
|
-
// Reset horizontal styles
|
|
63
|
-
component.element.style.marginLeft = '';
|
|
64
|
-
component.element.style.marginRight = '';
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
return this as unknown as DividerComponent;
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Adds inset functionality to divider
|
|
74
|
-
*
|
|
75
|
-
* Higher-order function that enhances a component with the ability to have
|
|
76
|
-
* customized inset spacing. Supports three variants (full-width, inset, middle-inset)
|
|
77
|
-
* and allows fine-grained control over start and end insets.
|
|
78
|
-
*
|
|
79
|
-
* Insets are applied as margins in the appropriate direction based on orientation:
|
|
80
|
-
* - For horizontal dividers: left/right margins
|
|
81
|
-
* - For vertical dividers: top/bottom margins
|
|
82
|
-
*
|
|
83
|
-
* @param config - Divider configuration
|
|
84
|
-
* @returns Function that enhances a component with inset capabilities
|
|
85
|
-
*
|
|
86
|
-
* @internal
|
|
87
|
-
*/
|
|
88
|
-
export const withInset = (config: DividerConfig) =>
|
|
89
|
-
<C extends ElementComponent & Partial<DividerComponent>>(component: C): C & Partial<DividerComponent> => {
|
|
90
|
-
const variant = config.variant || 'full-width';
|
|
91
|
-
const orientation = config.orientation || 'horizontal';
|
|
92
|
-
|
|
93
|
-
// Apply inset styles based on variant
|
|
94
|
-
if (variant === 'inset' || variant === 'middle-inset') {
|
|
95
|
-
if (orientation === 'horizontal') {
|
|
96
|
-
const insetStart = config.insetStart !== undefined ? config.insetStart : 16;
|
|
97
|
-
const insetEnd = config.insetEnd !== undefined ? config.insetEnd : (variant === 'middle-inset' ? 16 : 0);
|
|
98
|
-
|
|
99
|
-
component.element.style.marginLeft = `${insetStart}px`;
|
|
100
|
-
component.element.style.marginRight = `${insetEnd}px`;
|
|
101
|
-
} else {
|
|
102
|
-
const insetStart = config.insetStart !== undefined ? config.insetStart : 16;
|
|
103
|
-
const insetEnd = config.insetEnd !== undefined ? config.insetEnd : (variant === 'middle-inset' ? 16 : 0);
|
|
104
|
-
|
|
105
|
-
component.element.style.marginTop = `${insetStart}px`;
|
|
106
|
-
component.element.style.marginBottom = `${insetEnd}px`;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
return {
|
|
111
|
-
...component,
|
|
112
|
-
|
|
113
|
-
getVariant() {
|
|
114
|
-
return variant as 'full-width' | 'inset' | 'middle-inset';
|
|
115
|
-
},
|
|
116
|
-
|
|
117
|
-
setVariant(newVariant: 'full-width' | 'inset' | 'middle-inset') {
|
|
118
|
-
// Remove existing variant class
|
|
119
|
-
component.element.classList.remove(`${component.getClass('divider')}--${variant}`);
|
|
120
|
-
|
|
121
|
-
// Add new variant class
|
|
122
|
-
component.element.classList.add(`${component.getClass('divider')}--${newVariant}`);
|
|
123
|
-
|
|
124
|
-
// Update styles
|
|
125
|
-
const currentOrientation = component.getOrientation ? component.getOrientation() : orientation;
|
|
126
|
-
|
|
127
|
-
if (newVariant === 'full-width') {
|
|
128
|
-
if (currentOrientation === 'horizontal') {
|
|
129
|
-
component.element.style.marginLeft = '';
|
|
130
|
-
component.element.style.marginRight = '';
|
|
131
|
-
} else {
|
|
132
|
-
component.element.style.marginTop = '';
|
|
133
|
-
component.element.style.marginBottom = '';
|
|
134
|
-
}
|
|
135
|
-
} else {
|
|
136
|
-
const insetStart = config.insetStart !== undefined ? config.insetStart : 16;
|
|
137
|
-
const insetEnd = config.insetEnd !== undefined ? config.insetEnd : (newVariant === 'middle-inset' ? 16 : 0);
|
|
138
|
-
|
|
139
|
-
if (currentOrientation === 'horizontal') {
|
|
140
|
-
component.element.style.marginLeft = `${insetStart}px`;
|
|
141
|
-
component.element.style.marginRight = `${insetEnd}px`;
|
|
142
|
-
} else {
|
|
143
|
-
component.element.style.marginTop = `${insetStart}px`;
|
|
144
|
-
component.element.style.marginBottom = `${insetEnd}px`;
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
return this as unknown as DividerComponent;
|
|
149
|
-
},
|
|
150
|
-
|
|
151
|
-
setInset(insetStart?: number, insetEnd?: number) {
|
|
152
|
-
const currentOrientation = component.getOrientation ? component.getOrientation() : orientation;
|
|
153
|
-
const currentVariant = component.getVariant ? component.getVariant() : variant;
|
|
154
|
-
|
|
155
|
-
if (currentVariant !== 'full-width') {
|
|
156
|
-
if (currentOrientation === 'horizontal') {
|
|
157
|
-
if (insetStart !== undefined) {
|
|
158
|
-
component.element.style.marginLeft = `${insetStart}px`;
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
if (insetEnd !== undefined) {
|
|
162
|
-
component.element.style.marginRight = `${insetEnd}px`;
|
|
163
|
-
}
|
|
164
|
-
} else {
|
|
165
|
-
if (insetStart !== undefined) {
|
|
166
|
-
component.element.style.marginTop = `${insetStart}px`;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
if (insetEnd !== undefined) {
|
|
170
|
-
component.element.style.marginBottom = `${insetEnd}px`;
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
return this as unknown as DividerComponent;
|
|
176
|
-
}
|
|
177
|
-
};
|
|
178
|
-
};
|
|
179
|
-
|
|
180
|
-
/**
|
|
181
|
-
* Adds style customization to divider
|
|
182
|
-
*
|
|
183
|
-
* Higher-order function that enhances a component with visual customization
|
|
184
|
-
* capabilities, including:
|
|
185
|
-
* - Custom thickness (height for horizontal, width for vertical dividers)
|
|
186
|
-
* - Custom colors (background-color CSS property)
|
|
187
|
-
*
|
|
188
|
-
* These styling options allow dividers to be visually adapted to different
|
|
189
|
-
* design requirements while maintaining Material Design principles.
|
|
190
|
-
*
|
|
191
|
-
* @param config - Divider configuration
|
|
192
|
-
* @returns Function that enhances a component with style capabilities
|
|
193
|
-
*
|
|
194
|
-
* @internal
|
|
195
|
-
*/
|
|
196
|
-
export const withStyle = (config: DividerConfig) =>
|
|
197
|
-
<C extends ElementComponent & Partial<DividerComponent>>(component: C): C & Partial<DividerComponent> => {
|
|
198
|
-
// Apply custom color if provided
|
|
199
|
-
if (config.color) {
|
|
200
|
-
component.element.style.backgroundColor = config.color;
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
// Apply thickness
|
|
204
|
-
const thickness = config.thickness || 1;
|
|
205
|
-
const orientation = config.orientation || 'horizontal';
|
|
206
|
-
|
|
207
|
-
if (orientation === 'horizontal') {
|
|
208
|
-
component.element.style.height = `${thickness}px`;
|
|
209
|
-
} else {
|
|
210
|
-
component.element.style.width = `${thickness}px`;
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
return {
|
|
214
|
-
...component,
|
|
215
|
-
|
|
216
|
-
setThickness(newThickness: number) {
|
|
217
|
-
const currentOrientation = component.getOrientation ? component.getOrientation() : orientation;
|
|
218
|
-
|
|
219
|
-
if (currentOrientation === 'horizontal') {
|
|
220
|
-
component.element.style.height = `${newThickness}px`;
|
|
221
|
-
} else {
|
|
222
|
-
component.element.style.width = `${newThickness}px`;
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
return this as unknown as DividerComponent;
|
|
226
|
-
},
|
|
227
|
-
|
|
228
|
-
setColor(color: string) {
|
|
229
|
-
component.element.style.backgroundColor = color;
|
|
230
|
-
return this as unknown as DividerComponent;
|
|
231
|
-
}
|
|
232
|
-
};
|
|
233
|
-
};
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
// src/components/divider/types.ts
|
|
2
|
-
import { BaseComponent, ElementComponent } from '../../core/compose';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Divider component interface
|
|
6
|
-
*
|
|
7
|
-
* Represents a Material Design 3 divider that separates content into distinct sections.
|
|
8
|
-
* Provides methods for configuring the appearance, orientation, and inset behavior.
|
|
9
|
-
*
|
|
10
|
-
* @category Components
|
|
11
|
-
*/
|
|
12
|
-
export interface DividerComponent extends BaseComponent, ElementComponent {
|
|
13
|
-
/**
|
|
14
|
-
* Gets current orientation of the divider
|
|
15
|
-
*
|
|
16
|
-
* @returns Current orientation ('horizontal' or 'vertical')
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* ```typescript
|
|
20
|
-
* const divider = createDivider();
|
|
21
|
-
* const orientation = divider.getOrientation(); // Returns 'horizontal' by default
|
|
22
|
-
* ```
|
|
23
|
-
*/
|
|
24
|
-
getOrientation: () => 'horizontal' | 'vertical';
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Sets orientation of the divider
|
|
28
|
-
*
|
|
29
|
-
* Changes the divider's orientation between horizontal (default) and vertical.
|
|
30
|
-
* This affects the divider's positioning, dimension constraints, and how insets are applied.
|
|
31
|
-
*
|
|
32
|
-
* @param orientation - New orientation ('horizontal' or 'vertical')
|
|
33
|
-
* @returns DividerComponent instance for chaining
|
|
34
|
-
*
|
|
35
|
-
* @example
|
|
36
|
-
* ```typescript
|
|
37
|
-
* // Change a divider from horizontal to vertical
|
|
38
|
-
* divider.setOrientation('vertical');
|
|
39
|
-
* ```
|
|
40
|
-
*/
|
|
41
|
-
setOrientation: (orientation: 'horizontal' | 'vertical') => DividerComponent;
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Gets current variant of the divider
|
|
45
|
-
*
|
|
46
|
-
* @returns Current variant ('full-width', 'inset', or 'middle-inset')
|
|
47
|
-
*
|
|
48
|
-
* @example
|
|
49
|
-
* ```typescript
|
|
50
|
-
* const variant = divider.getVariant(); // Returns 'full-width' by default
|
|
51
|
-
* ```
|
|
52
|
-
*/
|
|
53
|
-
getVariant: () => 'full-width' | 'inset' | 'middle-inset';
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Sets variant of the divider
|
|
57
|
-
*
|
|
58
|
-
* Changes how the divider is inset within its container:
|
|
59
|
-
* - 'full-width': Spans the entire width/height of the container (default)
|
|
60
|
-
* - 'inset': Adds space at the start (left for horizontal, top for vertical)
|
|
61
|
-
* - 'middle-inset': Adds space at both start and end
|
|
62
|
-
*
|
|
63
|
-
* @param variant - New variant
|
|
64
|
-
* @returns DividerComponent instance for chaining
|
|
65
|
-
*
|
|
66
|
-
* @example
|
|
67
|
-
* ```typescript
|
|
68
|
-
* // Create a list divider with left inset
|
|
69
|
-
* divider.setVariant('inset');
|
|
70
|
-
*
|
|
71
|
-
* // Create a divider with space on both sides
|
|
72
|
-
* divider.setVariant('middle-inset');
|
|
73
|
-
* ```
|
|
74
|
-
*/
|
|
75
|
-
setVariant: (variant: 'full-width' | 'inset' | 'middle-inset') => DividerComponent;
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* Sets custom inset values for the divider
|
|
79
|
-
*
|
|
80
|
-
* Allows fine-grained control over inset spacing, overriding the default values
|
|
81
|
-
* applied by the variant. Only applies if variant is 'inset' or 'middle-inset'.
|
|
82
|
-
*
|
|
83
|
-
* @param insetStart - Start inset value in pixels (left for horizontal, top for vertical)
|
|
84
|
-
* @param insetEnd - End inset value in pixels (right for horizontal, bottom for vertical)
|
|
85
|
-
* @returns DividerComponent instance for chaining
|
|
86
|
-
*
|
|
87
|
-
* @example
|
|
88
|
-
* ```typescript
|
|
89
|
-
* // Create a divider with custom insets
|
|
90
|
-
* const divider = createDivider({ variant: 'inset' });
|
|
91
|
-
* divider.setInset(24, 8); // 24px from start, 8px from end
|
|
92
|
-
* ```
|
|
93
|
-
*/
|
|
94
|
-
setInset: (insetStart?: number, insetEnd?: number) => DividerComponent;
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
* Sets thickness of the divider
|
|
98
|
-
*
|
|
99
|
-
* Changes the divider's thickness (height for horizontal, width for vertical).
|
|
100
|
-
* The default thickness is 1px, following Material Design 3 guidelines.
|
|
101
|
-
*
|
|
102
|
-
* @param thickness - Thickness in pixels
|
|
103
|
-
* @returns DividerComponent instance for chaining
|
|
104
|
-
*
|
|
105
|
-
* @example
|
|
106
|
-
* ```typescript
|
|
107
|
-
* // Create a bold divider
|
|
108
|
-
* divider.setThickness(2);
|
|
109
|
-
* ```
|
|
110
|
-
*/
|
|
111
|
-
setThickness: (thickness: number) => DividerComponent;
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* Sets custom color for the divider
|
|
115
|
-
*
|
|
116
|
-
* By default, dividers use the 'outline-variant' color from the theme.
|
|
117
|
-
* This method allows setting a custom color via any valid CSS color value.
|
|
118
|
-
*
|
|
119
|
-
* @param color - CSS color value (hex, rgb, rgba, hsl, etc.)
|
|
120
|
-
* @returns DividerComponent instance for chaining
|
|
121
|
-
*
|
|
122
|
-
* @example
|
|
123
|
-
* ```typescript
|
|
124
|
-
* // Create a blue divider
|
|
125
|
-
* divider.setColor('#2196F3');
|
|
126
|
-
*
|
|
127
|
-
* // Create a semi-transparent divider
|
|
128
|
-
* divider.setColor('rgba(0, 0, 0, 0.12)');
|
|
129
|
-
* ```
|
|
130
|
-
*/
|
|
131
|
-
setColor: (color: string) => DividerComponent;
|
|
132
|
-
}
|