@cloudtower/eagle 481.0.2 → 490.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.
Files changed (64) hide show
  1. package/dist/cjs/core/Duration/index.js +78 -0
  2. package/dist/cjs/core/LocalUpload/LocalUpload.hooks.js +66 -0
  3. package/dist/cjs/core/LocalUpload/LocalUpload.js +103 -0
  4. package/dist/cjs/core/LocalUpload/LocalUpload.style.js +13 -0
  5. package/dist/cjs/core/LocalUpload/LocalUpload.widget.js +379 -0
  6. package/dist/cjs/core/MediumDialog/MediumDialog.js +1 -1
  7. package/dist/cjs/core/TableForm/AddRowButton.js +2 -1
  8. package/dist/cjs/core/TableForm/index.js +1 -0
  9. package/dist/cjs/core/index.js +15 -12
  10. package/dist/cjs/coreX/Copy/CopyButton.js +40 -0
  11. package/dist/cjs/coreX/Copy/CopyTooltip.js +66 -0
  12. package/dist/cjs/coreX/Dialogs/RejectDialog/RejectDialog.js +16 -4
  13. package/dist/cjs/hooks/useFormatDuration.js +35 -0
  14. package/dist/cjs/index.js +253 -245
  15. package/dist/cjs/stats1.html +1 -1
  16. package/dist/cjs/utils/formatDuration.js +67 -0
  17. package/dist/components.css +3052 -2869
  18. package/dist/esm/core/Duration/index.js +72 -0
  19. package/dist/esm/core/LocalUpload/LocalUpload.hooks.js +63 -0
  20. package/dist/esm/core/LocalUpload/LocalUpload.js +97 -0
  21. package/dist/esm/core/LocalUpload/LocalUpload.style.js +10 -0
  22. package/dist/esm/core/LocalUpload/LocalUpload.widget.js +365 -0
  23. package/dist/esm/core/MediumDialog/MediumDialog.js +1 -1
  24. package/dist/esm/core/TableForm/AddRowButton.js +2 -1
  25. package/dist/esm/core/TableForm/index.js +1 -0
  26. package/dist/esm/core/index.js +4 -2
  27. package/dist/esm/coreX/Copy/CopyButton.js +34 -0
  28. package/dist/esm/coreX/Copy/CopyTooltip.js +59 -0
  29. package/dist/esm/coreX/Dialogs/RejectDialog/RejectDialog.js +16 -4
  30. package/dist/esm/hooks/useFormatDuration.js +33 -0
  31. package/dist/esm/index.js +4 -0
  32. package/dist/esm/stats1.html +1 -1
  33. package/dist/esm/utils/formatDuration.js +65 -0
  34. package/dist/linaria.merged.scss +3451 -3253
  35. package/dist/src/core/Duration/duration.type.d.ts +42 -0
  36. package/dist/src/core/Duration/index.d.ts +4 -0
  37. package/dist/src/core/LocalUpload/LocalUpload.d.ts +15 -0
  38. package/dist/src/core/LocalUpload/LocalUpload.hooks.d.ts +32 -0
  39. package/dist/src/core/LocalUpload/LocalUpload.style.d.ts +3 -0
  40. package/dist/src/core/LocalUpload/LocalUpload.type.d.ts +175 -0
  41. package/dist/src/core/LocalUpload/LocalUpload.widget.d.ts +23 -0
  42. package/dist/src/core/LocalUpload/index.d.ts +2 -0
  43. package/dist/src/core/TableForm/types.d.ts +1 -0
  44. package/dist/src/core/index.d.ts +5 -0
  45. package/dist/src/coreX/Copy/CopyButton.d.ts +5 -0
  46. package/dist/src/coreX/Copy/CopyButton.type.d.ts +8 -0
  47. package/dist/src/coreX/Copy/CopyTooltip.d.ts +5 -0
  48. package/dist/src/coreX/Copy/CopyTooltip.typs.d.ts +16 -0
  49. package/dist/src/coreX/Copy/index.d.ts +2 -0
  50. package/dist/src/coreX/Dialogs/RejectDialog/RejectDialog.type.d.ts +5 -1
  51. package/dist/src/coreX/index.d.ts +3 -0
  52. package/dist/src/hooks/__tests__/useFormatDuration.test.d.ts +1 -0
  53. package/dist/src/hooks/index.d.ts +1 -0
  54. package/dist/src/hooks/useFormatDuration.d.ts +31 -0
  55. package/dist/src/utils/__test__/formatDuration.spec.d.ts +1 -0
  56. package/dist/src/utils/formatDuration.d.ts +28 -0
  57. package/dist/src/utils/index.d.ts +1 -0
  58. package/dist/stories/docs/core/Duration.stories.d.ts +88 -0
  59. package/dist/stories/docs/core/LocalUpload.stories.d.ts +74 -0
  60. package/dist/stories/docs/coreX/Copy/CopyButton.stories.d.ts +66 -0
  61. package/dist/stories/docs/coreX/Copy/CopyTooltip.stories.d.ts +66 -0
  62. package/dist/stories/docs/coreX/Dialogs/RejectDialog.stories.d.ts +3 -1
  63. package/dist/style.css +3051 -2868
  64. package/package.json +6 -4
