@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.
Files changed (83) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +11 -0
  3. package/lib/cjs/@types/index.js +22 -0
  4. package/lib/cjs/@types/index.js.map +1 -0
  5. package/lib/cjs/Input.js +174 -0
  6. package/lib/cjs/Input.js.map +1 -0
  7. package/lib/cjs/Panel.js +144 -0
  8. package/lib/cjs/Panel.js.map +1 -0
  9. package/lib/cjs/PopContent.js +211 -0
  10. package/lib/cjs/PopContent.js.map +1 -0
  11. package/lib/cjs/Selector.js +128 -0
  12. package/lib/cjs/Selector.js.map +1 -0
  13. package/lib/cjs/TimePicker.js +310 -0
  14. package/lib/cjs/TimePicker.js.map +1 -0
  15. package/lib/cjs/hooks/useFilter.js +39 -0
  16. package/lib/cjs/hooks/useFilter.js.map +1 -0
  17. package/lib/cjs/index.js +34 -0
  18. package/lib/cjs/index.js.map +1 -0
  19. package/lib/cjs/styles/index.scss.js +22 -0
  20. package/lib/cjs/styles/index.scss.js.map +1 -0
  21. package/lib/cjs/utils/analysisFormat.js +42 -0
  22. package/lib/cjs/utils/analysisFormat.js.map +1 -0
  23. package/lib/cjs/utils/disposeInputValue.js +57 -0
  24. package/lib/cjs/utils/disposeInputValue.js.map +1 -0
  25. package/lib/cjs/utils/generateSelectorData.js +58 -0
  26. package/lib/cjs/utils/generateSelectorData.js.map +1 -0
  27. package/lib/cjs/utils/getFormatDefault.js +21 -0
  28. package/lib/cjs/utils/getFormatDefault.js.map +1 -0
  29. package/lib/cjs/utils/getNowString.js +32 -0
  30. package/lib/cjs/utils/getNowString.js.map +1 -0
  31. package/lib/cjs/utils/getRange.js +35 -0
  32. package/lib/cjs/utils/getRange.js.map +1 -0
  33. package/lib/cjs/utils/valueChecker.js +87 -0
  34. package/lib/cjs/utils/valueChecker.js.map +1 -0
  35. package/lib/esm/@types/index.js +19 -0
  36. package/lib/esm/@types/index.js.map +1 -0
  37. package/lib/esm/Input.js +154 -0
  38. package/lib/esm/Input.js.map +1 -0
  39. package/lib/esm/Panel.js +124 -0
  40. package/lib/esm/Panel.js.map +1 -0
  41. package/lib/esm/PopContent.js +188 -0
  42. package/lib/esm/PopContent.js.map +1 -0
  43. package/lib/esm/Selector.js +110 -0
  44. package/lib/esm/Selector.js.map +1 -0
  45. package/lib/esm/TimePicker.js +281 -0
  46. package/lib/esm/TimePicker.js.map +1 -0
  47. package/lib/esm/hooks/useFilter.js +33 -0
  48. package/lib/esm/hooks/useFilter.js.map +1 -0
  49. package/lib/esm/index.js +14 -0
  50. package/lib/esm/index.js.map +1 -0
  51. package/lib/esm/styles/index.scss.js +17 -0
  52. package/lib/esm/styles/index.scss.js.map +1 -0
  53. package/lib/esm/utils/analysisFormat.js +36 -0
  54. package/lib/esm/utils/analysisFormat.js.map +1 -0
  55. package/lib/esm/utils/disposeInputValue.js +51 -0
  56. package/lib/esm/utils/disposeInputValue.js.map +1 -0
  57. package/lib/esm/utils/generateSelectorData.js +52 -0
  58. package/lib/esm/utils/generateSelectorData.js.map +1 -0
  59. package/lib/esm/utils/getFormatDefault.js +15 -0
  60. package/lib/esm/utils/getFormatDefault.js.map +1 -0
  61. package/lib/esm/utils/getNowString.js +25 -0
  62. package/lib/esm/utils/getNowString.js.map +1 -0
  63. package/lib/esm/utils/getRange.js +29 -0
  64. package/lib/esm/utils/getRange.js.map +1 -0
  65. package/lib/esm/utils/valueChecker.js +80 -0
  66. package/lib/esm/utils/valueChecker.js.map +1 -0
  67. package/lib/types/@types/index.d.ts +62 -0
  68. package/lib/types/Input.d.ts +23 -0
  69. package/lib/types/Panel.d.ts +14 -0
  70. package/lib/types/PopContent.d.ts +15 -0
  71. package/lib/types/Selector.d.ts +23 -0
  72. package/lib/types/TimePicker.d.ts +61 -0
  73. package/lib/types/hooks/useFilter.d.ts +2 -0
  74. package/lib/types/index.d.ts +6 -0
  75. package/lib/types/utils/analysisFormat.d.ts +2 -0
  76. package/lib/types/utils/disposeInputValue.d.ts +2 -0
  77. package/lib/types/utils/generateSelectorData.d.ts +10 -0
  78. package/lib/types/utils/getFormatDefault.d.ts +2 -0
  79. package/lib/types/utils/getNowString.d.ts +2 -0
  80. package/lib/types/utils/getRange.d.ts +1 -0
  81. package/lib/types/utils/getSelectorTitle.d.ts +2 -0
  82. package/lib/types/utils/valueChecker.d.ts +8 -0
  83. package/package.json +66 -0
@@ -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 {};
@@ -0,0 +1,2 @@
1
+ import { TimePickerFilter, TimePickerFilterProps } from '../@types';
2
+ export declare const useFilter: (original: TimePickerFilterProps) => Required<TimePickerFilter>;
@@ -0,0 +1,6 @@
1
+ import './styles/index.scss';
2
+ import { PopContent as TimePickerPopContent } from './PopContent';
3
+ export * from './@types';
4
+ export * from './TimePicker';
5
+ export { TimePicker as default } from './TimePicker';
6
+ export { TimePickerPopContent };
@@ -0,0 +1,2 @@
1
+ import { TimePickerFormat, TimePickerSelectorType } from '../@types';
2
+ export declare const analysisFormat: (format: TimePickerFormat) => TimePickerSelectorType[];