@ccs-ui/rc-pro 1.0.7-rc.3 → 1.0.7-rc.30

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.
Files changed (51) hide show
  1. package/es/cascader/index.d.ts +1 -1
  2. package/es/cascader/index.js +3 -2
  3. package/es/context/index.d.ts +25 -12
  4. package/es/context/index.js +1 -6
  5. package/es/date-picker/index.d.ts +1 -1
  6. package/es/date-picker/index.js +2 -2
  7. package/es/dialog/HookDrawer.d.ts +8 -0
  8. package/es/dialog/HookDrawer.js +103 -0
  9. package/es/dialog/HookModal.d.ts +8 -0
  10. package/es/dialog/HookModal.js +173 -0
  11. package/es/dialog/button.d.ts +10 -0
  12. package/es/dialog/button.js +47 -0
  13. package/es/dialog/context.d.ts +11 -0
  14. package/es/dialog/context.js +10 -0
  15. package/es/dialog/dialog.d.ts +41 -0
  16. package/es/dialog/dialog.js +167 -0
  17. package/es/dialog/form.d.ts +13 -0
  18. package/es/dialog/form.js +47 -0
  19. package/es/dialog/index.d.ts +11 -0
  20. package/es/dialog/index.js +9 -0
  21. package/es/dialog/index.less +28 -0
  22. package/es/dialog/usePatchElement.d.ts +5 -0
  23. package/es/dialog/usePatchElement.js +35 -0
  24. package/es/drawer/index.d.ts +3 -0
  25. package/es/drawer/index.js +3 -0
  26. package/es/drawer/open/index.js +1 -6
  27. package/es/hooks/use-tabs.d.ts +1 -1
  28. package/es/hooks/use-window.d.ts +4 -0
  29. package/es/hooks/use-window.js +5 -0
  30. package/es/index.d.ts +3 -0
  31. package/es/index.js +3 -0
  32. package/es/interval-button/index.js +1 -1
  33. package/es/modal/index.d.ts +3 -0
  34. package/es/modal/index.js +3 -0
  35. package/es/pro-table/index.js +36 -23
  36. package/es/pro-table/search.d.ts +1 -1
  37. package/es/pro-table/search.js +20 -8
  38. package/es/pro-tabs/index.js +102 -31
  39. package/es/select/index.d.ts +1 -1
  40. package/es/select/index.js +3 -2
  41. package/es/status-tag/index.d.ts +9 -0
  42. package/es/status-tag/index.js +26 -0
  43. package/es/time-picker/index.d.ts +1 -1
  44. package/es/time-picker/index.js +2 -2
  45. package/es/upload/index.d.ts +14 -0
  46. package/es/upload/index.js +72 -0
  47. package/es/upload/upload-image.d.ts +8 -0
  48. package/es/upload/upload-image.js +132 -0
  49. package/es/utils/index.d.ts +12 -0
  50. package/es/utils/index.js +34 -0
  51. package/package.json +3 -1
@@ -14,7 +14,7 @@ type ApiCascaderProps = CascaderProps & {
14
14
  /** 依赖参数 */
15
15
  defaultParams?: RecordType;
16
16
  /** 查询请求 */
17
- onQuery?: (dependParams?: RecordType) => Promise<HttpResult<any[]>>;
17
+ onQuery?: (params?: any) => Promise<HttpResult<any[]>>;
18
18
  };
