@vtx/components 3.0.0-2 → 3.0.1
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 +68 -0
- package/lib/_util/useColSize.js +38 -0
- package/lib/_util/useColSize.js.map +1 -0
- package/lib/vtx-datagrid/renderColumnButtons.js +5 -3
- package/lib/vtx-datagrid/renderColumnButtons.js.map +1 -1
- package/lib/vtx-editor/style/css.js +0 -2
- package/lib/vtx-editor/style/css.js.map +1 -1
- package/lib/vtx-editor/style/index.js +0 -2
- package/lib/vtx-editor/style/index.js.map +1 -1
- package/lib/vtx-export/style/css.js +0 -2
- package/lib/vtx-export/style/css.js.map +1 -1
- package/lib/vtx-export/style/index.js +0 -2
- package/lib/vtx-export/style/index.js.map +1 -1
- package/lib/vtx-form-layout/style/css.js +0 -2
- package/lib/vtx-form-layout/style/css.js.map +1 -1
- package/lib/vtx-form-layout/style/index.css +3 -3
- package/lib/vtx-form-layout/style/index.js +0 -2
- package/lib/vtx-form-layout/style/index.js.map +1 -1
- package/lib/vtx-form-layout/style/index.less +3 -1
- package/lib/vtx-modal/index.js +8 -4
- package/lib/vtx-modal/index.js.map +1 -1
- package/lib/vtx-modal/style/css.js +0 -2
- package/lib/vtx-modal/style/css.js.map +1 -1
- package/lib/vtx-modal/style/index.js +0 -2
- package/lib/vtx-modal/style/index.js.map +1 -1
- package/lib/vtx-scrollable-row/index.js +5 -3
- package/lib/vtx-scrollable-row/index.js.map +1 -1
- package/lib/vtx-scrollable-row/style/css.js +0 -2
- package/lib/vtx-scrollable-row/style/css.js.map +1 -1
- package/lib/vtx-scrollable-row/style/index.js +0 -2
- package/lib/vtx-scrollable-row/style/index.js.map +1 -1
- package/lib/vtx-search/index.js +13 -5
- package/lib/vtx-search/index.js.map +1 -1
- package/lib/vtx-search/style/css.js +0 -2
- package/lib/vtx-search/style/css.js.map +1 -1
- package/lib/vtx-search/style/index.css +4 -0
- package/lib/vtx-search/style/index.js +0 -2
- package/lib/vtx-search/style/index.js.map +1 -1
- package/lib/vtx-search/style/index.less +1 -0
- package/lib/vtx-split-pane/SplitPane.js +10 -10
- package/lib/vtx-split-pane/SplitPane.js.map +1 -1
- package/lib/vtx-split-pane/style/index.css +1 -0
- package/lib/vtx-split-pane/style/index.less +1 -0
- package/lib/vtx-upload/index.js +1 -1
- package/lib/vtx-upload/index.js.map +1 -1
- package/lib/vtx-upload/style/css.js +0 -2
- package/lib/vtx-upload/style/css.js.map +1 -1
- package/lib/vtx-upload/style/index.js +0 -2
- package/lib/vtx-upload/style/index.js.map +1 -1
- package/lib/vtx-ztree-select/style/css.js +0 -2
- package/lib/vtx-ztree-select/style/css.js.map +1 -1
- package/lib/vtx-ztree-select/style/index.js +0 -2
- package/lib/vtx-ztree-select/style/index.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,66 @@
|
|
|
1
|
+
## [3.0.1](https://git.cloudhw.cn:3443/front-end/react-components/compare/3.0.0...3.0.1) (2022-02-18)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### ✨ Features
|
|
5
|
+
|
|
6
|
+
* 数据表格操作列按钮最多显示4个,显示逻辑调整 ([cd1d314](https://git.cloudhw.cn:3443/front-end/react-components/commit/cd1d314)) by: **gongjinhua**
|
|
7
|
+
* 查询布局VtxSearch根据分辨率默认显示不同的列数 ([06d6b30](https://git.cloudhw.cn:3443/front-end/react-components/commit/06d6b30)) by: **gongjinhua**
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### 🐛 Bug Fixes
|
|
11
|
+
|
|
12
|
+
* 修复上传组件beforeUpload无效 ([8f22927](https://git.cloudhw.cn:3443/front-end/react-components/commit/8f22927)) by: **xuzhengyun**
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
# [3.0.0](https://git.cloudhw.cn:3443/front-end/react-components/compare/3.0.0-4...3.0.0) (2022-01-17)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### 🎫 Chores
|
|
20
|
+
|
|
21
|
+
* ahooks版本升级为3.x ([f91a6b7](https://git.cloudhw.cn:3443/front-end/react-components/commit/f91a6b7)) by: **gongjinhua**
|
|
22
|
+
* release v3.0.0 ([9692e6a](https://git.cloudhw.cn:3443/front-end/react-components/commit/9692e6a)) by: **gongjinhua**
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### 🐛 Bug Fixes
|
|
26
|
+
|
|
27
|
+
* 修复分割面板页面初始加载时宽度计算错误的问题 ([5059ca6](https://git.cloudhw.cn:3443/front-end/react-components/commit/5059ca6)) by: **gongjinhua**
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
### 📝 Documentation
|
|
31
|
+
|
|
32
|
+
* 结合useAntdTable使用VtxDatagrid示例修改 ([d55b4e9](https://git.cloudhw.cn:3443/front-end/react-components/commit/d55b4e9)) by: **gongjinhua**
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
# [3.0.0-4](https://git.cloudhw.cn:3443/front-end/react-components/compare/3.0.0-3...3.0.0-4) (2022-01-16)
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
### ✨ Features
|
|
40
|
+
|
|
41
|
+
* @ant-design/icons按需加载 ([ed54592](https://git.cloudhw.cn:3443/front-end/react-components/commit/ed54592)) by: **gongjinhua**
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
### 🎫 Chores
|
|
45
|
+
|
|
46
|
+
* release v3.0.0-4 ([e67ec3a](https://git.cloudhw.cn:3443/front-end/react-components/commit/e67ec3a)) by: **gongjinhua**
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
# [3.0.0-3](https://git.cloudhw.cn:3443/front-end/react-components/compare/3.0.0-2...3.0.0-3) (2022-01-15)
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
### 🎫 Chores
|
|
54
|
+
|
|
55
|
+
* release v3.0.0-3 ([40c4ac0](https://git.cloudhw.cn:3443/front-end/react-components/commit/40c4ac0)) by: **gongjinhua**
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
### 🐛 Bug Fixes
|
|
59
|
+
|
|
60
|
+
* 修复表单布局查看模式下样式问题 ([da255e0](https://git.cloudhw.cn:3443/front-end/react-components/commit/da255e0)) by: **gongjinhua**
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
1
64
|
# [3.0.0-2](https://git.cloudhw.cn:3443/front-end/react-components/compare/3.0.0-1...3.0.0-2) (2022-01-15)
|
|
2
65
|
|
|
3
66
|
|
|
@@ -12,6 +75,11 @@
|
|
|
12
75
|
* 表单列间距调整 ([2843e79](https://git.cloudhw.cn:3443/front-end/react-components/commit/2843e79)) by: **gongjinhua**
|
|
13
76
|
|
|
14
77
|
|
|
78
|
+
### 🎫 Chores
|
|
79
|
+
|
|
80
|
+
* release v3.0.0-2 ([58d5001](https://git.cloudhw.cn:3443/front-end/react-components/commit/58d5001)) by: **gongjinhua**
|
|
81
|
+
|
|
82
|
+
|
|
15
83
|
### 🐛 Bug Fixes
|
|
16
84
|
|
|
17
85
|
* https://github.com/ant-design/ant-design/issues/33007 ([222a1d9](https://git.cloudhw.cn:3443/front-end/react-components/commit/222a1d9)) by: **gongjinhua**
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
|
|
8
|
+
var _useSize = _interopRequireDefault(require("ahooks/lib/useSize"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
+
|
|
12
|
+
var COL_SIZE = {
|
|
13
|
+
lg: 'lg',
|
|
14
|
+
md: 'md',
|
|
15
|
+
sm: 'sm'
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
var _default = function _default() {
|
|
19
|
+
var dom = document.querySelector('body');
|
|
20
|
+
|
|
21
|
+
var _ref = (0, _useSize["default"])(dom) || {},
|
|
22
|
+
width = _ref.width;
|
|
23
|
+
|
|
24
|
+
var size = COL_SIZE.lg;
|
|
25
|
+
|
|
26
|
+
if (width >= 1370) {
|
|
27
|
+
size = COL_SIZE.lg;
|
|
28
|
+
} else if (width >= 992) {
|
|
29
|
+
size = COL_SIZE.md;
|
|
30
|
+
} else {
|
|
31
|
+
size = COL_SIZE.sm;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return size;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
exports["default"] = _default;
|
|
38
|
+
//# sourceMappingURL=useColSize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["_util/useColSize.js"],"names":["COL_SIZE","lg","md","sm","dom","document","querySelector","width","size"],"mappings":";;;;;;;AAAA;;;;AAEA,IAAMA,QAAQ,GAAG;AACbC,EAAAA,EAAE,EAAE,IADS;AAEbC,EAAAA,EAAE,EAAE,IAFS;AAGbC,EAAAA,EAAE,EAAE;AAHS,CAAjB;;eAMe,oBAAM;AACjB,MAAMC,GAAG,GAAGC,QAAQ,CAACC,aAAT,CAAuB,MAAvB,CAAZ;;AACA,aAAkB,yBAAQF,GAAR,KAAgB,EAAlC;AAAA,MAAQG,KAAR,QAAQA,KAAR;;AACA,MAAIC,IAAI,GAAGR,QAAQ,CAACC,EAApB;;AACA,MAAIM,KAAK,IAAI,IAAb,EAAmB;AACfC,IAAAA,IAAI,GAAGR,QAAQ,CAACC,EAAhB;AACH,GAFD,MAEO,IAAIM,KAAK,IAAI,GAAb,EAAkB;AACrBC,IAAAA,IAAI,GAAGR,QAAQ,CAACE,EAAhB;AACH,GAFM,MAEA;AACHM,IAAAA,IAAI,GAAGR,QAAQ,CAACG,EAAhB;AACH;;AACD,SAAOK,IAAP;AACH,C","sourcesContent":["import useSize from 'ahooks/lib/useSize';\n\nconst COL_SIZE = {\n lg: 'lg',\n md: 'md',\n sm: 'sm',\n};\n\nexport default () => {\n const dom = document.querySelector('body');\n const { width } = useSize(dom) || {};\n let size = COL_SIZE.lg;\n if (width >= 1370) {\n size = COL_SIZE.lg;\n } else if (width >= 992) {\n size = COL_SIZE.md;\n } else {\n size = COL_SIZE.sm;\n }\n return size;\n};\n"],"file":"useColSize.js"}
|
|
@@ -42,7 +42,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
42
42
|
var renderColumnButtons = function renderColumnButtons(renderButtons) {
|
|
43
43
|
var _renderButtons;
|
|
44
44
|
|
|
45
|
-
var visible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] :
|
|
45
|
+
var visible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 4;
|
|
46
46
|
var text = arguments.length > 2 ? arguments[2] : undefined;
|
|
47
47
|
var record = arguments.length > 3 ? arguments[3] : undefined;
|
|
48
48
|
var index = arguments.length > 4 ? arguments[4] : undefined;
|
|
@@ -59,9 +59,11 @@ var renderColumnButtons = function renderColumnButtons(renderButtons) {
|
|
|
59
59
|
var actionsLen = actions.length; // 更多
|
|
60
60
|
|
|
61
61
|
var moreRender;
|
|
62
|
+
var realVisible = visible;
|
|
62
63
|
|
|
63
64
|
if (actionsLen > visible) {
|
|
64
|
-
|
|
65
|
+
realVisible = realVisible - 1;
|
|
66
|
+
var moreActions = actions.slice(realVisible);
|
|
65
67
|
/* eslint-disable */
|
|
66
68
|
|
|
67
69
|
moreRender = /*#__PURE__*/_react["default"].createElement(_dropdown["default"], {
|
|
@@ -78,7 +80,7 @@ var renderColumnButtons = function renderColumnButtons(renderButtons) {
|
|
|
78
80
|
}, /*#__PURE__*/_react["default"].createElement("a", null, "\u66F4\u591A", /*#__PURE__*/_react["default"].createElement(_DownOutlined["default"], null)));
|
|
79
81
|
}
|
|
80
82
|
|
|
81
|
-
return [].concat(_toConsumableArray(actions.slice(0,
|
|
83
|
+
return [].concat(_toConsumableArray(actions.slice(0, realVisible).map(function (item, i) {
|
|
82
84
|
var name = item.name,
|
|
83
85
|
onClick = item.onClick,
|
|
84
86
|
popconfirm = item.popconfirm;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["vtx-datagrid/renderColumnButtons.jsx"],"names":["renderColumnButtons","renderButtons","visible","text","record","index","actions","filter","item","Array","isArray","actionsLen","length","moreRender","moreActions","slice","e","key","onClick","map","i","name","popconfirm","btnNode","undefined","confirm","rest"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,aAAD,EAAqD;AAAA;;AAAA,MAArCC,OAAqC,uEAA3B,CAA2B;AAAA,MAAxBC,IAAwB;AAAA,MAAlBC,MAAkB;AAAA,MAAVC,KAAU;AAC7E,MAAMC,OAAO,qBAAGL,aAAa,CAACE,IAAD,EAAOC,MAAP,EAAeC,KAAf,CAAhB,mDAAG,eAAoCE,MAApC,CACZ,UAAAC,IAAI;AAAA;;AAAA,WAAIA,IAAI,sBAAKA,IAAI,CAACN,OAAV,yDAAqB,IAArB,CAAR;AAAA,GADQ,CAAhB;;AAGA,MAAI,CAACO,KAAK,CAACC,OAAN,CAAcJ,OAAd,CAAL,EAA6B;AACzB;AACH;;AACD,MAAMK,UAAU,GAAGL,OAAO,CAACM,MAA3B,CAP6E,CAQ7E;;AACA,MAAIC,UAAJ;;AACA,
|
|
1
|
+
{"version":3,"sources":["vtx-datagrid/renderColumnButtons.jsx"],"names":["renderColumnButtons","renderButtons","visible","text","record","index","actions","filter","item","Array","isArray","actionsLen","length","moreRender","realVisible","moreActions","slice","e","key","onClick","map","i","name","popconfirm","btnNode","undefined","confirm","rest"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,aAAD,EAAqD;AAAA;;AAAA,MAArCC,OAAqC,uEAA3B,CAA2B;AAAA,MAAxBC,IAAwB;AAAA,MAAlBC,MAAkB;AAAA,MAAVC,KAAU;AAC7E,MAAMC,OAAO,qBAAGL,aAAa,CAACE,IAAD,EAAOC,MAAP,EAAeC,KAAf,CAAhB,mDAAG,eAAoCE,MAApC,CACZ,UAAAC,IAAI;AAAA;;AAAA,WAAIA,IAAI,sBAAKA,IAAI,CAACN,OAAV,yDAAqB,IAArB,CAAR;AAAA,GADQ,CAAhB;;AAGA,MAAI,CAACO,KAAK,CAACC,OAAN,CAAcJ,OAAd,CAAL,EAA6B;AACzB;AACH;;AACD,MAAMK,UAAU,GAAGL,OAAO,CAACM,MAA3B,CAP6E,CAQ7E;;AACA,MAAIC,UAAJ;AACA,MAAIC,WAAW,GAAGZ,OAAlB;;AACA,MAAIS,UAAU,GAAGT,OAAjB,EAA0B;AACtBY,IAAAA,WAAW,GAAGA,WAAW,GAAG,CAA5B;AACA,QAAMC,WAAW,GAAGT,OAAO,CAACU,KAAR,CAAcF,WAAd,CAApB;AACA;;AACAD,IAAAA,UAAU,gBACN,gCAAC,oBAAD;AACI,MAAA,GAAG,EAAC,MADR;AAEI,MAAA,OAAO,eACH,gCAAC,gBAAD;AAAM,QAAA,OAAO,EAAE,iBAAAI,CAAC;AAAA,iBAAIF,WAAW,CAACE,CAAC,CAACC,GAAH,CAAX,CAAmBC,OAAnB,CAA2Bf,MAA3B,EAAmCC,KAAnC,CAAJ;AAAA;AAAhB,SACKU,WAAW,CAACK,GAAZ,CAAgB,UAACZ,IAAD,EAAOa,CAAP;AAAA,4BACb,gCAAC,gBAAD,CAAM,IAAN;AAAW,UAAA,GAAG,EAAEA;AAAhB,WAAoBb,IAAI,CAACc,IAAzB,CADa;AAAA,OAAhB,CADL;AAHR,oBAUI,wEAEI,gCAAC,wBAAD,OAFJ,CAVJ,CADJ;AAiBH;;AAED,sCACOhB,OAAO,CAACU,KAAR,CAAc,CAAd,EAAiBF,WAAjB,EAA8BM,GAA9B,CAAkC,UAACZ,IAAD,EAAOa,CAAP,EAAa;AAC9C,QAAQC,IAAR,GAAsCd,IAAtC,CAAQc,IAAR;AAAA,QAAcH,OAAd,GAAsCX,IAAtC,CAAcW,OAAd;AAAA,QAAuBI,UAAvB,GAAsCf,IAAtC,CAAuBe,UAAvB;;AACA,QAAIC,OAAO,gBACP;AACI,MAAA,GAAG,EAAEF,IADT;AAEI,MAAA,OAAO,EAAEH,OAAO,IAAI,CAACI,UAAZ,GAAyB;AAAA,eAAMJ,OAAO,CAACf,MAAD,EAASC,KAAT,CAAb;AAAA,OAAzB,GAAwDoB;AAFrE,OAIKH,IAJL,CADJ;;AASA,QAAIC,UAAJ,EAAgB;AACZ,UAAQG,OAAR,GAA6BH,UAA7B,CAAQG,OAAR;AAAA,UAAoBC,IAApB,4BAA6BJ,UAA7B;;AACAC,MAAAA,OAAO,gBACH,gCAAC,sBAAD,eACQG,IADR;AAEI,QAAA,SAAS,EAAED,OAAO,GAAG;AAAA,iBAAMA,OAAO,CAACtB,MAAD,EAASC,KAAT,CAAb;AAAA,SAAH,GAAkCoB,SAFxD;AAGI,QAAA,GAAG,EAAEH;AAHT,UAKKE,OALL,CADJ;AASH;;AAED,WAAO,CAACA,OAAD,EAAUH,CAAC,IAAIV,UAAU,GAAG,CAAlB,iBAAuB,gCAAC,mBAAD;AAAS,MAAA,GAAG,EAAEU,CAAd;AAAiB,MAAA,IAAI,EAAC;AAAtB,MAAjC,CAAP;AACH,GAzBE,CADP,IA2BIR,UA3BJ;AA6BH,CA/DD;;eAiEeb,mB","sourcesContent":["import React from 'react';\nimport Popconfirm from 'antd/lib/popconfirm';\nimport Dropdown from 'antd/lib/dropdown';\nimport Menu from 'antd/lib/menu';\nimport Divider from 'antd/lib/divider';\nimport DownOutlined from '@ant-design/icons/DownOutlined';\n\nconst renderColumnButtons = (renderButtons, visible = 4, text, record, index) => {\n const actions = renderButtons(text, record, index)?.filter(\n item => item && (item.visible ?? true),\n );\n if (!Array.isArray(actions)) {\n return;\n }\n const actionsLen = actions.length;\n // 更多\n let moreRender;\n let realVisible = visible;\n if (actionsLen > visible) {\n realVisible = realVisible - 1;\n const moreActions = actions.slice(realVisible);\n /* eslint-disable */\n moreRender = (\n <Dropdown\n key=\"more\"\n overlay={\n <Menu onClick={e => moreActions[e.key].onClick(record, index)}>\n {moreActions.map((item, i) => (\n <Menu.Item key={i}>{item.name}</Menu.Item>\n ))}\n </Menu>\n }\n >\n <a>\n 更多\n <DownOutlined />\n </a>\n </Dropdown>\n );\n }\n\n return [\n ...actions.slice(0, realVisible).map((item, i) => {\n const { name, onClick, popconfirm } = item;\n let btnNode = (\n <a\n key={name}\n onClick={onClick && !popconfirm ? () => onClick(record, index) : undefined}\n >\n {name}\n </a>\n );\n\n if (popconfirm) {\n const { confirm, ...rest } = popconfirm;\n btnNode = (\n <Popconfirm\n {...rest}\n onConfirm={confirm ? () => confirm(record, index) : undefined}\n key={name}\n >\n {btnNode}\n </Popconfirm>\n );\n }\n\n return [btnNode, i != actionsLen - 1 && <Divider key={i} type=\"vertical\" />];\n }),\n moreRender,\n ];\n};\n\nexport default renderColumnButtons;\n"],"file":"renderColumnButtons.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["vtx-editor/style/index.js"],"names":[],"mappings":";;AAAA;;AACA
|
|
1
|
+
{"version":3,"sources":["vtx-editor/style/index.js"],"names":[],"mappings":";;AAAA;;AACA","sourcesContent":["import 'braft-editor/dist/index.css';\nimport './index.less';\n"],"file":"css.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["vtx-editor/style/index.js"],"names":[],"mappings":";;AAAA;;AACA
|
|
1
|
+
{"version":3,"sources":["vtx-editor/style/index.js"],"names":[],"mappings":";;AAAA;;AACA","sourcesContent":["import 'braft-editor/dist/index.css';\nimport './index.less';\n"],"file":"index.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["vtx-export/style/index.js"],"names":[],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA
|
|
1
|
+
{"version":3,"sources":["vtx-export/style/index.js"],"names":[],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA","sourcesContent":["import 'antd/lib/button/style';\nimport 'antd/lib/menu/style';\nimport 'antd/lib/dropdown/style';\nimport 'antd/lib/message/style';\nimport 'antd/lib/spin/style';\nimport './index.less';\n"],"file":"css.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["vtx-export/style/index.js"],"names":[],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA
|
|
1
|
+
{"version":3,"sources":["vtx-export/style/index.js"],"names":[],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA","sourcesContent":["import 'antd/lib/button/style';\nimport 'antd/lib/menu/style';\nimport 'antd/lib/dropdown/style';\nimport 'antd/lib/message/style';\nimport 'antd/lib/spin/style';\nimport './index.less';\n"],"file":"index.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["vtx-form-layout/style/index.js"],"names":[],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA
|
|
1
|
+
{"version":3,"sources":["vtx-form-layout/style/index.js"],"names":[],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA","sourcesContent":["import 'antd/lib/row/style';\nimport 'antd/lib/col/style';\nimport 'antd/lib/form/style';\nimport 'antd/lib/tooltip/style';\nimport 'antd/lib/card/style';\nimport 'antd/lib/divider/style';\nimport 'antd/lib/skeleton/style';\nimport './index.less';\n"],"file":"css.js"}
|
|
@@ -39,9 +39,6 @@
|
|
|
39
39
|
.vtx-form-layout .vtx-form-item .ant-form-item-explain {
|
|
40
40
|
font-size: 12px;
|
|
41
41
|
}
|
|
42
|
-
.vtx-form-layout .vtx-form-item--view {
|
|
43
|
-
margin-bottom: 0;
|
|
44
|
-
}
|
|
45
42
|
.vtx-form-layout .vtx-form-item--view .ant-form-item-label,
|
|
46
43
|
.vtx-form-layout .vtx-form-item--view .ant-form-item-control {
|
|
47
44
|
line-height: 1.5715;
|
|
@@ -62,6 +59,9 @@
|
|
|
62
59
|
.vtx-form-layout .vtx-form-item-col .ant-form-item {
|
|
63
60
|
margin-bottom: 20px;
|
|
64
61
|
}
|
|
62
|
+
.vtx-form-layout .vtx-form-item-col .vtx-form-item--view {
|
|
63
|
+
margin-bottom: 0;
|
|
64
|
+
}
|
|
65
65
|
.vtx-form-layout .vtx-form-item-col .ant-form-item-with-help {
|
|
66
66
|
margin-bottom: 0;
|
|
67
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["vtx-form-layout/style/index.js"],"names":[],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA
|
|
1
|
+
{"version":3,"sources":["vtx-form-layout/style/index.js"],"names":[],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA","sourcesContent":["import 'antd/lib/row/style';\nimport 'antd/lib/col/style';\nimport 'antd/lib/form/style';\nimport 'antd/lib/tooltip/style';\nimport 'antd/lib/card/style';\nimport 'antd/lib/divider/style';\nimport 'antd/lib/skeleton/style';\nimport './index.less';\n"],"file":"index.js"}
|
|
@@ -34,7 +34,6 @@
|
|
|
34
34
|
font-size: @font-size-sm;
|
|
35
35
|
}
|
|
36
36
|
&--view {
|
|
37
|
-
margin-bottom: 0;
|
|
38
37
|
.ant-form-item-label,
|
|
39
38
|
.ant-form-item-control {
|
|
40
39
|
line-height: @line-height-base;
|
|
@@ -60,6 +59,9 @@
|
|
|
60
59
|
.ant-form-item {
|
|
61
60
|
margin-bottom: 20px;
|
|
62
61
|
}
|
|
62
|
+
.vtx-form-item--view {
|
|
63
|
+
margin-bottom: 0;
|
|
64
|
+
}
|
|
63
65
|
.ant-form-item-with-help {
|
|
64
66
|
margin-bottom: 0;
|
|
65
67
|
}
|
package/lib/vtx-modal/index.js
CHANGED
|
@@ -15,14 +15,18 @@ var _useUpdateEffect = _interopRequireDefault(require("ahooks/es/useUpdateEffect
|
|
|
15
15
|
|
|
16
16
|
var _useSetState5 = _interopRequireDefault(require("ahooks/es/useSetState"));
|
|
17
17
|
|
|
18
|
+
var _CloseOutlined = _interopRequireDefault(require("@ant-design/icons/CloseOutlined"));
|
|
19
|
+
|
|
20
|
+
var _FullscreenExitOutlined = _interopRequireDefault(require("@ant-design/icons/FullscreenExitOutlined"));
|
|
21
|
+
|
|
22
|
+
var _FullscreenOutlined = _interopRequireDefault(require("@ant-design/icons/FullscreenOutlined"));
|
|
23
|
+
|
|
18
24
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
19
25
|
|
|
20
26
|
var _modal = _interopRequireDefault(require("antd/lib/modal"));
|
|
21
27
|
|
|
22
28
|
var _Title = _interopRequireDefault(require("./Title"));
|
|
23
29
|
|
|
24
|
-
var _icons = require("@ant-design/icons");
|
|
25
|
-
|
|
26
30
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
27
31
|
|
|
28
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); }
|
|
@@ -186,11 +190,11 @@ function VtxModal(props) {
|
|
|
186
190
|
className: fullScreenClass
|
|
187
191
|
});
|
|
188
192
|
}
|
|
189
|
-
}, fullScreen.isFull ? /*#__PURE__*/_react["default"].createElement(
|
|
193
|
+
}, fullScreen.isFull ? /*#__PURE__*/_react["default"].createElement(_FullscreenExitOutlined["default"], null) : /*#__PURE__*/_react["default"].createElement(_FullscreenOutlined["default"], null))) : null, closable ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
190
194
|
className: "vtx-modal-close"
|
|
191
195
|
}, /*#__PURE__*/_react["default"].createElement("p", {
|
|
192
196
|
onClick: onCancel
|
|
193
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
197
|
+
}, /*#__PURE__*/_react["default"].createElement(_CloseOutlined["default"], null))) : '');
|
|
194
198
|
}();
|
|
195
199
|
|
|
196
200
|
var bodyStyle = _objectSpread({}, props.bodyStyle);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["vtx-modal/index.jsx"],"names":["initDragArg","init_x","init_y","x_move","y_move","documentMouseMove","documentMouseUp","initFullScreen","isFull","className","VtxModal","props","fullScreen","setFullScreen","dragArg","setDragArg","classId","Date","getTime","Math","random","wrapClassName","closable","title","maximize","onModalResize","moveable","timer","setTimeout","el","document","getElementsByClassName","option","height","window","getComputedStyle","clearTimeout","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","children","info","Modal","success","error","warning","confirm","propTypes","PropTypes","bool","string","oneOfType","element","func","object","node","Title","size","xsmall","small","middle","large"],"mappings":"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","sourcesContent":["/*\n * @Author: chenxinyu\n * @Date: 2021-03-24 21:47:52\n * @LastEditors: your name\n * @LastEditTime: 2021-11-23 09:21:48\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 classnames from 'classnames';\nimport Modal from 'antd/lib/modal';\nimport Title from './Title';\nimport { CloseOutlined, FullscreenExitOutlined, FullscreenOutlined } from '@ant-design/icons';\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"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["vtx-modal/index.jsx"],"names":["initDragArg","init_x","init_y","x_move","y_move","documentMouseMove","documentMouseUp","initFullScreen","isFull","className","VtxModal","props","fullScreen","setFullScreen","dragArg","setDragArg","classId","Date","getTime","Math","random","wrapClassName","closable","title","maximize","onModalResize","moveable","timer","setTimeout","el","document","getElementsByClassName","option","height","window","getComputedStyle","clearTimeout","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","children","info","Modal","success","error","warning","confirm","propTypes","PropTypes","bool","string","oneOfType","element","func","object","node","Title","size","xsmall","small","middle","large"],"mappings":"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","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"],"file":"index.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["vtx-modal/style/index.js"],"names":[],"mappings":";;AAAA;;AACA
|
|
1
|
+
{"version":3,"sources":["vtx-modal/style/index.js"],"names":[],"mappings":";;AAAA;;AACA","sourcesContent":["import 'antd/lib/modal/style';\nimport './index.less';\n"],"file":"css.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["vtx-modal/style/index.js"],"names":[],"mappings":";;AAAA;;AACA
|
|
1
|
+
{"version":3,"sources":["vtx-modal/style/index.js"],"names":[],"mappings":";;AAAA;;AACA","sourcesContent":["import 'antd/lib/modal/style';\nimport './index.less';\n"],"file":"index.js"}
|
|
@@ -17,7 +17,9 @@ var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
|
17
17
|
|
|
18
18
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _RightOutlined = _interopRequireDefault(require("@ant-design/icons/RightOutlined"));
|
|
21
|
+
|
|
22
|
+
var _LeftOutlined = _interopRequireDefault(require("@ant-design/icons/LeftOutlined"));
|
|
21
23
|
|
|
22
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
23
25
|
|
|
@@ -189,7 +191,7 @@ function VtxScrollableRow(props) {
|
|
|
189
191
|
className: (0, _classnames3["default"])((_classnames = {}, _defineProperty(_classnames, "".concat(prefixCls, "-prev"), true), _defineProperty(_classnames, "".concat(prefixCls, "-btn-disabled"), !prev), _defineProperty(_classnames, "".concat(prefixCls, "-arrow-show"), showNextPrev), _classnames))
|
|
190
192
|
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
191
193
|
className: "".concat(prefixCls, "-prev-icon")
|
|
192
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
194
|
+
}, /*#__PURE__*/_react["default"].createElement(_LeftOutlined["default"], null)));
|
|
193
195
|
|
|
194
196
|
var nextButton = /*#__PURE__*/_react["default"].createElement("span", {
|
|
195
197
|
onClick: next ? handleNext : null,
|
|
@@ -197,7 +199,7 @@ function VtxScrollableRow(props) {
|
|
|
197
199
|
className: (0, _classnames3["default"])((_classnames2 = {}, _defineProperty(_classnames2, "".concat(prefixCls, "-next"), true), _defineProperty(_classnames2, "".concat(prefixCls, "-btn-disabled"), !next), _defineProperty(_classnames2, "".concat(prefixCls, "-arrow-show"), showNextPrev), _classnames2))
|
|
198
200
|
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
199
201
|
className: "".concat(prefixCls, "-next-icon")
|
|
200
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
202
|
+
}, /*#__PURE__*/_react["default"].createElement(_RightOutlined["default"], null)));
|
|
201
203
|
|
|
202
204
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
203
205
|
className: (0, _classnames3["default"])("".concat(prefixCls, "-container"), className),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["vtx-scrollable-row/index.jsx"],"names":["isTransformSupported","style","setTransform","v","transform","webkitTransform","mozTransform","VtxScrollableRow","props","next","prev","state","setState","prefixCls","className","offset","containerRef","navWrapRef","navRef","debouncedResize","setNextPrev","window","addEventListener","removeEventListener","navNodeW","current","scrollWidth","containerW","offsetWidth","navWrapNodeW","minOffset","setOffset","realOffset","setNext","setPrev","os","checkNextPrev","target","Math","min","navOffset","navStyle","transformSupported","value","name","handlePrev","handleNext","showNextPrev","prevButton","nextButton","children","propTypes","PropTypes","string","object","node"],"mappings":"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","sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport classnames from 'classnames';\nimport debounce from 'lodash/debounce';\nimport PropTypes from 'prop-types';\n\nimport { RightOutlined, LeftOutlined } from '@ant-design/icons';\n\nexport function isTransformSupported(style) {\n return 'transform' in style || 'webkitTransform' in style || 'MozTransform' in style;\n}\n\nexport function setTransform(style, v) {\n style.transform = v;\n style.webkitTransform = v;\n style.mozTransform = v;\n}\n\nfunction VtxScrollableRow(props) {\n const [state, setState] = useState({\n next: false,\n prev: false,\n });\n const { next, prev } = state;\n const { prefixCls = 'vtx-scrollable-row', className, style } = props;\n\n const offset = useRef(0);\n const containerRef = useRef();\n const navWrapRef = useRef();\n const navRef = useRef();\n\n useEffect(() => {\n const debouncedResize = debounce(() => {\n setNextPrev();\n }, 200);\n window.addEventListener('resize', debouncedResize);\n setNextPrev();\n return () => {\n window.removeEventListener('resize', debouncedResize);\n };\n }, []);\n\n function setNextPrev() {\n const navNodeW = navRef.current.scrollWidth;\n const containerW = containerRef.current.offsetWidth;\n const navWrapNodeW = navWrapRef.current.offsetWidth;\n\n const minOffset = containerW - navNodeW;\n let { next, prev } = state;\n if (minOffset >= 0) {\n next = false;\n setOffset(0, false);\n offset.current = 0;\n } else if (minOffset < offset.current) {\n next = true;\n } else {\n next = false;\n const realOffset = navWrapNodeW - navNodeW;\n setOffset(realOffset, false);\n offset.current = realOffset;\n }\n\n if (offset.current < 0) {\n prev = true;\n } else {\n prev = false;\n }\n setNext(next);\n setPrev(prev);\n return {\n next,\n prev,\n };\n }\n\n const setOffset = (os, checkNextPrev = true) => {\n const target = Math.min(0, os);\n if (offset.current !== target) {\n offset.current = target;\n let navOffset = {};\n const navStyle = navRef.current.style;\n const transformSupported = isTransformSupported(navStyle);\n if (transformSupported) {\n navOffset = {\n value: `translate3d(${target}px,0,0)`,\n };\n } else {\n navOffset = {\n name: 'left',\n value: `${target}px`,\n };\n }\n if (transformSupported) {\n setTransform(navStyle, navOffset.value);\n } else {\n navStyle[navOffset.name] = navOffset.value;\n }\n if (checkNextPrev) {\n setNextPrev();\n }\n }\n };\n\n const setPrev = v => {\n if (prev !== v) {\n setState({\n ...state,\n prev: v,\n });\n }\n };\n\n const setNext = v => {\n if (next !== v) {\n setState({\n ...state,\n next: v,\n });\n }\n };\n\n // 上一页\n const handlePrev = () => {\n const navWrapNodeW = navWrapRef.current.offsetWidth;\n setOffset(offset.current + navWrapNodeW);\n };\n\n // 下一页\n const handleNext = () => {\n const navWrapNodeW = navWrapRef.current.offsetWidth;\n setOffset(offset.current - navWrapNodeW);\n };\n\n const showNextPrev = prev || next;\n\n const prevButton = (\n <span\n onClick={prev ? handlePrev : null}\n unselectable=\"on\"\n className={classnames({\n [`${prefixCls}-prev`]: true,\n [`${prefixCls}-btn-disabled`]: !prev,\n [`${prefixCls}-arrow-show`]: showNextPrev,\n })}\n >\n <span className={`${prefixCls}-prev-icon`}>\n <LeftOutlined />\n </span>\n </span>\n );\n\n const nextButton = (\n <span\n onClick={next ? handleNext : null}\n unselectable=\"on\"\n className={classnames({\n [`${prefixCls}-next`]: true,\n [`${prefixCls}-btn-disabled`]: !next,\n [`${prefixCls}-arrow-show`]: showNextPrev,\n })}\n >\n <span className={`${prefixCls}-next-icon`}>\n <RightOutlined />\n </span>\n </span>\n );\n\n return (\n <div\n className={classnames(`${prefixCls}-container`, className)}\n style={style}\n ref={containerRef}\n >\n {prevButton}\n {nextButton}\n <div className={`${prefixCls}-nav-wrap`} ref={navWrapRef}>\n <div className={`${prefixCls}-nav-scroll`}>\n <div className={`${prefixCls}-nav`} ref={navRef}>\n {props.children}\n </div>\n </div>\n </div>\n </div>\n );\n}\n\nexport default VtxScrollableRow;\n\nVtxScrollableRow.propTypes = {\n prefixCls: PropTypes.string,\n className: PropTypes.string,\n style: PropTypes.object,\n children: PropTypes.node,\n};\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["vtx-scrollable-row/index.jsx"],"names":["isTransformSupported","style","setTransform","v","transform","webkitTransform","mozTransform","VtxScrollableRow","props","next","prev","state","setState","prefixCls","className","offset","containerRef","navWrapRef","navRef","debouncedResize","setNextPrev","window","addEventListener","removeEventListener","navNodeW","current","scrollWidth","containerW","offsetWidth","navWrapNodeW","minOffset","setOffset","realOffset","setNext","setPrev","os","checkNextPrev","target","Math","min","navOffset","navStyle","transformSupported","value","name","handlePrev","handleNext","showNextPrev","prevButton","nextButton","children","propTypes","PropTypes","string","object","node"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,SAASA,oBAAT,CAA8BC,KAA9B,EAAqC;AACxC,SAAO,eAAeA,KAAf,IAAwB,qBAAqBA,KAA7C,IAAsD,kBAAkBA,KAA/E;AACH;;AAEM,SAASC,YAAT,CAAsBD,KAAtB,EAA6BE,CAA7B,EAAgC;AACnCF,EAAAA,KAAK,CAACG,SAAN,GAAkBD,CAAlB;AACAF,EAAAA,KAAK,CAACI,eAAN,GAAwBF,CAAxB;AACAF,EAAAA,KAAK,CAACK,YAAN,GAAqBH,CAArB;AACH;;AAED,SAASI,gBAAT,CAA0BC,KAA1B,EAAiC;AAAA;;AAC7B,kBAA0B,qBAAS;AAC/BC,IAAAA,IAAI,EAAE,KADyB;AAE/BC,IAAAA,IAAI,EAAE;AAFyB,GAAT,CAA1B;AAAA;AAAA,MAAOC,KAAP;AAAA,MAAcC,QAAd;;AAIA,MAAQH,IAAR,GAAuBE,KAAvB,CAAQF,IAAR;AAAA,MAAcC,IAAd,GAAuBC,KAAvB,CAAcD,IAAd;AACA,yBAA+DF,KAA/D,CAAQK,SAAR;AAAA,MAAQA,SAAR,iCAAoB,oBAApB;AAAA,MAA0CC,SAA1C,GAA+DN,KAA/D,CAA0CM,SAA1C;AAAA,MAAqDb,KAArD,GAA+DO,KAA/D,CAAqDP,KAArD;AAEA,MAAMc,MAAM,GAAG,mBAAO,CAAP,CAAf;AACA,MAAMC,YAAY,GAAG,oBAArB;AACA,MAAMC,UAAU,GAAG,oBAAnB;AACA,MAAMC,MAAM,GAAG,oBAAf;AAEA,wBAAU,YAAM;AACZ,QAAMC,eAAe,GAAG,0BAAS,YAAM;AACnCC,MAAAA,WAAW;AACd,KAFuB,EAErB,GAFqB,CAAxB;AAGAC,IAAAA,MAAM,CAACC,gBAAP,CAAwB,QAAxB,EAAkCH,eAAlC;AACAC,IAAAA,WAAW;AACX,WAAO,YAAM;AACTC,MAAAA,MAAM,CAACE,mBAAP,CAA2B,QAA3B,EAAqCJ,eAArC;AACH,KAFD;AAGH,GATD,EASG,EATH;;AAWA,WAASC,WAAT,GAAuB;AACnB,QAAMI,QAAQ,GAAGN,MAAM,CAACO,OAAP,CAAeC,WAAhC;AACA,QAAMC,UAAU,GAAGX,YAAY,CAACS,OAAb,CAAqBG,WAAxC;AACA,QAAMC,YAAY,GAAGZ,UAAU,CAACQ,OAAX,CAAmBG,WAAxC;AAEA,QAAME,SAAS,GAAGH,UAAU,GAAGH,QAA/B;AACA,QAAMf,IAAN,GAAqBE,KAArB,CAAMF,IAAN;AAAA,QAAYC,IAAZ,GAAqBC,KAArB,CAAYD,IAAZ;;AACA,QAAIoB,SAAS,IAAI,CAAjB,EAAoB;AAChBrB,MAAAA,IAAI,GAAG,KAAP;AACAsB,MAAAA,SAAS,CAAC,CAAD,EAAI,KAAJ,CAAT;AACAhB,MAAAA,MAAM,CAACU,OAAP,GAAiB,CAAjB;AACH,KAJD,MAIO,IAAIK,SAAS,GAAGf,MAAM,CAACU,OAAvB,EAAgC;AACnChB,MAAAA,IAAI,GAAG,IAAP;AACH,KAFM,MAEA;AACHA,MAAAA,IAAI,GAAG,KAAP;AACA,UAAMuB,UAAU,GAAGH,YAAY,GAAGL,QAAlC;AACAO,MAAAA,SAAS,CAACC,UAAD,EAAa,KAAb,CAAT;AACAjB,MAAAA,MAAM,CAACU,OAAP,GAAiBO,UAAjB;AACH;;AAED,QAAIjB,MAAM,CAACU,OAAP,GAAiB,CAArB,EAAwB;AACpBf,MAAAA,IAAI,GAAG,IAAP;AACH,KAFD,MAEO;AACHA,MAAAA,IAAI,GAAG,KAAP;AACH;;AACDuB,IAAAA,OAAO,CAACxB,IAAD,CAAP;AACAyB,IAAAA,OAAO,CAACxB,IAAD,CAAP;AACA,WAAO;AACHD,MAAAA,IAAI,EAAJA,IADG;AAEHC,MAAAA,IAAI,EAAJA;AAFG,KAAP;AAIH;;AAED,MAAMqB,SAAS,GAAG,SAAZA,SAAY,CAACI,EAAD,EAA8B;AAAA,QAAzBC,aAAyB,uEAAT,IAAS;AAC5C,QAAMC,MAAM,GAAGC,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYJ,EAAZ,CAAf;;AACA,QAAIpB,MAAM,CAACU,OAAP,KAAmBY,MAAvB,EAA+B;AAC3BtB,MAAAA,MAAM,CAACU,OAAP,GAAiBY,MAAjB;AACA,UAAIG,SAAS,GAAG,EAAhB;AACA,UAAMC,QAAQ,GAAGvB,MAAM,CAACO,OAAP,CAAexB,KAAhC;AACA,UAAMyC,kBAAkB,GAAG1C,oBAAoB,CAACyC,QAAD,CAA/C;;AACA,UAAIC,kBAAJ,EAAwB;AACpBF,QAAAA,SAAS,GAAG;AACRG,UAAAA,KAAK,wBAAiBN,MAAjB;AADG,SAAZ;AAGH,OAJD,MAIO;AACHG,QAAAA,SAAS,GAAG;AACRI,UAAAA,IAAI,EAAE,MADE;AAERD,UAAAA,KAAK,YAAKN,MAAL;AAFG,SAAZ;AAIH;;AACD,UAAIK,kBAAJ,EAAwB;AACpBxC,QAAAA,YAAY,CAACuC,QAAD,EAAWD,SAAS,CAACG,KAArB,CAAZ;AACH,OAFD,MAEO;AACHF,QAAAA,QAAQ,CAACD,SAAS,CAACI,IAAX,CAAR,GAA2BJ,SAAS,CAACG,KAArC;AACH;;AACD,UAAIP,aAAJ,EAAmB;AACfhB,QAAAA,WAAW;AACd;AACJ;AACJ,GA1BD;;AA4BA,MAAMc,OAAO,GAAG,SAAVA,OAAU,CAAA/B,CAAC,EAAI;AACjB,QAAIO,IAAI,KAAKP,CAAb,EAAgB;AACZS,MAAAA,QAAQ,iCACDD,KADC;AAEJD,QAAAA,IAAI,EAAEP;AAFF,SAAR;AAIH;AACJ,GAPD;;AASA,MAAM8B,OAAO,GAAG,SAAVA,OAAU,CAAA9B,CAAC,EAAI;AACjB,QAAIM,IAAI,KAAKN,CAAb,EAAgB;AACZS,MAAAA,QAAQ,iCACDD,KADC;AAEJF,QAAAA,IAAI,EAAEN;AAFF,SAAR;AAIH;AACJ,GAPD,CA9F6B,CAuG7B;;;AACA,MAAM0C,UAAU,GAAG,SAAbA,UAAa,GAAM;AACrB,QAAMhB,YAAY,GAAGZ,UAAU,CAACQ,OAAX,CAAmBG,WAAxC;AACAG,IAAAA,SAAS,CAAChB,MAAM,CAACU,OAAP,GAAiBI,YAAlB,CAAT;AACH,GAHD,CAxG6B,CA6G7B;;;AACA,MAAMiB,UAAU,GAAG,SAAbA,UAAa,GAAM;AACrB,QAAMjB,YAAY,GAAGZ,UAAU,CAACQ,OAAX,CAAmBG,WAAxC;AACAG,IAAAA,SAAS,CAAChB,MAAM,CAACU,OAAP,GAAiBI,YAAlB,CAAT;AACH,GAHD;;AAKA,MAAMkB,YAAY,GAAGrC,IAAI,IAAID,IAA7B;;AAEA,MAAMuC,UAAU,gBACZ;AACI,IAAA,OAAO,EAAEtC,IAAI,GAAGmC,UAAH,GAAgB,IADjC;AAEI,IAAA,YAAY,EAAC,IAFjB;AAGI,IAAA,SAAS,EAAE,uFACHhC,SADG,YACgB,IADhB,0CAEHA,SAFG,oBAEwB,CAACH,IAFzB,0CAGHG,SAHG,kBAGsBkC,YAHtB;AAHf,kBASI;AAAM,IAAA,SAAS,YAAKlC,SAAL;AAAf,kBACI,gCAAC,wBAAD,OADJ,CATJ,CADJ;;AAgBA,MAAMoC,UAAU,gBACZ;AACI,IAAA,OAAO,EAAExC,IAAI,GAAGqC,UAAH,GAAgB,IADjC;AAEI,IAAA,YAAY,EAAC,IAFjB;AAGI,IAAA,SAAS,EAAE,yFACHjC,SADG,YACgB,IADhB,2CAEHA,SAFG,oBAEwB,CAACJ,IAFzB,2CAGHI,SAHG,kBAGsBkC,YAHtB;AAHf,kBASI;AAAM,IAAA,SAAS,YAAKlC,SAAL;AAAf,kBACI,gCAAC,yBAAD,OADJ,CATJ,CADJ;;AAgBA,sBACI;AACI,IAAA,SAAS,EAAE,uCAAcA,SAAd,iBAAqCC,SAArC,CADf;AAEI,IAAA,KAAK,EAAEb,KAFX;AAGI,IAAA,GAAG,EAAEe;AAHT,KAKKgC,UALL,EAMKC,UANL,eAOI;AAAK,IAAA,SAAS,YAAKpC,SAAL,cAAd;AAAyC,IAAA,GAAG,EAAEI;AAA9C,kBACI;AAAK,IAAA,SAAS,YAAKJ,SAAL;AAAd,kBACI;AAAK,IAAA,SAAS,YAAKA,SAAL,SAAd;AAAoC,IAAA,GAAG,EAAEK;AAAzC,KACKV,KAAK,CAAC0C,QADX,CADJ,CADJ,CAPJ,CADJ;AAiBH;;eAEc3C,gB;;AAEfA,gBAAgB,CAAC4C,SAAjB,GAA6B;AACzBtC,EAAAA,SAAS,EAAEuC,sBAAUC,MADI;AAEzBvC,EAAAA,SAAS,EAAEsC,sBAAUC,MAFI;AAGzBpD,EAAAA,KAAK,EAAEmD,sBAAUE,MAHQ;AAIzBJ,EAAAA,QAAQ,EAAEE,sBAAUG;AAJK,CAA7B","sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport classnames from 'classnames';\nimport debounce from 'lodash/debounce';\nimport PropTypes from 'prop-types';\nimport RightOutlined from '@ant-design/icons/RightOutlined';\nimport LeftOutlined from '@ant-design/icons/LeftOutlined';\n\nexport function isTransformSupported(style) {\n return 'transform' in style || 'webkitTransform' in style || 'MozTransform' in style;\n}\n\nexport function setTransform(style, v) {\n style.transform = v;\n style.webkitTransform = v;\n style.mozTransform = v;\n}\n\nfunction VtxScrollableRow(props) {\n const [state, setState] = useState({\n next: false,\n prev: false,\n });\n const { next, prev } = state;\n const { prefixCls = 'vtx-scrollable-row', className, style } = props;\n\n const offset = useRef(0);\n const containerRef = useRef();\n const navWrapRef = useRef();\n const navRef = useRef();\n\n useEffect(() => {\n const debouncedResize = debounce(() => {\n setNextPrev();\n }, 200);\n window.addEventListener('resize', debouncedResize);\n setNextPrev();\n return () => {\n window.removeEventListener('resize', debouncedResize);\n };\n }, []);\n\n function setNextPrev() {\n const navNodeW = navRef.current.scrollWidth;\n const containerW = containerRef.current.offsetWidth;\n const navWrapNodeW = navWrapRef.current.offsetWidth;\n\n const minOffset = containerW - navNodeW;\n let { next, prev } = state;\n if (minOffset >= 0) {\n next = false;\n setOffset(0, false);\n offset.current = 0;\n } else if (minOffset < offset.current) {\n next = true;\n } else {\n next = false;\n const realOffset = navWrapNodeW - navNodeW;\n setOffset(realOffset, false);\n offset.current = realOffset;\n }\n\n if (offset.current < 0) {\n prev = true;\n } else {\n prev = false;\n }\n setNext(next);\n setPrev(prev);\n return {\n next,\n prev,\n };\n }\n\n const setOffset = (os, checkNextPrev = true) => {\n const target = Math.min(0, os);\n if (offset.current !== target) {\n offset.current = target;\n let navOffset = {};\n const navStyle = navRef.current.style;\n const transformSupported = isTransformSupported(navStyle);\n if (transformSupported) {\n navOffset = {\n value: `translate3d(${target}px,0,0)`,\n };\n } else {\n navOffset = {\n name: 'left',\n value: `${target}px`,\n };\n }\n if (transformSupported) {\n setTransform(navStyle, navOffset.value);\n } else {\n navStyle[navOffset.name] = navOffset.value;\n }\n if (checkNextPrev) {\n setNextPrev();\n }\n }\n };\n\n const setPrev = v => {\n if (prev !== v) {\n setState({\n ...state,\n prev: v,\n });\n }\n };\n\n const setNext = v => {\n if (next !== v) {\n setState({\n ...state,\n next: v,\n });\n }\n };\n\n // 上一页\n const handlePrev = () => {\n const navWrapNodeW = navWrapRef.current.offsetWidth;\n setOffset(offset.current + navWrapNodeW);\n };\n\n // 下一页\n const handleNext = () => {\n const navWrapNodeW = navWrapRef.current.offsetWidth;\n setOffset(offset.current - navWrapNodeW);\n };\n\n const showNextPrev = prev || next;\n\n const prevButton = (\n <span\n onClick={prev ? handlePrev : null}\n unselectable=\"on\"\n className={classnames({\n [`${prefixCls}-prev`]: true,\n [`${prefixCls}-btn-disabled`]: !prev,\n [`${prefixCls}-arrow-show`]: showNextPrev,\n })}\n >\n <span className={`${prefixCls}-prev-icon`}>\n <LeftOutlined />\n </span>\n </span>\n );\n\n const nextButton = (\n <span\n onClick={next ? handleNext : null}\n unselectable=\"on\"\n className={classnames({\n [`${prefixCls}-next`]: true,\n [`${prefixCls}-btn-disabled`]: !next,\n [`${prefixCls}-arrow-show`]: showNextPrev,\n })}\n >\n <span className={`${prefixCls}-next-icon`}>\n <RightOutlined />\n </span>\n </span>\n );\n\n return (\n <div\n className={classnames(`${prefixCls}-container`, className)}\n style={style}\n ref={containerRef}\n >\n {prevButton}\n {nextButton}\n <div className={`${prefixCls}-nav-wrap`} ref={navWrapRef}>\n <div className={`${prefixCls}-nav-scroll`}>\n <div className={`${prefixCls}-nav`} ref={navRef}>\n {props.children}\n </div>\n </div>\n </div>\n </div>\n );\n}\n\nexport default VtxScrollableRow;\n\nVtxScrollableRow.propTypes = {\n prefixCls: PropTypes.string,\n className: PropTypes.string,\n style: PropTypes.object,\n children: PropTypes.node,\n};\n"],"file":"index.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["vtx-scrollable-row/style/index.js"],"names":[],"mappings":";;AAAA
|
|
1
|
+
{"version":3,"sources":["vtx-scrollable-row/style/index.js"],"names":[],"mappings":";;AAAA","sourcesContent":["import './index.less';\n"],"file":"css.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["vtx-scrollable-row/style/index.js"],"names":[],"mappings":";;AAAA
|
|
1
|
+
{"version":3,"sources":["vtx-scrollable-row/style/index.js"],"names":[],"mappings":";;AAAA","sourcesContent":["import './index.less';\n"],"file":"index.js"}
|