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

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
@@ -65,6 +65,7 @@ Form are based on [Ant Design's Form.Item component](https://ant.design/componen
65
65
  - [FaasState](#faasstate)
66
66
  - [FormItemProps](#formitemprops)
67
67
  - [FormProps](#formprops)
68
+ - [ModalProps](#modalprops)
68
69
  - [RoutesProps](#routesprops)
69
70
  - [TableItemProps](#tableitemprops)
70
71
  - [TableProps](#tableprops)
@@ -83,6 +84,7 @@ Form are based on [Ant Design's Form.Item component](https://ant.design/componen
83
84
  - [transferOptions](#transferoptions)
84
85
  - [useDrawer](#usedrawer)
85
86
  - [useFaasState](#usefaasstate)
87
+ - [useModal](#usemodal)
86
88
 
87
89
  ## Type aliases
88
90
 
@@ -289,6 +291,12 @@ ___
289
291
 
290
292
  ___
291
293
 
294
+ ### ModalProps
295
+
296
+ Ƭ **ModalProps**: `AntdModalProps` & { `children?`: `JSX.Element` \| `JSX.Element`[] }
297
+
298
+ ___
299
+
292
300
  ### RoutesProps
293
301
 
294
302
  Ƭ **RoutesProps**: `Object`
@@ -440,7 +448,7 @@ ___
440
448
  ▸ **FormItem**<`T`\>(`props`): `Element`
441
449
 
442
450
  FormItem, can be used without Form.
443
- Example:
451
+
444
452
  ```ts
445
453
  // use inline type
446
454
  <FormItem item={{ type: 'string', id: 'name' }} />
@@ -544,11 +552,13 @@ ___
544
552
 
545
553
  ▸ **useDrawer**(`init?`): `Object`
546
554
 
555
+ Hook style drawer.
556
+
547
557
  #### Parameters
548
558
 
549
- | Name | Type |
550
- | :------ | :------ |
551
- | `init?` | [`DrawerProps`](#drawerprops) |
559
+ | Name | Type | Description |
560
+ | :------ | :------ | :------ |
561
+ | `init?` | [`DrawerProps`](#drawerprops) | initial props ```ts function Example() { const { drawer, setDrawerProps } = useDrawer() return <> <Button onClick={ () => setDrawerProps(prev => ({ visible: !prev.visible})) }> Toggle </Button> {drawer} </> } ``` |
552
562
 
553
563
  #### Returns
554
564
 
@@ -569,3 +579,27 @@ ___
569
579
  #### Returns
570
580
 
571
581
  [[`FaasState`](#faasstate), (`state`: `IHookStateSetAction`<[`FaasState`](#faasstate)\>) => `void`]
582
+
583
+ ___
584
+
585
+ ### useModal
586
+
587
+ ▸ **useModal**(`init?`): `Object`
588
+
589
+ Hook style modal.
590
+
591
+ #### Parameters
592
+
593
+ | Name | Type | Description |
594
+ | :------ | :------ | :------ |
595
+ | `init?` | [`ModalProps`](#modalprops) | initial props ```ts function Example() { const { modal, setModalProps } = useModal() return <>{modal}</> } ``` |
596
+
597
+ #### Returns
598
+
599
+ `Object`
600
+
601
+ | Name | Type |
602
+ | :------ | :------ |
603
+ | `modal` | `Element` |
604
+ | `modalProps` | [`ModalProps`](#modalprops) |
605
+ | `setModalProps` | (`changes`: `Partial`<[`ModalProps`](#modalprops)\>) => `void` |
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
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, TableColumnProps, TablePaginationConfig, TableProps as TableProps$1 } from 'antd';
3
- export { Drawer } from 'antd';
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';
3
+ export { Drawer, Modal } from 'antd';
4
4
  import { FaasDataWrapperProps } from '@faasjs/react';
5
5
  import * as antd_lib_form_Form from 'antd/lib/form/Form';
6
6
  import { RuleObject } from 'rc-field-form/lib/interface';
@@ -116,6 +116,23 @@ declare function Description<T = any>(props: DescriptionProps<T>): JSX.Element;
116
116
  declare type DrawerProps = DrawerProps$1 & {
117
117
  children?: JSX.Element | JSX.Element[];
118
118
  };
119
+ /**
120
+ * Hook style drawer.
121
+ * @param init initial props
122
+ *
123
+ * ```ts
124
+ * function Example() {
125
+ * const { drawer, setDrawerProps } = useDrawer()
126
+ *
127
+ * return <>
128
+ * <Button onClick={ () => setDrawerProps(prev => ({ visible: !prev.visible})) }>
129
+ * Toggle
130
+ * </Button>
131
+ * {drawer}
132
+ * </>
133
+ * }
134
+ * ```
135
+ */
119
136
  declare function useDrawer(init?: DrawerProps): {
120
137
  drawer: JSX.Element;
121
138
  drawerProps: DrawerProps;
@@ -165,7 +182,7 @@ declare type FormItemProps<T = any> = {
165
182
  } & FormItemInputProps<T> & FaasItemProps & FormItemProps$1<T>;
166
183
  /**
167
184
  * FormItem, can be used without Form.
168
- * Example:
185
+ *
169
186
  * ```ts
170
187
  * // use inline type
171
188
  * <FormItem item={{ type: 'string', id: 'name' }} />
@@ -195,6 +212,27 @@ declare namespace Form {
195
212
  var Item: typeof FormItem;
196
213
  }
197
214
 
215
+ declare type ModalProps = ModalProps$1 & {
216
+ children?: JSX.Element | JSX.Element[];
217
+ };
218
+ /**
219
+ * Hook style modal.
220
+ * @param init initial props
221
+ *
222
+ * ```ts
223
+ * function Example() {
224
+ * const { modal, setModalProps } = useModal()
225
+ *
226
+ * return <>{modal}</>
227
+ * }
228
+ * ```
229
+ */
230
+ declare function useModal(init?: ModalProps): {
231
+ modal: JSX.Element;
232
+ modalProps: ModalProps;
233
+ setModalProps(changes: Partial<ModalProps>): void;
234
+ };
235
+
198
236
  declare type RoutesProps = {
199
237
  routes: (RouteProps & {
200
238
  page?: LazyExoticComponent<ComponentType<any>>;
@@ -236,4 +274,4 @@ declare type TitleProps = {
236
274
  };
237
275
  declare function Title(props: TitleProps): JSX.Element;
238
276
 
239
- export { BaseItemProps, BaseOption, Blank, BlankProps, Config, Description, DescriptionItemProps, DescriptionProps, DrawerProps, ExtendDescriptionItemProps, ExtendDescriptionTypeProps, ExtendFormItemProps, ExtendFormTypeProps, ExtendTableItemProps, ExtendTableTypeProps, FaasItemProps, FaasItemType, FaasItemTypeValue, FaasState, Form, FormItem, FormItemProps, FormProps, Routes, RoutesProps, Table, TableItemProps, TableProps, Title, TitleProps, transferOptions, useDrawer, useFaasState };
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 };
package/dist/index.js CHANGED
@@ -52,12 +52,14 @@ __export(src_exports, {
52
52
  Drawer: () => import_antd3.Drawer,
53
53
  Form: () => Form,
54
54
  FormItem: () => FormItem,
55
+ Modal: () => import_antd6.Modal,
55
56
  Routes: () => Routes,
56
57
  Table: () => Table,
57
58
  Title: () => Title,
58
59
  transferOptions: () => transferOptions,
59
60
  useDrawer: () => useDrawer,
60
- useFaasState: () => useFaasState
61
+ useFaasState: () => useFaasState,
62
+ useModal: () => useModal
61
63
  });
62
64
 
63
65
  // react-shim.js
@@ -429,13 +431,32 @@ function Form(props) {
429
431
  Form.useForm = import_antd5.Form.useForm;
430
432
  Form.Item = FormItem;
431
433
 
432
- // src/Routers.tsx
434
+ // src/Modal.tsx
433
435
  var import_antd6 = require("antd");
434
436
  var import_react8 = require("react");
437
+ function useModal(init) {
438
+ const [props, setProps] = (0, import_react8.useState)(__spreadValues({
439
+ visible: false,
440
+ onCancel: () => setProps((prev) => __spreadProps(__spreadValues({}, prev), {
441
+ visible: false
442
+ }))
443
+ }, init));
444
+ return {
445
+ modal: /* @__PURE__ */ import_react.default.createElement(import_antd6.Modal, __spreadValues({}, props)),
446
+ modalProps: props,
447
+ setModalProps(changes) {
448
+ setProps((prev) => __spreadValues(__spreadValues({}, prev), changes));
449
+ }
450
+ };
451
+ }
452
+
453
+ // src/Routers.tsx
454
+ var import_antd7 = require("antd");
455
+ var import_react9 = require("react");
435
456
  var import_react_router_dom = require("react-router-dom");
436
457
  function NotFound() {
437
458
  const [config] = useFaasState();
438
- return /* @__PURE__ */ import_react.default.createElement(import_antd6.Result, {
459
+ return /* @__PURE__ */ import_react.default.createElement(import_antd7.Result, {
439
460
  status: "404",
440
461
  title: config.common.pageNotFound
441
462
  });
@@ -444,10 +465,10 @@ function Routes(props) {
444
465
  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({
445
466
  key: r.path
446
467
  }, r), {
447
- element: r.element || /* @__PURE__ */ import_react.default.createElement(import_react8.Suspense, {
468
+ element: r.element || /* @__PURE__ */ import_react.default.createElement(import_react9.Suspense, {
448
469
  fallback: props.fallback || /* @__PURE__ */ import_react.default.createElement("div", {
449
470
  style: { padding: "24px" }
450
- }, /* @__PURE__ */ import_react.default.createElement(import_antd6.Skeleton, {
471
+ }, /* @__PURE__ */ import_react.default.createElement(import_antd7.Skeleton, {
451
472
  active: true
452
473
  }))
453
474
  }, /* @__PURE__ */ import_react.default.createElement(r.page, null))
@@ -459,11 +480,11 @@ function Routes(props) {
459
480
  }
460
481
 
461
482
  // src/Table.tsx
462
- var import_react9 = require("react");
463
- var import_antd7 = require("antd");
483
+ var import_react10 = require("react");
484
+ var import_antd8 = require("antd");
464
485
  var import_icons3 = require("@ant-design/icons");
465
486
  var import_lodash5 = require("lodash");
466
- var import_react10 = require("@faasjs/react");
487
+ var import_react11 = require("@faasjs/react");
467
488
  function processValue(item, value) {
468
489
  var _a;
469
490
  if (item.options && typeof value !== "undefined" && value !== null) {
@@ -478,9 +499,9 @@ function processValue(item, value) {
478
499
  return value;
479
500
  }
480
501
  function Table(props) {
481
- const [columns, setColumns] = (0, import_react9.useState)();
502
+ const [columns, setColumns] = (0, import_react10.useState)();
482
503
  const [config] = useFaasState();
483
- (0, import_react9.useEffect)(() => {
504
+ (0, import_react10.useEffect)(() => {
484
505
  var _a;
485
506
  for (const item of props.items) {
486
507
  if (!item.key)
@@ -504,7 +525,7 @@ function Table(props) {
504
525
  delete item.children;
505
526
  if (props.extendTypes && props.extendTypes[item.type]) {
506
527
  if (props.extendTypes[item.type].children) {
507
- item.render = (value, values) => (0, import_react9.cloneElement)(props.extendTypes[item.type].children, {
528
+ item.render = (value, values) => (0, import_react10.cloneElement)(props.extendTypes[item.type].children, {
508
529
  value,
509
530
  values
510
531
  });
@@ -549,7 +570,7 @@ function Table(props) {
549
570
  setSelectedKeys,
550
571
  selectedKeys,
551
572
  confirm
552
- }) => /* @__PURE__ */ import_react.default.createElement(import_antd7.Radio.Group, {
573
+ }) => /* @__PURE__ */ import_react.default.createElement(import_antd8.Radio.Group, {
553
574
  style: { padding: 8 },
554
575
  buttonStyle: "solid",
555
576
  value: selectedKeys[0],
@@ -557,21 +578,21 @@ function Table(props) {
557
578
  setSelectedKeys(e.target.value ? [e.target.value] : []);
558
579
  confirm();
559
580
  }
560
- }, /* @__PURE__ */ import_react.default.createElement(import_antd7.Radio.Button, null, config.common.all), /* @__PURE__ */ import_react.default.createElement(import_antd7.Radio.Button, {
581
+ }, /* @__PURE__ */ import_react.default.createElement(import_antd8.Radio.Button, null, config.common.all), /* @__PURE__ */ import_react.default.createElement(import_antd8.Radio.Button, {
561
582
  value: "true"
562
583
  }, /* @__PURE__ */ import_react.default.createElement(import_icons3.CheckOutlined, {
563
584
  style: {
564
585
  color: "#52c41a",
565
586
  verticalAlign: "middle"
566
587
  }
567
- })), /* @__PURE__ */ import_react.default.createElement(import_antd7.Radio.Button, {
588
+ })), /* @__PURE__ */ import_react.default.createElement(import_antd8.Radio.Button, {
568
589
  value: "false"
569
590
  }, /* @__PURE__ */ import_react.default.createElement(import_icons3.CloseOutlined, {
570
591
  style: {
571
592
  verticalAlign: "middle",
572
593
  color: "#ff4d4f"
573
594
  }
574
- })), /* @__PURE__ */ import_react.default.createElement(import_antd7.Radio.Button, {
595
+ })), /* @__PURE__ */ import_react.default.createElement(import_antd8.Radio.Button, {
575
596
  value: "empty"
576
597
  }, config.common.blank));
577
598
  if (!item.onFilter)
@@ -600,13 +621,13 @@ function Table(props) {
600
621
  if (!columns)
601
622
  return null;
602
623
  if (!props.faasData)
603
- return /* @__PURE__ */ import_react.default.createElement(import_antd7.Table, __spreadProps(__spreadValues({}, props), {
624
+ return /* @__PURE__ */ import_react.default.createElement(import_antd8.Table, __spreadProps(__spreadValues({}, props), {
604
625
  rowKey: props.rowKey || "id",
605
626
  columns,
606
627
  dataSource: props.dataSource
607
628
  }));
608
- return /* @__PURE__ */ import_react.default.createElement(import_react10.FaasDataWrapper, __spreadValues({
609
- fallback: props.faasData.fallback || /* @__PURE__ */ import_react.default.createElement(import_antd7.Skeleton, {
629
+ return /* @__PURE__ */ import_react.default.createElement(import_react11.FaasDataWrapper, __spreadValues({
630
+ fallback: props.faasData.fallback || /* @__PURE__ */ import_react.default.createElement(import_antd8.Skeleton, {
610
631
  active: true
611
632
  }),
612
633
  render: ({
@@ -615,18 +636,18 @@ function Table(props) {
615
636
  reload
616
637
  }) => {
617
638
  if (!data)
618
- return /* @__PURE__ */ import_react.default.createElement(import_antd7.Table, __spreadProps(__spreadValues({}, props), {
639
+ return /* @__PURE__ */ import_react.default.createElement(import_antd8.Table, __spreadProps(__spreadValues({}, props), {
619
640
  rowKey: props.rowKey || "id",
620
641
  columns,
621
642
  dataSource: []
622
643
  }));
623
644
  if (Array.isArray(data))
624
- return /* @__PURE__ */ import_react.default.createElement(import_antd7.Table, __spreadProps(__spreadValues({}, props), {
645
+ return /* @__PURE__ */ import_react.default.createElement(import_antd8.Table, __spreadProps(__spreadValues({}, props), {
625
646
  rowKey: props.rowKey || "id",
626
647
  columns,
627
648
  dataSource: data
628
649
  }));
629
- return /* @__PURE__ */ import_react.default.createElement(import_antd7.Table, __spreadProps(__spreadValues({}, props), {
650
+ return /* @__PURE__ */ import_react.default.createElement(import_antd8.Table, __spreadProps(__spreadValues({}, props), {
630
651
  rowKey: props.rowKey || "id",
631
652
  columns,
632
653
  dataSource: data.rows,
@@ -653,10 +674,10 @@ function Table(props) {
653
674
  }
654
675
 
655
676
  // src/Title.tsx
656
- var import_react11 = require("react");
677
+ var import_react12 = require("react");
657
678
  function Title(props) {
658
679
  const [config] = useFaasState();
659
- (0, import_react11.useEffect)(() => {
680
+ (0, import_react12.useEffect)(() => {
660
681
  const title = Array.isArray(props.title) ? props.title : [props.title];
661
682
  document.title = title.concat(props.suffix || config.Title.suffix).filter((t) => !!t).join(props.separator || config.Title.separator);
662
683
  }, []);
@@ -671,10 +692,12 @@ module.exports = __toCommonJS(src_exports);
671
692
  Drawer,
672
693
  Form,
673
694
  FormItem,
695
+ Modal,
674
696
  Routes,
675
697
  Table,
676
698
  Title,
677
699
  transferOptions,
678
700
  useDrawer,
679
- useFaasState
701
+ useFaasState,
702
+ useModal
680
703
  });
package/dist/index.mjs CHANGED
@@ -406,6 +406,25 @@ function Form(props) {
406
406
  Form.useForm = AntdForm2.useForm;
407
407
  Form.Item = FormItem;
408
408
 
409
+ // src/Modal.tsx
410
+ import { Modal } from "antd";
411
+ import { useState as useState5 } from "react";
412
+ function useModal(init) {
413
+ const [props, setProps] = useState5(__spreadValues({
414
+ visible: false,
415
+ onCancel: () => setProps((prev) => __spreadProps(__spreadValues({}, prev), {
416
+ visible: false
417
+ }))
418
+ }, init));
419
+ return {
420
+ modal: /* @__PURE__ */ React.createElement(Modal, __spreadValues({}, props)),
421
+ modalProps: props,
422
+ setModalProps(changes) {
423
+ setProps((prev) => __spreadValues(__spreadValues({}, prev), changes));
424
+ }
425
+ };
426
+ }
427
+
409
428
  // src/Routers.tsx
410
429
  import { Result, Skeleton as Skeleton2 } from "antd";
411
430
  import {
@@ -442,7 +461,7 @@ function Routes(props) {
442
461
 
443
462
  // src/Table.tsx
444
463
  import {
445
- useState as useState5,
464
+ useState as useState6,
446
465
  useEffect as useEffect5,
447
466
  cloneElement as cloneElement2
448
467
  } from "react";
@@ -468,7 +487,7 @@ function processValue(item, value) {
468
487
  return value;
469
488
  }
470
489
  function Table(props) {
471
- const [columns, setColumns] = useState5();
490
+ const [columns, setColumns] = useState6();
472
491
  const [config] = useFaasState();
473
492
  useEffect5(() => {
474
493
  var _a;
@@ -659,10 +678,12 @@ export {
659
678
  Drawer,
660
679
  Form,
661
680
  FormItem,
681
+ Modal,
662
682
  Routes,
663
683
  Table,
664
684
  Title,
665
685
  transferOptions,
666
686
  useDrawer,
667
- useFaasState
687
+ useFaasState,
688
+ useModal
668
689
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faasjs/ant-design",
3
- "version": "0.0.2-beta.366",
3
+ "version": "0.0.2-beta.370",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -28,7 +28,7 @@
28
28
  "lodash": "*",
29
29
  "react": "*",
30
30
  "react-dom": "*",
31
- "@faasjs/react": "^0.0.2-beta.366",
31
+ "@faasjs/react": "^0.0.2-beta.370",
32
32
  "react-use": "*",
33
33
  "react-router-dom": "*"
34
34
  },