@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.
Files changed (52) hide show
  1. package/dist/cjs/index.js +11 -0
  2. package/dist/cjs/src/components/badge/utils.js +2 -2
  3. package/dist/cjs/src/components/breadcrumb/BreadCrumb.js +2 -2
  4. package/dist/cjs/src/components/button/Button.js +2 -2
  5. package/dist/cjs/src/components/button/ButtonCloseX.js +2 -2
  6. package/dist/cjs/src/components/button/ButtonGroup.js +2 -2
  7. package/dist/cjs/src/components/carousel/CarouselArrow.js +2 -2
  8. package/dist/cjs/src/components/dropdown/Dropdown.js +4 -4
  9. package/dist/cjs/src/components/featured-icon/FeaturedIcon.js +2 -2
  10. package/dist/cjs/src/components/input/FileInput.js +222 -0
  11. package/dist/cjs/src/components/input/InputBase.js +6 -6
  12. package/dist/cjs/src/components/input/PasswordInput.js +17 -25
  13. package/dist/cjs/src/components/input/index.js +11 -0
  14. package/dist/cjs/src/components/notification/FullWidthNotification.js +3 -3
  15. package/dist/cjs/src/components/select/Select.js +2 -2
  16. package/dist/cjs/src/components/tag/Tag.js +3 -3
  17. package/dist/cjs/src/hooks/index.js +26 -0
  18. package/dist/cjs/src/hooks/useCallbackRef.js +49 -0
  19. package/dist/cjs/src/hooks/useMergeRefs.js +36 -0
  20. package/dist/esm/index.js +2 -1
  21. package/dist/esm/src/components/badge/utils.js +1 -1
  22. package/dist/esm/src/components/breadcrumb/BreadCrumb.js +1 -1
  23. package/dist/esm/src/components/button/Button.js +1 -1
  24. package/dist/esm/src/components/button/ButtonCloseX.js +1 -1
  25. package/dist/esm/src/components/button/ButtonGroup.js +1 -1
  26. package/dist/esm/src/components/carousel/CarouselArrow.js +1 -1
  27. package/dist/esm/src/components/dropdown/Dropdown.js +1 -1
  28. package/dist/esm/src/components/featured-icon/FeaturedIcon.js +1 -1
  29. package/dist/esm/src/components/input/FileInput.js +215 -0
  30. package/dist/esm/src/components/input/InputBase.js +1 -1
  31. package/dist/esm/src/components/input/PasswordInput.js +17 -25
  32. package/dist/esm/src/components/input/index.js +2 -1
  33. package/dist/esm/src/components/notification/FullWidthNotification.js +1 -1
  34. package/dist/esm/src/components/select/Select.js +1 -1
  35. package/dist/esm/src/components/tag/Tag.js +1 -1
  36. package/dist/esm/src/hooks/index.js +3 -0
  37. package/dist/esm/src/hooks/useCallbackRef.js +43 -0
  38. package/dist/esm/src/hooks/useMergeRefs.js +30 -0
  39. package/dist/types/index.d.ts +1 -0
  40. package/dist/types/src/components/dropdown/Dropdown.d.ts +1 -1
  41. package/dist/types/src/components/featured-icon/FeaturedIcon.d.ts +1 -1
  42. package/dist/types/src/components/input/FileInput.d.ts +62 -0
  43. package/dist/types/src/components/input/InputBase.d.ts +1 -1
  44. package/dist/types/src/components/input/index.d.ts +1 -0
  45. package/dist/types/src/components/modal/Modal.d.ts +1 -1
  46. package/dist/types/src/components/notification/Notification.d.ts +1 -1
  47. package/dist/types/src/components/select/Select.d.ts +1 -1
  48. package/dist/types/src/hooks/index.d.ts +4 -0
  49. package/dist/types/src/hooks/useCallbackRef.d.ts +28 -0
  50. package/dist/types/src/hooks/useMergeRefs.d.ts +21 -0
  51. package/dist/ui-admin/assets/styles/style.css +54 -0
  52. 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 _uiAdminIcon = _interopRequireDefault(require("@ncds/ui-admin-icon"));
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)(_uiAdminIcon.default, {
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 _uiAdminIcon = _interopRequireDefault(require("@ncds/ui-admin-icon"));
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)(_uiAdminIcon.default, {
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)(_uiAdminIcon.default, {
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 _uiAdminIcon = _interopRequireDefault(require("@ncds/ui-admin-icon"));
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)(_uiAdminIcon.default, {
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 _uiAdminIcon = _interopRequireDefault(require("@ncds/ui-admin-icon"));
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)(_uiAdminIcon.default, {
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 _uiAdminIcon = _interopRequireDefault(require("@ncds/ui-admin-icon"));
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)(_uiAdminIcon.default, {
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 _uiAdminIcon = _interopRequireDefault(require("@ncds/ui-admin-icon"));
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)(_uiAdminIcon.default, {
76
+ children: trigger.icon ? (0, _jsxRuntime.jsx)(_dynamic.default, {
77
77
  name: trigger.icon
78
- }) : (0, _jsxRuntime.jsx)(_uiAdminIcon.default, {
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)(_uiAdminIcon.default, {
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 _uiAdminIcon = _interopRequireDefault(require("@ncds/ui-admin-icon"));
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)(_uiAdminIcon.default, {
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 _uiAdminIcon = _interopRequireDefault(require("@ncds/ui-admin-icon"));
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)(_uiAdminIcon.default, {
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)(_uiAdminIcon.default, {
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)(_uiAdminIcon.default, {
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)(_uiAdminIcon.default, {
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)(_uiAdminIcon.default, {
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: function (node) {
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 _uiAdminIcon = _interopRequireDefault(require("@ncds/ui-admin-icon"));
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)(_uiAdminIcon.default, {
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)(_uiAdminIcon.default, __assign({
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 _uiAdminIcon = _interopRequireDefault(require("@ncds/ui-admin-icon"));
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)(_uiAdminIcon.default, {
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 _uiAdminIcon = _interopRequireDefault(require("@ncds/ui-admin-icon"));
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)(_uiAdminIcon.default, {
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)(_uiAdminIcon.default, {
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");