@next-bricks/form 0.19.3 → 0.19.5

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.
@@ -15,3 +15,4 @@ import "./upload/upload-file/index.js";
15
15
  import "./auto-complete/index.js";
16
16
  import "./time-picker/index.js";
17
17
  import "./date-picker/index.js";
18
+ import "./time-range-picker/index.js";
@@ -0,0 +1,21 @@
1
+ export declare enum K {
2
+ TODAY = "TODAY",
3
+ THIS_WEEK = "THIS_WEEK",
4
+ THIS_MONTH = "THIS_MONTH",
5
+ THIS_QUARTER = "THIS_QUARTER",
6
+ THIS_YEAR = "THIS_YEAR",
7
+ START_TIME_END_TIME_CANNOT_EQUAL = "START_TIME_END_TIME_CANNOT_EQUAL",
8
+ START_TIME_REQUIRED = "START_TIME_REQUIRED",
9
+ END_TIME_REQUIRED = "END_TIME_REQUIRED"
10
+ }
11
+ export declare const NS = "bricks/form/eo-time-range-picker";
12
+ export declare const locales: {
13
+ en: Locale;
14
+ zh: Locale;
15
+ };
16
+ type Locale = {
17
+ [k in K]: string;
18
+ } & {
19
+ [k in K as `${k}_plural`]?: string;
20
+ };
21
+ export {};
@@ -0,0 +1,80 @@
1
+ import React from "react";
2
+ import { FormItemElementBase, MessageBody } from "@next-shared/form";
3
+ import type { FormItemProps } from "../form-item/index.jsx";
4
+ import "@next-core/theme";
5
+ import "dayjs/locale/zh-cn.js";
6
+ export declare enum presetRangeType {
7
+ Today = "\u4ECA\u5929",
8
+ ThisWeek = "\u672C\u5468",
9
+ ThisMonth = "\u672C\u6708",
10
+ ThisQuarter = "\u672C\u5B63\u5EA6",
11
+ ThisYear = "\u4ECA\u5E74"
12
+ }
13
+ export interface TimeRange {
14
+ startTime: string;
15
+ endTime: string;
16
+ }
17
+ type PickerType = "date" | "week" | "month" | "quarter" | "year";
18
+ type OtherPickerType = "dateTime" | "hmTime" | "time";
19
+ export type RangeType = PickerType & OtherPickerType;
20
+ export interface EoTimeRangePickerProps extends FormItemProps {
21
+ shadowRoot?: ShadowRoot | null;
22
+ value?: TimeRange;
23
+ format: string;
24
+ rangeType?: RangeType;
25
+ onChange?: (range: TimeRange) => void;
26
+ emitChangeOnInit?: boolean;
27
+ selectNearDays?: number;
28
+ presetRanges?: presetRangeType[];
29
+ }
30
+ type RealTimeRangePickerProps = Omit<EoTimeRangePickerProps, keyof FormItemProps>;
31
+ /**
32
+ * 构件 `eo-time-range-picker`
33
+ */
34
+ export declare class EoTimeRangePicker extends FormItemElementBase {
35
+ #private;
36
+ /**
37
+ * 时间段选择器字段名
38
+ */
39
+ accessor name: string | undefined;
40
+ /**
41
+ * 时间段选择器说明
42
+ */
43
+ accessor label: string | undefined;
44
+ /**
45
+ *时间段选择器的初始值
46
+ * @default { "startTime": "00:00:00", "endTime": "23:59:59" }
47
+ */
48
+ accessor value: TimeRange | undefined;
49
+ /**
50
+ * 是否必填
51
+ */
52
+ accessor required: boolean | undefined;
53
+ /**
54
+ * 时间段类型
55
+ */
56
+ accessor rangeType: RangeType | undefined;
57
+ /**
58
+ * 只有rangeType在`date` 和 `dateTime`下, 才支持只选择最近n天(当前时间向前n天)
59
+ */
60
+ accessor selectNearDays: number | undefined;
61
+ /**
62
+ * @default true
63
+ * 是否在初始化完成后额外触发一次`time.range.change`, 这里因为历史原因之前默认行为就是在初始化后会触发该事件,这里为了兼容之前的行为,默认值只能设置为 true。
64
+ */
65
+ accessor emitChangeOnInit: boolean | undefined;
66
+ /**
67
+ * @default []
68
+ * 预设时间范围快捷选择;设置了属性selectNearDays时,属性presetRanges不生效;属性rangeType为week时,presetRanges的值只能为本周、本月、本季度、今年,属性rangeType为month、quarter、year时,以此类推
69
+ */
70
+ accessor presetRanges: presetRangeType[] | undefined;
71
+ accessor validator: ((value: any) => MessageBody | string) | undefined;
72
+ handleChange: (value: TimeRange) => void;
73
+ unequal: (value: TimeRange) => string;
74
+ startTimeRequired: (value: TimeRange) => string;
75
+ endTimeRequired: (value: TimeRange) => string;
76
+ render(): JSX.Element;
77
+ }
78
+ export declare function RealTimeRangePicker(props: RealTimeRangePickerProps): React.ReactElement;
79
+ export declare function EoTimeRangePickerComponent(props: EoTimeRangePickerProps): JSX.Element;
80
+ export {};
@@ -0,0 +1 @@
1
+ import "./";
@@ -0,0 +1,108 @@
1
+ 构件 `eo-time-range-picker`
2
+
3
+ ## Examples
4
+
5
+ ### Basic
6
+
7
+ ```yaml preview
8
+ - brick: eo-time-range-picker
9
+ properties:
10
+ label: hello
11
+ name: time
12
+ ```
13
+
14
+ ### rangeType
15
+
16
+ ```yaml preview
17
+ - brick: eo-radio
18
+ properties:
19
+ options:
20
+ - time
21
+ - date
22
+ - dateTime
23
+ - hmTime
24
+ - week
25
+ - month
26
+ - quarter
27
+ - year
28
+ events:
29
+ change:
30
+ - target: "#rangePicker"
31
+ properties:
32
+ rangeType: <% EVENT.detail.value %>
33
+ - brick: eo-time-range-picker
34
+ properties:
35
+ label: hello
36
+ name: time
37
+ id: rangePicker
38
+ rangeType: date
39
+ ```
40
+
41
+ ### presetRanges
42
+
43
+ ```yaml preview
44
+ - brick: eo-time-range-picker
45
+ properties:
46
+ label: hello
47
+ name: time
48
+ rangeType: week
49
+ required: true
50
+ presetRanges:
51
+ - 本周
52
+ - 本月
53
+ - 本季度
54
+ - 今年
55
+ ```
56
+
57
+ ### validate
58
+
59
+ ```yaml preview
60
+ - brick: eo-form
61
+ events:
62
+ values.change:
63
+ - action: console.log
64
+ validate.success:
65
+ - action: message.success
66
+ args:
67
+ - 表单提交成功
68
+ validate.error:
69
+ - action: message.error
70
+ args:
71
+ - 表单校验失败
72
+ slots:
73
+ "":
74
+ bricks:
75
+ - brick: eo-time-range-picker
76
+ events:
77
+ change:
78
+ action: console.log
79
+ properties:
80
+ label: hello
81
+ name: time
82
+ required: true
83
+ - brick: eo-submit-buttons
84
+ ```
85
+
86
+ ### selectNearDays
87
+
88
+ ```yaml preview
89
+ - brick: eo-time-range-picker
90
+ events:
91
+ - action: console.log
92
+ properties:
93
+ label: hello
94
+ name: time
95
+ selectNearDays: 10
96
+ rangeType: date
97
+ ```
98
+
99
+ ### Events
100
+
101
+ ```yaml preview
102
+ - brick: eo-time-range-picker
103
+ events:
104
+ - action: console.log
105
+ properties:
106
+ label: hello
107
+ name: time
108
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-bricks/form",
3
- "version": "0.19.3",
3
+ "version": "0.19.5",
4
4
  "homepage": "https://github.com/easyops-cn/next-bricks/tree/master/bricks/form",
5
5
  "repository": {
6
6
  "type": "git",
@@ -37,5 +37,5 @@
37
37
  "@next-core/build-next-bricks": "^1.14.2",
38
38
  "@next-core/test-next": "^1.0.10"
39
39
  },
40
- "gitHead": "fd6478366e59628c3382b0488fa856421bb410e9"
40
+ "gitHead": "6bb93b55108ae2a4a415b6d26306c4f01434d659"
41
41
  }