@faasjs/ant-design 0.0.2-beta.370 → 0.0.2-beta.371

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/README.md CHANGED
@@ -50,6 +50,8 @@ Form are based on [Ant Design's Form.Item component](https://ant.design/componen
50
50
  - [BaseItemProps](#baseitemprops)
51
51
  - [BaseOption](#baseoption)
52
52
  - [BlankProps](#blankprops)
53
+ - [CalendarProps](#calendarprops)
54
+ - [DatePickerProps](#datepickerprops)
53
55
  - [DescriptionItemProps](#descriptionitemprops)
54
56
  - [DescriptionProps](#descriptionprops)
55
57
  - [DrawerProps](#drawerprops)
@@ -69,11 +71,20 @@ Form are based on [Ant Design's Form.Item component](https://ant.design/componen
69
71
  - [RoutesProps](#routesprops)
70
72
  - [TableItemProps](#tableitemprops)
71
73
  - [TableProps](#tableprops)
74
+ - [TimePickerProps](#timepickerprops)
72
75
  - [TitleProps](#titleprops)
76
+ - [setDrawerProps](#setdrawerprops)
77
+ - [setModalProps](#setmodalprops)
78
+
79
+ ### Variables
80
+
81
+ - [DatePicker](#datepicker)
82
+ - [TimePicker](#timepicker)
73
83
 
74
84
  ### Functions
75
85
 
76
86
  - [Blank](#blank)
87
+ - [Calendar](#calendar)
77
88
  - [Config](#config)
78
89
  - [Description](#description)
79
90
  - [Form](#form)
@@ -121,6 +132,18 @@ ___
121
132
 
122
133
  ___
123
134
 
135
+ ### CalendarProps
136
+
137
+ Ƭ **CalendarProps**: `AntdProps`<`Dayjs`\>
138
+
139
+ ___
140
+
141
+ ### DatePickerProps
142
+
143
+ Ƭ **DatePickerProps**: `PickerDateProps`<`Dayjs`\>
144
+
145
+ ___
146
+
124
147
  ### DescriptionItemProps
125
148
 
126
149
  Ƭ **DescriptionItemProps**<`T`\>: { `children?`: `JSX.Element` ; `render?`: (`value`: `T`, `values`: `any`) => `string` \| `number` \| `boolean` \| `Element` } & [`FaasItemProps`](#faasitemprops)
@@ -222,7 +245,7 @@ ___
222
245
 
223
246
  ### FaasItemType
224
247
 
225
- Ƭ **FaasItemType**: ``"string"`` \| ``"string[]"`` \| ``"number"`` \| ``"number[]"`` \| ``"boolean"``
248
+ Ƭ **FaasItemType**: ``"string"`` \| ``"string[]"`` \| ``"number"`` \| ``"number[]"`` \| ``"boolean"`` \| ``"date"`` \| ``"time"``
226
249
 
227
250
  ___
228
251
 
@@ -235,10 +258,12 @@ ___
235
258
  | Name | Type |
236
259
  | :------ | :------ |
237
260
  | `boolean` | `boolean` |
261
+ | `date` | `Dayjs` |
238
262
  | `number` | `number` |
239
263
  | `number[]` | `number`[] |
240
264
  | `string` | `string` |
241
265
  | `string[]` | `string`[] |
266
+ | `time` | `Dayjs` |
242
267
 
243
268
  ___
244
269
 
@@ -336,6 +361,12 @@ ___
336
361
 
337
362
  ___
338
363
 
364
+ ### TimePickerProps
365
+
366
+ Ƭ **TimePickerProps**: `Omit`<`PickerTimeProps`<`Dayjs`\>, ``"picker"``\>
367
+
368
+ ___
369
+
339
370
  ### TitleProps
340
371
 
341
372
  Ƭ **TitleProps**: `Object`
@@ -344,10 +375,63 @@ ___
344
375
 
345
376
  | Name | Type | Description |
346
377
  | :------ | :------ | :------ |
378
+ | `h1?` | `boolean` \| { `className?`: `string` ; `style?`: `React.CSSProperties` } | - |
347
379
  | `separator?` | `string` | ` - ` as default |
348
380
  | `suffix?` | `string` | - |
349
381
  | `title` | `string` \| `string`[] | - |
350
382
 
383
+ ___
384
+
385
+ ### setDrawerProps
386
+
387
+ Ƭ **setDrawerProps**: (`changes`: `Partial`<[`DrawerProps`](#drawerprops)\>) => `void`
388
+
389
+ #### Type declaration
390
+
391
+ ▸ (`changes`): `void`
392
+
393
+ ##### Parameters
394
+
395
+ | Name | Type |
396
+ | :------ | :------ |
397
+ | `changes` | `Partial`<[`DrawerProps`](#drawerprops)\> |
398
+
399
+ ##### Returns
400
+
401
+ `void`
402
+
403
+ ___
404
+
405
+ ### setModalProps
406
+
407
+ Ƭ **setModalProps**: (`changes`: `Partial`<[`ModalProps`](#modalprops)\>) => `void`
408
+
409
+ #### Type declaration
410
+
411
+ ▸ (`changes`): `void`
412
+
413
+ ##### Parameters
414
+
415
+ | Name | Type |
416
+ | :------ | :------ |
417
+ | `changes` | `Partial`<[`ModalProps`](#modalprops)\> |
418
+
419
+ ##### Returns
420
+
421
+ `void`
422
+
423
+ ## Variables
424
+
425
+ ### DatePicker
426
+
427
+ • **DatePicker**: `PickerComponentClass`<`PickerProps`<`Dayjs`\>, `unknown`\> & {}
428
+
429
+ ___
430
+
431
+ ### TimePicker
432
+
433
+ • **TimePicker**: `ForwardRefExoticComponent`<[`TimePickerProps`](#timepickerprops) & `RefAttributes`<`any`\>\>
434
+
351
435
  ## Functions
352
436
 
353
437
  ### Blank
@@ -372,6 +456,22 @@ If value is undefined or null, return text, otherwise return value.
372
456
 
373
457
  ___
374
458
 
459
+ ### Calendar
460
+
461
+ ▸ `Const` **Calendar**(`props`): `Element`
462
+
463
+ #### Parameters
464
+
465
+ | Name | Type |
466
+ | :------ | :------ |
467
+ | `props` | `CalendarProps`<`Dayjs`\> |
468
+
469
+ #### Returns
470
+
471
+ `Element`
472
+
473
+ ___
474
+
375
475
  ### Config
376
476
 
377
477
  ▸ **Config**(`props`): `JSX.Element`
@@ -520,6 +620,16 @@ ___
520
620
 
521
621
  ▸ **Title**(`props`): `JSX.Element`
522
622
 
623
+ Title is used to change the title of the page.
624
+
625
+ ```ts
626
+ <Title title='hi' /> // => return null, change the document.title to 'hi'
627
+ <Title title={['a', 'b']} /> // => return null, change the document.title to 'a - b'
628
+
629
+ <Title title='hi' h1 /> // => return <h1>hi</h1>, change the document.title to 'hi'
630
+ <Title title={['a', 'b']} h1 /> // => return <h1>a</h1>, change the document.title to 'a - b'
631
+ ```
632
+
523
633
  #### Parameters
524
634
 
525
635
  | Name | Type |
package/dist/index.d.ts CHANGED
@@ -1,9 +1,15 @@
1
- import * as react_use_lib_misc_hookState from 'react-use/lib/misc/hookState';
2
- import { DescriptionsProps, DrawerProps as DrawerProps$1, FormItemProps as FormItemProps$1, InputProps, InputNumberProps, SwitchProps, SelectProps, FormProps as FormProps$1, ModalProps as ModalProps$1, TableColumnProps, TablePaginationConfig, TableProps as TableProps$1 } from 'antd';
1
+ import * as antd_es_calendar_generateCalendar from 'antd/es/calendar/generateCalendar';
2
+ import { Dayjs } from 'dayjs';
3
+ import { CalendarProps as CalendarProps$1, DescriptionsProps, DrawerProps as DrawerProps$1, FormItemProps as FormItemProps$1, InputProps, InputNumberProps, SwitchProps, DatePickerProps as DatePickerProps$1, TimePickerProps as TimePickerProps$1, SelectProps, FormProps as FormProps$1, ModalProps as ModalProps$1, TableColumnProps, TablePaginationConfig, TableProps as TableProps$1 } from 'antd';
3
4
  export { Drawer, Modal } from 'antd';
5
+ import * as react_use_lib_misc_hookState from 'react-use/lib/misc/hookState';
6
+ import * as antd_es_date_picker_generatePicker_interface from 'antd/es/date-picker/generatePicker/interface';
7
+ import * as antd_es_date_picker_generatePicker from 'antd/es/date-picker/generatePicker';
8
+ import { PickerDateProps, PickerTimeProps } from 'antd/es/date-picker/generatePicker';
4
9
  import { FaasDataWrapperProps } from '@faasjs/react';
5
10
  import * as antd_lib_form_Form from 'antd/lib/form/Form';
6
11
  import { RuleObject } from 'rc-field-form/lib/interface';
12
+ import * as react from 'react';
7
13
  import { LazyExoticComponent, ComponentType } from 'react';
8
14
  import { RouteProps } from 'react-router-dom';
9
15
  import { FilterValue, SorterResult, TableCurrentDataSource } from 'antd/lib/table/interface';
@@ -26,6 +32,9 @@ declare type BlankProps = {
26
32
  */
27
33
  declare function Blank(options?: BlankProps): any;
28
34
 
35
+ declare type CalendarProps = CalendarProps$1<Dayjs>;
36
+ declare const Calendar: (props: antd_es_calendar_generateCalendar.CalendarProps<Dayjs>) => JSX.Element;
37
+
29
38
  declare type FaasState = {
30
39
  common: {
31
40
  blank: string;
@@ -65,13 +74,15 @@ declare function Config(props: {
65
74
  config: Partial<FaasState>;
66
75
  }): JSX.Element;
67
76
 
68
- declare type FaasItemType = 'string' | 'string[]' | 'number' | 'number[]' | 'boolean';
77
+ declare type FaasItemType = 'string' | 'string[]' | 'number' | 'number[]' | 'boolean' | 'date' | 'time';
69
78
  declare type FaasItemTypeValue = {
70
79
  string: string;
71
80
  'string[]': string[];
72
81
  number: number;
73
82
  'number[]': number[];
74
83
  boolean: boolean;
84
+ 'date': Dayjs;
85
+ 'time': Dayjs;
75
86
  };
76
87
  declare type BaseOption = string | number | {
77
88
  label: string;
@@ -94,6 +105,16 @@ declare function transferOptions(options: BaseOption[]): {
94
105
  value?: string | number;
95
106
  }[];
96
107
 
108
+ declare type DatePickerProps = PickerDateProps<Dayjs>;
109
+ declare const DatePicker: antd_es_date_picker_generatePicker_interface.PickerComponentClass<antd_es_date_picker_generatePicker.PickerProps<Dayjs>, unknown> & {
110
+ WeekPicker: antd_es_date_picker_generatePicker_interface.PickerComponentClass<Omit<PickerDateProps<Dayjs>, "picker">, unknown>;
111
+ MonthPicker: antd_es_date_picker_generatePicker_interface.PickerComponentClass<Omit<PickerDateProps<Dayjs>, "picker">, unknown>;
112
+ YearPicker: antd_es_date_picker_generatePicker_interface.PickerComponentClass<Omit<PickerDateProps<Dayjs>, "picker">, unknown>;
113
+ RangePicker: antd_es_date_picker_generatePicker_interface.PickerComponentClass<antd_es_date_picker_generatePicker.RangePickerProps<Dayjs>, unknown>;
114
+ TimePicker: antd_es_date_picker_generatePicker_interface.PickerComponentClass<Omit<antd_es_date_picker_generatePicker.PickerTimeProps<Dayjs>, "picker">, unknown>;
115
+ QuarterPicker: antd_es_date_picker_generatePicker_interface.PickerComponentClass<Omit<antd_es_date_picker_generatePicker.PickerTimeProps<Dayjs>, "picker">, unknown>;
116
+ };
117
+
97
118
  declare type ExtendDescriptionTypeProps = {
98
119
  children?: JSX.Element | null;
99
120
  render?: (value: any, values: any) => JSX.Element | string | number | boolean | null;
@@ -116,6 +137,7 @@ declare function Description<T = any>(props: DescriptionProps<T>): JSX.Element;
116
137
  declare type DrawerProps = DrawerProps$1 & {
117
138
  children?: JSX.Element | JSX.Element[];
118
139
  };
140
+ declare type setDrawerProps = (changes: Partial<DrawerProps>) => void;
119
141
  /**
120
142
  * Hook style drawer.
121
143
  * @param init initial props
@@ -161,12 +183,20 @@ declare type BooleanProps = {
161
183
  type: 'boolean';
162
184
  input?: SwitchProps;
163
185
  };
186
+ declare type DateProps = {
187
+ type: 'date';
188
+ input?: DatePickerProps$1;
189
+ };
190
+ declare type TimeProps = {
191
+ type: 'time';
192
+ input?: TimePickerProps$1;
193
+ };
164
194
  declare type OptionsProps = {
165
195
  options?: BaseOption[];
166
196
  type?: 'string' | 'string[]' | 'number' | 'number[]';
167
197
  input?: SelectProps<any>;
168
198
  };
169
- declare type FormItemInputProps<T = any> = StringProps | StringListProps | NumberProps | NumberListProps | BooleanProps | OptionsProps;
199
+ declare type FormItemInputProps<T = any> = StringProps | StringListProps | NumberProps | NumberListProps | BooleanProps | OptionsProps | DateProps | TimeProps;
170
200
  declare type ExtendFormTypeProps = {
171
201
  children?: JSX.Element | null;
172
202
  };
@@ -215,6 +245,7 @@ declare namespace Form {
215
245
  declare type ModalProps = ModalProps$1 & {
216
246
  children?: JSX.Element | JSX.Element[];
217
247
  };
248
+ declare type setModalProps = (changes: Partial<ModalProps>) => void;
218
249
  /**
219
250
  * Hook style modal.
220
251
  * @param init initial props
@@ -266,12 +297,30 @@ declare type TableProps<T = any, ExtendTypes = any> = {
266
297
  } & TableProps$1<T>;
267
298
  declare function Table<T = any, ExtendTypes = any>(props: TableProps<T, ExtendTypes>): JSX.Element;
268
299
 
300
+ declare type TimePickerProps = Omit<PickerTimeProps<Dayjs>, 'picker'>;
301
+ declare const TimePicker: react.ForwardRefExoticComponent<TimePickerProps & react.RefAttributes<any>>;
302
+
269
303
  declare type TitleProps = {
270
304
  title: string | string[];
271
305
  /** ` - ` as default */
272
306
  separator?: string;
273
307
  suffix?: string;
308
+ h1?: boolean | {
309
+ className?: string;
310
+ style?: React.CSSProperties;
311
+ };
274
312
  };
313
+ /**
314
+ * Title is used to change the title of the page.
315
+ *
316
+ * ```ts
317
+ * <Title title='hi' /> // => return null, change the document.title to 'hi'
318
+ * <Title title={['a', 'b']} /> // => return null, change the document.title to 'a - b'
319
+ *
320
+ * <Title title='hi' h1 /> // => return <h1>hi</h1>, change the document.title to 'hi'
321
+ * <Title title={['a', 'b']} h1 /> // => return <h1>a</h1>, change the document.title to 'a - b'
322
+ * ```
323
+ */
275
324
  declare function Title(props: TitleProps): JSX.Element;
276
325
 
277
- export { BaseItemProps, BaseOption, Blank, BlankProps, Config, Description, DescriptionItemProps, DescriptionProps, DrawerProps, ExtendDescriptionItemProps, ExtendDescriptionTypeProps, ExtendFormItemProps, ExtendFormTypeProps, ExtendTableItemProps, ExtendTableTypeProps, FaasItemProps, FaasItemType, FaasItemTypeValue, FaasState, Form, FormItem, FormItemProps, FormProps, ModalProps, Routes, RoutesProps, Table, TableItemProps, TableProps, Title, TitleProps, transferOptions, useDrawer, useFaasState, useModal };
326
+ export { BaseItemProps, BaseOption, Blank, BlankProps, Calendar, CalendarProps, Config, DatePicker, DatePickerProps, Description, DescriptionItemProps, DescriptionProps, DrawerProps, ExtendDescriptionItemProps, ExtendDescriptionTypeProps, ExtendFormItemProps, ExtendFormTypeProps, ExtendTableItemProps, ExtendTableTypeProps, FaasItemProps, FaasItemType, FaasItemTypeValue, FaasState, Form, FormItem, FormItemProps, FormProps, ModalProps, Routes, RoutesProps, Table, TableItemProps, TableProps, TimePicker, TimePickerProps, Title, TitleProps, setDrawerProps, setModalProps, transferOptions, useDrawer, useFaasState, useModal };
package/dist/index.js CHANGED
@@ -47,7 +47,9 @@ var __toCommonJS = /* @__PURE__ */ ((cache) => {
47
47
  var src_exports = {};
48
48
  __export(src_exports, {
49
49
  Blank: () => Blank,
50
+ Calendar: () => Calendar,
50
51
  Config: () => Config,
52
+ DatePicker: () => DatePicker,
51
53
  Description: () => Description,
52
54
  Drawer: () => import_antd3.Drawer,
53
55
  Form: () => Form,
@@ -55,6 +57,7 @@ __export(src_exports, {
55
57
  Modal: () => import_antd6.Modal,
56
58
  Routes: () => Routes,
57
59
  Table: () => Table,
60
+ TimePicker: () => TimePicker,
58
61
  Title: () => Title,
59
62
  transferOptions: () => transferOptions,
60
63
  useDrawer: () => useDrawer,
@@ -109,6 +112,181 @@ function Blank(options) {
109
112
  }, (options == null ? void 0 : options.text) || config.Blank.text) : options.value;
110
113
  }
111
114
 
115
+ // ../../node_modules/rc-picker/es/generate/dayjs.js
116
+ var import_dayjs = __toESM(require("dayjs"));
117
+
118
+ // ../../node_modules/rc-util/es/warning.js
119
+ var warned = {};
120
+ function note(valid, message) {
121
+ if (process.env.NODE_ENV !== "production" && !valid && console !== void 0) {
122
+ console.warn("Note: ".concat(message));
123
+ }
124
+ }
125
+ function call(method, valid, message) {
126
+ if (!valid && !warned[message]) {
127
+ method(false, message);
128
+ warned[message] = true;
129
+ }
130
+ }
131
+ function noteOnce(valid, message) {
132
+ call(note, valid, message);
133
+ }
134
+
135
+ // ../../node_modules/rc-picker/es/generate/dayjs.js
136
+ var import_weekday = __toESM(require("dayjs/plugin/weekday"));
137
+ var import_localeData = __toESM(require("dayjs/plugin/localeData"));
138
+ var import_weekOfYear = __toESM(require("dayjs/plugin/weekOfYear"));
139
+ var import_weekYear = __toESM(require("dayjs/plugin/weekYear"));
140
+ var import_advancedFormat = __toESM(require("dayjs/plugin/advancedFormat"));
141
+ var import_customParseFormat = __toESM(require("dayjs/plugin/customParseFormat"));
142
+ import_dayjs.default.extend(import_customParseFormat.default);
143
+ import_dayjs.default.extend(import_advancedFormat.default);
144
+ import_dayjs.default.extend(import_weekday.default);
145
+ import_dayjs.default.extend(import_localeData.default);
146
+ import_dayjs.default.extend(import_weekOfYear.default);
147
+ import_dayjs.default.extend(import_weekYear.default);
148
+ import_dayjs.default.extend(function(o, c) {
149
+ var proto = c.prototype;
150
+ var oldFormat = proto.format;
151
+ proto.format = function f(formatStr) {
152
+ var str = (formatStr || "").replace("Wo", "wo");
153
+ return oldFormat.bind(this)(str);
154
+ };
155
+ });
156
+ var localeMap = {
157
+ en_GB: "en-gb",
158
+ en_US: "en",
159
+ zh_CN: "zh-cn",
160
+ zh_TW: "zh-tw"
161
+ };
162
+ var parseLocale = function parseLocale2(locale) {
163
+ var mapLocale = localeMap[locale];
164
+ return mapLocale || locale.split("_")[0];
165
+ };
166
+ var parseNoMatchNotice = function parseNoMatchNotice2() {
167
+ noteOnce(false, "Not match any format. Please help to fire a issue about this.");
168
+ };
169
+ var generateConfig = {
170
+ getNow: function getNow() {
171
+ return (0, import_dayjs.default)();
172
+ },
173
+ getFixedDate: function getFixedDate(string) {
174
+ return (0, import_dayjs.default)(string, "YYYY-MM-DD");
175
+ },
176
+ getEndDate: function getEndDate(date) {
177
+ return date.endOf("month");
178
+ },
179
+ getWeekDay: function getWeekDay(date) {
180
+ var clone = date.locale("en");
181
+ return clone.weekday() + clone.localeData().firstDayOfWeek();
182
+ },
183
+ getYear: function getYear(date) {
184
+ return date.year();
185
+ },
186
+ getMonth: function getMonth(date) {
187
+ return date.month();
188
+ },
189
+ getDate: function getDate(date) {
190
+ return date.date();
191
+ },
192
+ getHour: function getHour(date) {
193
+ return date.hour();
194
+ },
195
+ getMinute: function getMinute(date) {
196
+ return date.minute();
197
+ },
198
+ getSecond: function getSecond(date) {
199
+ return date.second();
200
+ },
201
+ addYear: function addYear(date, diff) {
202
+ return date.add(diff, "year");
203
+ },
204
+ addMonth: function addMonth(date, diff) {
205
+ return date.add(diff, "month");
206
+ },
207
+ addDate: function addDate(date, diff) {
208
+ return date.add(diff, "day");
209
+ },
210
+ setYear: function setYear(date, year) {
211
+ return date.year(year);
212
+ },
213
+ setMonth: function setMonth(date, month) {
214
+ return date.month(month);
215
+ },
216
+ setDate: function setDate(date, num) {
217
+ return date.date(num);
218
+ },
219
+ setHour: function setHour(date, hour) {
220
+ return date.hour(hour);
221
+ },
222
+ setMinute: function setMinute(date, minute) {
223
+ return date.minute(minute);
224
+ },
225
+ setSecond: function setSecond(date, second) {
226
+ return date.second(second);
227
+ },
228
+ isAfter: function isAfter(date1, date2) {
229
+ return date1.isAfter(date2);
230
+ },
231
+ isValidate: function isValidate(date) {
232
+ return date.isValid();
233
+ },
234
+ locale: {
235
+ getWeekFirstDay: function getWeekFirstDay(locale) {
236
+ return (0, import_dayjs.default)().locale(parseLocale(locale)).localeData().firstDayOfWeek();
237
+ },
238
+ getWeekFirstDate: function getWeekFirstDate(locale, date) {
239
+ return date.locale(parseLocale(locale)).weekday(0);
240
+ },
241
+ getWeek: function getWeek(locale, date) {
242
+ return date.locale(parseLocale(locale)).week();
243
+ },
244
+ getShortWeekDays: function getShortWeekDays(locale) {
245
+ return (0, import_dayjs.default)().locale(parseLocale(locale)).localeData().weekdaysMin();
246
+ },
247
+ getShortMonths: function getShortMonths(locale) {
248
+ return (0, import_dayjs.default)().locale(parseLocale(locale)).localeData().monthsShort();
249
+ },
250
+ format: function format(locale, date, _format) {
251
+ return date.locale(parseLocale(locale)).format(_format);
252
+ },
253
+ parse: function parse(locale, text, formats) {
254
+ var localeStr = parseLocale(locale);
255
+ for (var i = 0; i < formats.length; i += 1) {
256
+ var format2 = formats[i];
257
+ var formatText = text;
258
+ if (format2.includes("wo") || format2.includes("Wo")) {
259
+ var year = formatText.split("-")[0];
260
+ var weekStr = formatText.split("-")[1];
261
+ var firstWeek = (0, import_dayjs.default)(year, "YYYY").startOf("year").locale(localeStr);
262
+ for (var j = 0; j <= 52; j += 1) {
263
+ var nextWeek = firstWeek.add(j, "week");
264
+ if (nextWeek.format("Wo") === weekStr) {
265
+ return nextWeek;
266
+ }
267
+ }
268
+ parseNoMatchNotice();
269
+ return null;
270
+ }
271
+ var date = (0, import_dayjs.default)(formatText, format2).locale(localeStr);
272
+ if (date.isValid()) {
273
+ return date;
274
+ }
275
+ }
276
+ if (text) {
277
+ parseNoMatchNotice();
278
+ }
279
+ return null;
280
+ }
281
+ }
282
+ };
283
+ var dayjs_default = generateConfig;
284
+
285
+ // src/Calendar.tsx
286
+ var import_generateCalendar = __toESM(require("antd/es/calendar/generateCalendar"));
287
+ var import_style = require("antd/es/calendar/style");
288
+ var Calendar = (0, import_generateCalendar.default)(dayjs_default);
289
+
112
290
  // src/data.ts
113
291
  var import_lodash2 = require("lodash");
114
292
  function transferOptions(options) {
@@ -120,11 +298,17 @@ function transferOptions(options) {
120
298
  });
121
299
  }
122
300
 
301
+ // src/DatePicker.tsx
302
+ var import_generatePicker = __toESM(require("antd/es/date-picker/generatePicker"));
303
+ var import_style2 = require("antd/es/date-picker/style");
304
+ var DatePicker = (0, import_generatePicker.default)(dayjs_default);
305
+
123
306
  // src/Description.tsx
124
307
  var import_icons = require("@ant-design/icons");
125
308
  var import_antd2 = require("antd");
126
309
  var import_lodash3 = require("lodash");
127
310
  var import_react3 = require("react");
311
+ var import_dayjs4 = __toESM(require("dayjs"));
128
312
  var import_react4 = require("@faasjs/react");
129
313
  function DescriptionItemContent(props) {
130
314
  const [computedProps, setComputedProps] = (0, import_react3.useState)();
@@ -144,7 +328,11 @@ function DescriptionItemContent(props) {
144
328
  var _a2;
145
329
  return ((_a2 = propsCopy.item.options.find((option) => option.value === v)) == null ? void 0 : _a2.label) || v;
146
330
  });
147
- else
331
+ else if ([
332
+ "string",
333
+ "number",
334
+ "boolean"
335
+ ].includes(propsCopy.item.type))
148
336
  propsCopy.value = ((_b = props.item.options.find((option) => option.value === props.value)) == null ? void 0 : _b.label) || props.value;
149
337
  }
150
338
  setComputedProps(propsCopy);
@@ -186,6 +374,10 @@ function DescriptionItemContent(props) {
186
374
  color: "#ff4d4f"
187
375
  }
188
376
  });
377
+ case "time":
378
+ return typeof computedProps.value === "number" && computedProps.value.toString().length === 10 ? import_dayjs4.default.unix(computedProps.value).format("YYYY-MM-DD HH:mm:ss") : (0, import_dayjs4.default)(computedProps.value).format("YYYY-MM-DD HH:mm:ss");
379
+ case "date":
380
+ return typeof computedProps.value === "number" && computedProps.value.toString().length === 10 ? import_dayjs4.default.unix(computedProps.value).format("YYYY-MM-DD") : (0, import_dayjs4.default)(computedProps.value).format("YYYY-MM-DD");
189
381
  default:
190
382
  return computedProps.value;
191
383
  }
@@ -238,16 +430,29 @@ function useDrawer(init) {
238
430
 
239
431
  // src/Form.tsx
240
432
  var import_antd5 = require("antd");
241
- var import_react7 = require("react");
433
+ var import_react8 = require("react");
242
434
 
243
435
  // src/FormItem.tsx
244
436
  var import_antd4 = require("antd");
245
437
  var import_icons2 = require("@ant-design/icons");
246
- var import_react6 = require("react");
438
+ var import_react7 = require("react");
247
439
  var import_lodash4 = require("lodash");
440
+
441
+ // src/TimePicker.tsx
442
+ var import_react6 = require("react");
443
+ var TimePicker = (0, import_react6.forwardRef)((props, ref) => {
444
+ return /* @__PURE__ */ import_react.default.createElement(DatePicker, __spreadProps(__spreadValues({}, props), {
445
+ picker: "time",
446
+ mode: void 0,
447
+ ref
448
+ }));
449
+ });
450
+ TimePicker.displayName = "TimePicker";
451
+
452
+ // src/FormItem.tsx
248
453
  function FormItem(props) {
249
- const [computedProps, setComputedProps] = (0, import_react6.useState)();
250
- (0, import_react6.useEffect)(() => {
454
+ const [computedProps, setComputedProps] = (0, import_react7.useState)();
455
+ (0, import_react7.useEffect)(() => {
251
456
  const propsCopy = __spreadValues({}, props);
252
457
  if (!propsCopy.title)
253
458
  propsCopy.title = (0, import_lodash4.upperFirst)(propsCopy.id);
@@ -390,6 +595,10 @@ function FormItem(props) {
390
595
  });
391
596
  case "boolean":
392
597
  return /* @__PURE__ */ import_react.default.createElement(import_antd4.Form.Item, __spreadValues({}, computedProps), /* @__PURE__ */ import_react.default.createElement(import_antd4.Switch, __spreadValues({}, computedProps.input)));
598
+ case "date":
599
+ return /* @__PURE__ */ import_react.default.createElement(import_antd4.Form.Item, __spreadValues({}, computedProps), /* @__PURE__ */ import_react.default.createElement(DatePicker, __spreadValues({}, computedProps.input)));
600
+ case "time":
601
+ return /* @__PURE__ */ import_react.default.createElement(import_antd4.Form.Item, __spreadValues({}, computedProps), /* @__PURE__ */ import_react.default.createElement(TimePicker, __spreadValues({}, computedProps.input)));
393
602
  default:
394
603
  return null;
395
604
  }
@@ -398,10 +607,10 @@ function FormItem(props) {
398
607
  // src/Form.tsx
399
608
  function Form(props) {
400
609
  var _a, _b;
401
- const [loading, setLoading] = (0, import_react7.useState)(false);
402
- const [computedProps, setComputedProps] = (0, import_react7.useState)();
610
+ const [loading, setLoading] = (0, import_react8.useState)(false);
611
+ const [computedProps, setComputedProps] = (0, import_react8.useState)();
403
612
  const [config] = useFaasState();
404
- (0, import_react7.useEffect)(() => {
613
+ (0, import_react8.useEffect)(() => {
405
614
  const propsCopy = __spreadValues({}, props);
406
615
  if (propsCopy.onFinish) {
407
616
  propsCopy.onFinish = async (values) => {
@@ -433,9 +642,9 @@ Form.Item = FormItem;
433
642
 
434
643
  // src/Modal.tsx
435
644
  var import_antd6 = require("antd");
436
- var import_react8 = require("react");
645
+ var import_react9 = require("react");
437
646
  function useModal(init) {
438
- const [props, setProps] = (0, import_react8.useState)(__spreadValues({
647
+ const [props, setProps] = (0, import_react9.useState)(__spreadValues({
439
648
  visible: false,
440
649
  onCancel: () => setProps((prev) => __spreadProps(__spreadValues({}, prev), {
441
650
  visible: false
@@ -452,7 +661,7 @@ function useModal(init) {
452
661
 
453
662
  // src/Routers.tsx
454
663
  var import_antd7 = require("antd");
455
- var import_react9 = require("react");
664
+ var import_react10 = require("react");
456
665
  var import_react_router_dom = require("react-router-dom");
457
666
  function NotFound() {
458
667
  const [config] = useFaasState();
@@ -465,7 +674,7 @@ function Routes(props) {
465
674
  return /* @__PURE__ */ import_react.default.createElement(import_react_router_dom.Routes, null, props.routes.map((r) => /* @__PURE__ */ import_react.default.createElement(import_react_router_dom.Route, __spreadProps(__spreadValues({
466
675
  key: r.path
467
676
  }, r), {
468
- element: r.element || /* @__PURE__ */ import_react.default.createElement(import_react9.Suspense, {
677
+ element: r.element || /* @__PURE__ */ import_react.default.createElement(import_react10.Suspense, {
469
678
  fallback: props.fallback || /* @__PURE__ */ import_react.default.createElement("div", {
470
679
  style: { padding: "24px" }
471
680
  }, /* @__PURE__ */ import_react.default.createElement(import_antd7.Skeleton, {
@@ -480,28 +689,45 @@ function Routes(props) {
480
689
  }
481
690
 
482
691
  // src/Table.tsx
483
- var import_react10 = require("react");
692
+ var import_react11 = require("react");
484
693
  var import_antd8 = require("antd");
694
+ var import_dayjs5 = __toESM(require("dayjs"));
485
695
  var import_icons3 = require("@ant-design/icons");
486
696
  var import_lodash5 = require("lodash");
487
- var import_react11 = require("@faasjs/react");
697
+ var import_react12 = require("@faasjs/react");
488
698
  function processValue(item, value) {
489
699
  var _a;
490
- if (item.options && typeof value !== "undefined" && value !== null) {
491
- if (item.type.endsWith("[]"))
492
- return value.map((v) => {
493
- var _a2;
494
- return ((_a2 = item.options.find((option) => option.value === v)) == null ? void 0 : _a2.label) || v;
495
- });
496
- else
497
- return ((_a = item.options.find((option) => option.value === value)) == null ? void 0 : _a.label) || value;
700
+ if (typeof value !== "undefined" && value !== null) {
701
+ if (item.options) {
702
+ if (item.type.endsWith("[]"))
703
+ return value.map((v) => {
704
+ var _a2;
705
+ return ((_a2 = item.options.find((option) => option.value === v)) == null ? void 0 : _a2.label) || v;
706
+ });
707
+ else if ([
708
+ "string",
709
+ "number",
710
+ "boolean"
711
+ ].includes(item.type))
712
+ return ((_a = item.options.find((option) => option.value === value)) == null ? void 0 : _a.label) || value;
713
+ }
714
+ let dayjsFormat = "";
715
+ if (item.type === "date")
716
+ dayjsFormat = "YYYY-MM-DD";
717
+ else if (item.type === "time")
718
+ dayjsFormat = "YYYY-MM-DD HH:mm:ss";
719
+ if (["date", "time"].includes(item.type)) {
720
+ if (typeof value === "number" && value.toString().length === 10)
721
+ value = value * 1e3;
722
+ value = (0, import_dayjs5.default)(value).format(dayjsFormat);
723
+ }
498
724
  }
499
725
  return value;
500
726
  }
501
727
  function Table(props) {
502
- const [columns, setColumns] = (0, import_react10.useState)();
728
+ const [columns, setColumns] = (0, import_react11.useState)();
503
729
  const [config] = useFaasState();
504
- (0, import_react10.useEffect)(() => {
730
+ (0, import_react11.useEffect)(() => {
505
731
  var _a;
506
732
  for (const item of props.items) {
507
733
  if (!item.key)
@@ -525,7 +751,7 @@ function Table(props) {
525
751
  delete item.children;
526
752
  if (props.extendTypes && props.extendTypes[item.type]) {
527
753
  if (props.extendTypes[item.type].children) {
528
- item.render = (value, values) => (0, import_react10.cloneElement)(props.extendTypes[item.type].children, {
754
+ item.render = (value, values) => (0, import_react11.cloneElement)(props.extendTypes[item.type].children, {
529
755
  value,
530
756
  values
531
757
  });
@@ -609,6 +835,16 @@ function Table(props) {
609
835
  }
610
836
  };
611
837
  break;
838
+ case "date":
839
+ item.render = (value) => processValue(item, value);
840
+ if (!item.onFilter)
841
+ item.onFilter = (value, row) => (0, import_dayjs5.default)(row[item.id]).isSame((0, import_dayjs5.default)(value));
842
+ break;
843
+ case "time":
844
+ item.render = (value) => processValue(item, value);
845
+ if (!item.onFilter)
846
+ item.onFilter = (value, row) => (0, import_dayjs5.default)(row[item.id]).isSame((0, import_dayjs5.default)(value));
847
+ break;
612
848
  default:
613
849
  item.render = (value) => processValue(item, value);
614
850
  if (!item.onFilter)
@@ -626,7 +862,7 @@ function Table(props) {
626
862
  columns,
627
863
  dataSource: props.dataSource
628
864
  }));
629
- return /* @__PURE__ */ import_react.default.createElement(import_react11.FaasDataWrapper, __spreadValues({
865
+ return /* @__PURE__ */ import_react.default.createElement(import_react12.FaasDataWrapper, __spreadValues({
630
866
  fallback: props.faasData.fallback || /* @__PURE__ */ import_react.default.createElement(import_antd8.Skeleton, {
631
867
  active: true
632
868
  }),
@@ -674,20 +910,30 @@ function Table(props) {
674
910
  }
675
911
 
676
912
  // src/Title.tsx
677
- var import_react12 = require("react");
913
+ var import_react13 = require("react");
678
914
  function Title(props) {
679
915
  const [config] = useFaasState();
680
- (0, import_react12.useEffect)(() => {
916
+ (0, import_react13.useEffect)(() => {
681
917
  const title = Array.isArray(props.title) ? props.title : [props.title];
682
918
  document.title = title.concat(props.suffix || config.Title.suffix).filter((t) => !!t).join(props.separator || config.Title.separator);
683
919
  }, []);
920
+ if (props.h1) {
921
+ if (typeof props.h1 === "boolean")
922
+ return /* @__PURE__ */ import_react.default.createElement("h1", null, Array.isArray(props.title) ? props.title[0] : props.title);
923
+ return /* @__PURE__ */ import_react.default.createElement("h1", {
924
+ className: props.h1.className,
925
+ style: props.h1.style
926
+ }, Array.isArray(props.title) ? props.title[0] : props.title);
927
+ }
684
928
  return null;
685
929
  }
686
930
  module.exports = __toCommonJS(src_exports);
687
931
  // Annotate the CommonJS export names for ESM import in node:
688
932
  0 && (module.exports = {
689
933
  Blank,
934
+ Calendar,
690
935
  Config,
936
+ DatePicker,
691
937
  Description,
692
938
  Drawer,
693
939
  Form,
@@ -695,6 +941,7 @@ module.exports = __toCommonJS(src_exports);
695
941
  Modal,
696
942
  Routes,
697
943
  Table,
944
+ TimePicker,
698
945
  Title,
699
946
  transferOptions,
700
947
  useDrawer,
package/dist/index.mjs CHANGED
@@ -65,6 +65,181 @@ function Blank(options) {
65
65
  }, (options == null ? void 0 : options.text) || config.Blank.text) : options.value;
66
66
  }
67
67
 
68
+ // ../../node_modules/rc-picker/es/generate/dayjs.js
69
+ import dayjs from "dayjs";
70
+
71
+ // ../../node_modules/rc-util/es/warning.js
72
+ var warned = {};
73
+ function note(valid, message) {
74
+ if (process.env.NODE_ENV !== "production" && !valid && console !== void 0) {
75
+ console.warn("Note: ".concat(message));
76
+ }
77
+ }
78
+ function call(method, valid, message) {
79
+ if (!valid && !warned[message]) {
80
+ method(false, message);
81
+ warned[message] = true;
82
+ }
83
+ }
84
+ function noteOnce(valid, message) {
85
+ call(note, valid, message);
86
+ }
87
+
88
+ // ../../node_modules/rc-picker/es/generate/dayjs.js
89
+ import weekday from "dayjs/plugin/weekday";
90
+ import localeData from "dayjs/plugin/localeData";
91
+ import weekOfYear from "dayjs/plugin/weekOfYear";
92
+ import weekYear from "dayjs/plugin/weekYear";
93
+ import advancedFormat from "dayjs/plugin/advancedFormat";
94
+ import customParseFormat from "dayjs/plugin/customParseFormat";
95
+ dayjs.extend(customParseFormat);
96
+ dayjs.extend(advancedFormat);
97
+ dayjs.extend(weekday);
98
+ dayjs.extend(localeData);
99
+ dayjs.extend(weekOfYear);
100
+ dayjs.extend(weekYear);
101
+ dayjs.extend(function(o, c) {
102
+ var proto = c.prototype;
103
+ var oldFormat = proto.format;
104
+ proto.format = function f(formatStr) {
105
+ var str = (formatStr || "").replace("Wo", "wo");
106
+ return oldFormat.bind(this)(str);
107
+ };
108
+ });
109
+ var localeMap = {
110
+ en_GB: "en-gb",
111
+ en_US: "en",
112
+ zh_CN: "zh-cn",
113
+ zh_TW: "zh-tw"
114
+ };
115
+ var parseLocale = function parseLocale2(locale) {
116
+ var mapLocale = localeMap[locale];
117
+ return mapLocale || locale.split("_")[0];
118
+ };
119
+ var parseNoMatchNotice = function parseNoMatchNotice2() {
120
+ noteOnce(false, "Not match any format. Please help to fire a issue about this.");
121
+ };
122
+ var generateConfig = {
123
+ getNow: function getNow() {
124
+ return dayjs();
125
+ },
126
+ getFixedDate: function getFixedDate(string) {
127
+ return dayjs(string, "YYYY-MM-DD");
128
+ },
129
+ getEndDate: function getEndDate(date) {
130
+ return date.endOf("month");
131
+ },
132
+ getWeekDay: function getWeekDay(date) {
133
+ var clone = date.locale("en");
134
+ return clone.weekday() + clone.localeData().firstDayOfWeek();
135
+ },
136
+ getYear: function getYear(date) {
137
+ return date.year();
138
+ },
139
+ getMonth: function getMonth(date) {
140
+ return date.month();
141
+ },
142
+ getDate: function getDate(date) {
143
+ return date.date();
144
+ },
145
+ getHour: function getHour(date) {
146
+ return date.hour();
147
+ },
148
+ getMinute: function getMinute(date) {
149
+ return date.minute();
150
+ },
151
+ getSecond: function getSecond(date) {
152
+ return date.second();
153
+ },
154
+ addYear: function addYear(date, diff) {
155
+ return date.add(diff, "year");
156
+ },
157
+ addMonth: function addMonth(date, diff) {
158
+ return date.add(diff, "month");
159
+ },
160
+ addDate: function addDate(date, diff) {
161
+ return date.add(diff, "day");
162
+ },
163
+ setYear: function setYear(date, year) {
164
+ return date.year(year);
165
+ },
166
+ setMonth: function setMonth(date, month) {
167
+ return date.month(month);
168
+ },
169
+ setDate: function setDate(date, num) {
170
+ return date.date(num);
171
+ },
172
+ setHour: function setHour(date, hour) {
173
+ return date.hour(hour);
174
+ },
175
+ setMinute: function setMinute(date, minute) {
176
+ return date.minute(minute);
177
+ },
178
+ setSecond: function setSecond(date, second) {
179
+ return date.second(second);
180
+ },
181
+ isAfter: function isAfter(date1, date2) {
182
+ return date1.isAfter(date2);
183
+ },
184
+ isValidate: function isValidate(date) {
185
+ return date.isValid();
186
+ },
187
+ locale: {
188
+ getWeekFirstDay: function getWeekFirstDay(locale) {
189
+ return dayjs().locale(parseLocale(locale)).localeData().firstDayOfWeek();
190
+ },
191
+ getWeekFirstDate: function getWeekFirstDate(locale, date) {
192
+ return date.locale(parseLocale(locale)).weekday(0);
193
+ },
194
+ getWeek: function getWeek(locale, date) {
195
+ return date.locale(parseLocale(locale)).week();
196
+ },
197
+ getShortWeekDays: function getShortWeekDays(locale) {
198
+ return dayjs().locale(parseLocale(locale)).localeData().weekdaysMin();
199
+ },
200
+ getShortMonths: function getShortMonths(locale) {
201
+ return dayjs().locale(parseLocale(locale)).localeData().monthsShort();
202
+ },
203
+ format: function format(locale, date, _format) {
204
+ return date.locale(parseLocale(locale)).format(_format);
205
+ },
206
+ parse: function parse(locale, text, formats) {
207
+ var localeStr = parseLocale(locale);
208
+ for (var i = 0; i < formats.length; i += 1) {
209
+ var format2 = formats[i];
210
+ var formatText = text;
211
+ if (format2.includes("wo") || format2.includes("Wo")) {
212
+ var year = formatText.split("-")[0];
213
+ var weekStr = formatText.split("-")[1];
214
+ var firstWeek = dayjs(year, "YYYY").startOf("year").locale(localeStr);
215
+ for (var j = 0; j <= 52; j += 1) {
216
+ var nextWeek = firstWeek.add(j, "week");
217
+ if (nextWeek.format("Wo") === weekStr) {
218
+ return nextWeek;
219
+ }
220
+ }
221
+ parseNoMatchNotice();
222
+ return null;
223
+ }
224
+ var date = dayjs(formatText, format2).locale(localeStr);
225
+ if (date.isValid()) {
226
+ return date;
227
+ }
228
+ }
229
+ if (text) {
230
+ parseNoMatchNotice();
231
+ }
232
+ return null;
233
+ }
234
+ }
235
+ };
236
+ var dayjs_default = generateConfig;
237
+
238
+ // src/Calendar.tsx
239
+ import generateCalendar from "antd/es/calendar/generateCalendar";
240
+ import "antd/es/calendar/style";
241
+ var Calendar = generateCalendar(dayjs_default);
242
+
68
243
  // src/data.ts
69
244
  import { upperFirst } from "lodash";
70
245
  function transferOptions(options) {
@@ -76,6 +251,11 @@ function transferOptions(options) {
76
251
  });
77
252
  }
78
253
 
254
+ // src/DatePicker.tsx
255
+ import generatePicker from "antd/es/date-picker/generatePicker";
256
+ import "antd/es/date-picker/style";
257
+ var DatePicker = generatePicker(dayjs_default);
258
+
79
259
  // src/Description.tsx
80
260
  import { CheckOutlined, CloseOutlined } from "@ant-design/icons";
81
261
  import {
@@ -88,6 +268,7 @@ import {
88
268
  useEffect as useEffect2,
89
269
  useState
90
270
  } from "react";
271
+ import dayjs2 from "dayjs";
91
272
  import { FaasDataWrapper } from "@faasjs/react";
92
273
  function DescriptionItemContent(props) {
93
274
  const [computedProps, setComputedProps] = useState();
@@ -107,7 +288,11 @@ function DescriptionItemContent(props) {
107
288
  var _a2;
108
289
  return ((_a2 = propsCopy.item.options.find((option) => option.value === v)) == null ? void 0 : _a2.label) || v;
109
290
  });
110
- else
291
+ else if ([
292
+ "string",
293
+ "number",
294
+ "boolean"
295
+ ].includes(propsCopy.item.type))
111
296
  propsCopy.value = ((_b = props.item.options.find((option) => option.value === props.value)) == null ? void 0 : _b.label) || props.value;
112
297
  }
113
298
  setComputedProps(propsCopy);
@@ -149,6 +334,10 @@ function DescriptionItemContent(props) {
149
334
  color: "#ff4d4f"
150
335
  }
151
336
  });
337
+ case "time":
338
+ return typeof computedProps.value === "number" && computedProps.value.toString().length === 10 ? dayjs2.unix(computedProps.value).format("YYYY-MM-DD HH:mm:ss") : dayjs2(computedProps.value).format("YYYY-MM-DD HH:mm:ss");
339
+ case "date":
340
+ return typeof computedProps.value === "number" && computedProps.value.toString().length === 10 ? dayjs2.unix(computedProps.value).format("YYYY-MM-DD") : dayjs2(computedProps.value).format("YYYY-MM-DD");
152
341
  default:
153
342
  return computedProps.value;
154
343
  }
@@ -220,6 +409,19 @@ import {
220
409
  import { MinusCircleOutlined, PlusOutlined } from "@ant-design/icons";
221
410
  import { useEffect as useEffect3, useState as useState3 } from "react";
222
411
  import { upperFirst as upperFirst3 } from "lodash";
412
+
413
+ // src/TimePicker.tsx
414
+ import { forwardRef } from "react";
415
+ var TimePicker = forwardRef((props, ref) => {
416
+ return /* @__PURE__ */ React.createElement(DatePicker, __spreadProps(__spreadValues({}, props), {
417
+ picker: "time",
418
+ mode: void 0,
419
+ ref
420
+ }));
421
+ });
422
+ TimePicker.displayName = "TimePicker";
423
+
424
+ // src/FormItem.tsx
223
425
  function FormItem(props) {
224
426
  const [computedProps, setComputedProps] = useState3();
225
427
  useEffect3(() => {
@@ -365,6 +567,10 @@ function FormItem(props) {
365
567
  });
366
568
  case "boolean":
367
569
  return /* @__PURE__ */ React.createElement(AntdForm.Item, __spreadValues({}, computedProps), /* @__PURE__ */ React.createElement(Switch, __spreadValues({}, computedProps.input)));
570
+ case "date":
571
+ return /* @__PURE__ */ React.createElement(AntdForm.Item, __spreadValues({}, computedProps), /* @__PURE__ */ React.createElement(DatePicker, __spreadValues({}, computedProps.input)));
572
+ case "time":
573
+ return /* @__PURE__ */ React.createElement(AntdForm.Item, __spreadValues({}, computedProps), /* @__PURE__ */ React.createElement(TimePicker, __spreadValues({}, computedProps.input)));
368
574
  default:
369
575
  return null;
370
576
  }
@@ -470,19 +676,36 @@ import {
470
676
  Radio,
471
677
  Skeleton as Skeleton3
472
678
  } from "antd";
679
+ import dayjs3 from "dayjs";
473
680
  import { CheckOutlined as CheckOutlined2, CloseOutlined as CloseOutlined2 } from "@ant-design/icons";
474
681
  import { isNil as isNil2, upperFirst as upperFirst4 } from "lodash";
475
682
  import { FaasDataWrapper as FaasDataWrapper2 } from "@faasjs/react";
476
683
  function processValue(item, value) {
477
684
  var _a;
478
- if (item.options && typeof value !== "undefined" && value !== null) {
479
- if (item.type.endsWith("[]"))
480
- return value.map((v) => {
481
- var _a2;
482
- return ((_a2 = item.options.find((option) => option.value === v)) == null ? void 0 : _a2.label) || v;
483
- });
484
- else
485
- return ((_a = item.options.find((option) => option.value === value)) == null ? void 0 : _a.label) || value;
685
+ if (typeof value !== "undefined" && value !== null) {
686
+ if (item.options) {
687
+ if (item.type.endsWith("[]"))
688
+ return value.map((v) => {
689
+ var _a2;
690
+ return ((_a2 = item.options.find((option) => option.value === v)) == null ? void 0 : _a2.label) || v;
691
+ });
692
+ else if ([
693
+ "string",
694
+ "number",
695
+ "boolean"
696
+ ].includes(item.type))
697
+ return ((_a = item.options.find((option) => option.value === value)) == null ? void 0 : _a.label) || value;
698
+ }
699
+ let dayjsFormat = "";
700
+ if (item.type === "date")
701
+ dayjsFormat = "YYYY-MM-DD";
702
+ else if (item.type === "time")
703
+ dayjsFormat = "YYYY-MM-DD HH:mm:ss";
704
+ if (["date", "time"].includes(item.type)) {
705
+ if (typeof value === "number" && value.toString().length === 10)
706
+ value = value * 1e3;
707
+ value = dayjs3(value).format(dayjsFormat);
708
+ }
486
709
  }
487
710
  return value;
488
711
  }
@@ -597,6 +820,16 @@ function Table(props) {
597
820
  }
598
821
  };
599
822
  break;
823
+ case "date":
824
+ item.render = (value) => processValue(item, value);
825
+ if (!item.onFilter)
826
+ item.onFilter = (value, row) => dayjs3(row[item.id]).isSame(dayjs3(value));
827
+ break;
828
+ case "time":
829
+ item.render = (value) => processValue(item, value);
830
+ if (!item.onFilter)
831
+ item.onFilter = (value, row) => dayjs3(row[item.id]).isSame(dayjs3(value));
832
+ break;
600
833
  default:
601
834
  item.render = (value) => processValue(item, value);
602
835
  if (!item.onFilter)
@@ -669,11 +902,21 @@ function Title(props) {
669
902
  const title = Array.isArray(props.title) ? props.title : [props.title];
670
903
  document.title = title.concat(props.suffix || config.Title.suffix).filter((t) => !!t).join(props.separator || config.Title.separator);
671
904
  }, []);
905
+ if (props.h1) {
906
+ if (typeof props.h1 === "boolean")
907
+ return /* @__PURE__ */ React.createElement("h1", null, Array.isArray(props.title) ? props.title[0] : props.title);
908
+ return /* @__PURE__ */ React.createElement("h1", {
909
+ className: props.h1.className,
910
+ style: props.h1.style
911
+ }, Array.isArray(props.title) ? props.title[0] : props.title);
912
+ }
672
913
  return null;
673
914
  }
674
915
  export {
675
916
  Blank,
917
+ Calendar,
676
918
  Config,
919
+ DatePicker,
677
920
  Description,
678
921
  Drawer,
679
922
  Form,
@@ -681,6 +924,7 @@ export {
681
924
  Modal,
682
925
  Routes,
683
926
  Table,
927
+ TimePicker,
684
928
  Title,
685
929
  transferOptions,
686
930
  useDrawer,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faasjs/ant-design",
3
- "version": "0.0.2-beta.370",
3
+ "version": "0.0.2-beta.371",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -28,9 +28,10 @@
28
28
  "lodash": "*",
29
29
  "react": "*",
30
30
  "react-dom": "*",
31
- "@faasjs/react": "^0.0.2-beta.370",
31
+ "@faasjs/react": "^0.0.2-beta.371",
32
32
  "react-use": "*",
33
- "react-router-dom": "*"
33
+ "react-router-dom": "*",
34
+ "dayjs": "*"
34
35
  },
35
36
  "devDependencies": {
36
37
  "@types/lodash": "*",