19
19
  /**
20
20
  * 基于接口查询的select组件
@@ -23,7 +23,8 @@ import React, { useEffect } from 'react';
23
23
  export default function CcsApiCascader(_ref) {
24
24
  var onQuery = _ref.onQuery,
25
25
  cache = _ref.cache,
26
- defaultParams = _ref.defaultParams,
26
+ _ref$defaultParams = _ref.defaultParams,
27
+ defaultParams = _ref$defaultParams === void 0 ? {} : _ref$defaultParams,
27
28
  restProps = _objectWithoutProperties(_ref, _excluded);
28
29
  var _useRequest = useRequest( /*#__PURE__*/function () {
29
30
  var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(params) {
@@ -60,7 +61,7 @@ export default function CcsApiCascader(_ref) {
60
61
  run = _useRequest.run;
61
62
  useEffect(function () {
62
63
  if (onQuery) run(defaultParams);
63
- }, [defaultParams]);
64
+ }, [JSON.stringify(defaultParams)]);
64
65
  return /*#__PURE__*/React.createElement(Cascader, _extends({
65
66
  options: data,
66
67
  loading: loading,
@@ -1,20 +1,33 @@
1
+ import { TabPaneProps } from 'antd';
1
2
  import { Store } from 'antd/es/form/interface';
2
3
  import { Location } from 'history';
3
- import { Tab } from 'rc-tabs/lib/interface';
4
4
  import React from 'react';
5
- import { CcsUserDetailType } from '..';
6
- interface TabProps {
5
+ import { CcsUserDetailType, RecordType } from '..';
6
+ type CcsTabsChangeProps = {
7
+ /** 当前激活tab面板的key */
8
+ activeKey?: string;
9
+ /** 启用tab keys */
10
+ enableKeys?: string[];
11
+ /** 禁用tab keys */
12
+ disableKeys?: string[];
13
+ /** tab间传递的参数 */
14
+ options?: RecordType;
15
+ };
16
+ export type CcsTabProps = Omit<TabPaneProps, 'tab'> & {
17
+ key: string;
18
+ label: React.ReactNode;
19
+ };
20
+ interface CcsTabsContextType {
7
21
  /** 当前激活tab面板的key */
8
22
  activeKey: string;
9
- /** Tabs items */
10
- items: Tab[];
11
23
  /** tab间传递的参数 */
12
- option: any;
13
- }
14
- interface TabsContextType extends TabProps {
15
- option: any;
24
+ options: RecordType;
25
+ /** 添加tab */
26
+ onAddTabs: (tab: CcsTabProps | CcsTabProps[]) => void;
27
+ /** 移除tab */
28
+ onRemoveTabs: (key: string | string[]) => void;
16
29
  /** 改变tab间传递的参数 */
17
- onChange: (tab: Partial<TabProps>) => void;
30
+ onTabChange: (tab: CcsTabsChangeProps) => void;
18
31
  }
19
32
  type PageContextType = {
20
33
  /** ID */
@@ -41,6 +54,6 @@ interface FnContextType<T = Store> {
41
54
  declare const GlobalContext: React.Context<GlobalContextType>;
42
55
  declare const DrawerAndModalContext: React.Context<FnContextType<any>>;
43
56
  declare const PageContext: React.Context<PageContextType>;
44
- declare const TabsContext: React.Context<TabsContextType>;
45
- export type { TabProps, FnContextType, TabsContextType, GlobalContextPropsType, };
57
+ declare const TabsContext: React.Context<CcsTabsContextType>;
58
+ export type { FnContextType, CcsTabsContextType, CcsTabsChangeProps, GlobalContextPropsType, };
46
59
  export { TabsContext, PageContext, GlobalContext, DrawerAndModalContext };
@@ -2,10 +2,5 @@ import React, { createContext } from 'react';
2
2
  var GlobalContext = /*#__PURE__*/createContext({});
3
3
  var DrawerAndModalContext = /*#__PURE__*/createContext({});
4
4
  var PageContext = /*#__PURE__*/createContext({});
5
- var TabsContext = /*#__PURE__*/React.createContext({
6
- items: [],
7
- activeKey: '',
8
- option: {},
9
- onChange: function onChange() {}
10
- });
5
+ var TabsContext = /*#__PURE__*/React.createContext({});
11
6
  export { TabsContext, PageContext, GlobalContext, DrawerAndModalContext };
@@ -16,6 +16,6 @@ type CcsRangePickerProps = {
16
16
  } & Omit<RangePickerProps, 'value' | 'onChange'>;
17
17
  declare function CcsDatePicker({ value, onChange, ...restProps }: CcsDatePickerProps): React.JSX.Element;
18
18
  declare namespace CcsDatePicker {
19
- var RangPicker: ({ value, onChange, ...restProps }: CcsRangePickerProps) => React.JSX.Element;
19
+ var RangePicker: ({ value, onChange, ...restProps }: CcsRangePickerProps) => React.JSX.Element;
20
20
  }
21
21
  export default CcsDatePicker;
@@ -34,7 +34,7 @@ function CcsDatePicker(_ref) {
34
34
  onChange: handleOnChange
35
35
  }, restProps));
36
36
  }
37
- function RangPicker(_ref2) {
37
+ function RangePicker(_ref2) {
38
38
  var value = _ref2.value,
39
39
  onChange = _ref2.onChange,
40
40
  restProps = _objectWithoutProperties(_ref2, _excluded2);
@@ -55,5 +55,5 @@ function RangPicker(_ref2) {
55
55
  onChange: handleOnChange
56
56
  }, restProps));
57
57
  }
58
- CcsDatePicker.RangPicker = RangPicker;
58
+ CcsDatePicker.RangePicker = RangePicker;
59
59
  export default CcsDatePicker;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { CcsDialogDrawer, CcsDialogDrawerProps } from './dialog';
3
+ export interface HookDrawerProps {
4
+ afterClose: () => void;
5
+ config: CcsDialogDrawerProps;
6
+ }
7
+ declare const _default: React.ForwardRefExoticComponent<HookDrawerProps & React.RefAttributes<CcsDialogDrawer>>;
8
+ export default _default;
@@ -0,0 +1,103 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
10
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
11
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
12
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
13
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14
+ import { Drawer } from 'antd';
15
+ import classNames from 'classnames';
16
+ import React, { forwardRef, useImperativeHandle, useState } from 'react';
17
+ import { ModalContentContext } from "./context";
18
+ import DialogForm from "./form";
19
+ var HookDrawer = function HookDrawer(_ref, ref) {
20
+ var _config$form;
21
+ var hookAfterClose = _ref.afterClose,
22
+ config = _ref.config;
23
+ var _useState = useState(function () {
24
+ if (config.open === undefined) {
25
+ return _objectSpread(_objectSpread({}, config), {}, {
26
+ open: true
27
+ });
28
+ }
29
+ return config;
30
+ }),
31
+ _useState2 = _slicedToArray(_useState, 2),
32
+ innerConfig = _useState2[0],
33
+ setInnerConfig = _useState2[1];
34
+ var _useState3 = useState(false),
35
+ _useState4 = _slicedToArray(_useState3, 2),
36
+ hasButtons = _useState4[0],
37
+ setHasButtons = _useState4[1];
38
+ var afterClose = function afterClose() {
39
+ hookAfterClose();
40
+ };
41
+ var close = function close() {
42
+ setInnerConfig(function (c) {
43
+ return _objectSpread(_objectSpread({}, c), {}, {
44
+ open: false
45
+ });
46
+ });
47
+ };
48
+ useImperativeHandle(ref, function () {
49
+ return {
50
+ destroy: close,
51
+ update: function update(newConfig) {
52
+ setInnerConfig(function (originConfig) {
53
+ return _objectSpread(_objectSpread({}, originConfig), newConfig);
54
+ });
55
+ }
56
+ };
57
+ });
58
+ var onGetContainer = function onGetContainer() {
59
+ var doms = document.body.querySelectorAll("[id*=\"_tab_content_\"][data-display=\"true\"]");
60
+ if (doms.length > 0) {
61
+ return doms[0];
62
+ }
63
+ return undefined;
64
+ };
65
+ var isCrInProp = ('getContainer' in innerConfig);
66
+ return /*#__PURE__*/React.createElement(Drawer, _extends({
67
+ onClose: close,
68
+ afterOpenChange: function afterOpenChange(open) {
69
+ if (!open) afterClose();
70
+ }
71
+ }, innerConfig, {
72
+ className: classNames('ccs-dialog-drawer', innerConfig.className),
73
+ maskStyle: _objectSpread({
74
+ background: 'rgba(0, 0, 0, 0.1)'
75
+ }, innerConfig.maskStyle),
76
+ bodyStyle: _objectSpread(_objectSpread({}, hasButtons ? {
77
+ marginBottom: 80
78
+ } : {}), config.form ? {
79
+ padding: 0
80
+ } : innerConfig.bodyStyle),
81
+ rootStyle: _objectSpread(_objectSpread({}, !isCrInProp ? {
82
+ position: 'absolute'
83
+ } : {}), innerConfig.rootStyle),
84
+ contentWrapperStyle: _objectSpread(_objectSpread({}, !isCrInProp ? {
85
+ boxShadow: 'none'
86
+ } : {}), innerConfig.contentWrapperStyle),
87
+ getContainer: isCrInProp ? innerConfig.getContainer : onGetContainer
88
+ }), /*#__PURE__*/React.createElement(ModalContentContext.Provider, {
89
+ value: {
90
+ closeDialog: close,
91
+ onHasButtons: function onHasButtons() {
92
+ return setHasButtons(true);
93
+ },
94
+ formInitialValues: ((_config$form = config.form) === null || _config$form === void 0 ? void 0 : _config$form.initialValues) || {}
95
+ }
96
+ }, config.form ? /*#__PURE__*/React.createElement(DialogForm, {
97
+ formProps: config.form,
98
+ bodyStyle: _objectSpread({
99
+ padding: 24
100
+ }, innerConfig.bodyStyle)
101
+ }, config.content) : config.content));
102
+ };
103
+ export default /*#__PURE__*/forwardRef(HookDrawer);
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { CcsDialogModal, CcsDialogModalProps } from './dialog';
3
+ export interface HookModalProps {
4
+ afterClose: () => void;
5
+ config: CcsDialogModalProps;
6
+ }
7
+ declare const _default: React.ForwardRefExoticComponent<HookModalProps & React.RefAttributes<CcsDialogModal>>;
8
+ export default _default;
@@ -0,0 +1,173 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
4
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
5
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
6
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
7
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
11
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
12
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
14
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
15
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
16
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
17
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
18
+ import { Modal } from 'antd';
19
+ import classNames from 'classnames';
20
+ import React, { forwardRef, useImperativeHandle, useRef, useState } from 'react';
21
+ import Draggable from 'react-draggable';
22
+ import { ModalContentContext } from "./context";
23
+ import DialogForm from "./form";
24
+ var DragModal = function DragModal(_ref) {
25
+ var modal = _ref.modal,
26
+ dragState = _ref.dragState,
27
+ onDragState = _ref.onDragState;
28
+ var draggleRef = useRef(null);
29
+ var _onStart = function onStart(event, uiData) {
30
+ var _draggleRef$current;
31
+ var _window$document$docu = window.document.documentElement,
32
+ clientWidth = _window$document$docu.clientWidth,
33
+ clientHeight = _window$document$docu.clientHeight;
34
+ var targetRect = (_draggleRef$current = draggleRef.current) === null || _draggleRef$current === void 0 ? void 0 : _draggleRef$current.getBoundingClientRect();
35
+ if (!targetRect) {
36
+ return;
37
+ }
38
+ onDragState(function (e) {
39
+ return _objectSpread(_objectSpread({}, e), {}, {
40
+ bounds: {
41
+ left: -targetRect.left + uiData.x,
42
+ right: clientWidth - (targetRect.right - uiData.x),
43
+ top: -targetRect.top + uiData.y,
44
+ bottom: clientHeight - (targetRect.bottom - uiData.y)
45
+ }
46
+ });
47
+ });
48
+ };
49
+ return /*#__PURE__*/React.createElement(Draggable, {
50
+ disabled: dragState.disabled,
51
+ bounds: dragState.bounds,
52
+ onStart: function onStart(event, uiData) {
53
+ return _onStart(event, uiData);
54
+ }
55
+ }, /*#__PURE__*/React.createElement("div", {
56
+ ref: draggleRef
57
+ }, modal));
58
+ };
59
+ var HookModal = function HookModal(_ref2, ref) {
60
+ var _config$form;
61
+ var hookAfterClose = _ref2.afterClose,
62
+ config = _ref2.config;
63
+ var _useState = useState(function () {
64
+ if (config.open === undefined) {
65
+ return _objectSpread(_objectSpread({}, config), {}, {
66
+ open: true
67
+ });
68
+ }
69
+ return config;
70
+ }),
71
+ _useState2 = _slicedToArray(_useState, 2),
72
+ innerConfig = _useState2[0],
73
+ setInnerConfig = _useState2[1];
74
+ var _useState3 = useState({
75
+ disabled: true,
76
+ bounds: {
77
+ left: 0,
78
+ top: 0,
79
+ bottom: 0,
80
+ right: 0
81
+ }
82
+ }),
83
+ _useState4 = _slicedToArray(_useState3, 2),
84
+ dragState = _useState4[0],
85
+ setDragState = _useState4[1];
86
+ var _useState5 = useState(false),
87
+ _useState6 = _slicedToArray(_useState5, 2),
88
+ hasButtons = _useState6[0],
89
+ setHasButtons = _useState6[1];
90
+ var afterClose = function afterClose() {
91
+ var _innerConfig$afterClo;
92
+ if (config.destroyOnClose !== false) hookAfterClose();
93
+ (_innerConfig$afterClo = innerConfig.afterClose) === null || _innerConfig$afterClo === void 0 ? void 0 : _innerConfig$afterClo.call(innerConfig);
94
+ };
95
+ var close = function close() {
96
+ setInnerConfig(function (c) {
97
+ return _objectSpread(_objectSpread({}, c), {}, {
98
+ open: false
99
+ });
100
+ });
101
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
102
+ args[_key] = arguments[_key];
103
+ }
104
+ var triggerCancel = args.some(function (param) {
105
+ return param && param.triggerCancel;
106
+ });
107
+ if (innerConfig.onCancel && triggerCancel) {
108
+ innerConfig.onCancel.apply(innerConfig, [function () {}].concat(_toConsumableArray(args.slice(1))));
109
+ }
110
+ };
111
+ useImperativeHandle(ref, function () {
112
+ return {
113
+ destroy: close,
114
+ update: function update(newConfig) {
115
+ setInnerConfig(function (originConfig) {
116
+ return _objectSpread(_objectSpread({}, originConfig), newConfig);
117
+ });
118
+ }
119
+ };
120
+ });
121
+ return /*#__PURE__*/React.createElement(Modal, _extends({
122
+ onCancel: close,
123
+ afterClose: afterClose
124
+ }, innerConfig, {
125
+ bodyStyle: _objectSpread(_objectSpread({
126
+ position: 'relative'
127
+ }, innerConfig.bodyStyle), hasButtons ? {
128
+ paddingBottom: 44
129
+ } : {}),
130
+ className: classNames('ccs-dialog-modal', innerConfig.className),
131
+ footer: null,
132
+ title: config.isDrag ? /*#__PURE__*/React.createElement("div", {
133
+ style: {
134
+ width: '100%',
135
+ cursor: 'move'
136
+ },
137
+ onMouseOver: function onMouseOver() {
138
+ if (dragState.disabled) {
139
+ setDragState(function (e) {
140
+ return _objectSpread(_objectSpread({}, e), {}, {
141
+ disabled: false
142
+ });
143
+ });
144
+ }
145
+ },
146
+ onMouseOut: function onMouseOut() {
147
+ setDragState(function (e) {
148
+ return _objectSpread(_objectSpread({}, e), {}, {
149
+ disabled: true
150
+ });
151
+ });
152
+ }
153
+ }, config.title) : config.title,
154
+ modalRender: config.isDrag ? function (modal) {
155
+ return /*#__PURE__*/React.createElement(DragModal, {
156
+ modal: modal,
157
+ dragState: dragState,
158
+ onDragState: setDragState
159
+ });
160
+ } : undefined
161
+ }), /*#__PURE__*/React.createElement(ModalContentContext.Provider, {
162
+ value: {
163
+ closeDialog: close,
164
+ onHasButtons: function onHasButtons() {
165
+ return setHasButtons(true);
166
+ },
167
+ formInitialValues: ((_config$form = config.form) === null || _config$form === void 0 ? void 0 : _config$form.initialValues) || {}
168
+ }
169
+ }, config.form ? /*#__PURE__*/React.createElement(DialogForm, {
170
+ formProps: config.form
171
+ }, config.content) : config.content));
172
+ };
173
+ export default /*#__PURE__*/forwardRef(HookModal);
@@ -0,0 +1,10 @@
1
+ import React, { ReactNode } from 'react';
2
+ interface DialogButtonsProps {
3
+ okText?: string;
4
+ okAuth?: string;
5
+ loading?: boolean;
6
+ children?: ReactNode;
7
+ onOk?: (values?: any) => void;
8
+ }
9
+ export default function CcsDialogButtons({ okText, okAuth, loading, children, onOk, }: DialogButtonsProps): React.JSX.Element | null;
10
+ export {};
@@ -0,0 +1,47 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
7
+ import { CcsAuth } from "./..";
8
+ import { Button, Form } from 'antd';
9
+ import React, { useEffect } from 'react';
10
+ import CcsDialog from '.';
11
+ export default function CcsDialogButtons(_ref) {
12
+ var okText = _ref.okText,
13
+ okAuth = _ref.okAuth,
14
+ loading = _ref.loading,
15
+ children = _ref.children,
16
+ onOk = _ref.onOk;
17
+ var _CcsDialog$useContext = CcsDialog.useContext(),
18
+ closeDialog = _CcsDialog$useContext.closeDialog,
19
+ onHasButtons = _CcsDialog$useContext.onHasButtons,
20
+ formInitialValues = _CcsDialog$useContext.formInitialValues;
21
+ var form = Form.useFormInstance();
22
+ useEffect(function () {
23
+ onHasButtons();
24
+ }, []);
25
+ var onOkClick = function onOkClick() {
26
+ if (!onOk) return;
27
+
28
+ // form返回表单值和所有初始值
29
+ if (form) {
30
+ form.validateFields().then(function (values) {
31
+ onOk(_objectSpread(_objectSpread({}, formInitialValues), values));
32
+ });
33
+ return;
34
+ }
35
+ onOk();
36
+ };
37
+ return onOk ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
38
+ className: "ccs-dialog-buttons"
39
+ }, /*#__PURE__*/React.createElement(Button, {
40
+ onClick: closeDialog
41
+ }, "\u53D6\u6D88"), /*#__PURE__*/React.createElement(CcsAuth.Button, {
42
+ auth: okAuth || '',
43
+ type: "primary",
44
+ loading: loading,
45
+ onClick: onOkClick
46
+ }, okText || '确定'), children)) : null;
47
+ }
@@ -0,0 +1,11 @@
1
+ import { Store } from 'antd/es/form/interface';
2
+ import React from 'react';
3
+ interface ContentContextType<T = Store> {
4
+ locationKey: string;
5
+ formInitialValues: T;
6
+ closeDialog: () => void;
7
+ onHasButtons: () => void;
8
+ }
9
+ declare const ModalContentContext: React.Context<ContentContextType<any>>;
10
+ declare const useDialogContext: <T = Store>() => ContentContextType<T>;
11
+ export { useDialogContext, ModalContentContext };
@@ -0,0 +1,10 @@
1
+ import React, { useContext } from 'react';
2
+ var ModalContentContext = /*#__PURE__*/React.createContext({});
3
+ var useDialogContext = function useDialogContext() {
4
+ var context = useContext(ModalContentContext);
5
+ if (context === undefined) {
6
+ throw new Error('ModalContentContext not found');
7
+ }
8
+ return context;
9
+ };
10
+ export { useDialogContext, ModalContentContext };
@@ -0,0 +1,41 @@
1
+ import { DrawerProps, FormProps, ModalFuncProps } from 'antd';
2
+ import React, { ReactNode } from 'react';
3
+ export interface CcsDialogModal {
4
+ destroy: () => void;
5
+ update: (config: ModalFuncProps) => void;
6
+ }
7
+ export interface CcsDialogDrawer {
8
+ destroy: () => void;
9
+ update: (config: DrawerProps) => void;
10
+ }
11
+ type ModalFunc = (props: ModalFuncProps) => {
12
+ destroy: () => void;
13
+ update: (configUpdate: ModalFuncProps) => void;
14
+ };
15
+ type DrawerFunc = (props: DrawerProps) => {
16
+ destroy: () => void;
17
+ update: (configUpdate: DrawerProps) => void;
18
+ };
19
+ export type CcsDialogModalProps = ModalFuncProps & {
20
+ /** 可拖拽 */
21
+ isDrag?: boolean;
22
+ /** antd form */
23
+ form?: FormProps;
24
+ /** 关闭后销毁组件,默认true */
25
+ destroyOnClose?: boolean;
26
+ };
27
+ export type CcsDialogDrawerProps = DrawerProps & {
28
+ /** antd form */
29
+ form?: FormProps;
30
+ /** 抽屉内容 */
31
+ content?: ReactNode;
32
+ };
33
+ export type ModalDialog = (...args: Parameters<ModalFunc>) => ReturnType<ModalFunc>;
34
+ export type DrawerDialog = (...args: Parameters<ModalFunc>) => ReturnType<DrawerFunc>;
35
+ export interface CcsDialogType {
36
+ openDrawer: (props: CcsDialogDrawerProps) => ReturnType<DrawerDialog>;
37
+ openModal: (props: CcsDialogModalProps) => ReturnType<ModalDialog>;
38
+ contextHolder: React.JSX.Element;
39
+ }
40
+ export default function useCcsDialog(): CcsDialogType;
41
+ export {};