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
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API configuration options for VirtualList component
|
|
3
|
+
*/
|
|
4
|
+
interface ApiOptions {
|
|
5
|
+
list: {
|
|
6
|
+
refresh: () => Promise<void>;
|
|
7
|
+
loadMore: () => Promise<{
|
|
8
|
+
hasNext: boolean;
|
|
9
|
+
items: any[];
|
|
10
|
+
}>;
|
|
11
|
+
scrollToItem: (itemId: string, position?: 'start' | 'center' | 'end') => void;
|
|
12
|
+
getVisibleItems: () => any[];
|
|
13
|
+
getAllItems: () => any[];
|
|
14
|
+
isLoading: () => boolean;
|
|
15
|
+
hasNextPage: () => boolean;
|
|
16
|
+
};
|
|
17
|
+
events: {
|
|
18
|
+
on: (event: string, handler: Function) => any;
|
|
19
|
+
off: (event: string, handler: Function) => any;
|
|
20
|
+
};
|
|
21
|
+
lifecycle: {
|
|
22
|
+
destroy: () => void;
|
|
23
|
+
};
|
|
24
|
+
getSelectedItems?: () => any[];
|
|
25
|
+
getSelectedItemIds?: () => string[];
|
|
26
|
+
isItemSelected?: (itemId: string) => boolean;
|
|
27
|
+
selectItem?: (itemId: string) => any;
|
|
28
|
+
deselectItem?: (itemId: string) => any;
|
|
29
|
+
clearSelection?: () => any;
|
|
30
|
+
setSelection?: (itemIds: string[]) => any;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Component with required elements and methods for API enhancement
|
|
34
|
+
*/
|
|
35
|
+
interface ComponentWithElements {
|
|
36
|
+
element: HTMLElement;
|
|
37
|
+
on?: (event: string, handler: Function) => any;
|
|
38
|
+
off?: (event: string, handler: Function) => any;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Enhances a VirtualList component with API methods
|
|
42
|
+
* @param {ApiOptions} options - API configuration options
|
|
43
|
+
* @returns {Function} Higher-order function that adds API methods to component
|
|
44
|
+
*/
|
|
45
|
+
export declare const withAPI: ({ list, events, lifecycle }: ApiOptions) => (component: ComponentWithElements) => {
|
|
46
|
+
element: HTMLElement;
|
|
47
|
+
/**
|
|
48
|
+
* Refreshes the list with the latest data
|
|
49
|
+
* @returns {Promise<void>} Promise that resolves when refresh is complete
|
|
50
|
+
*/
|
|
51
|
+
refresh: () => Promise<ComponentWithElements>;
|
|
52
|
+
/**
|
|
53
|
+
* Loads more items
|
|
54
|
+
* @returns {Promise<Object>} Promise with load result
|
|
55
|
+
*/
|
|
56
|
+
loadMore: () => Promise<{
|
|
57
|
+
hasNext: boolean;
|
|
58
|
+
items: any[];
|
|
59
|
+
}>;
|
|
60
|
+
/**
|
|
61
|
+
* Scrolls to a specific item by ID
|
|
62
|
+
* @param {string} itemId - Item ID to scroll to
|
|
63
|
+
* @param {string} position - Position ('start', 'center', 'end')
|
|
64
|
+
* @returns {Object} Component instance for chaining
|
|
65
|
+
*/
|
|
66
|
+
scrollToItem: (itemId: string, position?: "start" | "center" | "end") => ComponentWithElements;
|
|
67
|
+
/**
|
|
68
|
+
* Gets all currently visible items
|
|
69
|
+
* @returns {Array} Visible items
|
|
70
|
+
*/
|
|
71
|
+
getVisibleItems: () => any[];
|
|
72
|
+
/**
|
|
73
|
+
* Gets all loaded items
|
|
74
|
+
* @returns {Array} All loaded items
|
|
75
|
+
*/
|
|
76
|
+
getAllItems: () => any[];
|
|
77
|
+
/**
|
|
78
|
+
* Checks if the list is currently loading
|
|
79
|
+
* @returns {boolean} True if loading
|
|
80
|
+
*/
|
|
81
|
+
isLoading: () => boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Checks if the list has more items to load
|
|
84
|
+
* @returns {boolean} True if has more items
|
|
85
|
+
*/
|
|
86
|
+
hasNextPage: () => boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Adds an event listener to the list
|
|
89
|
+
* @param {string} event - Event name
|
|
90
|
+
* @param {Function} handler - Event handler
|
|
91
|
+
* @returns {Object} Component instance for chaining
|
|
92
|
+
*/
|
|
93
|
+
on: (event: any, handler: any) => ComponentWithElements;
|
|
94
|
+
/**
|
|
95
|
+
* Removes an event listener from the list
|
|
96
|
+
* @param {string} event - Event name
|
|
97
|
+
* @param {Function} handler - Event handler
|
|
98
|
+
* @returns {Object} Component instance for chaining
|
|
99
|
+
*/
|
|
100
|
+
off: (event: any, handler: any) => ComponentWithElements;
|
|
101
|
+
/**
|
|
102
|
+
* Destroys the component and cleans up resources
|
|
103
|
+
*/
|
|
104
|
+
destroy: () => void;
|
|
105
|
+
};
|
|
106
|
+
export default withAPI;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { ListConfig } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Default configuration for the List component
|
|
4
|
+
*/
|
|
5
|
+
export declare const defaultConfig: {
|
|
6
|
+
collection: "items";
|
|
7
|
+
transform: (item: any) => any;
|
|
8
|
+
baseUrl: "http://localhost:4000/api";
|
|
9
|
+
items: any[];
|
|
10
|
+
pageSize: 20;
|
|
11
|
+
renderBufferSize: 5;
|
|
12
|
+
renderItem: any;
|
|
13
|
+
trackSelection: boolean;
|
|
14
|
+
multiSelect: boolean;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Creates the base configuration for List component
|
|
18
|
+
* @param {ListConfig} config - User provided configuration
|
|
19
|
+
* @returns {Object} Complete configuration with defaults applied
|
|
20
|
+
*/
|
|
21
|
+
export declare const createBaseConfig: (config?: Partial<ListConfig>) => import("../../core/config/component").BaseComponentConfig;
|
|
22
|
+
/**
|
|
23
|
+
* Generates element configuration for the List component
|
|
24
|
+
* @param {Object} config - List configuration
|
|
25
|
+
* @returns {Object} Element configuration object for withElement
|
|
26
|
+
*/
|
|
27
|
+
export declare const getElementConfig: (config: any) => {
|
|
28
|
+
tag: string;
|
|
29
|
+
componentName: string;
|
|
30
|
+
attributes: Record<string, any>;
|
|
31
|
+
className: string[];
|
|
32
|
+
rawClass: string | string[];
|
|
33
|
+
html: string;
|
|
34
|
+
text: string;
|
|
35
|
+
forwardEvents: Record<string, boolean | ((component: any, event: Event) => boolean)>;
|
|
36
|
+
interactive: boolean;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Creates API configuration for the List component
|
|
40
|
+
* @param {Object} component - Component with list manager
|
|
41
|
+
* @returns {Object} API configuration object
|
|
42
|
+
*/
|
|
43
|
+
export declare const getApiConfig: (component: any) => {
|
|
44
|
+
list: {
|
|
45
|
+
refresh: any;
|
|
46
|
+
loadMore: any;
|
|
47
|
+
scrollToItem: any;
|
|
48
|
+
getVisibleItems: any;
|
|
49
|
+
getAllItems: any;
|
|
50
|
+
isLoading: any;
|
|
51
|
+
hasNextPage: any;
|
|
52
|
+
};
|
|
53
|
+
events: {
|
|
54
|
+
on: any;
|
|
55
|
+
off: any;
|
|
56
|
+
};
|
|
57
|
+
lifecycle: {
|
|
58
|
+
destroy: any;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
export default defaultConfig;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default list item configuration
|
|
3
|
+
*/
|
|
4
|
+
export declare const LIST_DEFAULTS: {
|
|
5
|
+
/** Default collection name for API-connected lists */
|
|
6
|
+
readonly COLLECTION: "items";
|
|
7
|
+
/** Default API base URL */
|
|
8
|
+
readonly BASE_URL: "http://localhost:4000/api";
|
|
9
|
+
/** Default number of items per page */
|
|
10
|
+
readonly PAGE_SIZE: 20;
|
|
11
|
+
/** Default number of extra items to render above/below viewport */
|
|
12
|
+
readonly RENDER_BUFFER_SIZE: 5;
|
|
13
|
+
/** Default item height in pixels */
|
|
14
|
+
readonly ITEM_HEIGHT: 48;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* List types for rendering and behavior
|
|
18
|
+
*/
|
|
19
|
+
export declare const LIST_TYPES: {
|
|
20
|
+
/** Standard list with no selection */
|
|
21
|
+
readonly DEFAULT: "default";
|
|
22
|
+
/** List with single-select behavior */
|
|
23
|
+
readonly SINGLE_SELECT: "single-select";
|
|
24
|
+
/** List with multi-select behavior */
|
|
25
|
+
readonly MULTI_SELECT: "multi-select";
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* List selection modes
|
|
29
|
+
*/
|
|
30
|
+
export declare const LIST_SELECTION_MODES: {
|
|
31
|
+
/** No selection allowed */
|
|
32
|
+
readonly NONE: "none";
|
|
33
|
+
/** Only one item can be selected at a time */
|
|
34
|
+
readonly SINGLE: "single";
|
|
35
|
+
/** Multiple items can be selected */
|
|
36
|
+
readonly MULTIPLE: "multiple";
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* List events
|
|
40
|
+
*/
|
|
41
|
+
export declare const LIST_EVENTS: {
|
|
42
|
+
/** Fired when an item is selected */
|
|
43
|
+
readonly SELECT: "select";
|
|
44
|
+
/** Fired when items are loaded */
|
|
45
|
+
readonly LOAD: "load";
|
|
46
|
+
/** Fired when the list is scrolled */
|
|
47
|
+
readonly SCROLL: "scroll";
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Scroll position options for scrollToItem method
|
|
51
|
+
*/
|
|
52
|
+
export declare const LIST_SCROLL_POSITIONS: {
|
|
53
|
+
/** Align item at the top of viewport */
|
|
54
|
+
readonly START: "start";
|
|
55
|
+
/** Center item in the viewport */
|
|
56
|
+
readonly CENTER: "center";
|
|
57
|
+
/** Align item at the bottom of viewport */
|
|
58
|
+
readonly END: "end";
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* CSS classes used in the list component
|
|
62
|
+
*/
|
|
63
|
+
export declare const LIST_CLASSES: {
|
|
64
|
+
/** Container element */
|
|
65
|
+
readonly CONTAINER: "list-container";
|
|
66
|
+
/** List element */
|
|
67
|
+
readonly LIST: "list";
|
|
68
|
+
/** List item */
|
|
69
|
+
readonly ITEM: "list-item";
|
|
70
|
+
/** Selected list item */
|
|
71
|
+
readonly SELECTED: "list-item--selected";
|
|
72
|
+
/** Loading indicator */
|
|
73
|
+
readonly LOADING: "list--loading";
|
|
74
|
+
/** Empty state */
|
|
75
|
+
readonly EMPTY: "list--empty";
|
|
76
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adds list management capabilities to a component
|
|
3
|
+
* Optimized implementation for better performance
|
|
4
|
+
*
|
|
5
|
+
* @param config - Configuration options
|
|
6
|
+
* @returns Function that enhances a component with list management
|
|
7
|
+
*/
|
|
8
|
+
export declare const withListManager: (config: any) => (component: any) => any;
|
|
9
|
+
export default withListManager;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adds selection management capabilities to a list component
|
|
3
|
+
* Optimized implementation for better performance
|
|
4
|
+
*
|
|
5
|
+
* @param config - Configuration options
|
|
6
|
+
* @returns Function that enhances a component with selection management
|
|
7
|
+
*/
|
|
8
|
+
export declare const withSelection: (config: any) => (component: any) => any;
|
|
9
|
+
export default withSelection;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* List Component Module
|
|
3
|
+
*
|
|
4
|
+
* The List component provides high-performance rendering of large datasets
|
|
5
|
+
* with built-in virtualization, pagination, and efficient DOM management.
|
|
6
|
+
*
|
|
7
|
+
* @module components/list
|
|
8
|
+
* @category Components
|
|
9
|
+
*/
|
|
10
|
+
export { default } from './list';
|
|
11
|
+
export { LIST_DEFAULTS, LIST_TYPES, LIST_SELECTION_MODES, LIST_EVENTS, LIST_SCROLL_POSITIONS, LIST_CLASSES } from './constants';
|
|
12
|
+
export type { ListConfig, ListComponent, SelectEvent, LoadEvent, LoadResult } from './types';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates a new List component
|
|
3
|
+
*
|
|
4
|
+
* The List component provides a high-performance way to render large datasets
|
|
5
|
+
* with built-in virtualization, pagination, and efficient DOM management.
|
|
6
|
+
*
|
|
7
|
+
* @param {Object} config - Configuration options for the list
|
|
8
|
+
* @returns {Object} List component instance
|
|
9
|
+
*/
|
|
10
|
+
declare const createList: (config?: {}) => any;
|
|
11
|
+
export default createList;
|
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration for the List component
|
|
3
|
+
* @interface ListConfig
|
|
4
|
+
*/
|
|
5
|
+
export interface ListConfig {
|
|
6
|
+
/**
|
|
7
|
+
* Collection name to fetch data from
|
|
8
|
+
* @default 'items'
|
|
9
|
+
*/
|
|
10
|
+
collection?: string;
|
|
11
|
+
/**
|
|
12
|
+
* Transform function for API items
|
|
13
|
+
* @param {any} item - Raw item from API
|
|
14
|
+
* @returns {any} Transformed item
|
|
15
|
+
*/
|
|
16
|
+
transform?: (item: any) => any;
|
|
17
|
+
/**
|
|
18
|
+
* Base URL for API requests
|
|
19
|
+
* @default 'http://localhost:4000/api'
|
|
20
|
+
*/
|
|
21
|
+
baseUrl?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Static array of items to display
|
|
24
|
+
* @default []
|
|
25
|
+
*/
|
|
26
|
+
items?: any[];
|
|
27
|
+
/**
|
|
28
|
+
* Default height for items in pixels
|
|
29
|
+
* This is used for calculation before actual measurement
|
|
30
|
+
* @default 48
|
|
31
|
+
*/
|
|
32
|
+
itemHeight?: number;
|
|
33
|
+
/**
|
|
34
|
+
* Number of items to fetch per page
|
|
35
|
+
* @default 20
|
|
36
|
+
*/
|
|
37
|
+
pageSize?: number;
|
|
38
|
+
/**
|
|
39
|
+
* Number of extra items to render above/below viewport
|
|
40
|
+
* Higher values reduce blank spaces during fast scrolling but impact performance
|
|
41
|
+
* @default 5
|
|
42
|
+
*/
|
|
43
|
+
renderBufferSize?: number;
|
|
44
|
+
/**
|
|
45
|
+
* Function to render an item
|
|
46
|
+
* @param {any} item - Item to render
|
|
47
|
+
* @param {number} index - Item index in the list
|
|
48
|
+
* @returns {HTMLElement} Rendered DOM element
|
|
49
|
+
*/
|
|
50
|
+
renderItem: (item: any, index: number) => HTMLElement;
|
|
51
|
+
/**
|
|
52
|
+
* Callback when items are loaded
|
|
53
|
+
* @param {Object} data - Load result data
|
|
54
|
+
*/
|
|
55
|
+
afterLoad?: (data: LoadResult) => void;
|
|
56
|
+
/**
|
|
57
|
+
* Whether to track item selection
|
|
58
|
+
* When true, clicked items will receive a selected class
|
|
59
|
+
* @default true
|
|
60
|
+
*/
|
|
61
|
+
trackSelection?: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Whether to allow multiple item selection
|
|
64
|
+
* @default false
|
|
65
|
+
*/
|
|
66
|
+
multiSelect?: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Initial selection state (array of item IDs)
|
|
69
|
+
*/
|
|
70
|
+
initialSelection?: string[];
|
|
71
|
+
/**
|
|
72
|
+
* ARIA label for accessibility
|
|
73
|
+
*/
|
|
74
|
+
ariaLabel?: string;
|
|
75
|
+
/**
|
|
76
|
+
* Additional CSS classes
|
|
77
|
+
*/
|
|
78
|
+
class?: string;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Result of a load operation
|
|
82
|
+
* @interface LoadResult
|
|
83
|
+
*/
|
|
84
|
+
export interface LoadResult {
|
|
85
|
+
/**
|
|
86
|
+
* Whether the list is currently loading
|
|
87
|
+
*/
|
|
88
|
+
loading: boolean;
|
|
89
|
+
/**
|
|
90
|
+
* Whether there are more items to load
|
|
91
|
+
*/
|
|
92
|
+
hasNext: boolean;
|
|
93
|
+
/**
|
|
94
|
+
* Whether there are previous items (if paginating)
|
|
95
|
+
*/
|
|
96
|
+
hasPrev: boolean;
|
|
97
|
+
/**
|
|
98
|
+
* Newly loaded items
|
|
99
|
+
*/
|
|
100
|
+
items: any[];
|
|
101
|
+
/**
|
|
102
|
+
* All loaded items
|
|
103
|
+
*/
|
|
104
|
+
allItems: any[];
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Selection event data
|
|
108
|
+
* @interface SelectEvent
|
|
109
|
+
*/
|
|
110
|
+
export interface SelectEvent {
|
|
111
|
+
/**
|
|
112
|
+
* Selected item data
|
|
113
|
+
*/
|
|
114
|
+
item: any;
|
|
115
|
+
/**
|
|
116
|
+
* DOM element for the selected item
|
|
117
|
+
*/
|
|
118
|
+
element: HTMLElement;
|
|
119
|
+
/**
|
|
120
|
+
* Original DOM event
|
|
121
|
+
*/
|
|
122
|
+
originalEvent: Event;
|
|
123
|
+
/**
|
|
124
|
+
* Component instance
|
|
125
|
+
*/
|
|
126
|
+
component: ListComponent;
|
|
127
|
+
/**
|
|
128
|
+
* Prevent default behavior
|
|
129
|
+
*/
|
|
130
|
+
preventDefault: () => void;
|
|
131
|
+
/**
|
|
132
|
+
* Whether default was prevented
|
|
133
|
+
*/
|
|
134
|
+
defaultPrevented: boolean;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Load event data
|
|
138
|
+
* @interface LoadEvent
|
|
139
|
+
*/
|
|
140
|
+
export interface LoadEvent extends LoadResult {
|
|
141
|
+
/**
|
|
142
|
+
* Component instance
|
|
143
|
+
*/
|
|
144
|
+
component: VirtualListComponent;
|
|
145
|
+
/**
|
|
146
|
+
* Prevent default behavior
|
|
147
|
+
*/
|
|
148
|
+
preventDefault: () => void;
|
|
149
|
+
/**
|
|
150
|
+
* Whether default was prevented
|
|
151
|
+
*/
|
|
152
|
+
defaultPrevented: boolean;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Virtual List component interface - enhanced list with virtual scrolling
|
|
156
|
+
* @interface VirtualListComponent
|
|
157
|
+
*/
|
|
158
|
+
export interface VirtualListComponent extends ListComponent {
|
|
159
|
+
/**
|
|
160
|
+
* Updates the virtual scroll parameters
|
|
161
|
+
* @returns {VirtualListComponent} Component instance for chaining
|
|
162
|
+
*/
|
|
163
|
+
updateScrollParams?: () => VirtualListComponent;
|
|
164
|
+
/**
|
|
165
|
+
* Gets the scroll position
|
|
166
|
+
* @returns {number} Current scroll position
|
|
167
|
+
*/
|
|
168
|
+
getScrollTop?: () => number;
|
|
169
|
+
/**
|
|
170
|
+
* Sets the scroll position
|
|
171
|
+
* @param {number} scrollTop - Scroll position to set
|
|
172
|
+
* @returns {VirtualListComponent} Component instance for chaining
|
|
173
|
+
*/
|
|
174
|
+
setScrollTop?: (scrollTop: number) => VirtualListComponent;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* List component interface
|
|
178
|
+
* @interface ListComponent
|
|
179
|
+
*/
|
|
180
|
+
export interface ListComponent {
|
|
181
|
+
/**
|
|
182
|
+
* Component's root DOM element
|
|
183
|
+
*/
|
|
184
|
+
element: HTMLElement;
|
|
185
|
+
/**
|
|
186
|
+
* Refreshes the list with the latest data
|
|
187
|
+
* @returns {Promise<VirtualListComponent>} Promise that resolves with component
|
|
188
|
+
*/
|
|
189
|
+
refresh: () => Promise<VirtualListComponent>;
|
|
190
|
+
/**
|
|
191
|
+
* Loads more items
|
|
192
|
+
* @returns {Promise<{hasNext: boolean, items: any[]}>} Promise with load result
|
|
193
|
+
*/
|
|
194
|
+
loadMore: () => Promise<{
|
|
195
|
+
hasNext: boolean;
|
|
196
|
+
items: any[];
|
|
197
|
+
}>;
|
|
198
|
+
/**
|
|
199
|
+
* Scrolls to a specific item by ID
|
|
200
|
+
* @param {string} itemId - Item ID to scroll to
|
|
201
|
+
* @param {string} position - Position ('start', 'center', 'end')
|
|
202
|
+
* @returns {VirtualListComponent} Component instance for chaining
|
|
203
|
+
*/
|
|
204
|
+
scrollToItem: (itemId: string, position?: 'start' | 'center' | 'end') => VirtualListComponent;
|
|
205
|
+
/**
|
|
206
|
+
* Gets all currently visible items
|
|
207
|
+
* @returns {any[]} Visible items
|
|
208
|
+
*/
|
|
209
|
+
getVisibleItems: () => any[];
|
|
210
|
+
/**
|
|
211
|
+
* Gets all loaded items
|
|
212
|
+
* @returns {any[]} All loaded items
|
|
213
|
+
*/
|
|
214
|
+
getAllItems: () => any[];
|
|
215
|
+
/**
|
|
216
|
+
* Checks if the list is currently loading
|
|
217
|
+
* @returns {boolean} True if loading
|
|
218
|
+
*/
|
|
219
|
+
isLoading: () => boolean;
|
|
220
|
+
/**
|
|
221
|
+
* Checks if the list has more items to load
|
|
222
|
+
* @returns {boolean} True if has more items
|
|
223
|
+
*/
|
|
224
|
+
hasNextPage: () => boolean;
|
|
225
|
+
/**
|
|
226
|
+
* Gets the currently selected items
|
|
227
|
+
* @returns {any[]} Selected items
|
|
228
|
+
*/
|
|
229
|
+
getSelectedItems: () => any[];
|
|
230
|
+
/**
|
|
231
|
+
* Gets the IDs of currently selected items
|
|
232
|
+
* @returns {string[]} Selected item IDs
|
|
233
|
+
*/
|
|
234
|
+
getSelectedItemIds: () => string[];
|
|
235
|
+
/**
|
|
236
|
+
* Checks if an item is selected
|
|
237
|
+
* @param {string} itemId - Item ID to check
|
|
238
|
+
* @returns {boolean} True if item is selected
|
|
239
|
+
*/
|
|
240
|
+
isItemSelected: (itemId: string) => boolean;
|
|
241
|
+
/**
|
|
242
|
+
* Selects an item
|
|
243
|
+
* @param {string} itemId - Item ID to select
|
|
244
|
+
* @returns {ListComponent} Component instance for chaining
|
|
245
|
+
*/
|
|
246
|
+
selectItem: (itemId: string) => ListComponent;
|
|
247
|
+
/**
|
|
248
|
+
* Deselects an item
|
|
249
|
+
* @param {string} itemId - Item ID to deselect
|
|
250
|
+
* @returns {ListComponent} Component instance for chaining
|
|
251
|
+
*/
|
|
252
|
+
deselectItem: (itemId: string) => ListComponent;
|
|
253
|
+
/**
|
|
254
|
+
* Clears all selections
|
|
255
|
+
* @returns {ListComponent} Component instance for chaining
|
|
256
|
+
*/
|
|
257
|
+
clearSelection: () => ListComponent;
|
|
258
|
+
/**
|
|
259
|
+
* Sets the selection to the specified item IDs
|
|
260
|
+
* @param {string[]} itemIds - Item IDs to select
|
|
261
|
+
* @returns {ListComponent} Component instance for chaining
|
|
262
|
+
*/
|
|
263
|
+
setSelection: (itemIds: string[]) => ListComponent;
|
|
264
|
+
/**
|
|
265
|
+
* Adds an event listener to the list
|
|
266
|
+
* @param {string} event - Event name
|
|
267
|
+
* @param {Function} handler - Event handler
|
|
268
|
+
* @returns {ListComponent} Component instance for chaining
|
|
269
|
+
*/
|
|
270
|
+
on: <T extends keyof ListEvents>(event: T, handler: ListEvents[T]) => ListComponent;
|
|
271
|
+
/**
|
|
272
|
+
* Removes an event listener from the list
|
|
273
|
+
* @param {string} event - Event name
|
|
274
|
+
* @param {Function} handler - Event handler
|
|
275
|
+
* @returns {ListComponent} Component instance for chaining
|
|
276
|
+
*/
|
|
277
|
+
off: <T extends keyof ListEvents>(event: T, handler: ListEvents[T]) => ListComponent;
|
|
278
|
+
/**
|
|
279
|
+
* Destroys the component and cleans up resources
|
|
280
|
+
*/
|
|
281
|
+
destroy: () => void;
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Event handlers for List
|
|
285
|
+
* @interface ListEvents
|
|
286
|
+
*/
|
|
287
|
+
export interface ListEvents {
|
|
288
|
+
'select': (event: SelectEvent) => void;
|
|
289
|
+
'load': (event: LoadEvent) => void;
|
|
290
|
+
'scroll': (event: {
|
|
291
|
+
originalEvent: Event;
|
|
292
|
+
component: VirtualListComponent;
|
|
293
|
+
}) => void;
|
|
294
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { MenuComponent, MenuContent, MenuPosition } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* API configuration options for menu component
|
|
4
|
+
* @category Components
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
interface ApiOptions {
|
|
8
|
+
menu: {
|
|
9
|
+
open: (event?: Event, interactionType?: 'mouse' | 'keyboard') => any;
|
|
10
|
+
close: (event?: Event, restoreFocus?: boolean, skipAnimation?: boolean) => any;
|
|
11
|
+
toggle: (event?: Event, interactionType?: 'mouse' | 'keyboard') => any;
|
|
12
|
+
isOpen: () => boolean;
|
|
13
|
+
setItems: (items: MenuContent[]) => any;
|
|
14
|
+
getItems: () => MenuContent[];
|
|
15
|
+
setPosition: (position: MenuPosition) => any;
|
|
16
|
+
getPosition: () => MenuPosition;
|
|
17
|
+
setSelected: (itemId: string) => any;
|
|
18
|
+
getSelected: () => string | null;
|
|
19
|
+
};
|
|
20
|
+
opener: {
|
|
21
|
+
setOpener: (opener: HTMLElement | string) => any;
|
|
22
|
+
getOpener: () => HTMLElement;
|
|
23
|
+
};
|
|
24
|
+
submenu?: {
|
|
25
|
+
hasOpenSubmenu: () => boolean;
|
|
26
|
+
closeAllSubmenus: () => void;
|
|
27
|
+
};
|
|
28
|
+
events?: {
|
|
29
|
+
on: <T extends string>(event: T, handler: (event: any) => void) => any;
|
|
30
|
+
off: <T extends string>(event: T, handler: (event: any) => void) => any;
|
|
31
|
+
};
|
|
32
|
+
lifecycle: {
|
|
33
|
+
destroy: () => void;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Component with required elements and methods for API enhancement
|
|
38
|
+
* @category Components
|
|
39
|
+
* @internal
|
|
40
|
+
*/
|
|
41
|
+
interface ComponentWithElements {
|
|
42
|
+
element: HTMLElement;
|
|
43
|
+
on?: <T extends string>(event: T, handler: (event: any) => void) => any;
|
|
44
|
+
off?: <T extends string>(event: T, handler: (event: any) => void) => any;
|
|
45
|
+
emit?: (event: string, data: any) => void;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Enhances a menu component with API methods.
|
|
49
|
+
* This follows the higher-order function pattern to add public API methods
|
|
50
|
+
* to the component, making them available to the end user.
|
|
51
|
+
*
|
|
52
|
+
* @param {ApiOptions} options - API configuration options
|
|
53
|
+
* @returns {Function} Higher-order function that adds API methods to component
|
|
54
|
+
* @category Components
|
|
55
|
+
* @internal This is an internal utility for the Menu component
|
|
56
|
+
*/
|
|
57
|
+
declare const withAPI: ({ menu, opener, events, lifecycle, submenu }: ApiOptions) => (component: ComponentWithElements) => MenuComponent;
|
|
58
|
+
export { withAPI };
|