@nexus-cross/design-system 1.0.10 → 1.0.11

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.
@@ -0,0 +1,256 @@
1
+ import { cn } from './chunk-MCKOWMLS.mjs';
2
+ import * as React from 'react';
3
+ import { cva } from 'class-variance-authority';
4
+ import { jsx, jsxs } from 'react/jsx-runtime';
5
+
6
+ var imageUploadVariants = cva("nexus-image-upload", {
7
+ variants: {
8
+ size: {
9
+ sm: "nexus-image-upload--sm",
10
+ md: "nexus-image-upload--md",
11
+ lg: "nexus-image-upload--lg"
12
+ }
13
+ },
14
+ defaultVariants: { size: "md" }
15
+ });
16
+ var DEFAULT_ACCEPT = ["jpg", "jpeg", "png", "gif", "webp"];
17
+ var DEFAULT_MAX_SIZE = 2 * 1024 * 1024;
18
+ var ImageUpIcon = ({ className }) => /* @__PURE__ */ jsxs("svg", { className, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: [
19
+ /* @__PURE__ */ jsx("path", { d: "M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21" }),
20
+ /* @__PURE__ */ jsx("path", { d: "m13.5 19 3-3 3 3" }),
21
+ /* @__PURE__ */ jsx("path", { d: "M16.5 22v-6" }),
22
+ /* @__PURE__ */ jsx("circle", { cx: "9", cy: "9", r: "2" })
23
+ ] });
24
+ var CloseIcon = ({ className }) => /* @__PURE__ */ jsx("svg", { className, viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: /* @__PURE__ */ jsx("path", { d: "M12 4L4 12M4 4l8 8" }) });
25
+ function formatBytes(bytes) {
26
+ if (bytes >= 1024 * 1024) return `${Math.round(bytes / (1024 * 1024))}MB`;
27
+ return `${Math.round(bytes / 1024)}KB`;
28
+ }
29
+ var ImageUpload = React.forwardRef(
30
+ ({
31
+ value: controlledValue,
32
+ defaultValue,
33
+ onChange,
34
+ onError,
35
+ accept = DEFAULT_ACCEPT,
36
+ maxSize = DEFAULT_MAX_SIZE,
37
+ placeholder = "\uC774\uBBF8\uC9C0\uB97C \uB4DC\uB798\uADF8\uD558\uAC70\uB098 \uD30C\uC77C \uC120\uD0DD",
38
+ formatDescription: formatDescProp,
39
+ label,
40
+ description,
41
+ disabled = false,
42
+ size,
43
+ className
44
+ }, ref) => {
45
+ const isControlled = controlledValue !== void 0;
46
+ const [internalPreview, setInternalPreview] = React.useState(
47
+ defaultValue ?? null
48
+ );
49
+ const preview = isControlled ? controlledValue : internalPreview;
50
+ const [isDragging, setIsDragging] = React.useState(false);
51
+ const inputRef = React.useRef(null);
52
+ const dragCounter = React.useRef(0);
53
+ const acceptMime = React.useMemo(
54
+ () => accept.map((ext) => {
55
+ const lower = ext.toLowerCase().replace(/^\./, "");
56
+ if (lower === "jpg" || lower === "jpeg") return "image/jpeg";
57
+ return `image/${lower}`;
58
+ }),
59
+ [accept]
60
+ );
61
+ const formatText = formatDescProp ?? `${[...new Set(accept.map((e) => e.toUpperCase().replace(/^\./, "")))].join(" \xB7 ")} \xB7 \uCD5C\uB300 ${formatBytes(maxSize)}`;
62
+ const validateFile = React.useCallback(
63
+ (file) => {
64
+ if (!acceptMime.includes(file.type)) {
65
+ return `\uC9C0\uC6D0\uD558\uC9C0 \uC54A\uB294 \uD30C\uC77C \uD615\uC2DD\uC785\uB2C8\uB2E4. (${accept.join(", ")})`;
66
+ }
67
+ if (file.size > maxSize) {
68
+ return `\uD30C\uC77C \uD06C\uAE30\uAC00 ${formatBytes(maxSize)}\uB97C \uCD08\uACFC\uD569\uB2C8\uB2E4.`;
69
+ }
70
+ return null;
71
+ },
72
+ [acceptMime, accept, maxSize]
73
+ );
74
+ const handleFile = React.useCallback(
75
+ (file) => {
76
+ const error = validateFile(file);
77
+ if (error) {
78
+ onError?.(error);
79
+ return;
80
+ }
81
+ if (!isControlled) {
82
+ const url = URL.createObjectURL(file);
83
+ setInternalPreview((prev) => {
84
+ if (prev?.startsWith("blob:")) URL.revokeObjectURL(prev);
85
+ return url;
86
+ });
87
+ }
88
+ onChange?.(file);
89
+ },
90
+ [validateFile, isControlled, onChange, onError]
91
+ );
92
+ const handleRemove = React.useCallback(() => {
93
+ if (!isControlled) {
94
+ setInternalPreview((prev) => {
95
+ if (prev?.startsWith("blob:")) URL.revokeObjectURL(prev);
96
+ return null;
97
+ });
98
+ }
99
+ onChange?.(null);
100
+ if (inputRef.current) inputRef.current.value = "";
101
+ }, [isControlled, onChange]);
102
+ const handleInputChange = React.useCallback(
103
+ (e) => {
104
+ const file = e.target.files?.[0];
105
+ if (file) handleFile(file);
106
+ },
107
+ [handleFile]
108
+ );
109
+ const handleClick = React.useCallback(() => {
110
+ if (!disabled) inputRef.current?.click();
111
+ }, [disabled]);
112
+ const handleDragEnter = React.useCallback(
113
+ (e) => {
114
+ e.preventDefault();
115
+ e.stopPropagation();
116
+ if (disabled) return;
117
+ dragCounter.current += 1;
118
+ if (dragCounter.current === 1) setIsDragging(true);
119
+ },
120
+ [disabled]
121
+ );
122
+ const handleDragLeave = React.useCallback((e) => {
123
+ e.preventDefault();
124
+ e.stopPropagation();
125
+ dragCounter.current -= 1;
126
+ if (dragCounter.current === 0) setIsDragging(false);
127
+ }, []);
128
+ const handleDragOver = React.useCallback((e) => {
129
+ e.preventDefault();
130
+ e.stopPropagation();
131
+ }, []);
132
+ const handleDrop = React.useCallback(
133
+ (e) => {
134
+ e.preventDefault();
135
+ e.stopPropagation();
136
+ setIsDragging(false);
137
+ dragCounter.current = 0;
138
+ if (disabled) return;
139
+ const file = e.dataTransfer.files?.[0];
140
+ if (file) handleFile(file);
141
+ },
142
+ [disabled, handleFile]
143
+ );
144
+ React.useEffect(() => {
145
+ return () => {
146
+ if (!isControlled && internalPreview?.startsWith("blob:")) {
147
+ URL.revokeObjectURL(internalPreview);
148
+ }
149
+ };
150
+ }, []);
151
+ const hasField = !!(label || description);
152
+ const hiddenInput = /* @__PURE__ */ jsx(
153
+ "input",
154
+ {
155
+ ref: inputRef,
156
+ type: "file",
157
+ accept: acceptMime.join(","),
158
+ onChange: handleInputChange,
159
+ className: "nexus-image-upload__input",
160
+ tabIndex: -1
161
+ }
162
+ );
163
+ const previewView = /* @__PURE__ */ jsxs(
164
+ "div",
165
+ {
166
+ className: cn(
167
+ "nexus-image-upload--has-preview",
168
+ size === "sm" && "nexus-image-upload--sm",
169
+ size === "lg" && "nexus-image-upload--lg",
170
+ disabled && "nexus-image-upload--disabled",
171
+ !hasField && className
172
+ ),
173
+ children: [
174
+ /* @__PURE__ */ jsxs("div", { className: "nexus-image-upload__preview-wrapper", children: [
175
+ /* @__PURE__ */ jsx(
176
+ "img",
177
+ {
178
+ src: preview,
179
+ alt: "Uploaded preview",
180
+ className: "nexus-image-upload__preview"
181
+ }
182
+ ),
183
+ !disabled && /* @__PURE__ */ jsx(
184
+ "button",
185
+ {
186
+ type: "button",
187
+ className: "nexus-image-upload__remove",
188
+ onClick: handleRemove,
189
+ "aria-label": "\uC774\uBBF8\uC9C0 \uC0AD\uC81C",
190
+ children: /* @__PURE__ */ jsx(CloseIcon, { className: "nexus-image-upload__remove-icon" })
191
+ }
192
+ )
193
+ ] }),
194
+ /* @__PURE__ */ jsxs("div", { className: "nexus-image-upload__info", children: [
195
+ !disabled && /* @__PURE__ */ jsx(
196
+ "button",
197
+ {
198
+ type: "button",
199
+ className: "nexus-image-upload__change-btn",
200
+ onClick: handleClick,
201
+ children: "\uC774\uBBF8\uC9C0 \uBCC0\uACBD"
202
+ }
203
+ ),
204
+ /* @__PURE__ */ jsx("span", { className: "nexus-image-upload__format", children: formatText })
205
+ ] }),
206
+ hiddenInput
207
+ ]
208
+ }
209
+ );
210
+ const emptyView = /* @__PURE__ */ jsx("div", { className: "nexus-image-upload__container", children: /* @__PURE__ */ jsxs(
211
+ "div",
212
+ {
213
+ role: "button",
214
+ tabIndex: disabled ? -1 : 0,
215
+ className: cn(
216
+ imageUploadVariants({ size }),
217
+ isDragging && "nexus-image-upload--dragging",
218
+ disabled && "nexus-image-upload--disabled",
219
+ !hasField && className
220
+ ),
221
+ onClick: handleClick,
222
+ onKeyDown: (e) => {
223
+ if (e.key === "Enter" || e.key === " ") {
224
+ e.preventDefault();
225
+ handleClick();
226
+ }
227
+ },
228
+ onDragEnter: handleDragEnter,
229
+ onDragLeave: handleDragLeave,
230
+ onDragOver: handleDragOver,
231
+ onDrop: handleDrop,
232
+ "aria-label": placeholder,
233
+ children: [
234
+ /* @__PURE__ */ jsx(ImageUpIcon, { className: "nexus-image-upload__icon" }),
235
+ /* @__PURE__ */ jsxs("div", { className: "nexus-image-upload__text-group", children: [
236
+ /* @__PURE__ */ jsx("span", { className: "nexus-image-upload__text", children: placeholder }),
237
+ /* @__PURE__ */ jsx("span", { className: "nexus-image-upload__format", children: formatText })
238
+ ] }),
239
+ hiddenInput
240
+ ]
241
+ }
242
+ ) });
243
+ const uploadBox = preview ? previewView : emptyView;
244
+ if (!hasField) {
245
+ return /* @__PURE__ */ jsx("div", { ref, className, children: uploadBox });
246
+ }
247
+ return /* @__PURE__ */ jsxs("div", { ref, className: cn("nexus-image-upload-field", className), children: [
248
+ label && /* @__PURE__ */ jsx("span", { className: "nexus-image-upload-field__label", children: label }),
249
+ uploadBox,
250
+ description && /* @__PURE__ */ jsx("p", { className: "nexus-image-upload-field__description", children: description })
251
+ ] });
252
+ }
253
+ );
254
+ ImageUpload.displayName = "ImageUpload";
255
+
256
+ export { ImageUpload, imageUploadVariants };
@@ -0,0 +1,23 @@
1
+ import * as React from 'react';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ declare const imageUploadVariants: (props?: ({
4
+ size?: "lg" | "md" | "sm" | null | undefined;
5
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
+ interface ImageUploadProps extends VariantProps<typeof imageUploadVariants> {
7
+ value?: string | null;
8
+ defaultValue?: string;
9
+ onChange?: (file: File | null) => void;
10
+ onError?: (error: string) => void;
11
+ accept?: string[];
12
+ maxSize?: number;
13
+ placeholder?: string;
14
+ formatDescription?: string;
15
+ label?: React.ReactNode;
16
+ description?: React.ReactNode;
17
+ disabled?: boolean;
18
+ className?: string;
19
+ }
20
+ declare const ImageUpload: React.ForwardRefExoticComponent<ImageUploadProps & React.RefAttributes<HTMLDivElement>>;
21
+ export { ImageUpload, imageUploadVariants };
22
+ export type { ImageUploadProps };
23
+ //# sourceMappingURL=ImageUpload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageUpload.d.ts","sourceRoot":"","sources":["../../src/components/ImageUpload.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGlE,QAAA,MAAM,mBAAmB;;8EASvB,CAAC;AAEH,UAAU,gBAAiB,SAAQ,YAAY,CAAC,OAAO,mBAAmB,CAAC;IACzE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAyBD,QAAA,MAAM,WAAW,yFA8PhB,CAAC;AAIF,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ var chunk2XV3XP3Y_js = require('./chunks/chunk-2XV3XP3Y.js');
4
+ require('./chunks/chunk-CZC76ZD5.js');
5
+ require('./chunks/chunk-JNMCYWGY.js');
6
+
7
+
8
+
9
+ Object.defineProperty(exports, "ImageUpload", {
10
+ enumerable: true,
11
+ get: function () { return chunk2XV3XP3Y_js.ImageUpload; }
12
+ });
13
+ Object.defineProperty(exports, "imageUploadVariants", {
14
+ enumerable: true,
15
+ get: function () { return chunk2XV3XP3Y_js.imageUploadVariants; }
16
+ });
@@ -0,0 +1,3 @@
1
+ export { ImageUpload, imageUploadVariants } from './chunks/chunk-XKJO5Y4J.mjs';
2
+ import './chunks/chunk-MCKOWMLS.mjs';
3
+ import './chunks/chunk-CVYXRSXT.mjs';
package/dist/index.d.ts CHANGED
@@ -95,6 +95,8 @@ export { NxImage } from './components/NxImage';
95
95
  export type { NxImageProps } from './components/NxImage';
96
96
  export { DatePicker } from './components/DatePicker';
97
97
  export type { DatePickerProps } from './components/DatePicker';
98
+ export { ImageUpload, imageUploadVariants } from './components/ImageUpload';
99
+ export type { ImageUploadProps } from './components/ImageUpload';
98
100
  export { VirtualList, VirtualGrid } from './components/VirtualScroll';
99
101
  export type { VirtualListProps, VirtualGridProps, } from './components/VirtualScroll';
100
102
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,15 +1,16 @@
1
1
  require('./styles.css');
2
2
  'use strict';
3
3
 
4
+ var chunkYB5ZKHVB_js = require('./chunks/chunk-YB5ZKHVB.js');
4
5
  var chunk3RK3UT2O_js = require('./chunks/chunk-3RK3UT2O.js');
5
6
  var chunkAZ2URLDD_js = require('./chunks/chunk-AZ2URLDD.js');
6
7
  var chunkDICN6GKE_js = require('./chunks/chunk-DICN6GKE.js');
7
8
  var chunkDYPPVXQF_js = require('./chunks/chunk-DYPPVXQF.js');
8
9
  var chunkNZHK76R3_js = require('./chunks/chunk-NZHK76R3.js');
9
10
  var chunkLTS674LF_js = require('./chunks/chunk-LTS674LF.js');
11
+ var chunk2XV3XP3Y_js = require('./chunks/chunk-2XV3XP3Y.js');
10
12
  var chunkQK6NCII4_js = require('./chunks/chunk-QK6NCII4.js');
11
13
  var chunk22ULI3BF_js = require('./chunks/chunk-22ULI3BF.js');
12
- var chunkYB5ZKHVB_js = require('./chunks/chunk-YB5ZKHVB.js');
13
14
  var chunkDLFV7ZZV_js = require('./chunks/chunk-DLFV7ZZV.js');
14
15
  var chunkNFIPQZ4O_js = require('./chunks/chunk-NFIPQZ4O.js');
15
16
  var chunkPEIEVKD5_js = require('./chunks/chunk-PEIEVKD5.js');
@@ -340,6 +341,18 @@ var buttonTokenSchema = {
340
341
  }
341
342
  };
342
343
 
344
+ Object.defineProperty(exports, "Toaster", {
345
+ enumerable: true,
346
+ get: function () { return chunkYB5ZKHVB_js.Toaster; }
347
+ });
348
+ Object.defineProperty(exports, "toast", {
349
+ enumerable: true,
350
+ get: function () { return chunkYB5ZKHVB_js.toast; }
351
+ });
352
+ Object.defineProperty(exports, "useToast", {
353
+ enumerable: true,
354
+ get: function () { return chunkYB5ZKHVB_js.useToast; }
355
+ });
343
356
  Object.defineProperty(exports, "Table", {
344
357
  enumerable: true,
345
358
  get: function () { return chunk3RK3UT2O_js.Table; }
@@ -392,6 +405,14 @@ Object.defineProperty(exports, "DatePicker", {
392
405
  enumerable: true,
393
406
  get: function () { return chunkLTS674LF_js.DatePicker; }
394
407
  });
408
+ Object.defineProperty(exports, "ImageUpload", {
409
+ enumerable: true,
410
+ get: function () { return chunk2XV3XP3Y_js.ImageUpload; }
411
+ });
412
+ Object.defineProperty(exports, "imageUploadVariants", {
413
+ enumerable: true,
414
+ get: function () { return chunk2XV3XP3Y_js.imageUploadVariants; }
415
+ });
395
416
  Object.defineProperty(exports, "ClientOnly", {
396
417
  enumerable: true,
397
418
  get: function () { return chunkQK6NCII4_js.ClientOnly; }
@@ -404,18 +425,6 @@ Object.defineProperty(exports, "useTheme", {
404
425
  enumerable: true,
405
426
  get: function () { return chunk22ULI3BF_js.useTheme; }
406
427
  });
407
- Object.defineProperty(exports, "Toaster", {
408
- enumerable: true,
409
- get: function () { return chunkYB5ZKHVB_js.Toaster; }
410
- });
411
- Object.defineProperty(exports, "toast", {
412
- enumerable: true,
413
- get: function () { return chunkYB5ZKHVB_js.toast; }
414
- });
415
- Object.defineProperty(exports, "useToast", {
416
- enumerable: true,
417
- get: function () { return chunkYB5ZKHVB_js.useToast; }
418
- });
419
428
  Object.defineProperty(exports, "Countdown", {
420
429
  enumerable: true,
421
430
  get: function () { return chunkDLFV7ZZV_js.Countdown; }
package/dist/index.mjs CHANGED
@@ -1,13 +1,14 @@
1
1
  import './styles.css';
2
+ export { Toaster, toast, useToast } from './chunks/chunk-ZWSIIGA3.mjs';
2
3
  export { Table, TableHighlightProvider, TableRow, TdColumn, tableRowVariants, useTableHighlight } from './chunks/chunk-AAITRHED.mjs';
3
4
  export { useInView } from './chunks/chunk-2JTPRBHZ.mjs';
4
5
  export { Slider, sliderVariants } from './chunks/chunk-H2G5FMRN.mjs';
5
6
  export { TagInput, tagInputVariants } from './chunks/chunk-H2V7RHYV.mjs';
6
7
  export { NxImage } from './chunks/chunk-6BWOKTVQ.mjs';
7
8
  export { DatePicker } from './chunks/chunk-FBC53TOS.mjs';
9
+ export { ImageUpload, imageUploadVariants } from './chunks/chunk-XKJO5Y4J.mjs';
8
10
  export { ClientOnly } from './chunks/chunk-AOXXE5UQ.mjs';
9
11
  export { ThemeProvider, useTheme } from './chunks/chunk-I252NERB.mjs';
10
- export { Toaster, toast, useToast } from './chunks/chunk-ZWSIIGA3.mjs';
11
12
  export { Countdown, useCountdown } from './chunks/chunk-LI7SFBUQ.mjs';
12
13
  export { Counter } from './chunks/chunk-CA3SOLI3.mjs';
13
14
  export { DataList } from './chunks/chunk-K2TBLM3F.mjs';
@@ -1292,6 +1292,89 @@
1292
1292
  },
1293
1293
  "$schema": "http://json-schema.org/draft-07/schema#"
1294
1294
  },
1295
+ "imageUpload": {
1296
+ "$ref": "#/definitions/imageUploadPropsSchema",
1297
+ "definitions": {
1298
+ "imageUploadPropsSchema": {
1299
+ "type": "object",
1300
+ "properties": {
1301
+ "value": {
1302
+ "type": [
1303
+ "string",
1304
+ "null"
1305
+ ],
1306
+ "description": "Controlled image URL (string | null)"
1307
+ },
1308
+ "defaultValue": {
1309
+ "type": "string",
1310
+ "description": "Default image URL"
1311
+ },
1312
+ "onChange": {
1313
+ "description": "File change callback (file: File | null) => void"
1314
+ },
1315
+ "onError": {
1316
+ "description": "Validation error callback (error: string) => void"
1317
+ },
1318
+ "accept": {
1319
+ "type": "array",
1320
+ "items": {
1321
+ "type": "string"
1322
+ },
1323
+ "default": [
1324
+ "jpg",
1325
+ "jpeg",
1326
+ "png",
1327
+ "gif",
1328
+ "webp"
1329
+ ],
1330
+ "description": "Allowed file extensions"
1331
+ },
1332
+ "maxSize": {
1333
+ "type": "number",
1334
+ "default": 2097152,
1335
+ "description": "Max file size in bytes (default 2MB)"
1336
+ },
1337
+ "placeholder": {
1338
+ "type": "string",
1339
+ "default": "이미지를 드래그하거나 파일 선택",
1340
+ "description": "Empty state placeholder text"
1341
+ },
1342
+ "formatDescription": {
1343
+ "type": "string",
1344
+ "description": "Format description override (default: auto-generated from accept/maxSize)"
1345
+ },
1346
+ "label": {
1347
+ "description": "Field label (ReactNode)"
1348
+ },
1349
+ "description": {
1350
+ "description": "Field description below the upload area (ReactNode)"
1351
+ },
1352
+ "disabled": {
1353
+ "type": "boolean",
1354
+ "default": false,
1355
+ "description": "Disabled state"
1356
+ },
1357
+ "size": {
1358
+ "type": "string",
1359
+ "enum": [
1360
+ "sm",
1361
+ "md",
1362
+ "lg"
1363
+ ],
1364
+ "default": "md",
1365
+ "description": "Upload area size"
1366
+ },
1367
+ "className": {
1368
+ "type": "string",
1369
+ "description": "Style override"
1370
+ }
1371
+ },
1372
+ "additionalProperties": false,
1373
+ "description": "ImageUpload. Drag-and-drop image upload with preview, file validation, and field label/description support."
1374
+ }
1375
+ },
1376
+ "$schema": "http://json-schema.org/draft-07/schema#"
1377
+ },
1295
1378
  "infiniteScroll": {
1296
1379
  "$ref": "#/definitions/infiniteScrollPropsSchema",
1297
1380
  "definitions": {
@@ -0,0 +1,45 @@
1
+ import { z } from 'zod';
2
+ export declare const imageUploadPropsSchema: z.ZodObject<{
3
+ value: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4
+ defaultValue: z.ZodOptional<z.ZodString>;
5
+ onChange: z.ZodOptional<z.ZodAny>;
6
+ onError: z.ZodOptional<z.ZodAny>;
7
+ accept: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
8
+ maxSize: z.ZodDefault<z.ZodNumber>;
9
+ placeholder: z.ZodDefault<z.ZodString>;
10
+ formatDescription: z.ZodOptional<z.ZodString>;
11
+ label: z.ZodOptional<z.ZodAny>;
12
+ description: z.ZodOptional<z.ZodAny>;
13
+ disabled: z.ZodDefault<z.ZodBoolean>;
14
+ size: z.ZodDefault<z.ZodEnum<["sm", "md", "lg"]>>;
15
+ className: z.ZodOptional<z.ZodString>;
16
+ }, "strip", z.ZodTypeAny, {
17
+ size: "lg" | "md" | "sm";
18
+ disabled: boolean;
19
+ placeholder: string;
20
+ accept: string[];
21
+ maxSize: number;
22
+ className?: string | undefined;
23
+ label?: any;
24
+ description?: any;
25
+ value?: string | null | undefined;
26
+ defaultValue?: string | undefined;
27
+ onChange?: any;
28
+ onError?: any;
29
+ formatDescription?: string | undefined;
30
+ }, {
31
+ className?: string | undefined;
32
+ label?: any;
33
+ description?: any;
34
+ value?: string | null | undefined;
35
+ size?: "lg" | "md" | "sm" | undefined;
36
+ disabled?: boolean | undefined;
37
+ defaultValue?: string | undefined;
38
+ onChange?: any;
39
+ onError?: any;
40
+ placeholder?: string | undefined;
41
+ accept?: string[] | undefined;
42
+ maxSize?: number | undefined;
43
+ formatDescription?: string | undefined;
44
+ }>;
45
+ //# sourceMappingURL=image-upload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-upload.d.ts","sourceRoot":"","sources":["../../src/schemas/image-upload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BhC,CAAC"}
@@ -0,0 +1,83 @@
1
+ {
2
+ "$ref": "#/definitions/imageUploadPropsSchema",
3
+ "definitions": {
4
+ "imageUploadPropsSchema": {
5
+ "type": "object",
6
+ "properties": {
7
+ "value": {
8
+ "type": [
9
+ "string",
10
+ "null"
11
+ ],
12
+ "description": "Controlled image URL (string | null)"
13
+ },
14
+ "defaultValue": {
15
+ "type": "string",
16
+ "description": "Default image URL"
17
+ },
18
+ "onChange": {
19
+ "description": "File change callback (file: File | null) => void"
20
+ },
21
+ "onError": {
22
+ "description": "Validation error callback (error: string) => void"
23
+ },
24
+ "accept": {
25
+ "type": "array",
26
+ "items": {
27
+ "type": "string"
28
+ },
29
+ "default": [
30
+ "jpg",
31
+ "jpeg",
32
+ "png",
33
+ "gif",
34
+ "webp"
35
+ ],
36
+ "description": "Allowed file extensions"
37
+ },
38
+ "maxSize": {
39
+ "type": "number",
40
+ "default": 2097152,
41
+ "description": "Max file size in bytes (default 2MB)"
42
+ },
43
+ "placeholder": {
44
+ "type": "string",
45
+ "default": "이미지를 드래그하거나 파일 선택",
46
+ "description": "Empty state placeholder text"
47
+ },
48
+ "formatDescription": {
49
+ "type": "string",
50
+ "description": "Format description override (default: auto-generated from accept/maxSize)"
51
+ },
52
+ "label": {
53
+ "description": "Field label (ReactNode)"
54
+ },
55
+ "description": {
56
+ "description": "Field description below the upload area (ReactNode)"
57
+ },
58
+ "disabled": {
59
+ "type": "boolean",
60
+ "default": false,
61
+ "description": "Disabled state"
62
+ },
63
+ "size": {
64
+ "type": "string",
65
+ "enum": [
66
+ "sm",
67
+ "md",
68
+ "lg"
69
+ ],
70
+ "default": "md",
71
+ "description": "Upload area size"
72
+ },
73
+ "className": {
74
+ "type": "string",
75
+ "description": "Style override"
76
+ }
77
+ },
78
+ "additionalProperties": false,
79
+ "description": "ImageUpload. Drag-and-drop image upload with preview, file validation, and field label/description support."
80
+ }
81
+ },
82
+ "$schema": "http://json-schema.org/draft-07/schema#"
83
+ }
@@ -44,4 +44,5 @@ export { toasterPropsSchema, toastOptionsSchema } from './toast';
44
44
  export { tagInputPropsSchema } from './tag-input';
45
45
  export { nxImagePropsSchema } from './nx-image';
46
46
  export { datePickerPropsSchema } from './date-picker';
47
+ export { imageUploadPropsSchema } from './image-upload';
47
48
  //# sourceMappingURL=index.d.ts.map