mtrl 0.3.8 → 0.3.9
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 +63 -0
- package/dist/components/progress/constants.d.ts +58 -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 +199 -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/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} +34 -82
- package/dist/core/config.d.ts +130 -0
- package/{src/core/dom/attributes.ts → dist/core/dom/attributes.d.ts} +2 -13
- package/dist/core/dom/classes.d.ts +42 -0
- package/dist/core/dom/create.d.ts +124 -0
- package/dist/core/dom/events.d.ts +69 -0
- package/{src/core/dom/index.ts → dist/core/dom/index.d.ts} +1 -5
- 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 +23 -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/validate.d.ts +73 -0
- package/dist/index.cjs +64 -0
- package/dist/index.cjs.map +285 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.js +53 -14854
- package/dist/index.js.map +285 -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/classes.ts +0 -132
- package/src/core/dom/create.ts +0 -273
- package/src/core/dom/events.ts +0 -209
- 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,73 @@
|
|
|
1
|
+
import { SearchConfig } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Default configuration for the Search component
|
|
4
|
+
*/
|
|
5
|
+
export declare const defaultConfig: SearchConfig;
|
|
6
|
+
/**
|
|
7
|
+
* Creates the base configuration for Search component
|
|
8
|
+
* @param {SearchConfig} config - User provided configuration
|
|
9
|
+
* @returns {SearchConfig} Complete configuration with defaults applied
|
|
10
|
+
*/
|
|
11
|
+
export declare const createBaseConfig: (config?: SearchConfig) => SearchConfig;
|
|
12
|
+
/**
|
|
13
|
+
* Generates element configuration for the Search component
|
|
14
|
+
* @param {SearchConfig} config - Search configuration
|
|
15
|
+
* @returns {Object} Element configuration object for withElement
|
|
16
|
+
*/
|
|
17
|
+
export declare const getElementConfig: (config: SearchConfig) => {
|
|
18
|
+
tag: string;
|
|
19
|
+
componentName: string;
|
|
20
|
+
attrs: Record<string, any>;
|
|
21
|
+
className: string[];
|
|
22
|
+
rawClass: string | string[];
|
|
23
|
+
html: string;
|
|
24
|
+
text: string;
|
|
25
|
+
forwardEvents: Record<string, boolean | ((component: any, event: Event) => boolean)>;
|
|
26
|
+
interactive: boolean;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Creates API configuration for the Search component
|
|
30
|
+
* @param {Object} comp - Component with search features
|
|
31
|
+
* @returns {Object} API configuration object
|
|
32
|
+
*/
|
|
33
|
+
export declare const getApiConfig: (comp: any) => {
|
|
34
|
+
search: {
|
|
35
|
+
setValue: (v: any, t: any) => any;
|
|
36
|
+
getValue: () => any;
|
|
37
|
+
setPlaceholder: (p: any) => any;
|
|
38
|
+
getPlaceholder: () => any;
|
|
39
|
+
focus: () => any;
|
|
40
|
+
blur: () => any;
|
|
41
|
+
expand: () => any;
|
|
42
|
+
collapse: () => any;
|
|
43
|
+
clear: () => any;
|
|
44
|
+
submit: () => any;
|
|
45
|
+
setSuggestions: (s: any) => any;
|
|
46
|
+
showSuggestions: (s: any) => any;
|
|
47
|
+
};
|
|
48
|
+
disabled: {
|
|
49
|
+
enable: () => any;
|
|
50
|
+
disable: () => any;
|
|
51
|
+
isDisabled: () => any;
|
|
52
|
+
};
|
|
53
|
+
appearance: {
|
|
54
|
+
setColor: (c: any) => any;
|
|
55
|
+
getColor: () => any;
|
|
56
|
+
setSize: (s: any) => any;
|
|
57
|
+
getSize: () => any;
|
|
58
|
+
};
|
|
59
|
+
icons: {
|
|
60
|
+
setLeadingIcon: (i: any) => any;
|
|
61
|
+
setTrailingIcon: (i: any) => any;
|
|
62
|
+
setTrailingIcon2: (i: any) => any;
|
|
63
|
+
setAvatar: (a: any) => any;
|
|
64
|
+
showClearButton: (s: any) => any;
|
|
65
|
+
};
|
|
66
|
+
events: {
|
|
67
|
+
on: (e: any, h: any) => any;
|
|
68
|
+
off: (e: any, h: any) => any;
|
|
69
|
+
};
|
|
70
|
+
lifecycle: {
|
|
71
|
+
destroy: () => any;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Search component variants
|
|
3
|
+
*/
|
|
4
|
+
export declare const SEARCH_VARIANTS: {
|
|
5
|
+
/** Standard search box */
|
|
6
|
+
readonly STANDARD: "standard";
|
|
7
|
+
/** Search in bar layout */
|
|
8
|
+
readonly BAR: "bar";
|
|
9
|
+
/** Search in rail layout */
|
|
10
|
+
readonly RAIL: "rail";
|
|
11
|
+
/** Search in drawer layout */
|
|
12
|
+
readonly DRAWER: "drawer";
|
|
13
|
+
/** Modal search that expands to take focus */
|
|
14
|
+
readonly MODAL: "modal";
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Search component states
|
|
18
|
+
*/
|
|
19
|
+
export declare const SEARCH_STATES: {
|
|
20
|
+
/** Search is focused */
|
|
21
|
+
readonly FOCUSED: "focused";
|
|
22
|
+
/** Search is expanded (for bar or modal variants) */
|
|
23
|
+
readonly EXPANDED: "expanded";
|
|
24
|
+
/** Search is collapsed (for bar or modal variants) */
|
|
25
|
+
readonly COLLAPSED: "collapsed";
|
|
26
|
+
/** Search has content */
|
|
27
|
+
readonly POPULATED: "populated";
|
|
28
|
+
/** Search is disabled */
|
|
29
|
+
readonly DISABLED: "disabled";
|
|
30
|
+
/** Search is showing suggestions */
|
|
31
|
+
readonly SUGGESTING: "suggesting";
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Search component events
|
|
35
|
+
*/
|
|
36
|
+
export declare const SEARCH_EVENTS: {
|
|
37
|
+
/** Fired when search input is focused */
|
|
38
|
+
readonly FOCUS: "focus";
|
|
39
|
+
/** Fired when search input loses focus */
|
|
40
|
+
readonly BLUR: "blur";
|
|
41
|
+
/** Fired when input value changes */
|
|
42
|
+
readonly INPUT: "input";
|
|
43
|
+
/** Fired when search is submitted */
|
|
44
|
+
readonly SUBMIT: "submit";
|
|
45
|
+
/** Fired when search is cleared */
|
|
46
|
+
readonly CLEAR: "clear";
|
|
47
|
+
/** Fired when an icon is clicked */
|
|
48
|
+
readonly ICON_CLICK: "iconClick";
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Default search icons (standard set)
|
|
52
|
+
*/
|
|
53
|
+
export declare const SEARCH_ICONS: {
|
|
54
|
+
/** Default search icon */
|
|
55
|
+
readonly SEARCH: "<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=\"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z\"/></svg>";
|
|
56
|
+
/** Clear/close icon */
|
|
57
|
+
readonly CLEAR: "<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=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>";
|
|
58
|
+
/** Back arrow icon */
|
|
59
|
+
readonly BACK: "<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=\"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z\"/></svg>";
|
|
60
|
+
/** Settings/options icon */
|
|
61
|
+
readonly SETTINGS: "<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=\"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\"/></svg>";
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Default configuration values
|
|
65
|
+
*/
|
|
66
|
+
export declare const SEARCH_DEFAULTS: {
|
|
67
|
+
/** Default variant */
|
|
68
|
+
readonly VARIANT: "standard";
|
|
69
|
+
/** Default placeholder text */
|
|
70
|
+
readonly PLACEHOLDER: "Search";
|
|
71
|
+
/** Default value */
|
|
72
|
+
readonly VALUE: "";
|
|
73
|
+
/** Default leading icon */
|
|
74
|
+
readonly LEADING_ICON: "<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=\"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z\"/></svg>";
|
|
75
|
+
/** Whether to show clear button by default */
|
|
76
|
+
readonly SHOW_CLEAR_BUTTON: true;
|
|
77
|
+
/** Default max width (in pixels) */
|
|
78
|
+
readonly MAX_WIDTH: 480;
|
|
79
|
+
/** Default min width (in pixels) */
|
|
80
|
+
readonly MIN_WIDTH: 240;
|
|
81
|
+
/** Whether the component is full width by default */
|
|
82
|
+
readonly FULL_WIDTH: false;
|
|
83
|
+
/** Whether to show dividers between suggestion groups */
|
|
84
|
+
readonly SHOW_DIVIDERS: true;
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* CSS classes for search component elements
|
|
88
|
+
*/
|
|
89
|
+
export declare const SEARCH_CLASSES: {
|
|
90
|
+
/** Container element */
|
|
91
|
+
readonly CONTAINER: "search";
|
|
92
|
+
/** Variant modifier class prefix */
|
|
93
|
+
readonly VARIANT_PREFIX: "search--";
|
|
94
|
+
/** Search input element */
|
|
95
|
+
readonly INPUT: "search__input";
|
|
96
|
+
/** Leading icon container */
|
|
97
|
+
readonly LEADING_ICON: "search__leading-icon";
|
|
98
|
+
/** Trailing icon container */
|
|
99
|
+
readonly TRAILING_ICON: "search__trailing-icon";
|
|
100
|
+
/** Second trailing icon container */
|
|
101
|
+
readonly TRAILING_ICON2: "search__trailing-icon2";
|
|
102
|
+
/** Avatar container */
|
|
103
|
+
readonly AVATAR: "search__avatar";
|
|
104
|
+
/** Clear button */
|
|
105
|
+
readonly CLEAR_BUTTON: "search__clear-button";
|
|
106
|
+
/** Suggestions container */
|
|
107
|
+
readonly SUGGESTIONS: "search__suggestions";
|
|
108
|
+
/** Individual suggestion item */
|
|
109
|
+
readonly SUGGESTION_ITEM: "search__suggestion-item";
|
|
110
|
+
/** Suggestion divider */
|
|
111
|
+
readonly SUGGESTION_DIVIDER: "search__suggestion-divider";
|
|
112
|
+
/** Suggestion icon */
|
|
113
|
+
readonly SUGGESTION_ICON: "search__suggestion-icon";
|
|
114
|
+
/** Suggestion text */
|
|
115
|
+
readonly SUGGESTION_TEXT: "search__suggestion-text";
|
|
116
|
+
/** Focused state */
|
|
117
|
+
readonly FOCUSED: "search--focused";
|
|
118
|
+
/** Expanded state */
|
|
119
|
+
readonly EXPANDED: "search--expanded";
|
|
120
|
+
/** Populated state (has value) */
|
|
121
|
+
readonly POPULATED: "search--populated";
|
|
122
|
+
/** Disabled state */
|
|
123
|
+
readonly DISABLED: "search--disabled";
|
|
124
|
+
/** Full width modifier */
|
|
125
|
+
readonly FULL_WIDTH: "search--full-width";
|
|
126
|
+
/** Showing suggestions state */
|
|
127
|
+
readonly SUGGESTING: "search--suggesting";
|
|
128
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SearchConfig } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Add main search functionality to component
|
|
4
|
+
* @param config Search configuration
|
|
5
|
+
* @returns Component enhancer with search functionality
|
|
6
|
+
*/
|
|
7
|
+
export declare const withSearch: (config: SearchConfig) => (component: any) => any;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { SearchConfig } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Add state management features to search component
|
|
4
|
+
*
|
|
5
|
+
* @param config Search configuration
|
|
6
|
+
* @returns Component enhancer with state management features
|
|
7
|
+
*/
|
|
8
|
+
export declare const withStates: (config: SearchConfig) => (component: any) => any;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SearchConfig } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Creates the search component DOM structure
|
|
4
|
+
* @param config Search configuration
|
|
5
|
+
* @returns Component enhancer with DOM structure
|
|
6
|
+
*/
|
|
7
|
+
export declare const withStructure: (config: SearchConfig) => (component: any) => any;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { SearchConfig, SearchComponent } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a new Search component
|
|
4
|
+
* @param {SearchConfig} config - Search configuration object
|
|
5
|
+
* @returns {SearchComponent} Search component instance
|
|
6
|
+
*/
|
|
7
|
+
declare const createSearch: (config?: SearchConfig) => SearchComponent;
|
|
8
|
+
export default createSearch;
|
|
@@ -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
|
+
attrs: {
|
|
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
|
+
attrs: {
|
|
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;
|