@vtx/components 2.3.4 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/CHANGELOG.md +110 -0
  2. package/lib/vtx-combogrid/index.js +0 -1
  3. package/lib/vtx-combogrid/index.js.map +1 -1
  4. package/lib/vtx-datagrid/Alert.js +45 -0
  5. package/lib/vtx-datagrid/Alert.js.map +1 -0
  6. package/lib/vtx-datagrid/index.js +70 -21
  7. package/lib/vtx-datagrid/index.js.map +1 -1
  8. package/lib/vtx-datagrid/style/css.js +4 -0
  9. package/lib/vtx-datagrid/style/css.js.map +1 -1
  10. package/lib/vtx-datagrid/style/index.css +22 -1
  11. package/lib/vtx-datagrid/style/index.js +4 -0
  12. package/lib/vtx-datagrid/style/index.js.map +1 -1
  13. package/lib/vtx-datagrid/style/index.less +25 -1
  14. package/lib/vtx-form-layout/Card.js +83 -0
  15. package/lib/vtx-form-layout/Card.js.map +1 -0
  16. package/lib/vtx-form-layout/Divider.js +22 -0
  17. package/lib/vtx-form-layout/Divider.js.map +1 -0
  18. package/lib/vtx-form-layout/FormItem.js +26 -12
  19. package/lib/vtx-form-layout/FormItem.js.map +1 -1
  20. package/lib/vtx-form-layout/Pane.js +34 -0
  21. package/lib/vtx-form-layout/Pane.js.map +1 -0
  22. package/lib/vtx-form-layout/Row.js +25 -0
  23. package/lib/vtx-form-layout/Row.js.map +1 -0
  24. package/lib/vtx-form-layout/demo/Modal.css +42 -0
  25. package/lib/vtx-form-layout/demo/Modal.less +41 -0
  26. package/lib/vtx-form-layout/index.js +30 -7
  27. package/lib/vtx-form-layout/index.js.map +1 -1
  28. package/lib/vtx-form-layout/style/css.js +4 -0
  29. package/lib/vtx-form-layout/style/css.js.map +1 -1
  30. package/lib/vtx-form-layout/style/index.css +116 -0
  31. package/lib/vtx-form-layout/style/index.js +4 -0
  32. package/lib/vtx-form-layout/style/index.js.map +1 -1
  33. package/lib/vtx-form-layout/style/index.less +133 -0
  34. package/lib/vtx-image/Preview.js +3 -0
  35. package/lib/vtx-image/Preview.js.map +1 -1
  36. package/lib/vtx-input/index.js +13 -2
  37. package/lib/vtx-input/index.js.map +1 -1
  38. package/lib/vtx-modal/Title.js +32 -0
  39. package/lib/vtx-modal/Title.js.map +1 -0
  40. package/lib/vtx-modal/index.js +10 -0
  41. package/lib/vtx-modal/index.js.map +1 -1
  42. package/lib/vtx-modal/style/index.css +11 -0
  43. package/lib/vtx-modal/style/index.less +16 -0
  44. package/lib/vtx-page-layout/Basic.js +0 -1
  45. package/lib/vtx-page-layout/Basic.js.map +1 -1
  46. package/lib/vtx-page-layout/Pane.js +50 -0
  47. package/lib/vtx-page-layout/Pane.js.map +1 -0
  48. package/lib/vtx-page-layout/TableLayout.js +165 -0
  49. package/lib/vtx-page-layout/TableLayout.js.map +1 -0
  50. package/lib/vtx-page-layout/index.js +6 -0
  51. package/lib/vtx-page-layout/index.js.map +1 -1
  52. package/lib/vtx-page-layout/style/index.css +50 -1
  53. package/lib/vtx-page-layout/style/index.less +55 -1
  54. package/lib/vtx-rps-frame/index.js +1 -1
  55. package/lib/vtx-rps-frame/index.js.map +1 -1
  56. package/lib/vtx-scrollable-row/index.js +227 -0
  57. package/lib/vtx-scrollable-row/index.js.map +1 -0
  58. package/lib/vtx-scrollable-row/style/css.js +6 -0
  59. package/lib/vtx-scrollable-row/style/css.js.map +1 -0
  60. package/lib/vtx-scrollable-row/style/index.css +111 -0
  61. package/lib/vtx-scrollable-row/style/index.js +6 -0
  62. package/lib/vtx-scrollable-row/style/index.js.map +1 -0
  63. package/lib/vtx-scrollable-row/style/index.less +111 -0
  64. package/lib/vtx-search/VtxCol.js +2 -2
  65. package/lib/vtx-search/VtxCol.js.map +1 -1
  66. package/lib/vtx-search/VtxRow.js +6 -3
  67. package/lib/vtx-search/VtxRow.js.map +1 -1
  68. package/lib/vtx-search/index.js +42 -38
  69. package/lib/vtx-search/index.js.map +1 -1
  70. package/lib/vtx-search/style/css.js +2 -0
  71. package/lib/vtx-search/style/css.js.map +1 -1
  72. package/lib/vtx-search/style/index.css +25 -24
  73. package/lib/vtx-search/style/index.js +2 -0
  74. package/lib/vtx-search/style/index.js.map +1 -1
  75. package/lib/vtx-search/style/index.less +27 -25
  76. package/lib/vtx-select/index.js +2 -1
  77. package/lib/vtx-select/index.js.map +1 -1
  78. package/lib/vtx-signature/index.js +124 -0
  79. package/lib/vtx-signature/index.js.map +1 -0
  80. package/lib/vtx-signature/style/css.js +8 -0
  81. package/lib/vtx-signature/style/css.js.map +1 -0
  82. package/lib/vtx-signature/style/index.css +35 -0
  83. package/lib/vtx-signature/style/index.js +8 -0
  84. package/lib/vtx-signature/style/index.js.map +1 -0
  85. package/lib/vtx-signature/style/index.less +32 -0
  86. package/lib/vtx-split-pane/SplitPane.js +1 -0
  87. package/lib/vtx-split-pane/SplitPane.js.map +1 -1
  88. package/lib/vtx-statistics-column/Back.js +29 -0
  89. package/lib/vtx-statistics-column/Back.js.map +1 -0
  90. package/lib/vtx-statistics-column/Item.js +68 -0
  91. package/lib/vtx-statistics-column/Item.js.map +1 -0
  92. package/lib/vtx-statistics-column/Total.js +68 -0
  93. package/lib/vtx-statistics-column/Total.js.map +1 -0
  94. package/lib/vtx-statistics-column/context.js +12 -0
  95. package/lib/vtx-statistics-column/context.js.map +1 -0
  96. package/lib/vtx-statistics-column/index.js +63 -0
  97. package/lib/vtx-statistics-column/index.js.map +1 -0
  98. package/lib/vtx-statistics-column/style/css.js +4 -0
  99. package/lib/vtx-statistics-column/style/css.js.map +1 -0
  100. package/lib/vtx-statistics-column/style/index.css +55 -0
  101. package/lib/vtx-statistics-column/style/index.js +4 -0
  102. package/lib/vtx-statistics-column/style/index.js.map +1 -0
  103. package/lib/vtx-statistics-column/style/index.less +61 -0
  104. package/lib/vtx-upload/index.js +3 -3
  105. package/lib/vtx-upload/index.js.map +1 -1
  106. package/lib/vtx-ztree/style/index.css +5 -5
  107. package/lib/vtx-ztree/style/index.less +5 -5
  108. package/lib/vtx-ztree-select/index.js +4 -8
  109. package/lib/vtx-ztree-select/index.js.map +1 -1
  110. package/lib/vtx-ztree-select/style/index.css +20 -1
  111. package/lib/vtx-ztree-select/style/index.less +28 -2
  112. package/package.json +2 -1
