@bifrostui/react 2.0.0-beta.10 → 2.0.0-beta.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Calendar/Calendar.js +5 -1
- package/dist/Calendar/Calendar.types.d.ts +5 -0
- package/dist/Collapse/Collapse.css +0 -1
- package/dist/Collapse/Collapse.d.ts +1 -1
- package/dist/Collapse/Collapse.js +11 -8
- package/dist/Collapse/Collapse.miniapp.d.ts +5 -0
- package/dist/Collapse/Collapse.miniapp.js +177 -0
- package/dist/CollapsePanel/CollapsePanel.css +4 -2
- package/dist/DatePicker/DatePicker.d.ts +4 -0
- package/dist/DatePicker/DatePicker.js +335 -0
- package/dist/DatePicker/DatePicker.types.d.ts +36 -0
- package/dist/DatePicker/DatePicker.types.js +15 -0
- package/dist/DatePicker/constants.d.ts +9 -0
- package/dist/DatePicker/constants.js +37 -0
- package/dist/DatePicker/index.d.ts +3 -0
- package/dist/DatePicker/index.js +44 -0
- package/dist/DesktopDatePicker/DesktopDatePicker.d.ts +5 -0
- package/dist/DesktopDatePicker/DesktopDatePicker.js +280 -0
- package/dist/DesktopDatePicker/DesktopDatePicker.types.d.ts +163 -0
- package/dist/DesktopDatePicker/DesktopDatePicker.types.js +15 -0
- package/dist/DesktopDatePicker/deskTopPickerContainer.css +100 -0
- package/dist/DesktopDatePicker/index.css +61 -0
- package/dist/DesktopDatePicker/index.d.ts +2 -0
- package/dist/DesktopDatePicker/index.js +41 -0
- package/dist/DesktopDatePicker/useGetDatePickerContent.d.ts +6 -0
- package/dist/DesktopDatePicker/useGetDatePickerContent.js +343 -0
- package/dist/DesktopDateTimePicker/DesktopDateTimePicker.d.ts +5 -0
- package/dist/DesktopDateTimePicker/DesktopDateTimePicker.js +322 -0
- package/dist/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +163 -0
- package/dist/DesktopDateTimePicker/DesktopDateTimePicker.types.js +15 -0
- package/dist/DesktopDateTimePicker/index.css +66 -0
- package/dist/DesktopDateTimePicker/index.d.ts +2 -0
- package/dist/DesktopDateTimePicker/index.js +41 -0
- package/dist/DesktopPicker/DesktopPicker.d.ts +5 -0
- package/dist/DesktopPicker/DesktopPicker.js +243 -0
- package/dist/DesktopPicker/DesktopPicker.types.d.ts +61 -0
- package/dist/DesktopPicker/DesktopPicker.types.js +15 -0
- package/dist/DesktopPicker/index.css +39 -0
- package/dist/DesktopPicker/index.d.ts +2 -0
- package/dist/DesktopPicker/index.js +41 -0
- package/dist/DesktopPicker/utils/calcAfterMounted.d.ts +2 -0
- package/dist/{Tabs/utils/bound.js → DesktopPicker/utils/calcAfterMounted.js} +7 -14
- package/dist/DesktopPicker/utils/calcAfterMounted.miniapp.d.ts +2 -0
- package/dist/DesktopPicker/utils/calcAfterMounted.miniapp.js +38 -0
- package/dist/DesktopTimePicker/DesktopTimePicker.d.ts +5 -0
- package/dist/DesktopTimePicker/DesktopTimePicker.js +288 -0
- package/dist/DesktopTimePicker/DesktopTimePicker.types.d.ts +182 -0
- package/dist/DesktopTimePicker/DesktopTimePicker.types.js +15 -0
- package/dist/DesktopTimePicker/DesktopTimePickerList.d.ts +4 -0
- package/dist/DesktopTimePicker/DesktopTimePickerList.js +111 -0
- package/dist/DesktopTimePicker/index.css +170 -0
- package/dist/DesktopTimePicker/index.d.ts +2 -0
- package/dist/DesktopTimePicker/index.js +41 -0
- package/dist/DesktopTimePicker/useGetTimePickerContent.d.ts +6 -0
- package/dist/DesktopTimePicker/useGetTimePickerContent.js +249 -0
- package/dist/DesktopTimePicker/utils/scrollUtil.d.ts +2 -0
- package/dist/DesktopTimePicker/utils/scrollUtil.js +27 -0
- package/dist/DesktopTimePicker/utils/scrollUtil.miniapp.d.ts +2 -0
- package/dist/DesktopTimePicker/utils/scrollUtil.miniapp.js +51 -0
- package/dist/DesktopTimePicker/utils/utils.d.ts +28 -0
- package/dist/DesktopTimePicker/utils/utils.js +408 -0
- package/dist/Dialog/Dialog.types.d.ts +5 -0
- package/dist/Dialog/FunctionalDialog.js +13 -2
- package/dist/Input/Input.css +0 -2
- package/dist/Modal/Modal.miniapp.d.ts +1 -1
- package/dist/Picker/Picker.css +5 -0
- package/dist/Picker/Picker.js +27 -5
- package/dist/Picker/Picker.types.d.ts +15 -2
- package/dist/Picker/PickerPanel.css +4 -0
- package/dist/Picker/PickerPanel.js +7 -6
- package/dist/Popover/Popover.js +70 -27
- package/dist/Portal/Portal.miniapp.js +7 -4
- package/dist/ScrollView/ScrollView.js +24 -11
- package/dist/ScrollView/ScrollView.types.d.ts +0 -1
- package/dist/Select/Select.css +1 -4
- package/dist/Select/Select.js +62 -37
- package/dist/Slider/Slider.js +13 -5
- package/dist/SwipeAction/SwipeAction.css +79 -0
- package/dist/SwipeAction/SwipeAction.d.ts +5 -0
- package/dist/SwipeAction/SwipeAction.js +349 -0
- package/dist/SwipeAction/SwipeAction.types.d.ts +75 -0
- package/dist/SwipeAction/SwipeAction.types.js +15 -0
- package/dist/SwipeAction/SwipeActionContext.d.ts +4 -0
- package/dist/SwipeAction/SwipeActionContext.js +30 -0
- package/dist/SwipeAction/SwipeActionItem.css +31 -0
- package/dist/SwipeAction/SwipeActionItem.d.ts +5 -0
- package/dist/SwipeAction/SwipeActionItem.js +105 -0
- package/dist/SwipeAction/constants.d.ts +9 -0
- package/dist/SwipeAction/constants.js +39 -0
- package/dist/SwipeAction/index.d.ts +5 -0
- package/dist/SwipeAction/index.js +50 -0
- package/dist/TabBar/TabBarItem.js +2 -2
- package/dist/Tabs/Tabs.js +29 -14
- package/dist/Tabs/utils/scroll.d.ts +2 -0
- package/dist/Tabs/utils/scroll.js +55 -0
- package/dist/Toast/FunctionalToast.js +13 -2
- package/dist/Toast/Toast.css +0 -1
- package/dist/Toast/Toast.types.d.ts +5 -0
- package/dist/Tooltip/Tooltip.js +70 -27
- package/dist/index.d.ts +6 -0
- package/dist/index.js +13 -1
- package/dist/locales/base.d.ts +11 -0
- package/dist/locales/en-US.js +24 -0
- package/dist/locales/zh-CN.js +24 -0
- package/dist/locales/zh-TW.js +24 -0
- package/es/Calendar/Calendar.js +5 -1
- package/es/Calendar/Calendar.types.d.ts +5 -0
- package/es/Collapse/Collapse.css +0 -1
- package/es/Collapse/Collapse.d.ts +1 -1
- package/es/Collapse/Collapse.js +11 -8
- package/es/Collapse/Collapse.miniapp.d.ts +5 -0
- package/es/Collapse/Collapse.miniapp.js +157 -0
- package/es/CollapsePanel/CollapsePanel.css +4 -2
- package/es/DatePicker/DatePicker.d.ts +4 -0
- package/es/DatePicker/DatePicker.js +308 -0
- package/es/DatePicker/DatePicker.types.d.ts +36 -0
- package/es/DatePicker/DatePicker.types.js +1 -0
- package/es/DatePicker/constants.d.ts +9 -0
- package/es/DatePicker/constants.js +14 -0
- package/es/DatePicker/index.d.ts +3 -0
- package/es/DatePicker/index.js +8 -0
- package/es/DesktopDatePicker/DesktopDatePicker.d.ts +5 -0
- package/es/DesktopDatePicker/DesktopDatePicker.js +253 -0
- package/es/DesktopDatePicker/DesktopDatePicker.types.d.ts +163 -0
- package/es/DesktopDatePicker/DesktopDatePicker.types.js +1 -0
- package/es/DesktopDatePicker/deskTopPickerContainer.css +100 -0
- package/es/DesktopDatePicker/index.css +61 -0
- package/es/DesktopDatePicker/index.d.ts +2 -0
- package/es/DesktopDatePicker/index.js +6 -0
- package/es/DesktopDatePicker/useGetDatePickerContent.d.ts +6 -0
- package/es/DesktopDatePicker/useGetDatePickerContent.js +316 -0
- package/es/DesktopDateTimePicker/DesktopDateTimePicker.d.ts +5 -0
- package/es/DesktopDateTimePicker/DesktopDateTimePicker.js +295 -0
- package/es/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +163 -0
- package/es/DesktopDateTimePicker/DesktopDateTimePicker.types.js +1 -0
- package/es/DesktopDateTimePicker/index.css +66 -0
- package/es/DesktopDateTimePicker/index.d.ts +2 -0
- package/es/DesktopDateTimePicker/index.js +9 -0
- package/es/DesktopPicker/DesktopPicker.d.ts +5 -0
- package/es/DesktopPicker/DesktopPicker.js +226 -0
- package/es/DesktopPicker/DesktopPicker.types.d.ts +61 -0
- package/es/DesktopPicker/DesktopPicker.types.js +1 -0
- package/es/DesktopPicker/index.css +39 -0
- package/es/DesktopPicker/index.d.ts +2 -0
- package/es/DesktopPicker/index.js +6 -0
- package/es/DesktopPicker/utils/calcAfterMounted.d.ts +2 -0
- package/es/DesktopPicker/utils/calcAfterMounted.js +6 -0
- package/es/DesktopPicker/utils/calcAfterMounted.miniapp.d.ts +2 -0
- package/es/DesktopPicker/utils/calcAfterMounted.miniapp.js +9 -0
- package/es/DesktopTimePicker/DesktopTimePicker.d.ts +5 -0
- package/es/DesktopTimePicker/DesktopTimePicker.js +261 -0
- package/es/DesktopTimePicker/DesktopTimePicker.types.d.ts +182 -0
- package/es/DesktopTimePicker/DesktopTimePicker.types.js +1 -0
- package/es/DesktopTimePicker/DesktopTimePickerList.d.ts +4 -0
- package/es/DesktopTimePicker/DesktopTimePickerList.js +84 -0
- package/es/DesktopTimePicker/index.css +170 -0
- package/es/DesktopTimePicker/index.d.ts +2 -0
- package/es/DesktopTimePicker/index.js +6 -0
- package/es/DesktopTimePicker/useGetTimePickerContent.d.ts +6 -0
- package/es/DesktopTimePicker/useGetTimePickerContent.js +226 -0
- package/es/DesktopTimePicker/utils/scrollUtil.d.ts +2 -0
- package/es/DesktopTimePicker/utils/scrollUtil.js +8 -0
- package/es/DesktopTimePicker/utils/scrollUtil.miniapp.d.ts +2 -0
- package/es/DesktopTimePicker/utils/scrollUtil.miniapp.js +22 -0
- package/es/DesktopTimePicker/utils/utils.d.ts +28 -0
- package/es/DesktopTimePicker/utils/utils.js +365 -0
- package/es/Dialog/Dialog.types.d.ts +5 -0
- package/es/Dialog/FunctionalDialog.js +14 -3
- package/es/Input/Input.css +0 -2
- package/es/Picker/Picker.css +5 -0
- package/es/Picker/Picker.js +27 -5
- package/es/Picker/Picker.types.d.ts +15 -2
- package/es/Picker/PickerPanel.css +4 -0
- package/es/Picker/PickerPanel.js +7 -6
- package/es/Popover/Popover.js +73 -29
- package/es/Portal/Portal.miniapp.js +8 -5
- package/es/ScrollView/ScrollView.js +24 -11
- package/es/ScrollView/ScrollView.types.d.ts +0 -1
- package/es/Select/Select.css +1 -4
- package/es/Select/Select.js +62 -38
- package/es/Slider/Slider.js +16 -6
- package/es/SwipeAction/SwipeAction.css +79 -0
- package/es/SwipeAction/SwipeAction.d.ts +5 -0
- package/es/SwipeAction/SwipeAction.js +334 -0
- package/es/SwipeAction/SwipeAction.types.d.ts +75 -0
- package/es/SwipeAction/SwipeAction.types.js +1 -0
- package/es/SwipeAction/SwipeActionContext.d.ts +4 -0
- package/es/SwipeAction/SwipeActionContext.js +11 -0
- package/es/SwipeAction/SwipeActionItem.css +31 -0
- package/es/SwipeAction/SwipeActionItem.d.ts +5 -0
- package/es/SwipeAction/SwipeActionItem.js +78 -0
- package/es/SwipeAction/constants.d.ts +9 -0
- package/es/SwipeAction/constants.js +15 -0
- package/es/SwipeAction/index.d.ts +5 -0
- package/es/SwipeAction/index.js +12 -0
- package/es/TabBar/TabBarItem.js +1 -1
- package/es/Tabs/Tabs.js +29 -14
- package/es/Tabs/utils/scroll.d.ts +2 -0
- package/es/Tabs/utils/scroll.js +36 -0
- package/es/Toast/FunctionalToast.js +14 -3
- package/es/Toast/Toast.css +0 -1
- package/es/Toast/Toast.types.d.ts +5 -0
- package/es/Tooltip/Tooltip.js +73 -29
- package/es/index.d.ts +6 -0
- package/es/index.js +6 -0
- package/es/locales/base.d.ts +11 -0
- package/es/locales/en-US.js +24 -0
- package/es/locales/zh-CN.js +24 -0
- package/es/locales/zh-TW.js +24 -0
- package/package.json +5 -5
- package/dist/Tabs/utils/bound.d.ts +0 -1
- package/es/Tabs/utils/bound.d.ts +0 -1
- package/es/Tabs/utils/bound.js +0 -13
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { OverrideProps } from '@bifrostui/types';
|
|
3
|
+
import { PickerProps, IPickerOptionItem } from '../Picker';
|
|
4
|
+
import { DatePickerType } from './constants';
|
|
5
|
+
export type DatePickerOption = IPickerOptionItem & {
|
|
6
|
+
value: number;
|
|
7
|
+
};
|
|
8
|
+
export type DatePickerProps<D extends React.ElementType = 'div', P = Omit<PickerProps, 'value' | 'defaultValue' | 'onChange' | 'onConfirm' | 'onClose'>> = OverrideProps<{
|
|
9
|
+
props: P & {
|
|
10
|
+
defaultValue?: Date;
|
|
11
|
+
value?: Date;
|
|
12
|
+
views?: DatePickerType[];
|
|
13
|
+
minDate?: Date;
|
|
14
|
+
maxDate?: Date;
|
|
15
|
+
showUnit?: boolean;
|
|
16
|
+
disableDateTimeView?: Partial<{
|
|
17
|
+
[key in DatePickerType]: (options: number[]) => number[];
|
|
18
|
+
}>;
|
|
19
|
+
dateTimeStep?: Partial<{
|
|
20
|
+
[key in DatePickerType]: number;
|
|
21
|
+
}>;
|
|
22
|
+
formatter?: (type: DatePickerType, option: DatePickerOption) => DatePickerOption;
|
|
23
|
+
filter?: (type: DatePickerType, options: DatePickerOption[]) => DatePickerOption[];
|
|
24
|
+
onConfirm?: (e: React.SyntheticEvent, { value }: {
|
|
25
|
+
value: Date;
|
|
26
|
+
}) => void;
|
|
27
|
+
onClose?: (e: React.SyntheticEvent, { value }: {
|
|
28
|
+
value: Date;
|
|
29
|
+
}) => void;
|
|
30
|
+
onChange?: (e: React.SyntheticEvent, { value }: {
|
|
31
|
+
type: DatePickerType;
|
|
32
|
+
value: Date;
|
|
33
|
+
}) => void;
|
|
34
|
+
};
|
|
35
|
+
defaultComponent: D;
|
|
36
|
+
}, D>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
14
|
+
var DatePicker_types_exports = {};
|
|
15
|
+
module.exports = __toCommonJS(DatePicker_types_exports);
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
var constants_exports = {};
|
|
19
|
+
__export(constants_exports, {
|
|
20
|
+
DatePickerType: () => DatePickerType,
|
|
21
|
+
default: () => constants_default
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(constants_exports);
|
|
24
|
+
var DatePickerType = /* @__PURE__ */ ((DatePickerType2) => {
|
|
25
|
+
DatePickerType2["YEAR"] = "year";
|
|
26
|
+
DatePickerType2["MONTH"] = "month";
|
|
27
|
+
DatePickerType2["DAY"] = "day";
|
|
28
|
+
DatePickerType2["HOUR"] = "hour";
|
|
29
|
+
DatePickerType2["MINUTE"] = "minute";
|
|
30
|
+
DatePickerType2["SECOND"] = "second";
|
|
31
|
+
return DatePickerType2;
|
|
32
|
+
})(DatePickerType || {});
|
|
33
|
+
var constants_default = DatePickerType;
|
|
34
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
35
|
+
0 && (module.exports = {
|
|
36
|
+
DatePickerType
|
|
37
|
+
});
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var DatePicker_exports = {};
|
|
30
|
+
__export(DatePicker_exports, {
|
|
31
|
+
DatePicker: () => import_DatePicker.default,
|
|
32
|
+
DatePickerType: () => import_constants.DatePickerType,
|
|
33
|
+
default: () => import_DatePicker.default
|
|
34
|
+
});
|
|
35
|
+
module.exports = __toCommonJS(DatePicker_exports);
|
|
36
|
+
var import_DatePicker = __toESM(require("./DatePicker"));
|
|
37
|
+
__reExport(DatePicker_exports, require("./DatePicker.types"), module.exports);
|
|
38
|
+
var import_constants = require("./constants");
|
|
39
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
40
|
+
0 && (module.exports = {
|
|
41
|
+
DatePicker,
|
|
42
|
+
DatePickerType,
|
|
43
|
+
...require("./DatePicker.types")
|
|
44
|
+
});
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { DesktopDatePickerProps } from './DesktopDatePicker.types';
|
|
3
|
+
import './index.less';
|
|
4
|
+
declare const DesktopDatePicker: React.ForwardRefExoticComponent<Omit<DesktopDatePickerProps<"div", {}>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
5
|
+
export default DesktopDatePicker;
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defProps = Object.defineProperties;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
8
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
9
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
11
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
12
|
+
var __spreadValues = (a, b) => {
|
|
13
|
+
for (var prop in b || (b = {}))
|
|
14
|
+
if (__hasOwnProp.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
if (__getOwnPropSymbols)
|
|
17
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
18
|
+
if (__propIsEnum.call(b, prop))
|
|
19
|
+
__defNormalProp(a, prop, b[prop]);
|
|
20
|
+
}
|
|
21
|
+
return a;
|
|
22
|
+
};
|
|
23
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
24
|
+
var __objRest = (source, exclude) => {
|
|
25
|
+
var target = {};
|
|
26
|
+
for (var prop in source)
|
|
27
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
28
|
+
target[prop] = source[prop];
|
|
29
|
+
if (source != null && __getOwnPropSymbols)
|
|
30
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
31
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
32
|
+
target[prop] = source[prop];
|
|
33
|
+
}
|
|
34
|
+
return target;
|
|
35
|
+
};
|
|
36
|
+
var __export = (target, all) => {
|
|
37
|
+
for (var name in all)
|
|
38
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
39
|
+
};
|
|
40
|
+
var __copyProps = (to, from, except, desc) => {
|
|
41
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
42
|
+
for (let key of __getOwnPropNames(from))
|
|
43
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
44
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
45
|
+
}
|
|
46
|
+
return to;
|
|
47
|
+
};
|
|
48
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
49
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
50
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
51
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
52
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
53
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
54
|
+
mod
|
|
55
|
+
));
|
|
56
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
57
|
+
var DesktopDatePicker_exports = {};
|
|
58
|
+
__export(DesktopDatePicker_exports, {
|
|
59
|
+
default: () => DesktopDatePicker_default
|
|
60
|
+
});
|
|
61
|
+
module.exports = __toCommonJS(DesktopDatePicker_exports);
|
|
62
|
+
var import_icons = require("@bifrostui/icons");
|
|
63
|
+
var import_dayjs = __toESM(require("dayjs"));
|
|
64
|
+
var import_clsx = __toESM(require("clsx"));
|
|
65
|
+
var import_react = __toESM(require("react"));
|
|
66
|
+
var import_utils = require("@bifrostui/utils");
|
|
67
|
+
var import_DesktopPicker = __toESM(require("../DesktopPicker"));
|
|
68
|
+
var import_useGetDatePickerContent = __toESM(require("./useGetDatePickerContent"));
|
|
69
|
+
var import_index = require("./index.css");
|
|
70
|
+
const prefixCls = "bui-d-date-picker";
|
|
71
|
+
const DesktopDatePicker = /* @__PURE__ */ import_react.default.forwardRef((props, ref) => {
|
|
72
|
+
const _a = props, {
|
|
73
|
+
className,
|
|
74
|
+
inputRef,
|
|
75
|
+
inputProps,
|
|
76
|
+
value,
|
|
77
|
+
defaultValue,
|
|
78
|
+
disabled = false,
|
|
79
|
+
disableOpenPicker = false,
|
|
80
|
+
placeholder,
|
|
81
|
+
format = "YYYY/MM/DD",
|
|
82
|
+
open,
|
|
83
|
+
disabledDate,
|
|
84
|
+
picker = "day",
|
|
85
|
+
minDate = (0, import_dayjs.default)((0, import_dayjs.default)().format("YYYYMMDD")).subtract(10, "year").toDate(),
|
|
86
|
+
maxDate = (0, import_dayjs.default)((0, import_dayjs.default)().format("YYYYMMDD")).add(10, "year").toDate(),
|
|
87
|
+
icon,
|
|
88
|
+
headerBarLeftIcon,
|
|
89
|
+
headerBarRightIcon,
|
|
90
|
+
closeOnSelect = true,
|
|
91
|
+
onChange,
|
|
92
|
+
onClose,
|
|
93
|
+
onOpen,
|
|
94
|
+
monthRender,
|
|
95
|
+
yearRender,
|
|
96
|
+
onMonthChange,
|
|
97
|
+
onYearChange,
|
|
98
|
+
DesktopPickerProps,
|
|
99
|
+
CalendarProps
|
|
100
|
+
} = _a, others = __objRest(_a, [
|
|
101
|
+
"className",
|
|
102
|
+
"inputRef",
|
|
103
|
+
"inputProps",
|
|
104
|
+
"value",
|
|
105
|
+
"defaultValue",
|
|
106
|
+
"disabled",
|
|
107
|
+
"disableOpenPicker",
|
|
108
|
+
"placeholder",
|
|
109
|
+
"format",
|
|
110
|
+
"open",
|
|
111
|
+
"disabledDate",
|
|
112
|
+
"picker",
|
|
113
|
+
"minDate",
|
|
114
|
+
"maxDate",
|
|
115
|
+
"icon",
|
|
116
|
+
"headerBarLeftIcon",
|
|
117
|
+
"headerBarRightIcon",
|
|
118
|
+
"closeOnSelect",
|
|
119
|
+
"onChange",
|
|
120
|
+
"onClose",
|
|
121
|
+
"onOpen",
|
|
122
|
+
"monthRender",
|
|
123
|
+
"yearRender",
|
|
124
|
+
"onMonthChange",
|
|
125
|
+
"onYearChange",
|
|
126
|
+
"DesktopPickerProps",
|
|
127
|
+
"CalendarProps"
|
|
128
|
+
]);
|
|
129
|
+
const [isOpen, setIsOpen] = (0, import_react.useState)(false);
|
|
130
|
+
const [selectType, setSelectType] = (0, import_react.useState)(
|
|
131
|
+
picker
|
|
132
|
+
);
|
|
133
|
+
const [inputStr, setInputStr] = (0, import_react.useState)("");
|
|
134
|
+
const [useUserStr, setUseUserStr] = (0, import_react.useState)(false);
|
|
135
|
+
const [calendarValue, triggerChange] = (0, import_utils.useValue)({
|
|
136
|
+
value,
|
|
137
|
+
defaultValue,
|
|
138
|
+
onChange
|
|
139
|
+
});
|
|
140
|
+
const handleDatePickerIconClick = (e) => {
|
|
141
|
+
if (disabled || disableOpenPicker || open !== void 0)
|
|
142
|
+
return;
|
|
143
|
+
setIsOpen(!isOpen);
|
|
144
|
+
};
|
|
145
|
+
const handleDatePickerInputClick = (e) => {
|
|
146
|
+
e.stopPropagation();
|
|
147
|
+
if (inputProps == null ? void 0 : inputProps.readOnly) {
|
|
148
|
+
if (disabled || disableOpenPicker || open !== void 0)
|
|
149
|
+
return;
|
|
150
|
+
setIsOpen(!isOpen);
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
setIsOpen(false);
|
|
154
|
+
};
|
|
155
|
+
const { desktopDatePicker } = (0, import_useGetDatePickerContent.default)({
|
|
156
|
+
format,
|
|
157
|
+
minDate,
|
|
158
|
+
maxDate,
|
|
159
|
+
setIsOpen,
|
|
160
|
+
triggerChange,
|
|
161
|
+
disabledDate,
|
|
162
|
+
calendarValue,
|
|
163
|
+
setSelectType,
|
|
164
|
+
picker,
|
|
165
|
+
selectType,
|
|
166
|
+
headerBarLeftIcon,
|
|
167
|
+
headerBarRightIcon,
|
|
168
|
+
CalendarProps,
|
|
169
|
+
onClose,
|
|
170
|
+
monthRender,
|
|
171
|
+
yearRender,
|
|
172
|
+
onMonthChange,
|
|
173
|
+
onYearChange,
|
|
174
|
+
closeOnSelect
|
|
175
|
+
});
|
|
176
|
+
const onInputChange = (e) => {
|
|
177
|
+
e.stopPropagation();
|
|
178
|
+
const newValue = e.target.value;
|
|
179
|
+
if (newValue.length === 0) {
|
|
180
|
+
setInputStr("");
|
|
181
|
+
setUseUserStr(true);
|
|
182
|
+
triggerChange(e, null);
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
if ((0, import_dayjs.default)(newValue, format, true).isValid()) {
|
|
186
|
+
setInputStr("");
|
|
187
|
+
setUseUserStr(false);
|
|
188
|
+
if (disabledDate == null ? void 0 : disabledDate((0, import_dayjs.default)(newValue).toDate())) {
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
if ((0, import_dayjs.default)(newValue).isAfter(maxDate)) {
|
|
192
|
+
triggerChange(e, maxDate);
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
if ((0, import_dayjs.default)(newValue).isBefore(minDate)) {
|
|
196
|
+
triggerChange(e, minDate);
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
triggerChange(e, (0, import_dayjs.default)(e.target.value).toDate());
|
|
200
|
+
} else {
|
|
201
|
+
setUseUserStr(true);
|
|
202
|
+
setInputStr(e.target.value);
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
const onMount = () => {
|
|
206
|
+
onOpen == null ? void 0 : onOpen();
|
|
207
|
+
};
|
|
208
|
+
const unMounted = () => {
|
|
209
|
+
onClose == null ? void 0 : onClose();
|
|
210
|
+
setSelectType(picker);
|
|
211
|
+
};
|
|
212
|
+
const showPlaceholder = (0, import_react.useMemo)(() => {
|
|
213
|
+
if (placeholder) {
|
|
214
|
+
return placeholder;
|
|
215
|
+
}
|
|
216
|
+
return format;
|
|
217
|
+
}, [placeholder, format]);
|
|
218
|
+
const renderValue = (0, import_react.useMemo)(() => {
|
|
219
|
+
if (useUserStr) {
|
|
220
|
+
return inputStr;
|
|
221
|
+
}
|
|
222
|
+
if (calendarValue) {
|
|
223
|
+
return (0, import_dayjs.default)(calendarValue).format(format);
|
|
224
|
+
}
|
|
225
|
+
return "";
|
|
226
|
+
}, [calendarValue, inputStr, useUserStr, format]);
|
|
227
|
+
(0, import_react.useEffect)(() => {
|
|
228
|
+
setUseUserStr(false);
|
|
229
|
+
}, [calendarValue]);
|
|
230
|
+
return /* @__PURE__ */ import_react.default.createElement(
|
|
231
|
+
"div",
|
|
232
|
+
__spreadProps(__spreadValues({}, others), {
|
|
233
|
+
className: (0, import_clsx.default)(prefixCls, className, {
|
|
234
|
+
[`${prefixCls}-disabled`]: disabled,
|
|
235
|
+
[`${prefixCls}-active`]: isOpen
|
|
236
|
+
}),
|
|
237
|
+
ref
|
|
238
|
+
}),
|
|
239
|
+
/* @__PURE__ */ import_react.default.createElement(
|
|
240
|
+
import_DesktopPicker.default,
|
|
241
|
+
__spreadValues({
|
|
242
|
+
open: open != null ? open : isOpen,
|
|
243
|
+
miniBackdropInvisible: open !== void 0,
|
|
244
|
+
onClose: (e, data) => {
|
|
245
|
+
setIsOpen(data == null ? void 0 : data.value);
|
|
246
|
+
},
|
|
247
|
+
onMount,
|
|
248
|
+
onUnmounted: unMounted,
|
|
249
|
+
content: desktopDatePicker()
|
|
250
|
+
}, DesktopPickerProps),
|
|
251
|
+
/* @__PURE__ */ import_react.default.createElement("div", { className: `${prefixCls}-container` }, /* @__PURE__ */ import_react.default.createElement(
|
|
252
|
+
"input",
|
|
253
|
+
__spreadProps(__spreadValues({}, inputProps), {
|
|
254
|
+
"aria-invalid": true,
|
|
255
|
+
autoComplete: "off",
|
|
256
|
+
placeholder: showPlaceholder,
|
|
257
|
+
type: "text",
|
|
258
|
+
inputMode: "text",
|
|
259
|
+
ref: inputRef,
|
|
260
|
+
className: (0, import_clsx.default)(`${prefixCls}-input`, {
|
|
261
|
+
[inputProps == null ? void 0 : inputProps.className]: inputProps == null ? void 0 : inputProps.className
|
|
262
|
+
}),
|
|
263
|
+
onBlur: () => setUseUserStr(false),
|
|
264
|
+
onClick: handleDatePickerInputClick,
|
|
265
|
+
onChange: onInputChange,
|
|
266
|
+
value: renderValue
|
|
267
|
+
})
|
|
268
|
+
), /* @__PURE__ */ import_react.default.createElement(
|
|
269
|
+
"div",
|
|
270
|
+
{
|
|
271
|
+
onClick: handleDatePickerIconClick,
|
|
272
|
+
className: `${prefixCls}-icon`
|
|
273
|
+
},
|
|
274
|
+
icon || /* @__PURE__ */ import_react.default.createElement(import_icons.DateOutlinedIcon, { htmlColor: "var(--bui-color-neutral-3)" })
|
|
275
|
+
))
|
|
276
|
+
)
|
|
277
|
+
);
|
|
278
|
+
});
|
|
279
|
+
DesktopDatePicker.displayName = "BUIDatePicker";
|
|
280
|
+
var DesktopDatePicker_default = DesktopDatePicker;
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import React, { Ref } from 'react';
|
|
2
|
+
import { OverrideProps } from '@bifrostui/types';
|
|
3
|
+
import { DesktopPickerProps } from '../DesktopPicker';
|
|
4
|
+
import { CalendarProps } from '../Calendar';
|
|
5
|
+
export type IDatePickerValue = Date | null;
|
|
6
|
+
export interface IDatePickerInstance {
|
|
7
|
+
/** 日期对象 */
|
|
8
|
+
day: Date;
|
|
9
|
+
/** 是否禁用 */
|
|
10
|
+
disabled: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface IDatePickerCustomIconProps {
|
|
13
|
+
/**
|
|
14
|
+
* 是否是最小时间
|
|
15
|
+
*/
|
|
16
|
+
isMinMonth?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* 是否是最大时间
|
|
19
|
+
*/
|
|
20
|
+
isMaxMonth?: boolean;
|
|
21
|
+
}
|
|
22
|
+
export interface IDatePickerCalendarProps {
|
|
23
|
+
/**
|
|
24
|
+
* 是否隐藏当前月之外的日期,默认为false
|
|
25
|
+
*/
|
|
26
|
+
hideDaysOutsideCurrentMonth?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* 高亮的日期,默认为today
|
|
29
|
+
* today 若选中的非当天,则当天高亮显示,若选中的是当天,则当天展示选中态
|
|
30
|
+
* weekend 可选的周末高亮显示
|
|
31
|
+
*/
|
|
32
|
+
highlightDate?: 'today' | 'weekend';
|
|
33
|
+
/**
|
|
34
|
+
* 自定义日期单元格的内容
|
|
35
|
+
*/
|
|
36
|
+
dateRender?: (currentDate: IDatePickerInstance) => React.ReactNode;
|
|
37
|
+
/**
|
|
38
|
+
* 自定义周单元格的内容
|
|
39
|
+
*/
|
|
40
|
+
weekRender?: (week: string) => React.ReactNode;
|
|
41
|
+
}
|
|
42
|
+
export type DesktopDatePickerProps<D extends React.ElementType = 'div', P = {}> = OverrideProps<{
|
|
43
|
+
props: P & {
|
|
44
|
+
/**
|
|
45
|
+
* 默认选中的值,当组件非受控时使用
|
|
46
|
+
*/
|
|
47
|
+
defaultValue?: IDatePickerValue;
|
|
48
|
+
/**
|
|
49
|
+
* 选中的值,当组件受控时使用
|
|
50
|
+
*/
|
|
51
|
+
value?: IDatePickerValue;
|
|
52
|
+
/**
|
|
53
|
+
* 输入框占位内容
|
|
54
|
+
*/
|
|
55
|
+
placeholder?: string;
|
|
56
|
+
/**
|
|
57
|
+
* 可选择的最小日期,默认为当前日期
|
|
58
|
+
* 渲染指定月时:value=null并指定minDate
|
|
59
|
+
*/
|
|
60
|
+
minDate?: Date;
|
|
61
|
+
/**
|
|
62
|
+
* 可选择的最大日期,默认为当前日期的一年后
|
|
63
|
+
*/
|
|
64
|
+
maxDate?: Date;
|
|
65
|
+
/**
|
|
66
|
+
* 弹层是否打开
|
|
67
|
+
*/
|
|
68
|
+
open?: boolean;
|
|
69
|
+
/**
|
|
70
|
+
* 输入框icon
|
|
71
|
+
*/
|
|
72
|
+
icon?: React.ReactNode;
|
|
73
|
+
/**
|
|
74
|
+
* inputRef
|
|
75
|
+
*/
|
|
76
|
+
inputRef?: Ref<HTMLInputElement>;
|
|
77
|
+
/**
|
|
78
|
+
* inputProp
|
|
79
|
+
*/
|
|
80
|
+
inputProps?: React.InputHTMLAttributes<HTMLInputElement>;
|
|
81
|
+
/**
|
|
82
|
+
* 日期选择器类型
|
|
83
|
+
*/
|
|
84
|
+
picker?: 'year' | 'month' | 'day';
|
|
85
|
+
/**
|
|
86
|
+
* 头部操作栏左边图标
|
|
87
|
+
*/
|
|
88
|
+
headerBarLeftIcon?: (options: IDatePickerCustomIconProps) => React.ReactNode;
|
|
89
|
+
/**
|
|
90
|
+
* 头部操作栏右边图标
|
|
91
|
+
*/
|
|
92
|
+
headerBarRightIcon?: (options: IDatePickerCustomIconProps) => React.ReactNode;
|
|
93
|
+
/**
|
|
94
|
+
* 是否禁用日期选择器
|
|
95
|
+
*/
|
|
96
|
+
disabled?: boolean;
|
|
97
|
+
/**
|
|
98
|
+
* 不可选择的日期
|
|
99
|
+
*/
|
|
100
|
+
disabledDate?: (currentDate: Date) => boolean;
|
|
101
|
+
/**
|
|
102
|
+
* 自定义月份单元格的内容
|
|
103
|
+
*/
|
|
104
|
+
monthRender?: ({ month, currentDate, }: {
|
|
105
|
+
month: string | number;
|
|
106
|
+
currentDate: IDatePickerInstance;
|
|
107
|
+
}) => React.ReactNode;
|
|
108
|
+
/**
|
|
109
|
+
* 自定义年份单元格的内容
|
|
110
|
+
*/
|
|
111
|
+
yearRender?: ({ year, currentDate, }: {
|
|
112
|
+
year: string | number;
|
|
113
|
+
currentDate: IDatePickerInstance;
|
|
114
|
+
}) => React.ReactNode;
|
|
115
|
+
/**
|
|
116
|
+
* 日期发生变化的回调
|
|
117
|
+
*/
|
|
118
|
+
onChange?: (e: React.SyntheticEvent, data: {
|
|
119
|
+
value: IDatePickerValue;
|
|
120
|
+
}) => void;
|
|
121
|
+
/**
|
|
122
|
+
* 选择日期后是否立刻关闭
|
|
123
|
+
*/
|
|
124
|
+
closeOnSelect?: boolean;
|
|
125
|
+
/**
|
|
126
|
+
* 禁用弹层选择功能
|
|
127
|
+
*/
|
|
128
|
+
disableOpenPicker?: boolean;
|
|
129
|
+
/**
|
|
130
|
+
* 日期格式化
|
|
131
|
+
*/
|
|
132
|
+
format?: string;
|
|
133
|
+
/**
|
|
134
|
+
* 弹层关闭的回调
|
|
135
|
+
*/
|
|
136
|
+
onClose?: () => void;
|
|
137
|
+
/**
|
|
138
|
+
* 弹层打开的回调
|
|
139
|
+
*/
|
|
140
|
+
onOpen?: () => void;
|
|
141
|
+
/**
|
|
142
|
+
* 月份切换的回调
|
|
143
|
+
*/
|
|
144
|
+
onMonthChange?: (e: React.SyntheticEvent, data: {
|
|
145
|
+
value: Date;
|
|
146
|
+
}) => void;
|
|
147
|
+
/**
|
|
148
|
+
* 年份切换的回调
|
|
149
|
+
*/
|
|
150
|
+
onYearChange?: (e: React.SyntheticEvent, data: {
|
|
151
|
+
value: Date;
|
|
152
|
+
}) => void;
|
|
153
|
+
/**
|
|
154
|
+
* DesktopPickerProps
|
|
155
|
+
*/
|
|
156
|
+
DesktopPickerProps?: Omit<DesktopPickerProps, 'open'>;
|
|
157
|
+
/**
|
|
158
|
+
* CalendarProps
|
|
159
|
+
*/
|
|
160
|
+
CalendarProps?: CalendarProps;
|
|
161
|
+
};
|
|
162
|
+
defaultComponent: D;
|
|
163
|
+
}, D>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
14
|
+
var DesktopDatePicker_types_exports = {};
|
|
15
|
+
module.exports = __toCommonJS(DesktopDatePicker_types_exports);
|