@seakoi/native-ui 1.1.2 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/dist/commonjs/components/base/carousel/carousel-indicator.js +56 -0
- package/dist/commonjs/components/base/carousel/carousel-slides.js +140 -0
- package/dist/commonjs/components/base/carousel/carousel.js +114 -122
- package/dist/commonjs/components/base/carousel/hooks/index.js +0 -14
- package/dist/commonjs/components/base/carousel/hooks/use-carousel-index.js +16 -13
- package/dist/commonjs/components/base/carousel/hooks/use-carousel-lifecycle.js +6 -2
- package/dist/commonjs/components/base/carousel/hooks/use-carousel-pan-responder.js +40 -12
- package/dist/commonjs/components/base/carousel/hooks/use-carousel-position.js +6 -2
- package/dist/commonjs/components/base/carousel/index.js +1 -15
- package/dist/commonjs/components/base/carousel/style/index.js +12 -0
- package/dist/commonjs/components/base/date-picker/date-picker.js +56 -44
- package/dist/commonjs/components/base/date-picker/date-range-picker.js +142 -50
- package/dist/commonjs/components/base/date-picker/style/index.js +15 -0
- package/dist/commonjs/components/base/date-picker-view/date-picker-view.js +19 -53
- package/dist/commonjs/components/base/date-picker-view/index.js +0 -22
- package/dist/commonjs/components/base/index.js +30 -8
- package/dist/commonjs/components/base/picker/index.js +26 -4
- package/dist/commonjs/components/base/picker/picker-content.js +60 -0
- package/dist/commonjs/components/base/picker/picker-context.js +9 -0
- package/dist/commonjs/components/base/picker/picker-field.js +37 -0
- package/dist/commonjs/components/base/picker/picker.js +22 -96
- package/dist/commonjs/components/base/picker/style/index.js +1 -3
- package/dist/commonjs/components/base/picker-backup/base-picker-container.js +50 -0
- package/dist/commonjs/components/base/picker-backup/index.js +27 -0
- package/dist/commonjs/components/base/picker-backup/picker-backup.js +75 -0
- package/dist/commonjs/components/base/picker-backup/picker-copy.js +106 -0
- package/dist/commonjs/components/base/{picker → picker-backup}/picker-trigger.js +5 -5
- package/dist/commonjs/components/base/picker-backup/style/index.js +19 -0
- package/dist/commonjs/components/base/picker-backup/utils.js +53 -0
- package/dist/commonjs/components/base/picker-view/picker-view-column.js +15 -0
- package/dist/commonjs/components/base/picker-view/picker-view.js +4 -4
- package/dist/commonjs/components/base/tag/index.js +20 -0
- package/dist/commonjs/components/base/tag/style/index.js +89 -0
- package/dist/commonjs/components/base/tag/tag-context.js +12 -0
- package/dist/commonjs/components/base/tag/tag-group.js +35 -0
- package/dist/commonjs/components/base/tag/tag.js +47 -0
- package/dist/commonjs/components/base/tag/types.js +5 -0
- package/dist/module/components/base/carousel/carousel-indicator.js +51 -0
- package/dist/module/components/base/carousel/carousel-slides.js +135 -0
- package/dist/module/components/base/carousel/carousel.js +116 -124
- package/dist/module/components/base/carousel/hooks/index.js +0 -2
- package/dist/module/components/base/carousel/hooks/use-carousel-index.js +15 -11
- package/dist/module/components/base/carousel/hooks/use-carousel-lifecycle.js +6 -2
- package/dist/module/components/base/carousel/hooks/use-carousel-pan-responder.js +40 -11
- package/dist/module/components/base/carousel/hooks/use-carousel-position.js +5 -1
- package/dist/module/components/base/carousel/index.js +1 -5
- package/dist/module/components/base/carousel/style/index.js +12 -0
- package/dist/module/components/base/date-picker/date-picker.js +60 -48
- package/dist/module/components/base/date-picker/date-range-picker.js +146 -54
- package/dist/module/components/base/date-picker/style/index.js +11 -0
- package/dist/module/components/base/date-picker-view/date-picker-view.js +23 -57
- package/dist/module/components/base/date-picker-view/index.js +1 -3
- package/dist/module/components/base/index.js +2 -0
- package/dist/module/components/base/picker/index.js +9 -1
- package/dist/module/components/base/picker/picker-content.js +54 -0
- package/dist/module/components/base/picker/picker-context.js +4 -0
- package/dist/module/components/base/picker/picker-field.js +32 -0
- package/dist/module/components/base/picker/picker.js +25 -99
- package/dist/module/components/base/picker/style/index.js +1 -3
- package/dist/module/components/base/picker-backup/base-picker-container.js +44 -0
- package/dist/module/components/base/picker-backup/index.js +4 -0
- package/dist/module/components/base/picker-backup/picker-backup.js +69 -0
- package/dist/module/components/base/picker-backup/picker-copy.js +101 -0
- package/dist/module/components/base/{picker → picker-backup}/picker-trigger.js +2 -2
- package/dist/module/components/base/picker-backup/style/index.js +15 -0
- package/dist/module/components/base/picker-backup/utils.js +48 -0
- package/dist/module/components/base/picker-view/picker-view-column.js +15 -0
- package/dist/module/components/base/picker-view/picker-view.js +4 -4
- package/dist/module/components/base/tag/index.js +5 -0
- package/dist/module/components/base/tag/style/index.js +85 -0
- package/dist/module/components/base/tag/tag-context.js +8 -0
- package/dist/module/components/base/tag/tag-group.js +29 -0
- package/dist/module/components/base/tag/tag.js +41 -0
- package/dist/module/components/base/tag/types.js +3 -0
- package/dist/typescript/components/base/carousel/carousel-indicator.d.ts +42 -0
- package/dist/typescript/components/base/carousel/carousel-indicator.d.ts.map +1 -0
- package/dist/typescript/components/base/carousel/carousel-slides.d.ts +49 -0
- package/dist/typescript/components/base/carousel/carousel-slides.d.ts.map +1 -0
- package/dist/typescript/components/base/carousel/carousel.d.ts +16 -11
- package/dist/typescript/components/base/carousel/carousel.d.ts.map +1 -1
- package/dist/typescript/components/base/carousel/hooks/index.d.ts +0 -2
- package/dist/typescript/components/base/carousel/hooks/index.d.ts.map +1 -1
- package/dist/typescript/components/base/carousel/hooks/use-carousel-index.d.ts.map +1 -1
- package/dist/typescript/components/base/carousel/hooks/use-carousel-lifecycle.d.ts.map +1 -1
- package/dist/typescript/components/base/carousel/hooks/use-carousel-pan-responder.d.ts.map +1 -1
- package/dist/typescript/components/base/carousel/hooks/use-carousel-position.d.ts.map +1 -1
- package/dist/typescript/components/base/carousel/index.d.ts +1 -4
- package/dist/typescript/components/base/carousel/index.d.ts.map +1 -1
- package/dist/typescript/components/base/carousel/style/index.d.ts +12 -0
- package/dist/typescript/components/base/carousel/style/index.d.ts.map +1 -1
- package/dist/typescript/components/base/carousel/types.d.ts +8 -17
- package/dist/typescript/components/base/carousel/types.d.ts.map +1 -1
- package/dist/typescript/components/base/date-picker/date-picker.d.ts +4 -2
- package/dist/typescript/components/base/date-picker/date-picker.d.ts.map +1 -1
- package/dist/typescript/components/base/date-picker/date-range-picker.d.ts +12 -3
- package/dist/typescript/components/base/date-picker/date-range-picker.d.ts.map +1 -1
- package/dist/typescript/components/base/date-picker/style/index.d.ts +9 -0
- package/dist/typescript/components/base/date-picker/style/index.d.ts.map +1 -0
- package/dist/typescript/components/base/date-picker-view/date-picker-view.d.ts +1 -6
- package/dist/typescript/components/base/date-picker-view/date-picker-view.d.ts.map +1 -1
- package/dist/typescript/components/base/date-picker-view/index.d.ts +0 -2
- package/dist/typescript/components/base/date-picker-view/index.d.ts.map +1 -1
- package/dist/typescript/components/base/date-picker-view/types.d.ts +1 -1
- package/dist/typescript/components/base/index.d.ts +2 -0
- package/dist/typescript/components/base/index.d.ts.map +1 -1
- package/dist/typescript/components/base/picker/index.d.ts +7 -1
- package/dist/typescript/components/base/picker/index.d.ts.map +1 -1
- package/dist/typescript/components/base/picker/picker-content.d.ts +15 -0
- package/dist/typescript/components/base/picker/picker-content.d.ts.map +1 -0
- package/dist/typescript/components/base/picker/picker-context.d.ts +18 -0
- package/dist/typescript/components/base/picker/picker-context.d.ts.map +1 -0
- package/dist/typescript/components/base/picker/picker-field.d.ts +10 -0
- package/dist/typescript/components/base/picker/picker-field.d.ts.map +1 -0
- package/dist/typescript/components/base/picker/picker.d.ts +13 -11
- package/dist/typescript/components/base/picker/picker.d.ts.map +1 -1
- package/dist/typescript/components/base/picker/style/index.d.ts +0 -2
- package/dist/typescript/components/base/picker/style/index.d.ts.map +1 -1
- package/dist/typescript/components/base/picker-backup/base-picker-container.d.ts +15 -0
- package/dist/typescript/components/base/picker-backup/base-picker-container.d.ts.map +1 -0
- package/dist/typescript/components/base/picker-backup/index.d.ts +3 -0
- package/dist/typescript/components/base/picker-backup/index.d.ts.map +1 -0
- package/dist/typescript/components/base/picker-backup/picker-backup.d.ts +26 -0
- package/dist/typescript/components/base/picker-backup/picker-backup.d.ts.map +1 -0
- package/dist/typescript/components/base/picker-backup/picker-copy.d.ts +13 -0
- package/dist/typescript/components/base/picker-backup/picker-copy.d.ts.map +1 -0
- package/dist/typescript/components/base/picker-backup/picker-trigger.d.ts.map +1 -0
- package/dist/typescript/components/base/picker-backup/style/index.d.ts +13 -0
- package/dist/typescript/components/base/picker-backup/style/index.d.ts.map +1 -0
- package/dist/typescript/components/base/picker-backup/utils.d.ts +8 -0
- package/dist/typescript/components/base/picker-backup/utils.d.ts.map +1 -0
- package/dist/typescript/components/base/picker-view/picker-view-column.d.ts.map +1 -1
- package/dist/typescript/components/base/picker-view/utils/picker.d.ts +3 -3
- package/dist/typescript/components/base/picker-view/utils/picker.d.ts.map +1 -1
- package/dist/typescript/components/base/tag/index.d.ts +5 -0
- package/dist/typescript/components/base/tag/index.d.ts.map +1 -0
- package/dist/typescript/components/base/tag/style/index.d.ts +61 -0
- package/dist/typescript/components/base/tag/style/index.d.ts.map +1 -0
- package/dist/typescript/components/base/tag/tag-context.d.ts +3 -0
- package/dist/typescript/components/base/tag/tag-context.d.ts.map +1 -0
- package/dist/typescript/components/base/tag/tag-group.d.ts +4 -0
- package/dist/typescript/components/base/tag/tag-group.d.ts.map +1 -0
- package/dist/typescript/components/base/tag/tag.d.ts +4 -0
- package/dist/typescript/components/base/tag/tag.d.ts.map +1 -0
- package/dist/typescript/components/base/tag/types.d.ts +48 -0
- package/dist/typescript/components/base/tag/types.d.ts.map +1 -0
- package/package.json +12 -4
- package/src/components/base/carousel/carousel-indicator.tsx +80 -0
- package/src/components/base/carousel/carousel-slides.tsx +177 -0
- package/src/components/base/carousel/carousel.tsx +108 -118
- package/src/components/base/carousel/hooks/index.ts +0 -2
- package/src/components/base/carousel/hooks/use-carousel-index.ts +13 -9
- package/src/components/base/carousel/hooks/use-carousel-lifecycle.ts +4 -3
- package/src/components/base/carousel/hooks/use-carousel-pan-responder.ts +40 -16
- package/src/components/base/carousel/hooks/use-carousel-position.ts +4 -1
- package/src/components/base/carousel/index.ts +1 -3
- package/src/components/base/carousel/style/index.ts +12 -0
- package/src/components/base/carousel/types.ts +8 -21
- package/src/components/base/date-picker/date-picker.tsx +64 -61
- package/src/components/base/date-picker/date-range-picker.tsx +178 -70
- package/src/components/base/date-picker/style/index.ts +10 -0
- package/src/components/base/date-picker-view/date-picker-view.tsx +21 -68
- package/src/components/base/date-picker-view/index.ts +0 -2
- package/src/components/base/date-picker-view/types.ts +1 -1
- package/src/components/base/index.ts +2 -0
- package/src/components/base/picker/index.ts +11 -1
- package/src/components/base/picker/picker-content.tsx +75 -0
- package/src/components/base/picker/picker-context.ts +19 -0
- package/src/components/base/picker/picker-field.tsx +50 -0
- package/src/components/base/picker/picker.tsx +38 -114
- package/src/components/base/picker/style/index.ts +0 -2
- package/src/components/base/picker-backup/base-picker-container.tsx +55 -0
- package/src/components/base/picker-backup/index.ts +2 -0
- package/src/components/base/picker-backup/picker-backup.tsx +110 -0
- package/src/components/base/picker-backup/picker-copy.tsx +125 -0
- package/src/components/base/{picker → picker-backup}/picker-trigger.tsx +2 -2
- package/src/components/base/picker-backup/style/index.ts +14 -0
- package/src/components/base/picker-backup/utils.ts +62 -0
- package/src/components/base/picker-view/picker-view-column.tsx +20 -0
- package/src/components/base/picker-view/picker-view.tsx +4 -4
- package/src/components/base/picker-view/utils/picker.ts +3 -5
- package/src/components/base/tag/index.ts +5 -0
- package/src/components/base/tag/style/index.tsx +84 -0
- package/src/components/base/tag/tag-context.ts +9 -0
- package/src/components/base/tag/tag-group.tsx +31 -0
- package/src/components/base/tag/tag.tsx +50 -0
- package/src/components/base/tag/types.ts +71 -0
- package/dist/commonjs/components/base/carousel/carousel-item.js +0 -45
- package/dist/commonjs/components/base/carousel/constants.js +0 -25
- package/dist/commonjs/components/base/carousel/hooks/use-carousel-indicator.js +0 -63
- package/dist/commonjs/components/base/carousel/hooks/use-carousel-slides.js +0 -95
- package/dist/commonjs/components/base/carousel/utils.js +0 -63
- package/dist/commonjs/components/base/date-picker-view/date-range-picker-view.js +0 -145
- package/dist/commonjs/components/base/date-picker-view/date-time-picker.js +0 -39
- package/dist/module/components/base/carousel/carousel-item.js +0 -40
- package/dist/module/components/base/carousel/constants.js +0 -21
- package/dist/module/components/base/carousel/hooks/use-carousel-indicator.js +0 -58
- package/dist/module/components/base/carousel/hooks/use-carousel-slides.js +0 -90
- package/dist/module/components/base/carousel/utils.js +0 -55
- package/dist/module/components/base/date-picker-view/date-range-picker-view.js +0 -138
- package/dist/module/components/base/date-picker-view/date-time-picker.js +0 -34
- package/dist/typescript/components/base/carousel/carousel-item.d.ts +0 -26
- package/dist/typescript/components/base/carousel/carousel-item.d.ts.map +0 -1
- package/dist/typescript/components/base/carousel/constants.d.ts +0 -17
- package/dist/typescript/components/base/carousel/constants.d.ts.map +0 -1
- package/dist/typescript/components/base/carousel/hooks/use-carousel-indicator.d.ts +0 -37
- package/dist/typescript/components/base/carousel/hooks/use-carousel-indicator.d.ts.map +0 -1
- package/dist/typescript/components/base/carousel/hooks/use-carousel-slides.d.ts +0 -51
- package/dist/typescript/components/base/carousel/hooks/use-carousel-slides.d.ts.map +0 -1
- package/dist/typescript/components/base/carousel/utils.d.ts +0 -25
- package/dist/typescript/components/base/carousel/utils.d.ts.map +0 -1
- package/dist/typescript/components/base/date-picker-view/date-range-picker-view.d.ts +0 -26
- package/dist/typescript/components/base/date-picker-view/date-range-picker-view.d.ts.map +0 -1
- package/dist/typescript/components/base/date-picker-view/date-time-picker.d.ts +0 -3
- package/dist/typescript/components/base/date-picker-view/date-time-picker.d.ts.map +0 -1
- package/dist/typescript/components/base/picker/picker-trigger.d.ts.map +0 -1
- package/src/components/base/carousel/carousel-item.tsx +0 -35
- package/src/components/base/carousel/constants.ts +0 -19
- package/src/components/base/carousel/hooks/use-carousel-indicator.tsx +0 -84
- package/src/components/base/carousel/hooks/use-carousel-slides.tsx +0 -131
- package/src/components/base/carousel/utils.ts +0 -55
- package/src/components/base/date-picker-view/date-range-picker-view.tsx +0 -191
- package/src/components/base/date-picker-view/date-time-picker.tsx +0 -34
- /package/dist/typescript/components/base/{picker → picker-backup}/picker-trigger.d.ts +0 -0
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.DateRangePickerView = void 0;
|
|
7
|
-
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
8
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
var _index = require("./../index.js");
|
|
10
|
-
var _index2 = require("./style/index.js");
|
|
11
|
-
var _utils = require("./utils.js");
|
|
12
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
14
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
|
-
const DateRangePickerView = ({
|
|
16
|
-
onClose,
|
|
17
|
-
min,
|
|
18
|
-
max,
|
|
19
|
-
value,
|
|
20
|
-
defaultValue,
|
|
21
|
-
onChange,
|
|
22
|
-
title = '自定义日期',
|
|
23
|
-
startText = '请选择开始时间',
|
|
24
|
-
endText = '请选择结束时间',
|
|
25
|
-
confirmText = '确定',
|
|
26
|
-
resetText = '重置',
|
|
27
|
-
formatter
|
|
28
|
-
}) => {
|
|
29
|
-
const styles = (0, _index2.useDateRangePickerStyles)();
|
|
30
|
-
|
|
31
|
-
/** 当前编辑的是 start 还是 end */
|
|
32
|
-
const [selected, setSelected] = (0, _react.useState)('start');
|
|
33
|
-
|
|
34
|
-
/** 初始化 draft */
|
|
35
|
-
const [draft, setDraft] = (0, _react.useState)(() => {
|
|
36
|
-
if (value) return (0, _utils.sortRange)(value);
|
|
37
|
-
if (defaultValue) return (0, _utils.sortRange)(defaultValue);
|
|
38
|
-
return [new Date(), undefined];
|
|
39
|
-
});
|
|
40
|
-
const _startText = draft[0] && (typeof formatter === 'string' ? (0, _dayjs.default)(draft[0]).format(formatter) : formatter(draft[0])) || startText;
|
|
41
|
-
const _endText = draft[1] && (typeof formatter === 'string' ? (0, _dayjs.default)(draft[1]).format(formatter) : formatter(draft[1])) || endText;
|
|
42
|
-
|
|
43
|
-
/** Picker 当前值 */
|
|
44
|
-
const pickerValue = (selected === 'start' ? draft[0] : draft[1]) ?? new Date();
|
|
45
|
-
|
|
46
|
-
/** Picker 可选范围 - 优化依赖 */
|
|
47
|
-
const minDate = (0, _react.useMemo)(() => {
|
|
48
|
-
return selected === 'end' ? draft[0] ?? min : min;
|
|
49
|
-
}, [selected, draft, min]);
|
|
50
|
-
const maxDate = (0, _react.useMemo)(() => {
|
|
51
|
-
return selected === 'start' ? draft[1] ?? max : max;
|
|
52
|
-
}, [selected, draft, max]);
|
|
53
|
-
|
|
54
|
-
/** Picker 改 draft */
|
|
55
|
-
const onChangePicker = (0, _react.useCallback)(date => {
|
|
56
|
-
setDraft(prev => {
|
|
57
|
-
const index = selected === 'start' ? 0 : 1;
|
|
58
|
-
// 如果日期相同,不更新
|
|
59
|
-
if (prev[index]?.getTime() === date.getTime()) {
|
|
60
|
-
return prev;
|
|
61
|
-
}
|
|
62
|
-
const next = [prev[0], prev[1]];
|
|
63
|
-
next[index] = date;
|
|
64
|
-
return next;
|
|
65
|
-
});
|
|
66
|
-
}, [selected]);
|
|
67
|
-
const changeSelected = (0, _react.useCallback)(nextSelected => {
|
|
68
|
-
setSelected(nextSelected);
|
|
69
|
-
setDraft(prev => {
|
|
70
|
-
const next = [prev[0], prev[1]];
|
|
71
|
-
const index = nextSelected === 'start' ? 0 : 1;
|
|
72
|
-
next[index] ??= new Date();
|
|
73
|
-
return next;
|
|
74
|
-
});
|
|
75
|
-
}, []);
|
|
76
|
-
|
|
77
|
-
/** 重置 */
|
|
78
|
-
const onReset = (0, _react.useCallback)(() => {
|
|
79
|
-
setDraft([new Date(), undefined]);
|
|
80
|
-
setSelected('start');
|
|
81
|
-
}, []);
|
|
82
|
-
|
|
83
|
-
/** 是否可以确定 */
|
|
84
|
-
const canConfirm = Boolean(draft[0] && draft[1]);
|
|
85
|
-
|
|
86
|
-
/** 确定:唯一对外出口 */
|
|
87
|
-
const onConfirm = (0, _react.useCallback)(() => {
|
|
88
|
-
if (!draft[0] || !draft[1]) return;
|
|
89
|
-
|
|
90
|
-
// start > end 自动修正
|
|
91
|
-
onChange?.((0, _utils.sortRange)([draft[0], draft[1]]));
|
|
92
|
-
}, [draft, onChange]);
|
|
93
|
-
|
|
94
|
-
// 受控模式:检测外部 value 变化
|
|
95
|
-
(0, _react.useEffect)(() => {
|
|
96
|
-
if (value) {
|
|
97
|
-
const sorted = (0, _utils.sortRange)(value);
|
|
98
|
-
setDraft(sorted);
|
|
99
|
-
}
|
|
100
|
-
}, [value]);
|
|
101
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_index.Flex, {
|
|
102
|
-
vertical: true,
|
|
103
|
-
align: "stretch",
|
|
104
|
-
style: styles.container,
|
|
105
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_index.ModalHeader, {
|
|
106
|
-
title: title,
|
|
107
|
-
onClose: onClose
|
|
108
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_index.Flex, {
|
|
109
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_index.Button, {
|
|
110
|
-
variant: "outline",
|
|
111
|
-
theme: selected === 'start' ? 'primary' : 'default',
|
|
112
|
-
block: true,
|
|
113
|
-
text: _startText,
|
|
114
|
-
onPress: () => changeSelected('start')
|
|
115
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.Text, {
|
|
116
|
-
children: "\u2014"
|
|
117
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.Button, {
|
|
118
|
-
variant: "outline",
|
|
119
|
-
theme: selected === 'end' ? 'primary' : 'default',
|
|
120
|
-
block: true,
|
|
121
|
-
text: _endText,
|
|
122
|
-
onPress: () => changeSelected('end')
|
|
123
|
-
})]
|
|
124
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.DateTimePicker, {
|
|
125
|
-
value: pickerValue,
|
|
126
|
-
min: minDate,
|
|
127
|
-
max: maxDate,
|
|
128
|
-
onChange: onChangePicker
|
|
129
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_index.Button.Group, {
|
|
130
|
-
block: true,
|
|
131
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_index.Button, {
|
|
132
|
-
size: "large",
|
|
133
|
-
text: resetText,
|
|
134
|
-
theme: "secondary",
|
|
135
|
-
onPress: onReset
|
|
136
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.Button, {
|
|
137
|
-
size: "large",
|
|
138
|
-
text: confirmText,
|
|
139
|
-
onPress: onConfirm,
|
|
140
|
-
disabled: !canConfirm
|
|
141
|
-
})]
|
|
142
|
-
})]
|
|
143
|
-
});
|
|
144
|
-
};
|
|
145
|
-
exports.DateRangePickerView = DateRangePickerView;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.DateTimePicker = void 0;
|
|
7
|
-
var _ahooks = require("ahooks");
|
|
8
|
-
var _react = require("react");
|
|
9
|
-
var _index = require("./../index.js");
|
|
10
|
-
var _useDateTimePicker = require("./hooks/use-date-time-picker.js");
|
|
11
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
-
const DateTimePicker = ({
|
|
13
|
-
mode = 'Y-D',
|
|
14
|
-
min,
|
|
15
|
-
max,
|
|
16
|
-
...restProps
|
|
17
|
-
}) => {
|
|
18
|
-
// 确保有一个稳定的默认日期值
|
|
19
|
-
const defaultDate = (0, _react.useMemo)(() => new Date(), []);
|
|
20
|
-
const [value, onChange] = (0, _ahooks.useControllableValue)(restProps, {
|
|
21
|
-
defaultValue: defaultDate
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
// 确保 value 始终有值,避免 undefined 传递给 hook
|
|
25
|
-
const safeValue = value ?? defaultDate;
|
|
26
|
-
const [values, columns, onChangePicker] = (0, _useDateTimePicker.useDateTimePicker)({
|
|
27
|
-
mode,
|
|
28
|
-
value: safeValue,
|
|
29
|
-
onChange,
|
|
30
|
-
min,
|
|
31
|
-
max
|
|
32
|
-
});
|
|
33
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.PickerView, {
|
|
34
|
-
columns: columns,
|
|
35
|
-
value: values,
|
|
36
|
-
onChange: onChangePicker
|
|
37
|
-
});
|
|
38
|
-
};
|
|
39
|
-
exports.DateTimePicker = DateTimePicker;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { View } from 'react-native';
|
|
4
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
-
const FULL_SIZE_STYLE = {
|
|
6
|
-
height: '100%',
|
|
7
|
-
width: '100%'
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* 轮播项组件
|
|
12
|
-
*
|
|
13
|
-
* 用于包裹轮播图中的每一项内容,自动填充父容器的宽高。
|
|
14
|
-
*
|
|
15
|
-
* @example
|
|
16
|
-
* ```tsx
|
|
17
|
-
* <Carousel>
|
|
18
|
-
* <Carousel.Item>
|
|
19
|
-
* <Image source={image1} />
|
|
20
|
-
* </Carousel.Item>
|
|
21
|
-
* <Carousel.Item>
|
|
22
|
-
* <Image source={image2} />
|
|
23
|
-
* </Carousel.Item>
|
|
24
|
-
* </Carousel>
|
|
25
|
-
* ```
|
|
26
|
-
*
|
|
27
|
-
* @param props - 组件属性
|
|
28
|
-
* @param props.children - 轮播项内容
|
|
29
|
-
* @param props.style - 容器样式
|
|
30
|
-
* @returns 轮播项组件
|
|
31
|
-
*/
|
|
32
|
-
export const CarouselItem = ({
|
|
33
|
-
children,
|
|
34
|
-
style
|
|
35
|
-
}) => {
|
|
36
|
-
return /*#__PURE__*/_jsx(View, {
|
|
37
|
-
style: [FULL_SIZE_STYLE, style],
|
|
38
|
-
children: children
|
|
39
|
-
});
|
|
40
|
-
};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* 轮播图动画时长(毫秒)
|
|
5
|
-
*/
|
|
6
|
-
export const CAROUSEL_ANIMATION_DURATION = 300;
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* 橡皮筋效果阻尼系数
|
|
10
|
-
*/
|
|
11
|
-
export const RUBBERBAND_DAMPING = 0.35;
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* 手势识别最小移动距离(像素)
|
|
15
|
-
*/
|
|
16
|
-
export const GESTURE_MIN_DISTANCE = 5;
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* 速度投影系数(用于计算惯性滑动距离)
|
|
20
|
-
*/
|
|
21
|
-
export const VELOCITY_PROJECTION_FACTOR = 2000;
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { useMemoizedFn } from 'ahooks';
|
|
4
|
-
import { StyleSheet, View } from 'react-native';
|
|
5
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
-
/**
|
|
7
|
-
* 轮播图指示器渲染 Hook
|
|
8
|
-
*
|
|
9
|
-
* 负责渲染轮播图底部的指示器(小圆点),支持自定义指示器或使用默认样式。
|
|
10
|
-
* 当轮播项总数小于等于 1 时,不显示指示器。
|
|
11
|
-
*
|
|
12
|
-
* @param params - Hook 参数配置
|
|
13
|
-
* @param params.indicator - 指示器配置(false 表示不显示,函数表示自定义渲染)
|
|
14
|
-
* @param params.indicatorProps - 指示器属性配置(颜色、样式)
|
|
15
|
-
* @param params.total - 轮播项总数
|
|
16
|
-
* @param params.current - 当前激活的索引
|
|
17
|
-
* @param params.activeColor - 激活状态的指示器颜色
|
|
18
|
-
* @param params.inactiveColor - 非激活状态的指示器颜色
|
|
19
|
-
* @param params.styles - 指示器样式对象
|
|
20
|
-
*
|
|
21
|
-
* @returns Hook 返回值
|
|
22
|
-
* @returns renderIndicator - 渲染指示器的方法,返回 ReactNode 或 null
|
|
23
|
-
*/
|
|
24
|
-
export const useCarouselIndicator = params => {
|
|
25
|
-
const {
|
|
26
|
-
indicator,
|
|
27
|
-
indicatorProps,
|
|
28
|
-
total,
|
|
29
|
-
current,
|
|
30
|
-
activeColor,
|
|
31
|
-
inactiveColor,
|
|
32
|
-
styles
|
|
33
|
-
} = params;
|
|
34
|
-
const renderIndicator = useMemoizedFn(() => {
|
|
35
|
-
if (indicator === false) return null;
|
|
36
|
-
if (total <= 1) return null;
|
|
37
|
-
if (typeof indicator === 'function') {
|
|
38
|
-
return indicator(total, current);
|
|
39
|
-
}
|
|
40
|
-
const dotActiveColor = indicatorProps?.color ?? activeColor;
|
|
41
|
-
return /*#__PURE__*/_jsx(View, {
|
|
42
|
-
style: StyleSheet.flatten([styles.indicatorContainer, indicatorProps?.style]),
|
|
43
|
-
children: Array.from({
|
|
44
|
-
length: total
|
|
45
|
-
}, (_, i) => {
|
|
46
|
-
const isActive = i === current;
|
|
47
|
-
return /*#__PURE__*/_jsx(View, {
|
|
48
|
-
style: StyleSheet.flatten([styles.indicatorDot, {
|
|
49
|
-
backgroundColor: isActive ? dotActiveColor : inactiveColor
|
|
50
|
-
}, isActive && styles.indicatorDotActive])
|
|
51
|
-
}, i);
|
|
52
|
-
})
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
return {
|
|
56
|
-
renderIndicator
|
|
57
|
-
};
|
|
58
|
-
};
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { useMemoizedFn } from 'ahooks';
|
|
4
|
-
import { clamp } from 'lodash-es';
|
|
5
|
-
import { useMemo } from 'react';
|
|
6
|
-
import { View } from 'react-native';
|
|
7
|
-
import { isRenderPropChildren, normalizeChildren } from "../utils.js";
|
|
8
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
-
/**
|
|
10
|
-
* 轮播图滑块渲染 Hook
|
|
11
|
-
*
|
|
12
|
-
* 负责渲染轮播图的滑块内容,支持静态子组件和 render prop 两种方式。
|
|
13
|
-
* 实现虚拟渲染优化,仅渲染可见范围内的滑块,并处理循环播放时的克隆逻辑。
|
|
14
|
-
* 为虚拟渲染添加前后占位空间,确保滚动位置正确。
|
|
15
|
-
*
|
|
16
|
-
* @param params - Hook 参数配置
|
|
17
|
-
* @param params.children - 轮播项内容(静态子组件或 render prop 函数)
|
|
18
|
-
* @param params.total - 轮播项总数
|
|
19
|
-
* @param params.virtualRange - 虚拟渲染范围(start、end、isVirtual)
|
|
20
|
-
* @param params.loopEnabled - 是否启用循环播放
|
|
21
|
-
* @param params.clonesBefore - 循环播放时前置克隆节点数量
|
|
22
|
-
* @param params.slideWrapperStyle - 滑块包装器样式
|
|
23
|
-
* @param params.spacerStyles - 虚拟渲染占位空间样式
|
|
24
|
-
* @param params.slideStyles - 滑块样式对象
|
|
25
|
-
*
|
|
26
|
-
* @returns Hook 返回值
|
|
27
|
-
* @returns staticSlides - 静态滑块数组(仅在非 render prop 模式下有值)
|
|
28
|
-
* @returns renderSlides - 渲染滑块的方法,返回 ReactNode 或 null
|
|
29
|
-
*/
|
|
30
|
-
export const useCarouselSlides = params => {
|
|
31
|
-
const {
|
|
32
|
-
children,
|
|
33
|
-
total,
|
|
34
|
-
virtualRange,
|
|
35
|
-
loopEnabled,
|
|
36
|
-
clonesBefore,
|
|
37
|
-
slideWrapperStyle,
|
|
38
|
-
spacerStyles,
|
|
39
|
-
slideStyles
|
|
40
|
-
} = params;
|
|
41
|
-
const staticSlides = useMemo(() => {
|
|
42
|
-
if (isRenderPropChildren(children)) return [];
|
|
43
|
-
return normalizeChildren(children, total);
|
|
44
|
-
}, [children, total]);
|
|
45
|
-
const getIndexFromExtIndex = useMemoizedFn(extIndex => {
|
|
46
|
-
if (!loopEnabled) return clamp(extIndex, 0, total - 1);
|
|
47
|
-
if (extIndex < clonesBefore) {
|
|
48
|
-
return ((extIndex - clonesBefore) % total + total) % total;
|
|
49
|
-
}
|
|
50
|
-
if (extIndex >= clonesBefore + total) {
|
|
51
|
-
return (extIndex - clonesBefore - total) % total;
|
|
52
|
-
}
|
|
53
|
-
return extIndex - clonesBefore;
|
|
54
|
-
});
|
|
55
|
-
const renderSlides = useMemoizedFn(() => {
|
|
56
|
-
if (!virtualRange) return null;
|
|
57
|
-
const {
|
|
58
|
-
start,
|
|
59
|
-
end,
|
|
60
|
-
isVirtual
|
|
61
|
-
} = virtualRange;
|
|
62
|
-
const getElementForExtIndex = extIndex => {
|
|
63
|
-
const logicalIndex = loopEnabled ? getIndexFromExtIndex(extIndex) : clamp(extIndex, 0, total - 1);
|
|
64
|
-
if (isRenderPropChildren(children)) return children(logicalIndex);
|
|
65
|
-
return staticSlides[logicalIndex];
|
|
66
|
-
};
|
|
67
|
-
const slideElements = [];
|
|
68
|
-
for (let extIndex = start; extIndex <= end; extIndex += 1) {
|
|
69
|
-
const element = getElementForExtIndex(extIndex);
|
|
70
|
-
if (!element) continue;
|
|
71
|
-
slideElements.push(/*#__PURE__*/_jsx(View, {
|
|
72
|
-
style: [slideStyles.slide, slideWrapperStyle],
|
|
73
|
-
children: element
|
|
74
|
-
}, extIndex));
|
|
75
|
-
}
|
|
76
|
-
const leadSpacer = isVirtual && spacerStyles && spacerStyles.leadingSize > 0 ? /*#__PURE__*/_jsx(View, {
|
|
77
|
-
style: spacerStyles.leading
|
|
78
|
-
}) : null;
|
|
79
|
-
const trailSpacer = isVirtual && spacerStyles && spacerStyles.trailingSize > 0 ? /*#__PURE__*/_jsx(View, {
|
|
80
|
-
style: spacerStyles.trailing
|
|
81
|
-
}) : null;
|
|
82
|
-
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
83
|
-
children: [leadSpacer, slideElements, trailSpacer]
|
|
84
|
-
});
|
|
85
|
-
});
|
|
86
|
-
return {
|
|
87
|
-
staticSlides,
|
|
88
|
-
renderSlides
|
|
89
|
-
};
|
|
90
|
-
};
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { Children } from 'react';
|
|
4
|
-
export const isRenderPropChildren = children => {
|
|
5
|
-
return typeof children === 'function';
|
|
6
|
-
};
|
|
7
|
-
export const normalizeChildren = (children, total) => {
|
|
8
|
-
if (!children) return [];
|
|
9
|
-
if (isRenderPropChildren(children)) {
|
|
10
|
-
return Array.from({
|
|
11
|
-
length: total
|
|
12
|
-
}, (_, i) => children(i));
|
|
13
|
-
}
|
|
14
|
-
return Children.toArray(children);
|
|
15
|
-
};
|
|
16
|
-
export const getDefaultTotal = children => {
|
|
17
|
-
if (!children) return 0;
|
|
18
|
-
if (isRenderPropChildren(children)) return 0;
|
|
19
|
-
return Array.isArray(children) ? children.length : 1;
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* 计算轮播边界索引范围
|
|
24
|
-
*
|
|
25
|
-
* @param params - 参数配置
|
|
26
|
-
* @param params.total - 轮播项总数
|
|
27
|
-
* @param params.slideSize - 单个滑块所占百分比 (0-100)
|
|
28
|
-
* @param params.trackOffset - 轨道偏移百分比 (0-100)
|
|
29
|
-
* @param params.stuckAtBoundary - 是否在边界处卡住
|
|
30
|
-
* @returns 边界索引范围 { min, max }
|
|
31
|
-
*/
|
|
32
|
-
export const getBoundaryIndexRange = params => {
|
|
33
|
-
const {
|
|
34
|
-
total,
|
|
35
|
-
slideSize,
|
|
36
|
-
trackOffset,
|
|
37
|
-
stuckAtBoundary
|
|
38
|
-
} = params;
|
|
39
|
-
if (total <= 0) return {
|
|
40
|
-
min: 0,
|
|
41
|
-
max: 0
|
|
42
|
-
};
|
|
43
|
-
if (!stuckAtBoundary) return {
|
|
44
|
-
min: 0,
|
|
45
|
-
max: total - 1
|
|
46
|
-
};
|
|
47
|
-
const slideRatio = slideSize / 100;
|
|
48
|
-
const offsetRatio = trackOffset / 100;
|
|
49
|
-
const min = 0 + offsetRatio / (slideRatio || 1);
|
|
50
|
-
const max = total - 1 - (1 - slideRatio - offsetRatio) / (slideRatio || 1);
|
|
51
|
-
return {
|
|
52
|
-
min,
|
|
53
|
-
max
|
|
54
|
-
};
|
|
55
|
-
};
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import dayjs from 'dayjs';
|
|
4
|
-
import React, { useCallback, useEffect, useMemo, useState } from 'react';
|
|
5
|
-
import { Button, DateTimePicker, Flex, ModalHeader, Text } from "./../index.js";
|
|
6
|
-
import { useDateRangePickerStyles } from "./style/index.js";
|
|
7
|
-
import { sortRange } from "./utils.js";
|
|
8
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
-
export const DateRangePickerView = ({
|
|
10
|
-
onClose,
|
|
11
|
-
min,
|
|
12
|
-
max,
|
|
13
|
-
value,
|
|
14
|
-
defaultValue,
|
|
15
|
-
onChange,
|
|
16
|
-
title = '自定义日期',
|
|
17
|
-
startText = '请选择开始时间',
|
|
18
|
-
endText = '请选择结束时间',
|
|
19
|
-
confirmText = '确定',
|
|
20
|
-
resetText = '重置',
|
|
21
|
-
formatter
|
|
22
|
-
}) => {
|
|
23
|
-
const styles = useDateRangePickerStyles();
|
|
24
|
-
|
|
25
|
-
/** 当前编辑的是 start 还是 end */
|
|
26
|
-
const [selected, setSelected] = useState('start');
|
|
27
|
-
|
|
28
|
-
/** 初始化 draft */
|
|
29
|
-
const [draft, setDraft] = useState(() => {
|
|
30
|
-
if (value) return sortRange(value);
|
|
31
|
-
if (defaultValue) return sortRange(defaultValue);
|
|
32
|
-
return [new Date(), undefined];
|
|
33
|
-
});
|
|
34
|
-
const _startText = draft[0] && (typeof formatter === 'string' ? dayjs(draft[0]).format(formatter) : formatter(draft[0])) || startText;
|
|
35
|
-
const _endText = draft[1] && (typeof formatter === 'string' ? dayjs(draft[1]).format(formatter) : formatter(draft[1])) || endText;
|
|
36
|
-
|
|
37
|
-
/** Picker 当前值 */
|
|
38
|
-
const pickerValue = (selected === 'start' ? draft[0] : draft[1]) ?? new Date();
|
|
39
|
-
|
|
40
|
-
/** Picker 可选范围 - 优化依赖 */
|
|
41
|
-
const minDate = useMemo(() => {
|
|
42
|
-
return selected === 'end' ? draft[0] ?? min : min;
|
|
43
|
-
}, [selected, draft, min]);
|
|
44
|
-
const maxDate = useMemo(() => {
|
|
45
|
-
return selected === 'start' ? draft[1] ?? max : max;
|
|
46
|
-
}, [selected, draft, max]);
|
|
47
|
-
|
|
48
|
-
/** Picker 改 draft */
|
|
49
|
-
const onChangePicker = useCallback(date => {
|
|
50
|
-
setDraft(prev => {
|
|
51
|
-
const index = selected === 'start' ? 0 : 1;
|
|
52
|
-
// 如果日期相同,不更新
|
|
53
|
-
if (prev[index]?.getTime() === date.getTime()) {
|
|
54
|
-
return prev;
|
|
55
|
-
}
|
|
56
|
-
const next = [prev[0], prev[1]];
|
|
57
|
-
next[index] = date;
|
|
58
|
-
return next;
|
|
59
|
-
});
|
|
60
|
-
}, [selected]);
|
|
61
|
-
const changeSelected = useCallback(nextSelected => {
|
|
62
|
-
setSelected(nextSelected);
|
|
63
|
-
setDraft(prev => {
|
|
64
|
-
const next = [prev[0], prev[1]];
|
|
65
|
-
const index = nextSelected === 'start' ? 0 : 1;
|
|
66
|
-
next[index] ??= new Date();
|
|
67
|
-
return next;
|
|
68
|
-
});
|
|
69
|
-
}, []);
|
|
70
|
-
|
|
71
|
-
/** 重置 */
|
|
72
|
-
const onReset = useCallback(() => {
|
|
73
|
-
setDraft([new Date(), undefined]);
|
|
74
|
-
setSelected('start');
|
|
75
|
-
}, []);
|
|
76
|
-
|
|
77
|
-
/** 是否可以确定 */
|
|
78
|
-
const canConfirm = Boolean(draft[0] && draft[1]);
|
|
79
|
-
|
|
80
|
-
/** 确定:唯一对外出口 */
|
|
81
|
-
const onConfirm = useCallback(() => {
|
|
82
|
-
if (!draft[0] || !draft[1]) return;
|
|
83
|
-
|
|
84
|
-
// start > end 自动修正
|
|
85
|
-
onChange?.(sortRange([draft[0], draft[1]]));
|
|
86
|
-
}, [draft, onChange]);
|
|
87
|
-
|
|
88
|
-
// 受控模式:检测外部 value 变化
|
|
89
|
-
useEffect(() => {
|
|
90
|
-
if (value) {
|
|
91
|
-
const sorted = sortRange(value);
|
|
92
|
-
setDraft(sorted);
|
|
93
|
-
}
|
|
94
|
-
}, [value]);
|
|
95
|
-
return /*#__PURE__*/_jsxs(Flex, {
|
|
96
|
-
vertical: true,
|
|
97
|
-
align: "stretch",
|
|
98
|
-
style: styles.container,
|
|
99
|
-
children: [/*#__PURE__*/_jsx(ModalHeader, {
|
|
100
|
-
title: title,
|
|
101
|
-
onClose: onClose
|
|
102
|
-
}), /*#__PURE__*/_jsxs(Flex, {
|
|
103
|
-
children: [/*#__PURE__*/_jsx(Button, {
|
|
104
|
-
variant: "outline",
|
|
105
|
-
theme: selected === 'start' ? 'primary' : 'default',
|
|
106
|
-
block: true,
|
|
107
|
-
text: _startText,
|
|
108
|
-
onPress: () => changeSelected('start')
|
|
109
|
-
}), /*#__PURE__*/_jsx(Text, {
|
|
110
|
-
children: "\u2014"
|
|
111
|
-
}), /*#__PURE__*/_jsx(Button, {
|
|
112
|
-
variant: "outline",
|
|
113
|
-
theme: selected === 'end' ? 'primary' : 'default',
|
|
114
|
-
block: true,
|
|
115
|
-
text: _endText,
|
|
116
|
-
onPress: () => changeSelected('end')
|
|
117
|
-
})]
|
|
118
|
-
}), /*#__PURE__*/_jsx(DateTimePicker, {
|
|
119
|
-
value: pickerValue,
|
|
120
|
-
min: minDate,
|
|
121
|
-
max: maxDate,
|
|
122
|
-
onChange: onChangePicker
|
|
123
|
-
}), /*#__PURE__*/_jsxs(Button.Group, {
|
|
124
|
-
block: true,
|
|
125
|
-
children: [/*#__PURE__*/_jsx(Button, {
|
|
126
|
-
size: "large",
|
|
127
|
-
text: resetText,
|
|
128
|
-
theme: "secondary",
|
|
129
|
-
onPress: onReset
|
|
130
|
-
}), /*#__PURE__*/_jsx(Button, {
|
|
131
|
-
size: "large",
|
|
132
|
-
text: confirmText,
|
|
133
|
-
onPress: onConfirm,
|
|
134
|
-
disabled: !canConfirm
|
|
135
|
-
})]
|
|
136
|
-
})]
|
|
137
|
-
});
|
|
138
|
-
};
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { useControllableValue } from 'ahooks';
|
|
4
|
-
import { useMemo } from 'react';
|
|
5
|
-
import { PickerView } from "./../index.js";
|
|
6
|
-
import { useDateTimePicker } from "./hooks/use-date-time-picker.js";
|
|
7
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
-
export const DateTimePicker = ({
|
|
9
|
-
mode = 'Y-D',
|
|
10
|
-
min,
|
|
11
|
-
max,
|
|
12
|
-
...restProps
|
|
13
|
-
}) => {
|
|
14
|
-
// 确保有一个稳定的默认日期值
|
|
15
|
-
const defaultDate = useMemo(() => new Date(), []);
|
|
16
|
-
const [value, onChange] = useControllableValue(restProps, {
|
|
17
|
-
defaultValue: defaultDate
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
// 确保 value 始终有值,避免 undefined 传递给 hook
|
|
21
|
-
const safeValue = value ?? defaultDate;
|
|
22
|
-
const [values, columns, onChangePicker] = useDateTimePicker({
|
|
23
|
-
mode,
|
|
24
|
-
value: safeValue,
|
|
25
|
-
onChange,
|
|
26
|
-
min,
|
|
27
|
-
max
|
|
28
|
-
});
|
|
29
|
-
return /*#__PURE__*/_jsx(PickerView, {
|
|
30
|
-
columns: columns,
|
|
31
|
-
value: values,
|
|
32
|
-
onChange: onChangePicker
|
|
33
|
-
});
|
|
34
|
-
};
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { FC, PropsWithChildren } from 'react';
|
|
2
|
-
import type { CarouselItemProps } from './types';
|
|
3
|
-
/**
|
|
4
|
-
* 轮播项组件
|
|
5
|
-
*
|
|
6
|
-
* 用于包裹轮播图中的每一项内容,自动填充父容器的宽高。
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* ```tsx
|
|
10
|
-
* <Carousel>
|
|
11
|
-
* <Carousel.Item>
|
|
12
|
-
* <Image source={image1} />
|
|
13
|
-
* </Carousel.Item>
|
|
14
|
-
* <Carousel.Item>
|
|
15
|
-
* <Image source={image2} />
|
|
16
|
-
* </Carousel.Item>
|
|
17
|
-
* </Carousel>
|
|
18
|
-
* ```
|
|
19
|
-
*
|
|
20
|
-
* @param props - 组件属性
|
|
21
|
-
* @param props.children - 轮播项内容
|
|
22
|
-
* @param props.style - 容器样式
|
|
23
|
-
* @returns 轮播项组件
|
|
24
|
-
*/
|
|
25
|
-
export declare const CarouselItem: FC<PropsWithChildren<CarouselItemProps>>;
|
|
26
|
-
//# sourceMappingURL=carousel-item.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"carousel-item.d.ts","sourceRoot":"","sources":["../../../../../src/components/base/carousel/carousel-item.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAGnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAIjD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAKjE,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 轮播图动画时长(毫秒)
|
|
3
|
-
*/
|
|
4
|
-
export declare const CAROUSEL_ANIMATION_DURATION = 300;
|
|
5
|
-
/**
|
|
6
|
-
* 橡皮筋效果阻尼系数
|
|
7
|
-
*/
|
|
8
|
-
export declare const RUBBERBAND_DAMPING = 0.35;
|
|
9
|
-
/**
|
|
10
|
-
* 手势识别最小移动距离(像素)
|
|
11
|
-
*/
|
|
12
|
-
export declare const GESTURE_MIN_DISTANCE = 5;
|
|
13
|
-
/**
|
|
14
|
-
* 速度投影系数(用于计算惯性滑动距离)
|
|
15
|
-
*/
|
|
16
|
-
export declare const VELOCITY_PROJECTION_FACTOR = 2000;
|
|
17
|
-
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/components/base/carousel/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,0BAA0B,OAAO,CAAC"}
|