@@ -1,13 +1,10 @@
1
1
  .vtx-search {
2
- position: absolute;
3
- top: 0;
4
- right: 0;
5
- left: 0;
2
+ position: relative;
6
3
  z-index: 1000;
7
- padding-top: 5px;
8
- padding-right: 32px;
9
- padding-bottom: 5px;
10
- padding-left: 32px;
4
+ padding-top: 8px;
5
+ padding-right: 24px;
6
+ padding-bottom: 8px;
7
+ padding-left: 24px;
11
8
  overflow: hidden;
12
9
  background: #ffffff;
13
10
  -webkit-transition-duration: 0.3s;
@@ -18,7 +15,7 @@
18
15
  .vtx-search-label_h {
19
16
  display: inline-block;
20
17
  overflow: hidden;
21
- line-height: 42px;
18
+ line-height: 48px;
22
19
  white-space: nowrap;
23
20
  text-overflow: ellipsis;
24
21
  vertical-align: top;
@@ -28,13 +25,16 @@
28
25
  display: inline-block;
29
26
  -webkit-box-sizing: border-box;
30
27
  box-sizing: border-box;
31
- height: 42px;
32
- padding-top: 5px;
33
- padding-bottom: 5px;
34
- padding-left: 15px;
35
- line-height: 32px;
28
+ height: 48px;
29
+ padding-top: 8px;
30
+ padding-bottom: 8px;
31
+ padding-left: 12px;
32
+ line-height: 1.5;
36
33
  vertical-align: top;
37
34
  }
35
+ .vtx-search .vtx-search-item__v {
36
+ padding: 8px 0;
37
+ }
38
38
  .vtx-search-label_v {
39
39
  overflow: hidden;
40
40
  line-height: 21px;
@@ -47,32 +47,33 @@
47
47
  -webkit-box-sizing: border-box;
48
48
  box-sizing: border-box;
49
49
  height: 42px;
50
- padding-top: 5px;
51
- padding-bottom: 5px;
50
+ padding-top: 8px;
51
+ padding-bottom: 8px;
52
52
  line-height: 32px;
53
53
  vertical-align: top;
54
54
  }
55
- .vtx-search-colon {
56
- position: absolute;
57
- left: 0;
58
- width: 15px;
59
- }
60
55
  .vtx-search-list {
61
56
  width: 100%;
62
57
  }
63
58
  .vtx-search-element {
64
59
  display: inline-block;
65
- width: calc(100% - 192px);
66
- margin-right: 8px;
60
+ /* stylelint-disable */
61
+ width: calc(100% - 200px - 24px);
62
+ margin-right: 24px;
67
63
  }
68
64
  .vtx-search-buttons {
69
65
  display: inline-block;
70
66
  -webkit-box-sizing: border-box;
71
67
  box-sizing: border-box;
72
- width: 184px;
68
+ width: 200px;
73
69
  height: 100%;
74
70
  vertical-align: top;
75
71
  }
72
+ .vtx-search .vtx-search-more {
73
+ height: 32px;
74
+ color: #1890ff;
75
+ line-height: 32px;
76
+ }
76
77
  .vtx-row {
77
78
  overflow: hidden;
78
79
  }
@@ -8,5 +8,7 @@ require("antd/es/tooltip/style/css");
8
8
 
9
9
  require("antd/es/button/style/css");
10
10
 
11
+ require("antd/es/icon/style/css");
12
+
11
13
  require("./index.less");
12
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-search/style/index.js"],"names":[],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA","sourcesContent":["import 'antd/es/row/style/css';\nimport 'antd/es/col/style/css';\nimport 'antd/es/tooltip/style/css';\nimport 'antd/es/button/style/css';\nimport './index.less';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["vtx-search/style/index.js"],"names":[],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA","sourcesContent":["import 'antd/es/row/style/css';\nimport 'antd/es/col/style/css';\nimport 'antd/es/tooltip/style/css';\nimport 'antd/es/button/style/css';\nimport 'antd/es/icon/style/css';\nimport './index.less';\n"],"file":"index.js"}
@@ -1,16 +1,15 @@
1
1
  @toggleSpeed: 0.3s; // 展开速度
2
2
  @prefix-cls: vtx-search;
3
3
 
4
+ @buttons-width: 200px;
5
+
4
6
  .@{prefix-cls} {
5
- position: absolute;
6
- top: 0;
7
- right: 0;
8
- left: 0;
7
+ position: relative;
9
8
  z-index: 1000;
10
- padding-top: 5px;
11
- padding-right: 32px;
12
- padding-bottom: 5px;
13
- padding-left: 32px;
9
+ padding-top: 8px;
10
+ padding-right: 24px;
11
+ padding-bottom: 8px;
12
+ padding-left: 24px;
14
13
  overflow: hidden;
15
14
  background: rgb(255, 255, 255);
16
15
  transition-duration: @toggleSpeed;
@@ -18,7 +17,7 @@
18
17
  &-label_h {
19
18
  display: inline-block;
20
19
  overflow: hidden;
21
- line-height: 42px;
20
+ line-height: 48px;
22
21
  white-space: nowrap;
23
22
  text-overflow: ellipsis;
24
23
  vertical-align: top;
@@ -27,14 +26,16 @@
27
26
  position: relative;
28
27
  display: inline-block;
29
28
  box-sizing: border-box;
30
- height: 42px;
31
- padding-top: 5px;
32
- padding-bottom: 5px;
33
- padding-left: 15px;
34
- line-height: 32px;
29
+ height: 48px;
30
+ padding-top: 8px;
31
+ padding-bottom: 8px;
32
+ padding-left: 12px;
33
+ line-height: 1.5;
35
34
  vertical-align: top;
36
35
  }
37
-
36
+ .vtx-search-item__v {
37
+ padding: 8px 0;
38
+ }
38
39
  &-label_v {
39
40
  overflow: hidden;
40
41
  line-height: 21px;
@@ -46,31 +47,32 @@
46
47
  position: relative;
47
48
  box-sizing: border-box;
48
49
  height: 42px;
49
- padding-top: 5px;
50
- padding-bottom: 5px;
50
+ padding-top: 8px;
51
+ padding-bottom: 8px;
51
52
  line-height: 32px;
52
53
  vertical-align: top;
53
54
  }
54
- &-colon {
55
- position: absolute;
56
- left: 0;
57
- width: 15px;
58
- }
59
55
  &-list {
60
56
  width: 100%;
61
57
  }
62
58
  &-element {
63
59
  display: inline-block;
64
- width: e('calc(100% - 192px)');
65
- margin-right: 8px;
60
+ /* stylelint-disable */
61
+ width: calc(100% - @buttons-width - 24px);
62
+ margin-right: 24px;
66
63
  }
67
64
  &-buttons {
68
65
  display: inline-block;
69
66
  box-sizing: border-box;
70
- width: 184px;
67
+ width: @buttons-width;
71
68
  height: 100%;
72
69
  vertical-align: top;
73
70
  }
71
+ .vtx-search-more {
72
+ height: 32px;
73
+ color: #1890ff;
74
+ line-height: 32px;
75
+ }
74
76
  }
75
77
 
76
78
  .vtx-row {
@@ -130,7 +130,8 @@ var VtxSelect = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
130
130
  var newProps = _objectSpread({
131
131
  showSearch: true,
132
132
  optionFilterProp: 'children',
133
- placeholder: '请选择'
133
+ placeholder: '请选择',
134
+ allowClear: true
134
135
  }, props);
135
136
 
136
137
  if (mode === 'multiple') {
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-select/index.jsx"],"names":["VtxSelect","props","ref","popWidth","setPopWidth","elRef","elId","Date","now","value","mode","size","onChange","maxTagCount","maxTagTextLength","maxTagPlaceholder","showAll","selectStyle","selectAll","defaultBindBodyToPopupContainer","current","clientWidth","newChildren","children","Array","isArray","getContent","length","map","item","index","name","getChildren","margin","e","preventDefault","valueClone","splice","options","filter","ite","includes","substring","Empty","PRESENTED_IMAGE_SIMPLE","newProps","showSearch","optionFilterProp","placeholder","dropdownRender","menu","valueLength","target","checked","keys","key","style","paddingRight","triggerNode","document","body","width","list","i","Option","Select","OptGroup","propTypes","PropTypes","oneOfType","string","array","number","object","func","bool","node"],"mappings":"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","sourcesContent":["import React, { useState, useLayoutEffect, useRef, forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Select from 'antd/es/select';\nimport Tag from 'antd/es/tag';\nimport Button from 'antd/es/button';\nimport Empty from 'antd/es/empty';\nimport Popover from 'antd/es/popover';\nimport Tooltip from 'antd/es/tooltip';\nimport Checkbox from 'antd/es/checkbox';\nimport Divider from 'antd/es/divider';\n\nconst VtxSelect = forwardRef((props, ref) => {\n const [popWidth, setPopWidth] = useState(0);\n const elRef = useRef();\n const elId = useRef(`vtx-select-${Date.now()}`);\n\n const {\n value,\n mode,\n size = 'default', //同步button大小\n onChange,\n maxTagCount = 2,\n maxTagTextLength = 5,\n maxTagPlaceholder = '...',\n showAll = true, //是否显示全部选项\n selectStyle,\n selectAll = true,\n defaultBindBodyToPopupContainer = true,\n } = props;\n\n useLayoutEffect(() => {\n mode === 'multiple' && setPopWidth(elRef.current.clientWidth);\n }, [elRef.current?.clientWidth]);\n\n const newChildren = props.children\n ? Array.isArray(props.children)\n ? props.children\n : [props.children]\n : [];\n\n const getContent = () => (\n <div className=\"vtx-all-list\">\n {Array.isArray(value) && value.length ? (\n value.map((item, index) => {\n let name = getChildren(newChildren, item);\n return (\n <Tag\n style={{ margin: '4px' }}\n key={index}\n closable\n onClose={e => {\n e.preventDefault();\n let valueClone = [...value];\n valueClone.splice(index, 1);\n let options = newChildren.filter(ite =>\n valueClone.includes(ite.props.value),\n );\n onChange(valueClone, options);\n }}\n >\n <Tooltip title={name}>\n {name.length > maxTagTextLength\n ? `${name.substring(0, maxTagTextLength)}...`\n : name}\n </Tooltip>\n </Tag>\n );\n })\n ) : (\n <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />\n )}\n </div>\n );\n\n let newProps = {\n showSearch: true,\n optionFilterProp: 'children',\n placeholder: '请选择',\n ...props,\n };\n\n if (mode === 'multiple') {\n newProps = {\n ...newProps,\n maxTagCount: maxTagCount,\n maxTagTextLength: maxTagTextLength,\n maxTagPlaceholder: maxTagPlaceholder,\n };\n if (selectAll) {\n newProps = {\n ...newProps,\n dropdownRender: menu => {\n const valueLength = Array.isArray(value) && value.length ? value.length : 0;\n return (\n <div>\n <div\n className=\"vtx-multi-select-all\"\n onMouseDown={e => e.preventDefault()}\n >\n <Checkbox\n indeterminate={valueLength && valueLength < newChildren.length}\n checked={valueLength && valueLength === newChildren.length}\n onChange={e => {\n if (e.target.checked) {\n const keys = newChildren.map(item => item.key);\n onChange && onChange(keys, newChildren);\n } else {\n onChange && onChange([], []);\n }\n }}\n >\n 全选\n </Checkbox>\n </div>\n <Divider style={{ margin: '4px 0' }} />\n {menu}\n </div>\n );\n },\n };\n }\n }\n\n return (\n <div\n className={classnames({\n 'vtx-select': mode !== 'multiple',\n 'vtx-multi-select': mode == 'multiple' || mode == 'tags',\n })}\n id={elId.current}\n ref={elRef}\n style={{\n ...props.style,\n paddingRight: (mode == 'multiple' || mode == 'tags') && showAll ? 32 : 0,\n }}\n >\n <Select\n ref={ref}\n getPopupContainer={triggerNode => {\n return defaultBindBodyToPopupContainer ? document.body : triggerNode;\n }}\n {...newProps}\n style={{ width: '100%', ...selectStyle }}\n >\n {props.children}\n </Select>\n {(mode == 'multiple' || mode == 'tags') && showAll ? (\n <Popover\n content={getContent()}\n placement=\"bottomRight\"\n trigger=\"click\"\n overlayStyle={{ width: popWidth }}\n >\n <Button className=\"vtx-select-count\" icon=\"more\" size={size} />\n </Popover>\n ) : null}\n </div>\n );\n});\n\nfunction getChildren(list = [], value) {\n let name = '';\n for (let i = 0; i < list.length; i++) {\n if (list[i].key === value) {\n name = list[i].props.children;\n break;\n }\n }\n return name;\n}\n\nVtxSelect.Option = Select.Option;\nVtxSelect.OptGroup = Select.OptGroup;\n\nVtxSelect.propTypes = {\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.array,\n PropTypes.number,\n PropTypes.object,\n ]),\n mode: PropTypes.string,\n size: PropTypes.string,\n style: PropTypes.object,\n selectStyle: PropTypes.object,\n onChange: PropTypes.func,\n defaultBindBodyToPopupContainer: PropTypes.bool,\n maxTagCount: PropTypes.number,\n maxTagTextLength: PropTypes.number,\n maxTagPlaceholder: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n showAll: PropTypes.bool,\n children: PropTypes.node,\n selectAll: PropTypes.bool,\n};\n\nexport default VtxSelect;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["vtx-select/index.jsx"],"names":["VtxSelect","props","ref","popWidth","setPopWidth","elRef","elId","Date","now","value","mode","size","onChange","maxTagCount","maxTagTextLength","maxTagPlaceholder","showAll","selectStyle","selectAll","defaultBindBodyToPopupContainer","current","clientWidth","newChildren","children","Array","isArray","getContent","length","map","item","index","name","getChildren","margin","e","preventDefault","valueClone","splice","options","filter","ite","includes","substring","Empty","PRESENTED_IMAGE_SIMPLE","newProps","showSearch","optionFilterProp","placeholder","allowClear","dropdownRender","menu","valueLength","target","checked","keys","key","style","paddingRight","triggerNode","document","body","width","list","i","Option","Select","OptGroup","propTypes","PropTypes","oneOfType","string","array","number","object","func","bool","node"],"mappings":"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","sourcesContent":["import React, { useState, useLayoutEffect, useRef, forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Select from 'antd/es/select';\nimport Tag from 'antd/es/tag';\nimport Button from 'antd/es/button';\nimport Empty from 'antd/es/empty';\nimport Popover from 'antd/es/popover';\nimport Tooltip from 'antd/es/tooltip';\nimport Checkbox from 'antd/es/checkbox';\nimport Divider from 'antd/es/divider';\n\nconst VtxSelect = forwardRef((props, ref) => {\n const [popWidth, setPopWidth] = useState(0);\n const elRef = useRef();\n const elId = useRef(`vtx-select-${Date.now()}`);\n\n const {\n value,\n mode,\n size = 'default', //同步button大小\n onChange,\n maxTagCount = 2,\n maxTagTextLength = 5,\n maxTagPlaceholder = '...',\n showAll = true, //是否显示全部选项\n selectStyle,\n selectAll = true,\n defaultBindBodyToPopupContainer = true,\n } = props;\n\n useLayoutEffect(() => {\n mode === 'multiple' && setPopWidth(elRef.current.clientWidth);\n }, [elRef.current?.clientWidth]);\n\n const newChildren = props.children\n ? Array.isArray(props.children)\n ? props.children\n : [props.children]\n : [];\n\n const getContent = () => (\n <div className=\"vtx-all-list\">\n {Array.isArray(value) && value.length ? (\n value.map((item, index) => {\n let name = getChildren(newChildren, item);\n return (\n <Tag\n style={{ margin: '4px' }}\n key={index}\n closable\n onClose={e => {\n e.preventDefault();\n let valueClone = [...value];\n valueClone.splice(index, 1);\n let options = newChildren.filter(ite =>\n valueClone.includes(ite.props.value),\n );\n onChange(valueClone, options);\n }}\n >\n <Tooltip title={name}>\n {name.length > maxTagTextLength\n ? `${name.substring(0, maxTagTextLength)}...`\n : name}\n </Tooltip>\n </Tag>\n );\n })\n ) : (\n <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />\n )}\n </div>\n );\n\n let newProps = {\n showSearch: true,\n optionFilterProp: 'children',\n placeholder: '请选择',\n allowClear: true,\n ...props,\n };\n\n if (mode === 'multiple') {\n newProps = {\n ...newProps,\n maxTagCount: maxTagCount,\n maxTagTextLength: maxTagTextLength,\n maxTagPlaceholder: maxTagPlaceholder,\n };\n if (selectAll) {\n newProps = {\n ...newProps,\n dropdownRender: menu => {\n const valueLength = Array.isArray(value) && value.length ? value.length : 0;\n return (\n <div>\n <div\n className=\"vtx-multi-select-all\"\n onMouseDown={e => e.preventDefault()}\n >\n <Checkbox\n indeterminate={valueLength && valueLength < newChildren.length}\n checked={valueLength && valueLength === newChildren.length}\n onChange={e => {\n if (e.target.checked) {\n const keys = newChildren.map(item => item.key);\n onChange && onChange(keys, newChildren);\n } else {\n onChange && onChange([], []);\n }\n }}\n >\n 全选\n </Checkbox>\n </div>\n <Divider style={{ margin: '4px 0' }} />\n {menu}\n </div>\n );\n },\n };\n }\n }\n\n return (\n <div\n className={classnames({\n 'vtx-select': mode !== 'multiple',\n 'vtx-multi-select': mode == 'multiple' || mode == 'tags',\n })}\n id={elId.current}\n ref={elRef}\n style={{\n ...props.style,\n paddingRight: (mode == 'multiple' || mode == 'tags') && showAll ? 32 : 0,\n }}\n >\n <Select\n ref={ref}\n getPopupContainer={triggerNode => {\n return defaultBindBodyToPopupContainer ? document.body : triggerNode;\n }}\n {...newProps}\n style={{ width: '100%', ...selectStyle }}\n >\n {props.children}\n </Select>\n {(mode == 'multiple' || mode == 'tags') && showAll ? (\n <Popover\n content={getContent()}\n placement=\"bottomRight\"\n trigger=\"click\"\n overlayStyle={{ width: popWidth }}\n >\n <Button className=\"vtx-select-count\" icon=\"more\" size={size} />\n </Popover>\n ) : null}\n </div>\n );\n});\n\nfunction getChildren(list = [], value) {\n let name = '';\n for (let i = 0; i < list.length; i++) {\n if (list[i].key === value) {\n name = list[i].props.children;\n break;\n }\n }\n return name;\n}\n\nVtxSelect.Option = Select.Option;\nVtxSelect.OptGroup = Select.OptGroup;\n\nVtxSelect.propTypes = {\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.array,\n PropTypes.number,\n PropTypes.object,\n ]),\n mode: PropTypes.string,\n size: PropTypes.string,\n style: PropTypes.object,\n selectStyle: PropTypes.object,\n onChange: PropTypes.func,\n defaultBindBodyToPopupContainer: PropTypes.bool,\n maxTagCount: PropTypes.number,\n maxTagTextLength: PropTypes.number,\n maxTagPlaceholder: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n showAll: PropTypes.bool,\n children: PropTypes.node,\n selectAll: PropTypes.bool,\n};\n\nexport default VtxSelect;\n"],"file":"index.js"}
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _signature_pad = _interopRequireDefault(require("signature_pad"));
13
+
14
+ var _button = _interopRequireDefault(require("antd/es/button"));
15
+
16
+ var _lodash = _interopRequireDefault(require("lodash.debounce"));
17
+
18
+ var _propTypes = _interopRequireDefault(require("prop-types"));
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
+
22
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
23
+
24
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (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; }
25
+
26
+ var VtxSignature = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
27
+ var canvasRef = (0, _react.useRef)();
28
+ var signaturePad = (0, _react.useRef)();
29
+ var dotSize = props.dotSize,
30
+ minWidth = props.minWidth,
31
+ maxWidth = props.maxWidth,
32
+ throttle = props.throttle,
33
+ minDistance = props.minDistance,
34
+ backgroundColor = props.backgroundColor,
35
+ penColor = props.penColor,
36
+ velocityFilterWeight = props.velocityFilterWeight,
37
+ onBegin = props.onBegin,
38
+ _onEnd = props.onEnd,
39
+ onChange = props.onChange;
40
+ (0, _react.useEffect)(function () {
41
+ signaturePad.current = new _signature_pad["default"](canvasRef.current, {
42
+ dotSize: dotSize,
43
+ minWidth: minWidth,
44
+ maxWidth: maxWidth,
45
+ throttle: throttle,
46
+ minDistance: minDistance,
47
+ backgroundColor: backgroundColor,
48
+ penColor: penColor,
49
+ velocityFilterWeight: velocityFilterWeight,
50
+ onBegin: onBegin,
51
+ onEnd: function onEnd() {
52
+ var dataUri = signaturePad.current.toDataURL();
53
+ var encodedImage = dataUri.split(',')[1];
54
+ onChange && onChange(encodedImage);
55
+ _onEnd && _onEnd();
56
+ }
57
+ });
58
+ resizeCanvas();
59
+ window.addEventListener('resize', (0, _lodash["default"])(resizeCanvas, 150));
60
+ return function () {
61
+ window.removeEventListener('resize', (0, _lodash["default"])(resizeCanvas, 150));
62
+ };
63
+ }, []);
64
+
65
+ function resizeCanvas() {
66
+ var ratio = Math.max(window.devicePixelRatio || 1, 1);
67
+ var canvas = canvasRef.current;
68
+
69
+ if (canvas) {
70
+ canvas.width = canvas.offsetWidth * ratio;
71
+ canvas.height = canvas.offsetHeight * ratio;
72
+ canvas.getContext('2d').scale(ratio, ratio);
73
+ clear();
74
+ }
75
+ } // 清空
76
+
77
+
78
+ var clear = function clear() {
79
+ signaturePad.current.clear();
80
+ }; // 撤销
81
+
82
+
83
+ var undo = function undo() {
84
+ var data = signaturePad.current.toData();
85
+
86
+ if (data) {
87
+ data.pop();
88
+ signaturePad.current.fromData(data);
89
+ }
90
+ };
91
+
92
+ return /*#__PURE__*/_react["default"].createElement("div", {
93
+ className: "vtx-signature",
94
+ ref: ref
95
+ }, /*#__PURE__*/_react["default"].createElement("div", {
96
+ className: "vtx-signature--body"
97
+ }, /*#__PURE__*/_react["default"].createElement("canvas", {
98
+ ref: canvasRef
99
+ })), /*#__PURE__*/_react["default"].createElement("div", {
100
+ className: "vtx-signature--footer"
101
+ }, /*#__PURE__*/_react["default"].createElement(_button["default"], {
102
+ size: "small",
103
+ onClick: clear
104
+ }, "\u6E05\u7A7A"), /*#__PURE__*/_react["default"].createElement(_button["default"], {
105
+ size: "small",
106
+ onClick: undo
107
+ }, "\u64A4\u9500")));
108
+ });
109
+ var _default = VtxSignature;
110
+ exports["default"] = _default;
111
+ VtxSignature.propTypes = {
112
+ dotSize: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].number]),
113
+ minWidth: _propTypes["default"].number,
114
+ maxWidth: _propTypes["default"].number,
115
+ throttle: _propTypes["default"].number,
116
+ minDistance: _propTypes["default"].number,
117
+ backgroundColor: _propTypes["default"].string,
118
+ penColor: _propTypes["default"].string,
119
+ velocityFilterWeight: _propTypes["default"].number,
120
+ onBegin: _propTypes["default"].func,
121
+ onEnd: _propTypes["default"].func,
122
+ onChange: _propTypes["default"].func
123
+ };
124
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["vtx-signature/index.jsx"],"names":["VtxSignature","props","ref","canvasRef","signaturePad","dotSize","minWidth","maxWidth","throttle","minDistance","backgroundColor","penColor","velocityFilterWeight","onBegin","onEnd","onChange","current","SignaturePad","dataUri","toDataURL","encodedImage","split","resizeCanvas","window","addEventListener","removeEventListener","ratio","Math","max","devicePixelRatio","canvas","width","offsetWidth","height","offsetHeight","getContext","scale","clear","undo","data","toData","pop","fromData","propTypes","PropTypes","oneOfType","func","number","string"],"mappings":"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","sourcesContent":["import React, { forwardRef, useRef, useEffect } from 'react';\nimport SignaturePad from 'signature_pad';\nimport Button from 'antd/es/button';\nimport debounce from 'lodash.debounce';\nimport PropTypes from 'prop-types';\n\nconst VtxSignature = forwardRef((props, ref) => {\n const canvasRef = useRef();\n const signaturePad = useRef();\n const {\n dotSize,\n minWidth,\n maxWidth,\n throttle,\n minDistance,\n backgroundColor,\n penColor,\n velocityFilterWeight,\n onBegin,\n onEnd,\n onChange,\n } = props;\n\n useEffect(() => {\n signaturePad.current = new SignaturePad(canvasRef.current, {\n dotSize,\n minWidth,\n maxWidth,\n throttle,\n minDistance,\n backgroundColor,\n penColor,\n velocityFilterWeight,\n onBegin,\n onEnd() {\n const dataUri = signaturePad.current.toDataURL();\n const encodedImage = dataUri.split(',')[1];\n\n onChange && onChange(encodedImage);\n onEnd && onEnd();\n },\n });\n resizeCanvas();\n window.addEventListener('resize', debounce(resizeCanvas, 150));\n return () => {\n window.removeEventListener('resize', debounce(resizeCanvas, 150));\n };\n }, []);\n\n function resizeCanvas() {\n const ratio = Math.max(window.devicePixelRatio || 1, 1);\n const canvas = canvasRef.current;\n if (canvas) {\n canvas.width = canvas.offsetWidth * ratio;\n canvas.height = canvas.offsetHeight * ratio;\n canvas.getContext('2d').scale(ratio, ratio);\n clear();\n }\n }\n\n // 清空\n const clear = () => {\n signaturePad.current.clear();\n };\n\n // 撤销\n const undo = () => {\n const data = signaturePad.current.toData();\n if (data) {\n data.pop();\n signaturePad.current.fromData(data);\n }\n };\n\n return (\n <div className=\"vtx-signature\" ref={ref}>\n <div className=\"vtx-signature--body\">\n <canvas ref={canvasRef} />\n </div>\n <div className=\"vtx-signature--footer\">\n <Button size=\"small\" onClick={clear}>\n 清空\n </Button>\n <Button size=\"small\" onClick={undo}>\n 撤销\n </Button>\n </div>\n </div>\n );\n});\n\nexport default VtxSignature;\n\nVtxSignature.propTypes = {\n dotSize: PropTypes.oneOfType([PropTypes.func, PropTypes.number]),\n minWidth: PropTypes.number,\n maxWidth: PropTypes.number,\n throttle: PropTypes.number,\n minDistance: PropTypes.number,\n backgroundColor: PropTypes.string,\n penColor: PropTypes.string,\n velocityFilterWeight: PropTypes.number,\n onBegin: PropTypes.func,\n onEnd: PropTypes.func,\n onChange: PropTypes.func,\n};\n"],"file":"index.js"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ require("antd/es/button/style/css");
4
+
5
+ require("antd/es/message/style/css");
6
+
7
+ require("./index.css");
8
+ //# sourceMappingURL=css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["vtx-signature/style/index.js"],"names":[],"mappings":";;AAAA;;AACA;;AACA","sourcesContent":["import 'antd/es/button/style/css';\nimport 'antd/es/message/style/css';\nimport './index.less';\n"],"file":"css.js"}
@@ -0,0 +1,35 @@
1
+ .vtx-signature {
2
+ position: relative;
3
+ display: -webkit-box;
4
+ display: -ms-flexbox;
5
+ display: flex;
6
+ -webkit-box-orient: vertical;
7
+ -webkit-box-direction: normal;
8
+ -ms-flex-direction: column;
9
+ flex-direction: column;
10
+ height: 300px;
11
+ padding: 16px;
12
+ background-color: #fff;
13
+ border: 1px solid #f4f4f4;
14
+ border-radius: 4px;
15
+ }
16
+ .vtx-signature--body {
17
+ position: relative;
18
+ height: 100%;
19
+ border: 2px dotted #c1c1c1;
20
+ }
21
+ .vtx-signature--body canvas {
22
+ position: absolute;
23
+ top: 0;
24
+ left: 0;
25
+ width: 100%;
26
+ height: 100%;
27
+ border-radius: 4px;
28
+ }
29
+ .vtx-signature--footer {
30
+ margin-top: 8px;
31
+ line-height: 1;
32
+ }
33
+ .vtx-signature--footer button + button {
34
+ margin-left: 8px;
35
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ require("antd/es/button/style/css");
4
+
5
+ require("antd/es/message/style/css");
6
+
7
+ require("./index.less");
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["vtx-signature/style/index.js"],"names":[],"mappings":";;AAAA;;AACA;;AACA","sourcesContent":["import 'antd/es/button/style/css';\nimport 'antd/es/message/style/css';\nimport './index.less';\n"],"file":"index.js"}
@@ -0,0 +1,32 @@
1
+ @prefix-cls: vtx-signature;
2
+
3
+ .@{prefix-cls} {
4
+ position: relative;
5
+ display: flex;
6
+ flex-direction: column;
7
+ height: 300px;
8
+ padding: 16px;
9
+ background-color: #fff;
10
+ border: 1px solid #f4f4f4;
11
+ border-radius: 4px;
12
+ &--body {
13
+ position: relative;
14
+ height: 100%;
15
+ border: 2px dotted #c1c1c1;
16
+ canvas {
17
+ position: absolute;
18
+ top: 0;
19
+ left: 0;
20
+ width: 100%;
21
+ height: 100%;
22
+ border-radius: 4px;
23
+ }
24
+ }
25
+ &--footer {
26
+ margin-top: 8px;
27
+ line-height: 1;
28
+ button + button {
29
+ margin-left: 8px;
30
+ }
31
+ }
32
+ }
@@ -110,6 +110,7 @@ function VtxSplitPane(props) {
110
110
  document.removeEventListener('mouseup', onMouseUp);
111
111
  document.removeEventListener('mousemove', onMouseMove);
112
112
  document.removeEventListener('touchmove', onTouchMove);
113
+ window.onresize = '';
113
114
  };
114
115
  }, [primary]);
115
116
  (0, _react.useLayoutEffect)(function () {