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,392 +0,0 @@
|
|
|
1
|
-
// src/components/menu/types.ts
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Menu position options
|
|
5
|
-
* Controls where the menu will appear relative to its anchor element
|
|
6
|
-
*
|
|
7
|
-
* @category Components
|
|
8
|
-
*/
|
|
9
|
-
export const MENU_POSITION = {
|
|
10
|
-
/** Places menu below the anchor, aligned to left edge */
|
|
11
|
-
BOTTOM_START: 'bottom-start',
|
|
12
|
-
/** Places menu below the anchor, centered */
|
|
13
|
-
BOTTOM: 'bottom',
|
|
14
|
-
/** Places menu below the anchor, aligned to right edge */
|
|
15
|
-
BOTTOM_END: 'bottom-end',
|
|
16
|
-
/** Places menu above the anchor, aligned to left edge */
|
|
17
|
-
TOP_START: 'top-start',
|
|
18
|
-
/** Places menu above the anchor, centered */
|
|
19
|
-
TOP: 'top',
|
|
20
|
-
/** Places menu above the anchor, aligned to right edge */
|
|
21
|
-
TOP_END: 'top-end',
|
|
22
|
-
/** Places menu to the right of the anchor, aligned to top edge */
|
|
23
|
-
RIGHT_START: 'right-start',
|
|
24
|
-
/** Places menu to the right of the anchor, centered */
|
|
25
|
-
RIGHT: 'right',
|
|
26
|
-
/** Places menu to the right of the anchor, aligned to bottom edge */
|
|
27
|
-
RIGHT_END: 'right-end',
|
|
28
|
-
/** Places menu to the left of the anchor, aligned to top edge */
|
|
29
|
-
LEFT_START: 'left-start',
|
|
30
|
-
/** Places menu to the left of the anchor, centered */
|
|
31
|
-
LEFT: 'left',
|
|
32
|
-
/** Places menu to the left of the anchor, aligned to bottom edge */
|
|
33
|
-
LEFT_END: 'left-end'
|
|
34
|
-
} as const;
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Position options for the menu
|
|
38
|
-
*
|
|
39
|
-
* @category Components
|
|
40
|
-
*/
|
|
41
|
-
export type MenuPosition = typeof MENU_POSITION[keyof typeof MENU_POSITION];
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Configuration interface for a menu item
|
|
45
|
-
*
|
|
46
|
-
* @category Components
|
|
47
|
-
*/
|
|
48
|
-
export interface MenuItem {
|
|
49
|
-
/**
|
|
50
|
-
* Unique ID for the menu item
|
|
51
|
-
* Required for accessibility and event handling
|
|
52
|
-
*/
|
|
53
|
-
id: string;
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Display text for the menu item
|
|
57
|
-
*/
|
|
58
|
-
text: string;
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Optional icon to display before the text
|
|
62
|
-
* Accepts HTML string (typically SVG)
|
|
63
|
-
*/
|
|
64
|
-
icon?: string;
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Optional keyboard shortcut hint to display
|
|
68
|
-
* Shown at the end of the menu item
|
|
69
|
-
*/
|
|
70
|
-
shortcut?: string;
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Whether the menu item is disabled
|
|
74
|
-
* Disabled items cannot be clicked but remain visible
|
|
75
|
-
*/
|
|
76
|
-
disabled?: boolean;
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Whether this item has a submenu
|
|
80
|
-
* If true, the item will show an indicator and can open a nested menu
|
|
81
|
-
*/
|
|
82
|
-
hasSubmenu?: boolean;
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* Optional array of submenu items
|
|
86
|
-
* Only used when hasSubmenu is true
|
|
87
|
-
*/
|
|
88
|
-
submenu?: MenuItem[];
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* Additional data to associate with the menu item
|
|
92
|
-
* This can be used for custom behavior in click handlers
|
|
93
|
-
*/
|
|
94
|
-
data?: any;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* Menu item type for dividers
|
|
99
|
-
*
|
|
100
|
-
* @category Components
|
|
101
|
-
*/
|
|
102
|
-
export interface MenuDivider {
|
|
103
|
-
/**
|
|
104
|
-
* Type must be 'divider' to differentiate from regular menu items
|
|
105
|
-
*/
|
|
106
|
-
type: 'divider';
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* Optional ID for the divider (for accessibility)
|
|
110
|
-
*/
|
|
111
|
-
id?: string;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* Combined type for menu content items (regular items or dividers)
|
|
116
|
-
*
|
|
117
|
-
* @category Components
|
|
118
|
-
*/
|
|
119
|
-
export type MenuContent = MenuItem | MenuDivider;
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* Configuration interface for the Menu component
|
|
123
|
-
*
|
|
124
|
-
* @category Components
|
|
125
|
-
*/
|
|
126
|
-
export interface MenuConfig {
|
|
127
|
-
/**
|
|
128
|
-
* Element to which the menu will be anchored
|
|
129
|
-
* Can be an HTML element, a CSS selector string, or a component with an element property
|
|
130
|
-
*/
|
|
131
|
-
anchor: HTMLElement | string | { element: HTMLElement };
|
|
132
|
-
|
|
133
|
-
/**
|
|
134
|
-
* Array of menu items and dividers to display
|
|
135
|
-
*/
|
|
136
|
-
items: MenuContent[];
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
* Position of the menu relative to the anchor
|
|
140
|
-
* @default 'bottom-start'
|
|
141
|
-
*/
|
|
142
|
-
position?: MenuPosition;
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* Whether the menu should close when an item is clicked
|
|
146
|
-
* @default true
|
|
147
|
-
*/
|
|
148
|
-
closeOnSelect?: boolean;
|
|
149
|
-
|
|
150
|
-
/**
|
|
151
|
-
* Whether the menu should close when the user clicks outside
|
|
152
|
-
* @default true
|
|
153
|
-
*/
|
|
154
|
-
closeOnClickOutside?: boolean;
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* Whether the menu should close when the escape key is pressed
|
|
158
|
-
* @default true
|
|
159
|
-
*/
|
|
160
|
-
closeOnEscape?: boolean;
|
|
161
|
-
|
|
162
|
-
/**
|
|
163
|
-
* Whether submenus should open on hover
|
|
164
|
-
* @default true
|
|
165
|
-
*/
|
|
166
|
-
openSubmenuOnHover?: boolean;
|
|
167
|
-
|
|
168
|
-
/**
|
|
169
|
-
* Optional width for the menu (in CSS units)
|
|
170
|
-
* If not provided, menu will size to its content
|
|
171
|
-
*/
|
|
172
|
-
width?: string;
|
|
173
|
-
|
|
174
|
-
/**
|
|
175
|
-
* Optional maximum height for the menu (in CSS units)
|
|
176
|
-
* If content exceeds this height, the menu will scroll
|
|
177
|
-
*/
|
|
178
|
-
maxHeight?: string;
|
|
179
|
-
|
|
180
|
-
/**
|
|
181
|
-
* Optional offset from the anchor (in pixels)
|
|
182
|
-
* @default 8
|
|
183
|
-
*/
|
|
184
|
-
offset?: number;
|
|
185
|
-
|
|
186
|
-
/**
|
|
187
|
-
* Whether the menu should automatically flip position to stay in viewport
|
|
188
|
-
* @default true
|
|
189
|
-
*/
|
|
190
|
-
autoFlip?: boolean;
|
|
191
|
-
|
|
192
|
-
/**
|
|
193
|
-
* Whether the menu is initially visible
|
|
194
|
-
* @default false
|
|
195
|
-
*/
|
|
196
|
-
visible?: boolean;
|
|
197
|
-
|
|
198
|
-
/**
|
|
199
|
-
* Additional CSS classes to add to the menu
|
|
200
|
-
*/
|
|
201
|
-
class?: string;
|
|
202
|
-
|
|
203
|
-
/**
|
|
204
|
-
* Component prefix for CSS class names
|
|
205
|
-
* @default 'mtrl'
|
|
206
|
-
*/
|
|
207
|
-
prefix?: string;
|
|
208
|
-
|
|
209
|
-
/**
|
|
210
|
-
* Component name used in CSS class generation
|
|
211
|
-
* @default 'menu'
|
|
212
|
-
*/
|
|
213
|
-
componentName?: string;
|
|
214
|
-
|
|
215
|
-
/**
|
|
216
|
-
* Event handlers for the menu
|
|
217
|
-
*/
|
|
218
|
-
on?: {
|
|
219
|
-
/**
|
|
220
|
-
* Called when the menu is opened
|
|
221
|
-
*/
|
|
222
|
-
open?: (event: MenuEvent) => void;
|
|
223
|
-
|
|
224
|
-
/**
|
|
225
|
-
* Called when the menu is closed
|
|
226
|
-
*/
|
|
227
|
-
close?: (event: MenuEvent) => void;
|
|
228
|
-
|
|
229
|
-
/**
|
|
230
|
-
* Called when a menu item is selected
|
|
231
|
-
*/
|
|
232
|
-
select?: (event: MenuSelectEvent) => void;
|
|
233
|
-
};
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
/**
|
|
237
|
-
* Menu event interface
|
|
238
|
-
*
|
|
239
|
-
* @category Components
|
|
240
|
-
*/
|
|
241
|
-
export interface MenuEvent {
|
|
242
|
-
/** The menu component that triggered the event */
|
|
243
|
-
menu: MenuComponent;
|
|
244
|
-
|
|
245
|
-
/** Original DOM event if available */
|
|
246
|
-
originalEvent?: Event;
|
|
247
|
-
|
|
248
|
-
/** Function to prevent default behavior */
|
|
249
|
-
preventDefault: () => void;
|
|
250
|
-
|
|
251
|
-
/** Whether default behavior was prevented */
|
|
252
|
-
defaultPrevented: boolean;
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
/**
|
|
256
|
-
* Menu selection event interface
|
|
257
|
-
*
|
|
258
|
-
* @category Components
|
|
259
|
-
*/
|
|
260
|
-
export interface MenuSelectEvent extends MenuEvent {
|
|
261
|
-
/** The selected menu item */
|
|
262
|
-
item: MenuItem;
|
|
263
|
-
|
|
264
|
-
/** ID of the selected menu item */
|
|
265
|
-
itemId: string;
|
|
266
|
-
|
|
267
|
-
/** Data associated with the menu item (if any) */
|
|
268
|
-
itemData?: any;
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
/**
|
|
272
|
-
* Menu component interface
|
|
273
|
-
*
|
|
274
|
-
* @category Components
|
|
275
|
-
*/
|
|
276
|
-
export interface MenuComponent {
|
|
277
|
-
/** The menu's root DOM element */
|
|
278
|
-
element: HTMLElement;
|
|
279
|
-
|
|
280
|
-
/**
|
|
281
|
-
* Opens the menu
|
|
282
|
-
* @param event - Optional event that triggered the open
|
|
283
|
-
* @param interactionType - The type of interaction that triggered the open ('mouse' or 'keyboard')
|
|
284
|
-
* @returns The menu component for chaining
|
|
285
|
-
*/
|
|
286
|
-
open: (event?: Event, interactionType?: 'mouse' | 'keyboard') => MenuComponent;
|
|
287
|
-
|
|
288
|
-
/**
|
|
289
|
-
* Closes the menu
|
|
290
|
-
* @param event - Optional event that triggered the close
|
|
291
|
-
* @returns The menu component for chaining
|
|
292
|
-
*/
|
|
293
|
-
close: (event?: Event) => MenuComponent;
|
|
294
|
-
|
|
295
|
-
/**
|
|
296
|
-
* Toggles the menu's open state
|
|
297
|
-
* @param event - Optional event that triggered the toggle
|
|
298
|
-
* @returns The menu component for chaining
|
|
299
|
-
*/
|
|
300
|
-
toggle: (event?: Event) => MenuComponent;
|
|
301
|
-
|
|
302
|
-
/**
|
|
303
|
-
* Checks if the menu is currently open
|
|
304
|
-
* @returns True if the menu is open
|
|
305
|
-
*/
|
|
306
|
-
isOpen: () => boolean;
|
|
307
|
-
|
|
308
|
-
/**
|
|
309
|
-
* Updates the menu items
|
|
310
|
-
* @param items - New array of menu items and dividers
|
|
311
|
-
* @returns The menu component for chaining
|
|
312
|
-
*/
|
|
313
|
-
setItems: (items: MenuContent[]) => MenuComponent;
|
|
314
|
-
|
|
315
|
-
/**
|
|
316
|
-
* Gets the current menu items
|
|
317
|
-
* @returns Array of current menu items and dividers
|
|
318
|
-
*/
|
|
319
|
-
getItems: () => MenuContent[];
|
|
320
|
-
|
|
321
|
-
/**
|
|
322
|
-
* Updates the menu's anchor element
|
|
323
|
-
* @param anchor - New anchor element or selector
|
|
324
|
-
* @returns The menu component for chaining
|
|
325
|
-
*/
|
|
326
|
-
setAnchor: (anchor: HTMLElement | string) => MenuComponent;
|
|
327
|
-
|
|
328
|
-
/**
|
|
329
|
-
* Gets the current anchor element
|
|
330
|
-
* @returns Current anchor element
|
|
331
|
-
*/
|
|
332
|
-
getAnchor: () => HTMLElement;
|
|
333
|
-
|
|
334
|
-
/**
|
|
335
|
-
* Updates the menu's position
|
|
336
|
-
* @param position - New position value
|
|
337
|
-
* @returns The menu component for chaining
|
|
338
|
-
*/
|
|
339
|
-
setPosition: (position: MenuPosition) => MenuComponent;
|
|
340
|
-
|
|
341
|
-
/**
|
|
342
|
-
* Gets the current menu position
|
|
343
|
-
* @returns Current position
|
|
344
|
-
*/
|
|
345
|
-
getPosition: () => MenuPosition;
|
|
346
|
-
|
|
347
|
-
/**
|
|
348
|
-
* Sets the selected menu item
|
|
349
|
-
* @param itemId - ID of the menu item to mark as selected
|
|
350
|
-
* @returns The menu component for chaining
|
|
351
|
-
*/
|
|
352
|
-
setSelected: (itemId: string) => MenuComponent;
|
|
353
|
-
|
|
354
|
-
/**
|
|
355
|
-
* Gets the currently selected menu item's ID
|
|
356
|
-
* @returns ID of the selected menu item or null if none is selected
|
|
357
|
-
*/
|
|
358
|
-
getSelected: () => string | null;
|
|
359
|
-
|
|
360
|
-
/**
|
|
361
|
-
* Adds an event listener to the menu
|
|
362
|
-
* @param event - Event name ('open', 'close', 'select')
|
|
363
|
-
* @param handler - Event handler function
|
|
364
|
-
* @returns The menu component for chaining
|
|
365
|
-
*/
|
|
366
|
-
on: <T extends keyof MenuEvents>(event: T, handler: MenuEvents[T]) => MenuComponent;
|
|
367
|
-
|
|
368
|
-
/**
|
|
369
|
-
* Removes an event listener from the menu
|
|
370
|
-
* @param event - Event name
|
|
371
|
-
* @param handler - Event handler function
|
|
372
|
-
* @returns The menu component for chaining
|
|
373
|
-
*/
|
|
374
|
-
off: <T extends keyof MenuEvents>(event: T, handler: MenuEvents[T]) => MenuComponent;
|
|
375
|
-
|
|
376
|
-
/**
|
|
377
|
-
* Destroys the menu component and cleans up resources
|
|
378
|
-
*/
|
|
379
|
-
destroy: () => void;
|
|
380
|
-
}
|
|
381
|
-
|
|
382
|
-
/**
|
|
383
|
-
* Menu events interface for type-checking
|
|
384
|
-
*
|
|
385
|
-
* @category Components
|
|
386
|
-
* @internal
|
|
387
|
-
*/
|
|
388
|
-
export interface MenuEvents {
|
|
389
|
-
'open': (event: MenuEvent) => void;
|
|
390
|
-
'close': (event: MenuEvent) => void;
|
|
391
|
-
'select': (event: MenuSelectEvent) => void;
|
|
392
|
-
}
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
// src/components/navigation/api.ts
|
|
2
|
-
import { NavigationComponent, NavItemConfig, NavItemData, BaseComponent, ApiOptions } from './types';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Enhances a component with navigation-specific API methods
|
|
6
|
-
* @param {ApiOptions} options - API configuration options
|
|
7
|
-
* @returns {Function} Higher-order function that adds API methods to component
|
|
8
|
-
*/
|
|
9
|
-
export const withAPI = (options: ApiOptions) =>
|
|
10
|
-
(component: BaseComponent): NavigationComponent => {
|
|
11
|
-
|
|
12
|
-
const navComponent = {
|
|
13
|
-
...component,
|
|
14
|
-
element: component.element,
|
|
15
|
-
items: component.items || new Map(),
|
|
16
|
-
|
|
17
|
-
// Basic item operations
|
|
18
|
-
addItem(config: NavItemConfig): NavigationComponent {
|
|
19
|
-
if (typeof component.addItem === 'function') {
|
|
20
|
-
component.addItem(config);
|
|
21
|
-
}
|
|
22
|
-
return this;
|
|
23
|
-
},
|
|
24
|
-
|
|
25
|
-
removeItem(id: string): NavigationComponent {
|
|
26
|
-
if (typeof component.removeItem === 'function') {
|
|
27
|
-
component.removeItem(id);
|
|
28
|
-
}
|
|
29
|
-
return this;
|
|
30
|
-
},
|
|
31
|
-
|
|
32
|
-
getItem(id: string): NavItemData | undefined {
|
|
33
|
-
if (typeof component.getItem === 'function') {
|
|
34
|
-
return component.getItem(id);
|
|
35
|
-
}
|
|
36
|
-
return this.items.get(id);
|
|
37
|
-
},
|
|
38
|
-
|
|
39
|
-
getAllItems(): NavItemData[] {
|
|
40
|
-
if (typeof component.getAllItems === 'function') {
|
|
41
|
-
return component.getAllItems();
|
|
42
|
-
}
|
|
43
|
-
return Array.from(this.items.values());
|
|
44
|
-
},
|
|
45
|
-
|
|
46
|
-
// Path and active item management
|
|
47
|
-
getActive(): NavItemData | null {
|
|
48
|
-
if (typeof component.getActive === 'function') {
|
|
49
|
-
return component.getActive();
|
|
50
|
-
}
|
|
51
|
-
return null;
|
|
52
|
-
},
|
|
53
|
-
|
|
54
|
-
getItemPath(id: string): string[] {
|
|
55
|
-
if (typeof component.getItemPath === 'function') {
|
|
56
|
-
return component.getItemPath(id);
|
|
57
|
-
}
|
|
58
|
-
return [];
|
|
59
|
-
},
|
|
60
|
-
|
|
61
|
-
setActive(id: string, silent): NavigationComponent {
|
|
62
|
-
// Use the controller if available for consistent handling
|
|
63
|
-
if (typeof component.handleItemClick === 'function') {
|
|
64
|
-
component.handleItemClick(id);
|
|
65
|
-
} else if (typeof component.setActive === 'function') {
|
|
66
|
-
component.setActive(id);
|
|
67
|
-
} else {
|
|
68
|
-
// Fallback if setActive is not available
|
|
69
|
-
const item = this.items.get(id);
|
|
70
|
-
if (item && item.element) {
|
|
71
|
-
// Emit a change event to propagate the state change
|
|
72
|
-
if (component.emit) {
|
|
73
|
-
component.emit('change', {
|
|
74
|
-
id,
|
|
75
|
-
item,
|
|
76
|
-
source: 'api'
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
return this;
|
|
82
|
-
},
|
|
83
|
-
|
|
84
|
-
// Navigation state management
|
|
85
|
-
enable(): NavigationComponent {
|
|
86
|
-
if (options.disabled.enable) {
|
|
87
|
-
options.disabled.enable();
|
|
88
|
-
}
|
|
89
|
-
return this;
|
|
90
|
-
},
|
|
91
|
-
|
|
92
|
-
disable(): NavigationComponent {
|
|
93
|
-
if (options.disabled.disable) {
|
|
94
|
-
options.disabled.disable();
|
|
95
|
-
}
|
|
96
|
-
return this;
|
|
97
|
-
},
|
|
98
|
-
|
|
99
|
-
expand(): NavigationComponent {
|
|
100
|
-
this.element.classList.remove(`${this.element.className.split(' ')[0]}--hidden`);
|
|
101
|
-
this.element.setAttribute('aria-hidden', 'false');
|
|
102
|
-
|
|
103
|
-
if (component.emit) {
|
|
104
|
-
component.emit('expanded', { source: 'api' });
|
|
105
|
-
}
|
|
106
|
-
return this;
|
|
107
|
-
},
|
|
108
|
-
|
|
109
|
-
collapse(): NavigationComponent {
|
|
110
|
-
this.element.classList.add(`${this.element.className.split(' ')[0]}--hidden`);
|
|
111
|
-
this.element.setAttribute('aria-hidden', 'true');
|
|
112
|
-
|
|
113
|
-
if (component.emit) {
|
|
114
|
-
component.emit('collapsed', { source: 'api' });
|
|
115
|
-
}
|
|
116
|
-
return this;
|
|
117
|
-
},
|
|
118
|
-
|
|
119
|
-
isExpanded(): boolean {
|
|
120
|
-
return !this.element.classList.contains(`${this.element.className.split(' ')[0]}--hidden`);
|
|
121
|
-
},
|
|
122
|
-
|
|
123
|
-
toggle(): NavigationComponent {
|
|
124
|
-
return this.isExpanded() ? this.collapse() : this.expand();
|
|
125
|
-
},
|
|
126
|
-
// on: component.on,
|
|
127
|
-
// off: component.off,
|
|
128
|
-
// emit: component.emit,
|
|
129
|
-
|
|
130
|
-
// Destruction
|
|
131
|
-
destroy(): void {
|
|
132
|
-
if (options.lifecycle.destroy) {
|
|
133
|
-
options.lifecycle.destroy();
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
};
|
|
137
|
-
|
|
138
|
-
// Return the enhanced component
|
|
139
|
-
return navComponent;
|
|
140
|
-
};
|
|
141
|
-
|
|
142
|
-
export default withAPI;
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
// src/components/navigation/config.ts
|
|
2
|
-
import {
|
|
3
|
-
createComponentConfig,
|
|
4
|
-
createElementConfig,
|
|
5
|
-
BaseComponentConfig
|
|
6
|
-
} from '../../core/config/component-config';
|
|
7
|
-
import { NavigationConfig, BaseComponent, ApiOptions } from './types';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Default configuration for the Navigation component
|
|
11
|
-
*/
|
|
12
|
-
export const defaultConfig: NavigationConfig = {
|
|
13
|
-
variant: 'rail',
|
|
14
|
-
position: 'left',
|
|
15
|
-
behavior: 'fixed',
|
|
16
|
-
items: [],
|
|
17
|
-
showLabels: true,
|
|
18
|
-
scrimEnabled: false
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Creates the base configuration for Navigation component
|
|
23
|
-
* @param {NavigationConfig} config - User provided configuration
|
|
24
|
-
* @returns {NavigationConfig} Complete configuration with defaults applied
|
|
25
|
-
*/
|
|
26
|
-
export const createBaseConfig = (config: NavigationConfig = {}): NavigationConfig =>
|
|
27
|
-
createComponentConfig(defaultConfig, config, 'nav') as NavigationConfig;
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Generates element configuration for the Navigation component
|
|
31
|
-
* @param {NavigationConfig} config - Navigation configuration
|
|
32
|
-
* @returns {Object} Element configuration object for withElement
|
|
33
|
-
*/
|
|
34
|
-
export const getElementConfig = (config: NavigationConfig) => {
|
|
35
|
-
// Build class list - start with the variant class
|
|
36
|
-
const variantClass = config.variant ? `${config.prefix}-nav--${config.variant}` : '';
|
|
37
|
-
|
|
38
|
-
// Add position class if specified
|
|
39
|
-
const positionClass = config.position ? `${config.prefix}-nav--${config.position}` : '';
|
|
40
|
-
|
|
41
|
-
// Add user-provided classes
|
|
42
|
-
const userClass = config.class || '';
|
|
43
|
-
|
|
44
|
-
// Combine all classes
|
|
45
|
-
const classNames = [variantClass, positionClass, userClass].filter(Boolean);
|
|
46
|
-
|
|
47
|
-
return createElementConfig(config, {
|
|
48
|
-
tag: 'nav',
|
|
49
|
-
componentName: 'nav',
|
|
50
|
-
attrs: {
|
|
51
|
-
role: 'navigation',
|
|
52
|
-
'aria-label': config.ariaLabel || 'Main Navigation'
|
|
53
|
-
},
|
|
54
|
-
className: classNames
|
|
55
|
-
});
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Creates API configuration for the Navigation component
|
|
60
|
-
* @param {BaseComponent} comp - Component with disabled and lifecycle features
|
|
61
|
-
* @returns {ApiOptions} API configuration object
|
|
62
|
-
*/
|
|
63
|
-
export const getApiConfig = (comp: BaseComponent): ApiOptions => ({
|
|
64
|
-
disabled: {
|
|
65
|
-
enable: comp.disabled?.enable || (() => {}),
|
|
66
|
-
disable: comp.disabled?.disable || (() => {})
|
|
67
|
-
},
|
|
68
|
-
lifecycle: {
|
|
69
|
-
destroy: comp.lifecycle?.destroy || (() => {})
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
|
|
73
|
-
export default defaultConfig;
|