@@ -0,0 +1,78 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var core = require('@linaria/core');
5
+ var index = require('../Empty/index.js');
6
+ var index$1 = require('../ParrotTrans/index.js');
7
+ var useFormatDuration = require('../../hooks/useFormatDuration.js');
8
+ var isEmpty = require('../../utils/isEmpty.js');
9
+ var formatDuration = require('../../utils/formatDuration.js');
10
+ var index$2 = require('../Styled/index.js');
11
+
12
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
13
+
14
+ var React__default = /*#__PURE__*/_interopDefault(React);
15
+
16
+ var __defProp = Object.defineProperty;
17
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
18
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
19
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
20
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
21
+ var __spreadValues = (a, b) => {
22
+ for (var prop in b || (b = {}))
23
+ if (__hasOwnProp.call(b, prop))
24
+ __defNormalProp(a, prop, b[prop]);
25
+ if (__getOwnPropSymbols)
26
+ for (var prop of __getOwnPropSymbols(b)) {
27
+ if (__propIsEnum.call(b, prop))
28
+ __defNormalProp(a, prop, b[prop]);
29
+ }
30
+ return a;
31
+ };
32
+ const Duration = ({
33
+ rawValue,
34
+ valueClassName,
35
+ unitClassName,
36
+ abbreviate,
37
+ emptyProps,
38
+ maxDisplayUnits = 2,
39
+ minUnit = "second",
40
+ noUnitOnZero = false,
41
+ contentRender
42
+ }) => {
43
+ const { parts } = useFormatDuration.useFormatDuration(rawValue != null ? rawValue : 0, {
44
+ maxDisplayUnits,
45
+ useAbbreviation: abbreviate,
46
+ minUnit
47
+ });
48
+ if (isEmpty(rawValue)) {
49
+ return /* @__PURE__ */ React__default.default.createElement(index, __spreadValues({}, emptyProps));
50
+ }
51
+ if (parts.length === 0) {
52
+ return /* @__PURE__ */ React__default.default.createElement(index, __spreadValues({}, emptyProps));
53
+ }
54
+ if (contentRender) {
55
+ const formatItems = formatDuration.formatDuration(rawValue, {
56
+ maxDisplayUnits,
57
+ minUnit
58
+ });
59
+ return /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, contentRender(formatItems));
60
+ }
61
+ const allZero = parts.every((part) => part.value === 0);
62
+ if (noUnitOnZero && allZero) {
63
+ return /* @__PURE__ */ React__default.default.createElement("span", { className: core.cx("value", valueClassName) }, "0");
64
+ }
65
+ return /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, parts.map((part, index) => /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, { key: `${part.unit}-${index}` }, index > 0 && /* @__PURE__ */ React__default.default.createElement("span", null, " "), /* @__PURE__ */ React__default.default.createElement(
66
+ index$1.ParrotTrans,
67
+ {
68
+ parent: "span",
69
+ i18nKey: part.i18nKey,
70
+ count: part.value
71
+ },
72
+ /* @__PURE__ */ React__default.default.createElement("span", { className: core.cx("value", valueClassName) }),
73
+ /* @__PURE__ */ React__default.default.createElement("span", { className: core.cx("unit", index$2.UnitStyle, unitClassName) })
74
+ ))));
75
+ };
76
+ var Duration$1 = Duration;
77
+
78
+ module.exports = Duration$1;
@@ -0,0 +1,66 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+
5
+ const useFileValidation = ({
6
+ fileList,
7
+ setFileList,
8
+ validate,
9
+ createNewFile = false
10
+ }) => {
11
+ React.useEffect(() => {
12
+ if (!validate)
13
+ return;
14
+ const updateFile = (fileId, file) => {
15
+ const index = fileList.findIndex((f) => f.uid === fileId);
16
+ if (index !== -1) {
17
+ const newList = [...fileList];
18
+ const fileToUpdate = createNewFile ? (() => {
19
+ const newFile = new File([file], file.name, { type: file.type });
20
+ Object.assign(newFile, file);
21
+ return newFile;
22
+ })() : file;
23
+ newList.splice(index, 1, fileToUpdate);
24
+ setFileList(newList);
25
+ }
26
+ };
27
+ for (const _file of fileList) {
28
+ if (_file.fileStatus !== "need-validate") {
29
+ continue;
30
+ }
31
+ _file.fileStatus = "validating";
32
+ updateFile(_file.uid, _file);
33
+ validate(_file, fileList).then((result) => {
34
+ if (result.error) {
35
+ _file.error = result.error;
36
+ _file.fileStatus = "error";
37
+ } else {
38
+ _file.error = void 0;
39
+ _file.fileStatus = "success";
40
+ _file.data = result.data;
41
+ }
42
+ updateFile(_file.uid, _file);
43
+ return;
44
+ });
45
+ }
46
+ }, [fileList, setFileList, validate, createNewFile]);
47
+ };
48
+ const useFileCountErrorClear = ({
49
+ fileList,
50
+ maxCount,
51
+ setError
52
+ }) => {
53
+ const fileCountRef = React.useRef(fileList.length);
54
+ React.useEffect(() => {
55
+ if (fileList.length === fileCountRef.current) {
56
+ return;
57
+ }
58
+ fileCountRef.current = fileList.length;
59
+ if (fileCountRef.current <= maxCount) {
60
+ setError("");
61
+ }
62
+ }, [fileList.length, maxCount, setError]);
63
+ };
64
+
65
+ exports.useFileCountErrorClear = useFileCountErrorClear;
66
+ exports.useFileValidation = useFileValidation;
@@ -0,0 +1,103 @@
1
+ 'use strict';
2
+
3
+ var useParrotTranslation = require('../../hooks/useParrotTranslation.js');
4
+ var React = require('react');
5
+ var LocalUpload_style = require('./LocalUpload.style.js');
6
+ var LocalUpload_widget = require('./LocalUpload.widget.js');
7
+
8
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
9
+
10
+ var React__default = /*#__PURE__*/_interopDefault(React);
11
+
12
+ var __defProp = Object.defineProperty;
13
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
14
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
15
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
16
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
17
+ var __spreadValues = (a, b) => {
18
+ for (var prop in b || (b = {}))
19
+ if (__hasOwnProp.call(b, prop))
20
+ __defNormalProp(a, prop, b[prop]);
21
+ if (__getOwnPropSymbols)
22
+ for (var prop of __getOwnPropSymbols(b)) {
23
+ if (__propIsEnum.call(b, prop))
24
+ __defNormalProp(a, prop, b[prop]);
25
+ }
26
+ return a;
27
+ };
28
+ const UploadComp = React__default.default.forwardRef(
29
+ ({
30
+ className,
31
+ label,
32
+ description,
33
+ type = "dragger",
34
+ multiple = false,
35
+ accept,
36
+ disabled,
37
+ maxCount,
38
+ info,
39
+ fileList,
40
+ setFileList,
41
+ validate,
42
+ buttonProps,
43
+ listType = "list",
44
+ disableRemoveList = false,
45
+ onRemove
46
+ }, ref) => {
47
+ const { t } = useParrotTranslation();
48
+ const removeFile = (id) => {
49
+ const index = fileList.findIndex((f) => f.uid === id);
50
+ if (index !== -1) {
51
+ const file = fileList[index];
52
+ fileList.splice(index, 1);
53
+ setFileList([...fileList]);
54
+ onRemove == null ? void 0 : onRemove(file);
55
+ }
56
+ };
57
+ const _maxCount = multiple ? maxCount || Infinity : 1;
58
+ const isSingleSelect = _maxCount === 1;
59
+ return /* @__PURE__ */ React__default.default.createElement(UploadComp.Wrapper, { className, ref }, label ? /* @__PURE__ */ React__default.default.createElement(UploadComp.Label, null, label) : null, description ? /* @__PURE__ */ React__default.default.createElement(UploadComp.Description, null, description) : null, type === "button" ? /* @__PURE__ */ React__default.default.createElement(
60
+ UploadComp.Button,
61
+ __spreadValues({}, __spreadValues({
62
+ accept,
63
+ multiple,
64
+ disabled,
65
+ maxCount,
66
+ fileList,
67
+ setFileList,
68
+ validate
69
+ }, buttonProps)),
70
+ t("components.select_file")
71
+ ) : /* @__PURE__ */ React__default.default.createElement(
72
+ UploadComp.Dragger,
73
+ __spreadValues({}, {
74
+ accept,
75
+ multiple,
76
+ disabled,
77
+ maxCount,
78
+ fileList,
79
+ setFileList,
80
+ validate
81
+ })
82
+ ), info != null ? info : /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null), type === "button" || !isSingleSelect ? /* @__PURE__ */ React__default.default.createElement(
83
+ UploadComp.FileList,
84
+ {
85
+ fileList,
86
+ removeFile,
87
+ type: listType,
88
+ disableRemove: disableRemoveList,
89
+ onRemove
90
+ }
91
+ ) : null);
92
+ }
93
+ );
94
+ UploadComp.Wrapper = LocalUpload_style.UploadWrapper;
95
+ UploadComp.Label = LocalUpload_widget.UploadLabel;
96
+ UploadComp.Description = LocalUpload_widget.UploadDescription;
97
+ UploadComp.Button = LocalUpload_widget.UploadButton;
98
+ UploadComp.Dragger = LocalUpload_widget.UploadDragger;
99
+ UploadComp.FileList = LocalUpload_widget.UploadFileList;
100
+ UploadComp.FileInfo = LocalUpload_widget.UploadFileInfo;
101
+ const LocalUpload = UploadComp;
102
+
103
+ exports.LocalUpload = LocalUpload;
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ var react = require('@linaria/react');
4
+
5
+ const UploadWrapper = /*#__PURE__*/react.styled('div')({
6
+ name: "UploadWrapper",
7
+ class: "E_u3l9ivi",
8
+ propsAsIs: false
9
+ });
10
+ const FileInfoWrapperStyle = "E_ftdwz1g";
11
+
12
+ exports.FileInfoWrapperStyle = FileInfoWrapperStyle;
13
+ exports.UploadWrapper = UploadWrapper;
@@ -0,0 +1,379 @@
1
+ 'use strict';
2
+
3
+ var iconsReact = require('@cloudtower/icons-react');
4
+ var core = require('@linaria/core');
5
+ var index$1 = require('../Button/index.js');
6
+ var index$4 = require('../Byte/index.js');
7
+ var index$2 = require('../Icon/index.js');
8
+ var index$5 = require('../Tooltip/index.js');
9
+ var index = require('../Typo/index.js');
10
+ var index$3 = require('../../coreX/OverflowTooltip/index.js');
11
+ var useParrotTranslation = require('../../hooks/useParrotTranslation.js');
12
+ var cs = require('classnames');
13
+ var _ = require('lodash');
14
+ var React = require('react');
15
+ var LocalUpload_hooks = require('./LocalUpload.hooks.js');
16
+ var LocalUpload_style = require('./LocalUpload.style.js');
17
+ var antd = require('antd');
18
+
19
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
20
+
21
+ var cs__default = /*#__PURE__*/_interopDefault(cs);
22
+ var ___default = /*#__PURE__*/_interopDefault(_);
23
+ var React__default = /*#__PURE__*/_interopDefault(React);
24
+
25
+ var __defProp = Object.defineProperty;
26
+ var __defProps = Object.defineProperties;
27
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
28
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
29
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
30
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
31
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
32
+ var __spreadValues = (a, b) => {
33
+ for (var prop in b || (b = {}))
34
+ if (__hasOwnProp.call(b, prop))
35
+ __defNormalProp(a, prop, b[prop]);
36
+ if (__getOwnPropSymbols)
37
+ for (var prop of __getOwnPropSymbols(b)) {
38
+ if (__propIsEnum.call(b, prop))
39
+ __defNormalProp(a, prop, b[prop]);
40
+ }
41
+ return a;
42
+ };
43
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
44
+ const STATUS_ICON_MAP = {
45
+ error: iconsReact.ExclamationErrorCircleFill16RedIcon,
46
+ success: iconsReact.File16GradientBlueIcon,
47
+ validating: iconsReact.Loading16GradientBlueIcon,
48
+ "need-validate": iconsReact.Loading16GradientBlueIcon
49
+ };
50
+ const createBeforeUploadHandler = ({
51
+ fileList,
52
+ setFileList,
53
+ validate,
54
+ maxCount,
55
+ isSingleSelect,
56
+ setError,
57
+ t,
58
+ checkSingleSelectCount = false
59
+ }) => {
60
+ return (file, _fileList) => {
61
+ if (isSingleSelect) {
62
+ if (checkSingleSelectCount && _fileList.length > 1) {
63
+ setError(t("components.exceed_max_count", { count: 1 }) || "");
64
+ return false;
65
+ } else {
66
+ setError("");
67
+ }
68
+ const _file2 = file;
69
+ _file2.fileStatus = validate ? "need-validate" : "success";
70
+ setFileList([_file2]);
71
+ return false;
72
+ }
73
+ if (fileList.length + _fileList.length > maxCount) {
74
+ setError(t("components.exceed_max_count", { count: maxCount }) || "");
75
+ } else {
76
+ setError("");
77
+ }
78
+ const _file = file;
79
+ _file.fileStatus = validate ? "need-validate" : "success";
80
+ const index = _fileList.findIndex((f) => f.uid === _file.uid);
81
+ if (index !== -1) {
82
+ const newList = ___default.default.uniqBy(
83
+ [...fileList, ..._fileList.slice(0, index + 1)],
84
+ "uid"
85
+ );
86
+ setFileList(newList);
87
+ }
88
+ return false;
89
+ };
90
+ };
91
+ const UploadLabel = ({ className, children }) => {
92
+ return /* @__PURE__ */ React__default.default.createElement("label", { className: core.cx("upload-label", index.Typo.Label.l2_regular, className) }, children);
93
+ };
94
+ const UploadDescription = ({ className, children }) => {
95
+ return /* @__PURE__ */ React__default.default.createElement("div", { className: core.cx("upload-description", index.Typo.Label.l4_regular, className) }, children);
96
+ };
97
+ const UploadButton = ({
98
+ children,
99
+ hideIcon = false,
100
+ className,
101
+ fileList,
102
+ setFileList,
103
+ validate,
104
+ maxCount,
105
+ multiple = false,
106
+ disabled,
107
+ accept
108
+ }) => {
109
+ const { t } = useParrotTranslation();
110
+ const [error, setError] = React.useState("");
111
+ const _maxCount = multiple ? maxCount || Infinity : 1;
112
+ const isSingleSelect = _maxCount === 1;
113
+ LocalUpload_hooks.useFileValidation({
114
+ fileList,
115
+ setFileList,
116
+ validate,
117
+ createNewFile: false
118
+ });
119
+ LocalUpload_hooks.useFileCountErrorClear({
120
+ fileList,
121
+ maxCount: _maxCount,
122
+ setError
123
+ });
124
+ const props = {
125
+ accept,
126
+ fileList,
127
+ showUploadList: false,
128
+ beforeUpload: createBeforeUploadHandler({
129
+ fileList,
130
+ setFileList,
131
+ validate,
132
+ maxCount: _maxCount,
133
+ isSingleSelect,
134
+ setError,
135
+ t,
136
+ checkSingleSelectCount: false
137
+ }),
138
+ multiple
139
+ };
140
+ return /* @__PURE__ */ React__default.default.createElement(antd.Upload, __spreadProps(__spreadValues({}, props), { className: cs__default.default("upload-button", className) }), /* @__PURE__ */ React__default.default.createElement(
141
+ index$1,
142
+ {
143
+ disabled,
144
+ prefixIcon: !hideIcon ? /* @__PURE__ */ React__default.default.createElement(index$2, { src: iconsReact.Uploading16GradientGrayIcon }) : void 0,
145
+ hoverPrefixIcon: !hideIcon ? /* @__PURE__ */ React__default.default.createElement(index$2, { src: iconsReact.Uploading16GradientBlueIcon }) : void 0
146
+ },
147
+ children
148
+ ), error ? /* @__PURE__ */ React__default.default.createElement("div", { className: core.cx("upload-error", index.Typo.Label.l4_regular) }, error) : null);
149
+ };
150
+ const UploadDragger = ({
151
+ children,
152
+ className,
153
+ fileList,
154
+ setFileList,
155
+ validate,
156
+ maxCount,
157
+ multiple = false,
158
+ disabled,
159
+ accept
160
+ }) => {
161
+ var _a;
162
+ const { t } = useParrotTranslation();
163
+ const [error, setError] = React.useState("");
164
+ const _maxCount = multiple ? maxCount || Infinity : 1;
165
+ const isSingleSelect = _maxCount === 1;
166
+ const reachMaxCount = !!maxCount && !isSingleSelect && fileList.length >= maxCount;
167
+ LocalUpload_hooks.useFileValidation({
168
+ fileList,
169
+ setFileList,
170
+ validate,
171
+ createNewFile: true
172
+ });
173
+ LocalUpload_hooks.useFileCountErrorClear({
174
+ fileList,
175
+ maxCount: _maxCount,
176
+ setError
177
+ });
178
+ const props = {
179
+ accept,
180
+ fileList,
181
+ showUploadList: false,
182
+ beforeUpload: createBeforeUploadHandler({
183
+ fileList,
184
+ setFileList,
185
+ validate,
186
+ maxCount: _maxCount,
187
+ isSingleSelect,
188
+ setError,
189
+ t,
190
+ checkSingleSelectCount: true
191
+ }),
192
+ disabled,
193
+ multiple
194
+ };
195
+ const DefaultChildren = /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, /* @__PURE__ */ React__default.default.createElement(
196
+ index$2,
197
+ {
198
+ src: (fileList == null ? void 0 : fileList.length) ? reachMaxCount ? iconsReact.Upload24GradientGrayIcon : iconsReact.Upload24GradientBlueIcon : iconsReact.Upload48GradientBlueIcon,
199
+ iconHeight: (fileList == null ? void 0 : fileList.length) ? 24 : 48,
200
+ iconWidth: (fileList == null ? void 0 : fileList.length) ? 24 : 48
201
+ }
202
+ ), /* @__PURE__ */ React__default.default.createElement("div", { className: core.cx("upload-drag-text", index.Typo.Label.l2_regular) }, t("components.upload_file_desc")));
203
+ const fileStatus = isSingleSelect ? ((_a = fileList[0]) == null ? void 0 : _a.fileStatus) || "success" : void 0;
204
+ const FileInfo = ({ file }) => {
205
+ const fileStatus2 = file.fileStatus || "success";
206
+ return /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, /* @__PURE__ */ React__default.default.createElement("div", { className: "file-info", onClick: (e) => e.preventDefault() }, /* @__PURE__ */ React__default.default.createElement(
207
+ index$2,
208
+ {
209
+ src: STATUS_ICON_MAP[fileStatus2],
210
+ isRotate: fileStatus2 === "validating" || fileStatus2 === "need-validate"
211
+ }
212
+ ), /* @__PURE__ */ React__default.default.createElement("div", { className: core.cx("file-name", index.Typo.Label.l4_regular) }, file.name || file.fileName)), /* @__PURE__ */ React__default.default.createElement(index$1, { className: index.Typo.Label.l2_regular, type: "link" }, t("components.reselect_file")));
213
+ };
214
+ const Error2 = () => {
215
+ if (error) {
216
+ return /* @__PURE__ */ React__default.default.createElement("div", { className: core.cx("upload-error", index.Typo.Label.l4_regular) }, error);
217
+ }
218
+ const file = fileList[0];
219
+ if (isSingleSelect && (file == null ? void 0 : file.fileStatus) === "error" && file.error) {
220
+ return /* @__PURE__ */ React__default.default.createElement("div", { className: core.cx("upload-error", index.Typo.Label.l4_regular) }, file.error);
221
+ }
222
+ return null;
223
+ };
224
+ return /* @__PURE__ */ React__default.default.createElement("div", { className: cs__default.default("upload-drag", className) }, /* @__PURE__ */ React__default.default.createElement(
225
+ antd.Upload.Dragger,
226
+ __spreadProps(__spreadValues({}, props), {
227
+ disabled: disabled || fileStatus === "validating",
228
+ className: cs__default.default(
229
+ "upload-drag-area",
230
+ fileList.length ? "has-file" : "",
231
+ reachMaxCount && "reach-max-count",
232
+ isSingleSelect && "single",
233
+ fileStatus === "error" && "file-error",
234
+ fileStatus === "validating" && "file-validating"
235
+ )
236
+ }),
237
+ isSingleSelect && fileList.length ? /* @__PURE__ */ React__default.default.createElement(FileInfo, { file: fileList[0] }) : children || DefaultChildren
238
+ ), /* @__PURE__ */ React__default.default.createElement(Error2, null));
239
+ };
240
+ const UploadFileInfo = ({
241
+ file,
242
+ removeFile,
243
+ disabled,
244
+ onRemove
245
+ }) => {
246
+ const fileStatus = file.fileStatus || "success";
247
+ const handleRemove = () => {
248
+ var _a;
249
+ removeFile((_a = file.uid) != null ? _a : "");
250
+ if (onRemove && "fileStatus" in file) {
251
+ onRemove(file);
252
+ }
253
+ };
254
+ return /* @__PURE__ */ React__default.default.createElement(
255
+ "div",
256
+ {
257
+ className: cs__default.default(LocalUpload_style.FileInfoWrapperStyle, {
258
+ "file-error-wrapper": fileStatus === "error",
259
+ disabled
260
+ })
261
+ },
262
+ /* @__PURE__ */ React__default.default.createElement(
263
+ index$2,
264
+ {
265
+ src: STATUS_ICON_MAP[fileStatus],
266
+ isRotate: fileStatus === "validating" || fileStatus === "need-validate"
267
+ }
268
+ ),
269
+ /* @__PURE__ */ React__default.default.createElement("div", { className: core.cx("file-info", index.Typo.Label.l4_regular) }, /* @__PURE__ */ React__default.default.createElement(
270
+ index$3,
271
+ {
272
+ className: "file-name",
273
+ content: file.name || file.fileName,
274
+ tooltip: file.name || file.fileName
275
+ }
276
+ ), file.size ? /* @__PURE__ */ React__default.default.createElement("div", { className: "file-info" }, /* @__PURE__ */ React__default.default.createElement(
277
+ index$4,
278
+ {
279
+ rawValue: file.size,
280
+ valueClassName: "file-size",
281
+ unitClassName: "file-size-unit"
282
+ }
283
+ )) : /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null), file.fileStatus === "error" && !!file.error && /* @__PURE__ */ React__default.default.createElement("div", { className: core.cx("upload-file-error", index.Typo.Footnote.f2_regular) }, file.error)),
284
+ /* @__PURE__ */ React__default.default.createElement(
285
+ index$2,
286
+ {
287
+ src: iconsReact.XmarkRemove16SecondaryIcon,
288
+ onClick: disabled ? void 0 : handleRemove
289
+ }
290
+ )
291
+ );
292
+ };
293
+ const FileListItem = ({ file, removeFile, onRemove }) => {
294
+ const fileStatus = file.fileStatus || "success";
295
+ const { t } = useParrotTranslation();
296
+ const handleRemove = (e) => {
297
+ e.stopPropagation();
298
+ removeFile(file.uid);
299
+ onRemove == null ? void 0 : onRemove(file);
300
+ };
301
+ return /* @__PURE__ */ React__default.default.createElement(
302
+ "div",
303
+ {
304
+ className: core.cx("upload-file-item", index.Typo.Label.l4_regular),
305
+ key: file.uid
306
+ },
307
+ /* @__PURE__ */ React__default.default.createElement("div", { className: "upload-file-info" }, /* @__PURE__ */ React__default.default.createElement("div", { className: "file-info" }, /* @__PURE__ */ React__default.default.createElement(
308
+ index$2,
309
+ {
310
+ src: STATUS_ICON_MAP[fileStatus],
311
+ isRotate: fileStatus === "validating" || fileStatus === "need-validate"
312
+ }
313
+ ), /* @__PURE__ */ React__default.default.createElement(
314
+ "div",
315
+ {
316
+ className: fileStatus === "validating" || fileStatus === "need-validate" ? "validating" : ""
317
+ },
318
+ file.name || file.fileName
319
+ )), /* @__PURE__ */ React__default.default.createElement(index$5, { title: t("common.remove") }, /* @__PURE__ */ React__default.default.createElement(
320
+ index$2,
321
+ {
322
+ className: "remove-button",
323
+ src: iconsReact.XmarkRemove24SecondaryIcon,
324
+ onClick: handleRemove
325
+ }
326
+ ))),
327
+ file.fileStatus === "error" && !!file.error && /* @__PURE__ */ React__default.default.createElement("div", { className: core.cx("upload-file-error", index.Typo.Footnote.f2_regular) }, file.error)
328
+ );
329
+ };
330
+ const UploadFileList = ({
331
+ className,
332
+ fileList,
333
+ removeFile,
334
+ type = "list",
335
+ disableRemove = false,
336
+ onRemove
337
+ }) => {
338
+ if (!fileList.length) {
339
+ return null;
340
+ }
341
+ return /* @__PURE__ */ React__default.default.createElement(
342
+ "div",
343
+ {
344
+ className: cs__default.default(
345
+ "upload-file-list",
346
+ type === "list" ? "" : "upload-file-info-list",
347
+ className
348
+ )
349
+ },
350
+ fileList.map(
351
+ (file) => type === "list" ? /* @__PURE__ */ React__default.default.createElement(
352
+ FileListItem,
353
+ {
354
+ key: file.uid,
355
+ file,
356
+ removeFile,
357
+ onRemove
358
+ }
359
+ ) : /* @__PURE__ */ React__default.default.createElement(
360
+ UploadFileInfo,
361
+ {
362
+ key: file.uid,
363
+ file,
364
+ removeFile,
365
+ disabled: disableRemove,
366
+ onRemove
367
+ }
368
+ )
369
+ )
370
+ );
371
+ };
372
+
373
+ exports.FileListItem = FileListItem;
374
+ exports.UploadButton = UploadButton;
375
+ exports.UploadDescription = UploadDescription;
376
+ exports.UploadDragger = UploadDragger;
377
+ exports.UploadFileInfo = UploadFileInfo;
378
+ exports.UploadFileList = UploadFileList;
379
+ exports.UploadLabel = UploadLabel;
@@ -48,7 +48,7 @@ const MediumDialog = _a => {
48
48
  }) => /* @__PURE__ */React__default.default.createElement("span", {
49
49
  className: index.Typo.Display.d1s_bold_title
50
50
  }, title),
