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,84 +0,0 @@
|
|
|
1
|
-
// src/core/layout/result.ts
|
|
2
|
-
/**
|
|
3
|
-
* @module core/layout
|
|
4
|
-
* @description Layout result creation and management
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import { LayoutResult } from './types';
|
|
8
|
-
import { isComponent, flattenLayout } from './utils';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Creates a result object with the layout and utility functions
|
|
12
|
-
*
|
|
13
|
-
* @param layout - The raw layout object
|
|
14
|
-
* @returns Result object with layout and utility functions
|
|
15
|
-
*/
|
|
16
|
-
export function createLayoutResult(layout: Record<string, any>): LayoutResult {
|
|
17
|
-
// Pre-compute flattened layout for better performance
|
|
18
|
-
const flattenedComponents = flattenLayout(layout);
|
|
19
|
-
|
|
20
|
-
// Create the result object with layout correctly exposed
|
|
21
|
-
const result: LayoutResult = {
|
|
22
|
-
// Raw layout object
|
|
23
|
-
layout,
|
|
24
|
-
|
|
25
|
-
// Root element reference for convenience
|
|
26
|
-
element: layout.element,
|
|
27
|
-
|
|
28
|
-
// Flattened component map
|
|
29
|
-
component: flattenedComponents,
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Gets a component by name
|
|
33
|
-
*
|
|
34
|
-
* @param name - Component name
|
|
35
|
-
* @returns Component if found, null otherwise
|
|
36
|
-
*/
|
|
37
|
-
get(name: string): any {
|
|
38
|
-
return layout[name] ?? null;
|
|
39
|
-
},
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Gets all components in a flattened map
|
|
43
|
-
*
|
|
44
|
-
* @returns Object with all components
|
|
45
|
-
*/
|
|
46
|
-
getAll(): Record<string, any> {
|
|
47
|
-
return flattenedComponents;
|
|
48
|
-
},
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Destroys the layout, cleaning up all components
|
|
52
|
-
*/
|
|
53
|
-
destroy(): void {
|
|
54
|
-
// Handle root element
|
|
55
|
-
const root = layout.element;
|
|
56
|
-
if (root) {
|
|
57
|
-
// Component with destroy method
|
|
58
|
-
if (isComponent(root) && typeof root.destroy === 'function') {
|
|
59
|
-
root.destroy();
|
|
60
|
-
}
|
|
61
|
-
// Component without destroy method
|
|
62
|
-
else if (isComponent(root) && root.element?.parentNode) {
|
|
63
|
-
root.element.parentNode.removeChild(root.element);
|
|
64
|
-
}
|
|
65
|
-
// Direct DOM element
|
|
66
|
-
else if (root instanceof HTMLElement && root.parentNode) {
|
|
67
|
-
root.parentNode.removeChild(root);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
// Clean up other components that have a destroy method
|
|
72
|
-
for (const key in layout) {
|
|
73
|
-
if (key === 'element') continue;
|
|
74
|
-
|
|
75
|
-
const item = layout[key];
|
|
76
|
-
if (isComponent(item) && typeof item.destroy === 'function') {
|
|
77
|
-
item.destroy();
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
return result;
|
|
84
|
-
}
|
package/src/core/layout/types.ts
DELETED
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
// src/core/layout/types.ts
|
|
2
|
-
/**
|
|
3
|
-
* @module core/layout
|
|
4
|
-
* @description Type definitions for layout creation system
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Layout configuration options
|
|
9
|
-
*/
|
|
10
|
-
export interface LayoutConfig {
|
|
11
|
-
/** Base layout type */
|
|
12
|
-
type?: 'stack' | 'row' | 'grid' | string;
|
|
13
|
-
|
|
14
|
-
/** Spacing between elements */
|
|
15
|
-
gap?: number | string;
|
|
16
|
-
|
|
17
|
-
/** Additional CSS classes */
|
|
18
|
-
class?: string;
|
|
19
|
-
|
|
20
|
-
/** Alignment of items along the cross axis */
|
|
21
|
-
align?: 'start' | 'center' | 'end' | 'stretch';
|
|
22
|
-
|
|
23
|
-
/** Alignment of items along the main axis */
|
|
24
|
-
justify?: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly';
|
|
25
|
-
|
|
26
|
-
/** Whether and how items should wrap */
|
|
27
|
-
wrap?: boolean | 'reverse' | 'nowrap';
|
|
28
|
-
|
|
29
|
-
/** Whether row items should stack vertically on mobile */
|
|
30
|
-
mobileStack?: boolean;
|
|
31
|
-
|
|
32
|
-
/** Whether row items should scroll horizontally on mobile */
|
|
33
|
-
mobileScroll?: boolean;
|
|
34
|
-
|
|
35
|
-
/** Number of columns or automatic sizing method */
|
|
36
|
-
columns?: number | 'auto-fit' | 'auto-fill';
|
|
37
|
-
|
|
38
|
-
/** Minimum item width for grid layouts */
|
|
39
|
-
minWidth?: string | number;
|
|
40
|
-
|
|
41
|
-
/** Whether to use dense packing algorithm for grid */
|
|
42
|
-
dense?: boolean;
|
|
43
|
-
|
|
44
|
-
/** Whether grid items should adjust height automatically */
|
|
45
|
-
autoHeight?: boolean;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Configuration for individual layout items
|
|
50
|
-
*/
|
|
51
|
-
export interface LayoutItemConfig {
|
|
52
|
-
/** Column width in a 12-column grid */
|
|
53
|
-
width?: number;
|
|
54
|
-
|
|
55
|
-
/** Width on small screens */
|
|
56
|
-
sm?: number;
|
|
57
|
-
|
|
58
|
-
/** Width on medium screens */
|
|
59
|
-
md?: number;
|
|
60
|
-
|
|
61
|
-
/** Width on large screens */
|
|
62
|
-
lg?: number;
|
|
63
|
-
|
|
64
|
-
/** Width on extra-large screens */
|
|
65
|
-
xl?: number;
|
|
66
|
-
|
|
67
|
-
/** Number of grid columns to span */
|
|
68
|
-
span?: number;
|
|
69
|
-
|
|
70
|
-
/** Number of grid rows to span */
|
|
71
|
-
rowSpan?: number;
|
|
72
|
-
|
|
73
|
-
/** Display order */
|
|
74
|
-
order?: number | 'first' | 'last';
|
|
75
|
-
|
|
76
|
-
/** Self-alignment within container */
|
|
77
|
-
align?: 'start' | 'center' | 'end' | 'stretch';
|
|
78
|
-
|
|
79
|
-
/** Whether item should automatically size */
|
|
80
|
-
auto?: boolean;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Interface for component-like objects
|
|
85
|
-
*/
|
|
86
|
-
export interface ComponentLike {
|
|
87
|
-
/** DOM element reference */
|
|
88
|
-
element: HTMLElement;
|
|
89
|
-
|
|
90
|
-
/** Optional method to clean up resources */
|
|
91
|
-
destroy?: () => void;
|
|
92
|
-
|
|
93
|
-
/** Allow additional properties */
|
|
94
|
-
[key: string]: any;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* Extended options for element creation
|
|
99
|
-
*/
|
|
100
|
-
export interface ElementOptions extends Record<string, any> {
|
|
101
|
-
/** Layout configuration for the element */
|
|
102
|
-
layout?: LayoutConfig;
|
|
103
|
-
|
|
104
|
-
/** Layout item configuration */
|
|
105
|
-
layoutItem?: LayoutItemConfig;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* Definition for a single element in the layout
|
|
110
|
-
*/
|
|
111
|
-
export interface ElementDefinition {
|
|
112
|
-
/** Optional name to reference the element */
|
|
113
|
-
name?: string;
|
|
114
|
-
|
|
115
|
-
/** Creator function that produces an HTMLElement or ComponentLike */
|
|
116
|
-
creator?: (options?: Record<string, any>) => HTMLElement | ComponentLike;
|
|
117
|
-
|
|
118
|
-
/** Options to pass to the creator function */
|
|
119
|
-
options?: ElementOptions;
|
|
120
|
-
|
|
121
|
-
/** Child elements to create and attach */
|
|
122
|
-
children?: Record<string, ElementDefinition>;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
/**
|
|
126
|
-
* Schema for layout creation
|
|
127
|
-
*/
|
|
128
|
-
export interface Schema {
|
|
129
|
-
/** Root element definition */
|
|
130
|
-
element?: ElementDefinition;
|
|
131
|
-
|
|
132
|
-
/** Additional elements */
|
|
133
|
-
[key: string]: ElementDefinition | undefined;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* Options for layout creation
|
|
138
|
-
*/
|
|
139
|
-
export interface LayoutOptions {
|
|
140
|
-
/** Default creator function to use if not specified in schema */
|
|
141
|
-
creator?: (options?: Record<string, any>) => HTMLElement | ComponentLike;
|
|
142
|
-
|
|
143
|
-
/** Whether to apply CSS class prefix @default true */
|
|
144
|
-
prefix?: boolean;
|
|
145
|
-
|
|
146
|
-
/** Additional options */
|
|
147
|
-
[key: string]: any;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
/**
|
|
151
|
-
* Result object returned after creating a layout
|
|
152
|
-
*/
|
|
153
|
-
export interface LayoutResult {
|
|
154
|
-
/** The raw layout object with all components */
|
|
155
|
-
layout: Record<string, any>;
|
|
156
|
-
|
|
157
|
-
/** Reference to the root element for convenience */
|
|
158
|
-
element: HTMLElement | ComponentLike;
|
|
159
|
-
|
|
160
|
-
/** Flattened component map */
|
|
161
|
-
component: Record<string, any>;
|
|
162
|
-
|
|
163
|
-
/**
|
|
164
|
-
* Gets a component by name
|
|
165
|
-
* @param name - Component name
|
|
166
|
-
* @returns Component if found, null otherwise
|
|
167
|
-
*/
|
|
168
|
-
get(name: string): any;
|
|
169
|
-
|
|
170
|
-
/**
|
|
171
|
-
* Gets all components in a flattened map
|
|
172
|
-
* @returns Object with all components
|
|
173
|
-
*/
|
|
174
|
-
getAll(): Record<string, any>;
|
|
175
|
-
|
|
176
|
-
/**
|
|
177
|
-
* Destroys the layout, cleaning up all components
|
|
178
|
-
*/
|
|
179
|
-
destroy(): void;
|
|
180
|
-
}
|
package/src/core/layout/utils.ts
DELETED
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
// src/core/layout/utils.ts
|
|
2
|
-
/**
|
|
3
|
-
* @module core/layout
|
|
4
|
-
* @description Utility functions for layout creation
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import { PREFIX } from '../config';
|
|
8
|
-
import { ComponentLike } from './types';
|
|
9
|
-
import { normalizeClasses as normalizeClassesUtil } from '../utils';
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Checks if a value is a component object (has an element property)
|
|
13
|
-
*
|
|
14
|
-
* @param value - Value to check
|
|
15
|
-
* @returns True if the value is a component-like object
|
|
16
|
-
*/
|
|
17
|
-
export function isComponent(value: any): value is ComponentLike {
|
|
18
|
-
return value &&
|
|
19
|
-
typeof value === 'object' &&
|
|
20
|
-
'element' in value;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Creates a document fragment for faster DOM operations
|
|
25
|
-
*
|
|
26
|
-
* @returns New DocumentFragment
|
|
27
|
-
*/
|
|
28
|
-
export function createFragment(): DocumentFragment {
|
|
29
|
-
return document.createDocumentFragment();
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Normalizes class values into an array of strings
|
|
34
|
-
*/
|
|
35
|
-
export function normalizeClasses(...classes: (string | string[])[]): string[] {
|
|
36
|
-
return normalizeClassesUtil(...classes);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
// Constant for prefix with dash
|
|
40
|
-
const PREFIX_WITH_DASH = `${PREFIX}-`;
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Processes className options to add prefix if needed
|
|
44
|
-
*
|
|
45
|
-
* @param options - Element options
|
|
46
|
-
* @param skipPrefix - Whether to skip adding prefixes
|
|
47
|
-
* @param useBEM - Whether to respect BEM naming conventions
|
|
48
|
-
* @returns Updated options with prefixed classNames
|
|
49
|
-
*/
|
|
50
|
-
export function processClassNames(
|
|
51
|
-
options: Record<string, any>,
|
|
52
|
-
skipPrefix: boolean = false,
|
|
53
|
-
useBEM: boolean = false
|
|
54
|
-
): Record<string, any> {
|
|
55
|
-
// Fast path - if no options or skipping prefix, return a new object
|
|
56
|
-
if (!options || skipPrefix) return { ...options };
|
|
57
|
-
|
|
58
|
-
// Avoid unnecessary clone if no class properties exist
|
|
59
|
-
const hasClassProps = options.class || options.className || options.rawClass;
|
|
60
|
-
if (!hasClassProps) return { ...options };
|
|
61
|
-
|
|
62
|
-
// Create clone only once
|
|
63
|
-
const processed = { ...options };
|
|
64
|
-
|
|
65
|
-
// Unify class and className as aliases
|
|
66
|
-
if (processed.className) {
|
|
67
|
-
if (!processed.class) {
|
|
68
|
-
// Simple transfer if only className exists
|
|
69
|
-
processed.class = processed.className;
|
|
70
|
-
} else {
|
|
71
|
-
// Merge if both exist
|
|
72
|
-
const classNames = normalizeClasses([processed.class, processed.className]);
|
|
73
|
-
processed.class = classNames.join(' ');
|
|
74
|
-
}
|
|
75
|
-
// Always remove className after processing
|
|
76
|
-
delete processed.className;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
// Process prefixed classes
|
|
80
|
-
if (processed.class && !skipPrefix) {
|
|
81
|
-
// Handle string format
|
|
82
|
-
if (typeof processed.class === 'string') {
|
|
83
|
-
const classes = processed.class.split(/\s+/).filter(Boolean);
|
|
84
|
-
|
|
85
|
-
if (useBEM) {
|
|
86
|
-
// Handle BEM notation with special prefixing rules
|
|
87
|
-
processed.class = classes.map(cls => {
|
|
88
|
-
if (!cls || cls.startsWith(PREFIX_WITH_DASH)) return cls;
|
|
89
|
-
|
|
90
|
-
if (cls.includes('__')) {
|
|
91
|
-
const [block, element] = cls.split('__');
|
|
92
|
-
return `${PREFIX_WITH_DASH}${block}__${element}`;
|
|
93
|
-
} else if (cls.includes('--')) {
|
|
94
|
-
const [block, modifier] = cls.split('--');
|
|
95
|
-
return `${PREFIX_WITH_DASH}${block}--${modifier}`;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
return `${PREFIX_WITH_DASH}${cls}`;
|
|
99
|
-
}).join(' ');
|
|
100
|
-
} else {
|
|
101
|
-
// Standard prefix handling
|
|
102
|
-
processed.class = classes.map(cls =>
|
|
103
|
-
cls && !cls.startsWith(PREFIX_WITH_DASH) ? `${PREFIX_WITH_DASH}${cls}` : cls
|
|
104
|
-
).filter(Boolean).join(' ');
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
// Handle array format
|
|
108
|
-
else if (Array.isArray(processed.class)) {
|
|
109
|
-
processed.class = processed.class
|
|
110
|
-
.filter(Boolean)
|
|
111
|
-
.map(cls => typeof cls === 'string' && !cls.startsWith(PREFIX_WITH_DASH) ?
|
|
112
|
-
`${PREFIX_WITH_DASH}${cls}` : cls)
|
|
113
|
-
.join(' ');
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
return processed;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* Flattens a nested layout into a simple object with element and component references
|
|
122
|
-
*
|
|
123
|
-
* @param layout - Layout object
|
|
124
|
-
* @returns Flattened layout with all elements and components
|
|
125
|
-
*/
|
|
126
|
-
export function flattenLayout(layout: Record<string, any>): Record<string, any> {
|
|
127
|
-
const flattened: Record<string, any> = {};
|
|
128
|
-
|
|
129
|
-
// Fast path - return empty object for empty layout
|
|
130
|
-
if (!layout || typeof layout !== 'object') return flattened;
|
|
131
|
-
|
|
132
|
-
for (const key in layout) {
|
|
133
|
-
const value = layout[key];
|
|
134
|
-
|
|
135
|
-
// Only include components, elements, and non-functions
|
|
136
|
-
if (value &&
|
|
137
|
-
typeof value !== 'function' &&
|
|
138
|
-
(value instanceof HTMLElement || isComponent(value))) {
|
|
139
|
-
flattened[key] = value;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
return flattened;
|
|
144
|
-
}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
// src/core/state/disabled.ts
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Disabled state manager interface
|
|
5
|
-
*/
|
|
6
|
-
export interface DisabledState {
|
|
7
|
-
/**
|
|
8
|
-
* Enables the element
|
|
9
|
-
* @returns DisabledState instance for chaining
|
|
10
|
-
*/
|
|
11
|
-
enable(): DisabledState;
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Disables the element
|
|
15
|
-
* @returns DisabledState instance for chaining
|
|
16
|
-
*/
|
|
17
|
-
disable(): DisabledState;
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Toggles the disabled state
|
|
21
|
-
* @returns DisabledState instance for chaining
|
|
22
|
-
*/
|
|
23
|
-
toggle(): DisabledState;
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Checks if the element is disabled
|
|
27
|
-
* @returns true if disabled
|
|
28
|
-
*/
|
|
29
|
-
isDisabled(): boolean;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Creates a controller for managing the disabled state of an element
|
|
34
|
-
*
|
|
35
|
-
* @param element - The element to control
|
|
36
|
-
* @returns Disabled state controller
|
|
37
|
-
*/
|
|
38
|
-
export const createDisabled = (element: HTMLElement): DisabledState => {
|
|
39
|
-
return {
|
|
40
|
-
/**
|
|
41
|
-
* Enables the element
|
|
42
|
-
* @returns DisabledState instance for chaining
|
|
43
|
-
*/
|
|
44
|
-
enable() {
|
|
45
|
-
(element as HTMLButtonElement | HTMLInputElement).disabled = false;
|
|
46
|
-
element.removeAttribute('disabled');
|
|
47
|
-
return this;
|
|
48
|
-
},
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Disables the element
|
|
52
|
-
* @returns DisabledState instance for chaining
|
|
53
|
-
*/
|
|
54
|
-
disable() {
|
|
55
|
-
(element as HTMLButtonElement | HTMLInputElement).disabled = true;
|
|
56
|
-
element.setAttribute('disabled', 'true');
|
|
57
|
-
return this;
|
|
58
|
-
},
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Toggles the disabled state
|
|
62
|
-
* @returns DisabledState instance for chaining
|
|
63
|
-
*/
|
|
64
|
-
toggle() {
|
|
65
|
-
if ((element as HTMLButtonElement | HTMLInputElement).disabled) {
|
|
66
|
-
this.enable();
|
|
67
|
-
} else {
|
|
68
|
-
this.disable();
|
|
69
|
-
}
|
|
70
|
-
return this;
|
|
71
|
-
},
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* Checks if the element is disabled
|
|
75
|
-
* @returns true if disabled
|
|
76
|
-
*/
|
|
77
|
-
isDisabled() {
|
|
78
|
-
return (element as HTMLButtonElement | HTMLInputElement).disabled === true;
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
};
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
// src/core/state/emitter.ts
|
|
2
|
-
/**
|
|
3
|
-
* @module core/state
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Type definition for event callback functions
|
|
8
|
-
*/
|
|
9
|
-
export type EventCallback = (...args: any[]) => void;
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Interface for the event emitter
|
|
13
|
-
*/
|
|
14
|
-
export interface Emitter {
|
|
15
|
-
/**
|
|
16
|
-
* Subscribe to an event
|
|
17
|
-
* @param event - Event name
|
|
18
|
-
* @param callback - Event handler
|
|
19
|
-
* @returns Unsubscribe function
|
|
20
|
-
*/
|
|
21
|
-
on(event: string, callback: EventCallback): () => void;
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Unsubscribe from an event
|
|
25
|
-
* @param event - Event name
|
|
26
|
-
* @param callback - Event handler to remove
|
|
27
|
-
*/
|
|
28
|
-
off(event: string, callback: EventCallback): void;
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Emit an event
|
|
32
|
-
* @param event - Event name
|
|
33
|
-
* @param args - Event arguments
|
|
34
|
-
*/
|
|
35
|
-
emit(event: string, ...args: any[]): void;
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Clear all event listeners
|
|
39
|
-
*/
|
|
40
|
-
clear(): void;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Creates an event emitter with subscription management
|
|
45
|
-
* @returns Event emitter interface
|
|
46
|
-
*/
|
|
47
|
-
export const createEmitter = (): Emitter => {
|
|
48
|
-
const events = new Map<string, EventCallback[]>();
|
|
49
|
-
|
|
50
|
-
return {
|
|
51
|
-
/**
|
|
52
|
-
* Subscribe to an event
|
|
53
|
-
* @param event - Event name
|
|
54
|
-
* @param callback - Event handler
|
|
55
|
-
* @returns Unsubscribe function
|
|
56
|
-
*/
|
|
57
|
-
on: (event: string, callback: EventCallback): (() => void) => {
|
|
58
|
-
const callbacks = events.get(event) || [];
|
|
59
|
-
events.set(event, [...callbacks, callback]);
|
|
60
|
-
|
|
61
|
-
return () => {
|
|
62
|
-
const callbacks = events.get(event) || [];
|
|
63
|
-
events.set(event, callbacks.filter(cb => cb !== callback));
|
|
64
|
-
};
|
|
65
|
-
},
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Unsubscribe from an event
|
|
69
|
-
* @param event - Event name
|
|
70
|
-
* @param callback - Event handler to remove
|
|
71
|
-
*/
|
|
72
|
-
off(event: string, callback: EventCallback): void {
|
|
73
|
-
const callbacks = events.get(event) || [];
|
|
74
|
-
events.set(event, callbacks.filter(cb => cb !== callback));
|
|
75
|
-
},
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* Emit an event
|
|
79
|
-
* @param event - Event name
|
|
80
|
-
* @param args - Event arguments
|
|
81
|
-
*/
|
|
82
|
-
emit: (event: string, ...args: any[]): void => {
|
|
83
|
-
const callbacks = events.get(event) || [];
|
|
84
|
-
callbacks.forEach(cb => cb(...args));
|
|
85
|
-
},
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* Clear all event listeners
|
|
89
|
-
*/
|
|
90
|
-
clear: (): void => {
|
|
91
|
-
events.clear();
|
|
92
|
-
}
|
|
93
|
-
};
|
|
94
|
-
};
|
package/src/core/state/events.ts
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
// src/core/state/events.ts
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Event manager interface for handling component events
|
|
5
|
-
*/
|
|
6
|
-
export interface EventManagerState {
|
|
7
|
-
/**
|
|
8
|
-
* Adds an event listener
|
|
9
|
-
* @param event - Event name
|
|
10
|
-
* @param handler - Event handler
|
|
11
|
-
* @returns EventManagerState instance for chaining
|
|
12
|
-
*/
|
|
13
|
-
on: (event: string, handler: (...args: any[]) => void) => EventManagerState;
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Removes an event listener
|
|
17
|
-
* @param event - Event name
|
|
18
|
-
* @param handler - Event handler
|
|
19
|
-
* @returns EventManagerState instance for chaining
|
|
20
|
-
*/
|
|
21
|
-
off: (event: string, handler: (...args: any[]) => void) => EventManagerState;
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Removes all event listeners and cleans up
|
|
25
|
-
*/
|
|
26
|
-
destroy: () => void;
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Gets all active handlers
|
|
30
|
-
* @returns Map of event names to handlers
|
|
31
|
-
*/
|
|
32
|
-
getHandlers: () => Map<(...args: any[]) => void, string>;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Creates an event manager for a component
|
|
37
|
-
* Simple event handling mechanism for components
|
|
38
|
-
*
|
|
39
|
-
* @param element - Component's DOM element
|
|
40
|
-
* @returns Event manager interface
|
|
41
|
-
*/
|
|
42
|
-
export const createEventManager = (element: HTMLElement): EventManagerState => {
|
|
43
|
-
const handlers = new Map<(...args: any[]) => void, string>();
|
|
44
|
-
|
|
45
|
-
return {
|
|
46
|
-
/**
|
|
47
|
-
* Adds an event listener
|
|
48
|
-
* @param event - Event name
|
|
49
|
-
* @param handler - Event handler
|
|
50
|
-
* @returns EventManagerState instance for chaining
|
|
51
|
-
*/
|
|
52
|
-
on(event: string, handler: (...args: any[]) => void): EventManagerState {
|
|
53
|
-
element.addEventListener(event, handler as EventListener);
|
|
54
|
-
handlers.set(handler, event);
|
|
55
|
-
return this;
|
|
56
|
-
},
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Removes an event listener
|
|
60
|
-
* @param event - Event name
|
|
61
|
-
* @param handler - Event handler
|
|
62
|
-
* @returns EventManagerState instance for chaining
|
|
63
|
-
*/
|
|
64
|
-
off(event: string, handler: (...args: any[]) => void): EventManagerState {
|
|
65
|
-
element.removeEventListener(event, handler as EventListener);
|
|
66
|
-
handlers.delete(handler);
|
|
67
|
-
return this;
|
|
68
|
-
},
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Removes all event listeners and cleans up
|
|
72
|
-
*/
|
|
73
|
-
destroy(): void {
|
|
74
|
-
handlers.forEach((event, handler) => {
|
|
75
|
-
element.removeEventListener(event, handler as EventListener);
|
|
76
|
-
});
|
|
77
|
-
handlers.clear();
|
|
78
|
-
},
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* Gets all active handlers
|
|
82
|
-
* @returns Map of handlers to event names
|
|
83
|
-
*/
|
|
84
|
-
getHandlers(): Map<(...args: any[]) => void, string> {
|
|
85
|
-
return new Map(handlers);
|
|
86
|
-
}
|
|
87
|
-
};
|
|
88
|
-
};
|