@vtx/components 3.1.17 → 3.1.18
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/CHANGELOG.md +1177 -0
- package/README.md +19 -19
- package/lib/_util/filterSpecialCharacters.js +49 -60
- package/lib/_util/filterSpecialCharacters.js.map +1 -1
- package/lib/_util/getComponentProps.js +3 -0
- package/lib/_util/getComponentProps.js.map +1 -1
- package/lib/_util/getUrlParam.js +6 -0
- package/lib/_util/getUrlParam.js.map +1 -1
- package/lib/_util/isFunction.js +1 -0
- package/lib/_util/isFunction.js.map +1 -1
- package/lib/_util/isObject.js +1 -0
- package/lib/_util/isObject.js.map +1 -1
- package/lib/_util/useColSize.js +10 -1
- package/lib/_util/useColSize.js.map +1 -1
- package/lib/_util/useInterval.js +3 -0
- package/lib/_util/useInterval.js.map +1 -1
- package/lib/_util/useSet.js +32 -14
- package/lib/_util/useSet.js.map +1 -1
- package/lib/config.js.map +1 -1
- package/lib/index.js +33 -0
- package/lib/index.js.map +1 -1
- package/lib/style/index.less +2 -2
- package/lib/style/themes/compact.less +1 -1
- package/lib/style/themes/dark.less +9 -9
- package/lib/style/themes/default.less +7 -7
- package/lib/style/themes/index.less +1 -1
- package/lib/style/themes/variable.less +5 -5
- package/lib/vtx-color-picker/index.js +21 -5
- package/lib/vtx-color-picker/index.js.map +1 -1
- package/lib/vtx-color-picker/style/css.js +2 -0
- package/lib/vtx-color-picker/style/css.js.map +1 -1
- package/lib/vtx-color-picker/style/index.js +2 -0
- package/lib/vtx-color-picker/style/index.js.map +1 -1
- package/lib/vtx-color-picker/style/index.less +12 -12
- package/lib/vtx-combogrid/Combogrid.js +74 -34
- package/lib/vtx-combogrid/Combogrid.js.map +1 -1
- package/lib/vtx-combogrid/index.js +45 -20
- package/lib/vtx-combogrid/index.js.map +1 -1
- package/lib/vtx-combogrid/style/css.js +7 -0
- package/lib/vtx-combogrid/style/css.js.map +1 -1
- package/lib/vtx-combogrid/style/index.js +7 -0
- package/lib/vtx-combogrid/style/index.js.map +1 -1
- package/lib/vtx-combogrid/style/index.less +29 -29
- package/lib/vtx-datagrid/Alert.js +11 -3
- package/lib/vtx-datagrid/Alert.js.map +1 -1
- package/lib/vtx-datagrid/ColumnSetting.js +44 -19
- package/lib/vtx-datagrid/ColumnSetting.js.map +1 -1
- package/lib/vtx-datagrid/ResizeableTitle.js +13 -2
- package/lib/vtx-datagrid/ResizeableTitle.js.map +1 -1
- package/lib/vtx-datagrid/index.js +140 -77
- package/lib/vtx-datagrid/index.js.map +1 -1
- package/lib/vtx-datagrid/renderColumnButtons.js +35 -5
- package/lib/vtx-datagrid/renderColumnButtons.js.map +1 -1
- package/lib/vtx-datagrid/style/css.js +10 -0
- package/lib/vtx-datagrid/style/css.js.map +1 -1
- package/lib/vtx-datagrid/style/index.js +10 -0
- package/lib/vtx-datagrid/style/index.js.map +1 -1
- package/lib/vtx-datagrid/style/index.less +215 -215
- package/lib/vtx-date-picker/QdatePicker.js +46 -16
- package/lib/vtx-date-picker/QdatePicker.js.map +1 -1
- package/lib/vtx-date-picker/generatePicker.js +47 -6
- package/lib/vtx-date-picker/generatePicker.js.map +1 -1
- package/lib/vtx-date-picker/index.js +5 -0
- package/lib/vtx-date-picker/index.js.map +1 -1
- package/lib/vtx-date-picker/style/css.js +1 -0
- package/lib/vtx-date-picker/style/css.js.map +1 -1
- package/lib/vtx-date-picker/style/index.js +1 -0
- package/lib/vtx-date-picker/style/index.js.map +1 -1
- package/lib/vtx-date-picker/style/index.less +39 -39
- package/lib/vtx-editor/index.js +23 -5
- package/lib/vtx-editor/index.js.map +1 -1
- package/lib/vtx-editor/style/css.js +1 -0
- package/lib/vtx-editor/style/css.js.map +1 -1
- package/lib/vtx-editor/style/index.js +1 -0
- package/lib/vtx-editor/style/index.js.map +1 -1
- package/lib/vtx-editor/style/index.less +8 -8
- package/lib/vtx-ellipsis-text/index.js +20 -6
- package/lib/vtx-ellipsis-text/index.js.map +1 -1
- package/lib/vtx-ellipsis-text/style/css.js +1 -0
- package/lib/vtx-ellipsis-text/style/css.js.map +1 -1
- package/lib/vtx-ellipsis-text/style/index.js +1 -0
- package/lib/vtx-ellipsis-text/style/index.js.map +1 -1
- package/lib/vtx-ellipsis-text/style/index.less +13 -13
- package/lib/vtx-export/index.js +66 -33
- package/lib/vtx-export/index.js.map +1 -1
- package/lib/vtx-export/style/css.js +5 -0
- package/lib/vtx-export/style/css.js.map +1 -1
- package/lib/vtx-export/style/index.js +5 -0
- package/lib/vtx-export/style/index.js.map +1 -1
- package/lib/vtx-export/style/index.less +6 -6
- package/lib/vtx-form-layout/Card.js +26 -5
- package/lib/vtx-form-layout/Card.js.map +1 -1
- package/lib/vtx-form-layout/Divider.js +8 -0
- package/lib/vtx-form-layout/Divider.js.map +1 -1
- package/lib/vtx-form-layout/FormItem.js +30 -8
- package/lib/vtx-form-layout/FormItem.js.map +1 -1
- package/lib/vtx-form-layout/Pane.js +7 -2
- package/lib/vtx-form-layout/Pane.js.map +1 -1
- package/lib/vtx-form-layout/Row.js +6 -0
- package/lib/vtx-form-layout/Row.js.map +1 -1
- package/lib/vtx-form-layout/context.js +2 -0
- package/lib/vtx-form-layout/context.js.map +1 -1
- package/lib/vtx-form-layout/demo/Modal.less +43 -43
- package/lib/vtx-form-layout/index.js +22 -8
- package/lib/vtx-form-layout/index.js.map +1 -1
- package/lib/vtx-form-layout/style/css.js +7 -0
- package/lib/vtx-form-layout/style/css.js.map +1 -1
- package/lib/vtx-form-layout/style/index.js +7 -0
- package/lib/vtx-form-layout/style/index.js.map +1 -1
- package/lib/vtx-image/Image.js +92 -56
- package/lib/vtx-image/Image.js.map +1 -1
- package/lib/vtx-image/Preview.js +51 -20
- package/lib/vtx-image/Preview.js.map +1 -1
- package/lib/vtx-image/PreviewGroup.js +40 -11
- package/lib/vtx-image/PreviewGroup.js.map +1 -1
- package/lib/vtx-image/index.js +6 -0
- package/lib/vtx-image/index.js.map +1 -1
- package/lib/vtx-image/style/css.js +1 -0
- package/lib/vtx-image/style/css.js.map +1 -1
- package/lib/vtx-image/style/index.js +1 -0
- package/lib/vtx-image/style/index.js.map +1 -1
- package/lib/vtx-image/style/index.less +63 -63
- package/lib/vtx-import/index.js +72 -37
- package/lib/vtx-import/index.js.map +1 -1
- package/lib/vtx-import/result.js +24 -7
- package/lib/vtx-import/result.js.map +1 -1
- package/lib/vtx-import/style/css.js +3 -0
- package/lib/vtx-import/style/css.js.map +1 -1
- package/lib/vtx-import/style/index.js +3 -0
- package/lib/vtx-import/style/index.js.map +1 -1
- package/lib/vtx-import/style/index.less +8 -8
- package/lib/vtx-import2/CheckResult.js +6 -0
- package/lib/vtx-import2/CheckResult.js.map +1 -1
- package/lib/vtx-import2/Content.js +25 -4
- package/lib/vtx-import2/Content.js.map +1 -1
- package/lib/vtx-import2/DownloadSvg.js +4 -0
- package/lib/vtx-import2/DownloadSvg.js.map +1 -1
- package/lib/vtx-import2/ImportResult.js +9 -3
- package/lib/vtx-import2/ImportResult.js.map +1 -1
- package/lib/vtx-import2/UploadSvg.js +4 -0
- package/lib/vtx-import2/UploadSvg.js.map +1 -1
- package/lib/vtx-import2/index.js +74 -34
- package/lib/vtx-import2/index.js.map +1 -1
- package/lib/vtx-import2/style/css.js +3 -0
- package/lib/vtx-import2/style/css.js.map +1 -1
- package/lib/vtx-import2/style/index.js +3 -0
- package/lib/vtx-import2/style/index.js.map +1 -1
- package/lib/vtx-import2/style/index.less +102 -102
- package/lib/vtx-input/TextArea.js +22 -6
- package/lib/vtx-input/TextArea.js.map +1 -1
- package/lib/vtx-input/index.js +37 -11
- package/lib/vtx-input/index.js.map +1 -1
- package/lib/vtx-input/style/css.js +1 -0
- package/lib/vtx-input/style/css.js.map +1 -1
- package/lib/vtx-input/style/index.js +1 -0
- package/lib/vtx-input/style/index.js.map +1 -1
- package/lib/vtx-input/style/index.less +24 -24
- package/lib/vtx-input/useLength.js +16 -4
- package/lib/vtx-input/useLength.js.map +1 -1
- package/lib/vtx-modal/Title.js +6 -1
- package/lib/vtx-modal/Title.js.map +1 -1
- package/lib/vtx-modal/index.js +72 -32
- package/lib/vtx-modal/index.js.map +1 -1
- package/lib/vtx-modal/style/css.js +1 -0
- package/lib/vtx-modal/style/css.js.map +1 -1
- package/lib/vtx-modal/style/index.js +1 -0
- package/lib/vtx-modal/style/index.js.map +1 -1
- package/lib/vtx-modal/style/index.less +95 -95
- package/lib/vtx-page-layout/Basic.js +8 -4
- package/lib/vtx-page-layout/Basic.js.map +1 -1
- package/lib/vtx-page-layout/Content.js +19 -7
- package/lib/vtx-page-layout/Content.js.map +1 -1
- package/lib/vtx-page-layout/Pane.js +10 -2
- package/lib/vtx-page-layout/Pane.js.map +1 -1
- package/lib/vtx-page-layout/TableLayout.js +55 -25
- package/lib/vtx-page-layout/TableLayout.js.map +1 -1
- package/lib/vtx-page-layout/TableWrap.js +15 -3
- package/lib/vtx-page-layout/TableWrap.js.map +1 -1
- package/lib/vtx-page-layout/container.js +34 -4
- package/lib/vtx-page-layout/container.js.map +1 -1
- package/lib/vtx-page-layout/index.js +8 -0
- package/lib/vtx-page-layout/index.js.map +1 -1
- package/lib/vtx-page-layout/style/css.js.map +1 -1
- package/lib/vtx-page-layout/style/index.js.map +1 -1
- package/lib/vtx-page-layout/style/index.less +138 -138
- package/lib/vtx-rps-frame/index.js +44 -21
- package/lib/vtx-rps-frame/index.js.map +1 -1
- package/lib/vtx-rps-frame/style/css.js.map +1 -1
- package/lib/vtx-rps-frame/style/index.js.map +1 -1
- package/lib/vtx-rps-frame/style/index.less +8 -8
- package/lib/vtx-scrollable-row/index.js +57 -19
- package/lib/vtx-scrollable-row/index.js.map +1 -1
- package/lib/vtx-scrollable-row/style/css.js.map +1 -1
- package/lib/vtx-scrollable-row/style/index.js.map +1 -1
- package/lib/vtx-scrollable-row/style/index.less +113 -113
- package/lib/vtx-search/VtxCol.js +21 -0
- package/lib/vtx-search/VtxCol.js.map +1 -1
- package/lib/vtx-search/VtxRow.js +12 -6
- package/lib/vtx-search/VtxRow.js.map +1 -1
- package/lib/vtx-search/index.js +93 -40
- package/lib/vtx-search/index.js.map +1 -1
- package/lib/vtx-search/style/css.js +4 -0
- package/lib/vtx-search/style/css.js.map +1 -1
- package/lib/vtx-search/style/index.js +4 -0
- package/lib/vtx-search/style/index.js.map +1 -1
- package/lib/vtx-search/style/index.less +83 -83
- package/lib/vtx-search-map-input/index.js +72 -42
- package/lib/vtx-search-map-input/index.js.map +1 -1
- package/lib/vtx-search-map-input/style/css.js +2 -0
- package/lib/vtx-search-map-input/style/css.js.map +1 -1
- package/lib/vtx-search-map-input/style/index.js +2 -0
- package/lib/vtx-search-map-input/style/index.js.map +1 -1
- package/lib/vtx-select/index.js +65 -20
- package/lib/vtx-select/index.js.map +1 -1
- package/lib/vtx-select/style/css.js +8 -0
- package/lib/vtx-select/style/css.js.map +1 -1
- package/lib/vtx-select/style/index.js +8 -0
- package/lib/vtx-select/style/index.js.map +1 -1
- package/lib/vtx-select/style/index.less +68 -68
- package/lib/vtx-signature/index.js +28 -14
- package/lib/vtx-signature/index.js.map +1 -1
- package/lib/vtx-signature/style/css.js +2 -0
- package/lib/vtx-signature/style/css.js.map +1 -1
- package/lib/vtx-signature/style/index.js +2 -0
- package/lib/vtx-signature/style/index.js.map +1 -1
- package/lib/vtx-signature/style/index.less +33 -33
- package/lib/vtx-split-pane/Pane.js +14 -2
- package/lib/vtx-split-pane/Pane.js.map +1 -1
- package/lib/vtx-split-pane/Resizer.js +29 -9
- package/lib/vtx-split-pane/Resizer.js.map +1 -1
- package/lib/vtx-split-pane/SplitPane.js +98 -43
- package/lib/vtx-split-pane/SplitPane.js.map +1 -1
- package/lib/vtx-split-pane/index.js +4 -0
- package/lib/vtx-split-pane/index.js.map +1 -1
- package/lib/vtx-split-pane/style/css.js +3 -0
- package/lib/vtx-split-pane/style/css.js.map +1 -1
- package/lib/vtx-split-pane/style/index.js +3 -0
- package/lib/vtx-split-pane/style/index.js.map +1 -1
- package/lib/vtx-split-pane/style/index.less +76 -76
- package/lib/vtx-statistics-column/Back.js +7 -1
- package/lib/vtx-statistics-column/Back.js.map +1 -1
- package/lib/vtx-statistics-column/Item.js +22 -5
- package/lib/vtx-statistics-column/Item.js.map +1 -1
- package/lib/vtx-statistics-column/Total.js +22 -5
- package/lib/vtx-statistics-column/Total.js.map +1 -1
- package/lib/vtx-statistics-column/context.js +2 -0
- package/lib/vtx-statistics-column/context.js.map +1 -1
- package/lib/vtx-statistics-column/index.js +16 -0
- package/lib/vtx-statistics-column/index.js.map +1 -1
- package/lib/vtx-statistics-column/style/css.js.map +1 -1
- package/lib/vtx-statistics-column/style/index.js.map +1 -1
- package/lib/vtx-statistics-column/style/index.less +59 -59
- package/lib/vtx-time-picker/index.js +16 -3
- package/lib/vtx-time-picker/index.js.map +1 -1
- package/lib/vtx-time-picker/style/css.js.map +1 -1
- package/lib/vtx-time-picker/style/index.js.map +1 -1
- package/lib/vtx-upload/FilePreview.js +28 -9
- package/lib/vtx-upload/FilePreview.js.map +1 -1
- package/lib/vtx-upload/index.js +137 -67
- package/lib/vtx-upload/index.js.map +1 -1
- package/lib/vtx-upload/style/css.js +5 -0
- package/lib/vtx-upload/style/css.js.map +1 -1
- package/lib/vtx-upload/style/index.js +5 -0
- package/lib/vtx-upload/style/index.js.map +1 -1
- package/lib/vtx-upload/style/index.less +61 -61
- package/lib/vtx-wang-editor/index.js +246 -0
- package/lib/vtx-wang-editor/index.js.map +1 -0
- package/lib/vtx-wang-editor/style/css.js +6 -0
- package/lib/vtx-wang-editor/style/css.js.map +1 -0
- package/lib/vtx-wang-editor/style/index.css +20 -0
- package/lib/vtx-wang-editor/style/index.js +6 -0
- package/lib/vtx-wang-editor/style/index.js.map +1 -0
- package/lib/vtx-wang-editor/style/index.less +24 -0
- package/lib/vtx-wang-editor/wangEditorUtil.js +229 -0
- package/lib/vtx-wang-editor/wangEditorUtil.js.map +1 -0
- package/lib/vtx-ztree/index.js +103 -51
- package/lib/vtx-ztree/index.js.map +1 -1
- package/lib/vtx-ztree/style/css.js +1 -0
- package/lib/vtx-ztree/style/css.js.map +1 -1
- package/lib/vtx-ztree/style/index.js +1 -0
- package/lib/vtx-ztree/style/index.js.map +1 -1
- package/lib/vtx-ztree/style/index.less +45 -45
- package/lib/vtx-ztree-select/index.js +99 -43
- package/lib/vtx-ztree-select/index.js.map +1 -1
- package/lib/vtx-ztree-select/style/css.js +3 -0
- package/lib/vtx-ztree-select/style/css.js.map +1 -1
- package/lib/vtx-ztree-select/style/index.js +3 -0
- package/lib/vtx-ztree-select/style/index.js.map +1 -1
- package/lib/vtx-ztree-select/style/index.less +74 -74
- package/package.json +126 -123
package/lib/vtx-input/index.js
CHANGED
|
@@ -1,44 +1,66 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
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); }
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports["default"] = void 0;
|
|
9
|
+
|
|
8
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
9
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
|
|
10
14
|
var _input = _interopRequireDefault(require("antd/lib/input"));
|
|
15
|
+
|
|
11
16
|
var _lodash = _interopRequireDefault(require("lodash.clonedeep"));
|
|
17
|
+
|
|
12
18
|
var _TextArea = _interopRequireDefault(require("./TextArea"));
|
|
19
|
+
|
|
13
20
|
var _useLength = _interopRequireDefault(require("./useLength"));
|
|
21
|
+
|
|
14
22
|
var _getComponentProps = _interopRequireDefault(require("../_util/getComponentProps"));
|
|
23
|
+
|
|
15
24
|
var _filterSpecialCharacters = _interopRequireDefault(require("../_util/filterSpecialCharacters"));
|
|
25
|
+
|
|
16
26
|
var _excluded = ["showCount", "maxLength", "specialCharactersFilter", "trim", "onChange", "onBlur", "placeholder"];
|
|
27
|
+
|
|
17
28
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
29
|
+
|
|
18
30
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
31
|
+
|
|
19
32
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
33
|
+
|
|
20
34
|
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); }
|
|
35
|
+
|
|
21
36
|
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; }
|
|
37
|
+
|
|
22
38
|
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; }
|
|
39
|
+
|
|
23
40
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
41
|
+
|
|
24
42
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
43
|
+
|
|
25
44
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
45
|
+
|
|
26
46
|
var VtxInput = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
27
47
|
var showCount = props.showCount,
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
48
|
+
_props$maxLength = props.maxLength,
|
|
49
|
+
maxLength = _props$maxLength === void 0 ? 32 : _props$maxLength,
|
|
50
|
+
_props$specialCharact = props.specialCharactersFilter,
|
|
51
|
+
specialCharactersFilter = _props$specialCharact === void 0 ? true : _props$specialCharact,
|
|
52
|
+
_props$trim = props.trim,
|
|
53
|
+
trim = _props$trim === void 0 ? true : _props$trim,
|
|
54
|
+
onChange = props.onChange,
|
|
55
|
+
_onBlur = props.onBlur,
|
|
56
|
+
_props$placeholder = props.placeholder,
|
|
57
|
+
placeholder = _props$placeholder === void 0 ? '请输入' : _props$placeholder,
|
|
58
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
59
|
+
|
|
39
60
|
var len = (0, _useLength["default"])(props.value, {
|
|
40
61
|
showCount: showCount
|
|
41
62
|
});
|
|
63
|
+
|
|
42
64
|
var newProps = _objectSpread({
|
|
43
65
|
ref: ref,
|
|
44
66
|
maxLength: maxLength,
|
|
@@ -46,18 +68,22 @@ var VtxInput = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
46
68
|
onBlur: function onBlur(e) {
|
|
47
69
|
var value = e.target.value;
|
|
48
70
|
var $e = e;
|
|
71
|
+
|
|
49
72
|
if (trim) {
|
|
50
73
|
value = value.trim();
|
|
51
74
|
}
|
|
75
|
+
|
|
52
76
|
if (specialCharactersFilter && value) {
|
|
53
77
|
$e = (0, _lodash["default"])(e);
|
|
54
78
|
$e.target.value = (0, _filterSpecialCharacters["default"])(value, (0, _getComponentProps["default"])(specialCharactersFilter));
|
|
55
79
|
onChange && onChange($e);
|
|
56
80
|
}
|
|
81
|
+
|
|
57
82
|
_onBlur && _onBlur($e);
|
|
58
83
|
},
|
|
59
84
|
onChange: onChange
|
|
60
85
|
}, rest);
|
|
86
|
+
|
|
61
87
|
showCount && 'value' in props && (newProps = _objectSpread({
|
|
62
88
|
suffix: "".concat(len, "/").concat(maxLength)
|
|
63
89
|
}, newProps));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["VtxInput","forwardRef","props","ref","showCount","maxLength","specialCharactersFilter","trim","onChange","onBlur","placeholder","rest","len","useLength","value","newProps","e","target","$e","cloneDeep","filterSpecialCharacters","getComponentProps","suffix","propTypes","PropTypes","number","string","bool","func","oneOfType","object","Search","Input","Group","Password","TextArea"],"sources":["vtx-input/index.jsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport Input from 'antd/lib/input';\nimport cloneDeep from 'lodash.clonedeep';\nimport TextArea from './TextArea';\nimport useLength from './useLength';\nimport getComponentProps from '../_util/getComponentProps';\nimport filterSpecialCharacters from '../_util/filterSpecialCharacters';\n\nconst VtxInput = forwardRef((props, ref) => {\n const {\n showCount,\n maxLength = 32,\n specialCharactersFilter = true,\n trim = true,\n onChange,\n onBlur,\n placeholder = '请输入',\n ...rest\n } = props;\n\n const len = useLength(props.value, { showCount });\n\n let newProps = {\n ref,\n maxLength,\n placeholder,\n onBlur(e) {\n let value = e.target.value;\n let $e = e;\n if (trim) {\n value = value.trim();\n }\n if (specialCharactersFilter && value) {\n $e = cloneDeep(e);\n $e.target.value = filterSpecialCharacters(\n value,\n getComponentProps(specialCharactersFilter),\n );\n onChange && onChange($e);\n }\n onBlur && onBlur($e);\n },\n onChange,\n ...rest,\n };\n\n showCount &&\n 'value' in props &&\n (newProps = {\n suffix: `${len}/${maxLength}`,\n ...newProps,\n });\n\n return <Input {...newProps} autoComplete=\"off\" />;\n});\n\nVtxInput.propTypes = {\n maxLength: PropTypes.number,\n value: PropTypes.string,\n showCount: PropTypes.bool,\n onChange: PropTypes.func,\n onBlur: PropTypes.func,\n placeholder: PropTypes.string,\n trim: PropTypes.bool,\n specialCharactersFilter: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n};\n\nVtxInput.Search = Input.Search;\nVtxInput.Group = Input.Group;\nVtxInput.Password = Input.Password;\nVtxInput.TextArea = TextArea;\n\nexport default VtxInput;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":["VtxInput","forwardRef","props","ref","showCount","maxLength","specialCharactersFilter","trim","onChange","onBlur","placeholder","rest","len","useLength","value","newProps","e","target","$e","cloneDeep","filterSpecialCharacters","getComponentProps","suffix","propTypes","PropTypes","number","string","bool","func","oneOfType","object","Search","Input","Group","Password","TextArea"],"sources":["vtx-input/index.jsx"],"sourcesContent":["import React, { forwardRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Input from 'antd/lib/input';\r\nimport cloneDeep from 'lodash.clonedeep';\r\nimport TextArea from './TextArea';\r\nimport useLength from './useLength';\r\nimport getComponentProps from '../_util/getComponentProps';\r\nimport filterSpecialCharacters from '../_util/filterSpecialCharacters';\r\n\r\nconst VtxInput = forwardRef((props, ref) => {\r\n const {\r\n showCount,\r\n maxLength = 32,\r\n specialCharactersFilter = true,\r\n trim = true,\r\n onChange,\r\n onBlur,\r\n placeholder = '请输入',\r\n ...rest\r\n } = props;\r\n\r\n const len = useLength(props.value, { showCount });\r\n\r\n let newProps = {\r\n ref,\r\n maxLength,\r\n placeholder,\r\n onBlur(e) {\r\n let value = e.target.value;\r\n let $e = e;\r\n if (trim) {\r\n value = value.trim();\r\n }\r\n if (specialCharactersFilter && value) {\r\n $e = cloneDeep(e);\r\n $e.target.value = filterSpecialCharacters(\r\n value,\r\n getComponentProps(specialCharactersFilter),\r\n );\r\n onChange && onChange($e);\r\n }\r\n onBlur && onBlur($e);\r\n },\r\n onChange,\r\n ...rest,\r\n };\r\n\r\n showCount &&\r\n 'value' in props &&\r\n (newProps = {\r\n suffix: `${len}/${maxLength}`,\r\n ...newProps,\r\n });\r\n\r\n return <Input {...newProps} autoComplete=\"off\" />;\r\n});\r\n\r\nVtxInput.propTypes = {\r\n maxLength: PropTypes.number,\r\n value: PropTypes.string,\r\n showCount: PropTypes.bool,\r\n onChange: PropTypes.func,\r\n onBlur: PropTypes.func,\r\n placeholder: PropTypes.string,\r\n trim: PropTypes.bool,\r\n specialCharactersFilter: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\r\n};\r\n\r\nVtxInput.Search = Input.Search;\r\nVtxInput.Group = Input.Group;\r\nVtxInput.Password = Input.Password;\r\nVtxInput.TextArea = TextArea;\r\n\r\nexport default VtxInput;\r\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,QAAQ,gBAAG,IAAAC,iBAAA,EAAW,UAACC,KAAD,EAAQC,GAAR,EAAgB;EACxC,IACIC,SADJ,GASIF,KATJ,CACIE,SADJ;EAAA,uBASIF,KATJ,CAEIG,SAFJ;EAAA,IAEIA,SAFJ,iCAEgB,EAFhB;EAAA,4BASIH,KATJ,CAGII,uBAHJ;EAAA,IAGIA,uBAHJ,sCAG8B,IAH9B;EAAA,kBASIJ,KATJ,CAIIK,IAJJ;EAAA,IAIIA,IAJJ,4BAIW,IAJX;EAAA,IAKIC,QALJ,GASIN,KATJ,CAKIM,QALJ;EAAA,IAMIC,OANJ,GASIP,KATJ,CAMIO,MANJ;EAAA,yBASIP,KATJ,CAOIQ,WAPJ;EAAA,IAOIA,WAPJ,mCAOkB,KAPlB;EAAA,IAQOC,IARP,4BASIT,KATJ;;EAWA,IAAMU,GAAG,GAAG,IAAAC,qBAAA,EAAUX,KAAK,CAACY,KAAhB,EAAuB;IAAEV,SAAS,EAATA;EAAF,CAAvB,CAAZ;;EAEA,IAAIW,QAAQ;IACRZ,GAAG,EAAHA,GADQ;IAERE,SAAS,EAATA,SAFQ;IAGRK,WAAW,EAAXA,WAHQ;IAIRD,MAJQ,kBAIDO,CAJC,EAIE;MACN,IAAIF,KAAK,GAAGE,CAAC,CAACC,MAAF,CAASH,KAArB;MACA,IAAII,EAAE,GAAGF,CAAT;;MACA,IAAIT,IAAJ,EAAU;QACNO,KAAK,GAAGA,KAAK,CAACP,IAAN,EAAR;MACH;;MACD,IAAID,uBAAuB,IAAIQ,KAA/B,EAAsC;QAClCI,EAAE,GAAG,IAAAC,kBAAA,EAAUH,CAAV,CAAL;QACAE,EAAE,CAACD,MAAH,CAAUH,KAAV,GAAkB,IAAAM,mCAAA,EACdN,KADc,EAEd,IAAAO,6BAAA,EAAkBf,uBAAlB,CAFc,CAAlB;QAIAE,QAAQ,IAAIA,QAAQ,CAACU,EAAD,CAApB;MACH;;MACDT,OAAM,IAAIA,OAAM,CAACS,EAAD,CAAhB;IACH,CAnBO;IAoBRV,QAAQ,EAARA;EApBQ,GAqBLG,IArBK,CAAZ;;EAwBAP,SAAS,IACL,WAAWF,KADf,KAEKa,QAAQ;IACLO,MAAM,YAAKV,GAAL,cAAYP,SAAZ;EADD,GAEFU,QAFE,CAFb;EAOA,oBAAO,gCAAC,iBAAD,eAAWA,QAAX;IAAqB,YAAY,EAAC;EAAlC,GAAP;AACH,CA9CgB,CAAjB;AAgDAf,QAAQ,CAACuB,SAAT,GAAqB;EACjBlB,SAAS,EAAEmB,qBAAA,CAAUC,MADJ;EAEjBX,KAAK,EAAEU,qBAAA,CAAUE,MAFA;EAGjBtB,SAAS,EAAEoB,qBAAA,CAAUG,IAHJ;EAIjBnB,QAAQ,EAAEgB,qBAAA,CAAUI,IAJH;EAKjBnB,MAAM,EAAEe,qBAAA,CAAUI,IALD;EAMjBlB,WAAW,EAAEc,qBAAA,CAAUE,MANN;EAOjBnB,IAAI,EAAEiB,qBAAA,CAAUG,IAPC;EAQjBrB,uBAAuB,EAAEkB,qBAAA,CAAUK,SAAV,CAAoB,CAACL,qBAAA,CAAUG,IAAX,EAAiBH,qBAAA,CAAUM,MAA3B,CAApB;AARR,CAArB;AAWA9B,QAAQ,CAAC+B,MAAT,GAAkBC,iBAAA,CAAMD,MAAxB;AACA/B,QAAQ,CAACiC,KAAT,GAAiBD,iBAAA,CAAMC,KAAvB;AACAjC,QAAQ,CAACkC,QAAT,GAAoBF,iBAAA,CAAME,QAA1B;AACAlC,QAAQ,CAACmC,QAAT,GAAoBA,oBAApB;eAEenC,Q"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css.js","names":[],"sources":["vtx-input/style/index.js"],"sourcesContent":["import 'antd/lib/input/style';\nimport './index.less';\n"],"mappings":";;AAAA
|
|
1
|
+
{"version":3,"file":"css.js","names":[],"sources":["vtx-input/style/index.js"],"sourcesContent":["import 'antd/lib/input/style';\r\nimport './index.less';\r\n"],"mappings":";;AAAA;;AACA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["vtx-input/style/index.js"],"sourcesContent":["import 'antd/lib/input/style';\nimport './index.less';\n"],"mappings":";;AAAA
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["vtx-input/style/index.js"],"sourcesContent":["import 'antd/lib/input/style';\r\nimport './index.less';\r\n"],"mappings":";;AAAA;;AACA"}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
@import (reference) '~antd/lib/style/themes/index.less';
|
|
2
|
-
|
|
3
|
-
.vtx-input-textarea {
|
|
4
|
-
position: relative;
|
|
5
|
-
&::after {
|
|
6
|
-
position: absolute;
|
|
7
|
-
right: 12px;
|
|
8
|
-
bottom: 8px;
|
|
9
|
-
color: @text-color-secondary;
|
|
10
|
-
line-height: @line-height-base;
|
|
11
|
-
white-space: nowrap;
|
|
12
|
-
content: attr(data-count);
|
|
13
|
-
pointer-events: none;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
.ant-input {
|
|
17
|
-
resize: none;
|
|
18
|
-
}
|
|
19
|
-
.ant-input-affix-wrapper .ant-input-suffix {
|
|
20
|
-
color: @text-color-secondary;
|
|
21
|
-
}
|
|
22
|
-
.ant-input-affix-wrapper .ant-input:not(:last-child) {
|
|
23
|
-
padding-right: 48px;
|
|
24
|
-
}
|
|
1
|
+
@import (reference) '~antd/lib/style/themes/index.less';
|
|
2
|
+
|
|
3
|
+
.vtx-input-textarea {
|
|
4
|
+
position: relative;
|
|
5
|
+
&::after {
|
|
6
|
+
position: absolute;
|
|
7
|
+
right: 12px;
|
|
8
|
+
bottom: 8px;
|
|
9
|
+
color: @text-color-secondary;
|
|
10
|
+
line-height: @line-height-base;
|
|
11
|
+
white-space: nowrap;
|
|
12
|
+
content: attr(data-count);
|
|
13
|
+
pointer-events: none;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
.ant-input {
|
|
17
|
+
resize: none;
|
|
18
|
+
}
|
|
19
|
+
.ant-input-affix-wrapper .ant-input-suffix {
|
|
20
|
+
color: @text-color-secondary;
|
|
21
|
+
}
|
|
22
|
+
.ant-input-affix-wrapper .ant-input:not(:last-child) {
|
|
23
|
+
padding-right: 48px;
|
|
24
|
+
}
|
|
@@ -4,26 +4,38 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
+
|
|
7
8
|
var _react = require("react");
|
|
9
|
+
|
|
8
10
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
11
|
+
|
|
9
12
|
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."); }
|
|
13
|
+
|
|
10
14
|
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); }
|
|
15
|
+
|
|
11
16
|
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; }
|
|
17
|
+
|
|
12
18
|
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
19
|
+
|
|
13
20
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
21
|
+
|
|
14
22
|
var useLength = function useLength() {
|
|
15
23
|
var val = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
24
|
+
|
|
16
25
|
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
17
|
-
|
|
26
|
+
showCount = _ref.showCount;
|
|
27
|
+
|
|
18
28
|
var _useState = (0, _react.useState)(0),
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
29
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
30
|
+
len = _useState2[0],
|
|
31
|
+
setLen = _useState2[1];
|
|
32
|
+
|
|
22
33
|
(0, _react.useEffect)(function () {
|
|
23
34
|
showCount && setLen(String(val !== null && val !== void 0 ? val : '').length);
|
|
24
35
|
}, [val]);
|
|
25
36
|
return len;
|
|
26
37
|
};
|
|
38
|
+
|
|
27
39
|
var _default = useLength;
|
|
28
40
|
exports["default"] = _default;
|
|
29
41
|
//# sourceMappingURL=useLength.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLength.js","names":["useLength","val","showCount","useState","len","setLen","useEffect","String","length"],"sources":["vtx-input/useLength.js"],"sourcesContent":["import { useState, useEffect } from 'react';\n\nconst useLength = (val = '', { showCount } = {}) => {\n const [len, setLen] = useState(0);\n useEffect(() => {\n showCount && setLen(String(val ?? '').length);\n }, [val]);\n return len;\n};\n\nexport default useLength;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useLength.js","names":["useLength","val","showCount","useState","len","setLen","useEffect","String","length"],"sources":["vtx-input/useLength.js"],"sourcesContent":["import { useState, useEffect } from 'react';\r\n\r\nconst useLength = (val = '', { showCount } = {}) => {\r\n const [len, setLen] = useState(0);\r\n useEffect(() => {\r\n showCount && setLen(String(val ?? '').length);\r\n }, [val]);\r\n return len;\r\n};\r\n\r\nexport default useLength;\r\n"],"mappings":";;;;;;;AAAA;;;;;;;;;;;;;;AAEA,IAAMA,SAAS,GAAG,SAAZA,SAAY,GAAkC;EAAA,IAAjCC,GAAiC,uEAA3B,EAA2B;;EAAA,+EAAP,EAAO;EAAA,IAArBC,SAAqB,QAArBA,SAAqB;;EAChD,gBAAsB,IAAAC,eAAA,EAAS,CAAT,CAAtB;EAAA;EAAA,IAAOC,GAAP;EAAA,IAAYC,MAAZ;;EACA,IAAAC,gBAAA,EAAU,YAAM;IACZJ,SAAS,IAAIG,MAAM,CAACE,MAAM,CAACN,GAAD,aAACA,GAAD,cAACA,GAAD,GAAQ,EAAR,CAAN,CAAkBO,MAAnB,CAAnB;EACH,CAFD,EAEG,CAACP,GAAD,CAFH;EAGA,OAAOG,GAAP;AACH,CAND;;eAQeJ,S"}
|
package/lib/vtx-modal/Title.js
CHANGED
|
@@ -4,12 +4,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
+
|
|
7
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
8
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
9
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
|
+
|
|
10
14
|
function Title(props) {
|
|
11
15
|
var text = props.text,
|
|
12
|
-
|
|
16
|
+
subtitle = props.subtitle;
|
|
13
17
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
14
18
|
className: "vtx-modal-header-title"
|
|
15
19
|
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
@@ -18,6 +22,7 @@ function Title(props) {
|
|
|
18
22
|
className: "vtx-modal-header-subtitle"
|
|
19
23
|
}, subtitle));
|
|
20
24
|
}
|
|
25
|
+
|
|
21
26
|
Title.propTypes = {
|
|
22
27
|
text: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].node]),
|
|
23
28
|
subtitle: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].node])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Title.js","names":["Title","props","text","subtitle","propTypes","PropTypes","oneOfType","string","node"],"sources":["vtx-modal/Title.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nfunction Title(props) {\n const { text, subtitle } = props;\n return (\n <div className=\"vtx-modal-header-title\">\n <span className=\"vtx-modal-header-text\">{text}</span>\n {subtitle && <span className=\"vtx-modal-header-subtitle\">{subtitle}</span>}\n </div>\n );\n}\n\nTitle.propTypes = {\n text: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n subtitle: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n};\n\nexport default Title;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Title.js","names":["Title","props","text","subtitle","propTypes","PropTypes","oneOfType","string","node"],"sources":["vtx-modal/Title.jsx"],"sourcesContent":["import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nfunction Title(props) {\r\n const { text, subtitle } = props;\r\n return (\r\n <div className=\"vtx-modal-header-title\">\r\n <span className=\"vtx-modal-header-text\">{text}</span>\r\n {subtitle && <span className=\"vtx-modal-header-subtitle\">{subtitle}</span>}\r\n </div>\r\n );\r\n}\r\n\r\nTitle.propTypes = {\r\n text: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\r\n subtitle: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\r\n};\r\n\r\nexport default Title;\r\n"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEA,SAASA,KAAT,CAAeC,KAAf,EAAsB;EAClB,IAAQC,IAAR,GAA2BD,KAA3B,CAAQC,IAAR;EAAA,IAAcC,QAAd,GAA2BF,KAA3B,CAAcE,QAAd;EACA,oBACI;IAAK,SAAS,EAAC;EAAf,gBACI;IAAM,SAAS,EAAC;EAAhB,GAAyCD,IAAzC,CADJ,EAEKC,QAAQ,iBAAI;IAAM,SAAS,EAAC;EAAhB,GAA6CA,QAA7C,CAFjB,CADJ;AAMH;;AAEDH,KAAK,CAACI,SAAN,GAAkB;EACdF,IAAI,EAAEG,qBAAA,CAAUC,SAAV,CAAoB,CAACD,qBAAA,CAAUE,MAAX,EAAmBF,qBAAA,CAAUG,IAA7B,CAApB,CADQ;EAEdL,QAAQ,EAAEE,qBAAA,CAAUC,SAAV,CAAoB,CAACD,qBAAA,CAAUE,MAAX,EAAmBF,qBAAA,CAAUG,IAA7B,CAApB;AAFI,CAAlB;eAKeR,K"}
|
package/lib/vtx-modal/index.js
CHANGED
|
@@ -1,32 +1,56 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
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); }
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports["default"] = void 0;
|
|
9
|
+
|
|
8
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
9
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
|
|
10
14
|
var _useUpdateEffect = _interopRequireDefault(require("ahooks/es/useUpdateEffect"));
|
|
15
|
+
|
|
11
16
|
var _useSetState5 = _interopRequireDefault(require("ahooks/es/useSetState"));
|
|
17
|
+
|
|
12
18
|
var _CloseOutlined = _interopRequireDefault(require("@ant-design/icons/CloseOutlined"));
|
|
19
|
+
|
|
13
20
|
var _FullscreenExitOutlined = _interopRequireDefault(require("@ant-design/icons/FullscreenExitOutlined"));
|
|
21
|
+
|
|
14
22
|
var _FullscreenOutlined = _interopRequireDefault(require("@ant-design/icons/FullscreenOutlined"));
|
|
23
|
+
|
|
15
24
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
25
|
+
|
|
16
26
|
var _modal = _interopRequireDefault(require("antd/lib/modal"));
|
|
27
|
+
|
|
17
28
|
var _Title = _interopRequireDefault(require("./Title"));
|
|
29
|
+
|
|
18
30
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
31
|
+
|
|
19
32
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
33
|
+
|
|
20
34
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
35
|
+
|
|
21
36
|
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; }
|
|
37
|
+
|
|
22
38
|
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; }
|
|
39
|
+
|
|
23
40
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
41
|
+
|
|
24
42
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
43
|
+
|
|
25
44
|
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."); }
|
|
45
|
+
|
|
26
46
|
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); }
|
|
47
|
+
|
|
27
48
|
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; }
|
|
49
|
+
|
|
28
50
|
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
51
|
+
|
|
29
52
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
53
|
+
|
|
30
54
|
// 对话框位置初始参数
|
|
31
55
|
var initDragArg = {
|
|
32
56
|
init_x: 0,
|
|
@@ -35,36 +59,39 @@ var initDragArg = {
|
|
|
35
59
|
y_move: 0,
|
|
36
60
|
documentMouseMove: null,
|
|
37
61
|
documentMouseUp: null
|
|
38
|
-
};
|
|
62
|
+
}; // 全屏参数
|
|
39
63
|
|
|
40
|
-
// 全屏参数
|
|
41
64
|
var initFullScreen = {
|
|
42
65
|
isFull: false,
|
|
43
66
|
className: ''
|
|
44
67
|
};
|
|
68
|
+
|
|
45
69
|
function VtxModal(props) {
|
|
46
70
|
var _useSetState = (0, _useSetState5["default"])(initFullScreen),
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
71
|
+
_useSetState2 = _slicedToArray(_useSetState, 2),
|
|
72
|
+
fullScreen = _useSetState2[0],
|
|
73
|
+
setFullScreen = _useSetState2[1]; // 是否是全屏状态
|
|
74
|
+
|
|
75
|
+
|
|
50
76
|
var _useSetState3 = (0, _useSetState5["default"])(initDragArg),
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
77
|
+
_useSetState4 = _slicedToArray(_useSetState3, 2),
|
|
78
|
+
dragArg = _useSetState4[0],
|
|
79
|
+
setDragArg = _useSetState4[1]; // 拖动配置
|
|
80
|
+
|
|
81
|
+
|
|
54
82
|
var classId = (0, _react.useRef)(new Date().getTime() + Math.random());
|
|
55
83
|
var _props$wrapClassName = props.wrapClassName,
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
// 监听对话框大小变化回调(忽略首次执行)
|
|
84
|
+
wrapClassName = _props$wrapClassName === void 0 ? '' : _props$wrapClassName,
|
|
85
|
+
_props$closable = props.closable,
|
|
86
|
+
closable = _props$closable === void 0 ? true : _props$closable,
|
|
87
|
+
_props$title = props.title,
|
|
88
|
+
title = _props$title === void 0 ? '' : _props$title,
|
|
89
|
+
_props$maximize = props.maximize,
|
|
90
|
+
maximize = _props$maximize === void 0 ? false : _props$maximize,
|
|
91
|
+
onModalResize = props.onModalResize,
|
|
92
|
+
_props$moveable = props.moveable,
|
|
93
|
+
moveable = _props$moveable === void 0 ? false : _props$moveable; // 监听对话框大小变化回调(忽略首次执行)
|
|
94
|
+
|
|
68
95
|
(0, _useUpdateEffect["default"])(function () {
|
|
69
96
|
var timer = setTimeout(function () {
|
|
70
97
|
if (onModalResize && typeof onModalResize === 'function') {
|
|
@@ -79,14 +106,15 @@ function VtxModal(props) {
|
|
|
79
106
|
return function () {
|
|
80
107
|
return clearTimeout(timer);
|
|
81
108
|
};
|
|
82
|
-
}, [fullScreen.isFull]);
|
|
109
|
+
}, [fullScreen.isFull]); // 拖拽
|
|
83
110
|
|
|
84
|
-
// 拖拽
|
|
85
111
|
(0, _react.useEffect)(function () {
|
|
86
112
|
if (props.visible && moveable) {
|
|
87
113
|
var timer = setTimeout(function () {
|
|
88
114
|
var _document$getElements, _document$getElements2, _document$getElements3;
|
|
115
|
+
|
|
89
116
|
var modalHead = (_document$getElements = document.getElementsByClassName(classId.current)) === null || _document$getElements === void 0 ? void 0 : (_document$getElements2 = _document$getElements[0]) === null || _document$getElements2 === void 0 ? void 0 : (_document$getElements3 = _document$getElements2.getElementsByClassName('ant-modal-header')) === null || _document$getElements3 === void 0 ? void 0 : _document$getElements3[0];
|
|
117
|
+
|
|
90
118
|
if (modalHead) {
|
|
91
119
|
modalHead.style.cursor = 'move';
|
|
92
120
|
modalHead.onmousedown = startDrag;
|
|
@@ -97,9 +125,10 @@ function VtxModal(props) {
|
|
|
97
125
|
};
|
|
98
126
|
}
|
|
99
127
|
});
|
|
128
|
+
|
|
100
129
|
var startDrag = function startDrag(e) {
|
|
101
|
-
e.preventDefault();
|
|
102
|
-
|
|
130
|
+
e.preventDefault(); // 全屏模式下禁止拖拽
|
|
131
|
+
|
|
103
132
|
if (!fullScreen.isFull) {
|
|
104
133
|
setDragArg({
|
|
105
134
|
documentMouseUp: document.onmouseup,
|
|
@@ -107,6 +136,7 @@ function VtxModal(props) {
|
|
|
107
136
|
init_x: e.clientX - dragArg.x_move,
|
|
108
137
|
init_y: e.clientY - dragArg.y_move
|
|
109
138
|
});
|
|
139
|
+
|
|
110
140
|
document.onmousemove = function (e) {
|
|
111
141
|
setDragArg(function (prev) {
|
|
112
142
|
return {
|
|
@@ -115,26 +145,28 @@ function VtxModal(props) {
|
|
|
115
145
|
};
|
|
116
146
|
});
|
|
117
147
|
};
|
|
148
|
+
|
|
118
149
|
document.onmouseup = function () {
|
|
119
150
|
document.onmousemove = dragArg.documentMouseMove;
|
|
120
151
|
document.onmouseup = dragArg.documentMouseUp;
|
|
121
152
|
};
|
|
122
153
|
}
|
|
123
|
-
};
|
|
154
|
+
}; // 关闭对话框,初始化位置
|
|
155
|
+
|
|
124
156
|
|
|
125
|
-
// 关闭对话框,初始化位置
|
|
126
157
|
var onCancel = function onCancel() {
|
|
127
158
|
if (props.onCancel && typeof props.onCancel === 'function') {
|
|
128
|
-
props.onCancel();
|
|
129
|
-
|
|
159
|
+
props.onCancel(); // TODO 关闭弹框会闪一下,待解决
|
|
160
|
+
|
|
130
161
|
setDragArg(initDragArg);
|
|
131
162
|
setFullScreen(initFullScreen);
|
|
132
163
|
}
|
|
133
164
|
};
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
*重写title,加入对话框全屏功能
|
|
165
|
+
/*
|
|
166
|
+
*重写title,加入对话框全屏功能
|
|
137
167
|
*/
|
|
168
|
+
|
|
169
|
+
|
|
138
170
|
title = function renderTitle() {
|
|
139
171
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
140
172
|
className: "vtx-modal-title",
|
|
@@ -148,9 +180,11 @@ function VtxModal(props) {
|
|
|
148
180
|
}, /*#__PURE__*/_react["default"].createElement("p", {
|
|
149
181
|
onClick: function onClick() {
|
|
150
182
|
var fullScreenClass = '';
|
|
183
|
+
|
|
151
184
|
if (!fullScreen.isFull) {
|
|
152
185
|
fullScreenClass = 'vtx-modal-maxClass';
|
|
153
186
|
}
|
|
187
|
+
|
|
154
188
|
setFullScreen({
|
|
155
189
|
isFull: !fullScreen.isFull,
|
|
156
190
|
className: fullScreenClass
|
|
@@ -162,17 +196,21 @@ function VtxModal(props) {
|
|
|
162
196
|
onClick: onCancel
|
|
163
197
|
}, /*#__PURE__*/_react["default"].createElement(_CloseOutlined["default"], null))) : '');
|
|
164
198
|
}();
|
|
165
|
-
var bodyStyle = _objectSpread({}, props.bodyStyle);
|
|
166
199
|
|
|
200
|
+
var bodyStyle = _objectSpread({}, props.bodyStyle);
|
|
167
201
|
/* 限制最大高度 */
|
|
202
|
+
|
|
203
|
+
|
|
168
204
|
if (!fullScreen.isFull) {
|
|
169
205
|
bodyStyle = _objectSpread({
|
|
170
206
|
maxHeight: "".concat(window.innerHeight * 0.7, "px")
|
|
171
207
|
}, bodyStyle);
|
|
172
208
|
}
|
|
209
|
+
|
|
173
210
|
var transformStyle = {
|
|
174
211
|
transform: "translate(".concat(dragArg.x_move, "px,").concat(dragArg.y_move, "px)")
|
|
175
212
|
};
|
|
213
|
+
|
|
176
214
|
var newProps = _objectSpread(_objectSpread({
|
|
177
215
|
maskClosable: false,
|
|
178
216
|
destroyOnClose: true,
|
|
@@ -185,8 +223,10 @@ function VtxModal(props) {
|
|
|
185
223
|
onCancel: onCancel,
|
|
186
224
|
style: _objectSpread(_objectSpread({}, props.style), fullScreen.isFull ? {} : transformStyle)
|
|
187
225
|
});
|
|
226
|
+
|
|
188
227
|
return /*#__PURE__*/_react["default"].createElement(_modal["default"], newProps, props.children);
|
|
189
228
|
}
|
|
229
|
+
|
|
190
230
|
VtxModal.info = _modal["default"].info;
|
|
191
231
|
VtxModal.success = _modal["default"].success;
|
|
192
232
|
VtxModal.error = _modal["default"].error;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["initDragArg","init_x","init_y","x_move","y_move","documentMouseMove","documentMouseUp","initFullScreen","isFull","className","VtxModal","props","useSetState","fullScreen","setFullScreen","dragArg","setDragArg","classId","useRef","Date","getTime","Math","random","wrapClassName","closable","title","maximize","onModalResize","moveable","useUpdateEffect","timer","setTimeout","el","document","getElementsByClassName","option","height","window","getComputedStyle","clearTimeout","useEffect","visible","modalHead","current","style","cursor","onmousedown","startDrag","e","preventDefault","onmouseup","onmousemove","clientX","clientY","prev","onCancel","renderTitle","paddingRight","fullScreenClass","bodyStyle","maxHeight","innerHeight","transformStyle","transform","newProps","maskClosable","destroyOnClose","width","classnames","children","info","Modal","success","error","warning","confirm","propTypes","PropTypes","bool","string","oneOfType","element","func","object","node","Title","size","xsmall","small","middle","large"],"sources":["vtx-modal/index.jsx"],"sourcesContent":["/*\n * @Author: chenxinyu\n * @Date: 2021-03-24 21:47:52\n * @LastEditors: your name\n * @LastEditTime: 2022-01-15 22:13:58\n * @Description: 对话框组件\n * @FilePath: \\react-components\\components\\vtx-modal\\index.jsx\n */\nimport React, { useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport useUpdateEffect from 'ahooks/es/useUpdateEffect';\nimport useSetState from 'ahooks/es/useSetState';\nimport CloseOutlined from '@ant-design/icons/CloseOutlined';\nimport FullscreenExitOutlined from '@ant-design/icons/FullscreenExitOutlined';\nimport FullscreenOutlined from '@ant-design/icons/FullscreenOutlined';\nimport classnames from 'classnames';\nimport Modal from 'antd/lib/modal';\nimport Title from './Title';\n\n// 对话框位置初始参数\nconst initDragArg = {\n init_x: 0,\n init_y: 0,\n x_move: 0,\n y_move: 0,\n documentMouseMove: null,\n documentMouseUp: null,\n};\n\n// 全屏参数\nconst initFullScreen = {\n isFull: false,\n className: '',\n};\n\nfunction VtxModal(props) {\n const [fullScreen, setFullScreen] = useSetState(initFullScreen); // 是否是全屏状态\n const [dragArg, setDragArg] = useSetState(initDragArg); // 拖动配置\n const classId = useRef(new Date().getTime() + Math.random());\n\n let {\n wrapClassName = '',\n closable = true, // 是否显示右上角关闭按钮\n title = '', // 对话框title\n maximize = false, // 是否显示对话框全屏按钮\n onModalResize, // 对话框全屏回调\n moveable = false, // 对话框是否允许拖动\n } = props;\n\n // 监听对话框大小变化回调(忽略首次执行)\n useUpdateEffect(() => {\n const timer = setTimeout(() => {\n if (onModalResize && typeof onModalResize === 'function') {\n const el = document.getElementsByClassName('ant-modal-body')[0];\n const option = {\n height: window.getComputedStyle(el).height,\n isFull: fullScreen.isFull,\n };\n onModalResize(option);\n }\n }, 100);\n return () => clearTimeout(timer);\n }, [fullScreen.isFull]);\n\n // 拖拽\n useEffect(() => {\n if (props.visible && moveable) {\n const timer = setTimeout(() => {\n const modalHead = document\n .getElementsByClassName(classId.current)?.[0]\n ?.getElementsByClassName('ant-modal-header')?.[0];\n if (modalHead) {\n modalHead.style.cursor = 'move';\n modalHead.onmousedown = startDrag;\n }\n }, 200);\n return () => clearTimeout(timer);\n }\n });\n\n const startDrag = e => {\n e.preventDefault();\n // 全屏模式下禁止拖拽\n if (!fullScreen.isFull) {\n setDragArg({\n documentMouseUp: document.onmouseup,\n documentMouseMove: document.onmousemove,\n init_x: e.clientX - dragArg.x_move,\n init_y: e.clientY - dragArg.y_move,\n });\n document.onmousemove = e => {\n setDragArg(prev => ({\n x_move: e.clientX - prev.init_x,\n y_move: e.clientY - prev.init_y,\n }));\n };\n document.onmouseup = () => {\n document.onmousemove = dragArg.documentMouseMove;\n document.onmouseup = dragArg.documentMouseUp;\n };\n }\n };\n\n // 关闭对话框,初始化位置\n const onCancel = () => {\n if (props.onCancel && typeof props.onCancel === 'function') {\n props.onCancel();\n // TODO 关闭弹框会闪一下,待解决\n setDragArg(initDragArg);\n setFullScreen(initFullScreen);\n }\n };\n\n /*\n *重写title,加入对话框全屏功能\n */\n title = (function renderTitle() {\n return (\n <div className=\"vtx-modal-title\" style={{ paddingRight: closable ? '32px' : '0px' }}>\n <div className=\"vtx-modal-title_name\">{title}</div>\n {maximize ? (\n <div className=\"vtx-modal-maximizeIcon\">\n <p\n onClick={() => {\n let fullScreenClass = '';\n if (!fullScreen.isFull) {\n fullScreenClass = 'vtx-modal-maxClass';\n }\n setFullScreen({\n isFull: !fullScreen.isFull,\n className: fullScreenClass,\n });\n }}\n >\n {fullScreen.isFull ? (\n <FullscreenExitOutlined />\n ) : (\n <FullscreenOutlined />\n )}\n </p>\n </div>\n ) : null}\n {closable ? (\n <div className=\"vtx-modal-close\">\n <p onClick={onCancel}>\n {/* <Icon type=\"close\" /> */}\n <CloseOutlined />\n </p>\n </div>\n ) : (\n ''\n )}\n </div>\n );\n })();\n\n let bodyStyle = {\n ...props.bodyStyle,\n };\n\n /* 限制最大高度 */\n if (!fullScreen.isFull) {\n bodyStyle = {\n maxHeight: `${window.innerHeight * 0.7}px`,\n ...bodyStyle,\n };\n }\n\n const transformStyle = {\n transform: `translate(${dragArg.x_move}px,${dragArg.y_move}px)`,\n };\n\n const newProps = {\n maskClosable: false,\n destroyOnClose: true,\n width: 700,\n ...props,\n closable: false,\n title,\n wrapClassName: classnames(\n 'vtx-modal',\n wrapClassName,\n fullScreen.className,\n classId.current,\n ),\n bodyStyle,\n onCancel,\n style: {\n ...props.style,\n ...(fullScreen.isFull ? {} : transformStyle),\n },\n };\n\n return <Modal {...newProps}>{props.children}</Modal>;\n}\n\nVtxModal.info = Modal.info;\nVtxModal.success = Modal.success;\nVtxModal.error = Modal.error;\nVtxModal.warning = Modal.warning;\nVtxModal.confirm = Modal.confirm;\n\nVtxModal.propTypes = {\n visible: PropTypes.bool,\n wrapClassName: PropTypes.string,\n closable: PropTypes.bool,\n title: PropTypes.oneOfType([PropTypes.element, PropTypes.string]),\n maximize: PropTypes.bool,\n onModalResize: PropTypes.func,\n moveable: PropTypes.bool,\n onCancel: PropTypes.func,\n bodyStyle: PropTypes.object,\n style: PropTypes.object,\n children: PropTypes.node,\n};\n\nVtxModal.Title = Title;\n\nconst size = {\n xsmall: 392,\n small: 500,\n middle: 744,\n large: 1096,\n};\n\nVtxModal.size = size;\n\nexport default VtxModal;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["initDragArg","init_x","init_y","x_move","y_move","documentMouseMove","documentMouseUp","initFullScreen","isFull","className","VtxModal","props","useSetState","fullScreen","setFullScreen","dragArg","setDragArg","classId","useRef","Date","getTime","Math","random","wrapClassName","closable","title","maximize","onModalResize","moveable","useUpdateEffect","timer","setTimeout","el","document","getElementsByClassName","option","height","window","getComputedStyle","clearTimeout","useEffect","visible","modalHead","current","style","cursor","onmousedown","startDrag","e","preventDefault","onmouseup","onmousemove","clientX","clientY","prev","onCancel","renderTitle","paddingRight","fullScreenClass","bodyStyle","maxHeight","innerHeight","transformStyle","transform","newProps","maskClosable","destroyOnClose","width","classnames","children","info","Modal","success","error","warning","confirm","propTypes","PropTypes","bool","string","oneOfType","element","func","object","node","Title","size","xsmall","small","middle","large"],"sources":["vtx-modal/index.jsx"],"sourcesContent":["/*\r\n * @Author: chenxinyu\r\n * @Date: 2021-03-24 21:47:52\r\n * @LastEditors: your name\r\n * @LastEditTime: 2022-01-15 22:13:58\r\n * @Description: 对话框组件\r\n * @FilePath: \\react-components\\components\\vtx-modal\\index.jsx\r\n */\r\nimport React, { useEffect, useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport useUpdateEffect from 'ahooks/es/useUpdateEffect';\r\nimport useSetState from 'ahooks/es/useSetState';\r\nimport CloseOutlined from '@ant-design/icons/CloseOutlined';\r\nimport FullscreenExitOutlined from '@ant-design/icons/FullscreenExitOutlined';\r\nimport FullscreenOutlined from '@ant-design/icons/FullscreenOutlined';\r\nimport classnames from 'classnames';\r\nimport Modal from 'antd/lib/modal';\r\nimport Title from './Title';\r\n\r\n// 对话框位置初始参数\r\nconst initDragArg = {\r\n init_x: 0,\r\n init_y: 0,\r\n x_move: 0,\r\n y_move: 0,\r\n documentMouseMove: null,\r\n documentMouseUp: null,\r\n};\r\n\r\n// 全屏参数\r\nconst initFullScreen = {\r\n isFull: false,\r\n className: '',\r\n};\r\n\r\nfunction VtxModal(props) {\r\n const [fullScreen, setFullScreen] = useSetState(initFullScreen); // 是否是全屏状态\r\n const [dragArg, setDragArg] = useSetState(initDragArg); // 拖动配置\r\n const classId = useRef(new Date().getTime() + Math.random());\r\n\r\n let {\r\n wrapClassName = '',\r\n closable = true, // 是否显示右上角关闭按钮\r\n title = '', // 对话框title\r\n maximize = false, // 是否显示对话框全屏按钮\r\n onModalResize, // 对话框全屏回调\r\n moveable = false, // 对话框是否允许拖动\r\n } = props;\r\n\r\n // 监听对话框大小变化回调(忽略首次执行)\r\n useUpdateEffect(() => {\r\n const timer = setTimeout(() => {\r\n if (onModalResize && typeof onModalResize === 'function') {\r\n const el = document.getElementsByClassName('ant-modal-body')[0];\r\n const option = {\r\n height: window.getComputedStyle(el).height,\r\n isFull: fullScreen.isFull,\r\n };\r\n onModalResize(option);\r\n }\r\n }, 100);\r\n return () => clearTimeout(timer);\r\n }, [fullScreen.isFull]);\r\n\r\n // 拖拽\r\n useEffect(() => {\r\n if (props.visible && moveable) {\r\n const timer = setTimeout(() => {\r\n const modalHead = document\r\n .getElementsByClassName(classId.current)?.[0]\r\n ?.getElementsByClassName('ant-modal-header')?.[0];\r\n if (modalHead) {\r\n modalHead.style.cursor = 'move';\r\n modalHead.onmousedown = startDrag;\r\n }\r\n }, 200);\r\n return () => clearTimeout(timer);\r\n }\r\n });\r\n\r\n const startDrag = e => {\r\n e.preventDefault();\r\n // 全屏模式下禁止拖拽\r\n if (!fullScreen.isFull) {\r\n setDragArg({\r\n documentMouseUp: document.onmouseup,\r\n documentMouseMove: document.onmousemove,\r\n init_x: e.clientX - dragArg.x_move,\r\n init_y: e.clientY - dragArg.y_move,\r\n });\r\n document.onmousemove = e => {\r\n setDragArg(prev => ({\r\n x_move: e.clientX - prev.init_x,\r\n y_move: e.clientY - prev.init_y,\r\n }));\r\n };\r\n document.onmouseup = () => {\r\n document.onmousemove = dragArg.documentMouseMove;\r\n document.onmouseup = dragArg.documentMouseUp;\r\n };\r\n }\r\n };\r\n\r\n // 关闭对话框,初始化位置\r\n const onCancel = () => {\r\n if (props.onCancel && typeof props.onCancel === 'function') {\r\n props.onCancel();\r\n // TODO 关闭弹框会闪一下,待解决\r\n setDragArg(initDragArg);\r\n setFullScreen(initFullScreen);\r\n }\r\n };\r\n\r\n /*\r\n *重写title,加入对话框全屏功能\r\n */\r\n title = (function renderTitle() {\r\n return (\r\n <div className=\"vtx-modal-title\" style={{ paddingRight: closable ? '32px' : '0px' }}>\r\n <div className=\"vtx-modal-title_name\">{title}</div>\r\n {maximize ? (\r\n <div className=\"vtx-modal-maximizeIcon\">\r\n <p\r\n onClick={() => {\r\n let fullScreenClass = '';\r\n if (!fullScreen.isFull) {\r\n fullScreenClass = 'vtx-modal-maxClass';\r\n }\r\n setFullScreen({\r\n isFull: !fullScreen.isFull,\r\n className: fullScreenClass,\r\n });\r\n }}\r\n >\r\n {fullScreen.isFull ? (\r\n <FullscreenExitOutlined />\r\n ) : (\r\n <FullscreenOutlined />\r\n )}\r\n </p>\r\n </div>\r\n ) : null}\r\n {closable ? (\r\n <div className=\"vtx-modal-close\">\r\n <p onClick={onCancel}>\r\n {/* <Icon type=\"close\" /> */}\r\n <CloseOutlined />\r\n </p>\r\n </div>\r\n ) : (\r\n ''\r\n )}\r\n </div>\r\n );\r\n })();\r\n\r\n let bodyStyle = {\r\n ...props.bodyStyle,\r\n };\r\n\r\n /* 限制最大高度 */\r\n if (!fullScreen.isFull) {\r\n bodyStyle = {\r\n maxHeight: `${window.innerHeight * 0.7}px`,\r\n ...bodyStyle,\r\n };\r\n }\r\n\r\n const transformStyle = {\r\n transform: `translate(${dragArg.x_move}px,${dragArg.y_move}px)`,\r\n };\r\n\r\n const newProps = {\r\n maskClosable: false,\r\n destroyOnClose: true,\r\n width: 700,\r\n ...props,\r\n closable: false,\r\n title,\r\n wrapClassName: classnames(\r\n 'vtx-modal',\r\n wrapClassName,\r\n fullScreen.className,\r\n classId.current,\r\n ),\r\n bodyStyle,\r\n onCancel,\r\n style: {\r\n ...props.style,\r\n ...(fullScreen.isFull ? {} : transformStyle),\r\n },\r\n };\r\n\r\n return <Modal {...newProps}>{props.children}</Modal>;\r\n}\r\n\r\nVtxModal.info = Modal.info;\r\nVtxModal.success = Modal.success;\r\nVtxModal.error = Modal.error;\r\nVtxModal.warning = Modal.warning;\r\nVtxModal.confirm = Modal.confirm;\r\n\r\nVtxModal.propTypes = {\r\n visible: PropTypes.bool,\r\n wrapClassName: PropTypes.string,\r\n closable: PropTypes.bool,\r\n title: PropTypes.oneOfType([PropTypes.element, PropTypes.string]),\r\n maximize: PropTypes.bool,\r\n onModalResize: PropTypes.func,\r\n moveable: PropTypes.bool,\r\n onCancel: PropTypes.func,\r\n bodyStyle: PropTypes.object,\r\n style: PropTypes.object,\r\n children: PropTypes.node,\r\n};\r\n\r\nVtxModal.Title = Title;\r\n\r\nconst size = {\r\n xsmall: 392,\r\n small: 500,\r\n middle: 744,\r\n large: 1096,\r\n};\r\n\r\nVtxModal.size = size;\r\n\r\nexport default VtxModal;\r\n"],"mappings":";;;;;;;;;AAQA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,IAAMA,WAAW,GAAG;EAChBC,MAAM,EAAE,CADQ;EAEhBC,MAAM,EAAE,CAFQ;EAGhBC,MAAM,EAAE,CAHQ;EAIhBC,MAAM,EAAE,CAJQ;EAKhBC,iBAAiB,EAAE,IALH;EAMhBC,eAAe,EAAE;AAND,CAApB,C,CASA;;AACA,IAAMC,cAAc,GAAG;EACnBC,MAAM,EAAE,KADW;EAEnBC,SAAS,EAAE;AAFQ,CAAvB;;AAKA,SAASC,QAAT,CAAkBC,KAAlB,EAAyB;EACrB,mBAAoC,IAAAC,wBAAA,EAAYL,cAAZ,CAApC;EAAA;EAAA,IAAOM,UAAP;EAAA,IAAmBC,aAAnB,oBADqB,CAC4C;;;EACjE,oBAA8B,IAAAF,wBAAA,EAAYZ,WAAZ,CAA9B;EAAA;EAAA,IAAOe,OAAP;EAAA,IAAgBC,UAAhB,oBAFqB,CAEmC;;;EACxD,IAAMC,OAAO,GAAG,IAAAC,aAAA,EAAO,IAAIC,IAAJ,GAAWC,OAAX,KAAuBC,IAAI,CAACC,MAAL,EAA9B,CAAhB;EAEA,2BAOIX,KAPJ,CACIY,aADJ;EAAA,IACIA,aADJ,qCACoB,EADpB;EAAA,sBAOIZ,KAPJ,CAEIa,QAFJ;EAAA,IAEIA,QAFJ,gCAEe,IAFf;EAAA,mBAOIb,KAPJ,CAGIc,KAHJ;EAAA,IAGIA,KAHJ,6BAGY,EAHZ;EAAA,sBAOId,KAPJ,CAIIe,QAJJ;EAAA,IAIIA,QAJJ,gCAIe,KAJf;EAAA,IAKIC,aALJ,GAOIhB,KAPJ,CAKIgB,aALJ;EAAA,sBAOIhB,KAPJ,CAMIiB,QANJ;EAAA,IAMIA,QANJ,gCAMe,KANf,mBALqB,CAcrB;;EACA,IAAAC,2BAAA,EAAgB,YAAM;IAClB,IAAMC,KAAK,GAAGC,UAAU,CAAC,YAAM;MAC3B,IAAIJ,aAAa,IAAI,OAAOA,aAAP,KAAyB,UAA9C,EAA0D;QACtD,IAAMK,EAAE,GAAGC,QAAQ,CAACC,sBAAT,CAAgC,gBAAhC,EAAkD,CAAlD,CAAX;QACA,IAAMC,MAAM,GAAG;UACXC,MAAM,EAAEC,MAAM,CAACC,gBAAP,CAAwBN,EAAxB,EAA4BI,MADzB;UAEX5B,MAAM,EAAEK,UAAU,CAACL;QAFR,CAAf;QAIAmB,aAAa,CAACQ,MAAD,CAAb;MACH;IACJ,CATuB,EASrB,GATqB,CAAxB;IAUA,OAAO;MAAA,OAAMI,YAAY,CAACT,KAAD,CAAlB;IAAA,CAAP;EACH,CAZD,EAYG,CAACjB,UAAU,CAACL,MAAZ,CAZH,EAfqB,CA6BrB;;EACA,IAAAgC,gBAAA,EAAU,YAAM;IACZ,IAAI7B,KAAK,CAAC8B,OAAN,IAAiBb,QAArB,EAA+B;MAC3B,IAAME,KAAK,GAAGC,UAAU,CAAC,YAAM;QAAA;;QAC3B,IAAMW,SAAS,4BAAGT,QAAQ,CACrBC,sBADa,CACUjB,OAAO,CAAC0B,OADlB,CAAH,oFAAG,sBAC6B,CAD7B,CAAH,qFAAG,uBAEZT,sBAFY,CAEW,kBAFX,CAAH,2DAAG,uBAEiC,CAFjC,CAAlB;;QAGA,IAAIQ,SAAJ,EAAe;UACXA,SAAS,CAACE,KAAV,CAAgBC,MAAhB,GAAyB,MAAzB;UACAH,SAAS,CAACI,WAAV,GAAwBC,SAAxB;QACH;MACJ,CARuB,EAQrB,GARqB,CAAxB;MASA,OAAO;QAAA,OAAMR,YAAY,CAACT,KAAD,CAAlB;MAAA,CAAP;IACH;EACJ,CAbD;;EAeA,IAAMiB,SAAS,GAAG,SAAZA,SAAY,CAAAC,CAAC,EAAI;IACnBA,CAAC,CAACC,cAAF,GADmB,CAEnB;;IACA,IAAI,CAACpC,UAAU,CAACL,MAAhB,EAAwB;MACpBQ,UAAU,CAAC;QACPV,eAAe,EAAE2B,QAAQ,CAACiB,SADnB;QAEP7C,iBAAiB,EAAE4B,QAAQ,CAACkB,WAFrB;QAGPlD,MAAM,EAAE+C,CAAC,CAACI,OAAF,GAAYrC,OAAO,CAACZ,MAHrB;QAIPD,MAAM,EAAE8C,CAAC,CAACK,OAAF,GAAYtC,OAAO,CAACX;MAJrB,CAAD,CAAV;;MAMA6B,QAAQ,CAACkB,WAAT,GAAuB,UAAAH,CAAC,EAAI;QACxBhC,UAAU,CAAC,UAAAsC,IAAI;UAAA,OAAK;YAChBnD,MAAM,EAAE6C,CAAC,CAACI,OAAF,GAAYE,IAAI,CAACrD,MADT;YAEhBG,MAAM,EAAE4C,CAAC,CAACK,OAAF,GAAYC,IAAI,CAACpD;UAFT,CAAL;QAAA,CAAL,CAAV;MAIH,CALD;;MAMA+B,QAAQ,CAACiB,SAAT,GAAqB,YAAM;QACvBjB,QAAQ,CAACkB,WAAT,GAAuBpC,OAAO,CAACV,iBAA/B;QACA4B,QAAQ,CAACiB,SAAT,GAAqBnC,OAAO,CAACT,eAA7B;MACH,CAHD;IAIH;EACJ,CArBD,CA7CqB,CAoErB;;;EACA,IAAMiD,QAAQ,GAAG,SAAXA,QAAW,GAAM;IACnB,IAAI5C,KAAK,CAAC4C,QAAN,IAAkB,OAAO5C,KAAK,CAAC4C,QAAb,KAA0B,UAAhD,EAA4D;MACxD5C,KAAK,CAAC4C,QAAN,GADwD,CAExD;;MACAvC,UAAU,CAAChB,WAAD,CAAV;MACAc,aAAa,CAACP,cAAD,CAAb;IACH;EACJ,CAPD;EASA;AACJ;AACA;;;EACIkB,KAAK,GAAI,SAAS+B,WAAT,GAAuB;IAC5B,oBACI;MAAK,SAAS,EAAC,iBAAf;MAAiC,KAAK,EAAE;QAAEC,YAAY,EAAEjC,QAAQ,GAAG,MAAH,GAAY;MAApC;IAAxC,gBACI;MAAK,SAAS,EAAC;IAAf,GAAuCC,KAAvC,CADJ,EAEKC,QAAQ,gBACL;MAAK,SAAS,EAAC;IAAf,gBACI;MACI,OAAO,EAAE,mBAAM;QACX,IAAIgC,eAAe,GAAG,EAAtB;;QACA,IAAI,CAAC7C,UAAU,CAACL,MAAhB,EAAwB;UACpBkD,eAAe,GAAG,oBAAlB;QACH;;QACD5C,aAAa,CAAC;UACVN,MAAM,EAAE,CAACK,UAAU,CAACL,MADV;UAEVC,SAAS,EAAEiD;QAFD,CAAD,CAAb;MAIH;IAVL,GAYK7C,UAAU,CAACL,MAAX,gBACG,gCAAC,kCAAD,OADH,gBAGG,gCAAC,8BAAD,OAfR,CADJ,CADK,GAqBL,IAvBR,EAwBKgB,QAAQ,gBACL;MAAK,SAAS,EAAC;IAAf,gBACI;MAAG,OAAO,EAAE+B;IAAZ,gBAEI,gCAAC,yBAAD,OAFJ,CADJ,CADK,GAQL,EAhCR,CADJ;EAqCH,CAtCO,EAAR;;EAwCA,IAAII,SAAS,qBACNhD,KAAK,CAACgD,SADA,CAAb;EAIA;;;EACA,IAAI,CAAC9C,UAAU,CAACL,MAAhB,EAAwB;IACpBmD,SAAS;MACLC,SAAS,YAAKvB,MAAM,CAACwB,WAAP,GAAqB,GAA1B;IADJ,GAEFF,SAFE,CAAT;EAIH;;EAED,IAAMG,cAAc,GAAG;IACnBC,SAAS,sBAAehD,OAAO,CAACZ,MAAvB,gBAAmCY,OAAO,CAACX,MAA3C;EADU,CAAvB;;EAIA,IAAM4D,QAAQ;IACVC,YAAY,EAAE,KADJ;IAEVC,cAAc,EAAE,IAFN;IAGVC,KAAK,EAAE;EAHG,GAIPxD,KAJO;IAKVa,QAAQ,EAAE,KALA;IAMVC,KAAK,EAALA,KANU;IAOVF,aAAa,EAAE,IAAA6C,sBAAA,EACX,WADW,EAEX7C,aAFW,EAGXV,UAAU,CAACJ,SAHA,EAIXQ,OAAO,CAAC0B,OAJG,CAPL;IAaVgB,SAAS,EAATA,SAbU;IAcVJ,QAAQ,EAARA,QAdU;IAeVX,KAAK,kCACEjC,KAAK,CAACiC,KADR,GAEG/B,UAAU,CAACL,MAAX,GAAoB,EAApB,GAAyBsD,cAF5B;EAfK,EAAd;;EAqBA,oBAAO,gCAAC,iBAAD,EAAWE,QAAX,EAAsBrD,KAAK,CAAC0D,QAA5B,CAAP;AACH;;AAED3D,QAAQ,CAAC4D,IAAT,GAAgBC,iBAAA,CAAMD,IAAtB;AACA5D,QAAQ,CAAC8D,OAAT,GAAmBD,iBAAA,CAAMC,OAAzB;AACA9D,QAAQ,CAAC+D,KAAT,GAAiBF,iBAAA,CAAME,KAAvB;AACA/D,QAAQ,CAACgE,OAAT,GAAmBH,iBAAA,CAAMG,OAAzB;AACAhE,QAAQ,CAACiE,OAAT,GAAmBJ,iBAAA,CAAMI,OAAzB;AAEAjE,QAAQ,CAACkE,SAAT,GAAqB;EACjBnC,OAAO,EAAEoC,qBAAA,CAAUC,IADF;EAEjBvD,aAAa,EAAEsD,qBAAA,CAAUE,MAFR;EAGjBvD,QAAQ,EAAEqD,qBAAA,CAAUC,IAHH;EAIjBrD,KAAK,EAAEoD,qBAAA,CAAUG,SAAV,CAAoB,CAACH,qBAAA,CAAUI,OAAX,EAAoBJ,qBAAA,CAAUE,MAA9B,CAApB,CAJU;EAKjBrD,QAAQ,EAAEmD,qBAAA,CAAUC,IALH;EAMjBnD,aAAa,EAAEkD,qBAAA,CAAUK,IANR;EAOjBtD,QAAQ,EAAEiD,qBAAA,CAAUC,IAPH;EAQjBvB,QAAQ,EAAEsB,qBAAA,CAAUK,IARH;EASjBvB,SAAS,EAAEkB,qBAAA,CAAUM,MATJ;EAUjBvC,KAAK,EAAEiC,qBAAA,CAAUM,MAVA;EAWjBd,QAAQ,EAAEQ,qBAAA,CAAUO;AAXH,CAArB;AAcA1E,QAAQ,CAAC2E,KAAT,GAAiBA,iBAAjB;AAEA,IAAMC,IAAI,GAAG;EACTC,MAAM,EAAE,GADC;EAETC,KAAK,EAAE,GAFE;EAGTC,MAAM,EAAE,GAHC;EAITC,KAAK,EAAE;AAJE,CAAb;AAOAhF,QAAQ,CAAC4E,IAAT,GAAgBA,IAAhB;eAEe5E,Q"}
|