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,141 +0,0 @@
|
|
|
1
|
-
// src/components/dialog/index.ts
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Dialog Component Module
|
|
5
|
-
*
|
|
6
|
-
* A Material Design 3 dialog implementation with support for multiple sizes,
|
|
7
|
-
* animations, content types, and interactive features like confirmation.
|
|
8
|
-
*
|
|
9
|
-
* Dialogs inform users about critical information, require decisions,
|
|
10
|
-
* or involve multiple tasks.
|
|
11
|
-
*
|
|
12
|
-
* @module components/dialog
|
|
13
|
-
* @category Components
|
|
14
|
-
*/
|
|
15
|
-
|
|
16
|
-
// Main factory function
|
|
17
|
-
export { default } from './dialog';
|
|
18
|
-
|
|
19
|
-
// TypeScript types and interfaces
|
|
20
|
-
export {
|
|
21
|
-
DialogConfig,
|
|
22
|
-
DialogComponent,
|
|
23
|
-
DialogButton,
|
|
24
|
-
DialogEvent,
|
|
25
|
-
DialogConfirmOptions,
|
|
26
|
-
DialogSize,
|
|
27
|
-
DialogAnimation,
|
|
28
|
-
DialogFooterAlignment,
|
|
29
|
-
DialogEventType
|
|
30
|
-
} from './types';
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Dialog size constants
|
|
34
|
-
*
|
|
35
|
-
* These constants define the available dialog size variants,
|
|
36
|
-
* controlling the width and height of the dialog.
|
|
37
|
-
*
|
|
38
|
-
* @example
|
|
39
|
-
* import { createDialog, DIALOG_SIZES } from 'mtrl';
|
|
40
|
-
*
|
|
41
|
-
* const dialog = createDialog({
|
|
42
|
-
* title: 'Settings',
|
|
43
|
-
* size: DIALOG_SIZES.MEDIUM
|
|
44
|
-
* });
|
|
45
|
-
*
|
|
46
|
-
* @category Components
|
|
47
|
-
*/
|
|
48
|
-
export const DIALOG_SIZES = {
|
|
49
|
-
/** Small dialog (320px) for simple messages or choices */
|
|
50
|
-
SMALL: 'small',
|
|
51
|
-
/** Medium dialog (560px) for standard forms or content (default) */
|
|
52
|
-
MEDIUM: 'medium',
|
|
53
|
-
/** Large dialog (800px) for complex forms or rich content */
|
|
54
|
-
LARGE: 'large',
|
|
55
|
-
/** Dialog that spans the full width of the viewport with margins */
|
|
56
|
-
FULLWIDTH: 'fullwidth',
|
|
57
|
-
/** Dialog that takes up the entire viewport (similar to a new page) */
|
|
58
|
-
FULLSCREEN: 'fullscreen'
|
|
59
|
-
} as const;
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Dialog animation constants
|
|
63
|
-
*
|
|
64
|
-
* These constants define the available dialog opening and closing animations.
|
|
65
|
-
*
|
|
66
|
-
* @example
|
|
67
|
-
* import { createDialog, DIALOG_ANIMATIONS } from 'mtrl';
|
|
68
|
-
*
|
|
69
|
-
* const dialog = createDialog({
|
|
70
|
-
* animation: DIALOG_ANIMATIONS.SCALE
|
|
71
|
-
* });
|
|
72
|
-
*
|
|
73
|
-
* @category Components
|
|
74
|
-
*/
|
|
75
|
-
export const DIALOG_ANIMATIONS = {
|
|
76
|
-
/** Scale up/down animation from center (default) */
|
|
77
|
-
SCALE: 'scale',
|
|
78
|
-
/** Slide in from bottom, slide out to bottom */
|
|
79
|
-
SLIDE_UP: 'slide-up',
|
|
80
|
-
/** Slide in from top, slide out to top */
|
|
81
|
-
SLIDE_DOWN: 'slide-down',
|
|
82
|
-
/** Simple fade in/out animation */
|
|
83
|
-
FADE: 'fade'
|
|
84
|
-
} as const;
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* Dialog footer alignment constants
|
|
88
|
-
*
|
|
89
|
-
* These constants control how buttons in the footer are aligned.
|
|
90
|
-
*
|
|
91
|
-
* @example
|
|
92
|
-
* import { createDialog, DIALOG_FOOTER_ALIGNMENTS } from 'mtrl';
|
|
93
|
-
*
|
|
94
|
-
* const dialog = createDialog({
|
|
95
|
-
* footerAlignment: DIALOG_FOOTER_ALIGNMENTS.RIGHT
|
|
96
|
-
* });
|
|
97
|
-
*
|
|
98
|
-
* @category Components
|
|
99
|
-
*/
|
|
100
|
-
export const DIALOG_FOOTER_ALIGNMENTS = {
|
|
101
|
-
/** Align buttons to the right (default, follows Material Design guidelines) */
|
|
102
|
-
RIGHT: 'right',
|
|
103
|
-
/** Align buttons to the left */
|
|
104
|
-
LEFT: 'left',
|
|
105
|
-
/** Center buttons in footer */
|
|
106
|
-
CENTER: 'center',
|
|
107
|
-
/** Space buttons evenly, with first button at left, last at right */
|
|
108
|
-
SPACE_BETWEEN: 'space-between'
|
|
109
|
-
} as const;
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* Dialog event constants
|
|
113
|
-
*
|
|
114
|
-
* These events can be used with the dialog's on() method to respond
|
|
115
|
-
* to changes in the dialog's state.
|
|
116
|
-
*
|
|
117
|
-
* @example
|
|
118
|
-
* import { createDialog, DIALOG_EVENTS } from 'mtrl';
|
|
119
|
-
*
|
|
120
|
-
* const dialog = createDialog();
|
|
121
|
-
*
|
|
122
|
-
* dialog.on(DIALOG_EVENTS.AFTER_OPEN, () => {
|
|
123
|
-
* console.log('Dialog was opened');
|
|
124
|
-
* });
|
|
125
|
-
*
|
|
126
|
-
* @category Components
|
|
127
|
-
*/
|
|
128
|
-
export const DIALOG_EVENTS = {
|
|
129
|
-
/** Fired when the dialog begins opening */
|
|
130
|
-
OPEN: 'open',
|
|
131
|
-
/** Fired when the dialog begins closing */
|
|
132
|
-
CLOSE: 'close',
|
|
133
|
-
/** Fired before the dialog starts opening (can be prevented) */
|
|
134
|
-
BEFORE_OPEN: 'beforeopen',
|
|
135
|
-
/** Fired before the dialog starts closing (can be prevented) */
|
|
136
|
-
BEFORE_CLOSE: 'beforeclose',
|
|
137
|
-
/** Fired after the dialog has fully opened (animation complete) */
|
|
138
|
-
AFTER_OPEN: 'afteropen',
|
|
139
|
-
/** Fired after the dialog has fully closed (animation complete) */
|
|
140
|
-
AFTER_CLOSE: 'afterclose'
|
|
141
|
-
} as const;
|
|
@@ -1,553 +0,0 @@
|
|
|
1
|
-
// src/components/dialog/types.ts
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Dialog size types - determines the width and height of the dialog
|
|
5
|
-
*
|
|
6
|
-
* @category Components
|
|
7
|
-
* @remarks
|
|
8
|
-
* - small: 320px width, for simple messages or choices
|
|
9
|
-
* - medium: 560px width, for standard forms or content (default)
|
|
10
|
-
* - large: 800px width, for complex forms or rich content
|
|
11
|
-
* - fullwidth: Spans the full width of the viewport with margins
|
|
12
|
-
* - fullscreen: Takes up the entire viewport (similar to a new page)
|
|
13
|
-
*/
|
|
14
|
-
export type DialogSize = 'small' | 'medium' | 'large' | 'fullwidth' | 'fullscreen';
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Dialog animation types - controls how the dialog appears and disappears
|
|
18
|
-
*
|
|
19
|
-
* @category Components
|
|
20
|
-
* @remarks
|
|
21
|
-
* - scale: Scale up/down animation from center (default)
|
|
22
|
-
* - slide-up: Slide in from bottom, slide out to bottom
|
|
23
|
-
* - slide-down: Slide in from top, slide out to top
|
|
24
|
-
* - fade: Simple fade in/out animation
|
|
25
|
-
*/
|
|
26
|
-
export type DialogAnimation = 'scale' | 'slide-up' | 'slide-down' | 'fade';
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Dialog footer alignment types - controls how buttons in the footer are aligned
|
|
30
|
-
*
|
|
31
|
-
* @category Components
|
|
32
|
-
* @remarks
|
|
33
|
-
* - right: Align buttons to the right (default, follows Material Design guidelines)
|
|
34
|
-
* - left: Align buttons to the left
|
|
35
|
-
* - center: Center buttons in footer
|
|
36
|
-
* - space-between: Space buttons evenly, with first button at left, last at right
|
|
37
|
-
*/
|
|
38
|
-
export type DialogFooterAlignment = 'right' | 'left' | 'center' | 'space-between';
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Dialog event types - events that can be listened to with the on() method
|
|
42
|
-
*
|
|
43
|
-
* @category Components
|
|
44
|
-
* @remarks
|
|
45
|
-
* - open: Fired when the dialog begins opening
|
|
46
|
-
* - close: Fired when the dialog begins closing
|
|
47
|
-
* - beforeopen: Fired before the dialog starts opening (can be prevented)
|
|
48
|
-
* - beforeclose: Fired before the dialog starts closing (can be prevented)
|
|
49
|
-
* - afteropen: Fired after the dialog has fully opened (animation complete)
|
|
50
|
-
* - afterclose: Fired after the dialog has fully closed (animation complete)
|
|
51
|
-
*/
|
|
52
|
-
export type DialogEventType = 'open' | 'close' | 'beforeopen' | 'beforeclose' | 'afteropen' | 'afterclose';
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Configuration interface for the Dialog component
|
|
56
|
-
*
|
|
57
|
-
* @category Components
|
|
58
|
-
* @description
|
|
59
|
-
* Defines the appearance and behavior of a dialog component.
|
|
60
|
-
* All properties are optional with sensible defaults.
|
|
61
|
-
*/
|
|
62
|
-
export interface DialogConfig {
|
|
63
|
-
/**
|
|
64
|
-
* Dialog title text - appears in the header
|
|
65
|
-
* @example "Settings"
|
|
66
|
-
*/
|
|
67
|
-
title?: string;
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Dialog subtitle text - appears below title in smaller text
|
|
71
|
-
* @example "Configure your preferences"
|
|
72
|
-
*/
|
|
73
|
-
subtitle?: string;
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Dialog content (text or HTML)
|
|
77
|
-
* Can include rich content like forms, images, etc.
|
|
78
|
-
* @example "This action cannot be undone."
|
|
79
|
-
*/
|
|
80
|
-
content?: string;
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* Whether to show close button (X) in the header
|
|
84
|
-
* @default true
|
|
85
|
-
*/
|
|
86
|
-
closeButton?: boolean;
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* Additional CSS classes to apply to the dialog
|
|
90
|
-
* @example "settings-dialog important-dialog"
|
|
91
|
-
*/
|
|
92
|
-
class?: string;
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* Dialog size variant
|
|
96
|
-
* Controls the width and height of the dialog
|
|
97
|
-
* @default "medium"
|
|
98
|
-
*/
|
|
99
|
-
size?: DialogSize | string;
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* Dialog animation variant
|
|
103
|
-
* Controls how the dialog appears and disappears
|
|
104
|
-
* @default "scale"
|
|
105
|
-
*/
|
|
106
|
-
animation?: DialogAnimation | string;
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* Footer buttons alignment
|
|
110
|
-
* Controls how buttons in the footer are positioned
|
|
111
|
-
* @default "right"
|
|
112
|
-
*/
|
|
113
|
-
footerAlignment?: DialogFooterAlignment | string;
|
|
114
|
-
|
|
115
|
-
/**
|
|
116
|
-
* Whether dialog is initially open
|
|
117
|
-
* @default false
|
|
118
|
-
*/
|
|
119
|
-
open?: boolean;
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* Whether to close when clicking overlay background
|
|
123
|
-
* When true, allows users to dismiss by clicking outside
|
|
124
|
-
* @default true
|
|
125
|
-
*/
|
|
126
|
-
closeOnOverlayClick?: boolean;
|
|
127
|
-
|
|
128
|
-
/**
|
|
129
|
-
* Whether to close when Escape key is pressed
|
|
130
|
-
* @default true
|
|
131
|
-
*/
|
|
132
|
-
closeOnEscape?: boolean;
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* Whether dialog should be modal
|
|
136
|
-
* When true, prevents interaction with background content
|
|
137
|
-
* @default true
|
|
138
|
-
*/
|
|
139
|
-
modal?: boolean;
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* Whether to focus the first focusable element when opened
|
|
143
|
-
* Important for accessibility and keyboard navigation
|
|
144
|
-
* @default true
|
|
145
|
-
*/
|
|
146
|
-
autofocus?: boolean;
|
|
147
|
-
|
|
148
|
-
/**
|
|
149
|
-
* Whether to trap focus within dialog when opened
|
|
150
|
-
* Prevents tabbing outside the dialog, improving accessibility
|
|
151
|
-
* @default true
|
|
152
|
-
*/
|
|
153
|
-
trapFocus?: boolean;
|
|
154
|
-
|
|
155
|
-
/**
|
|
156
|
-
* Parent element to append dialog to
|
|
157
|
-
* @default document.body
|
|
158
|
-
*/
|
|
159
|
-
container?: HTMLElement;
|
|
160
|
-
|
|
161
|
-
/**
|
|
162
|
-
* Footer buttons configuration
|
|
163
|
-
* Array of button objects to display in the footer
|
|
164
|
-
*/
|
|
165
|
-
buttons?: DialogButton[];
|
|
166
|
-
|
|
167
|
-
/**
|
|
168
|
-
* Whether to show a divider between header and content
|
|
169
|
-
* @default false
|
|
170
|
-
*/
|
|
171
|
-
divider?: boolean;
|
|
172
|
-
|
|
173
|
-
/**
|
|
174
|
-
* Dialog z-index - controls stacking order
|
|
175
|
-
* @default 1000
|
|
176
|
-
*/
|
|
177
|
-
zIndex?: number;
|
|
178
|
-
|
|
179
|
-
/**
|
|
180
|
-
* Duration of open/close animations in milliseconds
|
|
181
|
-
* @default 300
|
|
182
|
-
*/
|
|
183
|
-
animationDuration?: number;
|
|
184
|
-
|
|
185
|
-
/**
|
|
186
|
-
* Event handlers for dialog events
|
|
187
|
-
* Register event handlers during initialization
|
|
188
|
-
* @example
|
|
189
|
-
* {
|
|
190
|
-
* afteropen: (event) => { console.log('Dialog opened'); }
|
|
191
|
-
* }
|
|
192
|
-
*/
|
|
193
|
-
on?: {
|
|
194
|
-
[key in DialogEventType]?: (event: DialogEvent) => void;
|
|
195
|
-
};
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
/**
|
|
199
|
-
* Dialog button configuration
|
|
200
|
-
*
|
|
201
|
-
* Defines the appearance and behavior of buttons in the dialog footer.
|
|
202
|
-
*
|
|
203
|
-
* @category Components
|
|
204
|
-
*/
|
|
205
|
-
export interface DialogButton {
|
|
206
|
-
/**
|
|
207
|
-
* Button text label
|
|
208
|
-
* @example "Save" | "Cancel" | "Delete"
|
|
209
|
-
*/
|
|
210
|
-
text: string;
|
|
211
|
-
|
|
212
|
-
/**
|
|
213
|
-
* Button variant (uses button component variants)
|
|
214
|
-
* @default "text"
|
|
215
|
-
* @example "filled" | "text" | "outlined" | "tonal"
|
|
216
|
-
*/
|
|
217
|
-
variant?: string;
|
|
218
|
-
|
|
219
|
-
/**
|
|
220
|
-
* Button color
|
|
221
|
-
* @example "primary" | "error"
|
|
222
|
-
*/
|
|
223
|
-
color?: string;
|
|
224
|
-
|
|
225
|
-
/**
|
|
226
|
-
* Button size
|
|
227
|
-
* @default "medium"
|
|
228
|
-
* @example "small" | "medium" | "large"
|
|
229
|
-
*/
|
|
230
|
-
size?: string;
|
|
231
|
-
|
|
232
|
-
/**
|
|
233
|
-
* Button click handler
|
|
234
|
-
* Return false to prevent dialog closing
|
|
235
|
-
* @param event - The click event
|
|
236
|
-
* @param dialog - The dialog component instance
|
|
237
|
-
* @returns Optional boolean, false prevents dialog from closing
|
|
238
|
-
*/
|
|
239
|
-
onClick?: (event: MouseEvent, dialog: DialogComponent) => void | boolean;
|
|
240
|
-
|
|
241
|
-
/**
|
|
242
|
-
* Whether to close the dialog when this button is clicked
|
|
243
|
-
* Set to false for validation or multi-step flows
|
|
244
|
-
* @default true
|
|
245
|
-
*/
|
|
246
|
-
closeDialog?: boolean;
|
|
247
|
-
|
|
248
|
-
/**
|
|
249
|
-
* Whether to autofocus this button when the dialog opens
|
|
250
|
-
* Typically used for primary action buttons
|
|
251
|
-
* @default false
|
|
252
|
-
*/
|
|
253
|
-
autofocus?: boolean;
|
|
254
|
-
|
|
255
|
-
/**
|
|
256
|
-
* Additional button attributes to pass to the button element
|
|
257
|
-
* @example { 'data-id': 'save-button', 'form': 'profile-form' }
|
|
258
|
-
*/
|
|
259
|
-
attrs?: Record<string, any>;
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
/**
|
|
263
|
-
* Dialog event object
|
|
264
|
-
*
|
|
265
|
-
* Passed to event handlers registered with the on() method.
|
|
266
|
-
*
|
|
267
|
-
* @category Components
|
|
268
|
-
*/
|
|
269
|
-
export interface DialogEvent {
|
|
270
|
-
/**
|
|
271
|
-
* Dialog component instance that triggered the event
|
|
272
|
-
*/
|
|
273
|
-
dialog: DialogComponent;
|
|
274
|
-
|
|
275
|
-
/**
|
|
276
|
-
* Original browser event if applicable
|
|
277
|
-
* May be undefined for programmatic events
|
|
278
|
-
*/
|
|
279
|
-
originalEvent?: Event;
|
|
280
|
-
|
|
281
|
-
/**
|
|
282
|
-
* Call this method to prevent the default action
|
|
283
|
-
* For example, to prevent a dialog from closing
|
|
284
|
-
*/
|
|
285
|
-
preventDefault: () => void;
|
|
286
|
-
|
|
287
|
-
/**
|
|
288
|
-
* Whether the default action was prevented
|
|
289
|
-
* Will be true if preventDefault() was called
|
|
290
|
-
*/
|
|
291
|
-
defaultPrevented: boolean;
|
|
292
|
-
}
|
|
293
|
-
|
|
294
|
-
/**
|
|
295
|
-
* Dialog component interface
|
|
296
|
-
*
|
|
297
|
-
* Provides methods for controlling a Material Design 3 dialog
|
|
298
|
-
*
|
|
299
|
-
* @category Components
|
|
300
|
-
*/
|
|
301
|
-
export interface DialogComponent {
|
|
302
|
-
/**
|
|
303
|
-
* The dialog's root DOM element
|
|
304
|
-
*/
|
|
305
|
-
element: HTMLElement;
|
|
306
|
-
|
|
307
|
-
/**
|
|
308
|
-
* The dialog's overlay/backdrop element
|
|
309
|
-
*/
|
|
310
|
-
overlay: HTMLElement;
|
|
311
|
-
|
|
312
|
-
/**
|
|
313
|
-
* Opens the dialog
|
|
314
|
-
* Displays the dialog with animation
|
|
315
|
-
* @returns Dialog component for method chaining
|
|
316
|
-
*/
|
|
317
|
-
open: () => DialogComponent;
|
|
318
|
-
|
|
319
|
-
/**
|
|
320
|
-
* Closes the dialog
|
|
321
|
-
* Hides the dialog with animation
|
|
322
|
-
* @returns Dialog component for method chaining
|
|
323
|
-
*/
|
|
324
|
-
close: () => DialogComponent;
|
|
325
|
-
|
|
326
|
-
/**
|
|
327
|
-
* Toggles dialog open/closed state
|
|
328
|
-
* @param open - Optional boolean to force specific state
|
|
329
|
-
* @returns Dialog component for method chaining
|
|
330
|
-
* @example
|
|
331
|
-
* dialog.toggle(); // Toggle current state
|
|
332
|
-
* dialog.toggle(true); // Force open
|
|
333
|
-
*/
|
|
334
|
-
toggle: (open?: boolean) => DialogComponent;
|
|
335
|
-
|
|
336
|
-
/**
|
|
337
|
-
* Checks if dialog is currently open
|
|
338
|
-
* @returns True if dialog is open, false otherwise
|
|
339
|
-
*/
|
|
340
|
-
isOpen: () => boolean;
|
|
341
|
-
|
|
342
|
-
/**
|
|
343
|
-
* Sets dialog title text
|
|
344
|
-
* @param title - New title to display in header
|
|
345
|
-
* @returns Dialog component for method chaining
|
|
346
|
-
*/
|
|
347
|
-
setTitle: (title: string) => DialogComponent;
|
|
348
|
-
|
|
349
|
-
/**
|
|
350
|
-
* Gets dialog current title text
|
|
351
|
-
* @returns Current title text
|
|
352
|
-
*/
|
|
353
|
-
getTitle: () => string;
|
|
354
|
-
|
|
355
|
-
/**
|
|
356
|
-
* Sets dialog subtitle text
|
|
357
|
-
* @param subtitle - New subtitle to display below title
|
|
358
|
-
* @returns Dialog component for method chaining
|
|
359
|
-
*/
|
|
360
|
-
setSubtitle: (subtitle: string) => DialogComponent;
|
|
361
|
-
|
|
362
|
-
/**
|
|
363
|
-
* Gets dialog current subtitle text
|
|
364
|
-
* @returns Current subtitle text
|
|
365
|
-
*/
|
|
366
|
-
getSubtitle: () => string;
|
|
367
|
-
|
|
368
|
-
/**
|
|
369
|
-
* Sets dialog content
|
|
370
|
-
* @param content - New content (text or HTML)
|
|
371
|
-
* @returns Dialog component for method chaining
|
|
372
|
-
*/
|
|
373
|
-
setContent: (content: string) => DialogComponent;
|
|
374
|
-
|
|
375
|
-
/**
|
|
376
|
-
* Gets dialog content
|
|
377
|
-
* @returns Current content text/HTML
|
|
378
|
-
*/
|
|
379
|
-
getContent: () => string;
|
|
380
|
-
|
|
381
|
-
/**
|
|
382
|
-
* Adds a button to the dialog footer
|
|
383
|
-
* @param button - Button configuration object
|
|
384
|
-
* @returns Dialog component for method chaining
|
|
385
|
-
*/
|
|
386
|
-
addButton: (button: DialogButton) => DialogComponent;
|
|
387
|
-
|
|
388
|
-
/**
|
|
389
|
-
* Removes a button by index or text
|
|
390
|
-
* @param indexOrText - Button index or text content
|
|
391
|
-
* @returns Dialog component for method chaining
|
|
392
|
-
* @example
|
|
393
|
-
* dialog.removeButton(0); // Remove first button
|
|
394
|
-
* dialog.removeButton('Cancel'); // Remove button with text 'Cancel'
|
|
395
|
-
*/
|
|
396
|
-
removeButton: (indexOrText: number | string) => DialogComponent;
|
|
397
|
-
|
|
398
|
-
/**
|
|
399
|
-
* Gets all footer buttons
|
|
400
|
-
* @returns Array of button configuration objects
|
|
401
|
-
*/
|
|
402
|
-
getButtons: () => DialogButton[];
|
|
403
|
-
|
|
404
|
-
/**
|
|
405
|
-
* Sets footer button alignment
|
|
406
|
-
* @param alignment - Alignment value
|
|
407
|
-
* @returns Dialog component for method chaining
|
|
408
|
-
*/
|
|
409
|
-
setFooterAlignment: (alignment: DialogFooterAlignment | string) => DialogComponent;
|
|
410
|
-
|
|
411
|
-
/**
|
|
412
|
-
* Sets dialog size
|
|
413
|
-
* @param size - Size variant
|
|
414
|
-
* @returns Dialog component for method chaining
|
|
415
|
-
*/
|
|
416
|
-
setSize: (size: DialogSize | string) => DialogComponent;
|
|
417
|
-
|
|
418
|
-
/**
|
|
419
|
-
* Adds an event listener to the dialog
|
|
420
|
-
* @param event - Event name
|
|
421
|
-
* @param handler - Event handler function
|
|
422
|
-
* @returns Dialog component for method chaining
|
|
423
|
-
* @example
|
|
424
|
-
* dialog.on('beforeclose', (event) => {
|
|
425
|
-
* // Prevent dialog from closing if form is invalid
|
|
426
|
-
* if (!isFormValid()) {
|
|
427
|
-
* event.preventDefault();
|
|
428
|
-
* }
|
|
429
|
-
* });
|
|
430
|
-
*/
|
|
431
|
-
on: (event: DialogEventType | string, handler: (event: DialogEvent) => void) => DialogComponent;
|
|
432
|
-
|
|
433
|
-
/**
|
|
434
|
-
* Removes an event listener from the dialog
|
|
435
|
-
* @param event - Event name
|
|
436
|
-
* @param handler - Event handler function
|
|
437
|
-
* @returns Dialog component for method chaining
|
|
438
|
-
*/
|
|
439
|
-
off: (event: DialogEventType | string, handler: (event: DialogEvent) => void) => DialogComponent;
|
|
440
|
-
|
|
441
|
-
/**
|
|
442
|
-
* Gets dialog header element
|
|
443
|
-
* @returns Header element or null if not present
|
|
444
|
-
*/
|
|
445
|
-
getHeaderElement: () => HTMLElement | null;
|
|
446
|
-
|
|
447
|
-
/**
|
|
448
|
-
* Gets dialog content element
|
|
449
|
-
* @returns Content element or null if not present
|
|
450
|
-
*/
|
|
451
|
-
getContentElement: () => HTMLElement | null;
|
|
452
|
-
|
|
453
|
-
/**
|
|
454
|
-
* Gets dialog footer element
|
|
455
|
-
* @returns Footer element or null if not present
|
|
456
|
-
*/
|
|
457
|
-
getFooterElement: () => HTMLElement | null;
|
|
458
|
-
|
|
459
|
-
/**
|
|
460
|
-
* Shows or hides the divider between header and content
|
|
461
|
-
* @param show - Whether to show or hide divider
|
|
462
|
-
* @returns Dialog component for method chaining
|
|
463
|
-
*/
|
|
464
|
-
toggleDivider: (show: boolean) => DialogComponent;
|
|
465
|
-
|
|
466
|
-
/**
|
|
467
|
-
* Checks if the dialog has a divider visible
|
|
468
|
-
* @returns True if divider is visible, false otherwise
|
|
469
|
-
*/
|
|
470
|
-
hasDivider: () => boolean;
|
|
471
|
-
|
|
472
|
-
/**
|
|
473
|
-
* Creates a confirmation dialog with Yes/No buttons
|
|
474
|
-
* Returns a promise that resolves to true if confirmed, false otherwise
|
|
475
|
-
*
|
|
476
|
-
* @param options - Confirmation dialog options
|
|
477
|
-
* @returns Promise resolving to boolean result
|
|
478
|
-
* @example
|
|
479
|
-
* const result = await dialog.confirm({
|
|
480
|
-
* title: 'Delete Item',
|
|
481
|
-
* message: 'Are you sure you want to delete this item?'
|
|
482
|
-
* });
|
|
483
|
-
*
|
|
484
|
-
* if (result) {
|
|
485
|
-
* deleteItem();
|
|
486
|
-
* }
|
|
487
|
-
*/
|
|
488
|
-
confirm: (options?: DialogConfirmOptions) => Promise<boolean>;
|
|
489
|
-
|
|
490
|
-
/**
|
|
491
|
-
* Destroys the dialog and removes it from DOM
|
|
492
|
-
* Cleans up all event listeners and references
|
|
493
|
-
*/
|
|
494
|
-
destroy: () => void;
|
|
495
|
-
}
|
|
496
|
-
|
|
497
|
-
/**
|
|
498
|
-
* Options for confirmation dialog
|
|
499
|
-
*
|
|
500
|
-
* Used with the dialog.confirm() method to create a simple
|
|
501
|
-
* confirmation dialog with customizable options.
|
|
502
|
-
*
|
|
503
|
-
* @category Components
|
|
504
|
-
*/
|
|
505
|
-
export interface DialogConfirmOptions {
|
|
506
|
-
/**
|
|
507
|
-
* Confirmation dialog title
|
|
508
|
-
* @default "Confirm"
|
|
509
|
-
* @example "Delete Item"
|
|
510
|
-
*/
|
|
511
|
-
title?: string;
|
|
512
|
-
|
|
513
|
-
/**
|
|
514
|
-
* Confirmation message/question to display
|
|
515
|
-
* Required field for the confirmation dialog
|
|
516
|
-
* @example "Are you sure you want to delete this item?"
|
|
517
|
-
*/
|
|
518
|
-
message: string;
|
|
519
|
-
|
|
520
|
-
/**
|
|
521
|
-
* Confirm button text
|
|
522
|
-
* @default "Yes"
|
|
523
|
-
* @example "Delete" | "Confirm" | "Yes, I'm sure"
|
|
524
|
-
*/
|
|
525
|
-
confirmText?: string;
|
|
526
|
-
|
|
527
|
-
/**
|
|
528
|
-
* Cancel button text
|
|
529
|
-
* @default "No"
|
|
530
|
-
* @example "Cancel" | "No, go back"
|
|
531
|
-
*/
|
|
532
|
-
cancelText?: string;
|
|
533
|
-
|
|
534
|
-
/**
|
|
535
|
-
* Confirm button variant
|
|
536
|
-
* @default "filled"
|
|
537
|
-
* @example "filled" | "tonal"
|
|
538
|
-
*/
|
|
539
|
-
confirmVariant?: string;
|
|
540
|
-
|
|
541
|
-
/**
|
|
542
|
-
* Cancel button variant
|
|
543
|
-
* @default "text"
|
|
544
|
-
* @example "text" | "outlined"
|
|
545
|
-
*/
|
|
546
|
-
cancelVariant?: string;
|
|
547
|
-
|
|
548
|
-
/**
|
|
549
|
-
* Dialog size for the confirmation dialog
|
|
550
|
-
* @default "small"
|
|
551
|
-
*/
|
|
552
|
-
size?: DialogSize | string;
|
|
553
|
-
}
|