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,361 @@
|
|
|
1
|
+
import { Collection } from '../collection';
|
|
2
|
+
/**
|
|
3
|
+
* Configuration for list manager
|
|
4
|
+
*/
|
|
5
|
+
export interface ListManagerConfig {
|
|
6
|
+
/**
|
|
7
|
+
* Transform function for items
|
|
8
|
+
*/
|
|
9
|
+
transform?: (item: any) => any;
|
|
10
|
+
/**
|
|
11
|
+
* Base URL for API requests
|
|
12
|
+
*/
|
|
13
|
+
baseUrl?: string | null;
|
|
14
|
+
/**
|
|
15
|
+
* Function to render an item
|
|
16
|
+
*/
|
|
17
|
+
renderItem: (item: any, index: number, recycledElement?: HTMLElement) => HTMLElement;
|
|
18
|
+
/**
|
|
19
|
+
* Callback after load operations
|
|
20
|
+
*/
|
|
21
|
+
afterLoad?: (result: LoadStatus) => void;
|
|
22
|
+
/**
|
|
23
|
+
* Items for static mode
|
|
24
|
+
*/
|
|
25
|
+
staticItems?: any[] | null;
|
|
26
|
+
/**
|
|
27
|
+
* Number of extra items to render outside viewport
|
|
28
|
+
*/
|
|
29
|
+
renderBufferSize?: number;
|
|
30
|
+
/**
|
|
31
|
+
* Number of items to keep in DOM but invisible
|
|
32
|
+
*/
|
|
33
|
+
overscanCount?: number;
|
|
34
|
+
/**
|
|
35
|
+
* Default height for items
|
|
36
|
+
*/
|
|
37
|
+
itemHeight?: number;
|
|
38
|
+
/**
|
|
39
|
+
* Whether items can have varying heights
|
|
40
|
+
* When false (default), all items use the same height for better performance
|
|
41
|
+
* When true, each item's height is measured individually
|
|
42
|
+
*/
|
|
43
|
+
dynamicItemSize?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Whether to measure initial items
|
|
46
|
+
*/
|
|
47
|
+
measureItemsInitially?: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Number of items per page
|
|
50
|
+
*/
|
|
51
|
+
pageSize?: number;
|
|
52
|
+
/**
|
|
53
|
+
* Threshold for loading more (0.0-1.0)
|
|
54
|
+
*/
|
|
55
|
+
loadThreshold?: number;
|
|
56
|
+
/**
|
|
57
|
+
* Throttle time for scroll events (ms)
|
|
58
|
+
*/
|
|
59
|
+
throttleMs?: number;
|
|
60
|
+
/**
|
|
61
|
+
* Whether to deduplicate items by ID
|
|
62
|
+
*/
|
|
63
|
+
dedupeItems?: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Scroll detection strategy
|
|
66
|
+
*/
|
|
67
|
+
scrollStrategy?: ScrollStrategy;
|
|
68
|
+
/**
|
|
69
|
+
* Legacy support for static items
|
|
70
|
+
*/
|
|
71
|
+
items?: any[];
|
|
72
|
+
/**
|
|
73
|
+
* Collection name
|
|
74
|
+
*/
|
|
75
|
+
collection?: string;
|
|
76
|
+
/**
|
|
77
|
+
* Pagination configuration
|
|
78
|
+
*/
|
|
79
|
+
pagination?: {
|
|
80
|
+
/**
|
|
81
|
+
* Pagination strategy to use ('cursor', 'page', or 'offset')
|
|
82
|
+
* @default 'cursor'
|
|
83
|
+
*/
|
|
84
|
+
strategy?: 'cursor' | 'page' | 'offset';
|
|
85
|
+
/**
|
|
86
|
+
* Parameter name for page size (for page-based pagination)
|
|
87
|
+
* @default 'per_page'
|
|
88
|
+
*/
|
|
89
|
+
perPageParamName?: string;
|
|
90
|
+
/**
|
|
91
|
+
* Parameter name for limit (for cursor/offset pagination)
|
|
92
|
+
* @default 'limit'
|
|
93
|
+
*/
|
|
94
|
+
limitParamName?: string;
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Scroll tracking strategies
|
|
99
|
+
*/
|
|
100
|
+
export type ScrollStrategy = 'scroll' | 'intersection' | 'hybrid';
|
|
101
|
+
/**
|
|
102
|
+
* List manager interface
|
|
103
|
+
*/
|
|
104
|
+
export interface ListManager {
|
|
105
|
+
/**
|
|
106
|
+
* Loads items from API or static data
|
|
107
|
+
*/
|
|
108
|
+
loadItems: (params?: any) => Promise<{
|
|
109
|
+
items: any[];
|
|
110
|
+
meta: PaginationMeta;
|
|
111
|
+
}>;
|
|
112
|
+
/**
|
|
113
|
+
* Loads more items (next page)
|
|
114
|
+
*/
|
|
115
|
+
loadMore: () => Promise<{
|
|
116
|
+
hasNext: boolean;
|
|
117
|
+
items: any[];
|
|
118
|
+
}>;
|
|
119
|
+
/**
|
|
120
|
+
* Refreshes the list
|
|
121
|
+
*/
|
|
122
|
+
refresh: () => Promise<void>;
|
|
123
|
+
/**
|
|
124
|
+
* Updates visible items based on scroll position
|
|
125
|
+
*/
|
|
126
|
+
updateVisibleItems: (scrollTop?: number) => void;
|
|
127
|
+
/**
|
|
128
|
+
* Scrolls to a specific item by ID
|
|
129
|
+
*/
|
|
130
|
+
scrollToItem: (itemId: string, position?: ScrollToPosition) => void;
|
|
131
|
+
/**
|
|
132
|
+
* Sets custom heights for items
|
|
133
|
+
*/
|
|
134
|
+
setItemHeights: (heightsMap: Record<string, number>) => boolean;
|
|
135
|
+
/**
|
|
136
|
+
* Gets the underlying collection
|
|
137
|
+
*/
|
|
138
|
+
getCollection: () => Collection<any>;
|
|
139
|
+
/**
|
|
140
|
+
* Gets currently visible items
|
|
141
|
+
*/
|
|
142
|
+
getVisibleItems: () => any[];
|
|
143
|
+
/**
|
|
144
|
+
* Gets all items
|
|
145
|
+
*/
|
|
146
|
+
getAllItems: () => any[];
|
|
147
|
+
/**
|
|
148
|
+
* Checks if list is loading
|
|
149
|
+
*/
|
|
150
|
+
isLoading: () => boolean;
|
|
151
|
+
/**
|
|
152
|
+
* Checks if there are more items to load
|
|
153
|
+
*/
|
|
154
|
+
hasNextPage: () => boolean;
|
|
155
|
+
/**
|
|
156
|
+
* Checks if list is in API mode
|
|
157
|
+
*/
|
|
158
|
+
isApiMode: () => boolean;
|
|
159
|
+
/**
|
|
160
|
+
* Sets a hook function for rendering
|
|
161
|
+
*/
|
|
162
|
+
setRenderHook?: (hookFn: (item: any, element: HTMLElement) => void) => void;
|
|
163
|
+
/**
|
|
164
|
+
* Destroys the list manager
|
|
165
|
+
*/
|
|
166
|
+
destroy: () => void;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Position for scrolling to an item
|
|
170
|
+
*/
|
|
171
|
+
export type ScrollToPosition = 'start' | 'center' | 'end';
|
|
172
|
+
/**
|
|
173
|
+
* Pagination metadata
|
|
174
|
+
*/
|
|
175
|
+
export interface PaginationMeta {
|
|
176
|
+
cursor: string | null;
|
|
177
|
+
hasNext: boolean;
|
|
178
|
+
total?: number;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Load operation status
|
|
182
|
+
*/
|
|
183
|
+
export interface LoadStatus {
|
|
184
|
+
loading: boolean;
|
|
185
|
+
hasNext: boolean;
|
|
186
|
+
hasPrev: boolean;
|
|
187
|
+
items: any[];
|
|
188
|
+
allItems: any[];
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* List interface
|
|
192
|
+
*/
|
|
193
|
+
export interface List {
|
|
194
|
+
component: HTMLElement;
|
|
195
|
+
items: any[];
|
|
196
|
+
setItems: (items: any[]) => void;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Page loader configuration
|
|
200
|
+
*/
|
|
201
|
+
export interface PageLoaderConfig {
|
|
202
|
+
onLoad?: (status: LoadStatus) => void;
|
|
203
|
+
pageSize?: number;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Page loader interface
|
|
207
|
+
*/
|
|
208
|
+
export interface PageLoader {
|
|
209
|
+
load: (cursor?: string | null, addToHistory?: boolean) => Promise<{
|
|
210
|
+
hasNext: boolean;
|
|
211
|
+
hasPrev: boolean;
|
|
212
|
+
}>;
|
|
213
|
+
loadNext: () => Promise<{
|
|
214
|
+
hasNext: boolean;
|
|
215
|
+
hasPrev: boolean;
|
|
216
|
+
}>;
|
|
217
|
+
loadPrev: () => Promise<{
|
|
218
|
+
hasNext: boolean;
|
|
219
|
+
hasPrev: boolean;
|
|
220
|
+
}>;
|
|
221
|
+
loading: boolean;
|
|
222
|
+
cursor: string | null;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Item interface
|
|
226
|
+
*/
|
|
227
|
+
export interface ListItem {
|
|
228
|
+
id: string;
|
|
229
|
+
headline: string;
|
|
230
|
+
supportingText: string;
|
|
231
|
+
meta: string;
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Internal list manager state
|
|
235
|
+
*/
|
|
236
|
+
/**
|
|
237
|
+
* Internal list manager state
|
|
238
|
+
*/
|
|
239
|
+
export interface ListManagerState {
|
|
240
|
+
/**
|
|
241
|
+
* All items
|
|
242
|
+
*/
|
|
243
|
+
items: any[];
|
|
244
|
+
/**
|
|
245
|
+
* Currently visible items
|
|
246
|
+
*/
|
|
247
|
+
visibleItems: any[];
|
|
248
|
+
/**
|
|
249
|
+
* Visible range indices
|
|
250
|
+
*/
|
|
251
|
+
visibleRange: {
|
|
252
|
+
start: number;
|
|
253
|
+
end: number;
|
|
254
|
+
};
|
|
255
|
+
/**
|
|
256
|
+
* Total height of all items
|
|
257
|
+
*/
|
|
258
|
+
totalHeight: number;
|
|
259
|
+
/**
|
|
260
|
+
* Whether total height needs recalculation
|
|
261
|
+
*/
|
|
262
|
+
totalHeightDirty: boolean;
|
|
263
|
+
/**
|
|
264
|
+
* Map of item heights (legacy - use itemMeasurement)
|
|
265
|
+
*/
|
|
266
|
+
itemHeights: Map<string, number>;
|
|
267
|
+
/**
|
|
268
|
+
* Whether list is currently loading
|
|
269
|
+
*/
|
|
270
|
+
loading: boolean;
|
|
271
|
+
/**
|
|
272
|
+
* Current pagination cursor
|
|
273
|
+
*/
|
|
274
|
+
cursor: string | null;
|
|
275
|
+
/**
|
|
276
|
+
* Current page number (when using page-based pagination)
|
|
277
|
+
*/
|
|
278
|
+
page?: number;
|
|
279
|
+
/**
|
|
280
|
+
* Pagination strategy being used
|
|
281
|
+
*/
|
|
282
|
+
paginationStrategy?: string;
|
|
283
|
+
/**
|
|
284
|
+
* Whether there are more items to load
|
|
285
|
+
*/
|
|
286
|
+
hasNext: boolean;
|
|
287
|
+
/**
|
|
288
|
+
* Map of item elements for DOM recycling
|
|
289
|
+
*/
|
|
290
|
+
itemElements: Map<string, HTMLElement>;
|
|
291
|
+
/**
|
|
292
|
+
* Current scroll position
|
|
293
|
+
*/
|
|
294
|
+
scrollTop: number;
|
|
295
|
+
/**
|
|
296
|
+
* Container height
|
|
297
|
+
*/
|
|
298
|
+
containerHeight: number;
|
|
299
|
+
/**
|
|
300
|
+
* RequestAnimationFrame ID for scroll updates
|
|
301
|
+
*/
|
|
302
|
+
scrollRAF: number | null;
|
|
303
|
+
/**
|
|
304
|
+
* RequestAnimationFrame ID for resize updates
|
|
305
|
+
*/
|
|
306
|
+
resizeRAF: number | null;
|
|
307
|
+
/**
|
|
308
|
+
* Whether component is mounted
|
|
309
|
+
*/
|
|
310
|
+
mounted: boolean;
|
|
311
|
+
/**
|
|
312
|
+
* Total item count (may differ from items.length)
|
|
313
|
+
*/
|
|
314
|
+
itemCount: number;
|
|
315
|
+
/**
|
|
316
|
+
* Whether list is in static mode
|
|
317
|
+
*/
|
|
318
|
+
useStatic: boolean;
|
|
319
|
+
/**
|
|
320
|
+
* Custom render hook function
|
|
321
|
+
*/
|
|
322
|
+
renderHook: ((item: any, element: HTMLElement) => void) | null;
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* DOM elements used by the list manager
|
|
326
|
+
*/
|
|
327
|
+
export interface ListManagerElements {
|
|
328
|
+
/**
|
|
329
|
+
* Container element
|
|
330
|
+
*/
|
|
331
|
+
container: HTMLElement;
|
|
332
|
+
/**
|
|
333
|
+
* Content container element
|
|
334
|
+
*/
|
|
335
|
+
content: HTMLElement;
|
|
336
|
+
/**
|
|
337
|
+
* Spacer element for scroll height
|
|
338
|
+
*/
|
|
339
|
+
spacer: HTMLElement;
|
|
340
|
+
/**
|
|
341
|
+
* Top sentinel for intersection detection
|
|
342
|
+
*/
|
|
343
|
+
topSentinel?: HTMLElement | null;
|
|
344
|
+
/**
|
|
345
|
+
* Bottom sentinel for intersection detection
|
|
346
|
+
*/
|
|
347
|
+
bottomSentinel?: HTMLElement | null;
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
* Visible range calculation result
|
|
351
|
+
*/
|
|
352
|
+
export interface VisibleRange {
|
|
353
|
+
/**
|
|
354
|
+
* Start index
|
|
355
|
+
*/
|
|
356
|
+
start: number;
|
|
357
|
+
/**
|
|
358
|
+
* End index
|
|
359
|
+
*/
|
|
360
|
+
end: number;
|
|
361
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates a recycling pool manager for better performance
|
|
3
|
+
* Reduces DOM creation by reusing elements
|
|
4
|
+
*/
|
|
5
|
+
export declare const createRecyclingPool: () => {
|
|
6
|
+
/**
|
|
7
|
+
* Gets a recycled element of the appropriate type if available
|
|
8
|
+
* @param item Item to get recycled element for
|
|
9
|
+
* @returns Recycled element or null if none available
|
|
10
|
+
*/
|
|
11
|
+
getRecycledElement: (item: any) => HTMLElement | null;
|
|
12
|
+
/**
|
|
13
|
+
* Adds an element to the recycling pool
|
|
14
|
+
* @param element Element to recycle
|
|
15
|
+
* @param forceRecycle Whether to force recycling even for small elements
|
|
16
|
+
*/
|
|
17
|
+
recycleElement: (element: HTMLElement, forceRecycle?: boolean) => void;
|
|
18
|
+
/**
|
|
19
|
+
* Get all recycled elements in a pool
|
|
20
|
+
* @param itemType Type of items to get
|
|
21
|
+
* @returns Array of recycled elements
|
|
22
|
+
*/
|
|
23
|
+
getPool: (itemType: string) => HTMLElement[];
|
|
24
|
+
/**
|
|
25
|
+
* Clears all recycling pools
|
|
26
|
+
*/
|
|
27
|
+
clear: () => void;
|
|
28
|
+
/**
|
|
29
|
+
* Gets the total number of recycled elements
|
|
30
|
+
* @returns Total count of recycled elements
|
|
31
|
+
*/
|
|
32
|
+
getSize: () => number;
|
|
33
|
+
};
|
|
34
|
+
export type RecyclingPool = ReturnType<typeof createRecyclingPool>;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { ItemMeasurement } from '../item-measurement';
|
|
2
|
+
import { VisibleRange, ListManagerConfig } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* Optimized visible range calculation for fixed height items
|
|
5
|
+
* Used as a fast path when all items have the same height
|
|
6
|
+
*
|
|
7
|
+
* @param scrollTop Current scroll position
|
|
8
|
+
* @param itemHeight Fixed item height
|
|
9
|
+
* @param containerHeight Container height
|
|
10
|
+
* @param totalItems Total number of items
|
|
11
|
+
* @param config List manager configuration
|
|
12
|
+
* @returns Visible range with start and end indices
|
|
13
|
+
*/
|
|
14
|
+
export declare function calculateVisibleRangeOptimized(scrollTop: number, itemHeight: number, containerHeight: number, totalItems: number, config: ListManagerConfig): VisibleRange;
|
|
15
|
+
/**
|
|
16
|
+
* Determines which items are visible within the viewport
|
|
17
|
+
* @param scrollTop Current scroll position
|
|
18
|
+
* @param items Array of items
|
|
19
|
+
* @param containerHeight Container height
|
|
20
|
+
* @param itemMeasurement Item measurement instance
|
|
21
|
+
* @param config List manager configuration
|
|
22
|
+
* @returns Visible range with start and end indices
|
|
23
|
+
*/
|
|
24
|
+
export declare function calculateVisibleRange(scrollTop: number, items: any[], containerHeight: number, itemMeasurement: ItemMeasurement, config: ListManagerConfig): VisibleRange;
|
|
25
|
+
/**
|
|
26
|
+
* Calculate the position for each visible item
|
|
27
|
+
* @param items All items
|
|
28
|
+
* @param visibleRange Visible range with start and end indices
|
|
29
|
+
* @param itemMeasurement Item measurement instance
|
|
30
|
+
* @returns Array of positions with index, item, and offset
|
|
31
|
+
*/
|
|
32
|
+
export declare function calculateItemPositions(items: any[], visibleRange: VisibleRange, itemMeasurement: ItemMeasurement): Array<{
|
|
33
|
+
index: number;
|
|
34
|
+
item: any;
|
|
35
|
+
offset: number;
|
|
36
|
+
}>;
|
|
37
|
+
/**
|
|
38
|
+
* Checks if load threshold has been reached
|
|
39
|
+
* @param scrollTop Current scroll top position
|
|
40
|
+
* @param containerHeight Container height
|
|
41
|
+
* @param totalHeight Total content height
|
|
42
|
+
* @param loadThreshold Load threshold as fraction (0-1)
|
|
43
|
+
* @returns Whether load threshold has been reached
|
|
44
|
+
*/
|
|
45
|
+
export declare function isLoadThresholdReached(scrollTop: number, containerHeight: number, totalHeight: number, loadThreshold: number): boolean;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration for component creation
|
|
3
|
+
*/
|
|
4
|
+
export interface ComponentConfig {
|
|
5
|
+
[key: string]: any;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Basic component interface
|
|
9
|
+
*/
|
|
10
|
+
export interface Component {
|
|
11
|
+
/**
|
|
12
|
+
* Component element
|
|
13
|
+
*/
|
|
14
|
+
element: HTMLElement | null;
|
|
15
|
+
/**
|
|
16
|
+
* Component configuration
|
|
17
|
+
*/
|
|
18
|
+
config: ComponentConfig;
|
|
19
|
+
/**
|
|
20
|
+
* Setup method
|
|
21
|
+
* @returns Component for chaining
|
|
22
|
+
*/
|
|
23
|
+
setup: () => Component;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Creates a basic component with minimal structure
|
|
27
|
+
*
|
|
28
|
+
* @param config - Component configuration
|
|
29
|
+
* @returns Basic component structure
|
|
30
|
+
*/
|
|
31
|
+
export declare const createComponent: (config?: ComponentConfig) => Component;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module core/compose/component
|
|
3
|
+
* @description Core utilities for component composition and creation with built-in mobile support
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Touch state interface to track touch interactions
|
|
7
|
+
*/
|
|
8
|
+
export interface TouchState {
|
|
9
|
+
startTime: number;
|
|
10
|
+
startPosition: {
|
|
11
|
+
x: number;
|
|
12
|
+
y: number;
|
|
13
|
+
};
|
|
14
|
+
isTouching: boolean;
|
|
15
|
+
activeTarget: EventTarget | null;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Base component interface with prefix utilities
|
|
19
|
+
*/
|
|
20
|
+
export interface BaseComponent {
|
|
21
|
+
config: Record<string, any>;
|
|
22
|
+
componentName?: string;
|
|
23
|
+
getClass: (name: string) => string;
|
|
24
|
+
getModifierClass: (base: string, modifier: string) => string;
|
|
25
|
+
getElementClass: (base: string, element: string) => string;
|
|
26
|
+
touchState: TouchState;
|
|
27
|
+
updateTouchState: (event: Event, status: 'start' | 'end') => void;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Element component extends base with element
|
|
31
|
+
*/
|
|
32
|
+
export interface ElementComponent extends BaseComponent {
|
|
33
|
+
element: HTMLElement;
|
|
34
|
+
addClass: (...classes: string[]) => ElementComponent;
|
|
35
|
+
destroy: () => void;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Options for withElement enhancer
|
|
39
|
+
*/
|
|
40
|
+
export interface WithElementOptions {
|
|
41
|
+
tag?: string;
|
|
42
|
+
componentName?: string;
|
|
43
|
+
attributes?: Record<string, any>;
|
|
44
|
+
className?: string | string[];
|
|
45
|
+
forwardEvents?: Record<string, boolean | ((component: any, event: Event) => boolean)>;
|
|
46
|
+
interactive?: boolean;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Creates a base component with configuration and prefix utilities.
|
|
50
|
+
* This forms the foundation for all components in the system.
|
|
51
|
+
*
|
|
52
|
+
* @param {Object} config - Component configuration
|
|
53
|
+
* @returns {BaseComponent} Base component with prefix utilities
|
|
54
|
+
*/
|
|
55
|
+
export declare const createBase: (config?: Record<string, any>) => BaseComponent;
|
|
56
|
+
/**
|
|
57
|
+
* Higher-order function that adds a DOM element to a component
|
|
58
|
+
* @param {WithElementOptions} options - Element creation options
|
|
59
|
+
* @returns {Function} Component enhancer
|
|
60
|
+
*/
|
|
61
|
+
export declare const withElement: (options?: WithElementOptions) => <T extends BaseComponent>(component: T) => T & ElementComponent;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { BaseComponent, ElementComponent } from '../component';
|
|
2
|
+
/**
|
|
3
|
+
* Configuration for badge feature
|
|
4
|
+
*/
|
|
5
|
+
export interface BadgeConfig {
|
|
6
|
+
/**
|
|
7
|
+
* Badge content to display
|
|
8
|
+
*/
|
|
9
|
+
badge?: string | number;
|
|
10
|
+
/**
|
|
11
|
+
* Custom badge configuration
|
|
12
|
+
*/
|
|
13
|
+
badgeConfig?: {
|
|
14
|
+
variant?: string;
|
|
15
|
+
color?: string;
|
|
16
|
+
size?: string;
|
|
17
|
+
position?: string;
|
|
18
|
+
max?: number;
|
|
19
|
+
[key: string]: any;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* CSS class prefix
|
|
23
|
+
*/
|
|
24
|
+
prefix?: string;
|
|
25
|
+
[key: string]: any;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Component with badge capabilities
|
|
29
|
+
*/
|
|
30
|
+
export interface BadgeComponent extends BaseComponent {
|
|
31
|
+
/**
|
|
32
|
+
* Badge component instance
|
|
33
|
+
*/
|
|
34
|
+
badge?: any;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Adds badge functionality to a component
|
|
38
|
+
* Creates and configures a badge component attached to the main component
|
|
39
|
+
*
|
|
40
|
+
* @param {BadgeConfig} config - Badge configuration
|
|
41
|
+
* @returns {Function} Component enhancer with badge functionality
|
|
42
|
+
*/
|
|
43
|
+
export declare const withBadge: <T extends BadgeConfig>(config: T) => <C extends ElementComponent>(component: C) => C & BadgeComponent;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { BaseComponent } from '../component';
|
|
2
|
+
/**
|
|
3
|
+
* Configuration for checkable feature
|
|
4
|
+
*/
|
|
5
|
+
export interface CheckableConfig {
|
|
6
|
+
checked?: boolean;
|
|
7
|
+
[key: string]: any;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Component with input element
|
|
11
|
+
*/
|
|
12
|
+
export interface InputComponent extends BaseComponent {
|
|
13
|
+
element: HTMLElement;
|
|
14
|
+
input: HTMLInputElement;
|
|
15
|
+
emit?: (event: string, data: any) => InputComponent;
|
|
16
|
+
on?: (event: string, handler: Function) => InputComponent;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Checkable state manager interface
|
|
20
|
+
*/
|
|
21
|
+
export interface CheckableManager {
|
|
22
|
+
/**
|
|
23
|
+
* Sets the checked state to true
|
|
24
|
+
* Emits change event if state changes
|
|
25
|
+
* @returns CheckableManager instance for chaining
|
|
26
|
+
*/
|
|
27
|
+
check: () => CheckableManager;
|
|
28
|
+
/**
|
|
29
|
+
* Sets the checked state to false
|
|
30
|
+
* Emits change event if state changes
|
|
31
|
+
* @returns CheckableManager instance for chaining
|
|
32
|
+
*/
|
|
33
|
+
uncheck: () => CheckableManager;
|
|
34
|
+
/**
|
|
35
|
+
* Toggles the current checked state
|
|
36
|
+
* Always emits change event
|
|
37
|
+
* @returns CheckableManager instance for chaining
|
|
38
|
+
*/
|
|
39
|
+
toggle: () => CheckableManager;
|
|
40
|
+
/**
|
|
41
|
+
* Gets the current checked state
|
|
42
|
+
* @returns Whether component is checked
|
|
43
|
+
*/
|
|
44
|
+
isChecked: () => boolean;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Component with checkable capabilities
|
|
48
|
+
*/
|
|
49
|
+
export interface CheckableComponent extends BaseComponent {
|
|
50
|
+
checkable: CheckableManager;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Adds checked state management to a component with an input
|
|
54
|
+
* Manages visual state and event emission for checked changes
|
|
55
|
+
*
|
|
56
|
+
* @param config - Checkable configuration
|
|
57
|
+
* @returns Function that enhances a component with checkable functionality
|
|
58
|
+
*/
|
|
59
|
+
export declare const withCheckable: <T extends CheckableConfig>(config?: T) => <C extends InputComponent>(component: C) => C & CheckableComponent;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Animation timing functions for ripple effect
|
|
3
|
+
*/
|
|
4
|
+
export declare enum RIPPLE_TIMING {
|
|
5
|
+
LINEAR = "linear",
|
|
6
|
+
EASE = "ease",
|
|
7
|
+
EASE_IN = "ease-in",
|
|
8
|
+
EASE_OUT = "ease-out",
|
|
9
|
+
EASE_IN_OUT = "ease-in-out",
|
|
10
|
+
MATERIAL = "cubic-bezier(0.4, 0.0, 0.2, 1)"
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Default configuration for ripple effect
|
|
14
|
+
* Enhanced for better visibility
|
|
15
|
+
*/
|
|
16
|
+
export declare const RIPPLE_CONFIG: {
|
|
17
|
+
duration: number;
|
|
18
|
+
timing: RIPPLE_TIMING;
|
|
19
|
+
opacity: [string, string];
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Validation schema for ripple configuration
|
|
23
|
+
*/
|
|
24
|
+
export declare const RIPPLE_SCHEMA: {
|
|
25
|
+
duration: {
|
|
26
|
+
type: string;
|
|
27
|
+
minimum: number;
|
|
28
|
+
default: number;
|
|
29
|
+
};
|
|
30
|
+
timing: {
|
|
31
|
+
type: string;
|
|
32
|
+
enum: RIPPLE_TIMING[];
|
|
33
|
+
default: RIPPLE_TIMING;
|
|
34
|
+
};
|
|
35
|
+
opacity: {
|
|
36
|
+
type: string;
|
|
37
|
+
items: {
|
|
38
|
+
type: string;
|
|
39
|
+
pattern: string;
|
|
40
|
+
};
|
|
41
|
+
minItems: number;
|
|
42
|
+
maxItems: number;
|
|
43
|
+
default: [string, string];
|
|
44
|
+
};
|
|
45
|
+
};
|