@hi-ui/time-picker 4.0.0-alpha.1
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/LICENSE +21 -0
- package/README.md +11 -0
- package/lib/cjs/@types/index.js +22 -0
- package/lib/cjs/@types/index.js.map +1 -0
- package/lib/cjs/Input.js +174 -0
- package/lib/cjs/Input.js.map +1 -0
- package/lib/cjs/Panel.js +144 -0
- package/lib/cjs/Panel.js.map +1 -0
- package/lib/cjs/PopContent.js +211 -0
- package/lib/cjs/PopContent.js.map +1 -0
- package/lib/cjs/Selector.js +128 -0
- package/lib/cjs/Selector.js.map +1 -0
- package/lib/cjs/TimePicker.js +310 -0
- package/lib/cjs/TimePicker.js.map +1 -0
- package/lib/cjs/hooks/useFilter.js +39 -0
- package/lib/cjs/hooks/useFilter.js.map +1 -0
- package/lib/cjs/index.js +34 -0
- package/lib/cjs/index.js.map +1 -0
- package/lib/cjs/styles/index.scss.js +22 -0
- package/lib/cjs/styles/index.scss.js.map +1 -0
- package/lib/cjs/utils/analysisFormat.js +42 -0
- package/lib/cjs/utils/analysisFormat.js.map +1 -0
- package/lib/cjs/utils/disposeInputValue.js +57 -0
- package/lib/cjs/utils/disposeInputValue.js.map +1 -0
- package/lib/cjs/utils/generateSelectorData.js +58 -0
- package/lib/cjs/utils/generateSelectorData.js.map +1 -0
- package/lib/cjs/utils/getFormatDefault.js +21 -0
- package/lib/cjs/utils/getFormatDefault.js.map +1 -0
- package/lib/cjs/utils/getNowString.js +32 -0
- package/lib/cjs/utils/getNowString.js.map +1 -0
- package/lib/cjs/utils/getRange.js +35 -0
- package/lib/cjs/utils/getRange.js.map +1 -0
- package/lib/cjs/utils/valueChecker.js +87 -0
- package/lib/cjs/utils/valueChecker.js.map +1 -0
- package/lib/esm/@types/index.js +19 -0
- package/lib/esm/@types/index.js.map +1 -0
- package/lib/esm/Input.js +154 -0
- package/lib/esm/Input.js.map +1 -0
- package/lib/esm/Panel.js +124 -0
- package/lib/esm/Panel.js.map +1 -0
- package/lib/esm/PopContent.js +188 -0
- package/lib/esm/PopContent.js.map +1 -0
- package/lib/esm/Selector.js +110 -0
- package/lib/esm/Selector.js.map +1 -0
- package/lib/esm/TimePicker.js +281 -0
- package/lib/esm/TimePicker.js.map +1 -0
- package/lib/esm/hooks/useFilter.js +33 -0
- package/lib/esm/hooks/useFilter.js.map +1 -0
- package/lib/esm/index.js +14 -0
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/styles/index.scss.js +17 -0
- package/lib/esm/styles/index.scss.js.map +1 -0
- package/lib/esm/utils/analysisFormat.js +36 -0
- package/lib/esm/utils/analysisFormat.js.map +1 -0
- package/lib/esm/utils/disposeInputValue.js +51 -0
- package/lib/esm/utils/disposeInputValue.js.map +1 -0
- package/lib/esm/utils/generateSelectorData.js +52 -0
- package/lib/esm/utils/generateSelectorData.js.map +1 -0
- package/lib/esm/utils/getFormatDefault.js +15 -0
- package/lib/esm/utils/getFormatDefault.js.map +1 -0
- package/lib/esm/utils/getNowString.js +25 -0
- package/lib/esm/utils/getNowString.js.map +1 -0
- package/lib/esm/utils/getRange.js +29 -0
- package/lib/esm/utils/getRange.js.map +1 -0
- package/lib/esm/utils/valueChecker.js +80 -0
- package/lib/esm/utils/valueChecker.js.map +1 -0
- package/lib/types/@types/index.d.ts +62 -0
- package/lib/types/Input.d.ts +23 -0
- package/lib/types/Panel.d.ts +14 -0
- package/lib/types/PopContent.d.ts +15 -0
- package/lib/types/Selector.d.ts +23 -0
- package/lib/types/TimePicker.d.ts +61 -0
- package/lib/types/hooks/useFilter.d.ts +2 -0
- package/lib/types/index.d.ts +6 -0
- package/lib/types/utils/analysisFormat.d.ts +2 -0
- package/lib/types/utils/disposeInputValue.d.ts +2 -0
- package/lib/types/utils/generateSelectorData.d.ts +10 -0
- package/lib/types/utils/getFormatDefault.d.ts +2 -0
- package/lib/types/utils/getNowString.d.ts +2 -0
- package/lib/types/utils/getRange.d.ts +1 -0
- package/lib/types/utils/getSelectorTitle.d.ts +2 -0
- package/lib/types/utils/valueChecker.d.ts +8 -0
- package/package.json +66 -0
package/lib/esm/index.js
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
/** @LICENSE
|
2
|
+
* @hi-ui/time-picker
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/time-picker#readme
|
4
|
+
*
|
5
|
+
* Copyright (c) HIUI <mi-hiui@xiaomi.com>.
|
6
|
+
*
|
7
|
+
* This source code is licensed under the MIT license found in the
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
9
|
+
*/
|
10
|
+
import './styles/index.scss.js';
|
11
|
+
export { PopContent as TimePickerPopContent } from './PopContent.js';
|
12
|
+
export { TimePickerSelectorType } from './@types/index.js';
|
13
|
+
export { TimePicker, _prefix, TimePicker as default } from './TimePicker.js';
|
14
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
/** @LICENSE
|
2
|
+
* @hi-ui/time-picker
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/time-picker#readme
|
4
|
+
*
|
5
|
+
* Copyright (c) HIUI <mi-hiui@xiaomi.com>.
|
6
|
+
*
|
7
|
+
* This source code is licensed under the MIT license found in the
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
9
|
+
*/
|
10
|
+
var css_248z = "@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n.hi-v4-time-picker {\n width: -webkit-fit-content;\n width: -moz-fit-content;\n width: fit-content;\n border-radius: 4px; }\n.hi-v4-time-picker--border {\n position: relative;\n z-index: 0; }\n.hi-v4-time-picker--border .hi-v4-time-picker__input-wrapper {\n border-radius: 4px;\n border-radius: var(--hi-v4-border-radius-md, 4px);\n background: #fff;\n background: var(--hi-v4-color-static-white, #fff);\n border: 1px solid #dfe2e8;\n border: var(--hi-v4-border-size-normal, 1px solid) var(--hi-v4-color-gray-300, #dfe2e8); }\n.hi-v4-time-picker--border::before {\n content: '';\n width: calc(100% + 4px);\n height: calc(100% + 4px);\n position: absolute;\n left: 50%;\n top: 50%;\n -webkit-transform: translateX(-50%) translateY(-50%);\n transform: translateX(-50%) translateY(-50%);\n background: #237ffa;\n background: var(--hi-v4-color-brandblue-500, #237ffa);\n opacity: 0;\n pointer-events: none;\n z-index: -1;\n border-radius: 6px; }\n.hi-v4-time-picker--border.hi-v4-time-picker--input-not-valid .hi-v4-time-picker__input-wrapper {\n border-color: #ff5959;\n border-color: var(--hi-v4-color-red-500, #ff5959); }\n.hi-v4-time-picker--border.hi-v4-time-picker--input-not-valid::before {\n background: #ff5959;\n background: var(--hi-v4-color-red-500, #ff5959); }\n.hi-v4-time-picker--active .hi-v4-time-picker__input-wrapper {\n -webkit-box-shadow: 0 0 2px #237ffa33;\n box-shadow: 0 0 2px #237ffa33;\n border-color: #237ffa;\n border-color: var(--hi-v4-color-brandblue-500, #237ffa); }\n.hi-v4-time-picker--active::before {\n opacity: 0.2; }\n.hi-v4-time-picker__input-wrapper {\n width: -webkit-fit-content;\n width: -moz-fit-content;\n width: fit-content;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center; }\n.hi-v4-time-picker__input-wrapper:hover {\n border-color: #237ffa;\n border-color: var(--hi-v4-color-brandblue-500, #237ffa); }\n.hi-v4-time-picker__pop-function-buttons {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n padding: 6px 8px;\n border-top: 1px solid #f2f4f7;\n border-top: 1px solid var(--hi-v4-color-gray-100, #f2f4f7);\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: reverse;\n -ms-flex-direction: row-reverse;\n flex-direction: row-reverse; }\n.hi-v4-time-picker__pop-now-button {\n height: 22px;\n width: 48px;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n font-size: 0.75rem;\n font-size: var(--hi-v4-text-size-sm, 0.75rem);\n color: #237ffa;\n color: var(--hi-v4-color-brandblue-500, #237ffa);\n cursor: pointer;\n margin-right: 12px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n.hi-v4-time-picker__function-button {\n margin-right: 8px;\n font-size: 14px;\n cursor: pointer;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n color: #929aa6;\n color: var(--hi-v4-color-gray-500, #929aa6); }\n.hi-v4-time-picker--disabled {\n cursor: not-allowed;\n background: #dfe2e8; }\n.hi-v4-time-picker--disabled .hi-v4-time-picker__input-wrapper {\n pointer-events: none;\n opacity: 0.3; }\n.hi-v4-time-picker__close-button:hover {\n color: #5f6a7a; }\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n.hi-v4-time-picker__selector {\n cursor: pointer;\n position: relative;\n z-index: 0;\n width: 54px;\n color: #5f6a7a; }\n.hi-v4-time-picker__selector:hover .hi-v4-time-picker__selector__shortcut {\n opacity: 1; }\n.hi-v4-time-picker__selector__scroll-part {\n overflow-y: auto;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n scroll-behavior: smooth;\n scrollbar-width: none;\n /* firefox */\n -ms-overflow-style: none;\n /* IE 10+ */ }\n.hi-v4-time-picker__selector__scroll-part::-webkit-scrollbar {\n display: none;\n /* Chrome Safari */ }\n.hi-v4-time-picker__selector--position-left {\n margin-right: 1px; }\n.hi-v4-time-picker__selector--position-left .hi-v4-time-picker__selector__item {\n border-radius: 4px 0 0 4px; }\n.hi-v4-time-picker__selector--position-right {\n margin-left: 1px; }\n.hi-v4-time-picker__selector--position-right .hi-v4-time-picker__selector__item {\n border-radius: 0 4px 4px 0; }\n.hi-v4-time-picker__selector--position-single .hi-v4-time-picker__selector__item {\n border-radius: 4px; }\n.hi-v4-time-picker__selector__item {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n font-size: 14px;\n margin: 8px 0; }\n.hi-v4-time-picker__selector__item:first-of-type {\n margin-top: 4px; }\n.hi-v4-time-picker__selector__item:last-of-type {\n margin-bottom: 4px; }\n.hi-v4-time-picker__selector__item:hover {\n background: #f2f4f7;\n background: var(--hi-v4-color-gray-100, #f2f4f7); }\n.hi-v4-time-picker__selector__item.hi-v4-time-picker__selector__item--disabled {\n opacity: 0.2;\n cursor: not-allowed;\n background: transparent; }\n.hi-v4-time-picker__selector__shortcut {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n height: 12px;\n opacity: 0; }\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n.hi-v4-time-picker__panel {\n padding: 4px 8px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box; }\n.hi-v4-time-picker__panel__selector-container {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n position: relative;\n z-index: 0;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center; }\n.hi-v4-time-picker__panel__selector-content {\n position: relative; }\n.hi-v4-time-picker__panel__indicator {\n position: absolute;\n top: 50%;\n -webkit-transform: translateY(-50%);\n transform: translateY(-50%);\n pointer-events: none;\n background: #e2f3fe;\n background: var(--hi-v4-color-brandblue-50, #e2f3fe);\n z-index: -1;\n width: 54px; }\n.hi-v4-time-picker__panel__indicator--left {\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n left: 0; }\n.hi-v4-time-picker__panel__indicator--right {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n right: 0; }\n.hi-v4-time-picker__panel__indicator--middle {\n left: 0; }\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n.hi-v4-time-picker__input {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n width: -webkit-fit-content;\n width: -moz-fit-content;\n width: fit-content;\n font-size: 0.875rem;\n font-size: var(--hi-v4-text-size-normal, 0.875rem);\n color: #1f2733;\n color: var(--hi-v4-color-gray-700, #1f2733); }\n.hi-v4-time-picker__input--disabled {\n color: #c9ced6;\n color: var(--hi-v4-color-gray-400, #c9ced6); }\n.hi-v4-time-picker__input--not-valid {\n color: #ff5959;\n color: var(--hi-v4-color-red-500, #ff5959); }\n.hi-v4-time-picker__input--range .hi-v4-time-picker__input__interact-area {\n text-align: center; }\n.hi-v4-time-picker__input__interact-area {\n color: inherit;\n border: none;\n outline: none;\n height: 30px;\n width: 208px;\n line-height: 30px;\n padding: 0 12px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n font-size: inherit;\n background: transparent; }\n.hi-v4-time-picker__input__interact-area:disabled {\n background: transparent; }\n.hi-v4-time-picker__input__interact-area::-webkit-input-placeholder {\n color: #929aa6;\n color: var(--hi-v4-color-gray-500, #929aa6); }\n.hi-v4-time-picker__input__interact-area::-moz-placeholder {\n color: #929aa6;\n color: var(--hi-v4-color-gray-500, #929aa6); }\n.hi-v4-time-picker__input__interact-area::-ms-input-placeholder {\n color: #929aa6;\n color: var(--hi-v4-color-gray-500, #929aa6); }\n.hi-v4-time-picker__input__interact-area:-ms-input-placeholder {\n color: #929aa6;\n color: var(--hi-v4-color-gray-500, #929aa6); }\n.hi-v4-time-picker__input__interact-area::placeholder {\n color: #929aa6;\n color: var(--hi-v4-color-gray-500, #929aa6); }\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n.hi-v4-time-picker__pop-content {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n width: -webkit-fit-content;\n width: -moz-fit-content;\n width: fit-content;\n position: relative;\n -webkit-box-align: stretch;\n -ms-flex-align: stretch;\n align-items: stretch;\n min-width: 100%;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center; }\n.hi-v4-time-picker__pop-content__separator {\n width: 40px;\n border-left: 1px solid #f2f4f7;\n border-left: 1px solid var(--hi-v4-color-gray-100, #f2f4f7);\n border-right: 1px solid #f2f4f7;\n border-right: 1px solid var(--hi-v4-color-gray-100, #f2f4f7); }\n";
|
11
|
+
|
12
|
+
var __styleInject__ = require('style-inject/dist/style-inject.es.js')["default"];
|
13
|
+
|
14
|
+
__styleInject__(css_248z);
|
15
|
+
|
16
|
+
export default css_248z;
|
17
|
+
//# sourceMappingURL=index.scss.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
|
@@ -0,0 +1,36 @@
|
|
1
|
+
/** @LICENSE
|
2
|
+
* @hi-ui/time-picker
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/time-picker#readme
|
4
|
+
*
|
5
|
+
* Copyright (c) HIUI <mi-hiui@xiaomi.com>.
|
6
|
+
*
|
7
|
+
* This source code is licensed under the MIT license found in the
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
9
|
+
*/
|
10
|
+
import { TimePickerSelectorType } from '../@types/index.js';
|
11
|
+
|
12
|
+
var analysisFormat = function analysisFormat(format) {
|
13
|
+
var searchList = [{
|
14
|
+
identifier: 'HH',
|
15
|
+
type: TimePickerSelectorType.hour
|
16
|
+
}, {
|
17
|
+
identifier: 'mm',
|
18
|
+
type: TimePickerSelectorType.minute
|
19
|
+
}, {
|
20
|
+
identifier: 'ss',
|
21
|
+
type: TimePickerSelectorType.second
|
22
|
+
}];
|
23
|
+
var result = [];
|
24
|
+
searchList.forEach(function (_ref) {
|
25
|
+
var identifier = _ref.identifier,
|
26
|
+
type = _ref.type;
|
27
|
+
|
28
|
+
if (format.includes(identifier)) {
|
29
|
+
result.push(type);
|
30
|
+
}
|
31
|
+
});
|
32
|
+
return result;
|
33
|
+
};
|
34
|
+
|
35
|
+
export { analysisFormat };
|
36
|
+
//# sourceMappingURL=analysisFormat.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"analysisFormat.js","sources":["../../../src/utils/analysisFormat.ts"],"sourcesContent":[null],"names":["analysisFormat","format","searchList","identifier","type","TimePickerSelectorType","hour","minute","second","result","forEach","includes","push"],"mappings":";;;;;;;;;;;IAEaA,cAAc,GAAG,SAAjBA,cAAiB,CAACC,MAAD;MACtBC,UAAU,GAAG,CACjB;AACEC,IAAAA,UAAU,EAAE,IADd;AAEEC,IAAAA,IAAI,EAAEC,sBAAsB,CAACC;AAF/B,GADiB,EAKjB;AACEH,IAAAA,UAAU,EAAE,IADd;AAEEC,IAAAA,IAAI,EAAEC,sBAAsB,CAACE;AAF/B,GALiB,EASjB;AACEJ,IAAAA,UAAU,EAAE,IADd;AAEEC,IAAAA,IAAI,EAAEC,sBAAsB,CAACG;AAF/B,GATiB;MAcbC,MAAM,GAA6B;AAEzCP,EAAAA,UAAU,CAACQ,OAAXR,CAAmB,cAAA;QAAGC,kBAAAA;QAAYC,YAAAA;;QAC5BH,MAAM,CAACU,QAAPV,CAAgBE,UAAhBF,GAA6B;AAC/BQ,MAAAA,MAAM,CAACG,IAAPH,CAAYL,IAAZK;;AAFJ,GAAAP;SAMOO;;;"}
|
@@ -0,0 +1,51 @@
|
|
1
|
+
/** @LICENSE
|
2
|
+
* @hi-ui/time-picker
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/time-picker#readme
|
4
|
+
*
|
5
|
+
* Copyright (c) HIUI <mi-hiui@xiaomi.com>.
|
6
|
+
*
|
7
|
+
* This source code is licensed under the MIT license found in the
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
9
|
+
*/
|
10
|
+
var disposeInputValue = function disposeInputValue(format, original) {
|
11
|
+
var inputMaxLength = format.length; // 初步处理(去除前后空格,兼容中文:,去除无效字符,不允许超过长度)
|
12
|
+
|
13
|
+
var rough = original.trim().replace(/[\uff1a]/g, ':').replace(/[^0-9:]/g, '').slice(0, inputMaxLength); // 兼容直接在为空情况下输入 : 的情况
|
14
|
+
|
15
|
+
if (rough === ':') {
|
16
|
+
return '';
|
17
|
+
}
|
18
|
+
|
19
|
+
if (/:{2}$/.test(rough)) {
|
20
|
+
return rough.slice(0, rough.length - 1);
|
21
|
+
} // 已经输入两个数字了,现在新输入的一个字符不是 : 号
|
22
|
+
|
23
|
+
|
24
|
+
if (/[0-9]{2}[^:]$/.test(rough)) {
|
25
|
+
// 字符串已经到达最长长度,代表,此时,字符串是一个错乱的,直接忽略新输入的字符
|
26
|
+
if (rough.length === inputMaxLength) {
|
27
|
+
return rough.slice(0, rough.length - 1);
|
28
|
+
} // 字符串还有添加空间,则自动添加:在新字符前方
|
29
|
+
else {
|
30
|
+
return rough.slice(0, rough.length - 1) + ':' + rough.slice(rough.length - 1);
|
31
|
+
}
|
32
|
+
} // 在某个部分只输入了一个数字,然后输入 : 想要结束这个部分
|
33
|
+
|
34
|
+
|
35
|
+
if (/:[0-9]:$/.test(rough) || /^[0-9]:$/.test(rough)) {
|
36
|
+
// 已经达到最大输入了,则此时输入的 : 是无效的
|
37
|
+
// 自动转换,去除:,添加 0 在数字前
|
38
|
+
if (rough.length === inputMaxLength) {
|
39
|
+
return rough.slice(0, rough.length - 2) + '0' + rough.slice(rough.length - 2, rough.length - 1);
|
40
|
+
} // 输入没有达到最大,则,此时输入 : 是有效的
|
41
|
+
// 自动补充此章节,添加 0
|
42
|
+
else {
|
43
|
+
return rough.slice(0, rough.length - 2) + '0' + rough.slice(rough.length - 2, rough.length);
|
44
|
+
}
|
45
|
+
}
|
46
|
+
|
47
|
+
return rough;
|
48
|
+
};
|
49
|
+
|
50
|
+
export { disposeInputValue };
|
51
|
+
//# sourceMappingURL=disposeInputValue.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"disposeInputValue.js","sources":["../../../src/utils/disposeInputValue.ts"],"sourcesContent":[null],"names":["disposeInputValue","format","original","inputMaxLength","length","rough","trim","replace","slice","test"],"mappings":";;;;;;;;;IAEaA,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,MAAD,EAA2BC,QAA3B;MACzBC,cAAc,GAAGF,MAAM,CAACG;;MAExBC,KAAK,GAAGH,QAAQ,CACnBI,IADWJ,GAEXK,OAFWL,CAEH,WAFGA,EAEU,GAFVA,EAGXK,OAHWL,CAGH,UAHGA,EAGS,EAHTA,EAIXM,KAJWN,CAIL,CAJKA,EAIFC,cAJED;;MAOVG,KAAK,KAAK,KAAK;WACV;;;MAGL,QAAQI,IAAR,CAAaJ,KAAb,GAAqB;WAChBA,KAAK,CAACG,KAANH,CAAY,CAAZA,EAAeA,KAAK,CAACD,MAANC,GAAe,CAA9BA;;;;MAIL,gBAAgBI,IAAhB,CAAqBJ,KAArB,GAA6B;;QAE3BA,KAAK,CAACD,MAANC,KAAiBF,gBAAgB;aAC5BE,KAAK,CAACG,KAANH,CAAY,CAAZA,EAAeA,KAAK,CAACD,MAANC,GAAe,CAA9BA;AADT;SAIK;eACIA,KAAK,CAACG,KAANH,CAAY,CAAZA,EAAeA,KAAK,CAACD,MAANC,GAAe,CAA9BA,IAAmC,GAAnCA,GAAyCA,KAAK,CAACG,KAANH,CAAYA,KAAK,CAACD,MAANC,GAAe,CAA3BA;;;;;MAKhD,WAAWI,IAAX,CAAgBJ,KAAhB,KAA0B,WAAWI,IAAX,CAAgBJ,KAAhB,GAAwB;;;QAGhDA,KAAK,CAACD,MAANC,KAAiBF,gBAAgB;aAEjCE,KAAK,CAACG,KAANH,CAAY,CAAZA,EAAeA,KAAK,CAACD,MAANC,GAAe,CAA9BA,IAAmC,GAAnCA,GAAyCA,KAAK,CAACG,KAANH,CAAYA,KAAK,CAACD,MAANC,GAAe,CAA3BA,EAA8BA,KAAK,CAACD,MAANC,GAAe,CAA7CA;AAF7C;;SAOK;eACIA,KAAK,CAACG,KAANH,CAAY,CAAZA,EAAeA,KAAK,CAACD,MAANC,GAAe,CAA9BA,IAAmC,GAAnCA,GAAyCA,KAAK,CAACG,KAANH,CAAYA,KAAK,CAACD,MAANC,GAAe,CAA3BA,EAA8BA,KAAK,CAACD,MAApCC;;;;SAI7CA;;;"}
|
@@ -0,0 +1,52 @@
|
|
1
|
+
/** @LICENSE
|
2
|
+
* @hi-ui/time-picker
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/time-picker#readme
|
4
|
+
*
|
5
|
+
* Copyright (c) HIUI <mi-hiui@xiaomi.com>.
|
6
|
+
*
|
7
|
+
* This source code is licensed under the MIT license found in the
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
9
|
+
*/
|
10
|
+
import { TimePickerSelectorType } from '../@types/index.js';
|
11
|
+
|
12
|
+
var generateSelectorData = function generateSelectorData(info) {
|
13
|
+
var _disabledMap, _rangeMap, _stepMap;
|
14
|
+
|
15
|
+
var type = info.type,
|
16
|
+
filter = info.filter,
|
17
|
+
step = info.step,
|
18
|
+
separateValue = info.separateValue,
|
19
|
+
panelType = info.panelType,
|
20
|
+
selectorTypes = info.selectorTypes;
|
21
|
+
var result = [];
|
22
|
+
|
23
|
+
var getMatchTypeValue = function getMatchTypeValue(selectorType) {
|
24
|
+
var matchIndex = selectorTypes.indexOf(selectorType);
|
25
|
+
return matchIndex >= 0 ? separateValue[matchIndex] : -1;
|
26
|
+
};
|
27
|
+
|
28
|
+
var disabledMap = (_disabledMap = {}, _disabledMap[TimePickerSelectorType.hour] = function () {
|
29
|
+
return filter.disabledHours(panelType);
|
30
|
+
}, _disabledMap[TimePickerSelectorType.minute] = function () {
|
31
|
+
return filter.disabledMinutes(getMatchTypeValue(TimePickerSelectorType.hour), panelType);
|
32
|
+
}, _disabledMap[TimePickerSelectorType.second] = function () {
|
33
|
+
return filter.disabledSeconds(getMatchTypeValue(TimePickerSelectorType.hour), getMatchTypeValue(TimePickerSelectorType.minute), panelType);
|
34
|
+
}, _disabledMap);
|
35
|
+
var disabledNumbers = disabledMap[type]();
|
36
|
+
var rangeMap = (_rangeMap = {}, _rangeMap[TimePickerSelectorType.hour] = [0, 23], _rangeMap[TimePickerSelectorType.minute] = [0, 59], _rangeMap[TimePickerSelectorType.second] = [0, 59], _rangeMap);
|
37
|
+
var range = rangeMap[type];
|
38
|
+
var stepMap = (_stepMap = {}, _stepMap[TimePickerSelectorType.hour] = step.hourStep, _stepMap[TimePickerSelectorType.minute] = step.minuteStep, _stepMap[TimePickerSelectorType.second] = step.secondStep, _stepMap);
|
39
|
+
|
40
|
+
for (var index = range[0]; index <= range[1]; index += stepMap[type]) {
|
41
|
+
result.push({
|
42
|
+
title: String(index).padStart(2, '0'),
|
43
|
+
disabled: disabledNumbers.includes(index),
|
44
|
+
id: String(index)
|
45
|
+
});
|
46
|
+
}
|
47
|
+
|
48
|
+
return result;
|
49
|
+
};
|
50
|
+
|
51
|
+
export { generateSelectorData };
|
52
|
+
//# sourceMappingURL=generateSelectorData.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"generateSelectorData.js","sources":["../../../src/utils/generateSelectorData.ts"],"sourcesContent":[null],"names":["generateSelectorData","info","type","filter","step","separateValue","panelType","selectorTypes","result","getMatchTypeValue","selectorType","matchIndex","indexOf","disabledMap","TimePickerSelectorType","hour","disabledHours","minute","disabledMinutes","second","disabledSeconds","disabledNumbers","rangeMap","range","stepMap","hourStep","minuteStep","secondStep","index","push","title","String","padStart","disabled","includes","id"],"mappings":";;;;;;;;;;;IAQaA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,IAAD;;;MAQ1BC,IAAR,GAAwED,IAAxE,CAAQC;MAAMC,MAAd,GAAwEF,IAAxE,CAAcE;MAAQC,IAAtB,GAAwEH,IAAxE,CAAsBG;MAAMC,aAA5B,GAAwEJ,IAAxE,CAA4BI;MAAeC,SAA3C,GAAwEL,IAAxE,CAA2CK;MAAWC,aAAtD,GAAwEN,IAAxE,CAAsDM;MAChDC,MAAM,GAAmB;;MAEzBC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,YAAD;QAClBC,UAAU,GAAGJ,aAAa,CAACK,OAAdL,CAAsBG,YAAtBH;WACZI,UAAU,IAAI,CAAdA,GAAkBN,aAAa,CAACM,UAAD,CAA/BA,GAA8C,CAAC;AAFxD;;MAKME,WAAW,oCACdC,sBAAsB,CAACC,QAAO;WAAMZ,MAAM,CAACa,aAAPb,CAAqBG,SAArBH;AADtB,kBAEdW,sBAAsB,CAACG,UAAS;WAC/Bd,MAAM,CAACe,eAAPf,CAAuBM,iBAAiB,CAACK,sBAAsB,CAACC,IAAxB,CAAxCZ,EAAuEG,SAAvEH;AAHa,kBAIdW,sBAAsB,CAACK,UAAS;WAC/BhB,MAAM,CAACiB,eAAPjB,CACEM,iBAAiB,CAACK,sBAAsB,CAACC,IAAxB,CADnBZ,EAEEM,iBAAiB,CAACK,sBAAsB,CAACG,MAAxB,CAFnBd,EAGEG,SAHFH;AALa,iBAAA;MAWXkB,eAAe,GAAGR,WAAW,CAACX,IAAD,CAAXW;MAElBS,QAAQ,8BACXR,sBAAsB,CAACC,QAAO,CAAC,CAAD,EAAI,EAAJ,aAC9BD,sBAAsB,CAACG,UAAS,CAAC,CAAD,EAAI,EAAJ,aAChCH,sBAAsB,CAACK,UAAS,CAAC,CAAD,EAAI,EAAJ,YAHrB;MAKRI,KAAK,GAAGD,QAAQ,CAACpB,IAAD;MAEhBsB,OAAO,4BACVV,sBAAsB,CAACC,QAAOX,IAAI,CAACqB,mBACnCX,sBAAsB,CAACG,UAASb,IAAI,CAACsB,qBACrCZ,sBAAsB,CAACK,UAASf,IAAI,CAACuB,oBAH3B;;OAMR,IAAIC,KAAK,GAAGL,KAAK,CAAC,CAAD,GAAKK,KAAK,IAAIL,KAAK,CAAC,CAAD,GAAKK,KAAK,IAAIJ,OAAO,CAACtB,IAAD,GAAQ;AACpEM,IAAAA,MAAM,CAACqB,IAAPrB,CAAY;AACVsB,MAAAA,KAAK,EAAEC,MAAM,CAACH,KAAD,CAANG,CAAcC,QAAdD,CAAuB,CAAvBA,EAA0B,GAA1BA,CADG;AAEVE,MAAAA,QAAQ,EAAEZ,eAAe,CAACa,QAAhBb,CAAyBO,KAAzBP,CAFA;AAGVc,MAAAA,EAAE,EAAEJ,MAAM,CAACH,KAAD;AAHA,KAAZpB;;;SAOKA;;;"}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
/** @LICENSE
|
2
|
+
* @hi-ui/time-picker
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/time-picker#readme
|
4
|
+
*
|
5
|
+
* Copyright (c) HIUI <mi-hiui@xiaomi.com>.
|
6
|
+
*
|
7
|
+
* This source code is licensed under the MIT license found in the
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
9
|
+
*/
|
10
|
+
var getFormatDefault = function getFormatDefault(format) {
|
11
|
+
return format.replace(/[Hms]/g, '0');
|
12
|
+
};
|
13
|
+
|
14
|
+
export { getFormatDefault };
|
15
|
+
//# sourceMappingURL=getFormatDefault.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"getFormatDefault.js","sources":["../../../src/utils/getFormatDefault.ts"],"sourcesContent":[null],"names":["getFormatDefault","format","replace"],"mappings":";;;;;;;;;IAEaA,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,MAAD;SACvBA,MAAM,CAACC,OAAPD,CAAe,QAAfA,EAAyB,GAAzBA;;;"}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
/** @LICENSE
|
2
|
+
* @hi-ui/time-picker
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/time-picker#readme
|
4
|
+
*
|
5
|
+
* Copyright (c) HIUI <mi-hiui@xiaomi.com>.
|
6
|
+
*
|
7
|
+
* This source code is licensed under the MIT license found in the
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
9
|
+
*/
|
10
|
+
import { TimePickerSelectorType } from '../@types/index.js';
|
11
|
+
import { analysisFormat } from './analysisFormat.js';
|
12
|
+
|
13
|
+
var getNowString = function getNowString(formatString) {
|
14
|
+
var _timeMap;
|
15
|
+
|
16
|
+
var format = analysisFormat(formatString);
|
17
|
+
var now = new Date();
|
18
|
+
var timeMap = (_timeMap = {}, _timeMap[TimePickerSelectorType.hour] = String(now.getHours()).padStart(2, '0'), _timeMap[TimePickerSelectorType.minute] = String(now.getMinutes()).padStart(2, '0'), _timeMap[TimePickerSelectorType.second] = String(now.getSeconds()).padStart(2, '0'), _timeMap);
|
19
|
+
return format.map(function (item) {
|
20
|
+
return timeMap[item];
|
21
|
+
}).join(':');
|
22
|
+
};
|
23
|
+
|
24
|
+
export { getNowString };
|
25
|
+
//# sourceMappingURL=getNowString.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"getNowString.js","sources":["../../../src/utils/getNowString.ts"],"sourcesContent":[null],"names":["getNowString","formatString","format","analysisFormat","now","Date","timeMap","TimePickerSelectorType","hour","String","getHours","padStart","minute","getMinutes","second","getSeconds","map","item","join"],"mappings":";;;;;;;;;;;;IAGaA,YAAY,GAAG,SAAfA,YAAe,CAACC,YAAD;;;MACpBC,MAAM,GAAGC,cAAc,CAACF,YAAD;MAEvBG,GAAG,GAAG,IAAIC,IAAJ;MACNC,OAAO,4BACVC,sBAAsB,CAACC,QAAOC,MAAM,CAACL,GAAG,CAACM,QAAJN,EAAD,CAANK,CAAuBE,QAAvBF,CAAgC,CAAhCA,EAAmC,GAAnCA,YAC9BF,sBAAsB,CAACK,UAASH,MAAM,CAACL,GAAG,CAACS,UAAJT,EAAD,CAANK,CAAyBE,QAAzBF,CAAkC,CAAlCA,EAAqC,GAArCA,YAChCF,sBAAsB,CAACO,UAASL,MAAM,CAACL,GAAG,CAACW,UAAJX,EAAD,CAANK,CAAyBE,QAAzBF,CAAkC,CAAlCA,EAAqC,GAArCA,WAHtB;SAKNP,MAAM,CAACc,GAAPd,CAAW,UAACe,IAAD;WAAUX,OAAO,CAACW,IAAD;AAA5B,GAAAf,EAAoCgB,IAApChB,CAAyC,GAAzCA;;;"}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
/** @LICENSE
|
2
|
+
* @hi-ui/time-picker
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/time-picker#readme
|
4
|
+
*
|
5
|
+
* Copyright (c) HIUI <mi-hiui@xiaomi.com>.
|
6
|
+
*
|
7
|
+
* This source code is licensed under the MIT license found in the
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
9
|
+
*/
|
10
|
+
var getRange = function getRange(min, max) {
|
11
|
+
var result = [];
|
12
|
+
|
13
|
+
if (min > max) {
|
14
|
+
return [];
|
15
|
+
}
|
16
|
+
|
17
|
+
if (min < 0 || max < 0) {
|
18
|
+
return [];
|
19
|
+
}
|
20
|
+
|
21
|
+
for (var counter = min; counter <= max; counter++) {
|
22
|
+
result.push(counter);
|
23
|
+
}
|
24
|
+
|
25
|
+
return result;
|
26
|
+
};
|
27
|
+
|
28
|
+
export { getRange };
|
29
|
+
//# sourceMappingURL=getRange.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"getRange.js","sources":["../../../src/utils/getRange.ts"],"sourcesContent":[null],"names":["getRange","min","max","result","counter","push"],"mappings":";;;;;;;;;IAAaA,QAAQ,GAAG,SAAXA,QAAW,CAACC,GAAD,EAAcC,GAAd;MAChBC,MAAM,GAAG;;MAEXF,GAAG,GAAGC,KAAK;WACN;;;MAGLD,GAAG,GAAG,CAANA,IAAWC,GAAG,GAAG,GAAG;WACf;;;OAGJ,IAAIE,OAAO,GAAGH,KAAKG,OAAO,IAAIF,KAAKE,OAAO,IAAI;AACjDD,IAAAA,MAAM,CAACE,IAAPF,CAAYC,OAAZD;;;SAGKA;;;"}
|
@@ -0,0 +1,80 @@
|
|
1
|
+
/** @LICENSE
|
2
|
+
* @hi-ui/time-picker
|
3
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/time-picker#readme
|
4
|
+
*
|
5
|
+
* Copyright (c) HIUI <mi-hiui@xiaomi.com>.
|
6
|
+
*
|
7
|
+
* This source code is licensed under the MIT license found in the
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
9
|
+
*/
|
10
|
+
import { TimePickerSelectorType } from '../@types/index.js';
|
11
|
+
import { analysisFormat } from './analysisFormat.js';
|
12
|
+
|
13
|
+
var valueChecker = function valueChecker(info) {
|
14
|
+
var _checkerMap, _disabledMap, _stepMap;
|
15
|
+
|
16
|
+
var value = info.value,
|
17
|
+
format = info.format,
|
18
|
+
filter = info.filter,
|
19
|
+
panelType = info.panelType,
|
20
|
+
step = info.step;
|
21
|
+
var selectorTypes = analysisFormat(format);
|
22
|
+
var checkerMap = (_checkerMap = {}, _checkerMap[TimePickerSelectorType.hour] = function (e) {
|
23
|
+
return e >= 0 && e <= 23;
|
24
|
+
}, _checkerMap[TimePickerSelectorType.minute] = function (e) {
|
25
|
+
return e >= 0 && e <= 59;
|
26
|
+
}, _checkerMap[TimePickerSelectorType.second] = function (e) {
|
27
|
+
return e >= 0 && e <= 59;
|
28
|
+
}, _checkerMap); // 允许为空的情况
|
29
|
+
|
30
|
+
if (value === '') {
|
31
|
+
return true;
|
32
|
+
}
|
33
|
+
|
34
|
+
if (!value) {
|
35
|
+
return false;
|
36
|
+
}
|
37
|
+
|
38
|
+
var separateParts = value.split(':').filter(function (item) {
|
39
|
+
return !!item && item.length === 2;
|
40
|
+
}).map(function (item) {
|
41
|
+
return Number(item);
|
42
|
+
});
|
43
|
+
|
44
|
+
if (separateParts.length !== selectorTypes.length) {
|
45
|
+
return false;
|
46
|
+
}
|
47
|
+
|
48
|
+
var getMatchTypeValue = function getMatchTypeValue(selectorType) {
|
49
|
+
var matchIndex = selectorTypes.indexOf(selectorType);
|
50
|
+
return matchIndex >= 0 ? separateParts[matchIndex] : -1;
|
51
|
+
};
|
52
|
+
|
53
|
+
var disabledMap = (_disabledMap = {}, _disabledMap[TimePickerSelectorType.hour] = function () {
|
54
|
+
return filter.disabledHours(panelType);
|
55
|
+
}, _disabledMap[TimePickerSelectorType.minute] = function () {
|
56
|
+
return filter.disabledMinutes(getMatchTypeValue(TimePickerSelectorType.hour), panelType);
|
57
|
+
}, _disabledMap[TimePickerSelectorType.second] = function () {
|
58
|
+
return filter.disabledSeconds(getMatchTypeValue(TimePickerSelectorType.hour), getMatchTypeValue(TimePickerSelectorType.minute), panelType);
|
59
|
+
}, _disabledMap);
|
60
|
+
var stepMap = (_stepMap = {}, _stepMap[TimePickerSelectorType.hour] = step.hourStep, _stepMap[TimePickerSelectorType.minute] = step.minuteStep, _stepMap[TimePickerSelectorType.second] = step.secondStep, _stepMap);
|
61
|
+
|
62
|
+
for (var counter = 0; counter < separateParts.length; counter++) {
|
63
|
+
var type = selectorTypes[counter];
|
64
|
+
var stepNumber = stepMap[type];
|
65
|
+
var disabledNumbers = disabledMap[type]();
|
66
|
+
var checker = checkerMap[type];
|
67
|
+
var checkNumber = separateParts[counter]; // 不符合要求的数字
|
68
|
+
// 被禁用的数字
|
69
|
+
// 不符合 step 的数字
|
70
|
+
|
71
|
+
if (!checker(checkNumber) || disabledNumbers.includes(checkNumber) || checkNumber % stepNumber !== 0) {
|
72
|
+
return false;
|
73
|
+
}
|
74
|
+
}
|
75
|
+
|
76
|
+
return true;
|
77
|
+
};
|
78
|
+
|
79
|
+
export { valueChecker };
|
80
|
+
//# sourceMappingURL=valueChecker.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"valueChecker.js","sources":["../../../src/utils/valueChecker.ts"],"sourcesContent":[null],"names":["valueChecker","info","value","format","filter","panelType","step","selectorTypes","analysisFormat","checkerMap","TimePickerSelectorType","hour","e","minute","second","separateParts","split","item","length","map","Number","getMatchTypeValue","selectorType","matchIndex","indexOf","disabledMap","disabledHours","disabledMinutes","disabledSeconds","stepMap","hourStep","minuteStep","secondStep","counter","type","stepNumber","disabledNumbers","checker","checkNumber","includes"],"mappings":";;;;;;;;;;;;IASaA,YAAY,GAAG,SAAfA,YAAe,CAACC,IAAD;;;MAOlBC,KAAR,GAAmDD,IAAnD,CAAQC;MAAOC,MAAf,GAAmDF,IAAnD,CAAeE;MAAQC,MAAvB,GAAmDH,IAAnD,CAAuBG;MAAQC,SAA/B,GAAmDJ,IAAnD,CAA+BI;MAAWC,IAA1C,GAAmDL,IAAnD,CAA0CK;MACpCC,aAAa,GAAGC,cAAc,CAACL,MAAD;MAC9BM,UAAU,kCACbC,sBAAsB,CAACC,QAAO,UAACC,CAAD;WAAeA,CAAC,IAAI,CAALA,IAAUA,CAAC,IAAI;AAD/C,iBAEbF,sBAAsB,CAACG,UAAS,UAACD,CAAD;WAAeA,CAAC,IAAI,CAALA,IAAUA,CAAC,IAAI;AAFjD,iBAGbF,sBAAsB,CAACI,UAAS,UAACF,CAAD;WAAeA,CAAC,IAAI,CAALA,IAAUA,CAAC,IAAI;AAHjD,gBAAA;;MAMZV,KAAK,KAAK,IAAI;WACT;;;MAEL,CAACA,OAAO;WACH;;;MAGHa,aAAa,GAAGb,KAAK,CACxBc,KADmBd,CACb,GADaA,EAEnBE,MAFmBF,CAEZ,UAACe,IAAD;WAAU,CAAC,CAACA,IAAF,IAAUA,IAAI,CAACC,MAALD,KAAgB;AAFxB,GAAAf,EAGnBiB,GAHmBjB,CAGf,UAACe,IAAD;WAAUG,MAAM,CAACH,IAAD;AAHD,GAAAf;;MAKlBa,aAAa,CAACG,MAAdH,KAAyBR,aAAa,CAACW,QAAQ;WAC1C;;;MAGHG,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,YAAD;QAClBC,UAAU,GAAGhB,aAAa,CAACiB,OAAdjB,CAAsBe,YAAtBf;WACZgB,UAAU,IAAI,CAAdA,GAAkBR,aAAa,CAACQ,UAAD,CAA/BA,GAA8C,CAAC;AAFxD;;MAKME,WAAW,oCACdf,sBAAsB,CAACC,QAAO;WAAMP,MAAM,CAACsB,aAAPtB,CAAqBC,SAArBD;AADtB,kBAEdM,sBAAsB,CAACG,UAAS;WAC/BT,MAAM,CAACuB,eAAPvB,CAAuBiB,iBAAiB,CAACX,sBAAsB,CAACC,IAAxB,CAAxCP,EAAuEC,SAAvED;AAHa,kBAIdM,sBAAsB,CAACI,UAAS;WAC/BV,MAAM,CAACwB,eAAPxB,CACEiB,iBAAiB,CAACX,sBAAsB,CAACC,IAAxB,CADnBP,EAEEiB,iBAAiB,CAACX,sBAAsB,CAACG,MAAxB,CAFnBT,EAGEC,SAHFD;AALa,iBAAA;MAYXyB,OAAO,4BACVnB,sBAAsB,CAACC,QAAOL,IAAI,CAACwB,mBACnCpB,sBAAsB,CAACG,UAASP,IAAI,CAACyB,qBACrCrB,sBAAsB,CAACI,UAASR,IAAI,CAAC0B,oBAH3B;;OAMR,IAAIC,OAAO,GAAG,GAAGA,OAAO,GAAGlB,aAAa,CAACG,QAAQe,OAAO,IAAI;QACzDC,IAAI,GAAG3B,aAAa,CAAC0B,OAAD;QACpBE,UAAU,GAAGN,OAAO,CAACK,IAAD;QACpBE,eAAe,GAAGX,WAAW,CAACS,IAAD,CAAXT;QAClBY,OAAO,GAAG5B,UAAU,CAACyB,IAAD;QACpBI,WAAW,GAAGvB,aAAa,CAACkB,OAAD,EAL8B;;;;QAU7D,CAACI,OAAO,CAACC,WAAD,CAAR,IACAF,eAAe,CAACG,QAAhBH,CAAyBE,WAAzBF,CADA,IAEAE,WAAW,GAAGH,UAAdG,KAA6B,GAC7B;aACO;;;;SAIJ;;;"}
|
@@ -0,0 +1,62 @@
|
|
1
|
+
export declare type TimePickerType = 'single' | 'range';
|
2
|
+
export declare type TimePickerFormat = 'HH:mm:ss' | 'HH' | 'mm' | 'ss' | 'HH:mm' | 'mm:ss';
|
3
|
+
export declare type TimePickerPanelType = 'single' | 'range-start' | 'range-end';
|
4
|
+
export declare enum TimePickerSelectorType {
|
5
|
+
hour = 1,
|
6
|
+
minute = 2,
|
7
|
+
second = 3
|
8
|
+
}
|
9
|
+
export interface TimePickerStep {
|
10
|
+
/**
|
11
|
+
* 小时选项间隔
|
12
|
+
* @default 1
|
13
|
+
*/
|
14
|
+
hourStep?: number;
|
15
|
+
/**
|
16
|
+
* 分钟选项间隔
|
17
|
+
* @default 1
|
18
|
+
*/
|
19
|
+
minuteStep?: number;
|
20
|
+
/**
|
21
|
+
* 秒选项间隔
|
22
|
+
* @default 1
|
23
|
+
*/
|
24
|
+
secondStep?: number;
|
25
|
+
}
|
26
|
+
export declare type TimePickerDisabledHoursFunction = (panel: TimePickerPanelType) => number[];
|
27
|
+
export declare type TimePickerDisabledMinutesFunction = (hour: number, panel: TimePickerPanelType) => number[];
|
28
|
+
export declare type TimePickerDisabledSecondsFunction = (hour: number, minute: number, panel: TimePickerPanelType) => number[];
|
29
|
+
export interface TimePickerFilterProps {
|
30
|
+
/**
|
31
|
+
* 禁止选择的小时
|
32
|
+
* @default () => []
|
33
|
+
*/
|
34
|
+
disabledHours?: TimePickerDisabledHoursFunction | number[];
|
35
|
+
/**
|
36
|
+
* 禁止选择的分钟
|
37
|
+
* @default () => []
|
38
|
+
*/
|
39
|
+
disabledMinutes?: TimePickerDisabledMinutesFunction | number[];
|
40
|
+
/**
|
41
|
+
* 禁止选择的秒数
|
42
|
+
* @default () => []
|
43
|
+
*/
|
44
|
+
disabledSeconds?: TimePickerDisabledSecondsFunction | number[];
|
45
|
+
}
|
46
|
+
export interface TimePickerFilter {
|
47
|
+
/**
|
48
|
+
* 禁止选择的小时
|
49
|
+
* @default () => []
|
50
|
+
*/
|
51
|
+
disabledHours?: TimePickerDisabledHoursFunction;
|
52
|
+
/**
|
53
|
+
* 禁止选择的分钟
|
54
|
+
* @default () => []
|
55
|
+
*/
|
56
|
+
disabledMinutes?: TimePickerDisabledMinutesFunction;
|
57
|
+
/**
|
58
|
+
* 禁止选择的秒数
|
59
|
+
* @default () => []
|
60
|
+
*/
|
61
|
+
disabledSeconds?: TimePickerDisabledSecondsFunction;
|
62
|
+
}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { TimePickerFilter, TimePickerFormat, TimePickerStep, TimePickerType } from './@types';
|
3
|
+
declare type ExtendType = Required<TimePickerFilter> & Required<TimePickerStep>;
|
4
|
+
interface InputProps extends ExtendType {
|
5
|
+
value: string[];
|
6
|
+
onChange: (value: string[]) => void;
|
7
|
+
placeholders: string[];
|
8
|
+
type: TimePickerType;
|
9
|
+
prefix: string;
|
10
|
+
format: TimePickerFormat;
|
11
|
+
onFocus: () => void;
|
12
|
+
disabled: boolean;
|
13
|
+
onValidChange: (isValid: boolean) => void;
|
14
|
+
}
|
15
|
+
export interface InputRef {
|
16
|
+
/**
|
17
|
+
* 强制将当前缓存与value同步
|
18
|
+
* 为解决外部 value 没有变化,但是需要将错误的 cache 刷新为正确的 value 值情况(input只有输入正确值,才会通知外部改变)
|
19
|
+
*/
|
20
|
+
refresh: () => void;
|
21
|
+
}
|
22
|
+
export declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<InputRef>>;
|
23
|
+
export {};
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { FC } from 'react';
|
2
|
+
import { TimePickerFilter, TimePickerFormat, TimePickerPanelType, TimePickerStep } from './@types';
|
3
|
+
declare type ExtendType = Required<TimePickerFilter> & Required<TimePickerStep>;
|
4
|
+
interface PanelProps extends ExtendType {
|
5
|
+
prefix: string;
|
6
|
+
panel: TimePickerPanelType;
|
7
|
+
value: string;
|
8
|
+
onChange: (value: string) => void;
|
9
|
+
format: TimePickerFormat;
|
10
|
+
itemHeight: number;
|
11
|
+
fullDisplayItemNumber: number;
|
12
|
+
}
|
13
|
+
export declare const Panel: FC<PanelProps>;
|
14
|
+
export {};
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import React, { FC } from 'react';
|
2
|
+
import { TimePickerFilterProps, TimePickerFormat, TimePickerStep, TimePickerType } from './@types';
|
3
|
+
declare type ExtendType = Partial<TimePickerFilterProps> & Required<TimePickerStep>;
|
4
|
+
interface PopContentProps extends ExtendType {
|
5
|
+
prefix?: string;
|
6
|
+
value: string[];
|
7
|
+
onChange: (value: string[]) => void;
|
8
|
+
format: TimePickerFormat;
|
9
|
+
type: TimePickerType;
|
10
|
+
itemHeight: number;
|
11
|
+
fullDisplayItemNumber: number;
|
12
|
+
style?: React.CSSProperties;
|
13
|
+
}
|
14
|
+
export declare const PopContent: FC<PopContentProps>;
|
15
|
+
export {};
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import { FC } from 'react';
|
2
|
+
export interface SelectorItem {
|
3
|
+
title: string;
|
4
|
+
disabled: boolean;
|
5
|
+
id: string;
|
6
|
+
}
|
7
|
+
export declare enum SelectorPosition {
|
8
|
+
left = "left",
|
9
|
+
right = "right",
|
10
|
+
middle = "middle",
|
11
|
+
single = "single"
|
12
|
+
}
|
13
|
+
interface SelectorProps {
|
14
|
+
prefix: string;
|
15
|
+
value: string;
|
16
|
+
data: SelectorItem[];
|
17
|
+
onChange: (item: SelectorItem) => void;
|
18
|
+
itemHeight: number;
|
19
|
+
fullDisplayItemNumber: number;
|
20
|
+
position: SelectorPosition;
|
21
|
+
}
|
22
|
+
export declare const Selector: FC<SelectorProps>;
|
23
|
+
export {};
|
@@ -0,0 +1,61 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { HiBaseHTMLProps } from '@hi-ui/core';
|
3
|
+
import { TimePickerStep, TimePickerType, TimePickerFormat, TimePickerFilterProps } from './@types';
|
4
|
+
export declare const _prefix: string;
|
5
|
+
export declare const TimePicker: React.ForwardRefExoticComponent<TimePickerProps & React.RefAttributes<HTMLDivElement | null>>;
|
6
|
+
declare type ExtendType = Omit<HiBaseHTMLProps<'div'>, 'placeholder' | 'value' | 'onChange'> & TimePickerFilterProps & TimePickerStep;
|
7
|
+
export interface TimePickerProps extends ExtendType {
|
8
|
+
/**
|
9
|
+
* 选择器类型
|
10
|
+
* @default 'single'
|
11
|
+
*/
|
12
|
+
type?: TimePickerType;
|
13
|
+
/**
|
14
|
+
* 选择器格式
|
15
|
+
* @default 'HH:mm:ss'
|
16
|
+
*/
|
17
|
+
format?: TimePickerFormat;
|
18
|
+
/**
|
19
|
+
* 当前值(type='single'取数组第一个值,type='range'取数组第一个作为开始,第二个作为结束)
|
20
|
+
*/
|
21
|
+
value?: string[];
|
22
|
+
/**
|
23
|
+
* 默认值
|
24
|
+
*/
|
25
|
+
defaultValue?: string[];
|
26
|
+
/**
|
27
|
+
* 输入框是否不可编辑
|
28
|
+
* @default false
|
29
|
+
*/
|
30
|
+
inputReadonly?: boolean;
|
31
|
+
/**
|
32
|
+
* 是否有边框
|
33
|
+
* @default true
|
34
|
+
*/
|
35
|
+
bordered?: boolean;
|
36
|
+
/**
|
37
|
+
* 是否禁用
|
38
|
+
* @default false
|
39
|
+
*/
|
40
|
+
disabled?: boolean;
|
41
|
+
/**
|
42
|
+
* 输入框占位符
|
43
|
+
*/
|
44
|
+
placeholder?: string[];
|
45
|
+
/**
|
46
|
+
* 选择器高
|
47
|
+
* @default 32
|
48
|
+
*/
|
49
|
+
itemHeight?: number;
|
50
|
+
/**
|
51
|
+
* 完全展示item的数目,必须为奇数
|
52
|
+
* @default 7
|
53
|
+
*/
|
54
|
+
fullDisplayItemNumber?: number;
|
55
|
+
/**
|
56
|
+
* 值改变事件
|
57
|
+
* @param value
|
58
|
+
*/
|
59
|
+
onChange?: (value: string[]) => void;
|
60
|
+
}
|
61
|
+
export {};
|