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
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
// src/components/timepicker/timePicker.ts
|
|
2
|
-
|
|
3
|
-
import { PREFIX } from '../../core/config';
|
|
4
|
-
import { pipe } from '../../core/compose';
|
|
5
|
-
import { createBase, withElement } from '../../core/compose/component';
|
|
6
|
-
import {
|
|
7
|
-
withEvents,
|
|
8
|
-
withLifecycle
|
|
9
|
-
} from '../../core/compose/features';
|
|
10
|
-
import { TimePickerConfig, TimePickerComponent, TimeValue, TIME_PERIOD, TIME_FORMAT } from './types';
|
|
11
|
-
import { createBaseConfig, getContainerConfig, getModalConfig, getDialogConfig, getApiConfig } from './config';
|
|
12
|
-
import {
|
|
13
|
-
TIME_PICKER_TYPE,
|
|
14
|
-
TIME_PICKER_ORIENTATION,
|
|
15
|
-
EVENTS,
|
|
16
|
-
SELECTORS,
|
|
17
|
-
Z_INDEX
|
|
18
|
-
} from './config';
|
|
19
|
-
import { createTimePickerAPI } from './api';
|
|
20
|
-
import { renderTimePicker } from './render';
|
|
21
|
-
import { parseTime, formatTime } from './utils';
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Creates a new TimePicker component
|
|
25
|
-
* @param {TimePickerConfig} config - TimePicker configuration object
|
|
26
|
-
* @returns {TimePickerComponent} TimePicker component instance
|
|
27
|
-
*/
|
|
28
|
-
const createTimePicker = (config: TimePickerConfig = {}): TimePickerComponent => {
|
|
29
|
-
const baseConfig = createBaseConfig(config);
|
|
30
|
-
|
|
31
|
-
try {
|
|
32
|
-
// Create base component with container element
|
|
33
|
-
const baseComponent = pipe(
|
|
34
|
-
createBase,
|
|
35
|
-
withEvents(),
|
|
36
|
-
withElement(getContainerConfig(baseConfig)),
|
|
37
|
-
withLifecycle()
|
|
38
|
-
)(baseConfig);
|
|
39
|
-
|
|
40
|
-
// Create modal element
|
|
41
|
-
const modalElement = document.createElement('div');
|
|
42
|
-
modalElement.className = `${PREFIX}-time-picker-modal`;
|
|
43
|
-
modalElement.style.display = 'none';
|
|
44
|
-
modalElement.style.position = 'fixed';
|
|
45
|
-
modalElement.style.top = '0';
|
|
46
|
-
modalElement.style.left = '0';
|
|
47
|
-
modalElement.style.width = '100%';
|
|
48
|
-
modalElement.style.height = '100%';
|
|
49
|
-
modalElement.style.backgroundColor = 'rgba(0, 0, 0, 0.4)';
|
|
50
|
-
modalElement.style.zIndex = Z_INDEX.MODAL.toString();
|
|
51
|
-
modalElement.setAttribute('role', 'presentation');
|
|
52
|
-
|
|
53
|
-
// Create dialog element
|
|
54
|
-
const dialogElement = document.createElement('div');
|
|
55
|
-
dialogElement.className = [
|
|
56
|
-
`${PREFIX}-time-picker-dialog`,
|
|
57
|
-
`${PREFIX}-time-picker-dialog--${baseConfig.type}`,
|
|
58
|
-
`${PREFIX}-time-picker-dialog--${baseConfig.orientation}`,
|
|
59
|
-
`${PREFIX}-time-picker-dialog--${baseConfig.format}`
|
|
60
|
-
].join(' ');
|
|
61
|
-
dialogElement.style.position = 'absolute';
|
|
62
|
-
dialogElement.style.top = '50%';
|
|
63
|
-
dialogElement.style.left = '50%';
|
|
64
|
-
dialogElement.style.transform = 'translate(-50%, -50%)';
|
|
65
|
-
dialogElement.style.zIndex = Z_INDEX.DIALOG.toString();
|
|
66
|
-
|
|
67
|
-
// Append dialog to modal
|
|
68
|
-
modalElement.appendChild(dialogElement);
|
|
69
|
-
|
|
70
|
-
// Append modal to container (document.body by default)
|
|
71
|
-
const container = typeof baseConfig.container === 'string'
|
|
72
|
-
? document.querySelector(baseConfig.container) || document.body
|
|
73
|
-
: baseConfig.container || document.body;
|
|
74
|
-
|
|
75
|
-
container.appendChild(modalElement);
|
|
76
|
-
|
|
77
|
-
// Parse initial time value
|
|
78
|
-
let timeValue: TimeValue;
|
|
79
|
-
if (baseConfig.value) {
|
|
80
|
-
timeValue = parseTime(baseConfig.value, baseConfig.format);
|
|
81
|
-
} else {
|
|
82
|
-
// Default to current time
|
|
83
|
-
const now = new Date();
|
|
84
|
-
timeValue = {
|
|
85
|
-
hours: now.getHours(),
|
|
86
|
-
minutes: now.getMinutes(),
|
|
87
|
-
seconds: baseConfig.showSeconds ? now.getSeconds() : 0,
|
|
88
|
-
period: now.getHours() >= 12 ? TIME_PERIOD.PM : TIME_PERIOD.AM
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
// Render initial time picker content
|
|
93
|
-
renderTimePicker(dialogElement, timeValue, baseConfig);
|
|
94
|
-
|
|
95
|
-
// Create time picker API
|
|
96
|
-
const timePicker = createTimePickerAPI(
|
|
97
|
-
baseComponent,
|
|
98
|
-
modalElement,
|
|
99
|
-
dialogElement,
|
|
100
|
-
timeValue,
|
|
101
|
-
baseConfig,
|
|
102
|
-
getApiConfig(baseComponent)
|
|
103
|
-
);
|
|
104
|
-
|
|
105
|
-
// Open time picker if initially open
|
|
106
|
-
if (baseConfig.isOpen) {
|
|
107
|
-
setTimeout(() => timePicker.open(), 0);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
return timePicker;
|
|
111
|
-
} catch (error) {
|
|
112
|
-
console.error('TimePicker creation error:', error);
|
|
113
|
-
throw new Error(`Failed to create time picker: ${(error as Error).message}`);
|
|
114
|
-
}
|
|
115
|
-
};
|
|
116
|
-
|
|
117
|
-
export default createTimePicker;
|
|
@@ -1,336 +0,0 @@
|
|
|
1
|
-
// src/components/timepicker/types.ts
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Time picker display type
|
|
5
|
-
* @enum {string}
|
|
6
|
-
*/
|
|
7
|
-
export enum TIME_PICKER_TYPE {
|
|
8
|
-
/** Clock dial-based time picker */
|
|
9
|
-
DIAL = 'dial',
|
|
10
|
-
/** Text input-based time picker */
|
|
11
|
-
INPUT = 'input'
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Time picker orientation
|
|
16
|
-
* @enum {string}
|
|
17
|
-
*/
|
|
18
|
-
export enum TIME_PICKER_ORIENTATION {
|
|
19
|
-
/** Vertical layout (default on mobile) */
|
|
20
|
-
VERTICAL = 'vertical',
|
|
21
|
-
/** Horizontal layout */
|
|
22
|
-
HORIZONTAL = 'horizontal'
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Time format (12-hour or 24-hour)
|
|
27
|
-
* @enum {string}
|
|
28
|
-
*/
|
|
29
|
-
export enum TIME_FORMAT {
|
|
30
|
-
/** 12-hour format with AM/PM */
|
|
31
|
-
AMPM = '12h',
|
|
32
|
-
/** 24-hour format */
|
|
33
|
-
MILITARY = '24h'
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Period of day for 12-hour format
|
|
38
|
-
* @enum {string}
|
|
39
|
-
*/
|
|
40
|
-
export enum TIME_PERIOD {
|
|
41
|
-
/** Morning */
|
|
42
|
-
AM = 'AM',
|
|
43
|
-
/** Afternoon/Evening */
|
|
44
|
-
PM = 'PM'
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Configuration interface for the TimePicker component
|
|
49
|
-
* @category Components
|
|
50
|
-
*/
|
|
51
|
-
export interface TimePickerConfig {
|
|
52
|
-
/**
|
|
53
|
-
* Initial time value in 24-hour format (HH:MM)
|
|
54
|
-
* @example '14:30'
|
|
55
|
-
*/
|
|
56
|
-
value?: string;
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Type of time picker to display
|
|
60
|
-
* @default TIME_PICKER_TYPE.DIAL
|
|
61
|
-
*/
|
|
62
|
-
type?: TIME_PICKER_TYPE;
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Time format to use (12h or 24h)
|
|
66
|
-
* @default TIME_FORMAT.AMPM
|
|
67
|
-
*/
|
|
68
|
-
format?: TIME_FORMAT;
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Layout orientation for the time picker
|
|
72
|
-
* @default TIME_PICKER_ORIENTATION.VERTICAL
|
|
73
|
-
*/
|
|
74
|
-
orientation?: TIME_PICKER_ORIENTATION;
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Title text for the time picker
|
|
78
|
-
* @example 'Select departure time'
|
|
79
|
-
*/
|
|
80
|
-
title?: string;
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* Whether to show seconds selector
|
|
84
|
-
* @default false
|
|
85
|
-
*/
|
|
86
|
-
showSeconds?: boolean;
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* Additional CSS classes to add to the time picker
|
|
90
|
-
* @example 'custom-picker dark-theme'
|
|
91
|
-
*/
|
|
92
|
-
class?: string;
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* Component prefix for class names
|
|
96
|
-
* @default 'mtrl'
|
|
97
|
-
*/
|
|
98
|
-
prefix?: string;
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* Component name used in class generation
|
|
102
|
-
*/
|
|
103
|
-
componentName?: string;
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* Whether to close the picker when time is selected
|
|
107
|
-
* @default true
|
|
108
|
-
*/
|
|
109
|
-
closeOnSelect?: boolean;
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* Minimum selectable time in 24-hour format (HH:MM)
|
|
113
|
-
* @example '09:00'
|
|
114
|
-
*/
|
|
115
|
-
minTime?: string;
|
|
116
|
-
|
|
117
|
-
/**
|
|
118
|
-
* Maximum selectable time in 24-hour format (HH:MM)
|
|
119
|
-
* @example '18:00'
|
|
120
|
-
*/
|
|
121
|
-
maxTime?: string;
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* Step interval for minute selection in minutes
|
|
125
|
-
* @default 1
|
|
126
|
-
*/
|
|
127
|
-
minuteStep?: number;
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* Step interval for second selection in seconds
|
|
131
|
-
* @default 1
|
|
132
|
-
*/
|
|
133
|
-
secondStep?: number;
|
|
134
|
-
|
|
135
|
-
/**
|
|
136
|
-
* Custom text for cancel button
|
|
137
|
-
* @default 'Cancel'
|
|
138
|
-
*/
|
|
139
|
-
cancelText?: string;
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* Custom text for confirm button
|
|
143
|
-
* @default 'OK'
|
|
144
|
-
*/
|
|
145
|
-
confirmText?: string;
|
|
146
|
-
|
|
147
|
-
/**
|
|
148
|
-
* Whether the time picker is initially visible (for inline mode)
|
|
149
|
-
* @default false
|
|
150
|
-
*/
|
|
151
|
-
isOpen?: boolean;
|
|
152
|
-
|
|
153
|
-
/**
|
|
154
|
-
* CSS selector or HTMLElement to append the time picker to
|
|
155
|
-
* @default document.body
|
|
156
|
-
*/
|
|
157
|
-
container?: string | HTMLElement;
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* Custom icon for the clock button
|
|
161
|
-
*/
|
|
162
|
-
clockIcon?: string;
|
|
163
|
-
|
|
164
|
-
/**
|
|
165
|
-
* Custom icon for the keyboard button
|
|
166
|
-
*/
|
|
167
|
-
keyboardIcon?: string;
|
|
168
|
-
|
|
169
|
-
/**
|
|
170
|
-
* Callback when time is changed
|
|
171
|
-
*/
|
|
172
|
-
onChange?: (time: string) => void;
|
|
173
|
-
|
|
174
|
-
/**
|
|
175
|
-
* Callback when time picker is opened
|
|
176
|
-
*/
|
|
177
|
-
onOpen?: () => void;
|
|
178
|
-
|
|
179
|
-
/**
|
|
180
|
-
* Callback when time picker is closed
|
|
181
|
-
*/
|
|
182
|
-
onClose?: () => void;
|
|
183
|
-
|
|
184
|
-
/**
|
|
185
|
-
* Callback when time is confirmed
|
|
186
|
-
*/
|
|
187
|
-
onConfirm?: (time: string) => void;
|
|
188
|
-
|
|
189
|
-
/**
|
|
190
|
-
* Callback when time picker is canceled
|
|
191
|
-
*/
|
|
192
|
-
onCancel?: () => void;
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
/**
|
|
196
|
-
* Time value object
|
|
197
|
-
* @category Components
|
|
198
|
-
*/
|
|
199
|
-
export interface TimeValue {
|
|
200
|
-
/** Hours (0-23) */
|
|
201
|
-
hours: number;
|
|
202
|
-
/** Minutes (0-59) */
|
|
203
|
-
minutes: number;
|
|
204
|
-
/** Seconds (0-59), optional */
|
|
205
|
-
seconds?: number;
|
|
206
|
-
/** AM/PM for 12-hour format */
|
|
207
|
-
period?: TIME_PERIOD;
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
/**
|
|
211
|
-
* TimePicker component interface
|
|
212
|
-
* @category Components
|
|
213
|
-
*/
|
|
214
|
-
export interface TimePickerComponent {
|
|
215
|
-
/** The time picker's container DOM element */
|
|
216
|
-
element: HTMLElement;
|
|
217
|
-
|
|
218
|
-
/** Modal container element */
|
|
219
|
-
modalElement: HTMLElement;
|
|
220
|
-
|
|
221
|
-
/** Dialog container element */
|
|
222
|
-
dialogElement: HTMLElement;
|
|
223
|
-
|
|
224
|
-
/** Whether the time picker is currently open */
|
|
225
|
-
isOpen: boolean;
|
|
226
|
-
|
|
227
|
-
/**
|
|
228
|
-
* Opens the time picker
|
|
229
|
-
* @returns The time picker component for chaining
|
|
230
|
-
*/
|
|
231
|
-
open: () => TimePickerComponent;
|
|
232
|
-
|
|
233
|
-
/**
|
|
234
|
-
* Closes the time picker
|
|
235
|
-
* @returns The time picker component for chaining
|
|
236
|
-
*/
|
|
237
|
-
close: () => TimePickerComponent;
|
|
238
|
-
|
|
239
|
-
/**
|
|
240
|
-
* Toggles the time picker open/closed state
|
|
241
|
-
* @returns The time picker component for chaining
|
|
242
|
-
*/
|
|
243
|
-
toggle: () => TimePickerComponent;
|
|
244
|
-
|
|
245
|
-
/**
|
|
246
|
-
* Gets the current time value
|
|
247
|
-
* @returns Current time string in 24-hour format (HH:MM or HH:MM:SS)
|
|
248
|
-
*/
|
|
249
|
-
getValue: () => string;
|
|
250
|
-
|
|
251
|
-
/**
|
|
252
|
-
* Gets the current time as a TimeValue object
|
|
253
|
-
* @returns Current time object with hours, minutes, seconds, and period
|
|
254
|
-
*/
|
|
255
|
-
getTimeObject: () => TimeValue;
|
|
256
|
-
|
|
257
|
-
/**
|
|
258
|
-
* Sets the time value
|
|
259
|
-
* @param time - Time string in 24-hour format (HH:MM or HH:MM:SS)
|
|
260
|
-
* @returns The time picker component for chaining
|
|
261
|
-
*/
|
|
262
|
-
setValue: (time: string) => TimePickerComponent;
|
|
263
|
-
|
|
264
|
-
/**
|
|
265
|
-
* Sets the time picker type (dial or input)
|
|
266
|
-
* @param type - Time picker type
|
|
267
|
-
* @returns The time picker component for chaining
|
|
268
|
-
*/
|
|
269
|
-
setType: (type: TIME_PICKER_TYPE) => TimePickerComponent;
|
|
270
|
-
|
|
271
|
-
/**
|
|
272
|
-
* Gets the current time picker type
|
|
273
|
-
* @returns Current time picker type
|
|
274
|
-
*/
|
|
275
|
-
getType: () => TIME_PICKER_TYPE;
|
|
276
|
-
|
|
277
|
-
/**
|
|
278
|
-
* Sets the time format (12h or 24h)
|
|
279
|
-
* @param format - Time format
|
|
280
|
-
* @returns The time picker component for chaining
|
|
281
|
-
*/
|
|
282
|
-
setFormat: (format: TIME_FORMAT) => TimePickerComponent;
|
|
283
|
-
|
|
284
|
-
/**
|
|
285
|
-
* Gets the current time format
|
|
286
|
-
* @returns Current time format
|
|
287
|
-
*/
|
|
288
|
-
getFormat: () => TIME_FORMAT;
|
|
289
|
-
|
|
290
|
-
/**
|
|
291
|
-
* Sets the time picker orientation
|
|
292
|
-
* @param orientation - Time picker orientation
|
|
293
|
-
* @returns The time picker component for chaining
|
|
294
|
-
*/
|
|
295
|
-
setOrientation: (orientation: TIME_PICKER_ORIENTATION) => TimePickerComponent;
|
|
296
|
-
|
|
297
|
-
/**
|
|
298
|
-
* Gets the current time picker orientation
|
|
299
|
-
* @returns Current time picker orientation
|
|
300
|
-
*/
|
|
301
|
-
getOrientation: () => TIME_PICKER_ORIENTATION;
|
|
302
|
-
|
|
303
|
-
/**
|
|
304
|
-
* Sets the time picker title
|
|
305
|
-
* @param title - Title text
|
|
306
|
-
* @returns The time picker component for chaining
|
|
307
|
-
*/
|
|
308
|
-
setTitle: (title: string) => TimePickerComponent;
|
|
309
|
-
|
|
310
|
-
/**
|
|
311
|
-
* Gets the current time picker title
|
|
312
|
-
* @returns Current title text
|
|
313
|
-
*/
|
|
314
|
-
getTitle: () => string;
|
|
315
|
-
|
|
316
|
-
/**
|
|
317
|
-
* Destroys the time picker component and cleans up resources
|
|
318
|
-
*/
|
|
319
|
-
destroy: () => void;
|
|
320
|
-
|
|
321
|
-
/**
|
|
322
|
-
* Adds an event listener to the time picker
|
|
323
|
-
* @param event - Event name ('change', 'open', 'close', etc.)
|
|
324
|
-
* @param handler - Event handler function
|
|
325
|
-
* @returns The time picker component for chaining
|
|
326
|
-
*/
|
|
327
|
-
on: (event: string, handler: Function) => TimePickerComponent;
|
|
328
|
-
|
|
329
|
-
/**
|
|
330
|
-
* Removes an event listener from the time picker
|
|
331
|
-
* @param event - Event name
|
|
332
|
-
* @param handler - Event handler function
|
|
333
|
-
* @returns The time picker component for chaining
|
|
334
|
-
*/
|
|
335
|
-
off: (event: string, handler: Function) => TimePickerComponent;
|
|
336
|
-
}
|
|
@@ -1,241 +0,0 @@
|
|
|
1
|
-
// src/components/timepicker/utils.ts
|
|
2
|
-
|
|
3
|
-
import { TimeValue, TIME_PERIOD, TIME_FORMAT } from './types';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Pads a number with leading zeros to ensure two-digit format
|
|
7
|
-
* @param {number} num - Number to pad
|
|
8
|
-
* @returns {string} Padded number string
|
|
9
|
-
*/
|
|
10
|
-
export const padZero = (num: number): string => {
|
|
11
|
-
return num.toString().padStart(2, '0');
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Converts a time string to a TimeValue object
|
|
16
|
-
* @param {string} timeString - Time string in 24-hour format (HH:MM or HH:MM:SS)
|
|
17
|
-
* @param {TIME_FORMAT} format - Time format (12h or 24h)
|
|
18
|
-
* @returns {TimeValue} Parsed time value
|
|
19
|
-
*/
|
|
20
|
-
export const parseTime = (timeString: string, format: TIME_FORMAT): TimeValue => {
|
|
21
|
-
try {
|
|
22
|
-
const parts = timeString.split(':');
|
|
23
|
-
let hours = parseInt(parts[0], 10);
|
|
24
|
-
const minutes = parseInt(parts[1], 10);
|
|
25
|
-
const seconds = parts[2] ? parseInt(parts[2], 10) : 0;
|
|
26
|
-
|
|
27
|
-
// Validate time components
|
|
28
|
-
if (
|
|
29
|
-
isNaN(hours) || hours < 0 || hours > 23 ||
|
|
30
|
-
isNaN(minutes) || minutes < 0 || minutes > 59 ||
|
|
31
|
-
isNaN(seconds) || seconds < 0 || seconds > 59
|
|
32
|
-
) {
|
|
33
|
-
throw new Error('Invalid time format');
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
// Determine period for 12-hour format
|
|
37
|
-
const period = hours >= 12 ? TIME_PERIOD.PM : TIME_PERIOD.AM;
|
|
38
|
-
|
|
39
|
-
return { hours, minutes, seconds, period };
|
|
40
|
-
} catch (error) {
|
|
41
|
-
console.error('Error parsing time:', error);
|
|
42
|
-
|
|
43
|
-
// Return current time as fallback
|
|
44
|
-
const now = new Date();
|
|
45
|
-
const hours = now.getHours();
|
|
46
|
-
const minutes = now.getMinutes();
|
|
47
|
-
const seconds = now.getSeconds();
|
|
48
|
-
const period = hours >= 12 ? TIME_PERIOD.PM : TIME_PERIOD.AM;
|
|
49
|
-
|
|
50
|
-
return { hours, minutes, seconds, period };
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Formats a TimeValue object as a time string
|
|
56
|
-
* @param {TimeValue} timeValue - Time value to format
|
|
57
|
-
* @param {boolean} use24HourFormat - Whether to use 24-hour format
|
|
58
|
-
* @returns {string} Formatted time string
|
|
59
|
-
*/
|
|
60
|
-
export const formatTime = (timeValue: TimeValue, use24HourFormat: boolean): string => {
|
|
61
|
-
const { hours, minutes, seconds } = timeValue;
|
|
62
|
-
|
|
63
|
-
if (use24HourFormat) {
|
|
64
|
-
if (seconds !== undefined) {
|
|
65
|
-
return `${padZero(hours)}:${padZero(minutes)}:${padZero(seconds)}`;
|
|
66
|
-
}
|
|
67
|
-
return `${padZero(hours)}:${padZero(minutes)}`;
|
|
68
|
-
} else {
|
|
69
|
-
// Convert 24-hour to 12-hour display format
|
|
70
|
-
let displayHours = hours % 12;
|
|
71
|
-
if (displayHours === 0) {
|
|
72
|
-
displayHours = 12;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
if (seconds !== undefined) {
|
|
76
|
-
return `${padZero(displayHours)}:${padZero(minutes)}:${padZero(seconds)} ${timeValue.period}`;
|
|
77
|
-
}
|
|
78
|
-
return `${padZero(displayHours)}:${padZero(minutes)} ${timeValue.period}`;
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* Converts 12-hour format to 24-hour format
|
|
84
|
-
* @param {number} hours - Hours in 12-hour format (1-12)
|
|
85
|
-
* @param {TIME_PERIOD} period - Period (AM or PM)
|
|
86
|
-
* @returns {number} Hours in 24-hour format (0-23)
|
|
87
|
-
*/
|
|
88
|
-
export const convertTo24Hour = (hours: number, period: TIME_PERIOD): number => {
|
|
89
|
-
if (period === TIME_PERIOD.AM) {
|
|
90
|
-
return hours === 12 ? 0 : hours;
|
|
91
|
-
} else {
|
|
92
|
-
return hours === 12 ? 12 : hours + 12;
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
* Converts 24-hour format to 12-hour format
|
|
98
|
-
* @param {number} hours24 - Hours in 24-hour format (0-23)
|
|
99
|
-
* @returns {object} Object with hours in 12-hour format and period
|
|
100
|
-
*/
|
|
101
|
-
export const convertTo12Hour = (hours24: number): { hours: number; period: TIME_PERIOD } => {
|
|
102
|
-
const period = hours24 >= 12 ? TIME_PERIOD.PM : TIME_PERIOD.AM;
|
|
103
|
-
let hours12 = hours24 % 12;
|
|
104
|
-
if (hours12 === 0) {
|
|
105
|
-
hours12 = 12;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
return { hours: hours12, period };
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* Calculates angle for clock dial based on time value
|
|
113
|
-
* @param {number} value - Time value (hour 0-23 or minute/second 0-59)
|
|
114
|
-
* @param {number} max - Maximum value (12 for hours in 12h format, 24 for 24h, 60 for minutes/seconds)
|
|
115
|
-
* @returns {number} Angle in degrees
|
|
116
|
-
*/
|
|
117
|
-
export const getAngle = (value: number, max: number): number => {
|
|
118
|
-
return (value / max) * 360;
|
|
119
|
-
};
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* Calculates coordinates for a point on a circle
|
|
123
|
-
* @param {number} radius - Circle radius
|
|
124
|
-
* @param {number} angle - Angle in degrees
|
|
125
|
-
* @returns {object} Coordinates { x, y }
|
|
126
|
-
*/
|
|
127
|
-
export const getCoordinates = (radius: number, angle: number): { x: number; y: number } => {
|
|
128
|
-
// Convert angle to radians and adjust to start from top (subtract 90 degrees)
|
|
129
|
-
// In CSS, 0 degrees is at 3 o'clock position, so we subtract 90 to start from 12 o'clock
|
|
130
|
-
const radians = ((angle - 90) * Math.PI) / 180;
|
|
131
|
-
|
|
132
|
-
return {
|
|
133
|
-
x: radius * Math.cos(radians),
|
|
134
|
-
y: radius * Math.sin(radians)
|
|
135
|
-
};
|
|
136
|
-
};
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
* Calculates time value from click position on dial
|
|
140
|
-
* @param {number} centerX - X coordinate of the dial center
|
|
141
|
-
* @param {number} centerY - Y coordinate of the dial center
|
|
142
|
-
* @param {number} clickX - X coordinate of the click position
|
|
143
|
-
* @param {number} clickY - Y coordinate of the click position
|
|
144
|
-
* @param {number} max - Maximum value (12 for hours in 12h format, 24 for 24h, 60 for minutes/seconds)
|
|
145
|
-
* @param {number} innerRadius - Inner radius for 24-hour clock inner ring
|
|
146
|
-
* @param {number} outerRadius - Outer radius for dial
|
|
147
|
-
* @returns {number} Calculated time value
|
|
148
|
-
*/
|
|
149
|
-
export const getTimeFromPosition = (
|
|
150
|
-
centerX: number,
|
|
151
|
-
centerY: number,
|
|
152
|
-
clickX: number,
|
|
153
|
-
clickY: number,
|
|
154
|
-
max: number,
|
|
155
|
-
innerRadius?: number,
|
|
156
|
-
outerRadius?: number
|
|
157
|
-
): number => {
|
|
158
|
-
// Calculate angle from center to click position
|
|
159
|
-
const deltaX = clickX - centerX;
|
|
160
|
-
const deltaY = clickY - centerY;
|
|
161
|
-
|
|
162
|
-
// Calculate angle in degrees (0 at top, clockwise)
|
|
163
|
-
let angle = Math.atan2(deltaY, deltaX) * (180 / Math.PI) + 90;
|
|
164
|
-
if (angle < 0) {
|
|
165
|
-
angle += 360;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
// Calculate distance from center
|
|
169
|
-
const distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY);
|
|
170
|
-
|
|
171
|
-
// For 24h clock, check if click is in inner or outer ring
|
|
172
|
-
if (max === 24 && innerRadius && outerRadius) {
|
|
173
|
-
const isInnerRing = distance < (innerRadius + outerRadius) / 2;
|
|
174
|
-
|
|
175
|
-
// Calculate value based on angle
|
|
176
|
-
let value = Math.round((angle / 360) * 12);
|
|
177
|
-
if (value === 0) {
|
|
178
|
-
value = 12;
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
// Adjust for inner ring (add 12 hours)
|
|
182
|
-
if (isInnerRing) {
|
|
183
|
-
value = value === 12 ? 0 : value + 12;
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
return value;
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
// For standard 12h clock or minutes/seconds
|
|
190
|
-
let value = Math.round((angle / 360) * max);
|
|
191
|
-
if (value === max) {
|
|
192
|
-
value = 0;
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
return value;
|
|
196
|
-
};
|
|
197
|
-
|
|
198
|
-
/**
|
|
199
|
-
* Checks if a time is within min/max constraints
|
|
200
|
-
* @param {TimeValue} time - Time value to check
|
|
201
|
-
* @param {string} minTime - Minimum time in 24-hour format (HH:MM or HH:MM:SS)
|
|
202
|
-
* @param {string} maxTime - Maximum time in 24-hour format (HH:MM or HH:MM:SS)
|
|
203
|
-
* @returns {boolean} Whether the time is within constraints
|
|
204
|
-
*/
|
|
205
|
-
export const isTimeWithinConstraints = (
|
|
206
|
-
time: TimeValue,
|
|
207
|
-
minTime?: string,
|
|
208
|
-
maxTime?: string
|
|
209
|
-
): boolean => {
|
|
210
|
-
if (!minTime && !maxTime) {
|
|
211
|
-
return true;
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
const timeToCheck = time.hours * 3600 + time.minutes * 60 + (time.seconds || 0);
|
|
215
|
-
|
|
216
|
-
if (minTime) {
|
|
217
|
-
const minParts = minTime.split(':');
|
|
218
|
-
const minHours = parseInt(minParts[0], 10);
|
|
219
|
-
const minMinutes = parseInt(minParts[1], 10);
|
|
220
|
-
const minSeconds = minParts[2] ? parseInt(minParts[2], 10) : 0;
|
|
221
|
-
const minValue = minHours * 3600 + minMinutes * 60 + minSeconds;
|
|
222
|
-
|
|
223
|
-
if (timeToCheck < minValue) {
|
|
224
|
-
return false;
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
if (maxTime) {
|
|
229
|
-
const maxParts = maxTime.split(':');
|
|
230
|
-
const maxHours = parseInt(maxParts[0], 10);
|
|
231
|
-
const maxMinutes = parseInt(maxParts[1], 10);
|
|
232
|
-
const maxSeconds = maxParts[2] ? parseInt(maxParts[2], 10) : 0;
|
|
233
|
-
const maxValue = maxHours * 3600 + maxMinutes * 60 + maxSeconds;
|
|
234
|
-
|
|
235
|
-
if (timeToCheck > maxValue) {
|
|
236
|
-
return false;
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
return true;
|
|
241
|
-
};
|