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,703 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extended FAB variants following Material Design 3 guidelines
|
|
3
|
+
*
|
|
4
|
+
* Material Design 3 offers different color variants for the Extended FAB
|
|
5
|
+
* to match visual hierarchy and application color schemes.
|
|
6
|
+
*
|
|
7
|
+
* @category Components
|
|
8
|
+
* @remarks
|
|
9
|
+
* - primary: Uses the primary color, highest emphasis (default)
|
|
10
|
+
* - secondary: Uses the secondary color, medium emphasis
|
|
11
|
+
* - tertiary: Uses the tertiary color, lower emphasis
|
|
12
|
+
* - surface: Uses the surface color with an outline, lowest emphasis
|
|
13
|
+
*/
|
|
14
|
+
export type ExtendedFabVariant = 'primary' | 'secondary' | 'tertiary' | 'surface';
|
|
15
|
+
/**
|
|
16
|
+
* Extended FAB width behavior
|
|
17
|
+
*
|
|
18
|
+
* Controls how the Extended FAB's width is calculated.
|
|
19
|
+
*
|
|
20
|
+
* @category Components
|
|
21
|
+
* @remarks
|
|
22
|
+
* - fixed: Maintains a constant width regardless of content (default)
|
|
23
|
+
* - fluid: Adjusts width based on content length
|
|
24
|
+
*/
|
|
25
|
+
export type ExtendedFabWidth = 'fixed' | 'fluid';
|
|
26
|
+
/**
|
|
27
|
+
* Extended FAB position on the screen
|
|
28
|
+
*
|
|
29
|
+
* Predefined positions for the Extended FAB when used as a floating element.
|
|
30
|
+
* These positions automatically apply appropriate margins and positioning.
|
|
31
|
+
*
|
|
32
|
+
* @category Components
|
|
33
|
+
* @remarks
|
|
34
|
+
* Common patterns:
|
|
35
|
+
* - bottom-right: Most common position for primary actions
|
|
36
|
+
* - bottom-left: Alternative position on left-to-right interfaces
|
|
37
|
+
* - top-right: Used for actions related to top content
|
|
38
|
+
* - top-left: Less common but available for special layouts
|
|
39
|
+
*/
|
|
40
|
+
export type ExtendedFabPosition = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left';
|
|
41
|
+
/**
|
|
42
|
+
* Configuration interface for the Extended FAB component
|
|
43
|
+
*
|
|
44
|
+
* Comprehensive options for creating and customizing an Extended Floating Action Button
|
|
45
|
+
* according to Material Design 3 guidelines.
|
|
46
|
+
*
|
|
47
|
+
* @category Components
|
|
48
|
+
* @see https://m3.material.io/components/extended-fab/overview
|
|
49
|
+
*/
|
|
50
|
+
export interface ExtendedFabConfig {
|
|
51
|
+
/**
|
|
52
|
+
* Extended FAB variant that determines visual styling
|
|
53
|
+
*
|
|
54
|
+
* The color variant affects the Extended FAB's background color, text color, and elevation.
|
|
55
|
+
*
|
|
56
|
+
* @default 'primary'
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```typescript
|
|
60
|
+
* // Create a tertiary Extended FAB
|
|
61
|
+
* createExtendedFab({ variant: 'tertiary', text: 'Archive' })
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
variant?: ExtendedFabVariant | string;
|
|
65
|
+
/**
|
|
66
|
+
* Whether the Extended FAB is initially disabled
|
|
67
|
+
*
|
|
68
|
+
* When disabled, the Extended FAB will have a visually muted appearance
|
|
69
|
+
* and won't respond to user interactions.
|
|
70
|
+
*
|
|
71
|
+
* @default false
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```typescript
|
|
75
|
+
* // Create a disabled Extended FAB
|
|
76
|
+
* const fab = createExtendedFab({ text: 'Submit', disabled: true });
|
|
77
|
+
*
|
|
78
|
+
* // Later enable it when form is valid
|
|
79
|
+
* validateForm().then(isValid => {
|
|
80
|
+
* if (isValid) fab.enable();
|
|
81
|
+
* });
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
disabled?: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Extended FAB icon HTML content
|
|
87
|
+
*
|
|
88
|
+
* The icon content can be any valid HTML, but typically contains an SVG icon
|
|
89
|
+
* or a Material Icons ligature. Icons should be 24x24dp following Material guidelines.
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* ```typescript
|
|
93
|
+
* // Using an SVG icon
|
|
94
|
+
* createExtendedFab({
|
|
95
|
+
* text: 'Add',
|
|
96
|
+
* icon: '<svg width="24" height="24" viewBox="0 0 24 24"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/></svg>'
|
|
97
|
+
* });
|
|
98
|
+
*
|
|
99
|
+
* // Using a Material Icons ligature
|
|
100
|
+
* createExtendedFab({
|
|
101
|
+
* text: 'Add',
|
|
102
|
+
* icon: '<span class="material-icons">add</span>'
|
|
103
|
+
* });
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
icon?: string;
|
|
107
|
+
/**
|
|
108
|
+
* Icon size in pixels or other CSS units
|
|
109
|
+
*
|
|
110
|
+
* Allows customizing the icon size beyond the default 24px size.
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* ```typescript
|
|
114
|
+
* // Create an Extended FAB with larger icon
|
|
115
|
+
* createExtendedFab({
|
|
116
|
+
* text: 'Edit',
|
|
117
|
+
* icon: '<svg>...</svg>',
|
|
118
|
+
* iconSize: '32px'
|
|
119
|
+
* });
|
|
120
|
+
* ```
|
|
121
|
+
*/
|
|
122
|
+
iconSize?: string;
|
|
123
|
+
/**
|
|
124
|
+
* Position of the icon relative to the text
|
|
125
|
+
*
|
|
126
|
+
* Controls whether the icon appears before or after the text label.
|
|
127
|
+
* Material Design 3 guidelines typically recommend the icon at the start position.
|
|
128
|
+
*
|
|
129
|
+
* @default 'start'
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* ```typescript
|
|
133
|
+
* // Create an Extended FAB with icon after text
|
|
134
|
+
* createExtendedFab({
|
|
135
|
+
* text: 'Next',
|
|
136
|
+
* icon: '<span class="material-icons">arrow_forward</span>',
|
|
137
|
+
* iconPosition: 'end'
|
|
138
|
+
* });
|
|
139
|
+
* ```
|
|
140
|
+
*/
|
|
141
|
+
iconPosition?: 'start' | 'end';
|
|
142
|
+
/**
|
|
143
|
+
* Text label for the Extended FAB
|
|
144
|
+
*
|
|
145
|
+
* The text should be short, typically one or two words describing the primary action.
|
|
146
|
+
* Material Design guidelines recommend action verbs that clearly describe the action.
|
|
147
|
+
*
|
|
148
|
+
* @example
|
|
149
|
+
* ```typescript
|
|
150
|
+
* // Good text labels for Extended FABs
|
|
151
|
+
* createExtendedFab({ text: 'Create' });
|
|
152
|
+
* createExtendedFab({ text: 'Add Task' });
|
|
153
|
+
* createExtendedFab({ text: 'Submit' });
|
|
154
|
+
* ```
|
|
155
|
+
*/
|
|
156
|
+
text?: string;
|
|
157
|
+
/**
|
|
158
|
+
* Additional CSS classes to add to the Extended FAB
|
|
159
|
+
*
|
|
160
|
+
* Custom classes for styling or identifying the Extended FAB.
|
|
161
|
+
* These classes will be applied in addition to the component's built-in classes.
|
|
162
|
+
*
|
|
163
|
+
* @example
|
|
164
|
+
* ```typescript
|
|
165
|
+
* createExtendedFab({
|
|
166
|
+
* text: 'Create',
|
|
167
|
+
* class: 'home-page-fab custom-shadow'
|
|
168
|
+
* });
|
|
169
|
+
* ```
|
|
170
|
+
*/
|
|
171
|
+
class?: string;
|
|
172
|
+
/**
|
|
173
|
+
* Button value attribute
|
|
174
|
+
*
|
|
175
|
+
* Sets the HTML value attribute of the button element, useful when using
|
|
176
|
+
* the Extended FAB in a form context.
|
|
177
|
+
*
|
|
178
|
+
* @example
|
|
179
|
+
* ```typescript
|
|
180
|
+
* createExtendedFab({
|
|
181
|
+
* text: 'Submit',
|
|
182
|
+
* type: 'submit',
|
|
183
|
+
* value: 'form-submitted'
|
|
184
|
+
* });
|
|
185
|
+
* ```
|
|
186
|
+
*/
|
|
187
|
+
value?: string;
|
|
188
|
+
/**
|
|
189
|
+
* Position of the Extended FAB on the screen
|
|
190
|
+
*
|
|
191
|
+
* Configures the Extended FAB for floating positioning on the screen.
|
|
192
|
+
* Applies appropriate CSS classes to position the Extended FAB in one of the corners.
|
|
193
|
+
*
|
|
194
|
+
* @example
|
|
195
|
+
* ```typescript
|
|
196
|
+
* // Position in the bottom-right corner (common for primary actions)
|
|
197
|
+
* createExtendedFab({
|
|
198
|
+
* text: 'Create',
|
|
199
|
+
* position: 'bottom-right'
|
|
200
|
+
* });
|
|
201
|
+
*
|
|
202
|
+
* // Position in the top-left corner
|
|
203
|
+
* createExtendedFab({
|
|
204
|
+
* text: 'Go back',
|
|
205
|
+
* position: 'top-left'
|
|
206
|
+
* });
|
|
207
|
+
* ```
|
|
208
|
+
*/
|
|
209
|
+
position?: ExtendedFabPosition | string;
|
|
210
|
+
/**
|
|
211
|
+
* Button type attribute
|
|
212
|
+
*
|
|
213
|
+
* Sets the HTML type attribute of the button element.
|
|
214
|
+
*
|
|
215
|
+
* @default 'button'
|
|
216
|
+
*
|
|
217
|
+
* @example
|
|
218
|
+
* ```typescript
|
|
219
|
+
* // Use as a form submit button
|
|
220
|
+
* createExtendedFab({
|
|
221
|
+
* text: 'Submit',
|
|
222
|
+
* type: 'submit'
|
|
223
|
+
* });
|
|
224
|
+
* ```
|
|
225
|
+
*/
|
|
226
|
+
type?: 'button' | 'submit' | 'reset';
|
|
227
|
+
/**
|
|
228
|
+
* Accessible label for screen readers
|
|
229
|
+
*
|
|
230
|
+
* Sets the aria-label attribute for accessibility. Especially important
|
|
231
|
+
* if the Extended FAB doesn't include text content.
|
|
232
|
+
*
|
|
233
|
+
* @example
|
|
234
|
+
* ```typescript
|
|
235
|
+
* createExtendedFab({
|
|
236
|
+
* text: 'Create',
|
|
237
|
+
* icon: '<svg>...</svg>',
|
|
238
|
+
* ariaLabel: 'Create new document'
|
|
239
|
+
* });
|
|
240
|
+
* ```
|
|
241
|
+
*/
|
|
242
|
+
ariaLabel?: string;
|
|
243
|
+
/**
|
|
244
|
+
* Whether to enable ripple effect
|
|
245
|
+
*
|
|
246
|
+
* The ripple effect provides visual feedback when the user interacts
|
|
247
|
+
* with the Extended FAB. Follows Material Design interaction patterns.
|
|
248
|
+
*
|
|
249
|
+
* @default true
|
|
250
|
+
*
|
|
251
|
+
* @example
|
|
252
|
+
* ```typescript
|
|
253
|
+
* // Disable the ripple effect
|
|
254
|
+
* createExtendedFab({
|
|
255
|
+
* text: 'Create',
|
|
256
|
+
* ripple: false
|
|
257
|
+
* });
|
|
258
|
+
* ```
|
|
259
|
+
*/
|
|
260
|
+
ripple?: boolean;
|
|
261
|
+
/**
|
|
262
|
+
* Component prefix for class names
|
|
263
|
+
*
|
|
264
|
+
* The prefix used for BEM-style class names.
|
|
265
|
+
*
|
|
266
|
+
* @default 'mtrl'
|
|
267
|
+
*
|
|
268
|
+
* @example
|
|
269
|
+
* ```typescript
|
|
270
|
+
* // Use a custom prefix for class names
|
|
271
|
+
* createExtendedFab({
|
|
272
|
+
* text: 'Create',
|
|
273
|
+
* prefix: 'app'
|
|
274
|
+
* });
|
|
275
|
+
* // Results in classes like: 'app-extended-fab app-extended-fab--primary'
|
|
276
|
+
* ```
|
|
277
|
+
*/
|
|
278
|
+
prefix?: string;
|
|
279
|
+
/**
|
|
280
|
+
* Component name used in class generation
|
|
281
|
+
*
|
|
282
|
+
* @internal
|
|
283
|
+
*/
|
|
284
|
+
componentName?: string;
|
|
285
|
+
/**
|
|
286
|
+
* Ripple effect configuration
|
|
287
|
+
*
|
|
288
|
+
* Fine-grained control over the ripple effect appearance and behavior.
|
|
289
|
+
*
|
|
290
|
+
* @example
|
|
291
|
+
* ```typescript
|
|
292
|
+
* // Customize ripple effect
|
|
293
|
+
* createExtendedFab({
|
|
294
|
+
* text: 'Create',
|
|
295
|
+
* rippleConfig: {
|
|
296
|
+
* duration: 400,
|
|
297
|
+
* timing: 'ease-out',
|
|
298
|
+
* opacity: ['0.5', '0']
|
|
299
|
+
* }
|
|
300
|
+
* });
|
|
301
|
+
* ```
|
|
302
|
+
*/
|
|
303
|
+
rippleConfig?: {
|
|
304
|
+
/** Duration of the ripple animation in milliseconds */
|
|
305
|
+
duration?: number;
|
|
306
|
+
/** Timing function for the ripple animation */
|
|
307
|
+
timing?: string;
|
|
308
|
+
/** Opacity values for ripple start and end [start, end] */
|
|
309
|
+
opacity?: [string, string];
|
|
310
|
+
};
|
|
311
|
+
/**
|
|
312
|
+
* Whether to show the Extended FAB with an entrance animation
|
|
313
|
+
*
|
|
314
|
+
* When true, the Extended FAB will animate into view when added to the DOM.
|
|
315
|
+
*
|
|
316
|
+
* @default false
|
|
317
|
+
*
|
|
318
|
+
* @example
|
|
319
|
+
* ```typescript
|
|
320
|
+
* // Create an animated entrance Extended FAB
|
|
321
|
+
* createExtendedFab({
|
|
322
|
+
* text: 'Create',
|
|
323
|
+
* animate: true
|
|
324
|
+
* });
|
|
325
|
+
* ```
|
|
326
|
+
*/
|
|
327
|
+
animate?: boolean;
|
|
328
|
+
/**
|
|
329
|
+
* Width behavior of the Extended FAB
|
|
330
|
+
*
|
|
331
|
+
* Controls how the Extended FAB's width is calculated:
|
|
332
|
+
* - 'fixed': Maintains a constant width regardless of content (default)
|
|
333
|
+
* - 'fluid': Adjusts width based on content length
|
|
334
|
+
*
|
|
335
|
+
* @default 'fixed'
|
|
336
|
+
*
|
|
337
|
+
* @example
|
|
338
|
+
* ```typescript
|
|
339
|
+
* // Create an Extended FAB that adjusts width based on text length
|
|
340
|
+
* createExtendedFab({
|
|
341
|
+
* text: 'Add to favorites',
|
|
342
|
+
* width: 'fluid'
|
|
343
|
+
* });
|
|
344
|
+
* ```
|
|
345
|
+
*/
|
|
346
|
+
width?: ExtendedFabWidth | string;
|
|
347
|
+
/**
|
|
348
|
+
* Whether the Extended FAB should collapse to a standard FAB on scroll
|
|
349
|
+
*
|
|
350
|
+
* When true, the Extended FAB will automatically shrink to a circular FAB
|
|
351
|
+
* (hiding the text) when the user scrolls down, and expand back to the Extended FAB
|
|
352
|
+
* when scrolling up.
|
|
353
|
+
*
|
|
354
|
+
* @default false
|
|
355
|
+
*
|
|
356
|
+
* @example
|
|
357
|
+
* ```typescript
|
|
358
|
+
* // Create a collapsible Extended FAB
|
|
359
|
+
* createExtendedFab({
|
|
360
|
+
* text: 'Create',
|
|
361
|
+
* icon: '<svg>...</svg>',
|
|
362
|
+
* collapseOnScroll: true
|
|
363
|
+
* });
|
|
364
|
+
* ```
|
|
365
|
+
*/
|
|
366
|
+
collapseOnScroll?: boolean;
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Extended FAB component interface
|
|
370
|
+
*
|
|
371
|
+
* Provides methods for interacting with and manipulating an Extended Floating Action Button.
|
|
372
|
+
*
|
|
373
|
+
* @category Components
|
|
374
|
+
*/
|
|
375
|
+
export interface ExtendedFabComponent {
|
|
376
|
+
/**
|
|
377
|
+
* The Extended FAB's DOM element
|
|
378
|
+
*
|
|
379
|
+
* Direct access to the underlying button element for DOM manipulation.
|
|
380
|
+
*/
|
|
381
|
+
element: HTMLButtonElement;
|
|
382
|
+
/**
|
|
383
|
+
* API for managing Extended FAB icons
|
|
384
|
+
*
|
|
385
|
+
* Access to low-level icon methods and elements.
|
|
386
|
+
*/
|
|
387
|
+
icon: {
|
|
388
|
+
/** Sets the icon HTML content */
|
|
389
|
+
setIcon: (html: string) => any;
|
|
390
|
+
/** Gets the current icon HTML content */
|
|
391
|
+
getIcon: () => string;
|
|
392
|
+
/** Gets the icon DOM element */
|
|
393
|
+
getElement: () => HTMLElement | null;
|
|
394
|
+
};
|
|
395
|
+
/**
|
|
396
|
+
* API for managing text content
|
|
397
|
+
*
|
|
398
|
+
* Access to low-level text methods and elements.
|
|
399
|
+
*/
|
|
400
|
+
text: {
|
|
401
|
+
/** Sets the text content */
|
|
402
|
+
setText: (text: string) => any;
|
|
403
|
+
/** Gets the current text content */
|
|
404
|
+
getText: () => string;
|
|
405
|
+
/** Gets the text DOM element */
|
|
406
|
+
getElement: () => HTMLElement | null;
|
|
407
|
+
};
|
|
408
|
+
/**
|
|
409
|
+
* API for managing disabled state
|
|
410
|
+
*
|
|
411
|
+
* Access to low-level disabled state methods.
|
|
412
|
+
*/
|
|
413
|
+
disabled: {
|
|
414
|
+
/** Enables the Extended FAB */
|
|
415
|
+
enable: () => void;
|
|
416
|
+
/** Disables the Extended FAB */
|
|
417
|
+
disable: () => void;
|
|
418
|
+
/** Checks if the Extended FAB is disabled */
|
|
419
|
+
isDisabled: () => boolean;
|
|
420
|
+
};
|
|
421
|
+
/**
|
|
422
|
+
* API for managing component lifecycle
|
|
423
|
+
*
|
|
424
|
+
* Access to low-level lifecycle methods.
|
|
425
|
+
*/
|
|
426
|
+
lifecycle: {
|
|
427
|
+
/** Destroys the component and cleans up resources */
|
|
428
|
+
destroy: () => void;
|
|
429
|
+
};
|
|
430
|
+
/**
|
|
431
|
+
* Gets a class name with the component's prefix
|
|
432
|
+
*
|
|
433
|
+
* @param name - Base class name
|
|
434
|
+
* @returns Prefixed class name
|
|
435
|
+
*
|
|
436
|
+
* @example
|
|
437
|
+
* ```typescript
|
|
438
|
+
* const fab = createExtendedFab({ text: 'Create' });
|
|
439
|
+
* const className = fab.getClass('icon'); // Returns 'mtrl-extended-fab__icon'
|
|
440
|
+
* ```
|
|
441
|
+
*/
|
|
442
|
+
getClass: (name: string) => string;
|
|
443
|
+
/**
|
|
444
|
+
* Gets the Extended FAB's value attribute
|
|
445
|
+
*
|
|
446
|
+
* @returns Extended FAB value
|
|
447
|
+
*
|
|
448
|
+
* @example
|
|
449
|
+
* ```typescript
|
|
450
|
+
* const fab = createExtendedFab({ text: 'Submit', value: 'form-data' });
|
|
451
|
+
* const value = fab.getValue(); // Returns 'form-data'
|
|
452
|
+
* ```
|
|
453
|
+
*/
|
|
454
|
+
getValue: () => string;
|
|
455
|
+
/**
|
|
456
|
+
* Sets the Extended FAB's value attribute
|
|
457
|
+
*
|
|
458
|
+
* @param value - New value
|
|
459
|
+
* @returns The Extended FAB component for chaining
|
|
460
|
+
*
|
|
461
|
+
* @example
|
|
462
|
+
* ```typescript
|
|
463
|
+
* const fab = createExtendedFab({ text: 'Submit' });
|
|
464
|
+
* fab.setValue('completed');
|
|
465
|
+
* ```
|
|
466
|
+
*/
|
|
467
|
+
setValue: (value: string) => ExtendedFabComponent;
|
|
468
|
+
/**
|
|
469
|
+
* Enables the Extended FAB (removes disabled attribute)
|
|
470
|
+
*
|
|
471
|
+
* Makes the Extended FAB interactive and visually enabled.
|
|
472
|
+
*
|
|
473
|
+
* @returns The Extended FAB component for chaining
|
|
474
|
+
*
|
|
475
|
+
* @example
|
|
476
|
+
* ```typescript
|
|
477
|
+
* // Enable a previously disabled Extended FAB
|
|
478
|
+
* fab.enable();
|
|
479
|
+
* ```
|
|
480
|
+
*/
|
|
481
|
+
enable: () => ExtendedFabComponent;
|
|
482
|
+
/**
|
|
483
|
+
* Disables the Extended FAB (adds disabled attribute)
|
|
484
|
+
*
|
|
485
|
+
* Makes the Extended FAB non-interactive and visually disabled.
|
|
486
|
+
*
|
|
487
|
+
* @returns The Extended FAB component for chaining
|
|
488
|
+
*
|
|
489
|
+
* @example
|
|
490
|
+
* ```typescript
|
|
491
|
+
* // Disable the Extended FAB during an async operation
|
|
492
|
+
* fab.disable();
|
|
493
|
+
* await saveData();
|
|
494
|
+
* fab.enable();
|
|
495
|
+
* ```
|
|
496
|
+
*/
|
|
497
|
+
disable: () => ExtendedFabComponent;
|
|
498
|
+
/**
|
|
499
|
+
* Sets the Extended FAB's icon
|
|
500
|
+
*
|
|
501
|
+
* @param icon - Icon HTML content
|
|
502
|
+
* @returns The Extended FAB component for chaining
|
|
503
|
+
*
|
|
504
|
+
* @example
|
|
505
|
+
* ```typescript
|
|
506
|
+
* // Change the icon dynamically
|
|
507
|
+
* fab.setIcon('<svg>...</svg>');
|
|
508
|
+
*
|
|
509
|
+
* // Change to a Material Icons ligature
|
|
510
|
+
* fab.setIcon('<span class="material-icons">edit</span>');
|
|
511
|
+
* ```
|
|
512
|
+
*/
|
|
513
|
+
setIcon: (icon: string) => ExtendedFabComponent;
|
|
514
|
+
/**
|
|
515
|
+
* Gets the Extended FAB's icon HTML content
|
|
516
|
+
*
|
|
517
|
+
* @returns Icon HTML
|
|
518
|
+
*
|
|
519
|
+
* @example
|
|
520
|
+
* ```typescript
|
|
521
|
+
* const iconHtml = fab.getIcon();
|
|
522
|
+
* ```
|
|
523
|
+
*/
|
|
524
|
+
getIcon: () => string;
|
|
525
|
+
/**
|
|
526
|
+
* Sets the Extended FAB's text content
|
|
527
|
+
*
|
|
528
|
+
* @param text - Text content
|
|
529
|
+
* @returns The Extended FAB component for chaining
|
|
530
|
+
*
|
|
531
|
+
* @example
|
|
532
|
+
* ```typescript
|
|
533
|
+
* // Change text dynamically based on state
|
|
534
|
+
* if (isEditing) {
|
|
535
|
+
* fab.setText('Save');
|
|
536
|
+
* } else {
|
|
537
|
+
* fab.setText('Edit');
|
|
538
|
+
* }
|
|
539
|
+
* ```
|
|
540
|
+
*/
|
|
541
|
+
setText: (text: string) => ExtendedFabComponent;
|
|
542
|
+
/**
|
|
543
|
+
* Gets the Extended FAB's text content
|
|
544
|
+
*
|
|
545
|
+
* @returns Text content
|
|
546
|
+
*
|
|
547
|
+
* @example
|
|
548
|
+
* ```typescript
|
|
549
|
+
* const currentText = fab.getText();
|
|
550
|
+
* ```
|
|
551
|
+
*/
|
|
552
|
+
getText: () => string;
|
|
553
|
+
/**
|
|
554
|
+
* Sets the Extended FAB's position
|
|
555
|
+
*
|
|
556
|
+
* Positions the Extended FAB in one of the four corners of the viewport.
|
|
557
|
+
*
|
|
558
|
+
* @param position - Position value ('top-right', 'bottom-left', etc.)
|
|
559
|
+
* @returns The Extended FAB component for chaining
|
|
560
|
+
*
|
|
561
|
+
* @example
|
|
562
|
+
* ```typescript
|
|
563
|
+
* // Move the Extended FAB to the bottom-left corner
|
|
564
|
+
* fab.setPosition('bottom-left');
|
|
565
|
+
* ```
|
|
566
|
+
*/
|
|
567
|
+
setPosition: (position: string) => ExtendedFabComponent;
|
|
568
|
+
/**
|
|
569
|
+
* Gets the current position of the Extended FAB
|
|
570
|
+
*
|
|
571
|
+
* @returns Current position or null if not positioned
|
|
572
|
+
*
|
|
573
|
+
* @example
|
|
574
|
+
* ```typescript
|
|
575
|
+
* const position = fab.getPosition(); // Returns 'bottom-right', 'top-left', etc.
|
|
576
|
+
* ```
|
|
577
|
+
*/
|
|
578
|
+
getPosition: () => string | null;
|
|
579
|
+
/**
|
|
580
|
+
* Lowers the Extended FAB (useful for pressed state)
|
|
581
|
+
*
|
|
582
|
+
* Visually lowers the Extended FAB by reducing its elevation,
|
|
583
|
+
* typically used to indicate a pressed or active state.
|
|
584
|
+
*
|
|
585
|
+
* @returns The Extended FAB component for chaining
|
|
586
|
+
*
|
|
587
|
+
* @example
|
|
588
|
+
* ```typescript
|
|
589
|
+
* // Visually lower the Extended FAB when a long operation starts
|
|
590
|
+
* fab.lower();
|
|
591
|
+
* await longOperation();
|
|
592
|
+
* fab.raise();
|
|
593
|
+
* ```
|
|
594
|
+
*/
|
|
595
|
+
lower: () => ExtendedFabComponent;
|
|
596
|
+
/**
|
|
597
|
+
* Raises the Extended FAB back to its default elevation
|
|
598
|
+
*
|
|
599
|
+
* Restores the default elevation after it has been lowered.
|
|
600
|
+
*
|
|
601
|
+
* @returns The Extended FAB component for chaining
|
|
602
|
+
*
|
|
603
|
+
* @example
|
|
604
|
+
* ```typescript
|
|
605
|
+
* // Restore normal elevation
|
|
606
|
+
* fab.raise();
|
|
607
|
+
* ```
|
|
608
|
+
*/
|
|
609
|
+
raise: () => ExtendedFabComponent;
|
|
610
|
+
/**
|
|
611
|
+
* Collapses the Extended FAB into a standard FAB
|
|
612
|
+
*
|
|
613
|
+
* Hides the text label, showing only the icon in a circular container.
|
|
614
|
+
* Useful for saving space or to emphasize other content.
|
|
615
|
+
*
|
|
616
|
+
* @returns The Extended FAB component for chaining
|
|
617
|
+
*
|
|
618
|
+
* @example
|
|
619
|
+
* ```typescript
|
|
620
|
+
* // Collapse the Extended FAB programmatically
|
|
621
|
+
* fab.collapse();
|
|
622
|
+
* ```
|
|
623
|
+
*/
|
|
624
|
+
collapse: () => ExtendedFabComponent;
|
|
625
|
+
/**
|
|
626
|
+
* Expands a collapsed Extended FAB back to its full size
|
|
627
|
+
*
|
|
628
|
+
* Shows the text label alongside the icon.
|
|
629
|
+
*
|
|
630
|
+
* @returns The Extended FAB component for chaining
|
|
631
|
+
*
|
|
632
|
+
* @example
|
|
633
|
+
* ```typescript
|
|
634
|
+
* // Expand the Extended FAB programmatically
|
|
635
|
+
* fab.expand();
|
|
636
|
+
* ```
|
|
637
|
+
*/
|
|
638
|
+
expand: () => ExtendedFabComponent;
|
|
639
|
+
/**
|
|
640
|
+
* Destroys the Extended FAB component and cleans up resources
|
|
641
|
+
*
|
|
642
|
+
* Removes event listeners and prepares the component for garbage collection.
|
|
643
|
+
* Call this method when the Extended FAB is no longer needed.
|
|
644
|
+
*
|
|
645
|
+
* @example
|
|
646
|
+
* ```typescript
|
|
647
|
+
* // Clean up when the component is no longer needed
|
|
648
|
+
* fab.destroy();
|
|
649
|
+
* ```
|
|
650
|
+
*/
|
|
651
|
+
destroy: () => void;
|
|
652
|
+
/**
|
|
653
|
+
* Adds an event listener to the Extended FAB
|
|
654
|
+
*
|
|
655
|
+
* @param event - Event name ('click', 'focus', etc.)
|
|
656
|
+
* @param handler - Event handler function
|
|
657
|
+
* @returns The Extended FAB component for chaining
|
|
658
|
+
*
|
|
659
|
+
* @example
|
|
660
|
+
* ```typescript
|
|
661
|
+
* // Add click handler
|
|
662
|
+
* fab.on('click', () => {
|
|
663
|
+
* console.log('Extended FAB clicked');
|
|
664
|
+
* });
|
|
665
|
+
*
|
|
666
|
+
* // Add custom event handler for collapse
|
|
667
|
+
* fab.on('collapse', () => {
|
|
668
|
+
* console.log('Extended FAB collapsed');
|
|
669
|
+
* });
|
|
670
|
+
* ```
|
|
671
|
+
*/
|
|
672
|
+
on: (event: string, handler: Function) => ExtendedFabComponent;
|
|
673
|
+
/**
|
|
674
|
+
* Removes an event listener from the Extended FAB
|
|
675
|
+
*
|
|
676
|
+
* @param event - Event name
|
|
677
|
+
* @param handler - Event handler function
|
|
678
|
+
* @returns The Extended FAB component for chaining
|
|
679
|
+
*
|
|
680
|
+
* @example
|
|
681
|
+
* ```typescript
|
|
682
|
+
* // Remove a previously added event handler
|
|
683
|
+
* const handler = () => console.log('Clicked');
|
|
684
|
+
* fab.on('click', handler);
|
|
685
|
+
* // Later...
|
|
686
|
+
* fab.off('click', handler);
|
|
687
|
+
* ```
|
|
688
|
+
*/
|
|
689
|
+
off: (event: string, handler: Function) => ExtendedFabComponent;
|
|
690
|
+
/**
|
|
691
|
+
* Adds CSS classes to the Extended FAB element
|
|
692
|
+
*
|
|
693
|
+
* @param classes - One or more class names to add
|
|
694
|
+
* @returns The Extended FAB component for chaining
|
|
695
|
+
*
|
|
696
|
+
* @example
|
|
697
|
+
* ```typescript
|
|
698
|
+
* // Add multiple classes
|
|
699
|
+
* fab.addClass('highlight', 'pulse-animation');
|
|
700
|
+
* ```
|
|
701
|
+
*/
|
|
702
|
+
addClass: (...classes: string[]) => ExtendedFabComponent;
|
|
703
|
+
}
|