1 line
5.5 KiB
JSON
1 line
5.5 KiB
JSON
{"ast":null,"code":"var _jsxFileName = \"/Users/laurynj/Desktop/\\u1112\\u1162\\u110B\\u1163\\u11BC\\u1100\\u1167\\u11BC\\u110E\\u1161\\u11AF\\u110B\\u1165\\u11B8 \\u1100\\u1169\\u11BC\\u1100\\u1169\\u11BC\\u1109\\u1161\\u110B\\u1165\\u11B8/@GIS_\\u1112\\u1161\\u11B7\\u110C\\u1165\\u11BC\\u110B\\u116D\\u11BC/GIS_\\u1112\\u1161\\u11B7\\u110C\\u1165\\u11BC\\u110B\\u116D\\u11BC_\\u1105\\u1175\\u110B\\u1162\\u11A8\\u1110\\u1173/dark/src/component/common/FileUpload.jsx\",\n _s = $RefreshSig$();\nimport React, { useState } from 'react';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nexport default function FileUpload({\n label = \"파일 선택\",\n inputId,\n maxLength = 25,\n placeholder = \"선택된 파일 없음\"\n}) {\n _s();\n const [fileName, setFileName] = useState('');\n\n // 중간 생략 함수\n const truncateMiddle = (str, maxLen) => {\n if (!str) return '';\n if (str.length <= maxLen) return str;\n const keep = Math.floor((maxLen - 3) / 2);\n return str.slice(0, keep) + '...' + str.slice(str.length - keep);\n };\n const handleChange = e => {\n var _e$target$files$;\n const name = ((_e$target$files$ = e.target.files[0]) === null || _e$target$files$ === void 0 ? void 0 : _e$target$files$.name) || '';\n setFileName(name);\n };\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"fileWrap\",\n children: [/*#__PURE__*/_jsxDEV(\"input\", {\n type: \"file\",\n id: inputId,\n className: \"fileInput\",\n onChange: handleChange\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"label\", {\n htmlFor: inputId,\n className: \"fileLabel\",\n children: label\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 27,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"span\", {\n className: \"fileName\",\n children: fileName ? truncateMiddle(fileName, maxLength) : placeholder\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 30,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 5\n }, this);\n}\n_s(FileUpload, \"MqCFEWop24dJ23Az3DDFG/S0d9E=\");\n_c = FileUpload;\nvar _c;\n$RefreshReg$(_c, \"FileUpload\");","map":{"version":3,"names":["React","useState","jsxDEV","_jsxDEV","FileUpload","label","inputId","maxLength","placeholder","_s","fileName","setFileName","truncateMiddle","str","maxLen","length","keep","Math","floor","slice","handleChange","e","_e$target$files$","name","target","files","className","children","type","id","onChange","_jsxFileName","lineNumber","columnNumber","htmlFor","_c","$RefreshReg$"],"sources":["/Users/laurynj/Desktop/해양경찰업 공공사업/@GIS_함정용/GIS_함정용_리액트/dark/src/component/common/FileUpload.jsx"],"sourcesContent":["import React, { useState } from 'react';\n\nexport default function FileUpload({ label = \"파일 선택\", inputId, maxLength = 25, placeholder = \"선택된 파일 없음\" }) {\n const [fileName, setFileName] = useState('');\n\n // 중간 생략 함수\n const truncateMiddle = (str, maxLen) => {\n if (!str) return '';\n if (str.length <= maxLen) return str;\n const keep = Math.floor((maxLen - 3) / 2);\n return str.slice(0, keep) + '...' + str.slice(str.length - keep);\n };\n\n const handleChange = (e) => {\n const name = e.target.files[0]?.name || '';\n setFileName(name);\n };\n\n return (\n <div className=\"fileWrap\">\n <input\n type=\"file\"\n id={inputId}\n className=\"fileInput\"\n onChange={handleChange}\n />\n <label htmlFor={inputId} className=\"fileLabel\">\n {label}\n </label>\n <span className=\"fileName\">\n {fileName ? truncateMiddle(fileName, maxLength) : placeholder}\n </span>\n </div>\n );\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AAAC,SAAAC,MAAA,IAAAC,OAAA;AAExC,eAAe,SAASC,UAAUA,CAAC;EAAEC,KAAK,GAAG,OAAO;EAAEC,OAAO;EAAEC,SAAS,GAAG,EAAE;EAAEC,WAAW,GAAG;AAAY,CAAC,EAAE;EAAAC,EAAA;EAC1G,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGV,QAAQ,CAAC,EAAE,CAAC;;EAE5C;EACA,MAAMW,cAAc,GAAGA,CAACC,GAAG,EAAEC,MAAM,KAAK;IACtC,IAAI,CAACD,GAAG,EAAE,OAAO,EAAE;IACnB,IAAIA,GAAG,CAACE,MAAM,IAAID,MAAM,EAAE,OAAOD,GAAG;IACpC,MAAMG,IAAI,GAAGC,IAAI,CAACC,KAAK,CAAC,CAACJ,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;IACzC,OAAOD,GAAG,CAACM,KAAK,CAAC,CAAC,EAAEH,IAAI,CAAC,GAAG,KAAK,GAAGH,GAAG,CAACM,KAAK,CAACN,GAAG,CAACE,MAAM,GAAGC,IAAI,CAAC;EAClE,CAAC;EAED,MAAMI,YAAY,GAAIC,CAAC,IAAK;IAAA,IAAAC,gBAAA;IAC1B,MAAMC,IAAI,GAAG,EAAAD,gBAAA,GAAAD,CAAC,CAACG,MAAM,CAACC,KAAK,CAAC,CAAC,CAAC,cAAAH,gBAAA,uBAAjBA,gBAAA,CAAmBC,IAAI,KAAI,EAAE;IAC1CZ,WAAW,CAACY,IAAI,CAAC;EACnB,CAAC;EAED,oBACEpB,OAAA;IAAKuB,SAAS,EAAC,UAAU;IAAAC,QAAA,gBACvBxB,OAAA;MACEyB,IAAI,EAAC,MAAM;MACXC,EAAE,EAAEvB,OAAQ;MACZoB,SAAS,EAAC,WAAW;MACrBI,QAAQ,EAAEV;IAAa;MAAAV,QAAA,EAAAqB,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OACxB,CAAC,eACF9B,OAAA;MAAO+B,OAAO,EAAE5B,OAAQ;MAACoB,SAAS,EAAC,WAAW;MAAAC,QAAA,EAC3CtB;IAAK;MAAAK,QAAA,EAAAqB,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OACD,CAAC,eACR9B,OAAA;MAAMuB,SAAS,EAAC,UAAU;MAAAC,QAAA,EACvBjB,QAAQ,GAAGE,cAAc,CAACF,QAAQ,EAAEH,SAAS,CAAC,GAAGC;IAAW;MAAAE,QAAA,EAAAqB,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OACzD,CAAC;EAAA;IAAAvB,QAAA,EAAAqB,YAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA,OACJ,CAAC;AAEV;AAACxB,EAAA,CAhCuBL,UAAU;AAAA+B,EAAA,GAAV/B,UAAU;AAAA,IAAA+B,EAAA;AAAAC,YAAA,CAAAD,EAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} |