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,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Navigation variants for the search component
|
|
3
|
+
*/
|
|
4
|
+
export type NavVariant = 'rail' | 'drawer' | 'bar' | 'modal' | 'standard';
|
|
5
|
+
/**
|
|
6
|
+
* Valid event types for search component
|
|
7
|
+
*/
|
|
8
|
+
export type SearchEventType = 'focus' | 'blur' | 'input' | 'submit' | 'clear' | 'iconClick';
|
|
9
|
+
/**
|
|
10
|
+
* Configuration options for the search component
|
|
11
|
+
* @interface SearchConfig
|
|
12
|
+
*/
|
|
13
|
+
export interface SearchConfig {
|
|
14
|
+
/** The variant of the search component (rail, drawer, bar, modal, or standard) */
|
|
15
|
+
variant?: NavVariant | string;
|
|
16
|
+
/** Whether the search component is disabled */
|
|
17
|
+
disabled?: boolean;
|
|
18
|
+
/** Placeholder text for the search input */
|
|
19
|
+
placeholder?: string;
|
|
20
|
+
/** Initial value for the search input */
|
|
21
|
+
value?: string;
|
|
22
|
+
/** Leading icon HTML or 'none' to remove */
|
|
23
|
+
leadingIcon?: string;
|
|
24
|
+
/** Trailing icon HTML (optional) */
|
|
25
|
+
trailingIcon?: string;
|
|
26
|
+
/** Second trailing icon HTML (optional) */
|
|
27
|
+
trailingIcon2?: string;
|
|
28
|
+
/** Avatar HTML for trailing avatar (optional) */
|
|
29
|
+
avatar?: string;
|
|
30
|
+
/** If true, will show the clear button when the input has text */
|
|
31
|
+
showClearButton?: boolean;
|
|
32
|
+
/** Callback function when a search is submitted */
|
|
33
|
+
onSubmit?: (value: string) => void;
|
|
34
|
+
/** Callback function when the input value changes */
|
|
35
|
+
onInput?: (value: string) => void;
|
|
36
|
+
/** Callback function when the clear button is clicked */
|
|
37
|
+
onClear?: () => void;
|
|
38
|
+
/** Suggestions to show when the search is focused (array of strings or objects) */
|
|
39
|
+
suggestions?: string[] | Array<{
|
|
40
|
+
text: string;
|
|
41
|
+
value?: string;
|
|
42
|
+
icon?: string;
|
|
43
|
+
}>;
|
|
44
|
+
/** Whether to show dividers between suggestion groups */
|
|
45
|
+
showDividers?: boolean;
|
|
46
|
+
/** Additional CSS classes */
|
|
47
|
+
class?: string;
|
|
48
|
+
/** Maximum width of the search component in pixels */
|
|
49
|
+
maxWidth?: number;
|
|
50
|
+
/** Minimum width of the search component in pixels */
|
|
51
|
+
minWidth?: number;
|
|
52
|
+
/** Whether the search component is full-width */
|
|
53
|
+
fullWidth?: boolean;
|
|
54
|
+
/** Event handlers for search events */
|
|
55
|
+
on?: {
|
|
56
|
+
[key in SearchEventType]?: (event: SearchEvent) => void;
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Search event data
|
|
61
|
+
* @interface SearchEvent
|
|
62
|
+
*/
|
|
63
|
+
export interface SearchEvent {
|
|
64
|
+
/** The search component that triggered the event */
|
|
65
|
+
search: any;
|
|
66
|
+
/** Current search value */
|
|
67
|
+
value: string;
|
|
68
|
+
/** Original DOM event if available */
|
|
69
|
+
originalEvent: Event | null;
|
|
70
|
+
/** Function to prevent default behavior */
|
|
71
|
+
preventDefault: () => void;
|
|
72
|
+
/** Whether default behavior was prevented */
|
|
73
|
+
defaultPrevented: boolean;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Search component public API interface
|
|
77
|
+
* @interface SearchComponent
|
|
78
|
+
*/
|
|
79
|
+
export interface SearchComponent {
|
|
80
|
+
/** The root element of the search component */
|
|
81
|
+
element: HTMLElement;
|
|
82
|
+
/** Sets the search value */
|
|
83
|
+
setValue: (value: string, triggerEvent?: boolean) => SearchComponent;
|
|
84
|
+
/** Gets the search value */
|
|
85
|
+
getValue: () => string;
|
|
86
|
+
/** Sets placeholder text */
|
|
87
|
+
setPlaceholder: (text: string) => SearchComponent;
|
|
88
|
+
/** Gets placeholder text */
|
|
89
|
+
getPlaceholder: () => string;
|
|
90
|
+
/** Sets leading icon */
|
|
91
|
+
setLeadingIcon: (iconHtml: string) => SearchComponent;
|
|
92
|
+
/** Sets trailing icon */
|
|
93
|
+
setTrailingIcon: (iconHtml: string) => SearchComponent;
|
|
94
|
+
/** Sets second trailing icon */
|
|
95
|
+
setTrailingIcon2: (iconHtml: string) => SearchComponent;
|
|
96
|
+
/** Sets avatar */
|
|
97
|
+
setAvatar: (avatarHtml: string) => SearchComponent;
|
|
98
|
+
/** Shows or hides clear button */
|
|
99
|
+
showClearButton: (show: boolean) => SearchComponent;
|
|
100
|
+
/** Updates suggestions */
|
|
101
|
+
setSuggestions: (suggestions: string[] | Array<{
|
|
102
|
+
text: string;
|
|
103
|
+
value?: string;
|
|
104
|
+
icon?: string;
|
|
105
|
+
}>) => SearchComponent;
|
|
106
|
+
/** Shows or hides suggestions */
|
|
107
|
+
showSuggestions: (show: boolean) => SearchComponent;
|
|
108
|
+
/** Focuses the search input */
|
|
109
|
+
focus: () => SearchComponent;
|
|
110
|
+
/** Blurs the search input */
|
|
111
|
+
blur: () => SearchComponent;
|
|
112
|
+
/** Expands the search bar into view mode (if in bar mode) */
|
|
113
|
+
expand: () => SearchComponent;
|
|
114
|
+
/** Collapses the search view back to bar mode */
|
|
115
|
+
collapse: () => SearchComponent;
|
|
116
|
+
/** Clears the search input */
|
|
117
|
+
clear: () => SearchComponent;
|
|
118
|
+
/** Submits the search */
|
|
119
|
+
submit: () => SearchComponent;
|
|
120
|
+
/** Enables the search component */
|
|
121
|
+
enable: () => SearchComponent;
|
|
122
|
+
/** Disables the search component */
|
|
123
|
+
disable: () => SearchComponent;
|
|
124
|
+
/** Checks if search is disabled */
|
|
125
|
+
isDisabled: () => boolean;
|
|
126
|
+
/** Adds event listener */
|
|
127
|
+
on: (event: SearchEventType, handler: (event: SearchEvent) => void) => SearchComponent;
|
|
128
|
+
/** Removes event listener */
|
|
129
|
+
off: (event: SearchEventType, handler: (event: SearchEvent) => void) => SearchComponent;
|
|
130
|
+
/** Destroys the search component and cleans up resources */
|
|
131
|
+
destroy: () => void;
|
|
132
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { SegmentedButtonConfig, SelectionMode } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Default configuration values for segmented buttons
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export declare const DEFAULT_CONFIG: {
|
|
7
|
+
mode: "single";
|
|
8
|
+
ripple: true;
|
|
9
|
+
density: "default";
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Creates the base configuration for Segmented Button component
|
|
13
|
+
* @param {SegmentedButtonConfig} config - User provided configuration
|
|
14
|
+
* @returns {SegmentedButtonConfig} Complete configuration with defaults applied
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export declare const createBaseConfig: (config?: SegmentedButtonConfig) => SegmentedButtonConfig;
|
|
18
|
+
/**
|
|
19
|
+
* Generates element configuration for the Segmented Button container
|
|
20
|
+
* @param {SegmentedButtonConfig} config - Segmented Button configuration
|
|
21
|
+
* @returns {Object} Element configuration object for withElement
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
export declare const getContainerConfig: (config: SegmentedButtonConfig) => {
|
|
25
|
+
tag: string;
|
|
26
|
+
componentName: string;
|
|
27
|
+
attributes: {
|
|
28
|
+
role: string;
|
|
29
|
+
'aria-label': string;
|
|
30
|
+
'data-mode': SelectionMode;
|
|
31
|
+
'data-density': string;
|
|
32
|
+
};
|
|
33
|
+
className: string[];
|
|
34
|
+
interactive: boolean;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Gets density-specific sizing and spacing values
|
|
38
|
+
* @param {string} density - The density level
|
|
39
|
+
* @returns {Object} CSS variables with sizing values
|
|
40
|
+
* @internal
|
|
41
|
+
*/
|
|
42
|
+
export declare const getDensityStyles: (density: string) => Record<string, string>;
|
|
43
|
+
/**
|
|
44
|
+
* Generates configuration for a segment element
|
|
45
|
+
* @param {Object} segment - Segment configuration
|
|
46
|
+
* @param {string} prefix - Component prefix
|
|
47
|
+
* @param {boolean} groupDisabled - Whether the entire group is disabled
|
|
48
|
+
* @returns {Object} Element configuration for the segment
|
|
49
|
+
* @internal
|
|
50
|
+
*/
|
|
51
|
+
export declare const getSegmentConfig: (segment: any, prefix: any, groupDisabled?: boolean) => {
|
|
52
|
+
tag: string;
|
|
53
|
+
attributes: {
|
|
54
|
+
type: string;
|
|
55
|
+
role: string;
|
|
56
|
+
disabled: boolean;
|
|
57
|
+
'aria-pressed': string;
|
|
58
|
+
value: any;
|
|
59
|
+
};
|
|
60
|
+
className: any[];
|
|
61
|
+
forwardEvents: {
|
|
62
|
+
click: (component: any) => boolean;
|
|
63
|
+
};
|
|
64
|
+
interactive: boolean;
|
|
65
|
+
};
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Selection modes for segmented buttons
|
|
3
|
+
*/
|
|
4
|
+
export declare const SEGMENTED_BUTTON_MODES: {
|
|
5
|
+
/** Only one segment can be selected at a time */
|
|
6
|
+
readonly SINGLE: "single";
|
|
7
|
+
/** Multiple segments can be selected */
|
|
8
|
+
readonly MULTI: "multi";
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Density levels for segmented buttons
|
|
12
|
+
*/
|
|
13
|
+
export declare const SEGMENTED_BUTTON_DENSITY: {
|
|
14
|
+
/** Default size with standard spacing */
|
|
15
|
+
readonly DEFAULT: "default";
|
|
16
|
+
/** Reduced size and spacing, more compact */
|
|
17
|
+
readonly COMFORTABLE: "comfortable";
|
|
18
|
+
/** Minimal size and spacing, most compact */
|
|
19
|
+
readonly COMPACT: "compact";
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Segmented button events
|
|
23
|
+
*/
|
|
24
|
+
export declare const SEGMENTED_BUTTON_EVENTS: {
|
|
25
|
+
/** Fired when selection changes */
|
|
26
|
+
readonly CHANGE: "change";
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Default configuration values
|
|
30
|
+
*/
|
|
31
|
+
export declare const SEGMENTED_BUTTON_DEFAULTS: {
|
|
32
|
+
/** Default selection mode */
|
|
33
|
+
readonly MODE: "single";
|
|
34
|
+
/** Default density level */
|
|
35
|
+
readonly DENSITY: "default";
|
|
36
|
+
/** Whether ripple effect is enabled by default */
|
|
37
|
+
readonly RIPPLE: true;
|
|
38
|
+
/** Default ripple animation duration in milliseconds */
|
|
39
|
+
readonly RIPPLE_DURATION: 300;
|
|
40
|
+
/** Default ripple animation timing function */
|
|
41
|
+
readonly RIPPLE_TIMING: "cubic-bezier(0.4, 0, 0.2, 1)";
|
|
42
|
+
/** Default ripple opacity values [start, end] */
|
|
43
|
+
readonly RIPPLE_OPACITY: readonly ["0.2", "0"];
|
|
44
|
+
};
|
|
45
|
+
export declare const DEFAULT_CHECKMARK_ICON = "\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <polyline points=\"20 6 9 17 4 12\"></polyline>\n</svg>";
|
|
46
|
+
/**
|
|
47
|
+
* Default checkmark icon for selected segments
|
|
48
|
+
*/
|
|
49
|
+
export declare const SEGMENTED_BUTTON_ICONS: {
|
|
50
|
+
/** Default checkmark icon */
|
|
51
|
+
readonly CHECKMARK: "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24\" viewBox=\"0 0 24 24\" width=\"24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"/></svg>";
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* CSS classes for segmented button elements
|
|
55
|
+
*/
|
|
56
|
+
export declare const SEGMENTED_BUTTON_CLASSES: {
|
|
57
|
+
/** Container element */
|
|
58
|
+
readonly CONTAINER: "segmented-button";
|
|
59
|
+
/** Individual segment */
|
|
60
|
+
readonly SEGMENT: "segmented-button__segment";
|
|
61
|
+
/** Selected segment */
|
|
62
|
+
readonly SELECTED: "segmented-button__segment--selected";
|
|
63
|
+
/** Disabled segment */
|
|
64
|
+
readonly DISABLED: "segmented-button__segment--disabled";
|
|
65
|
+
/** Segment with icon */
|
|
66
|
+
readonly HAS_ICON: "segmented-button__segment--has-icon";
|
|
67
|
+
/** Segment icon container */
|
|
68
|
+
readonly ICON: "segmented-button__icon";
|
|
69
|
+
/** Segment label text */
|
|
70
|
+
readonly LABEL: "segmented-button__label";
|
|
71
|
+
/** Checkmark icon for selected state */
|
|
72
|
+
readonly CHECKMARK: "segmented-button__checkmark";
|
|
73
|
+
/** Ripple effect container */
|
|
74
|
+
readonly RIPPLE: "segmented-button__ripple";
|
|
75
|
+
/** Single selection mode */
|
|
76
|
+
readonly SINGLE_MODE: "segmented-button--single";
|
|
77
|
+
/** Multiple selection mode */
|
|
78
|
+
readonly MULTI_MODE: "segmented-button--multi";
|
|
79
|
+
/** Default density */
|
|
80
|
+
readonly DEFAULT_DENSITY: "segmented-button--density-default";
|
|
81
|
+
/** Comfortable density */
|
|
82
|
+
readonly COMFORTABLE_DENSITY: "segmented-button--density-comfortable";
|
|
83
|
+
/** Compact density */
|
|
84
|
+
readonly COMPACT_DENSITY: "segmented-button--density-compact";
|
|
85
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { default, default as createSegmentedButton } from './segmented-button';
|
|
2
|
+
export { SelectionMode, Density } from './types';
|
|
3
|
+
export type { SegmentedButtonConfig, SegmentedButtonComponent, SegmentConfig, Segment } from './types';
|
|
4
|
+
export { SEGMENTED_BUTTON_MODES, SEGMENTED_BUTTON_DENSITY, SEGMENTED_BUTTON_EVENTS, SEGMENTED_BUTTON_DEFAULTS, SEGMENTED_BUTTON_ICONS, SEGMENTED_BUTTON_CLASSES } from './constants';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { SegmentConfig, Segment } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a segment for the segmented button using the button component
|
|
4
|
+
* @param {SegmentConfig} config - Segment configuration
|
|
5
|
+
* @param {HTMLElement} container - Container element
|
|
6
|
+
* @param {string} prefix - Component prefix
|
|
7
|
+
* @param {boolean} groupDisabled - Whether the entire group is disabled
|
|
8
|
+
* @param {Object} options - Additional options
|
|
9
|
+
* @returns {Segment} Segment object
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export declare const createSegment: (config: SegmentConfig, container: HTMLElement, prefix: string, groupDisabled?: boolean, options?: {
|
|
13
|
+
ripple: boolean;
|
|
14
|
+
rippleConfig: {};
|
|
15
|
+
}) => Segment;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { SegmentedButtonConfig, SegmentedButtonComponent } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a new Segmented Button component
|
|
4
|
+
*
|
|
5
|
+
* The Segmented Button component provides a group of related buttons that can
|
|
6
|
+
* be used for selection and filtering. It supports single or multiple selection modes,
|
|
7
|
+
* configurable density, disabled states, and event handling.
|
|
8
|
+
*
|
|
9
|
+
* @param {SegmentedButtonConfig} config - Segmented Button configuration
|
|
10
|
+
* @returns {SegmentedButtonComponent} Segmented Button component instance
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* // Create a segmented button with three segments in single selection mode
|
|
14
|
+
* const viewToggle = createSegmentedButton({
|
|
15
|
+
* segments: [
|
|
16
|
+
* { text: 'Day', value: 'day', selected: true },
|
|
17
|
+
* { text: 'Week', value: 'week' },
|
|
18
|
+
* { text: 'Month', value: 'month' }
|
|
19
|
+
* ],
|
|
20
|
+
* mode: SelectionMode.SINGLE
|
|
21
|
+
* });
|
|
22
|
+
*
|
|
23
|
+
* // Listen for selection changes
|
|
24
|
+
* viewToggle.on('change', (event) => {
|
|
25
|
+
* console.log('Selected view:', event.value[0]);
|
|
26
|
+
* updateCalendarView(event.value[0]);
|
|
27
|
+
* });
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* // Create a compact multi-select segmented button with icons
|
|
31
|
+
* const filterOptions = createSegmentedButton({
|
|
32
|
+
* segments: [
|
|
33
|
+
* {
|
|
34
|
+
* icon: '<svg>...</svg>',
|
|
35
|
+
* text: 'Filter 1',
|
|
36
|
+
* value: 'filter1'
|
|
37
|
+
* },
|
|
38
|
+
* {
|
|
39
|
+
* icon: '<svg>...</svg>',
|
|
40
|
+
* text: 'Filter 2',
|
|
41
|
+
* value: 'filter2'
|
|
42
|
+
* }
|
|
43
|
+
* ],
|
|
44
|
+
* mode: SelectionMode.MULTI,
|
|
45
|
+
* density: Density.COMPACT
|
|
46
|
+
* });
|
|
47
|
+
*/
|
|
48
|
+
declare const createSegmentedButton: (config?: SegmentedButtonConfig) => SegmentedButtonComponent;
|
|
49
|
+
export default createSegmentedButton;
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Segmented button selection mode
|
|
3
|
+
* @category Components
|
|
4
|
+
*/
|
|
5
|
+
export declare enum SelectionMode {
|
|
6
|
+
/** Only one segment can be selected at a time */
|
|
7
|
+
SINGLE = "single",
|
|
8
|
+
/** Multiple segments can be selected */
|
|
9
|
+
MULTI = "multi"
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Density options for segmented button
|
|
13
|
+
* Controls the overall sizing and spacing of the component.
|
|
14
|
+
* @category Components
|
|
15
|
+
*/
|
|
16
|
+
export declare enum Density {
|
|
17
|
+
/** Default size with standard spacing */
|
|
18
|
+
DEFAULT = "default",
|
|
19
|
+
/** Reduced size and spacing, more compact */
|
|
20
|
+
COMFORTABLE = "comfortable",
|
|
21
|
+
/** Minimal size and spacing, most compact */
|
|
22
|
+
COMPACT = "compact"
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Event types for segmented button
|
|
26
|
+
*/
|
|
27
|
+
export type SegmentedButtonEventType = 'change';
|
|
28
|
+
/**
|
|
29
|
+
* Event data for segmented button events
|
|
30
|
+
*/
|
|
31
|
+
export interface SegmentedButtonEvent {
|
|
32
|
+
/** The segmented button component that triggered the event */
|
|
33
|
+
segmentedButton: SegmentedButtonComponent;
|
|
34
|
+
/** The selected segments */
|
|
35
|
+
selected: Segment[];
|
|
36
|
+
/** Values of the selected segments */
|
|
37
|
+
values: string[];
|
|
38
|
+
/** Original DOM event if available */
|
|
39
|
+
originalEvent: Event | null;
|
|
40
|
+
/** Function to prevent default behavior */
|
|
41
|
+
preventDefault: () => void;
|
|
42
|
+
/** Whether default behavior was prevented */
|
|
43
|
+
defaultPrevented: boolean;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Configuration for a single segment within a segmented button
|
|
47
|
+
* @category Components
|
|
48
|
+
*/
|
|
49
|
+
export interface SegmentConfig {
|
|
50
|
+
/**
|
|
51
|
+
* Text content for the segment
|
|
52
|
+
* @example 'Day'
|
|
53
|
+
*/
|
|
54
|
+
text?: string;
|
|
55
|
+
/**
|
|
56
|
+
* Icon HTML content
|
|
57
|
+
* @example '<svg>...</svg>'
|
|
58
|
+
*/
|
|
59
|
+
icon?: string;
|
|
60
|
+
/**
|
|
61
|
+
* Whether this segment is initially selected
|
|
62
|
+
* @default false
|
|
63
|
+
*/
|
|
64
|
+
selected?: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Value associated with this segment
|
|
67
|
+
*/
|
|
68
|
+
value?: string;
|
|
69
|
+
/**
|
|
70
|
+
* Whether this segment is disabled
|
|
71
|
+
* @default false
|
|
72
|
+
*/
|
|
73
|
+
disabled?: boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Additional CSS class names for this segment
|
|
76
|
+
*/
|
|
77
|
+
class?: string;
|
|
78
|
+
/**
|
|
79
|
+
* Custom icon to display when segment is selected (replaces default checkmark)
|
|
80
|
+
*/
|
|
81
|
+
checkmarkIcon?: string;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Configuration interface for the Segmented Button component
|
|
85
|
+
* @category Components
|
|
86
|
+
*/
|
|
87
|
+
export interface SegmentedButtonConfig {
|
|
88
|
+
/**
|
|
89
|
+
* Selection mode for the segmented button group
|
|
90
|
+
* @default SelectionMode.SINGLE
|
|
91
|
+
*/
|
|
92
|
+
mode?: SelectionMode;
|
|
93
|
+
/**
|
|
94
|
+
* Array of segment configurations
|
|
95
|
+
*/
|
|
96
|
+
segments?: SegmentConfig[];
|
|
97
|
+
/**
|
|
98
|
+
* Component prefix for class names
|
|
99
|
+
* @default 'mtrl'
|
|
100
|
+
*/
|
|
101
|
+
prefix?: string;
|
|
102
|
+
/**
|
|
103
|
+
* Component name used in class generation
|
|
104
|
+
*/
|
|
105
|
+
componentName?: string;
|
|
106
|
+
/**
|
|
107
|
+
* Whether the entire segmented button is initially disabled
|
|
108
|
+
* @default false
|
|
109
|
+
*/
|
|
110
|
+
disabled?: boolean;
|
|
111
|
+
/**
|
|
112
|
+
* Additional CSS class for the segmented button container
|
|
113
|
+
*/
|
|
114
|
+
class?: string;
|
|
115
|
+
/**
|
|
116
|
+
* Whether to enable ripple effect
|
|
117
|
+
* @default true
|
|
118
|
+
*/
|
|
119
|
+
ripple?: boolean;
|
|
120
|
+
/**
|
|
121
|
+
* Density setting that controls the component's size and spacing
|
|
122
|
+
* @default Density.DEFAULT
|
|
123
|
+
*/
|
|
124
|
+
density?: Density | string;
|
|
125
|
+
/**
|
|
126
|
+
* Ripple effect configuration
|
|
127
|
+
*/
|
|
128
|
+
rippleConfig?: {
|
|
129
|
+
/** Duration of the ripple animation in milliseconds */
|
|
130
|
+
duration?: number;
|
|
131
|
+
/** Timing function for the ripple animation */
|
|
132
|
+
timing?: string;
|
|
133
|
+
/** Opacity values for ripple start and end [start, end] */
|
|
134
|
+
opacity?: [string, string];
|
|
135
|
+
};
|
|
136
|
+
/**
|
|
137
|
+
* Event handlers for segmented button events
|
|
138
|
+
*/
|
|
139
|
+
on?: {
|
|
140
|
+
[key in SegmentedButtonEventType]?: (event: SegmentedButtonEvent) => void;
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Interface for a segment within a segmented button
|
|
145
|
+
* @category Components
|
|
146
|
+
*/
|
|
147
|
+
export interface Segment {
|
|
148
|
+
/** The segment's DOM element */
|
|
149
|
+
element: HTMLElement;
|
|
150
|
+
/** The segment's value */
|
|
151
|
+
value: string;
|
|
152
|
+
/**
|
|
153
|
+
* Gets whether the segment is selected
|
|
154
|
+
*/
|
|
155
|
+
isSelected: () => boolean;
|
|
156
|
+
/**
|
|
157
|
+
* Sets the segment's selected state
|
|
158
|
+
* @param selected - Whether the segment should be selected
|
|
159
|
+
*/
|
|
160
|
+
setSelected: (selected: boolean) => void;
|
|
161
|
+
/**
|
|
162
|
+
* Gets whether the segment is disabled
|
|
163
|
+
*/
|
|
164
|
+
isDisabled: () => boolean;
|
|
165
|
+
/**
|
|
166
|
+
* Sets the segment's disabled state
|
|
167
|
+
* @param disabled - Whether the segment should be disabled
|
|
168
|
+
*/
|
|
169
|
+
setDisabled: (disabled: boolean) => void;
|
|
170
|
+
/**
|
|
171
|
+
* Destroys the segment and cleans up resources
|
|
172
|
+
*/
|
|
173
|
+
destroy: () => void;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Segmented Button component interface
|
|
177
|
+
* @category Components
|
|
178
|
+
*/
|
|
179
|
+
export interface SegmentedButtonComponent {
|
|
180
|
+
/** The component's container DOM element */
|
|
181
|
+
element: HTMLElement;
|
|
182
|
+
/** Array of segment objects */
|
|
183
|
+
segments: Segment[];
|
|
184
|
+
/**
|
|
185
|
+
* Gets the selected segment(s)
|
|
186
|
+
* @returns An array of selected segments
|
|
187
|
+
*/
|
|
188
|
+
getSelected: () => Segment[];
|
|
189
|
+
/**
|
|
190
|
+
* Gets the values of selected segment(s)
|
|
191
|
+
* @returns An array of selected segment values
|
|
192
|
+
*/
|
|
193
|
+
getValue: () => string[];
|
|
194
|
+
/**
|
|
195
|
+
* Selects a segment by its value
|
|
196
|
+
* @param value - The value of the segment to select
|
|
197
|
+
* @returns The SegmentedButtonComponent for chaining
|
|
198
|
+
*/
|
|
199
|
+
select: (value: string) => SegmentedButtonComponent;
|
|
200
|
+
/**
|
|
201
|
+
* Deselects a segment by its value
|
|
202
|
+
* @param value - The value of the segment to deselect
|
|
203
|
+
* @returns The SegmentedButtonComponent for chaining
|
|
204
|
+
*/
|
|
205
|
+
deselect: (value: string) => SegmentedButtonComponent;
|
|
206
|
+
/**
|
|
207
|
+
* Enables the segmented button
|
|
208
|
+
* @returns The SegmentedButtonComponent for chaining
|
|
209
|
+
*/
|
|
210
|
+
enable: () => SegmentedButtonComponent;
|
|
211
|
+
/**
|
|
212
|
+
* Disables the segmented button
|
|
213
|
+
* @returns The SegmentedButtonComponent for chaining
|
|
214
|
+
*/
|
|
215
|
+
disable: () => SegmentedButtonComponent;
|
|
216
|
+
/**
|
|
217
|
+
* Enables a specific segment by its value
|
|
218
|
+
* @param value - The value of the segment to enable
|
|
219
|
+
* @returns The SegmentedButtonComponent for chaining
|
|
220
|
+
*/
|
|
221
|
+
enableSegment: (value: string) => SegmentedButtonComponent;
|
|
222
|
+
/**
|
|
223
|
+
* Disables a specific segment by its value
|
|
224
|
+
* @param value - The value of the segment to disable
|
|
225
|
+
* @returns The SegmentedButtonComponent for chaining
|
|
226
|
+
*/
|
|
227
|
+
disableSegment: (value: string) => SegmentedButtonComponent;
|
|
228
|
+
/**
|
|
229
|
+
* Sets the density of the segmented button
|
|
230
|
+
* @param density - The density level to set
|
|
231
|
+
* @returns The SegmentedButtonComponent for chaining
|
|
232
|
+
*/
|
|
233
|
+
setDensity: (density: Density | string) => SegmentedButtonComponent;
|
|
234
|
+
/**
|
|
235
|
+
* Gets the current density setting
|
|
236
|
+
* @returns The current density
|
|
237
|
+
*/
|
|
238
|
+
getDensity: () => string;
|
|
239
|
+
/**
|
|
240
|
+
* Adds an event listener to the segmented button
|
|
241
|
+
* @param event - Event name ('change', etc.)
|
|
242
|
+
* @param handler - Event handler function
|
|
243
|
+
* @returns The SegmentedButtonComponent for chaining
|
|
244
|
+
*/
|
|
245
|
+
on: (event: SegmentedButtonEventType, handler: (event: SegmentedButtonEvent) => void) => SegmentedButtonComponent;
|
|
246
|
+
/**
|
|
247
|
+
* Removes an event listener from the segmented button
|
|
248
|
+
* @param event - Event name
|
|
249
|
+
* @param handler - Event handler function
|
|
250
|
+
* @returns The SegmentedButtonComponent for chaining
|
|
251
|
+
*/
|
|
252
|
+
off: (event: SegmentedButtonEventType, handler: (event: SegmentedButtonEvent) => void) => SegmentedButtonComponent;
|
|
253
|
+
/**
|
|
254
|
+
* Destroys the component and cleans up resources
|
|
255
|
+
*/
|
|
256
|
+
destroy: () => void;
|
|
257
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { SelectComponent, ApiOptions } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Enhances a select component with API methods
|
|
4
|
+
* @param options - API configuration options
|
|
5
|
+
* @returns Higher-order function that adds API methods to component
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export declare const withAPI: (options: ApiOptions) => (component: any) => SelectComponent;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { SelectConfig, BaseComponent, ApiOptions } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Default configuration for the Select component
|
|
4
|
+
*/
|
|
5
|
+
export declare const defaultConfig: SelectConfig;
|
|
6
|
+
/**
|
|
7
|
+
* Creates the base configuration for Select component
|
|
8
|
+
* @param {SelectConfig} config - User provided configuration
|
|
9
|
+
* @returns {SelectConfig} Complete configuration with defaults applied
|
|
10
|
+
*/
|
|
11
|
+
export declare const createBaseConfig: (config?: SelectConfig) => SelectConfig;
|
|
12
|
+
/**
|
|
13
|
+
* Creates API configuration for the Select component
|
|
14
|
+
* @param {BaseComponent} comp - Component with select features
|
|
15
|
+
* @returns {ApiOptions} API configuration object
|
|
16
|
+
*/
|
|
17
|
+
export declare const getApiConfig: (comp: BaseComponent) => ApiOptions;
|
|
18
|
+
export default defaultConfig;
|