1 line
5.3 KiB
JSON
1 line
5.3 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$();\n// FileUpload.jsx\nimport React, { useState } from 'react';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nexport default function FileUpload({\n label = \"파일 선택\",\n inputId\n}) {\n _s();\n const [fileName, setFileName] = useState('');\n\n // 중간 생략 함수\n const truncateMiddle = (str, maxLength = 20) => {\n if (!str) return '';\n if (str.length <= maxLength) return str;\n const keep = Math.floor((maxLength - 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: 22,\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: 28,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"span\", {\n className: \"fileName\",\n children: truncateMiddle(fileName, 30)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 31,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 21,\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","_s","fileName","setFileName","truncateMiddle","str","maxLength","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":["// FileUpload.jsx\nimport React, { useState } from 'react';\n\nexport default function FileUpload({ label = \"파일 선택\", inputId }) {\n const [fileName, setFileName] = useState('');\n\n // 중간 생략 함수\n const truncateMiddle = (str, maxLength = 20) => {\n if (!str) return '';\n if (str.length <= maxLength) return str;\n const keep = Math.floor((maxLength - 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\">{truncateMiddle(fileName, 30)}</span>\n </div>\n );\n}\n"],"mappings":";;AAAA;AACA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AAAC,SAAAC,MAAA,IAAAC,OAAA;AAExC,eAAe,SAASC,UAAUA,CAAC;EAAEC,KAAK,GAAG,OAAO;EAAEC;AAAQ,CAAC,EAAE;EAAAC,EAAA;EAC/D,MAAM,CAACC,QAAQ,EAAEC,WAA
|