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,155 +0,0 @@
|
|
|
1
|
-
// src/core/compose/features/checkable.ts
|
|
2
|
-
|
|
3
|
-
import { BaseComponent } from '../component';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Configuration for checkable feature
|
|
7
|
-
*/
|
|
8
|
-
export interface CheckableConfig {
|
|
9
|
-
checked?: boolean;
|
|
10
|
-
[key: string]: any;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Component with input element
|
|
15
|
-
*/
|
|
16
|
-
export interface InputComponent extends BaseComponent {
|
|
17
|
-
input: HTMLInputElement;
|
|
18
|
-
emit?: (event: string, data: any) => InputComponent;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Checkable state manager interface
|
|
23
|
-
*/
|
|
24
|
-
export interface CheckableManager {
|
|
25
|
-
/**
|
|
26
|
-
* Sets the checked state to true
|
|
27
|
-
* Emits change event if state changes
|
|
28
|
-
* @returns CheckableManager instance for chaining
|
|
29
|
-
*/
|
|
30
|
-
check: () => CheckableManager;
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Sets the checked state to false
|
|
34
|
-
* Emits change event if state changes
|
|
35
|
-
* @returns CheckableManager instance for chaining
|
|
36
|
-
*/
|
|
37
|
-
uncheck: () => CheckableManager;
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Toggles the current checked state
|
|
41
|
-
* Always emits change event
|
|
42
|
-
* @returns CheckableManager instance for chaining
|
|
43
|
-
*/
|
|
44
|
-
toggle: () => CheckableManager;
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Gets the current checked state
|
|
48
|
-
* @returns Whether component is checked
|
|
49
|
-
*/
|
|
50
|
-
isChecked: () => boolean;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Component with checkable capabilities
|
|
55
|
-
*/
|
|
56
|
-
export interface CheckableComponent extends BaseComponent {
|
|
57
|
-
checkable: CheckableManager;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Adds checked state management to a component with an input
|
|
62
|
-
* Manages visual state and event emission for checked changes
|
|
63
|
-
*
|
|
64
|
-
* @param config - Checkable configuration
|
|
65
|
-
* @returns Function that enhances a component with checkable functionality
|
|
66
|
-
*/
|
|
67
|
-
export const withCheckable = <T extends CheckableConfig>(config: T = {} as T) =>
|
|
68
|
-
<C extends InputComponent>(component: C): C & CheckableComponent => {
|
|
69
|
-
if (!component.input) return component as C & CheckableComponent;
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Updates component classes to reflect checked state
|
|
73
|
-
*/
|
|
74
|
-
const updateStateClasses = (): void => {
|
|
75
|
-
component.element.classList.toggle(
|
|
76
|
-
`${component.getClass('switch')}--checked`,
|
|
77
|
-
component.input.checked
|
|
78
|
-
);
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
// Set initial state
|
|
82
|
-
if (config.checked) {
|
|
83
|
-
component.input.checked = true;
|
|
84
|
-
updateStateClasses();
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
// Update classes whenever checked state changes
|
|
88
|
-
if (component.emit) {
|
|
89
|
-
component.on?.('change', updateStateClasses);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
const checkable: CheckableManager = {
|
|
93
|
-
/**
|
|
94
|
-
* Sets the checked state to true
|
|
95
|
-
* Emits change event if state changes
|
|
96
|
-
* @returns CheckableManager instance for chaining
|
|
97
|
-
*/
|
|
98
|
-
check() {
|
|
99
|
-
if (!component.input.checked) {
|
|
100
|
-
component.input.checked = true;
|
|
101
|
-
updateStateClasses();
|
|
102
|
-
component.emit?.('change', {
|
|
103
|
-
checked: true,
|
|
104
|
-
value: component.input.value
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
return this;
|
|
108
|
-
},
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* Sets the checked state to false
|
|
112
|
-
* Emits change event if state changes
|
|
113
|
-
* @returns CheckableManager instance for chaining
|
|
114
|
-
*/
|
|
115
|
-
uncheck() {
|
|
116
|
-
if (component.input.checked) {
|
|
117
|
-
component.input.checked = false;
|
|
118
|
-
updateStateClasses();
|
|
119
|
-
component.emit?.('change', {
|
|
120
|
-
checked: false,
|
|
121
|
-
value: component.input.value
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
return this;
|
|
125
|
-
},
|
|
126
|
-
|
|
127
|
-
/**
|
|
128
|
-
* Toggles the current checked state
|
|
129
|
-
* Always emits change event
|
|
130
|
-
* @returns CheckableManager instance for chaining
|
|
131
|
-
*/
|
|
132
|
-
toggle() {
|
|
133
|
-
component.input.checked = !component.input.checked;
|
|
134
|
-
updateStateClasses();
|
|
135
|
-
component.emit?.('change', {
|
|
136
|
-
checked: component.input.checked,
|
|
137
|
-
value: component.input.value
|
|
138
|
-
});
|
|
139
|
-
return this;
|
|
140
|
-
},
|
|
141
|
-
|
|
142
|
-
/**
|
|
143
|
-
* Gets the current checked state
|
|
144
|
-
* @returns Whether component is checked
|
|
145
|
-
*/
|
|
146
|
-
isChecked() {
|
|
147
|
-
return component.input.checked;
|
|
148
|
-
}
|
|
149
|
-
};
|
|
150
|
-
|
|
151
|
-
return {
|
|
152
|
-
...component,
|
|
153
|
-
checkable
|
|
154
|
-
};
|
|
155
|
-
};
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
// src/core/compose/features/disabled.ts
|
|
2
|
-
|
|
3
|
-
import { BaseComponent, ElementComponent } from '../component';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Configuration for disabled feature
|
|
7
|
-
*/
|
|
8
|
-
export interface DisabledConfig {
|
|
9
|
-
disabled?: boolean;
|
|
10
|
-
componentName?: string;
|
|
11
|
-
[key: string]: any;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Disabled state manager interface
|
|
16
|
-
*/
|
|
17
|
-
export interface DisabledManager {
|
|
18
|
-
/**
|
|
19
|
-
* Enables the component
|
|
20
|
-
* @returns DisabledManager instance for chaining
|
|
21
|
-
*/
|
|
22
|
-
enable(): DisabledManager;
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Disables the component
|
|
26
|
-
* @returns DisabledManager instance for chaining
|
|
27
|
-
*/
|
|
28
|
-
disable(): DisabledManager;
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Toggles the disabled state
|
|
32
|
-
* @returns DisabledManager instance for chaining
|
|
33
|
-
*/
|
|
34
|
-
toggle(): DisabledManager;
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Checks if the component is disabled
|
|
38
|
-
* @returns true if disabled
|
|
39
|
-
*/
|
|
40
|
-
isDisabled(): boolean;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Component with disabled state capabilities
|
|
45
|
-
*/
|
|
46
|
-
export interface DisabledComponent extends BaseComponent {
|
|
47
|
-
disabled: DisabledManager;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Adds disabled state management to a component
|
|
52
|
-
*
|
|
53
|
-
* @param config - Configuration object
|
|
54
|
-
* @returns Function that enhances a component with disabled state management
|
|
55
|
-
*/
|
|
56
|
-
export const withDisabled = <T extends DisabledConfig>(config: T) =>
|
|
57
|
-
<C extends ElementComponent>(component: C): C & DisabledComponent => {
|
|
58
|
-
// Get the disabled class based on component name
|
|
59
|
-
const disabledClass = `${component.getClass(config.componentName || component.componentName || 'component')}--disabled`;
|
|
60
|
-
|
|
61
|
-
// Directly implement disabled functionality
|
|
62
|
-
const disabled: DisabledManager = {
|
|
63
|
-
enable() {
|
|
64
|
-
component.element.classList.remove(disabledClass);
|
|
65
|
-
if ('input' in component && component.input instanceof HTMLElement) {
|
|
66
|
-
component.input.disabled = false;
|
|
67
|
-
component.input.removeAttribute('disabled');
|
|
68
|
-
} else {
|
|
69
|
-
(component.element as HTMLButtonElement).disabled = false;
|
|
70
|
-
component.element.removeAttribute('disabled');
|
|
71
|
-
}
|
|
72
|
-
return this;
|
|
73
|
-
},
|
|
74
|
-
|
|
75
|
-
disable() {
|
|
76
|
-
component.element.classList.add(disabledClass);
|
|
77
|
-
if ('input' in component && component.input instanceof HTMLElement) {
|
|
78
|
-
component.input.disabled = true;
|
|
79
|
-
component.input.setAttribute('disabled', 'true');
|
|
80
|
-
} else {
|
|
81
|
-
(component.element as HTMLButtonElement).disabled = true;
|
|
82
|
-
component.element.setAttribute('disabled', 'true');
|
|
83
|
-
}
|
|
84
|
-
return this;
|
|
85
|
-
},
|
|
86
|
-
|
|
87
|
-
toggle() {
|
|
88
|
-
if (this.isDisabled()) {
|
|
89
|
-
this.enable();
|
|
90
|
-
} else {
|
|
91
|
-
this.disable();
|
|
92
|
-
}
|
|
93
|
-
return this;
|
|
94
|
-
},
|
|
95
|
-
|
|
96
|
-
isDisabled() {
|
|
97
|
-
if ('input' in component && component.input instanceof HTMLElement) {
|
|
98
|
-
return component.input.disabled;
|
|
99
|
-
}
|
|
100
|
-
return (component.element as HTMLButtonElement).disabled;
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
|
|
104
|
-
// Initialize disabled state if configured
|
|
105
|
-
if (config.disabled) {
|
|
106
|
-
// Use requestAnimationFrame to ensure DOM is ready
|
|
107
|
-
requestAnimationFrame(() => {
|
|
108
|
-
disabled.disable();
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
return {
|
|
113
|
-
...component,
|
|
114
|
-
disabled
|
|
115
|
-
};
|
|
116
|
-
};
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
// src/core/compose/features/events.ts
|
|
2
|
-
/**
|
|
3
|
-
* @module core/compose/features
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import { createEmitter, Emitter } from '../../state/emitter';
|
|
7
|
-
import { BaseComponent } from '../component';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Component with event capabilities
|
|
11
|
-
*/
|
|
12
|
-
export interface EventComponent extends BaseComponent {
|
|
13
|
-
/**
|
|
14
|
-
* Subscribe to an event
|
|
15
|
-
* @param event - Event name
|
|
16
|
-
* @param handler - Event handler
|
|
17
|
-
* @returns Component instance for chaining
|
|
18
|
-
*/
|
|
19
|
-
on(event: string, handler: (...args: any[]) => void): EventComponent;
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Unsubscribe from an event
|
|
23
|
-
* @param event - Event name
|
|
24
|
-
* @param handler - Event handler
|
|
25
|
-
* @returns Component instance for chaining
|
|
26
|
-
*/
|
|
27
|
-
off(event: string, handler: (...args: any[]) => void): EventComponent;
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Emit an event
|
|
31
|
-
* @param event - Event name
|
|
32
|
-
* @param data - Event data
|
|
33
|
-
* @returns Component instance for chaining
|
|
34
|
-
*/
|
|
35
|
-
emit(event: string, data?: any): EventComponent;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Adds event handling capabilities to a component
|
|
40
|
-
* Returns event system ready to use immediately
|
|
41
|
-
*
|
|
42
|
-
* @returns Function that enhances a component with event capabilities
|
|
43
|
-
*/
|
|
44
|
-
export const withEvents = () =>
|
|
45
|
-
<T extends BaseComponent>(component: T): T & EventComponent => {
|
|
46
|
-
const emitter: Emitter = createEmitter();
|
|
47
|
-
|
|
48
|
-
return {
|
|
49
|
-
...component,
|
|
50
|
-
on(event: string, handler: (...args: any[]) => void) {
|
|
51
|
-
emitter.on(event, handler);
|
|
52
|
-
return this;
|
|
53
|
-
},
|
|
54
|
-
|
|
55
|
-
off(event: string, handler: (...args: any[]) => void) {
|
|
56
|
-
emitter.off(event, handler);
|
|
57
|
-
return this;
|
|
58
|
-
},
|
|
59
|
-
|
|
60
|
-
emit(event: string, data?: any) {
|
|
61
|
-
emitter.emit(event, data);
|
|
62
|
-
return this;
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
};
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
// src/core/compose/features/icon.ts
|
|
2
|
-
|
|
3
|
-
import { createIcon, IconManager } from '../../build/icon';
|
|
4
|
-
import { BaseComponent, ElementComponent } from '../component';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Configuration for icon feature
|
|
8
|
-
*/
|
|
9
|
-
export interface IconConfig {
|
|
10
|
-
icon?: string;
|
|
11
|
-
iconPosition?: 'start' | 'end';
|
|
12
|
-
iconSize?: string;
|
|
13
|
-
prefix?: string;
|
|
14
|
-
componentName?: string;
|
|
15
|
-
text?: string;
|
|
16
|
-
[key: string]: any;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Component with icon capabilities
|
|
21
|
-
*/
|
|
22
|
-
export interface IconComponent extends BaseComponent {
|
|
23
|
-
icon: IconManager;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Updates the component's circular style based on content
|
|
28
|
-
* Adds circular class if there's an icon but no text
|
|
29
|
-
*/
|
|
30
|
-
const updateCircularStyle = (component: ElementComponent, config: IconConfig): void => {
|
|
31
|
-
const hasText = config.text;
|
|
32
|
-
const hasIcon = config.icon;
|
|
33
|
-
|
|
34
|
-
const circularClass = `${component.getClass('button')}--circular`;
|
|
35
|
-
if (!hasText && hasIcon) {
|
|
36
|
-
component.element.classList.add(circularClass);
|
|
37
|
-
} else {
|
|
38
|
-
component.element.classList.remove(circularClass);
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Adds icon management to a component
|
|
44
|
-
* @param config - Configuration object containing icon information
|
|
45
|
-
* @returns Function that enhances a component with icon capabilities
|
|
46
|
-
*/
|
|
47
|
-
export const withIcon = <T extends IconConfig>(config: T) =>
|
|
48
|
-
<C extends ElementComponent>(component: C): C & IconComponent => {
|
|
49
|
-
// Create the icon with configuration settings
|
|
50
|
-
const icon = createIcon(component.element, {
|
|
51
|
-
prefix: config.prefix,
|
|
52
|
-
type: config.componentName || 'component',
|
|
53
|
-
position: config.iconPosition,
|
|
54
|
-
iconSize: config.iconSize
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
// Set icon if provided in config
|
|
58
|
-
config.icon && icon.setIcon(config.icon);
|
|
59
|
-
|
|
60
|
-
// Apply button-specific styling if the component is a button
|
|
61
|
-
if (component.componentName === 'button') {
|
|
62
|
-
if (!config.text) {
|
|
63
|
-
updateCircularStyle(component, config);
|
|
64
|
-
} else if (config.icon && config.text) {
|
|
65
|
-
component.element.classList.add(`${component.getClass('button')}--icon`);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
// Return enhanced component with icon capabilities
|
|
70
|
-
return Object.assign(component, { icon });
|
|
71
|
-
};
|
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
// src/core/compose/features/input.ts
|
|
2
|
-
|
|
3
|
-
import { BaseComponent, ElementComponent } from '../component';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Input configuration options
|
|
7
|
-
*/
|
|
8
|
-
export interface InputConfig {
|
|
9
|
-
/**
|
|
10
|
-
* Input name attribute
|
|
11
|
-
*/
|
|
12
|
-
name?: string;
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Initial checked state
|
|
16
|
-
*/
|
|
17
|
-
checked?: boolean;
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Whether input is required
|
|
21
|
-
*/
|
|
22
|
-
required?: boolean;
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Whether input is disabled
|
|
26
|
-
*/
|
|
27
|
-
disabled?: boolean;
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Input value attribute
|
|
31
|
-
*/
|
|
32
|
-
value?: string;
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Accessibility label text
|
|
36
|
-
*/
|
|
37
|
-
label?: string;
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Alternative accessibility label
|
|
41
|
-
*/
|
|
42
|
-
ariaLabel?: string;
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Component name for classes
|
|
46
|
-
*/
|
|
47
|
-
componentName?: string;
|
|
48
|
-
|
|
49
|
-
[key: string]: any;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Component with input element and related methods
|
|
54
|
-
*/
|
|
55
|
-
export interface InputComponent extends ElementComponent {
|
|
56
|
-
/**
|
|
57
|
-
* Input element
|
|
58
|
-
*/
|
|
59
|
-
input: HTMLInputElement;
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Gets the current input value
|
|
63
|
-
* @returns Current value
|
|
64
|
-
*/
|
|
65
|
-
getValue: () => string;
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Sets the input value and emits a value event
|
|
69
|
-
* @param value - New value to set
|
|
70
|
-
* @returns Component instance for chaining
|
|
71
|
-
*/
|
|
72
|
-
setValue: (value: string) => InputComponent;
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* Event emission method if available
|
|
76
|
-
*/
|
|
77
|
-
emit?: (event: string, data: any) => InputComponent;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* Creates an input element and adds it to a component
|
|
82
|
-
* Handles both input creation and event emission for state changes
|
|
83
|
-
*
|
|
84
|
-
* @param config - Input configuration
|
|
85
|
-
* @returns Function that enhances a component with input functionality
|
|
86
|
-
*/
|
|
87
|
-
export const withInput = <T extends InputConfig>(config: T = {} as T) =>
|
|
88
|
-
<C extends ElementComponent>(component: C): C & InputComponent => {
|
|
89
|
-
const input = document.createElement('input');
|
|
90
|
-
const name = component.componentName || 'component';
|
|
91
|
-
input.type = 'checkbox';
|
|
92
|
-
input.className = `${component.getClass(name)}-input`;
|
|
93
|
-
|
|
94
|
-
// Ensure input can receive focus
|
|
95
|
-
input.style.position = 'absolute';
|
|
96
|
-
input.style.opacity = '0';
|
|
97
|
-
input.style.cursor = 'pointer';
|
|
98
|
-
// Don't use display: none or visibility: hidden as they prevent focus
|
|
99
|
-
|
|
100
|
-
// The input itself should be focusable, not the wrapper
|
|
101
|
-
component.element.setAttribute('role', 'presentation');
|
|
102
|
-
input.setAttribute('role', name);
|
|
103
|
-
|
|
104
|
-
const attributes: Record<string, string | boolean | undefined> = {
|
|
105
|
-
name: config.name,
|
|
106
|
-
checked: config.checked,
|
|
107
|
-
required: config.required,
|
|
108
|
-
disabled: config.disabled,
|
|
109
|
-
value: config.value || 'on',
|
|
110
|
-
'aria-label': config.label || config.ariaLabel
|
|
111
|
-
};
|
|
112
|
-
|
|
113
|
-
Object.entries(attributes).forEach(([key, value]) => {
|
|
114
|
-
if (value !== null && value !== undefined) {
|
|
115
|
-
if (key === 'disabled' && value === true) {
|
|
116
|
-
input.disabled = true;
|
|
117
|
-
input.setAttribute('disabled', 'true');
|
|
118
|
-
// Note: We don't add the class here because that's handled by withDisabled
|
|
119
|
-
} else if (value === true) {
|
|
120
|
-
input.setAttribute(key, key);
|
|
121
|
-
} else {
|
|
122
|
-
input.setAttribute(key, String(value));
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
});
|
|
126
|
-
|
|
127
|
-
// Bridge native checkbox events to our event system
|
|
128
|
-
input.addEventListener('change', (event) => {
|
|
129
|
-
if (component.emit) {
|
|
130
|
-
component.emit('change', {
|
|
131
|
-
checked: input.checked,
|
|
132
|
-
value: input.value,
|
|
133
|
-
nativeEvent: event
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
});
|
|
137
|
-
|
|
138
|
-
// Add keyboard handling
|
|
139
|
-
input.addEventListener('keydown', (event) => {
|
|
140
|
-
if (event.key === ' ' || event.key === 'Enter') {
|
|
141
|
-
event.preventDefault();
|
|
142
|
-
if (!input.disabled) {
|
|
143
|
-
input.checked = !input.checked;
|
|
144
|
-
input.dispatchEvent(new Event('change', { bubbles: true }));
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
});
|
|
148
|
-
|
|
149
|
-
component.element.appendChild(input);
|
|
150
|
-
|
|
151
|
-
return {
|
|
152
|
-
...component,
|
|
153
|
-
input,
|
|
154
|
-
|
|
155
|
-
/**
|
|
156
|
-
* Gets the current input value
|
|
157
|
-
* @returns Current value
|
|
158
|
-
*/
|
|
159
|
-
getValue: () => input.value,
|
|
160
|
-
|
|
161
|
-
/**
|
|
162
|
-
* Sets the input value and emits a value event
|
|
163
|
-
* @param value - New value to set
|
|
164
|
-
* @returns Component instance for chaining
|
|
165
|
-
*/
|
|
166
|
-
setValue(value: string) {
|
|
167
|
-
input.value = value;
|
|
168
|
-
if (component.emit) {
|
|
169
|
-
component.emit('value', { value });
|
|
170
|
-
}
|
|
171
|
-
return this;
|
|
172
|
-
}
|
|
173
|
-
};
|
|
174
|
-
};
|