@faasjs/ant-design 0.0.2-beta.365 → 0.0.2-beta.369

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,27 @@ 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)(init);
439
+ return {
440
+ modal: /* @__PURE__ */ import_react.default.createElement(import_antd6.Modal, __spreadValues({}, props)),
441
+ modalProps: props,
442
+ setModalProps(changes) {
443
+ setProps((prev) => __spreadValues(__spreadValues({}, prev), changes));
444
+ }
445
+ };
446
+ }
447
+
448
+ // src/Routers.tsx
449
+ var import_antd7 = require("antd");
450
+ var import_react9 = require("react");
435
451
  var import_react_router_dom = require("react-router-dom");
436
452
  function NotFound() {
437
453
  const [config] = useFaasState();
438
- return /* @__PURE__ */ import_react.default.createElement(import_antd6.Result, {
454
+ return /* @__PURE__ */ import_react.default.createElement(import_antd7.Result, {
439
455
  status: "404",
440
456
  title: config.common.pageNotFound
441
457
  });
@@ -444,10 +460,10 @@ function Routes(props) {
444
460
  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
461
  key: r.path
446
462
  }, r), {
447
- element: r.element || /* @__PURE__ */ import_react.default.createElement(import_react8.Suspense, {
463
+ element: r.element || /* @__PURE__ */ import_react.default.createElement(import_react9.Suspense, {
448
464
  fallback: props.fallback || /* @__PURE__ */ import_react.default.createElement("div", {
449
465
  style: { padding: "24px" }
450
- }, /* @__PURE__ */ import_react.default.createElement(import_antd6.Skeleton, {
466
+ }, /* @__PURE__ */ import_react.default.createElement(import_antd7.Skeleton, {
451
467
  active: true
452
468
  }))
453
469
  }, /* @__PURE__ */ import_react.default.createElement(r.page, null))
@@ -459,11 +475,11 @@ function Routes(props) {
459
475
  }
460
476
 
461
477
  // src/Table.tsx
462
- var import_react9 = require("react");
463
- var import_antd7 = require("antd");
478
+ var import_react10 = require("react");
479
+ var import_antd8 = require("antd");
464
480
  var import_icons3 = require("@ant-design/icons");
465
481
  var import_lodash5 = require("lodash");
466
- var import_react10 = require("@faasjs/react");
482
+ var import_react11 = require("@faasjs/react");
467
483
  function processValue(item, value) {
468
484
  var _a;
469
485
  if (item.options && typeof value !== "undefined" && value !== null) {
@@ -478,9 +494,9 @@ function processValue(item, value) {
478
494
  return value;
479
495
  }
480
496
  function Table(props) {
481
- const [columns, setColumns] = (0, import_react9.useState)();
497
+ const [columns, setColumns] = (0, import_react10.useState)();
482
498
  const [config] = useFaasState();
483
- (0, import_react9.useEffect)(() => {
499
+ (0, import_react10.useEffect)(() => {
484
500
  var _a;
485
501
  for (const item of props.items) {
486
502
  if (!item.key)
@@ -504,7 +520,7 @@ function Table(props) {
504
520
  delete item.children;
505
521
  if (props.extendTypes && props.extendTypes[item.type]) {
506
522
  if (props.extendTypes[item.type].children) {
507
- item.render = (value, values) => (0, import_react9.cloneElement)(props.extendTypes[item.type].children, {
523
+ item.render = (value, values) => (0, import_react10.cloneElement)(props.extendTypes[item.type].children, {
508
524
  value,
509
525
  values
510
526
  });
@@ -549,7 +565,7 @@ function Table(props) {
549
565
  setSelectedKeys,
550
566
  selectedKeys,
551
567
  confirm
552
- }) => /* @__PURE__ */ import_react.default.createElement(import_antd7.Radio.Group, {
568
+ }) => /* @__PURE__ */ import_react.default.createElement(import_antd8.Radio.Group, {
553
569
  style: { padding: 8 },
554
570
  buttonStyle: "solid",
555
571
  value: selectedKeys[0],
@@ -557,21 +573,21 @@ function Table(props) {
557
573
  setSelectedKeys(e.target.value ? [e.target.value] : []);
558
574
  confirm();
559
575
  }
560
- }, /* @__PURE__ */ import_react.default.createElement(import_antd7.Radio.Button, null, config.common.all), /* @__PURE__ */ import_react.default.createElement(import_antd7.Radio.Button, {
576
+ }, /* @__PURE__ */ import_react.default.createElement(import_antd8.Radio.Button, null, config.common.all), /* @__PURE__ */ import_react.default.createElement(import_antd8.Radio.Button, {
561
577
  value: "true"
562
578
  }, /* @__PURE__ */ import_react.default.createElement(import_icons3.CheckOutlined, {
563
579
  style: {
564
580
  color: "#52c41a",
565
581
  verticalAlign: "middle"
566
582
  }
567
- })), /* @__PURE__ */ import_react.default.createElement(import_antd7.Radio.Button, {
583
+ })), /* @__PURE__ */ import_react.default.createElement(import_antd8.Radio.Button, {
568
584
  value: "false"
569
585
  }, /* @__PURE__ */ import_react.default.createElement(import_icons3.CloseOutlined, {
570
586
  style: {
571
587
  verticalAlign: "middle",
572
588
  color: "#ff4d4f"
573
589
  }
574
- })), /* @__PURE__ */ import_react.default.createElement(import_antd7.Radio.Button, {
590
+ })), /* @__PURE__ */ import_react.default.createElement(import_antd8.Radio.Button, {
575
591
  value: "empty"
576
592
  }, config.common.blank));
577
593
  if (!item.onFilter)
@@ -600,13 +616,13 @@ function Table(props) {
600
616
  if (!columns)
601
617
  return null;
602
618
  if (!props.faasData)
603
- return /* @__PURE__ */ import_react.default.createElement(import_antd7.Table, __spreadProps(__spreadValues({}, props), {
619
+ return /* @__PURE__ */ import_react.default.createElement(import_antd8.Table, __spreadProps(__spreadValues({}, props), {
604
620
  rowKey: props.rowKey || "id",
605
621
  columns,
606
622
  dataSource: props.dataSource
607
623
  }));
608
- return /* @__PURE__ */ import_react.default.createElement(import_react10.FaasDataWrapper, __spreadValues({
609
- fallback: props.faasData.fallback || /* @__PURE__ */ import_react.default.createElement(import_antd7.Skeleton, {
624
+ return /* @__PURE__ */ import_react.default.createElement(import_react11.FaasDataWrapper, __spreadValues({
625
+ fallback: props.faasData.fallback || /* @__PURE__ */ import_react.default.createElement(import_antd8.Skeleton, {
610
626
  active: true
611
627
  }),
612
628
  render: ({
@@ -615,18 +631,18 @@ function Table(props) {
615
631
  reload
616
632
  }) => {
617
633
  if (!data)
618
- return /* @__PURE__ */ import_react.default.createElement(import_antd7.Table, __spreadProps(__spreadValues({}, props), {
634
+ return /* @__PURE__ */ import_react.default.createElement(import_antd8.Table, __spreadProps(__spreadValues({}, props), {
619
635
  rowKey: props.rowKey || "id",
620
636
  columns,
621
637
  dataSource: []
622
638
  }));
623
639
  if (Array.isArray(data))
624
- return /* @__PURE__ */ import_react.default.createElement(import_antd7.Table, __spreadProps(__spreadValues({}, props), {
640
+ return /* @__PURE__ */ import_react.default.createElement(import_antd8.Table, __spreadProps(__spreadValues({}, props), {
625
641
  rowKey: props.rowKey || "id",
626
642
  columns,
627
643
  dataSource: data
628
644
  }));
629
- 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), {
630
646
  rowKey: props.rowKey || "id",
631
647
  columns,
632
648
  dataSource: data.rows,
@@ -653,10 +669,10 @@ function Table(props) {
653
669
  }
654
670
 
655
671
  // src/Title.tsx
656
- var import_react11 = require("react");
672
+ var import_react12 = require("react");
657
673
  function Title(props) {
658
674
  const [config] = useFaasState();
659
- (0, import_react11.useEffect)(() => {
675
+ (0, import_react12.useEffect)(() => {
660
676
  const title = Array.isArray(props.title) ? props.title : [props.title];
661
677
  document.title = title.concat(props.suffix || config.Title.suffix).filter((t) => !!t).join(props.separator || config.Title.separator);
662
678
  }, []);
@@ -671,10 +687,12 @@ module.exports = __toCommonJS(src_exports);
671
687
  Drawer,
672
688
  Form,
673
689
  FormItem,
690
+ Modal,
674
691
  Routes,
675
692
  Table,
676
693
  Title,
677
694
  transferOptions,
678
695
  useDrawer,
679
- useFaasState
696
+ useFaasState,
697
+ useModal
680
698
  });
package/dist/index.mjs CHANGED
@@ -406,6 +406,20 @@ 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(init);
414
+ return {
415
+ modal: /* @__PURE__ */ React.createElement(Modal, __spreadValues({}, props)),
416
+ modalProps: props,
417
+ setModalProps(changes) {
418
+ setProps((prev) => __spreadValues(__spreadValues({}, prev), changes));
419
+ }
420
+ };
421
+ }
422
+
409
423
  // src/Routers.tsx
410
424
  import { Result, Skeleton as Skeleton2 } from "antd";
411
425
  import {
@@ -442,7 +456,7 @@ function Routes(props) {
442
456
 
443
457
  // src/Table.tsx
444
458
  import {
445
- useState as useState5,
459
+ useState as useState6,
446
460
  useEffect as useEffect5,
447
461
  cloneElement as cloneElement2
448
462
  } from "react";
@@ -468,7 +482,7 @@ function processValue(item, value) {
468
482
  return value;
469
483
  }
470
484
  function Table(props) {
471
- const [columns, setColumns] = useState5();
485
+ const [columns, setColumns] = useState6();
472
486
  const [config] = useFaasState();
473
487
  useEffect5(() => {
474
488
  var _a;
@@ -659,10 +673,12 @@ export {
659
673
  Drawer,
660
674
  Form,
661
675
  FormItem,
676
+ Modal,
662
677
  Routes,
663
678
  Table,
664
679
  Title,
665
680
  transferOptions,
666
681
  useDrawer,
667
- useFaasState
682
+ useFaasState,
683
+ useModal
668
684
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faasjs/ant-design",
3
- "version": "0.0.2-beta.365",
3
+ "version": "0.0.2-beta.369",
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.365",
31
+ "@faasjs/react": "^0.0.2-beta.369",
32
32
  "react-use": "*",
33
33
  "react-router-dom": "*"
34
34
  },