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,396 +0,0 @@
|
|
|
1
|
-
// src/components/list/types.ts
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* List types/variants
|
|
5
|
-
*
|
|
6
|
-
* Different selection modes available for lists.
|
|
7
|
-
*
|
|
8
|
-
* @category Components
|
|
9
|
-
*/
|
|
10
|
-
export const LIST_TYPES = {
|
|
11
|
-
DEFAULT: 'default', // Standard list
|
|
12
|
-
SINGLE_SELECT: 'single', // Single selection list
|
|
13
|
-
MULTI_SELECT: 'multi', // Multiple selection list
|
|
14
|
-
RADIO: 'radio' // Radio button list
|
|
15
|
-
} as const;
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* List layout variants
|
|
19
|
-
*
|
|
20
|
-
* Layout options for list items and content arrangement.
|
|
21
|
-
*
|
|
22
|
-
* @category Components
|
|
23
|
-
*/
|
|
24
|
-
export const LIST_LAYOUTS = {
|
|
25
|
-
HORIZONTAL: 'horizontal', // Default horizontal layout
|
|
26
|
-
VERTICAL: 'vertical' // Items with more content stacked vertically
|
|
27
|
-
} as const;
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* List item layouts
|
|
31
|
-
*
|
|
32
|
-
* Individual item layout options controlling content arrangement.
|
|
33
|
-
*
|
|
34
|
-
* @category Components
|
|
35
|
-
*/
|
|
36
|
-
export const LIST_ITEM_LAYOUTS = {
|
|
37
|
-
HORIZONTAL: 'horizontal', // Default horizontal layout
|
|
38
|
-
VERTICAL: 'vertical' // Stacked layout with vertical alignment
|
|
39
|
-
} as const;
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* List element class names
|
|
43
|
-
*
|
|
44
|
-
* CSS class names for the various elements that make up a list.
|
|
45
|
-
*
|
|
46
|
-
* @internal
|
|
47
|
-
*/
|
|
48
|
-
export const LIST_CLASSES = {
|
|
49
|
-
ROOT: 'list',
|
|
50
|
-
GROUP: 'list-group',
|
|
51
|
-
GROUP_TITLE: 'list-group-title',
|
|
52
|
-
DIVIDER: 'list-divider',
|
|
53
|
-
SECTION: 'list-section',
|
|
54
|
-
SECTION_TITLE: 'list-section-title',
|
|
55
|
-
ITEM: 'list-item',
|
|
56
|
-
ITEM_CONTENT: 'list-item-content',
|
|
57
|
-
ITEM_LEADING: 'list-item-leading',
|
|
58
|
-
ITEM_TEXT: 'list-item-text',
|
|
59
|
-
ITEM_OVERLINE: 'list-item-overline',
|
|
60
|
-
ITEM_HEADLINE: 'list-item-headline',
|
|
61
|
-
ITEM_SUPPORTING: 'list-item-supporting',
|
|
62
|
-
ITEM_META: 'list-item-meta',
|
|
63
|
-
ITEM_TRAILING: 'list-item-trailing'
|
|
64
|
-
} as const;
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* List validation schema
|
|
68
|
-
*
|
|
69
|
-
* JSON Schema for validating list configuration options.
|
|
70
|
-
*
|
|
71
|
-
* @internal
|
|
72
|
-
*/
|
|
73
|
-
export const LIST_SCHEMA = {
|
|
74
|
-
type: 'object',
|
|
75
|
-
properties: {
|
|
76
|
-
type: {
|
|
77
|
-
type: 'string',
|
|
78
|
-
enum: Object.values(LIST_TYPES),
|
|
79
|
-
default: LIST_TYPES.DEFAULT
|
|
80
|
-
},
|
|
81
|
-
layout: {
|
|
82
|
-
type: 'string',
|
|
83
|
-
enum: Object.values(LIST_LAYOUTS),
|
|
84
|
-
default: LIST_LAYOUTS.HORIZONTAL
|
|
85
|
-
},
|
|
86
|
-
items: {
|
|
87
|
-
type: 'array',
|
|
88
|
-
items: {
|
|
89
|
-
type: 'object'
|
|
90
|
-
},
|
|
91
|
-
default: []
|
|
92
|
-
},
|
|
93
|
-
groups: {
|
|
94
|
-
type: 'array',
|
|
95
|
-
items: {
|
|
96
|
-
type: 'object',
|
|
97
|
-
properties: {
|
|
98
|
-
id: { type: 'string', required: true },
|
|
99
|
-
title: { type: 'string' },
|
|
100
|
-
items: { type: 'array' }
|
|
101
|
-
}
|
|
102
|
-
},
|
|
103
|
-
optional: true
|
|
104
|
-
},
|
|
105
|
-
sections: {
|
|
106
|
-
type: 'array',
|
|
107
|
-
items: {
|
|
108
|
-
type: 'object',
|
|
109
|
-
properties: {
|
|
110
|
-
id: { type: 'string', required: true },
|
|
111
|
-
title: { type: 'string', required: true },
|
|
112
|
-
items: { type: 'array', required: true }
|
|
113
|
-
}
|
|
114
|
-
},
|
|
115
|
-
optional: true
|
|
116
|
-
},
|
|
117
|
-
disabled: {
|
|
118
|
-
type: 'boolean',
|
|
119
|
-
default: false
|
|
120
|
-
},
|
|
121
|
-
class: {
|
|
122
|
-
type: 'string',
|
|
123
|
-
optional: true
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
} as const;
|
|
127
|
-
|
|
128
|
-
/**
|
|
129
|
-
* List item states
|
|
130
|
-
*
|
|
131
|
-
* Visual states that list items can have.
|
|
132
|
-
*
|
|
133
|
-
* @category Components
|
|
134
|
-
*/
|
|
135
|
-
export const LIST_ITEM_STATES = {
|
|
136
|
-
SELECTED: 'selected',
|
|
137
|
-
DISABLED: 'disabled',
|
|
138
|
-
FOCUSED: 'focused',
|
|
139
|
-
HOVERED: 'hovered'
|
|
140
|
-
} as const;
|
|
141
|
-
|
|
142
|
-
/**
|
|
143
|
-
* List type variants
|
|
144
|
-
* @category Components
|
|
145
|
-
*/
|
|
146
|
-
export type ListType = 'default' | 'single' | 'multi' | 'radio';
|
|
147
|
-
|
|
148
|
-
/**
|
|
149
|
-
* List layout variants
|
|
150
|
-
* @category Components
|
|
151
|
-
*/
|
|
152
|
-
export type ListLayout = 'horizontal' | 'vertical';
|
|
153
|
-
|
|
154
|
-
/**
|
|
155
|
-
* List item layout variants
|
|
156
|
-
* @category Components
|
|
157
|
-
*/
|
|
158
|
-
export type ListItemLayout = 'horizontal' | 'vertical';
|
|
159
|
-
|
|
160
|
-
/**
|
|
161
|
-
* List element class names
|
|
162
|
-
* @internal
|
|
163
|
-
*/
|
|
164
|
-
export interface ListClasses {
|
|
165
|
-
ROOT: string;
|
|
166
|
-
GROUP: string;
|
|
167
|
-
GROUP_TITLE: string;
|
|
168
|
-
DIVIDER: string;
|
|
169
|
-
SECTION: string;
|
|
170
|
-
SECTION_TITLE: string;
|
|
171
|
-
ITEM: string;
|
|
172
|
-
ITEM_CONTENT: string;
|
|
173
|
-
ITEM_LEADING: string;
|
|
174
|
-
ITEM_TEXT: string;
|
|
175
|
-
ITEM_OVERLINE: string;
|
|
176
|
-
ITEM_HEADLINE: string;
|
|
177
|
-
ITEM_SUPPORTING: string;
|
|
178
|
-
ITEM_META: string;
|
|
179
|
-
ITEM_TRAILING: string;
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
/**
|
|
183
|
-
* List item states
|
|
184
|
-
* @internal
|
|
185
|
-
*/
|
|
186
|
-
export type ListItemState = 'selected' | 'disabled' | 'focused' | 'hovered';
|
|
187
|
-
|
|
188
|
-
/**
|
|
189
|
-
* List item configuration
|
|
190
|
-
*
|
|
191
|
-
* Configuration options for creating a list item with customizable content
|
|
192
|
-
* and appearance following Material Design 3 guidelines.
|
|
193
|
-
*
|
|
194
|
-
* @category Components
|
|
195
|
-
*/
|
|
196
|
-
export interface ListItemConfig {
|
|
197
|
-
/** Unique identifier for the item */
|
|
198
|
-
id: string;
|
|
199
|
-
|
|
200
|
-
/** Item layout (horizontal/vertical) */
|
|
201
|
-
layout?: ListLayout | string;
|
|
202
|
-
|
|
203
|
-
/** Leading content (icon/avatar) */
|
|
204
|
-
leading?: string | HTMLElement;
|
|
205
|
-
|
|
206
|
-
/** Primary text */
|
|
207
|
-
headline?: string;
|
|
208
|
-
|
|
209
|
-
/** Secondary text */
|
|
210
|
-
supportingText?: string;
|
|
211
|
-
|
|
212
|
-
/** Trailing content (icon/meta) */
|
|
213
|
-
trailing?: string | HTMLElement;
|
|
214
|
-
|
|
215
|
-
/** Text above headline (vertical only) */
|
|
216
|
-
overline?: string;
|
|
217
|
-
|
|
218
|
-
/** Meta information (vertical only) */
|
|
219
|
-
meta?: string | HTMLElement;
|
|
220
|
-
|
|
221
|
-
/** Whether the item is disabled */
|
|
222
|
-
disabled?: boolean;
|
|
223
|
-
|
|
224
|
-
/** Whether the item is selected */
|
|
225
|
-
selected?: boolean;
|
|
226
|
-
|
|
227
|
-
/** Additional CSS classes */
|
|
228
|
-
class?: string;
|
|
229
|
-
|
|
230
|
-
/** ARIA role */
|
|
231
|
-
role?: string;
|
|
232
|
-
|
|
233
|
-
/** Whether this is a divider instead of an item */
|
|
234
|
-
divider?: boolean;
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
/**
|
|
238
|
-
* List section configuration
|
|
239
|
-
*
|
|
240
|
-
* Configuration for a list section, which groups items under a title.
|
|
241
|
-
* Sections help organize list content into logical groups.
|
|
242
|
-
*
|
|
243
|
-
* @category Components
|
|
244
|
-
*/
|
|
245
|
-
export interface ListSectionConfig {
|
|
246
|
-
/** Unique identifier for the section */
|
|
247
|
-
id: string;
|
|
248
|
-
|
|
249
|
-
/** Section title text */
|
|
250
|
-
title: string;
|
|
251
|
-
|
|
252
|
-
/** Items in this section */
|
|
253
|
-
items: ListItemConfig[];
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
/**
|
|
257
|
-
* Selection change event data
|
|
258
|
-
*
|
|
259
|
-
* Data structure provided with selectionChange events
|
|
260
|
-
* when list items are selected or deselected.
|
|
261
|
-
*
|
|
262
|
-
* @category Components
|
|
263
|
-
*/
|
|
264
|
-
export interface SelectionChangeEvent {
|
|
265
|
-
/** Array of selected item IDs */
|
|
266
|
-
selected: string[];
|
|
267
|
-
|
|
268
|
-
/** The item that was clicked */
|
|
269
|
-
item?: ListItemData;
|
|
270
|
-
|
|
271
|
-
/** List selection type */
|
|
272
|
-
type: ListType | string;
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
/**
|
|
276
|
-
* List item data
|
|
277
|
-
*
|
|
278
|
-
* Internal data structure for tracking list items and their state.
|
|
279
|
-
*
|
|
280
|
-
* @internal
|
|
281
|
-
*/
|
|
282
|
-
export interface ListItemData {
|
|
283
|
-
/** The item's DOM element */
|
|
284
|
-
element: HTMLElement;
|
|
285
|
-
|
|
286
|
-
/** Whether the item is disabled */
|
|
287
|
-
disabled?: boolean;
|
|
288
|
-
|
|
289
|
-
/** Internal properties */
|
|
290
|
-
[key: string]: any;
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
/**
|
|
294
|
-
* Configuration interface for the List component
|
|
295
|
-
*
|
|
296
|
-
* Comprehensive options for creating and customizing a List
|
|
297
|
-
* according to Material Design 3 guidelines.
|
|
298
|
-
*
|
|
299
|
-
* @category Components
|
|
300
|
-
*/
|
|
301
|
-
export interface ListConfig {
|
|
302
|
-
/** List selection type */
|
|
303
|
-
type?: ListType | string;
|
|
304
|
-
|
|
305
|
-
/** List layout */
|
|
306
|
-
layout?: ListLayout | string;
|
|
307
|
-
|
|
308
|
-
/** List items */
|
|
309
|
-
items?: ListItemConfig[];
|
|
310
|
-
|
|
311
|
-
/** List sections */
|
|
312
|
-
sections?: ListSectionConfig[];
|
|
313
|
-
|
|
314
|
-
/** Whether the list is disabled */
|
|
315
|
-
disabled?: boolean;
|
|
316
|
-
|
|
317
|
-
/** Additional CSS classes */
|
|
318
|
-
class?: string;
|
|
319
|
-
|
|
320
|
-
/** Prefix for class names */
|
|
321
|
-
prefix?: string;
|
|
322
|
-
|
|
323
|
-
/** Component name */
|
|
324
|
-
componentName?: string;
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
/**
|
|
328
|
-
* List component interface
|
|
329
|
-
*
|
|
330
|
-
* Public API for the List component, providing methods for
|
|
331
|
-
* item management, selection handling, and event management.
|
|
332
|
-
*
|
|
333
|
-
* @category Components
|
|
334
|
-
*/
|
|
335
|
-
export interface ListComponent {
|
|
336
|
-
/** The root element of the list */
|
|
337
|
-
element: HTMLElement;
|
|
338
|
-
|
|
339
|
-
/** Map of list items */
|
|
340
|
-
items: Map<string, ListItemData>;
|
|
341
|
-
|
|
342
|
-
/** Set of selected item IDs */
|
|
343
|
-
selectedItems: Set<string>;
|
|
344
|
-
|
|
345
|
-
/** Gets the currently selected items */
|
|
346
|
-
getSelected: () => string[];
|
|
347
|
-
|
|
348
|
-
/** Sets the selected items */
|
|
349
|
-
setSelected: (ids: string[]) => void;
|
|
350
|
-
|
|
351
|
-
/** Adds a new item to the list */
|
|
352
|
-
addItem: (itemConfig: ListItemConfig) => void;
|
|
353
|
-
|
|
354
|
-
/** Removes an item from the list */
|
|
355
|
-
removeItem: (id: string) => void;
|
|
356
|
-
|
|
357
|
-
/** Adds event listener */
|
|
358
|
-
on: (event: string, handler: Function) => ListComponent;
|
|
359
|
-
|
|
360
|
-
/** Removes event listener */
|
|
361
|
-
off: (event: string, handler: Function) => ListComponent;
|
|
362
|
-
|
|
363
|
-
/** Enables the list */
|
|
364
|
-
enable: () => ListComponent;
|
|
365
|
-
|
|
366
|
-
/** Disables the list */
|
|
367
|
-
disable: () => ListComponent;
|
|
368
|
-
|
|
369
|
-
/** Destroys the list component and cleans up resources */
|
|
370
|
-
destroy: () => void;
|
|
371
|
-
}
|
|
372
|
-
|
|
373
|
-
/**
|
|
374
|
-
* Base component interface
|
|
375
|
-
*
|
|
376
|
-
* Internal interface for component composition in the List component.
|
|
377
|
-
*
|
|
378
|
-
* @internal
|
|
379
|
-
*/
|
|
380
|
-
export interface BaseComponent {
|
|
381
|
-
element: HTMLElement;
|
|
382
|
-
prefix?: string;
|
|
383
|
-
items?: Map<string, ListItemData>;
|
|
384
|
-
selectedItems?: Set<string>;
|
|
385
|
-
emit?: (event: string, data: any) => void;
|
|
386
|
-
on?: (event: string, handler: Function) => any;
|
|
387
|
-
off?: (event: string, handler: Function) => any;
|
|
388
|
-
lifecycle?: {
|
|
389
|
-
destroy: () => void;
|
|
390
|
-
};
|
|
391
|
-
disabled?: {
|
|
392
|
-
enable: () => any;
|
|
393
|
-
disable: () => any;
|
|
394
|
-
};
|
|
395
|
-
[key: string]: any;
|
|
396
|
-
}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
// src/components/list/utils.ts
|
|
2
|
-
|
|
3
|
-
// List element class names as strings for internal use
|
|
4
|
-
const LIST_CLASS_NAMES = {
|
|
5
|
-
ROOT: 'list',
|
|
6
|
-
GROUP: 'list-group',
|
|
7
|
-
GROUP_TITLE: 'list-group-title',
|
|
8
|
-
DIVIDER: 'list-divider',
|
|
9
|
-
SECTION: 'list-section',
|
|
10
|
-
SECTION_TITLE: 'list-section-title',
|
|
11
|
-
ITEM: 'list-item',
|
|
12
|
-
ITEM_CONTENT: 'list-item-content',
|
|
13
|
-
ITEM_LEADING: 'list-item-leading',
|
|
14
|
-
ITEM_TEXT: 'list-item-text',
|
|
15
|
-
ITEM_OVERLINE: 'list-item-overline',
|
|
16
|
-
ITEM_HEADLINE: 'list-item-headline',
|
|
17
|
-
ITEM_SUPPORTING: 'list-item-supporting',
|
|
18
|
-
ITEM_META: 'list-item-meta',
|
|
19
|
-
ITEM_TRAILING: 'list-item-trailing'
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Creates a divider element for lists
|
|
24
|
-
*
|
|
25
|
-
* Creates a horizontal divider that can be used to separate list items
|
|
26
|
-
* following Material Design 3 guidelines.
|
|
27
|
-
*
|
|
28
|
-
* @param {string} prefix - CSS class prefix
|
|
29
|
-
* @returns {HTMLElement} Divider element
|
|
30
|
-
*
|
|
31
|
-
* @internal
|
|
32
|
-
*/
|
|
33
|
-
export const createDivider = (prefix: string): HTMLElement => {
|
|
34
|
-
const divider = document.createElement('div');
|
|
35
|
-
divider.className = `${prefix}-${LIST_CLASS_NAMES.DIVIDER}`;
|
|
36
|
-
divider.setAttribute('role', 'separator');
|
|
37
|
-
return divider;
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Creates a section title element for lists
|
|
42
|
-
*
|
|
43
|
-
* Creates a section header element used to group list items into logical sections
|
|
44
|
-
* following Material Design 3 guidelines for list organization.
|
|
45
|
-
*
|
|
46
|
-
* @param {string} title - Section title text
|
|
47
|
-
* @param {string} prefix - CSS class prefix
|
|
48
|
-
* @returns {HTMLElement} Section title element
|
|
49
|
-
*
|
|
50
|
-
* @internal
|
|
51
|
-
*/
|
|
52
|
-
export const createSectionTitle = (title: string, prefix: string): HTMLElement => {
|
|
53
|
-
const titleEl = document.createElement('div');
|
|
54
|
-
titleEl.className = `${prefix}-${LIST_CLASS_NAMES.SECTION_TITLE}`;
|
|
55
|
-
titleEl.textContent = title;
|
|
56
|
-
return titleEl;
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Creates a DOM element with optional class and content
|
|
61
|
-
*
|
|
62
|
-
* Utility function for creating DOM elements with proper class names and content
|
|
63
|
-
* for list items and their sub-elements.
|
|
64
|
-
*
|
|
65
|
-
* @param {string} tag - HTML tag name
|
|
66
|
-
* @param {string} className - CSS class name
|
|
67
|
-
* @param {string|HTMLElement} [content] - Element content or child element
|
|
68
|
-
* @returns {HTMLElement} Created element
|
|
69
|
-
*
|
|
70
|
-
* @internal
|
|
71
|
-
*/
|
|
72
|
-
export const createElement = (tag: string, className: string, content?: string | HTMLElement): HTMLElement => {
|
|
73
|
-
const element = document.createElement(tag);
|
|
74
|
-
element.className = className;
|
|
75
|
-
if (content) {
|
|
76
|
-
if (typeof content === 'string') {
|
|
77
|
-
element.textContent = content;
|
|
78
|
-
} else {
|
|
79
|
-
element.appendChild(content);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
return element;
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* Gets the class name for a list element
|
|
87
|
-
*
|
|
88
|
-
* Retrieves the standard class name for list elements from a consistent
|
|
89
|
-
* centralized naming scheme.
|
|
90
|
-
*
|
|
91
|
-
* @param {string} element - Element name
|
|
92
|
-
* @returns {string} The class name string
|
|
93
|
-
*
|
|
94
|
-
* @internal
|
|
95
|
-
*/
|
|
96
|
-
export const getListClass = (element: keyof typeof LIST_CLASS_NAMES): string => {
|
|
97
|
-
return LIST_CLASS_NAMES[element];
|
|
98
|
-
};
|
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
// src/components/menu/api.ts
|
|
2
|
-
|
|
3
|
-
import { MenuComponent, MenuContent, MenuPosition, MenuEvent, MenuSelectEvent } from './types';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* API configuration options for menu component
|
|
7
|
-
* @category Components
|
|
8
|
-
* @internal
|
|
9
|
-
*/
|
|
10
|
-
interface ApiOptions {
|
|
11
|
-
menu: {
|
|
12
|
-
open: (event?: Event, interactionType?: 'mouse' | 'keyboard') => any;
|
|
13
|
-
close: (event?: Event, restoreFocus?: boolean, skipAnimation?: boolean) => any;
|
|
14
|
-
toggle: (event?: Event, interactionType?: 'mouse' | 'keyboard') => any;
|
|
15
|
-
isOpen: () => boolean;
|
|
16
|
-
setItems: (items: MenuContent[]) => any;
|
|
17
|
-
getItems: () => MenuContent[];
|
|
18
|
-
setPosition: (position: MenuPosition) => any;
|
|
19
|
-
getPosition: () => MenuPosition;
|
|
20
|
-
setSelected: (itemId: string) => any;
|
|
21
|
-
getSelected: () => string | null;
|
|
22
|
-
};
|
|
23
|
-
anchor: {
|
|
24
|
-
setAnchor: (anchor: HTMLElement | string) => any;
|
|
25
|
-
getAnchor: () => HTMLElement;
|
|
26
|
-
};
|
|
27
|
-
events?: {
|
|
28
|
-
on: <T extends string>(event: T, handler: (event: any) => void) => any;
|
|
29
|
-
off: <T extends string>(event: T, handler: (event: any) => void) => any;
|
|
30
|
-
};
|
|
31
|
-
lifecycle: {
|
|
32
|
-
destroy: () => void;
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Component with required elements and methods for API enhancement
|
|
38
|
-
* @category Components
|
|
39
|
-
* @internal
|
|
40
|
-
*/
|
|
41
|
-
interface ComponentWithElements {
|
|
42
|
-
element: HTMLElement;
|
|
43
|
-
on?: <T extends string>(event: T, handler: (event: any) => void) => any;
|
|
44
|
-
off?: <T extends string>(event: T, handler: (event: any) => void) => any;
|
|
45
|
-
emit?: (event: string, data: any) => void;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Enhances a menu component with API methods.
|
|
50
|
-
* This follows the higher-order function pattern to add public API methods
|
|
51
|
-
* to the component, making them available to the end user.
|
|
52
|
-
*
|
|
53
|
-
* @param {ApiOptions} options - API configuration options
|
|
54
|
-
* @returns {Function} Higher-order function that adds API methods to component
|
|
55
|
-
* @category Components
|
|
56
|
-
* @internal This is an internal utility for the Menu component
|
|
57
|
-
*/
|
|
58
|
-
const withAPI = ({ menu, anchor, events, lifecycle }: ApiOptions) =>
|
|
59
|
-
(component: ComponentWithElements): MenuComponent => ({
|
|
60
|
-
...component as any,
|
|
61
|
-
element: component.element,
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Opens the menu
|
|
66
|
-
* @param event - Optional event that triggered the open
|
|
67
|
-
* @param interactionType - The type of interaction that triggered the open ('mouse' or 'keyboard')
|
|
68
|
-
* @returns Menu component for chaining
|
|
69
|
-
*/
|
|
70
|
-
open(event?: Event, interactionType: 'mouse' | 'keyboard' = 'mouse') {
|
|
71
|
-
// Determine interaction type from event if not explicitly provided
|
|
72
|
-
if (event && !interactionType) {
|
|
73
|
-
if (event instanceof KeyboardEvent) {
|
|
74
|
-
interactionType = 'keyboard';
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
menu.open(event, interactionType);
|
|
79
|
-
return this;
|
|
80
|
-
},
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* Closes the menu
|
|
84
|
-
* @param event - Optional event that triggered the close
|
|
85
|
-
* @returns Menu component for chaining
|
|
86
|
-
*/
|
|
87
|
-
close(event?: Event, restoreFocus: boolean = true, skipAnimation: boolean = false) {
|
|
88
|
-
menu.close(event, restoreFocus, skipAnimation);
|
|
89
|
-
return this;
|
|
90
|
-
},
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* Toggles the menu's open state
|
|
94
|
-
* @param event - Optional event that triggered the toggle
|
|
95
|
-
* @param interactionType - The type of interaction that triggered the toggle
|
|
96
|
-
* @returns Menu component for chaining
|
|
97
|
-
*/
|
|
98
|
-
toggle(event?: Event, interactionType?: 'mouse' | 'keyboard') {
|
|
99
|
-
// Determine interaction type from event if not explicitly provided
|
|
100
|
-
if (event && !interactionType) {
|
|
101
|
-
if (event instanceof KeyboardEvent) {
|
|
102
|
-
interactionType = 'keyboard';
|
|
103
|
-
} else if (event instanceof MouseEvent) {
|
|
104
|
-
interactionType = 'mouse';
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
menu.toggle(event, interactionType);
|
|
109
|
-
return this;
|
|
110
|
-
},
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* Checks if the menu is currently open
|
|
114
|
-
* @returns True if the menu is open
|
|
115
|
-
*/
|
|
116
|
-
isOpen() {
|
|
117
|
-
return menu.isOpen();
|
|
118
|
-
},
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* Updates the menu items
|
|
122
|
-
* @param items - New array of menu items and dividers
|
|
123
|
-
* @returns Menu component for chaining
|
|
124
|
-
*/
|
|
125
|
-
setItems(items: MenuContent[]) {
|
|
126
|
-
menu.setItems(items);
|
|
127
|
-
return this;
|
|
128
|
-
},
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* Gets the current menu items
|
|
132
|
-
* @returns Array of current menu items and dividers
|
|
133
|
-
*/
|
|
134
|
-
getItems() {
|
|
135
|
-
return menu.getItems();
|
|
136
|
-
},
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
* Updates the menu's anchor element
|
|
140
|
-
* @param anchorElement - New anchor element or selector
|
|
141
|
-
* @returns Menu component for chaining
|
|
142
|
-
*/
|
|
143
|
-
setAnchor(anchorElement: HTMLElement | string) {
|
|
144
|
-
anchor.setAnchor(anchorElement);
|
|
145
|
-
return this;
|
|
146
|
-
},
|
|
147
|
-
|
|
148
|
-
/**
|
|
149
|
-
* Gets the current anchor element
|
|
150
|
-
* @returns Current anchor element
|
|
151
|
-
*/
|
|
152
|
-
getAnchor() {
|
|
153
|
-
return anchor.getAnchor();
|
|
154
|
-
},
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* Updates the menu's position
|
|
158
|
-
* @param position - New position value
|
|
159
|
-
* @returns Menu component for chaining
|
|
160
|
-
*/
|
|
161
|
-
setPosition(position: MenuPosition) {
|
|
162
|
-
menu.setPosition(position);
|
|
163
|
-
return this;
|
|
164
|
-
},
|
|
165
|
-
|
|
166
|
-
/**
|
|
167
|
-
* Gets the current menu position
|
|
168
|
-
* @returns Current position
|
|
169
|
-
*/
|
|
170
|
-
getPosition() {
|
|
171
|
-
return menu.getPosition();
|
|
172
|
-
},
|
|
173
|
-
|
|
174
|
-
/**
|
|
175
|
-
* Sets the selected menu item
|
|
176
|
-
* @param itemId - ID of the menu item to mark as selected
|
|
177
|
-
* @returns Menu component for chaining
|
|
178
|
-
*/
|
|
179
|
-
setSelected(itemId: string) {
|
|
180
|
-
menu.setSelected(itemId);
|
|
181
|
-
return this;
|
|
182
|
-
},
|
|
183
|
-
|
|
184
|
-
/**
|
|
185
|
-
* Gets the currently selected menu item's ID
|
|
186
|
-
* @returns ID of the selected menu item or null if none is selected
|
|
187
|
-
*/
|
|
188
|
-
getSelected() {
|
|
189
|
-
return menu.getSelected();
|
|
190
|
-
},
|
|
191
|
-
|
|
192
|
-
/**
|
|
193
|
-
* Adds an event listener to the menu
|
|
194
|
-
* @param event - Event name ('open', 'close', 'select')
|
|
195
|
-
* @param handler - Event handler function
|
|
196
|
-
* @returns Menu component for chaining
|
|
197
|
-
*/
|
|
198
|
-
on(event, handler) {
|
|
199
|
-
if (events?.on) {
|
|
200
|
-
events.on(event, handler);
|
|
201
|
-
} else if (component.on) {
|
|
202
|
-
component.on(event, handler);
|
|
203
|
-
}
|
|
204
|
-
return this;
|
|
205
|
-
},
|
|
206
|
-
|
|
207
|
-
/**
|
|
208
|
-
* Removes an event listener from the menu
|
|
209
|
-
* @param event - Event name
|
|
210
|
-
* @param handler - Event handler function
|
|
211
|
-
* @returns Menu component for chaining
|
|
212
|
-
*/
|
|
213
|
-
off(event, handler) {
|
|
214
|
-
if (events?.off) {
|
|
215
|
-
events.off(event, handler);
|
|
216
|
-
} else if (component.off) {
|
|
217
|
-
component.off(event, handler);
|
|
218
|
-
}
|
|
219
|
-
return this;
|
|
220
|
-
},
|
|
221
|
-
|
|
222
|
-
/**
|
|
223
|
-
* Destroys the menu component and cleans up resources
|
|
224
|
-
*/
|
|
225
|
-
destroy() {
|
|
226
|
-
lifecycle.destroy();
|
|
227
|
-
}
|
|
228
|
-
});
|
|
229
|
-
|
|
230
|
-
export { withAPI };
|