@ncds/ui-admin 1.1.3 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +11 -0
- package/dist/cjs/src/components/badge/utils.js +2 -2
- package/dist/cjs/src/components/breadcrumb/BreadCrumb.js +2 -2
- package/dist/cjs/src/components/button/Button.js +2 -2
- package/dist/cjs/src/components/button/ButtonCloseX.js +2 -2
- package/dist/cjs/src/components/button/ButtonGroup.js +2 -2
- package/dist/cjs/src/components/carousel/CarouselArrow.js +2 -2
- package/dist/cjs/src/components/dropdown/Dropdown.js +4 -4
- package/dist/cjs/src/components/featured-icon/FeaturedIcon.js +2 -2
- package/dist/cjs/src/components/input/FileInput.js +222 -0
- package/dist/cjs/src/components/input/InputBase.js +6 -6
- package/dist/cjs/src/components/input/PasswordInput.js +17 -25
- package/dist/cjs/src/components/input/index.js +11 -0
- package/dist/cjs/src/components/notification/FullWidthNotification.js +3 -3
- package/dist/cjs/src/components/select/Select.js +2 -2
- package/dist/cjs/src/components/tag/Tag.js +3 -3
- package/dist/cjs/src/hooks/index.js +26 -0
- package/dist/cjs/src/hooks/useCallbackRef.js +49 -0
- package/dist/cjs/src/hooks/useMergeRefs.js +36 -0
- package/dist/esm/index.js +2 -1
- package/dist/esm/src/components/badge/utils.js +1 -1
- package/dist/esm/src/components/breadcrumb/BreadCrumb.js +1 -1
- package/dist/esm/src/components/button/Button.js +1 -1
- package/dist/esm/src/components/button/ButtonCloseX.js +1 -1
- package/dist/esm/src/components/button/ButtonGroup.js +1 -1
- package/dist/esm/src/components/carousel/CarouselArrow.js +1 -1
- package/dist/esm/src/components/dropdown/Dropdown.js +1 -1
- package/dist/esm/src/components/featured-icon/FeaturedIcon.js +1 -1
- package/dist/esm/src/components/input/FileInput.js +215 -0
- package/dist/esm/src/components/input/InputBase.js +1 -1
- package/dist/esm/src/components/input/PasswordInput.js +17 -25
- package/dist/esm/src/components/input/index.js +2 -1
- package/dist/esm/src/components/notification/FullWidthNotification.js +1 -1
- package/dist/esm/src/components/select/Select.js +1 -1
- package/dist/esm/src/components/tag/Tag.js +1 -1
- package/dist/esm/src/hooks/index.js +3 -0
- package/dist/esm/src/hooks/useCallbackRef.js +43 -0
- package/dist/esm/src/hooks/useMergeRefs.js +30 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/src/components/dropdown/Dropdown.d.ts +1 -1
- package/dist/types/src/components/featured-icon/FeaturedIcon.d.ts +1 -1
- package/dist/types/src/components/input/FileInput.d.ts +62 -0
- package/dist/types/src/components/input/InputBase.d.ts +1 -1
- package/dist/types/src/components/input/index.d.ts +1 -0
- package/dist/types/src/components/modal/Modal.d.ts +1 -1
- package/dist/types/src/components/notification/Notification.d.ts +1 -1
- package/dist/types/src/components/select/Select.d.ts +1 -1
- package/dist/types/src/hooks/index.d.ts +4 -0
- package/dist/types/src/hooks/useCallbackRef.d.ts +28 -0
- package/dist/types/src/hooks/useMergeRefs.d.ts +21 -0
- package/dist/ui-admin/assets/styles/style.css +54 -0
- package/package.json +2 -2
package/dist/cjs/index.js
CHANGED
|
@@ -310,4 +310,15 @@ Object.keys(_components).forEach(function (key) {
|
|
|
310
310
|
return _components[key];
|
|
311
311
|
}
|
|
312
312
|
});
|
|
313
|
+
});
|
|
314
|
+
var _hooks = require("./src/hooks");
|
|
315
|
+
Object.keys(_hooks).forEach(function (key) {
|
|
316
|
+
if (key === "default" || key === "__esModule") return;
|
|
317
|
+
if (key in exports && exports[key] === _hooks[key]) return;
|
|
318
|
+
Object.defineProperty(exports, key, {
|
|
319
|
+
enumerable: true,
|
|
320
|
+
get: function () {
|
|
321
|
+
return _hooks[key];
|
|
322
|
+
}
|
|
323
|
+
});
|
|
313
324
|
});
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.sideSlotRender = void 0;
|
|
7
7
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
8
|
-
var
|
|
8
|
+
var _dynamic = _interopRequireDefault(require("@ncds/ui-admin-icon/dynamic"));
|
|
9
9
|
var _color = require("../../../constant/color");
|
|
10
10
|
var _Dot = require("../dot/Dot");
|
|
11
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -15,7 +15,7 @@ var sideSlotRender = function (_a) {
|
|
|
15
15
|
var slot = _a.slot,
|
|
16
16
|
defaultIconSize = _a.defaultIconSize;
|
|
17
17
|
if (slot.type === 'icon') {
|
|
18
|
-
return (0, _jsxRuntime.jsx)(
|
|
18
|
+
return (0, _jsxRuntime.jsx)(_dynamic.default, {
|
|
19
19
|
name: slot.icon,
|
|
20
20
|
height: (_b = slot.size) !== null && _b !== void 0 ? _b : defaultIconSize,
|
|
21
21
|
width: (_c = slot.size) !== null && _c !== void 0 ? _c : defaultIconSize,
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.BreadCrumb = void 0;
|
|
7
7
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
8
|
-
var
|
|
8
|
+
var _dynamic = _interopRequireDefault(require("@ncds/ui-admin-icon/dynamic"));
|
|
9
9
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
10
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
11
|
var __assign = void 0 && (void 0).__assign || function () {
|
|
@@ -35,7 +35,7 @@ var BreadCrumb = function (_a) {
|
|
|
35
35
|
if (!items || items.length === 0) return null;
|
|
36
36
|
var renderItem = function (item, index) {
|
|
37
37
|
var isLast = index === items.length - 1;
|
|
38
|
-
var content = index === 0 ? (0, _jsxRuntime.jsx)(
|
|
38
|
+
var content = index === 0 ? (0, _jsxRuntime.jsx)(_dynamic.default, {
|
|
39
39
|
name: "home-01",
|
|
40
40
|
width: 16,
|
|
41
41
|
height: 16,
|
|
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.svgSize = exports.iconOnlySvgSize = exports.dotSize = exports.Button = void 0;
|
|
7
7
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
8
8
|
var _react = require("react");
|
|
9
|
+
var _dynamic = _interopRequireDefault(require("@ncds/ui-admin-icon/dynamic"));
|
|
9
10
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
|
-
var _uiAdminIcon = _interopRequireDefault(require("@ncds/ui-admin-icon"));
|
|
11
11
|
var _color = require("../../../constant/color");
|
|
12
12
|
var _dot = require("../dot");
|
|
13
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -88,7 +88,7 @@ var Button = exports.Button = /*#__PURE__*/(0, _react.forwardRef)(function (prop
|
|
|
88
88
|
var _a, _b, _c;
|
|
89
89
|
if (slot.type === 'icon') {
|
|
90
90
|
var iconSize = onlyIcon ? iconOnlySvgSize[size] : svgSize[size];
|
|
91
|
-
return (0, _jsxRuntime.jsx)(
|
|
91
|
+
return (0, _jsxRuntime.jsx)(_dynamic.default, {
|
|
92
92
|
name: slot.icon,
|
|
93
93
|
height: (_a = slot.size) !== null && _a !== void 0 ? _a : iconSize,
|
|
94
94
|
width: (_b = slot.size) !== null && _b !== void 0 ? _b : iconSize,
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.ButtonCloseX = void 0;
|
|
7
7
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
8
|
-
var
|
|
8
|
+
var _dynamic = _interopRequireDefault(require("@ncds/ui-admin-icon/dynamic"));
|
|
9
9
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
10
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
11
|
var __assign = void 0 && (void 0).__assign || function () {
|
|
@@ -34,7 +34,7 @@ var ButtonCloseX = function (_a) {
|
|
|
34
34
|
className: (0, _classnames.default)('ncua-button-close-x', "ncua-button-close-x--".concat(size), "ncua-button-close-x--".concat(theme), className),
|
|
35
35
|
onClick: onClick
|
|
36
36
|
}, {
|
|
37
|
-
children: (0, _jsxRuntime.jsx)(
|
|
37
|
+
children: (0, _jsxRuntime.jsx)(_dynamic.default, {
|
|
38
38
|
name: "x-close",
|
|
39
39
|
width: svgSize[size],
|
|
40
40
|
height: svgSize[size]
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.ButtonGroup = void 0;
|
|
7
7
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
8
|
-
var
|
|
8
|
+
var _dynamic = _interopRequireDefault(require("@ncds/ui-admin-icon/dynamic"));
|
|
9
9
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _color = require("../../../constant/color");
|
|
@@ -89,7 +89,7 @@ ButtonGroup.Item = function (_a) {
|
|
|
89
89
|
var _a, _b, _c;
|
|
90
90
|
if (!icon) return null;
|
|
91
91
|
if (icon.type === 'icon') {
|
|
92
|
-
return (0, _jsxRuntime.jsx)(
|
|
92
|
+
return (0, _jsxRuntime.jsx)(_dynamic.default, {
|
|
93
93
|
name: icon.icon,
|
|
94
94
|
width: (_a = icon.size) !== null && _a !== void 0 ? _a : svgSize[size],
|
|
95
95
|
height: (_b = icon.size) !== null && _b !== void 0 ? _b : svgSize[size],
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.CarouselArrow = void 0;
|
|
7
7
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
8
8
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
9
|
-
var
|
|
9
|
+
var _dynamic = _interopRequireDefault(require("@ncds/ui-admin-icon/dynamic"));
|
|
10
10
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
11
|
var __assign = void 0 && (void 0).__assign || function () {
|
|
12
12
|
__assign = Object.assign || function (t) {
|
|
@@ -31,7 +31,7 @@ var CarouselArrow = function (_a) {
|
|
|
31
31
|
className: (0, _classnames.default)('ncua-carousel-arrow', (_b = {}, _b["ncua-carousel-arrow--".concat(type)] = type, _b["ncua-carousel-arrow--".concat(size)] = size, _b["ncua-carousel-arrow--".concat(chevron)] = chevron, _b), className),
|
|
32
32
|
onClick: onClick
|
|
33
33
|
}, {
|
|
34
|
-
children: (0, _jsxRuntime.jsx)(
|
|
34
|
+
children: (0, _jsxRuntime.jsx)(_dynamic.default, {
|
|
35
35
|
className: "ncua-carousel-arrow__icon",
|
|
36
36
|
color: "var(--gray-500)",
|
|
37
37
|
name: chevron === 'left' ? 'chevron-left' : 'chevron-right'
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.Dropdown = void 0;
|
|
7
7
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
8
|
-
var
|
|
8
|
+
var _dynamic = _interopRequireDefault(require("@ncds/ui-admin-icon/dynamic"));
|
|
9
9
|
var _react = require("react");
|
|
10
10
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
11
|
var __assign = void 0 && (void 0).__assign || function () {
|
|
@@ -73,9 +73,9 @@ var Dropdown = function (_a) {
|
|
|
73
73
|
className: "ncua-dropdown__trigger ncua-dropdown__trigger--icon",
|
|
74
74
|
onClick: toggleDropdown
|
|
75
75
|
}, {
|
|
76
|
-
children: trigger.icon ? (0, _jsxRuntime.jsx)(
|
|
76
|
+
children: trigger.icon ? (0, _jsxRuntime.jsx)(_dynamic.default, {
|
|
77
77
|
name: trigger.icon
|
|
78
|
-
}) : (0, _jsxRuntime.jsx)(
|
|
78
|
+
}) : (0, _jsxRuntime.jsx)(_dynamic.default, {
|
|
79
79
|
name: "dots-vertical"
|
|
80
80
|
})
|
|
81
81
|
}));
|
|
@@ -165,7 +165,7 @@ var Dropdown = function (_a) {
|
|
|
165
165
|
children: [(0, _jsxRuntime.jsxs)("div", __assign({
|
|
166
166
|
className: "ncua-dropdown__item-text-group"
|
|
167
167
|
}, {
|
|
168
|
-
children: [item.icon && (0, _jsxRuntime.jsx)(
|
|
168
|
+
children: [item.icon && (0, _jsxRuntime.jsx)(_dynamic.default, {
|
|
169
169
|
name: item.icon,
|
|
170
170
|
className: "ncua-dropdown__item-icon"
|
|
171
171
|
}), (0, _jsxRuntime.jsx)("span", __assign({
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.FeaturedIcon = void 0;
|
|
7
7
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
8
|
-
var
|
|
8
|
+
var _dynamic = _interopRequireDefault(require("@ncds/ui-admin-icon/dynamic"));
|
|
9
9
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
10
|
var _react = require("react");
|
|
11
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -53,7 +53,7 @@ var FeaturedIcon = exports.FeaturedIcon = /*#__PURE__*/(0, _react.forwardRef)(fu
|
|
|
53
53
|
}), (0, _jsxRuntime.jsx)("div", {
|
|
54
54
|
className: "ncua-featured-icon__outline ncua-featured-icon__outline--outer"
|
|
55
55
|
})]
|
|
56
|
-
}), (0, _jsxRuntime.jsx)(
|
|
56
|
+
}), (0, _jsxRuntime.jsx)(_dynamic.default, {
|
|
57
57
|
name: name,
|
|
58
58
|
width: iconSizeMap[size],
|
|
59
59
|
height: iconSizeMap[size]
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.FileInputErrorType = exports.FileInput = void 0;
|
|
7
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
|
+
var _dynamic = _interopRequireDefault(require("@ncds/ui-admin-icon/dynamic"));
|
|
11
|
+
var _Tag = require("../tag/Tag");
|
|
12
|
+
var _button = require("../button");
|
|
13
|
+
var _shared = require("../shared");
|
|
14
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
|
+
var __assign = void 0 && (void 0).__assign || function () {
|
|
16
|
+
__assign = Object.assign || function (t) {
|
|
17
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
18
|
+
s = arguments[i];
|
|
19
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
20
|
+
}
|
|
21
|
+
return t;
|
|
22
|
+
};
|
|
23
|
+
return __assign.apply(this, arguments);
|
|
24
|
+
};
|
|
25
|
+
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
26
|
+
var t = {};
|
|
27
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
28
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
29
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
30
|
+
}
|
|
31
|
+
return t;
|
|
32
|
+
};
|
|
33
|
+
var __spreadArray = void 0 && (void 0).__spreadArray || function (to, from, pack) {
|
|
34
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
35
|
+
if (ar || !(i in from)) {
|
|
36
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
37
|
+
ar[i] = from[i];
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
41
|
+
};
|
|
42
|
+
var FileInputErrorType;
|
|
43
|
+
(function (FileInputErrorType) {
|
|
44
|
+
FileInputErrorType["ALREADY_UPLOADED"] = "ALREADY_UPLOADED";
|
|
45
|
+
FileInputErrorType["EXCEED_MAX_FILE_SIZE"] = "EXCEED_MAX_FILE_SIZE";
|
|
46
|
+
FileInputErrorType["EXCEED_MAX_FILE_COUNT"] = "EXCEED_MAX_FILE_COUNT";
|
|
47
|
+
})(FileInputErrorType || (exports.FileInputErrorType = FileInputErrorType = {}));
|
|
48
|
+
var FileInput = exports.FileInput = /*#__PURE__*/(0, _react.forwardRef)(function (_a, ref) {
|
|
49
|
+
var _b = _a.size,
|
|
50
|
+
size = _b === void 0 ? 'xs' : _b,
|
|
51
|
+
accept = _a.accept,
|
|
52
|
+
_c = _a.multiple,
|
|
53
|
+
multiple = _c === void 0 ? false : _c,
|
|
54
|
+
maxFileSize = _a.maxFileSize,
|
|
55
|
+
maxFileCount = _a.maxFileCount,
|
|
56
|
+
value = _a.value,
|
|
57
|
+
onChange = _a.onChange,
|
|
58
|
+
onFileSelect = _a.onFileSelect,
|
|
59
|
+
onFail = _a.onFail,
|
|
60
|
+
_d = _a.buttonLabel,
|
|
61
|
+
buttonLabel = _d === void 0 ? '파일 찾기' : _d,
|
|
62
|
+
disabled = _a.disabled,
|
|
63
|
+
label = _a.label,
|
|
64
|
+
hintItems = _a.hintItems,
|
|
65
|
+
validation = _a.validation,
|
|
66
|
+
destructive = _a.destructive,
|
|
67
|
+
isRequired = _a.isRequired,
|
|
68
|
+
showHelpIcon = _a.showHelpIcon,
|
|
69
|
+
hintText = _a.hintText,
|
|
70
|
+
props = __rest(_a, ["size", "accept", "multiple", "maxFileSize", "maxFileCount", "value", "onChange", "onFileSelect", "onFail", "buttonLabel", "disabled", "label", "hintItems", "validation", "destructive", "isRequired", "showHelpIcon", "hintText"]);
|
|
71
|
+
var fileInputRef = (0, _react.useRef)(null);
|
|
72
|
+
var _e = (0, _react.useState)([]),
|
|
73
|
+
internalFiles = _e[0],
|
|
74
|
+
setInternalFiles = _e[1];
|
|
75
|
+
// Determine if component is controlled or uncontrolled
|
|
76
|
+
var isControlled = value !== undefined;
|
|
77
|
+
var files = isControlled ? value : internalFiles;
|
|
78
|
+
// Sync internal state with controlled value
|
|
79
|
+
(0, _react.useEffect)(function () {
|
|
80
|
+
if (isControlled && value) {
|
|
81
|
+
setInternalFiles(value);
|
|
82
|
+
}
|
|
83
|
+
}, [isControlled, value]);
|
|
84
|
+
var updateFiles = function (newFiles) {
|
|
85
|
+
if (isControlled) {
|
|
86
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(newFiles);
|
|
87
|
+
} else {
|
|
88
|
+
setInternalFiles(newFiles);
|
|
89
|
+
onFileSelect === null || onFileSelect === void 0 ? void 0 : onFileSelect(newFiles);
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
var handleFileChange = function (event) {
|
|
93
|
+
var selectedFiles = event.target.files;
|
|
94
|
+
if (!selectedFiles || selectedFiles.length === 0) return;
|
|
95
|
+
var _a = validateFiles(Array.from(selectedFiles)),
|
|
96
|
+
validFiles = _a.validFiles,
|
|
97
|
+
invalidFiles = _a.invalidFiles;
|
|
98
|
+
var nextFiles = __spreadArray(__spreadArray([], files, true), validFiles, true);
|
|
99
|
+
updateFiles(nextFiles);
|
|
100
|
+
if (onFail && invalidFiles.length > 0) {
|
|
101
|
+
onFail(invalidFiles);
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
var validateFiles = function (fileList) {
|
|
105
|
+
var validFiles = [];
|
|
106
|
+
var invalidFiles = [];
|
|
107
|
+
var _loop_1 = function (file) {
|
|
108
|
+
if (files.some(function (f) {
|
|
109
|
+
return f.name === file.name && f.size === file.size;
|
|
110
|
+
})) {
|
|
111
|
+
invalidFiles.push(__assign(__assign({}, file), {
|
|
112
|
+
errorType: FileInputErrorType.ALREADY_UPLOADED
|
|
113
|
+
}));
|
|
114
|
+
return "continue";
|
|
115
|
+
}
|
|
116
|
+
if (!!maxFileSize && file.size > maxFileSize) {
|
|
117
|
+
invalidFiles.push(__assign(__assign({}, file), {
|
|
118
|
+
errorType: FileInputErrorType.EXCEED_MAX_FILE_SIZE
|
|
119
|
+
}));
|
|
120
|
+
return "continue";
|
|
121
|
+
}
|
|
122
|
+
if (!!maxFileCount && files.length + validFiles.length >= maxFileCount) {
|
|
123
|
+
invalidFiles.push(__assign(__assign({}, file), {
|
|
124
|
+
errorType: FileInputErrorType.EXCEED_MAX_FILE_COUNT
|
|
125
|
+
}));
|
|
126
|
+
return "continue";
|
|
127
|
+
}
|
|
128
|
+
validFiles.push(file);
|
|
129
|
+
};
|
|
130
|
+
for (var _i = 0, fileList_1 = fileList; _i < fileList_1.length; _i++) {
|
|
131
|
+
var file = fileList_1[_i];
|
|
132
|
+
_loop_1(file);
|
|
133
|
+
}
|
|
134
|
+
return {
|
|
135
|
+
validFiles: validFiles,
|
|
136
|
+
invalidFiles: invalidFiles
|
|
137
|
+
};
|
|
138
|
+
};
|
|
139
|
+
var handleBrowseClick = function () {
|
|
140
|
+
if (fileInputRef.current && !disabled) {
|
|
141
|
+
fileInputRef.current.click();
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
var handleRemoveFile = function (index) {
|
|
145
|
+
var newFiles = __spreadArray([], files, true);
|
|
146
|
+
newFiles.splice(index, 1);
|
|
147
|
+
updateFiles(newFiles);
|
|
148
|
+
};
|
|
149
|
+
var renderFileTagList = function () {
|
|
150
|
+
if (files.length === 0) return null;
|
|
151
|
+
return (0, _jsxRuntime.jsx)("div", __assign({
|
|
152
|
+
className: "ncua-file-input__file-tags"
|
|
153
|
+
}, {
|
|
154
|
+
children: files.map(function (file, index) {
|
|
155
|
+
return (0, _jsxRuntime.jsx)(_Tag.Tag, {
|
|
156
|
+
text: file.name,
|
|
157
|
+
size: size === 'xs' ? 'sm' : 'md',
|
|
158
|
+
close: true,
|
|
159
|
+
onButtonClick: function () {
|
|
160
|
+
return handleRemoveFile(index);
|
|
161
|
+
}
|
|
162
|
+
}, "".concat(file.name, "-").concat(index));
|
|
163
|
+
})
|
|
164
|
+
}));
|
|
165
|
+
};
|
|
166
|
+
var renderHintList = function () {
|
|
167
|
+
if (!hintItems || hintItems.length === 0) return null;
|
|
168
|
+
return (0, _jsxRuntime.jsx)("ul", __assign({
|
|
169
|
+
className: "ncua-file-input__hint-list"
|
|
170
|
+
}, {
|
|
171
|
+
children: hintItems.map(function (hint, index) {
|
|
172
|
+
return (0, _jsxRuntime.jsx)("li", __assign({
|
|
173
|
+
className: "ncua-file-input__hint-item"
|
|
174
|
+
}, {
|
|
175
|
+
children: hint
|
|
176
|
+
}), index);
|
|
177
|
+
})
|
|
178
|
+
}));
|
|
179
|
+
};
|
|
180
|
+
return (0, _jsxRuntime.jsxs)("div", __assign({
|
|
181
|
+
className: (0, _classnames.default)('ncua-file-input', "ncua-file-input--".concat(size))
|
|
182
|
+
}, {
|
|
183
|
+
children: [(0, _jsxRuntime.jsx)("input", __assign({
|
|
184
|
+
hidden: true,
|
|
185
|
+
ref: fileInputRef,
|
|
186
|
+
type: "file",
|
|
187
|
+
accept: accept,
|
|
188
|
+
multiple: multiple,
|
|
189
|
+
onChange: handleFileChange,
|
|
190
|
+
tabIndex: -1,
|
|
191
|
+
"aria-hidden": "true"
|
|
192
|
+
}, props)), (0, _jsxRuntime.jsxs)("div", __assign({
|
|
193
|
+
className: "ncua-file-input__input-container"
|
|
194
|
+
}, {
|
|
195
|
+
children: [(0, _jsxRuntime.jsxs)("div", __assign({
|
|
196
|
+
className: "ncua-file-input__label"
|
|
197
|
+
}, {
|
|
198
|
+
children: [(0, _jsxRuntime.jsx)(_shared.Label, __assign({
|
|
199
|
+
isRequired: isRequired
|
|
200
|
+
}, {
|
|
201
|
+
children: label
|
|
202
|
+
})), showHelpIcon && (0, _jsxRuntime.jsx)(_dynamic.default, {
|
|
203
|
+
className: "ncua-input__help-icon",
|
|
204
|
+
name: "help-circle"
|
|
205
|
+
})]
|
|
206
|
+
})), (0, _jsxRuntime.jsx)(_button.Button, {
|
|
207
|
+
size: size,
|
|
208
|
+
onClick: handleBrowseClick,
|
|
209
|
+
disabled: disabled,
|
|
210
|
+
leadingIcon: {
|
|
211
|
+
type: 'icon',
|
|
212
|
+
icon: 'upload-cloud-02'
|
|
213
|
+
},
|
|
214
|
+
label: buttonLabel
|
|
215
|
+
}), hintText && (0, _jsxRuntime.jsx)(_shared.HintText, __assign({
|
|
216
|
+
destructive: destructive
|
|
217
|
+
}, {
|
|
218
|
+
children: hintText
|
|
219
|
+
}))]
|
|
220
|
+
})), renderHintList(), renderFileTagList()]
|
|
221
|
+
}));
|
|
222
|
+
});
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.InputBase = void 0;
|
|
7
7
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
8
|
-
var
|
|
8
|
+
var _dynamic = _interopRequireDefault(require("@ncds/ui-admin-icon/dynamic"));
|
|
9
9
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
10
|
var _react = require("react");
|
|
11
11
|
var _color = require("../../../constant/color");
|
|
@@ -83,7 +83,7 @@ var InputBase = exports.InputBase = /*#__PURE__*/(0, _react.forwardRef)(function
|
|
|
83
83
|
return (0, _jsxRuntime.jsx)("div", __assign({
|
|
84
84
|
className: "ncua-input__icon-wrap"
|
|
85
85
|
}, {
|
|
86
|
-
children: (0, _jsxRuntime.jsx)(
|
|
86
|
+
children: (0, _jsxRuntime.jsx)(_dynamic.default, {
|
|
87
87
|
className: (0, _classnames.default)("ncua-input__".concat(position, "-icon"), slot.className),
|
|
88
88
|
name: slot.icon,
|
|
89
89
|
color: slot.color ? _color.COLOR[slot.color] : undefined,
|
|
@@ -103,7 +103,7 @@ var InputBase = exports.InputBase = /*#__PURE__*/(0, _react.forwardRef)(function
|
|
|
103
103
|
className: "ncua-input__icon-wrap ncua-input__right-icon ncua-input__clear",
|
|
104
104
|
onClick: props.onClearText
|
|
105
105
|
}, {
|
|
106
|
-
children: (0, _jsxRuntime.jsx)(
|
|
106
|
+
children: (0, _jsxRuntime.jsx)(_dynamic.default, {
|
|
107
107
|
name: "x",
|
|
108
108
|
className: "ncua-input__clear-icon",
|
|
109
109
|
width: validationSvgSize[size],
|
|
@@ -116,7 +116,7 @@ var InputBase = exports.InputBase = /*#__PURE__*/(0, _react.forwardRef)(function
|
|
|
116
116
|
return (0, _jsxRuntime.jsx)("div", __assign({
|
|
117
117
|
className: "ncua-input__icon-wrap ncua-input__right-icon"
|
|
118
118
|
}, {
|
|
119
|
-
children: (0, _jsxRuntime.jsx)(
|
|
119
|
+
children: (0, _jsxRuntime.jsx)(_dynamic.default, {
|
|
120
120
|
name: "info-circle",
|
|
121
121
|
className: "ncua-input__destructive-icon",
|
|
122
122
|
width: validationSvgSize[size],
|
|
@@ -128,7 +128,7 @@ var InputBase = exports.InputBase = /*#__PURE__*/(0, _react.forwardRef)(function
|
|
|
128
128
|
return (0, _jsxRuntime.jsx)("div", __assign({
|
|
129
129
|
className: "ncua-input__icon-wrap ncua-input__right-icon"
|
|
130
130
|
}, {
|
|
131
|
-
children: (0, _jsxRuntime.jsx)(
|
|
131
|
+
children: (0, _jsxRuntime.jsx)(_dynamic.default, {
|
|
132
132
|
name: "check-circle",
|
|
133
133
|
className: "ncua-input__validation-icon",
|
|
134
134
|
width: validationSvgSize[size],
|
|
@@ -148,7 +148,7 @@ var InputBase = exports.InputBase = /*#__PURE__*/(0, _react.forwardRef)(function
|
|
|
148
148
|
htmlFor: props.id
|
|
149
149
|
}, {
|
|
150
150
|
children: label
|
|
151
|
-
})), showHelpIcon && (0, _jsxRuntime.jsx)(
|
|
151
|
+
})), showHelpIcon && (0, _jsxRuntime.jsx)(_dynamic.default, {
|
|
152
152
|
className: "ncua-input__help-icon",
|
|
153
153
|
name: "help-circle"
|
|
154
154
|
})]
|
|
@@ -5,10 +5,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.PasswordInput = void 0;
|
|
7
7
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
8
|
-
var _uiAdminIcon = require("@ncds/ui-admin-icon");
|
|
9
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
8
|
var _react = require("react");
|
|
11
9
|
var _InputBase = require("./InputBase");
|
|
10
|
+
var _uiAdminIcon = require("@ncds/ui-admin-icon");
|
|
11
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
12
|
+
var _hooks = require("../../hooks");
|
|
12
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
14
|
var __assign = void 0 && (void 0).__assign || function () {
|
|
14
15
|
__assign = Object.assign || function (t) {
|
|
@@ -36,13 +37,25 @@ var PasswordInput = exports.PasswordInput = /*#__PURE__*/(0, _react.forwardRef)(
|
|
|
36
37
|
var _b = _a.size,
|
|
37
38
|
size = _b === void 0 ? 'xs' : _b,
|
|
38
39
|
props = __rest(_a, ["size"]);
|
|
39
|
-
var inputRef = (0, _react.useRef)(null);
|
|
40
40
|
var _c = (0, _react.useState)(false),
|
|
41
41
|
isVisible = _c[0],
|
|
42
42
|
setIsVisible = _c[1];
|
|
43
43
|
var _d = (0, _react.useState)(false),
|
|
44
44
|
hasContent = _d[0],
|
|
45
45
|
setHasContent = _d[1];
|
|
46
|
+
var callbackRef = (0, _hooks.useCallbackRef)(function (node) {
|
|
47
|
+
if (node) {
|
|
48
|
+
setHasContent(!!node.value);
|
|
49
|
+
var handleInput_1 = function () {
|
|
50
|
+
setHasContent(!!node.value);
|
|
51
|
+
};
|
|
52
|
+
node.addEventListener('input', handleInput_1);
|
|
53
|
+
return function () {
|
|
54
|
+
node.removeEventListener('input', handleInput_1);
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
var mergedRef = (0, _hooks.useMergeRefs)([ref, callbackRef]);
|
|
46
59
|
var svgProps = {
|
|
47
60
|
width: svgSize[size],
|
|
48
61
|
height: svgSize[size]
|
|
@@ -50,29 +63,8 @@ var PasswordInput = exports.PasswordInput = /*#__PURE__*/(0, _react.forwardRef)(
|
|
|
50
63
|
var handleVisibilityChange = function () {
|
|
51
64
|
setIsVisible(!isVisible);
|
|
52
65
|
};
|
|
53
|
-
(0, _react.useEffect)(function () {
|
|
54
|
-
if (inputRef.current) {
|
|
55
|
-
setHasContent(!!inputRef.current.value);
|
|
56
|
-
var handleInput_1 = function () {
|
|
57
|
-
var _a;
|
|
58
|
-
setHasContent(!!((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.value));
|
|
59
|
-
};
|
|
60
|
-
inputRef.current.addEventListener('input', handleInput_1);
|
|
61
|
-
return function () {
|
|
62
|
-
var _a;
|
|
63
|
-
(_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('input', handleInput_1);
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
}, []);
|
|
67
66
|
return (0, _jsxRuntime.jsx)(_InputBase.InputBase, __assign({
|
|
68
|
-
ref:
|
|
69
|
-
if (typeof ref === 'function') {
|
|
70
|
-
ref(node);
|
|
71
|
-
} else if (ref) {
|
|
72
|
-
ref.current = node;
|
|
73
|
-
}
|
|
74
|
-
inputRef.current = node;
|
|
75
|
-
},
|
|
67
|
+
ref: mergedRef,
|
|
76
68
|
size: size,
|
|
77
69
|
type: isVisible ? 'text' : 'password',
|
|
78
70
|
leadingElement: {
|
|
@@ -35,4 +35,15 @@ Object.keys(_Textarea).forEach(function (key) {
|
|
|
35
35
|
return _Textarea[key];
|
|
36
36
|
}
|
|
37
37
|
});
|
|
38
|
+
});
|
|
39
|
+
var _FileInput = require("./FileInput");
|
|
40
|
+
Object.keys(_FileInput).forEach(function (key) {
|
|
41
|
+
if (key === "default" || key === "__esModule") return;
|
|
42
|
+
if (key in exports && exports[key] === _FileInput[key]) return;
|
|
43
|
+
Object.defineProperty(exports, key, {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
get: function () {
|
|
46
|
+
return _FileInput[key];
|
|
47
|
+
}
|
|
48
|
+
});
|
|
38
49
|
});
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.FullWidthNotification = void 0;
|
|
7
7
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
8
|
-
var
|
|
8
|
+
var _dynamic = _interopRequireDefault(require("@ncds/ui-admin-icon/dynamic"));
|
|
9
9
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
10
|
var _react = require("react");
|
|
11
11
|
var _color = require("../../../constant/color");
|
|
@@ -67,7 +67,7 @@ var FullWidthNotification = exports.FullWidthNotification = /*#__PURE__*/(0, _re
|
|
|
67
67
|
children: [(0, _jsxRuntime.jsxs)("div", __assign({
|
|
68
68
|
className: "ncua-full-width-notification__content-wrapper"
|
|
69
69
|
}, {
|
|
70
|
-
children: [(0, _jsxRuntime.jsx)(
|
|
70
|
+
children: [(0, _jsxRuntime.jsx)(_dynamic.default, {
|
|
71
71
|
name: iconNameMap[color],
|
|
72
72
|
width: 16,
|
|
73
73
|
height: 16,
|
|
@@ -106,7 +106,7 @@ var FullWidthNotification = exports.FullWidthNotification = /*#__PURE__*/(0, _re
|
|
|
106
106
|
onClick: onClose,
|
|
107
107
|
"aria-label": "\uC54C\uB9BC \uB2EB\uAE30"
|
|
108
108
|
}, {
|
|
109
|
-
children: (0, _jsxRuntime.jsx)(
|
|
109
|
+
children: (0, _jsxRuntime.jsx)(_dynamic.default, __assign({
|
|
110
110
|
name: "x-close"
|
|
111
111
|
}, closeIconSize, {
|
|
112
112
|
color: _color.COLOR[iconColorMap[color]]
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.Select = void 0;
|
|
7
7
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
8
|
-
var
|
|
8
|
+
var _dynamic = _interopRequireDefault(require("@ncds/ui-admin-icon/dynamic"));
|
|
9
9
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
10
|
var _react = require("react");
|
|
11
11
|
var _HintText = require("../shared/hintText/HintText");
|
|
@@ -62,7 +62,7 @@ var Select = exports.Select = /*#__PURE__*/(0, _react.forwardRef)(function (_a,
|
|
|
62
62
|
children: [icon ? (0, _jsxRuntime.jsx)("span", __assign({
|
|
63
63
|
className: "ncua-select__icon"
|
|
64
64
|
}, {
|
|
65
|
-
children: (0, _jsxRuntime.jsx)(
|
|
65
|
+
children: (0, _jsxRuntime.jsx)(_dynamic.default, {
|
|
66
66
|
name: icon.icon,
|
|
67
67
|
width: icon.size,
|
|
68
68
|
height: icon.size,
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.Tag = void 0;
|
|
7
7
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
8
|
-
var
|
|
8
|
+
var _dynamic = _interopRequireDefault(require("@ncds/ui-admin-icon/dynamic"));
|
|
9
9
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
10
|
var _color = require("../../../constant/color");
|
|
11
11
|
var _dot = require("../dot");
|
|
@@ -35,7 +35,7 @@ var Tag = function (_a) {
|
|
|
35
35
|
var sideSlotRender = function (slot) {
|
|
36
36
|
var _a;
|
|
37
37
|
if (slot.type === 'icon') {
|
|
38
|
-
return (0, _jsxRuntime.jsx)(
|
|
38
|
+
return (0, _jsxRuntime.jsx)(_dynamic.default, {
|
|
39
39
|
name: slot.icon,
|
|
40
40
|
width: iconSize[size],
|
|
41
41
|
height: iconSize[size],
|
|
@@ -66,7 +66,7 @@ var Tag = function (_a) {
|
|
|
66
66
|
className: "ncua-tag__close",
|
|
67
67
|
onClick: onButtonClick
|
|
68
68
|
}, {
|
|
69
|
-
children: (0, _jsxRuntime.jsx)(
|
|
69
|
+
children: (0, _jsxRuntime.jsx)(_dynamic.default, {
|
|
70
70
|
name: "x-close",
|
|
71
71
|
color: _color.COLOR.gray300,
|
|
72
72
|
width: iconSize[size],
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "useCallbackRef", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _useCallbackRef.useCallbackRef;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "useMediaQuery", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _useMediaQuery.useMediaQuery;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "useMergeRefs", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _useMergeRefs.useMergeRefs;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
var _useMediaQuery = require("./useMediaQuery");
|
|
25
|
+
var _useMergeRefs = require("./useMergeRefs");
|
|
26
|
+
var _useCallbackRef = require("./useCallbackRef");
|