@megafon/ui-lk-vas 0.4.0 → 0.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.
- package/dist/es/index.d.ts +0 -5
- package/dist/es/index.js +1 -6
- package/dist/lib/index.d.ts +0 -5
- package/dist/lib/index.js +0 -35
- package/package.json +4 -4
- package/dist/es/components/UploadForm/UploadField/UploadField.css +0 -27
- package/dist/es/components/UploadForm/UploadField/UploadField.d.ts +0 -22
- package/dist/es/components/UploadForm/UploadField/UploadField.js +0 -56
- package/dist/es/components/UploadForm/UploadField/components/_UploadFieldDropArea/UploadFieldDropArea.css +0 -83
- package/dist/es/components/UploadForm/UploadField/components/_UploadFieldDropArea/UploadFieldDropArea.d.ts +0 -21
- package/dist/es/components/UploadForm/UploadField/components/_UploadFieldDropArea/UploadFieldDropArea.js +0 -50
- package/dist/es/components/UploadForm/UploadField/components/useDragAndDrop.d.ts +0 -3
- package/dist/es/components/UploadForm/UploadField/components/useDragAndDrop.js +0 -50
- package/dist/es/components/UploadForm/UploadFileItem/UploadFileItem.css +0 -112
- package/dist/es/components/UploadForm/UploadFileItem/UploadFileItem.d.ts +0 -25
- package/dist/es/components/UploadForm/UploadFileItem/UploadFileItem.js +0 -86
- package/dist/es/components/UploadForm/UploadFileItem/components/_UploadFileItemIcon/UploadFileItemIcon.d.ts +0 -7
- package/dist/es/components/UploadForm/UploadFileItem/components/_UploadFileItemIcon/UploadFileItemIcon.js +0 -279
- package/dist/es/components/UploadForm/UploadFileItem/helpers.d.ts +0 -5
- package/dist/es/components/UploadForm/UploadFileItem/helpers.js +0 -27
- package/dist/lib/components/UploadForm/UploadField/UploadField.css +0 -27
- package/dist/lib/components/UploadForm/UploadField/UploadField.d.ts +0 -22
- package/dist/lib/components/UploadForm/UploadField/UploadField.js +0 -65
- package/dist/lib/components/UploadForm/UploadField/components/_UploadFieldDropArea/UploadFieldDropArea.css +0 -83
- package/dist/lib/components/UploadForm/UploadField/components/_UploadFieldDropArea/UploadFieldDropArea.d.ts +0 -21
- package/dist/lib/components/UploadForm/UploadField/components/_UploadFieldDropArea/UploadFieldDropArea.js +0 -59
- package/dist/lib/components/UploadForm/UploadField/components/useDragAndDrop.d.ts +0 -3
- package/dist/lib/components/UploadForm/UploadField/components/useDragAndDrop.js +0 -57
- package/dist/lib/components/UploadForm/UploadFileItem/UploadFileItem.css +0 -112
- package/dist/lib/components/UploadForm/UploadFileItem/UploadFileItem.d.ts +0 -25
- package/dist/lib/components/UploadForm/UploadFileItem/UploadFileItem.js +0 -95
- package/dist/lib/components/UploadForm/UploadFileItem/components/_UploadFileItemIcon/UploadFileItemIcon.d.ts +0 -7
- package/dist/lib/components/UploadForm/UploadFileItem/components/_UploadFileItemIcon/UploadFileItemIcon.js +0 -289
- package/dist/lib/components/UploadForm/UploadFileItem/helpers.d.ts +0 -5
- package/dist/lib/components/UploadForm/UploadFileItem/helpers.js +0 -33
package/dist/es/index.d.ts
CHANGED
|
@@ -31,8 +31,3 @@ export { default as TableTd } from './components/Table/components/TableTd/TableT
|
|
|
31
31
|
export { default as TableTh } from './components/Table/components/TableTh/TableTh';
|
|
32
32
|
export { default as TableTooltip } from './components/Table/components/TableTooltip/TableTooltip';
|
|
33
33
|
export { default as TableTr } from './components/Table/components/TableTr/TableTr';
|
|
34
|
-
export { default as UploadField } from './components/UploadForm/UploadField/UploadField';
|
|
35
|
-
export { default as UploadFieldDropArea } from './components/UploadForm/UploadField/components/_UploadFieldDropArea/UploadFieldDropArea';
|
|
36
|
-
export { default as UploadFileItem } from './components/UploadForm/UploadFileItem/UploadFileItem';
|
|
37
|
-
export { default as UploadFileItemIcon } from './components/UploadForm/UploadFileItem/components/_UploadFileItemIcon/UploadFileItemIcon';
|
|
38
|
-
export { default as useDragAndDrop } from './components/UploadForm/UploadField/components/useDragAndDrop';
|
package/dist/es/index.js
CHANGED
|
@@ -30,9 +30,4 @@ export { default as TableSettings } from "./components/Table/components/TableSet
|
|
|
30
30
|
export { default as TableTd } from "./components/Table/components/TableTd/TableTd";
|
|
31
31
|
export { default as TableTh } from "./components/Table/components/TableTh/TableTh";
|
|
32
32
|
export { default as TableTooltip } from "./components/Table/components/TableTooltip/TableTooltip";
|
|
33
|
-
export { default as TableTr } from "./components/Table/components/TableTr/TableTr";
|
|
34
|
-
export { default as UploadField } from "./components/UploadForm/UploadField/UploadField";
|
|
35
|
-
export { default as UploadFieldDropArea } from "./components/UploadForm/UploadField/components/_UploadFieldDropArea/UploadFieldDropArea";
|
|
36
|
-
export { default as UploadFileItem } from "./components/UploadForm/UploadFileItem/UploadFileItem";
|
|
37
|
-
export { default as UploadFileItemIcon } from "./components/UploadForm/UploadFileItem/components/_UploadFileItemIcon/UploadFileItemIcon";
|
|
38
|
-
export { default as useDragAndDrop } from "./components/UploadForm/UploadField/components/useDragAndDrop";
|
|
33
|
+
export { default as TableTr } from "./components/Table/components/TableTr/TableTr";
|
package/dist/lib/index.d.ts
CHANGED
|
@@ -31,8 +31,3 @@ export { default as TableTd } from './components/Table/components/TableTd/TableT
|
|
|
31
31
|
export { default as TableTh } from './components/Table/components/TableTh/TableTh';
|
|
32
32
|
export { default as TableTooltip } from './components/Table/components/TableTooltip/TableTooltip';
|
|
33
33
|
export { default as TableTr } from './components/Table/components/TableTr/TableTr';
|
|
34
|
-
export { default as UploadField } from './components/UploadForm/UploadField/UploadField';
|
|
35
|
-
export { default as UploadFieldDropArea } from './components/UploadForm/UploadField/components/_UploadFieldDropArea/UploadFieldDropArea';
|
|
36
|
-
export { default as UploadFileItem } from './components/UploadForm/UploadFileItem/UploadFileItem';
|
|
37
|
-
export { default as UploadFileItemIcon } from './components/UploadForm/UploadFileItem/components/_UploadFileItemIcon/UploadFileItemIcon';
|
|
38
|
-
export { default as useDragAndDrop } from './components/UploadForm/UploadField/components/useDragAndDrop';
|
package/dist/lib/index.js
CHANGED
|
@@ -195,42 +195,12 @@ Object.defineProperty(exports, "TableTr", {
|
|
|
195
195
|
return _TableTr["default"];
|
|
196
196
|
}
|
|
197
197
|
});
|
|
198
|
-
Object.defineProperty(exports, "UploadField", {
|
|
199
|
-
enumerable: true,
|
|
200
|
-
get: function get() {
|
|
201
|
-
return _UploadField["default"];
|
|
202
|
-
}
|
|
203
|
-
});
|
|
204
|
-
Object.defineProperty(exports, "UploadFieldDropArea", {
|
|
205
|
-
enumerable: true,
|
|
206
|
-
get: function get() {
|
|
207
|
-
return _UploadFieldDropArea["default"];
|
|
208
|
-
}
|
|
209
|
-
});
|
|
210
|
-
Object.defineProperty(exports, "UploadFileItem", {
|
|
211
|
-
enumerable: true,
|
|
212
|
-
get: function get() {
|
|
213
|
-
return _UploadFileItem["default"];
|
|
214
|
-
}
|
|
215
|
-
});
|
|
216
|
-
Object.defineProperty(exports, "UploadFileItemIcon", {
|
|
217
|
-
enumerable: true,
|
|
218
|
-
get: function get() {
|
|
219
|
-
return _UploadFileItemIcon["default"];
|
|
220
|
-
}
|
|
221
|
-
});
|
|
222
198
|
Object.defineProperty(exports, "chartColors", {
|
|
223
199
|
enumerable: true,
|
|
224
200
|
get: function get() {
|
|
225
201
|
return _chartColors["default"];
|
|
226
202
|
}
|
|
227
203
|
});
|
|
228
|
-
Object.defineProperty(exports, "useDragAndDrop", {
|
|
229
|
-
enumerable: true,
|
|
230
|
-
get: function get() {
|
|
231
|
-
return _useDragAndDrop["default"];
|
|
232
|
-
}
|
|
233
|
-
});
|
|
234
204
|
var _BottomBar = _interopRequireDefault(require("./components/BottomBar/BottomBar"));
|
|
235
205
|
var _CardBig = _interopRequireDefault(require("./components/Cards/CardBig/CardBig"));
|
|
236
206
|
var _CardCell = _interopRequireDefault(require("./components/Cards/components/_CardCell/CardCell"));
|
|
@@ -264,9 +234,4 @@ var _TableTd = _interopRequireDefault(require("./components/Table/components/Tab
|
|
|
264
234
|
var _TableTh = _interopRequireDefault(require("./components/Table/components/TableTh/TableTh"));
|
|
265
235
|
var _TableTooltip = _interopRequireDefault(require("./components/Table/components/TableTooltip/TableTooltip"));
|
|
266
236
|
var _TableTr = _interopRequireDefault(require("./components/Table/components/TableTr/TableTr"));
|
|
267
|
-
var _UploadField = _interopRequireDefault(require("./components/UploadForm/UploadField/UploadField"));
|
|
268
|
-
var _UploadFieldDropArea = _interopRequireDefault(require("./components/UploadForm/UploadField/components/_UploadFieldDropArea/UploadFieldDropArea"));
|
|
269
|
-
var _UploadFileItem = _interopRequireDefault(require("./components/UploadForm/UploadFileItem/UploadFileItem"));
|
|
270
|
-
var _UploadFileItemIcon = _interopRequireDefault(require("./components/UploadForm/UploadFileItem/components/_UploadFileItemIcon/UploadFileItemIcon"));
|
|
271
|
-
var _useDragAndDrop = _interopRequireDefault(require("./components/UploadForm/UploadField/components/useDragAndDrop"));
|
|
272
237
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@megafon/ui-lk-vas",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"files": [
|
|
5
5
|
"dist"
|
|
6
6
|
],
|
|
@@ -77,11 +77,11 @@
|
|
|
77
77
|
"typescript": "^5.3.3"
|
|
78
78
|
},
|
|
79
79
|
"dependencies": {
|
|
80
|
-
"@megafon/ui-core": "^7.
|
|
80
|
+
"@megafon/ui-core": "^7.3.0",
|
|
81
81
|
"@megafon/ui-helpers": "^3.1.1",
|
|
82
|
-
"@megafon/ui-icons": "^3.2.
|
|
82
|
+
"@megafon/ui-icons": "^3.2.1",
|
|
83
83
|
"chart.js": "4.0.1",
|
|
84
84
|
"lodash.throttle": "^4.1.1"
|
|
85
85
|
},
|
|
86
|
-
"gitHead": "
|
|
86
|
+
"gitHead": "b77283ba6760e14912cc98f3e1745ed53477cd22"
|
|
87
87
|
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
h1,
|
|
2
|
-
h2,
|
|
3
|
-
h3,
|
|
4
|
-
h4,
|
|
5
|
-
h5 {
|
|
6
|
-
margin: 0;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
.mfui-lkvas-upload-field {
|
|
10
|
-
position: relative;
|
|
11
|
-
-webkit-box-sizing: border-box;
|
|
12
|
-
box-sizing: border-box;
|
|
13
|
-
width: 100%;
|
|
14
|
-
max-width: 455px;
|
|
15
|
-
}
|
|
16
|
-
.mfui-lkvas-upload-field__input {
|
|
17
|
-
position: absolute;
|
|
18
|
-
width: 1px;
|
|
19
|
-
height: 1px;
|
|
20
|
-
margin: -1px;
|
|
21
|
-
padding: 0;
|
|
22
|
-
border: 0;
|
|
23
|
-
overflow: hidden;
|
|
24
|
-
white-space: nowrap;
|
|
25
|
-
clip: rect(0 0 0 0);
|
|
26
|
-
clip-path: inset(100%);
|
|
27
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import './UploadField.scss';
|
|
3
|
-
export interface IUploadDropField {
|
|
4
|
-
/** Дополнительный класс корневого элемента */
|
|
5
|
-
className?: string;
|
|
6
|
-
/** Обязательность поля */
|
|
7
|
-
required?: boolean;
|
|
8
|
-
/** Заблокированное состояние */
|
|
9
|
-
disabled?: boolean;
|
|
10
|
-
/** Действие при выборе файла */
|
|
11
|
-
onChange: (files: File[]) => void;
|
|
12
|
-
/** Дополнительная информация */
|
|
13
|
-
description?: string;
|
|
14
|
-
/** Дополнительные data атрибуты к внутренним элементам */
|
|
15
|
-
dataAttrs?: {
|
|
16
|
-
root?: Record<string, string>;
|
|
17
|
-
input?: Record<string, string>;
|
|
18
|
-
dropArea?: Record<string, string>;
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
declare const UploadField: React.FC<IUploadDropField>;
|
|
22
|
-
export default UploadField;
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import "core-js/modules/es.symbol.js";
|
|
3
|
-
import "core-js/modules/es.symbol.description.js";
|
|
4
|
-
import "core-js/modules/es.array.from.js";
|
|
5
|
-
import "core-js/modules/es.string.iterator.js";
|
|
6
|
-
import * as React from 'react';
|
|
7
|
-
import { cnCreate, filterDataAttrs } from '@megafon/ui-helpers';
|
|
8
|
-
import UploadFieldDropArea from "./components/_UploadFieldDropArea/UploadFieldDropArea";
|
|
9
|
-
import "./UploadField.css";
|
|
10
|
-
var cn = cnCreate('mfui-lkvas-upload-field');
|
|
11
|
-
var UploadField = function UploadField(_ref) {
|
|
12
|
-
var className = _ref.className,
|
|
13
|
-
_ref$required = _ref.required,
|
|
14
|
-
required = _ref$required === void 0 ? false : _ref$required,
|
|
15
|
-
_ref$disabled = _ref.disabled,
|
|
16
|
-
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
17
|
-
onChange = _ref.onChange,
|
|
18
|
-
description = _ref.description,
|
|
19
|
-
dataAttrs = _ref.dataAttrs;
|
|
20
|
-
var inputRef = React.useRef(null);
|
|
21
|
-
var handleInputChange = React.useCallback(function (e) {
|
|
22
|
-
var uploadFiles = Array.from(e.target.files || []);
|
|
23
|
-
onChange(uploadFiles);
|
|
24
|
-
e.target.value = '';
|
|
25
|
-
}, [onChange]);
|
|
26
|
-
var handleFileDrop = React.useCallback(function (uploadFiles) {
|
|
27
|
-
onChange(uploadFiles);
|
|
28
|
-
}, [onChange]);
|
|
29
|
-
var handleSelectButtonClick = React.useCallback(function () {
|
|
30
|
-
if (!inputRef || !inputRef.current) {
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
inputRef.current.click();
|
|
34
|
-
}, []);
|
|
35
|
-
return /*#__PURE__*/React.createElement("div", _extends({
|
|
36
|
-
className: cn([className])
|
|
37
|
-
}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root)), /*#__PURE__*/React.createElement("input", _extends({
|
|
38
|
-
className: cn('input')
|
|
39
|
-
}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.input), {
|
|
40
|
-
multiple: true,
|
|
41
|
-
type: "file",
|
|
42
|
-
ref: inputRef,
|
|
43
|
-
onChange: handleInputChange,
|
|
44
|
-
disabled: disabled
|
|
45
|
-
})), /*#__PURE__*/React.createElement(UploadFieldDropArea, {
|
|
46
|
-
description: description,
|
|
47
|
-
required: required,
|
|
48
|
-
disabled: disabled,
|
|
49
|
-
onDrop: handleFileDrop,
|
|
50
|
-
onSelectButtonClick: handleSelectButtonClick,
|
|
51
|
-
dataAttrs: {
|
|
52
|
-
root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.dropArea
|
|
53
|
-
}
|
|
54
|
-
}));
|
|
55
|
-
};
|
|
56
|
-
export default UploadField;
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
h1,
|
|
2
|
-
h2,
|
|
3
|
-
h3,
|
|
4
|
-
h4,
|
|
5
|
-
h5 {
|
|
6
|
-
margin: 0;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
.mfui-lkvas-upload-field-drop-area {
|
|
10
|
-
display: -webkit-box;
|
|
11
|
-
display: -ms-flexbox;
|
|
12
|
-
display: flex;
|
|
13
|
-
-webkit-box-orient: vertical;
|
|
14
|
-
-webkit-box-direction: normal;
|
|
15
|
-
-ms-flex-direction: column;
|
|
16
|
-
flex-direction: column;
|
|
17
|
-
gap: 8px;
|
|
18
|
-
-webkit-box-align: center;
|
|
19
|
-
-ms-flex-align: center;
|
|
20
|
-
align-items: center;
|
|
21
|
-
width: 100%;
|
|
22
|
-
padding: 12px 32px 20px;
|
|
23
|
-
border: 1px dashed var(--spbSky2);
|
|
24
|
-
border-radius: 12px;
|
|
25
|
-
}
|
|
26
|
-
.mfui-lkvas-upload-field-drop-area__upload-icon {
|
|
27
|
-
width: 40px;
|
|
28
|
-
height: 40px;
|
|
29
|
-
fill: var(--spbSky3);
|
|
30
|
-
}
|
|
31
|
-
.mfui-lkvas-upload-field-drop-area__content {
|
|
32
|
-
text-align: center;
|
|
33
|
-
}
|
|
34
|
-
.mfui-lkvas-upload-field-drop-area__select-button {
|
|
35
|
-
display: inline-block;
|
|
36
|
-
-webkit-box-sizing: border-box;
|
|
37
|
-
box-sizing: border-box;
|
|
38
|
-
margin-right: 4px;
|
|
39
|
-
padding: 0;
|
|
40
|
-
border: none;
|
|
41
|
-
border-radius: 0;
|
|
42
|
-
color: var(--brandGreen);
|
|
43
|
-
font-weight: 500;
|
|
44
|
-
font-family: inherit;
|
|
45
|
-
text-align: center;
|
|
46
|
-
text-decoration: none;
|
|
47
|
-
background: transparent;
|
|
48
|
-
outline: none;
|
|
49
|
-
cursor: pointer;
|
|
50
|
-
-webkit-appearance: none;
|
|
51
|
-
-moz-appearance: none;
|
|
52
|
-
appearance: none;
|
|
53
|
-
}
|
|
54
|
-
.mfui-lkvas-upload-field-drop-area__description {
|
|
55
|
-
font-size: 12px;
|
|
56
|
-
line-height: 18px;
|
|
57
|
-
color: var(--spbSky3);
|
|
58
|
-
font-weight: 400;
|
|
59
|
-
text-align: center;
|
|
60
|
-
}
|
|
61
|
-
.mfui-lkvas-upload-field-drop-area__select-button:hover {
|
|
62
|
-
color: var(--buttonHoverGreen);
|
|
63
|
-
}
|
|
64
|
-
.mfui-lkvas-upload-field-drop-area__mark {
|
|
65
|
-
color: var(--fury);
|
|
66
|
-
}
|
|
67
|
-
.mfui-lkvas-upload-field-drop-area_dragging {
|
|
68
|
-
border-color: var(--brandGreen);
|
|
69
|
-
}
|
|
70
|
-
.mfui-lkvas-upload-field-drop-area_dragging * {
|
|
71
|
-
pointer-events: none;
|
|
72
|
-
}
|
|
73
|
-
.mfui-lkvas-upload-field-drop-area_disabled {
|
|
74
|
-
color: var(--spbSky3);
|
|
75
|
-
background-color: var(--spbSky0);
|
|
76
|
-
}
|
|
77
|
-
.mfui-lkvas-upload-field-drop-area_disabled .mfui-lkvas-upload-field-drop-area__select-button {
|
|
78
|
-
color: var(--spbSky3);
|
|
79
|
-
cursor: not-allowed;
|
|
80
|
-
}
|
|
81
|
-
.mfui-lkvas-upload-field-drop-area_disabled .mfui-lkvas-upload-field-drop-area__mark {
|
|
82
|
-
color: var(--spbSky3);
|
|
83
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import './UploadFieldDropArea.scss';
|
|
3
|
-
export interface IUploadFieldDropArea {
|
|
4
|
-
/** Дополнительная информация */
|
|
5
|
-
description?: string;
|
|
6
|
-
/** Обязательность поля */
|
|
7
|
-
required: boolean;
|
|
8
|
-
/** Заблокированное состояние */
|
|
9
|
-
disabled: boolean;
|
|
10
|
-
/** Обработчик события 'drop' */
|
|
11
|
-
onDrop: (files: File[]) => void;
|
|
12
|
-
/** Обработчик нажатия на кнопку выбора файлов */
|
|
13
|
-
onSelectButtonClick: () => void;
|
|
14
|
-
/** Дополнительные data атрибуты к внутренним элементам */
|
|
15
|
-
dataAttrs?: {
|
|
16
|
-
root?: Record<string, string>;
|
|
17
|
-
button?: Record<string, string>;
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
declare const UploadFieldDropArea: React.FC<IUploadFieldDropArea>;
|
|
21
|
-
export default UploadFieldDropArea;
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import "core-js/modules/es.symbol.js";
|
|
3
|
-
import "core-js/modules/es.symbol.description.js";
|
|
4
|
-
import * as React from 'react';
|
|
5
|
-
import { cnCreate, filterDataAttrs } from '@megafon/ui-helpers';
|
|
6
|
-
import useDragAndDrop from "../useDragAndDrop";
|
|
7
|
-
import "./UploadFieldDropArea.css";
|
|
8
|
-
var CloudUpload = function CloudUpload(props) {
|
|
9
|
-
return /*#__PURE__*/React.createElement("svg", _extends({
|
|
10
|
-
viewBox: "0 0 40 40"
|
|
11
|
-
}, props), /*#__PURE__*/React.createElement("path", {
|
|
12
|
-
d: "M19 36V22l-2.38 3.9-1.71-1L19 18h1.88l4.14 6.85-1.71 1L21 22v14zM8.21 32H14v-2H8.21A4.27 4.27 0 014 25.6a4.27 4.27 0 014.21-4.4h2.07V18a9.94 9.94 0 019.66-10 9.94 9.94 0 019.66 10v1h1a5.49 5.49 0 010 11H26v2h4.6a7.49 7.49 0 001-14.91A11.94 11.94 0 0019.94 6 11.94 11.94 0 008.27 18v1.16h-.06A6.27 6.27 0 002 25.6 6.27 6.27 0 008.21 32z"
|
|
13
|
-
}));
|
|
14
|
-
};
|
|
15
|
-
var cn = cnCreate('mfui-lkvas-upload-field-drop-area');
|
|
16
|
-
var UploadFieldDropArea = function UploadFieldDropArea(_ref) {
|
|
17
|
-
var description = _ref.description,
|
|
18
|
-
required = _ref.required,
|
|
19
|
-
disabled = _ref.disabled,
|
|
20
|
-
onDrop = _ref.onDrop,
|
|
21
|
-
onSelectButtonClick = _ref.onSelectButtonClick,
|
|
22
|
-
dataAttrs = _ref.dataAttrs;
|
|
23
|
-
var dropAreaRef = React.useRef(null);
|
|
24
|
-
var currentDropAreaRef = !disabled ? dropAreaRef : {
|
|
25
|
-
current: null
|
|
26
|
-
};
|
|
27
|
-
var isDragging = useDragAndDrop(currentDropAreaRef, onDrop);
|
|
28
|
-
return /*#__PURE__*/React.createElement("div", _extends({
|
|
29
|
-
className: cn({
|
|
30
|
-
disabled: disabled,
|
|
31
|
-
dragging: isDragging
|
|
32
|
-
}),
|
|
33
|
-
ref: dropAreaRef
|
|
34
|
-
}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root)), /*#__PURE__*/React.createElement(CloudUpload, {
|
|
35
|
-
className: cn('upload-icon')
|
|
36
|
-
}), /*#__PURE__*/React.createElement("div", {
|
|
37
|
-
className: cn('content')
|
|
38
|
-
}, /*#__PURE__*/React.createElement("button", _extends({
|
|
39
|
-
className: cn('select-button')
|
|
40
|
-
}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.button), {
|
|
41
|
-
type: "button",
|
|
42
|
-
disabled: disabled,
|
|
43
|
-
onClick: !disabled ? onSelectButtonClick : undefined
|
|
44
|
-
}), "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0444\u0430\u0439\u043B\u044B"), /*#__PURE__*/React.createElement("span", null, "\u0438\u043B\u0438 \u043F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u0435 \u0438\u0445 \u0441\u044E\u0434\u0430", required && /*#__PURE__*/React.createElement("span", {
|
|
45
|
-
className: cn('mark')
|
|
46
|
-
}, "*"))), !!description && /*#__PURE__*/React.createElement("div", {
|
|
47
|
-
className: cn('description')
|
|
48
|
-
}, description));
|
|
49
|
-
};
|
|
50
|
-
export default UploadFieldDropArea;
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
-
import "core-js/modules/es.array.from.js";
|
|
3
|
-
import "core-js/modules/es.string.iterator.js";
|
|
4
|
-
import React from 'react';
|
|
5
|
-
var useDragAndDrop = function useDragAndDrop(dropAreaRef, onDrop) {
|
|
6
|
-
var _React$useState = React.useState(false),
|
|
7
|
-
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
8
|
-
isDragging = _React$useState2[0],
|
|
9
|
-
setIsDragging = _React$useState2[1];
|
|
10
|
-
var dragEnterHandler = React.useCallback(function (e) {
|
|
11
|
-
e.preventDefault();
|
|
12
|
-
e.stopPropagation();
|
|
13
|
-
setIsDragging(true);
|
|
14
|
-
}, []);
|
|
15
|
-
var dragLeaveHandler = React.useCallback(function (e) {
|
|
16
|
-
e.preventDefault();
|
|
17
|
-
e.stopPropagation();
|
|
18
|
-
setIsDragging(false);
|
|
19
|
-
}, []);
|
|
20
|
-
var dragOverHandler = React.useCallback(function (e) {
|
|
21
|
-
e.preventDefault();
|
|
22
|
-
e.stopPropagation();
|
|
23
|
-
}, []);
|
|
24
|
-
var dropHandler = React.useCallback(function (e) {
|
|
25
|
-
e.preventDefault();
|
|
26
|
-
e.stopPropagation();
|
|
27
|
-
setIsDragging(false);
|
|
28
|
-
if (e.dataTransfer) {
|
|
29
|
-
onDrop(Array.from(e.dataTransfer.files));
|
|
30
|
-
}
|
|
31
|
-
}, [onDrop]);
|
|
32
|
-
React.useEffect(function () {
|
|
33
|
-
if (!dropAreaRef.current) {
|
|
34
|
-
return undefined;
|
|
35
|
-
}
|
|
36
|
-
var dropArea = dropAreaRef.current;
|
|
37
|
-
dropArea.addEventListener('dragenter', dragEnterHandler);
|
|
38
|
-
dropArea.addEventListener('dragleave', dragLeaveHandler);
|
|
39
|
-
dropArea.addEventListener('dragover', dragOverHandler);
|
|
40
|
-
dropArea.addEventListener('drop', dropHandler);
|
|
41
|
-
return function () {
|
|
42
|
-
dropArea.removeEventListener('dragenter', dragEnterHandler);
|
|
43
|
-
dropArea.removeEventListener('dragleave', dragLeaveHandler);
|
|
44
|
-
dropArea.removeEventListener('dragover', dragOverHandler);
|
|
45
|
-
dropArea.removeEventListener('drop', dropHandler);
|
|
46
|
-
};
|
|
47
|
-
}, [dragEnterHandler, dragLeaveHandler, dragOverHandler, dropHandler, dropAreaRef]);
|
|
48
|
-
return isDragging;
|
|
49
|
-
};
|
|
50
|
-
export default useDragAndDrop;
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
h1,
|
|
2
|
-
h2,
|
|
3
|
-
h3,
|
|
4
|
-
h4,
|
|
5
|
-
h5 {
|
|
6
|
-
margin: 0;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
.mfui-lkvas-upload-file-item {
|
|
10
|
-
display: -webkit-box;
|
|
11
|
-
display: -ms-flexbox;
|
|
12
|
-
display: flex;
|
|
13
|
-
gap: 12px;
|
|
14
|
-
-webkit-box-align: start;
|
|
15
|
-
-ms-flex-align: start;
|
|
16
|
-
align-items: flex-start;
|
|
17
|
-
-webkit-box-sizing: border-box;
|
|
18
|
-
box-sizing: border-box;
|
|
19
|
-
width: 100%;
|
|
20
|
-
max-width: 455px;
|
|
21
|
-
padding: 12px;
|
|
22
|
-
border-color: var(--spbSky1);
|
|
23
|
-
border-style: solid;
|
|
24
|
-
border-width: 1px;
|
|
25
|
-
border-radius: 12px;
|
|
26
|
-
}
|
|
27
|
-
.mfui-lkvas-upload-file-item__file-icon-box {
|
|
28
|
-
-ms-flex-negative: 0;
|
|
29
|
-
flex-shrink: 0;
|
|
30
|
-
width: 32px;
|
|
31
|
-
height: 32px;
|
|
32
|
-
margin-top: 5px;
|
|
33
|
-
}
|
|
34
|
-
.mfui-lkvas-upload-file-item__cancel-icon-box {
|
|
35
|
-
-ms-flex-negative: 0;
|
|
36
|
-
flex-shrink: 0;
|
|
37
|
-
width: 32px;
|
|
38
|
-
height: 32px;
|
|
39
|
-
margin-top: 5px;
|
|
40
|
-
padding: 0;
|
|
41
|
-
border: none;
|
|
42
|
-
border-radius: 50%;
|
|
43
|
-
background-color: var(--spbSky0);
|
|
44
|
-
cursor: pointer;
|
|
45
|
-
}
|
|
46
|
-
.mfui-lkvas-upload-file-item__cancel-icon-box svg {
|
|
47
|
-
fill: var(--spbSky3);
|
|
48
|
-
}
|
|
49
|
-
.mfui-lkvas-upload-file-item__icon {
|
|
50
|
-
width: 100%;
|
|
51
|
-
height: 100%;
|
|
52
|
-
}
|
|
53
|
-
.mfui-lkvas-upload-file-item__content {
|
|
54
|
-
-webkit-box-flex: 1;
|
|
55
|
-
-ms-flex-positive: 1;
|
|
56
|
-
flex-grow: 1;
|
|
57
|
-
overflow: hidden;
|
|
58
|
-
}
|
|
59
|
-
.mfui-lkvas-upload-file-item__name {
|
|
60
|
-
font-size: 15px;
|
|
61
|
-
line-height: 24px;
|
|
62
|
-
font-weight: 500;
|
|
63
|
-
width: 100%;
|
|
64
|
-
overflow: hidden;
|
|
65
|
-
white-space: nowrap;
|
|
66
|
-
text-overflow: ellipsis;
|
|
67
|
-
}
|
|
68
|
-
.mfui-lkvas-upload-file-item__description {
|
|
69
|
-
font-size: 12px;
|
|
70
|
-
line-height: 18px;
|
|
71
|
-
display: -webkit-box;
|
|
72
|
-
display: -ms-flexbox;
|
|
73
|
-
display: flex;
|
|
74
|
-
gap: 4px;
|
|
75
|
-
color: var(--spbSky3);
|
|
76
|
-
font-weight: 400;
|
|
77
|
-
}
|
|
78
|
-
.mfui-lkvas-upload-file-item__progress-bar {
|
|
79
|
-
width: 100%;
|
|
80
|
-
height: 4px;
|
|
81
|
-
margin-top: 12px;
|
|
82
|
-
border-radius: 2px;
|
|
83
|
-
background-color: var(--spbSky1);
|
|
84
|
-
}
|
|
85
|
-
.mfui-lkvas-upload-file-item__progress-bar-fill {
|
|
86
|
-
width: 0;
|
|
87
|
-
height: 100%;
|
|
88
|
-
border-radius: 2px;
|
|
89
|
-
background-color: var(--brandGreen);
|
|
90
|
-
-webkit-transition: width 0.3s ease;
|
|
91
|
-
transition: width 0.3s ease;
|
|
92
|
-
}
|
|
93
|
-
.mfui-lkvas-upload-file-item__service-message {
|
|
94
|
-
color: var(--content);
|
|
95
|
-
}
|
|
96
|
-
.mfui-lkvas-upload-file-item__error-message {
|
|
97
|
-
color: var(--fury);
|
|
98
|
-
text-decoration-line: underline;
|
|
99
|
-
text-decoration-style: dotted;
|
|
100
|
-
text-decoration-color: var(--fury);
|
|
101
|
-
text-underline-offset: 2px;
|
|
102
|
-
cursor: pointer;
|
|
103
|
-
}
|
|
104
|
-
.mfui-lkvas-upload-file-item__error-tooltip {
|
|
105
|
-
font-size: 15px;
|
|
106
|
-
line-height: 24px;
|
|
107
|
-
font-weight: 500;
|
|
108
|
-
max-width: 260px;
|
|
109
|
-
}
|
|
110
|
-
.mfui-lkvas-upload-file-item_error {
|
|
111
|
-
border-color: var(--fury20);
|
|
112
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import './UploadFileItem.scss';
|
|
3
|
-
export interface IUploadFileItem {
|
|
4
|
-
/** Дополнительный класс корневого элемента */
|
|
5
|
-
className?: string;
|
|
6
|
-
/** Имя файла с расширением */
|
|
7
|
-
fileName: string;
|
|
8
|
-
/** Размер файла в байтах */
|
|
9
|
-
fileSize?: string | number;
|
|
10
|
-
/** Процент загрузки файла */
|
|
11
|
-
loadingProgress?: number;
|
|
12
|
-
/** Сообщение об ошибке */
|
|
13
|
-
errorText?: string;
|
|
14
|
-
/** Проверка файла */
|
|
15
|
-
isChecking?: string;
|
|
16
|
-
/** Обработчик удаления файла */
|
|
17
|
-
onDelete?: (e: React.SyntheticEvent<EventTarget>) => void;
|
|
18
|
-
/** Дополнительные data атрибуты к внутренним элементам */
|
|
19
|
-
dataAttrs?: {
|
|
20
|
-
root?: Record<string, string>;
|
|
21
|
-
deleteButton?: Record<string, string>;
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
declare const UploadFileItem: React.FC<IUploadFileItem>;
|
|
25
|
-
export default UploadFileItem;
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import "core-js/modules/es.function.name.js";
|
|
3
|
-
import * as React from 'react';
|
|
4
|
-
import { Tooltip } from '@megafon/ui-core';
|
|
5
|
-
import { cnCreate, filterDataAttrs } from '@megafon/ui-helpers';
|
|
6
|
-
import UploadFileItemIcon from "./components/_UploadFileItemIcon/UploadFileItemIcon";
|
|
7
|
-
import { getReadableFileSize, splitFileName } from "./helpers";
|
|
8
|
-
import "./UploadFileItem.css";
|
|
9
|
-
var CancelIcon = function CancelIcon(props) {
|
|
10
|
-
return /*#__PURE__*/React.createElement("svg", _extends({
|
|
11
|
-
viewBox: "0 0 32 32"
|
|
12
|
-
}, props), /*#__PURE__*/React.createElement("path", {
|
|
13
|
-
className: "CancelIcon__st0",
|
|
14
|
-
d: "M16 14.5L11.5 10 10 11.5l4.5 4.5-4.5 4.5 1.5 1.5 4.5-4.5 4.5 4.5 1.5-1.5-4.5-4.5 4.5-4.5-1.5-1.5-4.5 4.5z"
|
|
15
|
-
}));
|
|
16
|
-
};
|
|
17
|
-
var cn = cnCreate('mfui-lkvas-upload-file-item');
|
|
18
|
-
var UploadFileItem = function UploadFileItem(_ref) {
|
|
19
|
-
var className = _ref.className,
|
|
20
|
-
fileName = _ref.fileName,
|
|
21
|
-
_ref$fileSize = _ref.fileSize,
|
|
22
|
-
fileSize = _ref$fileSize === void 0 ? 0 : _ref$fileSize,
|
|
23
|
-
_ref$loadingProgress = _ref.loadingProgress,
|
|
24
|
-
loadingProgress = _ref$loadingProgress === void 0 ? 0 : _ref$loadingProgress,
|
|
25
|
-
errorText = _ref.errorText,
|
|
26
|
-
_ref$isChecking = _ref.isChecking,
|
|
27
|
-
isChecking = _ref$isChecking === void 0 ? false : _ref$isChecking,
|
|
28
|
-
onDelete = _ref.onDelete,
|
|
29
|
-
dataAttrs = _ref.dataAttrs;
|
|
30
|
-
var tooltipTriggerElement = React.useRef(null);
|
|
31
|
-
var _splitFileName = splitFileName(fileName),
|
|
32
|
-
name = _splitFileName.name,
|
|
33
|
-
extension = _splitFileName.extension;
|
|
34
|
-
var readableFileSize = getReadableFileSize(fileSize);
|
|
35
|
-
var isError = !!errorText;
|
|
36
|
-
var handleDelete = function handleDelete(e) {
|
|
37
|
-
onDelete === null || onDelete === void 0 ? void 0 : onDelete(e);
|
|
38
|
-
};
|
|
39
|
-
var renderExtraContent = function renderExtraContent() {
|
|
40
|
-
if (isError) {
|
|
41
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", {
|
|
42
|
-
className: cn('error-message'),
|
|
43
|
-
ref: tooltipTriggerElement
|
|
44
|
-
}, "\u041E\u0448\u0438\u0431\u043A\u0430"), /*#__PURE__*/React.createElement(Tooltip, {
|
|
45
|
-
className: cn('error-tooltip'),
|
|
46
|
-
triggerElement: tooltipTriggerElement,
|
|
47
|
-
colorTheme: "blue",
|
|
48
|
-
placement: "bottom"
|
|
49
|
-
}, errorText));
|
|
50
|
-
}
|
|
51
|
-
return /*#__PURE__*/React.createElement("span", {
|
|
52
|
-
className: cn('service-message')
|
|
53
|
-
}, isChecking ? 'Проверка файла…' : "\u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430 ".concat(loadingProgress, "%"));
|
|
54
|
-
};
|
|
55
|
-
return /*#__PURE__*/React.createElement("div", _extends({
|
|
56
|
-
className: cn({
|
|
57
|
-
error: isError
|
|
58
|
-
}, [className])
|
|
59
|
-
}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root)), /*#__PURE__*/React.createElement("div", {
|
|
60
|
-
className: cn('file-icon-box')
|
|
61
|
-
}, /*#__PURE__*/React.createElement(UploadFileItemIcon, {
|
|
62
|
-
fileExtension: extension,
|
|
63
|
-
className: cn('icon')
|
|
64
|
-
})), /*#__PURE__*/React.createElement("div", {
|
|
65
|
-
className: cn('content')
|
|
66
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
67
|
-
className: cn('name')
|
|
68
|
-
}, name), /*#__PURE__*/React.createElement("div", {
|
|
69
|
-
className: cn('description')
|
|
70
|
-
}, !!extension && /*#__PURE__*/React.createElement("span", null, extension.toUpperCase()), /*#__PURE__*/React.createElement("span", null, readableFileSize), renderExtraContent()), /*#__PURE__*/React.createElement("div", {
|
|
71
|
-
className: cn('progress-bar')
|
|
72
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
73
|
-
className: cn('progress-bar-fill'),
|
|
74
|
-
style: {
|
|
75
|
-
width: "".concat(loadingProgress, "%")
|
|
76
|
-
}
|
|
77
|
-
}))), /*#__PURE__*/React.createElement("button", _extends({
|
|
78
|
-
type: "button",
|
|
79
|
-
className: cn('cancel-icon-box')
|
|
80
|
-
}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.deleteButton), {
|
|
81
|
-
onClick: handleDelete
|
|
82
|
-
}), /*#__PURE__*/React.createElement(CancelIcon, {
|
|
83
|
-
className: cn('icon')
|
|
84
|
-
})));
|
|
85
|
-
};
|
|
86
|
-
export default UploadFileItem;
|