51
- className: core.cx(MediumDialogStyle, isContentFull && "content-full", className),
51
+ className: core.cx(MediumDialogStyle, "medium", isContentFull && "content-full", className),
52
52
  initializingSkeletonRows: 3,
53
53
  width: isContentFull ? "calc(100vw - 160px)" : 720
54
54
  }, restProps));
@@ -54,6 +54,7 @@ const AddRowButton = (props) => {
54
54
  text,
55
55
  extraAction
56
56
  },
57
+ style: style$1,
57
58
  columns,
58
59
  addData,
59
60
  data
@@ -87,7 +88,7 @@ const AddRowButton = (props) => {
87
88
  if (!columns.length) {
88
89
  return null;
89
90
  }
90
- return CustomizedButton ? /* @__PURE__ */ React__default.default.createElement(CustomizedButton, __spreadValues({}, props)) : /* @__PURE__ */ React__default.default.createElement(style.AddRowButtonWrapper, { className }, /* @__PURE__ */ React__default.default.createElement(
91
+ return CustomizedButton ? /* @__PURE__ */ React__default.default.createElement(CustomizedButton, __spreadValues({}, props)) : /* @__PURE__ */ React__default.default.createElement(style.AddRowButtonWrapper, { className, style: style$1 }, /* @__PURE__ */ React__default.default.createElement(
91
92
  index,
92
93
  __spreadProps(__spreadValues({}, restButtonProps), {
93
94
  type: restButtonProps.type || "ordinary",
@@ -199,6 +199,7 @@ const TableForm = React__default.default.forwardRef(
199
199
  ), (rowAddConfig == null ? void 0 : rowAddConfig.addible) ? /* @__PURE__ */ React__default.default.createElement(
200
200
  AddRowButton,
201
201
  {
202
+ style: { marginTop: hideEmptyTable && !data.length ? 0 : 8 },
202
203
  config: rowAddConfig,
203
204
  addData,
204
205
  columns,