@herca/rn-kit 0.1.101 → 0.1.103
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/lib/module/Icon/Icon.js +13 -1
- package/lib/module/Icon/Icon.js.map +1 -1
- package/lib/module/Icon/icons/CalendarClockTriangleExclamation.js +27 -0
- package/lib/module/Icon/icons/CalendarClockTriangleExclamation.js.map +1 -0
- package/lib/module/Icon/icons/Package.js +22 -0
- package/lib/module/Icon/icons/Package.js.map +1 -0
- package/lib/module/Icon/icons/ScanQr.js +22 -0
- package/lib/module/Icon/icons/ScanQr.js.map +1 -0
- package/lib/module/Icon/icons/StickyNoteTextSquare.js +22 -0
- package/lib/module/Icon/icons/StickyNoteTextSquare.js.map +1 -0
- package/lib/module/Icon/icons/TriangleExclamationTime.js +29 -0
- package/lib/module/Icon/icons/TriangleExclamationTime.js.map +1 -0
- package/lib/module/Icon/icons/UserEditTriangleExclamation.js +28 -0
- package/lib/module/Icon/icons/UserEditTriangleExclamation.js.map +1 -0
- package/lib/module/Input/InputFile.js +178 -68
- package/lib/module/Input/InputFile.js.map +1 -1
- package/lib/module/Input/README_INPUT_FILE.md +179 -105
- package/lib/module/Input/TextArea.js +2 -0
- package/lib/module/Input/TextArea.js.map +1 -1
- package/lib/module/Input/helpers/uploadFile.js +60 -0
- package/lib/module/Input/helpers/uploadFile.js.map +1 -0
- package/lib/module/Input/partials/InputFile/CardTriggerSmall.js +1 -0
- package/lib/module/Input/partials/InputFile/CardTriggerSmall.js.map +1 -1
- package/lib/module/Input/partials/InputFile/ItemPreview.js +15 -4
- package/lib/module/Input/partials/InputFile/ItemPreview.js.map +1 -1
- package/lib/typescript/src/Icon/Icon.d.ts.map +1 -1
- package/lib/typescript/src/Icon/icons/CalendarClockTriangleExclamation.d.ts +9 -0
- package/lib/typescript/src/Icon/icons/CalendarClockTriangleExclamation.d.ts.map +1 -0
- package/lib/typescript/src/Icon/icons/Package.d.ts +9 -0
- package/lib/typescript/src/Icon/icons/Package.d.ts.map +1 -0
- package/lib/typescript/src/Icon/icons/ScanQr.d.ts +9 -0
- package/lib/typescript/src/Icon/icons/ScanQr.d.ts.map +1 -0
- package/lib/typescript/src/Icon/icons/StickyNoteTextSquare.d.ts +9 -0
- package/lib/typescript/src/Icon/icons/StickyNoteTextSquare.d.ts.map +1 -0
- package/lib/typescript/src/Icon/icons/TriangleExclamationTime.d.ts +9 -0
- package/lib/typescript/src/Icon/icons/TriangleExclamationTime.d.ts.map +1 -0
- package/lib/typescript/src/Icon/icons/UserEditTriangleExclamation.d.ts +9 -0
- package/lib/typescript/src/Icon/icons/UserEditTriangleExclamation.d.ts.map +1 -0
- package/lib/typescript/src/Icon/type.d.ts +1 -1
- package/lib/typescript/src/Icon/type.d.ts.map +1 -1
- package/lib/typescript/src/Input/InputFile.d.ts +3 -48
- package/lib/typescript/src/Input/InputFile.d.ts.map +1 -1
- package/lib/typescript/src/Input/TextArea.d.ts +1 -1
- package/lib/typescript/src/Input/TextArea.d.ts.map +1 -1
- package/lib/typescript/src/Input/helpers/uploadFile.d.ts +3 -0
- package/lib/typescript/src/Input/helpers/uploadFile.d.ts.map +1 -0
- package/lib/typescript/src/Input/partials/InputFile/CardTriggerSmall.d.ts.map +1 -1
- package/lib/typescript/src/Input/partials/InputFile/ItemPreview.d.ts +4 -2
- package/lib/typescript/src/Input/partials/InputFile/ItemPreview.d.ts.map +1 -1
- package/lib/typescript/src/Input/type.d.ts +91 -0
- package/lib/typescript/src/Input/type.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/Icon/Icon.tsx +12 -0
- package/src/Icon/icons/CalendarClockTriangleExclamation.tsx +29 -0
- package/src/Icon/icons/Package.tsx +19 -0
- package/src/Icon/icons/ScanQr.tsx +19 -0
- package/src/Icon/icons/StickyNoteTextSquare.tsx +23 -0
- package/src/Icon/icons/TriangleExclamationTime.tsx +31 -0
- package/src/Icon/icons/UserEditTriangleExclamation.tsx +31 -0
- package/src/Icon/type.tsx +6 -0
- package/src/Input/InputFile.tsx +235 -111
- package/src/Input/README_INPUT_FILE.md +179 -105
- package/src/Input/TextArea.tsx +2 -1
- package/src/Input/helpers/uploadFile.ts +77 -0
- package/src/Input/partials/InputFile/CardTriggerSmall.tsx +1 -0
- package/src/Input/partials/InputFile/ItemPreview.tsx +25 -4
- package/src/Input/type.tsx +105 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useState","View","Color","Typography","pick","viewDocument","launchCamera","launchImageLibrary","spacing","Input","CardTrigger","ItemPreview","ModalDelete","ModalPicker","CardTriggerSmall","ReactNativeBlobUtil","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","InputFile","title","description","accept","btnChooseFileText","multiple","value","modalPickFileText","modalDeleteText","useChangeLabel","changeLableProps","variant","hint","hasError","onChange","isOpenBottomSheetTypeFile","setIsOpenBottomSheetTypeFile","isOpenBottomSheetDeleteFile","setIsOpenBottomSheetDeleteFile","files","setFiles","selectedFileIndex","setSelectedFileIndex","handleOnPresChoseFile","handlePickFile","confirmReplaceFile","result","type","pickedFiles","newFiles","error","message","toLowerCase","includes","console","handlePreviewFile","file","fileUri","uri","fileType","startsWith","dirs","fs","dir","CacheDir","ext","name","split","pop","localPath","Date","now","res","config","path","fileCache","fetch","respInfo","headers","mimeType","err","handleOnPressButtonCamera","mediaType","didCancel","assets","handleOnPressButtonGallery","selectionLimit","confirmDeleteFile","index","deleteFile","filter","_","i","handleReplaceFile","replacedFile","length","labelFile","updatedFiles","map","f","style","gap","children","btnSelect","onPress","textButton","onChooseFile","onPreview","onReplace","onDelete","color","danger","label","placeholder","onChangeText","text","gray","isOpen","onClose","camera","icon","gallery","document","descripition","confirm","confirmBtn","onConfirm","cancel","onCnacel"],"sourceRoot":"../../../src","sources":["Input/InputFile.tsx"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,IAAI,QAAQ,cAAc;AACnC,OAAOC,KAAK,MAAM,mBAAgB;AAClC,OAAOC,UAAU,MAAM,6BAA0B;AAEjD,SAASC,IAAI,QAAQ,gCAAgC;AACrD,SAASC,YAAY,QAAQ,gCAAgC;AAC7D,SAASC,YAAY,EAAEC,kBAAkB,QAAQ,2BAA2B;AAC5E,SAASC,OAAO,QAAQ,sBAAmB;AAC3C,OAAOC,KAAK,MAAM,YAAS;AAC3B,OAAOC,WAAW,MAAM,qCAAkC;AAC1D,OAAOC,WAAW,MAAM,qCAAkC;AAC1D,OAAOC,WAAW,MAAM,qCAAkC;AAC1D,OAAOC,WAAW,MAAM,qCAAkC;AAC1D,OAAOC,gBAAgB,MAAM,0CAAuC;AACpE,OAAOC,mBAAmB,MAAM,wBAAwB;;AAoDxD;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAGA,eAAe,SAASC,SAASA,CAAC;EAChCC,KAAK,GAAG,aAAa;EACrBC,WAAW,GAAG,uCAAuC;EACrDC,MAAM,GAAG,CAAC,iBAAiB,EAAE,YAAY,EAAE,WAAW,CAAC;EACvDC,iBAAiB,GAAG,aAAa;EACjCC,QAAQ,GAAG,KAAK;EAChBC,KAAK;EACLC,iBAAiB;EACjBC,eAAe;EACfC,cAAc,GAAG,KAAK;EACtBC,gBAAgB;EAChBC,OAAO,GAAG,SAAS;EACnBC,IAAI;EACJC,QAAQ;EACRC;AACc,CAAC,EAAE;EACjB,MAAM,CAACC,yBAAyB,EAAEC,4BAA4B,CAAC,GAC7DtC,QAAQ,CAAC,KAAK,CAAC;EACjB,MAAM,CAACuC,2BAA2B,EAAEC,8BAA8B,CAAC,GACjExC,QAAQ,CAAC,KAAK,CAAC;EACjB,MAAM,CAACyC,KAAK,EAAEC,QAAQ,CAAC,GAAG1C,QAAQ,CAAQ4B,KAAK,IAAI,EAAE,CAAC;EACtD,MAAM,CAACe,iBAAiB,EAAEC,oBAAoB,CAAC,GAAG5C,QAAQ,CACxD,IACF,CAAC;EAED,MAAM6C,qBAAqB,GAAGA,CAAA,KAAM;IAClCP,4BAA4B,CAAC,IAAI,CAAC;EACpC,CAAC;EAED,MAAMQ,cAAc,GAAG,MAAAA,CAAA,KAAY;IACjC,IAAI;MACF,IAAIH,iBAAiB,KAAK,IAAI,EAAE;QAC9BI,kBAAkB,CAACJ,iBAAiB,CAAC;QACrC;MACF;MAEA,MAAMK,MAAM,GAAG,MAAM5C,IAAI,CAAC;QAAE6C,IAAI,EAAExB,MAAM;QAAEE;MAAS,CAAC,CAAC;MACrD,MAAMuB,WAAW,GAAGvB,QAAQ,GAAGqB,MAAM,GAAG,CAACA,MAAM,CAAC,CAAC,CAAC,CAAC;MACnD,MAAMG,QAAQ,GAAG,CAAC,GAAGV,KAAK,EAAE,GAAGS,WAAW,CAAC;MAC3CR,QAAQ,CAACS,QAAQ,CAAC;MAClBf,QAAQ,GAAGe,QAAQ,CAAC;MACpBb,4BAA4B,CAAC,KAAK,CAAC;IACrC,CAAC,CAAC,OAAOc,KAAU,EAAE;MACnB,IAAIA,KAAK,EAAEC,OAAO,EAAEC,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAC,eAAe,CAAC,EAAE;MAC7DC,OAAO,CAACJ,KAAK,CAAC,0BAA0B,EAAEA,KAAK,CAAC;IAClD;EACF,CAAC;EAED,MAAMK,iBAAiB,GAAG,MAAOC,IAAS,IAAK;IAC7C,IAAI;MACF,IAAIC,OAAO,GAAGD,IAAI,CAACE,GAAG;MACtB,IAAIC,QAAQ,GAAGH,IAAI,CAACT,IAAI;MAExB,IAAIS,IAAI,CAACE,GAAG,CAACE,UAAU,CAAC,MAAM,CAAC,EAAE;QAC/B,MAAM;UAAEC;QAAK,CAAC,GAAGhD,mBAAmB,CAACiD,EAAE;QACvC,MAAMC,GAAG,GAAGF,IAAI,CAACG,QAAQ;QACzB,MAAMC,GAAG,GAAGT,IAAI,CAACU,IAAI,CAACC,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,CAAC,IAAI,KAAK;QAC/C,MAAMC,SAAS,GAAG,GAAGN,GAAG,IAAIO,IAAI,CAACC,GAAG,CAAC,CAAC,IAAIN,GAAG,EAAE;QAE/C,MAAMO,GAAG,GAAG,MAAM3D,mBAAmB,CAAC4D,MAAM,CAAC;UAC3CC,IAAI,EAAEL,SAAS;UACfM,SAAS,EAAE;QACb,CAAC,CAAC,CAACC,KAAK,CAAC,KAAK,EAAEpB,IAAI,CAACE,GAAG,CAAC;QAEzBD,OAAO,GAAG,SAAS,GAAGe,GAAG,CAACE,IAAI,CAAC,CAAC;QAChCf,QAAQ,GAAGa,GAAG,CAACK,QAAQ,CAACC,OAAO,CAAC,cAAc,CAAC;MACjD;MAEA,MAAM3E,YAAY,CAAC;QACjBuD,GAAG,EAAED,OAAO;QACZsB,QAAQ,EAAEpB;MACZ,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOqB,GAAG,EAAE;MACZ1B,OAAO,CAACJ,KAAK,CAAC,yBAAyB,EAAE8B,GAAG,CAAC;IAC/C;EACF,CAAC;EAED,MAAMC,yBAAyB,GAAG,MAAAA,CAAA,KAAY;IAC5C,IAAI;MACF,IAAIxC,iBAAiB,KAAK,IAAI,EAAE;QAC9BI,kBAAkB,CAACJ,iBAAiB,EAAE,QAAQ,CAAC;QAC/C;MACF;MAEA,MAAMK,MAAM,GAAG,MAAM1C,YAAY,CAAC;QAAE8E,SAAS,EAAE;MAAQ,CAAC,CAAC;MACzD,IAAIpC,MAAM,CAACqC,SAAS,IAAI,CAACrC,MAAM,CAACsC,MAAM,EAAE;MACxC,MAAMnC,QAAQ,GAAG,CAAC,GAAGV,KAAK,EAAEO,MAAM,CAACsC,MAAM,CAAC,CAAC,CAAC,CAAC;MAC7C5C,QAAQ,CAACS,QAAQ,CAAC;MAClBf,QAAQ,GAAGe,QAAQ,CAAC;MACpBb,4BAA4B,CAAC,KAAK,CAAC;IACrC,CAAC,CAAC,OAAOc,KAAU,EAAE;MACnBI,OAAO,CAACJ,KAAK,CAAC,wBAAwB,EAAEA,KAAK,CAAC;IAChD;EACF,CAAC;EAED,MAAMmC,0BAA0B,GAAG,MAAAA,CAAA,KAAY;IAC7C,IAAI;MACF,IAAI5C,iBAAiB,KAAK,IAAI,EAAE;QAC9BI,kBAAkB,CAACJ,iBAAiB,EAAE,SAAS,CAAC;QAChD;MACF;MAEA,MAAMK,MAAM,GAAG,MAAMzC,kBAAkB,CAAC;QACtC6E,SAAS,EAAE,OAAO;QAClBI,cAAc,EAAE7D,QAAQ,GAAG,CAAC,GAAG;MACjC,CAAC,CAAC;MACF,IAAIqB,MAAM,CAACqC,SAAS,IAAI,CAACrC,MAAM,CAACsC,MAAM,EAAE;MACxC,MAAMnC,QAAQ,GAAG,CAAC,GAAGV,KAAK,EAAE,GAAGO,MAAM,CAACsC,MAAM,CAAC;MAC7C5C,QAAQ,CAACS,QAAQ,CAAC;MAClBf,QAAQ,GAAGe,QAAQ,CAAC;MACpBb,4BAA4B,CAAC,KAAK,CAAC;IACrC,CAAC,CAAC,OAAOc,KAAU,EAAE;MACnBI,OAAO,CAACJ,KAAK,CAAC,yBAAyB,EAAEA,KAAK,CAAC;IACjD;EACF,CAAC;EAED,MAAMqC,iBAAiB,GAAIC,KAAa,IAAK;IAC3C9C,oBAAoB,CAAC8C,KAAK,CAAC;IAC3BlD,8BAA8B,CAAC,IAAI,CAAC;EACtC,CAAC;EAED,MAAMmD,UAAU,GAAGA,CAAA,KAAM;IACvB,IAAIhD,iBAAiB,KAAK,IAAI,EAAE;MAC9B,MAAMQ,QAAQ,GAAGV,KAAK,CAACmD,MAAM,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKA,CAAC,KAAKnD,iBAAiB,CAAC;MAChED,QAAQ,CAACS,QAAQ,CAAC;MAClBf,QAAQ,GAAGe,QAAQ,CAAC;MACpBP,oBAAoB,CAAC,IAAI,CAAC;IAC5B;IACAJ,8BAA8B,CAAC,KAAK,CAAC;EACvC,CAAC;EAED,MAAMuD,iBAAiB,GAAIL,KAAa,IAAK;IAC3CpD,4BAA4B,CAAC,IAAI,CAAC;IAClCM,oBAAoB,CAAC8C,KAAK,CAAC;EAC7B,CAAC;EAED,MAAM3C,kBAAkB,GAAG,MAAAA,CACzB2C,KAAa,EACbzC,IAA2B,KACxB;IACH,IAAI+C,YAAwB,GAAG,IAAI;IAEnC,IAAI/C,IAAI,KAAK,SAAS,EAAE;MACtB,MAAMD,MAAM,GAAG,MAAMzC,kBAAkB,CAAC;QACtC6E,SAAS,EAAE,OAAO;QAClBI,cAAc,EAAE7D,QAAQ,GAAG,CAAC,GAAG;MACjC,CAAC,CAAC;MACF,IAAI,CAACqB,MAAM,CAACsC,MAAM,IAAItC,MAAM,CAACsC,MAAM,CAACW,MAAM,KAAK,CAAC,EAAE;MAClDD,YAAY,GAAG;QAAE,GAAGhD,MAAM,CAACsC,MAAM,CAAC,CAAC,CAAC;QAAEY,SAAS,EAAEzD,KAAK,CAACiD,KAAK,CAAC,CAACQ;MAAU,CAAC;IAC3E,CAAC,MAAM,IAAIjD,IAAI,KAAK,QAAQ,EAAE;MAC5B,MAAMD,MAAM,GAAG,MAAM1C,YAAY,CAAC;QAAE8E,SAAS,EAAE;MAAQ,CAAC,CAAC;MACzD,IAAI,CAACpC,MAAM,CAACsC,MAAM,IAAItC,MAAM,CAACsC,MAAM,CAACW,MAAM,KAAK,CAAC,EAAE;MAClDD,YAAY,GAAG;QAAE,GAAGhD,MAAM,CAACsC,MAAM,CAAC,CAAC,CAAC;QAAEY,SAAS,EAAEzD,KAAK,CAACiD,KAAK,CAAC,CAACQ;MAAU,CAAC;IAC3E,CAAC,MAAM;MACL,MAAMlD,MAAM,GAAG,MAAM5C,IAAI,CAAC;QAAE6C,IAAI,EAAExB,MAAM;QAAEE;MAAS,CAAC,CAAC;MACrD,IAAI,CAACqB,MAAM,IAAIA,MAAM,CAACiD,MAAM,KAAK,CAAC,EAAE;MACpCD,YAAY,GAAG;QAAE,GAAGhD,MAAM,CAAC,CAAC,CAAC;QAAEkD,SAAS,EAAEzD,KAAK,CAACiD,KAAK,CAAC,CAACQ;MAAU,CAAC;IACpE;IAEA,MAAMC,YAAY,GAAG1D,KAAK,CAAC2D,GAAG,CAAC,CAACC,CAAC,EAAEP,CAAC,KAAMA,CAAC,KAAKJ,KAAK,GAAGM,YAAY,GAAGK,CAAE,CAAC;IAE1E3D,QAAQ,CAACyD,YAAY,CAAC;IACtB/D,QAAQ,GAAG+D,YAAY,CAAC;IACxBvD,oBAAoB,CAAC,IAAI,CAAC;IAC1BN,4BAA4B,CAAC,KAAK,CAAC;EACrC,CAAC;EAEDvC,SAAS,CAAC,MAAM;IACd2C,QAAQ,CAACd,KAAK,IAAI,EAAE,CAAC;EACvB,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,oBACEP,KAAA,CAACpB,IAAI;IAACqG,KAAK,EAAE9F,OAAO,CAAC+F,GAAG,CAAC,EAAE,CAAE;IAAAC,QAAA,GAC1BvE,OAAO,KAAK,SAAS,iBACpBhB,IAAA,CAACP,WAAW;MACVa,KAAK,EAAEA,KAAM;MACbW,IAAI,EAAEA,IAAK;MACXC,QAAQ,EAAEA,QAAS;MACnBX,WAAW,EAAEA,WAAY;MACzBiF,SAAS,EAAE/E,iBAAkB;MAC7BgF,OAAO,EAAE7D;IAAsB,CAChC,CACF,EAEAZ,OAAO,KAAK,OAAO,iBAClBZ,KAAA,CAACpB,IAAI;MAACqG,KAAK,EAAE9F,OAAO,CAAC+F,GAAG,CAAC,CAAC,CAAE;MAAAC,QAAA,gBAC1BvF,IAAA,CAACH,gBAAgB;QACf2B,KAAK,EAAEA,KAAM;QACblB,KAAK,EAAEA,KAAM;QACbY,QAAQ,EAAEA,QAAS;QACnBwE,UAAU,EAAEjF,iBAAkB;QAC9BkF,YAAY,EAAE/D,qBAAsB;QACpCgE,SAAS,EAAEpD,iBAAkB;QAC7BqD,SAAS,EAAEf,iBAAkB;QAC7BgB,QAAQ,EAAEtB;MAAkB,CAC7B,CAAC,EACDhD,KAAK,CAACwD,MAAM,GAAG,CAAC,iBACfhF,IAAA,CAAAE,SAAA;QAAAqF,QAAA,EACG/D,KAAK,CACHmD,MAAM,CAAElC,IAAI,IAAK,CAAC,CAACA,IAAI,CAACN,KAAK,CAAC,CAC9BgD,GAAG,CAAC,CAAC1C,IAAI,EAAEgC,KAAK,kBACfzE,IAAA,CAACd,UAAU;UAET8B,OAAO,EAAC,IAAI;UACZ+E,KAAK,EAAE9G,KAAK,CAAC+G,MAAM,CAAC,GAAG,CAAE;UAAAT,QAAA,EAExB9C,IAAI,CAACxB;QAAI,GAJLwD,KAKK,CACb;MAAC,CACJ,CACH;IAAA,CACG,CACP,EAEAzD,OAAO,KAAK,SAAS,IACpBQ,KAAK,CAAC2D,GAAG,CAAC,CAAC1C,IAAI,EAAEgC,KAAK,kBACpBrE,KAAA,CAACpB,IAAI;MAACqG,KAAK,EAAE9F,OAAO,CAAC+F,GAAG,CAAC,EAAE,CAAE;MAAAC,QAAA,GAC1BzE,cAAc,iBACbd,IAAA,CAACR,KAAK;QACJyG,KAAK,EAAE,GAAGlF,gBAAgB,EAAEkF,KAAK,IAAI,cAAc,IAAIxB,KAAK,GAAG,CAAC,EAAG;QACnE9D,KAAK,EAAE8B,IAAI,CAACwC,SAAU;QACtBiB,WAAW,EACTnF,gBAAgB,EAAEmF,WAAW,IAAI,sBAClC;QACDC,YAAY,EAAGC,IAAI,IAAK;UACtB,MAAMlB,YAAY,GAAG1D,KAAK,CAAC2D,GAAG,CAAC,CAACC,CAAC,EAAEP,CAAC,KAClCA,CAAC,KAAKJ,KAAK,GAAG;YAAE,GAAGW,CAAC;YAAEH,SAAS,EAAEmB;UAAK,CAAC,GAAGhB,CAC5C,CAAC;UACD3D,QAAQ,CAACyD,YAAY,CAAC;UACtB/D,QAAQ,GAAG+D,YAAY,CAAC;QAC1B;MAAE,CACH,CACF,eAED9E,KAAA,CAACpB,IAAI;QAACqG,KAAK,EAAE9F,OAAO,CAAC+F,GAAG,CAAC,CAAC,CAAE;QAAAC,QAAA,gBAC1BvF,IAAA,CAACN,WAAW;UACV+E,KAAK,EAAEA,KAAM;UACbhC,IAAI,EAAEA,IAAK;UACXgD,OAAO,EAAEA,CAAA,KAAMjD,iBAAiB,CAACC,IAAI,CAAE;UACvCoD,SAAS,EAAEA,CAAA,KAAMf,iBAAiB,CAACL,KAAK,CAAE;UAC1CqB,QAAQ,EAAEA,CAAA,KAAMtB,iBAAiB,CAACC,KAAK;QAAE,CAC1C,CAAC,EAEDhC,IAAI,CAACxB,IAAI,iBACRjB,IAAA,CAACd,UAAU;UACT8B,OAAO,EAAC,IAAI;UACZ+E,KAAK,EAAE,CAACtD,IAAI,CAACN,KAAK,GAAGlD,KAAK,CAACoH,IAAI,CAAC,GAAG,CAAC,GAAGpH,KAAK,CAAC+G,MAAM,CAAC,GAAG,CAAE;UAAAT,QAAA,EAExD9C,IAAI,CAACxB;QAAI,CACA,CACb;MAAA,CACG,CAAC;IAAA,GAnC0BwD,KAoC7B,CACP,CAAC,eAEJzE,IAAA,CAACJ,WAAW;MACV0G,MAAM,EAAElF,yBAA0B;MAClCmF,OAAO,EAAEA,CAAA,KAAMlF,4BAA4B,CAAC,KAAK,CAAE;MACnDf,KAAK,EAAEM,iBAAiB,EAAEN,KAAK,IAAI,gBAAiB;MACpDC,WAAW,EACTK,iBAAiB,EAAEL,WAAW,IAAI,yBACnC;MACDiG,MAAM,EAAE;QACNC,IAAI,EAAE,QAAQ;QACdnG,KAAK,EAAEM,iBAAiB,EAAE4F,MAAM,EAAElG,KAAK,IAAI,YAAY;QACvDmF,OAAO,EAAEvB,yBAAyB;QAClC3D,WAAW,EACTK,iBAAiB,EAAE4F,MAAM,EAAEjG,WAAW,IACtC;MACJ,CAAE;MACFmG,OAAO,EAAE;QACPD,IAAI,EAAE,OAAO;QACbnG,KAAK,EAAEM,iBAAiB,EAAE8F,OAAO,EAAEpG,KAAK,IAAI,mBAAmB;QAC/DmF,OAAO,EAAEnB,0BAA0B;QACnC/D,WAAW,EACTK,iBAAiB,EAAE8F,OAAO,EAAEnG,WAAW,IACvC;MACJ,CAAE;MACFoG,QAAQ,EAAE;QACRF,IAAI,EAAE,UAAU;QAChBnG,KAAK,EAAEM,iBAAiB,EAAE+F,QAAQ,EAAErG,KAAK,IAAI,eAAe;QAC5DmF,OAAO,EAAE5D,cAAc;QACvBtB,WAAW,EACTK,iBAAiB,EAAE+F,QAAQ,EAAEpG,WAAW,IACxC;MACJ;IAAE,CACH,CAAC,eAEFP,IAAA,CAACL,WAAW;MACV2G,MAAM,EAAEhF,2BAA4B;MACpCiF,OAAO,EAAEA,CAAA,KAAMhF,8BAA8B,CAAC,KAAK,CAAE;MACrDjB,KAAK,EAAEO,eAAe,EAAEP,KAAK,IAAI,eAAgB;MACjDsG,YAAY,EACV/F,eAAe,EAAEN,WAAW,IAC5B,kDACD;MACDsG,OAAO,EAAEhG,eAAe,EAAEiG,UAAU,EAAED,OAAO,IAAI,OAAQ;MACzDE,SAAS,EAAErC,UAAW;MACtBsC,MAAM,EAAEnG,eAAe,EAAEiG,UAAU,EAAEE,MAAM,IAAI,OAAQ;MACvDC,QAAQ,EAAEA,CAAA,KAAM1F,8BAA8B,CAAC,KAAK;IAAE,CACvD,CAAC;EAAA,CACE,CAAC;AAEX","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useEffect","useState","useRef","View","Color","Typography","pick","types","viewDocument","launchCamera","launchImageLibrary","spacing","Input","CardTrigger","ItemPreview","ModalDelete","ModalPicker","CardTriggerSmall","ReactNativeBlobUtil","uploadFile","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","InputFile","title","description","accept","pdf","images","btnChooseFileText","multiple","value","modalPickFileText","modalDeleteText","useChangeLabel","changeLableProps","variant","hint","hasError","onChange","uploadConfig","maxSize","maxSizeErrorMessage","isOpenBottomSheetTypeFile","setIsOpenBottomSheetTypeFile","isOpenBottomSheetDeleteFile","setIsOpenBottomSheetDeleteFile","selectedFileIndex","setSelectedFileIndex","uploadedFiles","setUploadedFiles","internalErrorMessage","setInternalErrorMessage","files","setFiles","filesRef","calculatedMaxSize","uploadAndTrack","newFiles","config","withLoading","map","f","uploading","prev","results","Promise","all","currentFiles","current","updatedFiles","match","find","r","originalName","name","fileName","error","uploadedData","errorMessage","newUploaded","onUploadSuccess","validateMaxSize","assets","oversized","filter","size","fileSize","Infinity","length","handlePreviewFile","file","fileUri","uri","fileType","type","startsWith","dirs","fs","dir","CacheDir","ext","split","pop","localPath","Date","now","res","path","fileCache","fetch","respInfo","headers","mimeType","err","console","handlePickFile","confirmReplaceFile","result","allowMultiSelection","pickedFiles","message","toLowerCase","includes","handleOnPressButtonCamera","mediaType","didCancel","handleOnPressButtonGallery","selectionLimit","confirmDeleteFile","index","deleteFile","_","i","handleReplaceFile","labelFile","pickFile","replacedFile","uploadResult","style","gap","children","btnSelect","onPress","textButton","onChooseFile","onPreview","onReplace","onDelete","color","danger","label","placeholder","onChangeText","text","loading","gray","isOpen","onClose","camera","icon","gallery","document","descripition","confirm","confirmBtn","onConfirm","cancel","onCnacel"],"sourceRoot":"../../../src","sources":["Input/InputFile.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
# 📂 InputFile Component
|
|
2
2
|
|
|
3
|
-
Komponen `InputFile` digunakan untuk mengunggah, menampilkan, mengganti, menghapus
|
|
4
|
-
Mendukung **camera**, **gallery**, dan **document picker** dengan tampilan preview dan konfirmasi aksi.
|
|
3
|
+
Komponen `InputFile` digunakan untuk mengunggah, menampilkan, mengganti, dan menghapus dokumen atau gambar di aplikasi React Native. Mendukung **camera**, **gallery**, dan **document picker** dengan fitur upload otomatis ke server, validasi ukuran file, loading state, dan konfirmasi aksi.
|
|
5
4
|
|
|
6
5
|
---
|
|
7
6
|
|
|
8
7
|
## ✨ Fitur
|
|
9
8
|
|
|
10
9
|
- Upload file dari **kamera**, **galeri**, atau **dokumen perangkat**.
|
|
10
|
+
- **Auto-upload ke server** setiap kali file dipilih via `uploadConfig`.
|
|
11
|
+
- **Validasi ukuran file** per file sebelum diproses.
|
|
12
|
+
- **Loading state** (`uploading: true`) selama proses upload berlangsung.
|
|
13
|
+
- **Error state** otomatis jika upload gagal (HTTP error / network error).
|
|
11
14
|
- Preview file (gambar atau dokumen).
|
|
12
15
|
- Mendukung **multiple file upload**.
|
|
13
16
|
- Ganti file (replace) atau hapus file dengan konfirmasi.
|
|
@@ -20,17 +23,18 @@ Mendukung **camera**, **gallery**, dan **document picker** dengan tampilan previ
|
|
|
20
23
|
|
|
21
24
|
## 📦 Dependencies
|
|
22
25
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
| Library | Kegunaan |
|
|
27
|
+
| ----------------------------------------------------------------------------------------------------- | ------------------------------- |
|
|
28
|
+
| [`@react-native-documents/picker`](https://github.com/react-native-documents/picker) | Pick file dari storage |
|
|
29
|
+
| [`@react-native-documents/viewer`](https://github.com/react-native-documents/viewer) | Preview dokumen |
|
|
30
|
+
| [`react-native-image-picker`](https://github.com/react-native-image-picker/react-native-image-picker) | Akses kamera & galeri |
|
|
31
|
+
| [`react-native-blob-util`](https://github.com/RonRadtke/react-native-blob-util) | Upload file multipart ke server |
|
|
28
32
|
|
|
29
33
|
---
|
|
30
34
|
|
|
31
35
|
## 🚀 Penggunaan
|
|
32
36
|
|
|
33
|
-
### Variant Default (
|
|
37
|
+
### Variant Default (tanpa upload otomatis)
|
|
34
38
|
|
|
35
39
|
```tsx
|
|
36
40
|
import InputFile from '@/components/Input/InputFile';
|
|
@@ -41,7 +45,6 @@ export default function ExampleScreen() {
|
|
|
41
45
|
|
|
42
46
|
return (
|
|
43
47
|
<InputFile
|
|
44
|
-
variant="default" // atau bisa dihilangkan (default)
|
|
45
48
|
title="Upload Dokumen"
|
|
46
49
|
description="Format file: JPG, PNG, PDF"
|
|
47
50
|
hint="Maksimal ukuran file 5MB"
|
|
@@ -54,25 +57,46 @@ export default function ExampleScreen() {
|
|
|
54
57
|
label: 'Nama Dokumen',
|
|
55
58
|
placeholder: 'Masukkan nama dokumen',
|
|
56
59
|
}}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
60
|
+
onChange={(newFiles) => setFiles(newFiles)}
|
|
61
|
+
/>
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Variant Default (dengan auto-upload ke server)
|
|
67
|
+
|
|
68
|
+
```tsx
|
|
69
|
+
import InputFile from '@/components/Input/InputFile';
|
|
70
|
+
import { useState } from 'react';
|
|
71
|
+
|
|
72
|
+
export default function ExampleScreen() {
|
|
73
|
+
const [files, setFiles] = useState<any[]>([]);
|
|
74
|
+
|
|
75
|
+
return (
|
|
76
|
+
<InputFile
|
|
77
|
+
title="Upload KTP"
|
|
78
|
+
description="Format file: JPG, PNG, PDF. Maksimal 5MB."
|
|
79
|
+
multiple={false}
|
|
80
|
+
value={files}
|
|
81
|
+
uploadConfig={{
|
|
82
|
+
url: 'https://api.example.com/upload',
|
|
83
|
+
method: 'POST',
|
|
84
|
+
fieldName: 'file',
|
|
85
|
+
headers: { Authorization: 'Bearer your-token' },
|
|
86
|
+
maxSize: 5 * 1024 * 1024, // 5MB
|
|
87
|
+
maxSizeErrorMessage: 'File tidak boleh lebih dari 5MB',
|
|
88
|
+
errorMessage: 'Gagal mengupload file, coba lagi',
|
|
89
|
+
onUploadSuccess: (results) => {
|
|
90
|
+
console.log('Upload berhasil:', results);
|
|
65
91
|
},
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
title: 'Hapus File?',
|
|
69
|
-
description: 'Apakah kamu yakin ingin menghapus file ini?',
|
|
70
|
-
confirmBtn: {
|
|
71
|
-
confirm: 'Ya, Hapus',
|
|
72
|
-
cancel: 'Batal',
|
|
92
|
+
onError: (file, errorMsg) => {
|
|
93
|
+
console.warn('Upload gagal:', file, errorMsg);
|
|
73
94
|
},
|
|
74
95
|
}}
|
|
75
|
-
onChange={(
|
|
96
|
+
onChange={(updatedFiles) => {
|
|
97
|
+
// updatedFiles berisi FileItem[] dengan uploadedData dari server
|
|
98
|
+
setFiles(updatedFiles);
|
|
99
|
+
}}
|
|
76
100
|
/>
|
|
77
101
|
);
|
|
78
102
|
}
|
|
@@ -96,7 +120,7 @@ export default function ExampleScreen() {
|
|
|
96
120
|
value={files}
|
|
97
121
|
hasError={false}
|
|
98
122
|
onChange={(newFiles) => setFiles(newFiles)}
|
|
99
|
-
// ❌ description, hint, useChangeLabel, changeLableProps
|
|
123
|
+
// ❌ description, hint, useChangeLabel, changeLableProps tidak tersedia di variant small
|
|
100
124
|
/>
|
|
101
125
|
);
|
|
102
126
|
}
|
|
@@ -108,80 +132,99 @@ export default function ExampleScreen() {
|
|
|
108
132
|
|
|
109
133
|
### Base Props (Tersedia di Semua Variant)
|
|
110
134
|
|
|
111
|
-
| Prop | Tipe
|
|
112
|
-
| ------------------- |
|
|
113
|
-
| `title` | `string`
|
|
114
|
-
| `accept` | `string[]`
|
|
115
|
-
| `multiple` | `boolean`
|
|
116
|
-
| `value` | `any[]`
|
|
117
|
-
| `onChange` | `(files: any[]) => void`
|
|
118
|
-
| `btnChooseFileText` | `string`
|
|
119
|
-
| `
|
|
120
|
-
| `
|
|
121
|
-
| `
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
|
128
|
-
|
|
|
129
|
-
| `
|
|
130
|
-
| `
|
|
131
|
-
| `
|
|
132
|
-
| `
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
#### Small Variant (`variant: 'small'`)
|
|
135
|
+
| Prop | Tipe | Default | Deskripsi |
|
|
136
|
+
| ------------------- | -------------------------- | ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------- |
|
|
137
|
+
| `title` | `string` | `"Upload File"` | Judul input file. |
|
|
138
|
+
| `accept` | `string[]` | `["application/pdf", "image/jpeg", "image/png"]` | Tipe MIME file yang diizinkan. |
|
|
139
|
+
| `multiple` | `boolean` | `false` | Jika `true`, memungkinkan memilih banyak file sekaligus. |
|
|
140
|
+
| `value` | `any[]` | `[]` | Daftar file yang sudah dipilih (state dari parent). |
|
|
141
|
+
| `onChange` | `(files: any[]) => void` | `undefined` | Callback saat daftar file berubah (add, replace, delete). Menerima `FileItem[]` (dengan `uploadedData` jika `uploadConfig` diset). |
|
|
142
|
+
| `btnChooseFileText` | `string` | `"Choose File"` | Label tombol untuk memilih file. |
|
|
143
|
+
| `uploadConfig` | `UploadConfig` | `undefined` | Konfigurasi upload otomatis ke server. Jika tidak diset, file hanya disimpan di local state. |
|
|
144
|
+
| `modalPickFileText` | `ModalPickFileText` | `undefined` | Teks kustom pada modal pemilihan sumber file. |
|
|
145
|
+
| `modalDeleteText` | `ModalOption & confirmBtn` | `undefined` | Teks kustom pada modal konfirmasi hapus file. |
|
|
146
|
+
| `hasError` | `boolean` | `false` | Menampilkan state error pada input. |
|
|
147
|
+
|
|
148
|
+
### Default Variant Props (`variant?: 'default'`)
|
|
149
|
+
|
|
150
|
+
| Prop | Tipe | Default | Deskripsi |
|
|
151
|
+
| ------------------ | ------------------ | ----------------------------------------- | ------------------------------------------------------------ |
|
|
152
|
+
| `variant` | `'default'` | `'default'` | Variant default dengan fitur lengkap. |
|
|
153
|
+
| `description` | `string` | `"File harus berformat JPG, PNG dan PDF"` | Deskripsi singkat tentang file yang diterima. |
|
|
154
|
+
| `hint` | `string` | `undefined` | Teks hint tambahan di bawah input. |
|
|
155
|
+
| `useChangeLabel` | `boolean` | `false` | Jika `true`, menampilkan input untuk memberi nama pada file. |
|
|
156
|
+
| `changeLableProps` | `ChangeLabelProps` | `undefined` | Kustomisasi label dan placeholder input nama dokumen. |
|
|
157
|
+
|
|
158
|
+
### Small Variant Props (`variant: 'small'`)
|
|
136
159
|
|
|
137
160
|
| Prop | Tipe | Default | Deskripsi |
|
|
138
161
|
| --------- | --------- | ------- | ------------------------------------- |
|
|
139
|
-
| `variant` | `'small'` |
|
|
162
|
+
| `variant` | `'small'` | — | Variant compact tanpa fitur tambahan. |
|
|
140
163
|
|
|
141
|
-
> ⚠️
|
|
164
|
+
> ⚠️ Props `description`, `hint`, `useChangeLabel`, dan `changeLableProps` **tidak tersedia** di variant `small`. TypeScript akan error jika props ini digunakan bersama `variant: 'small'`.
|
|
142
165
|
|
|
143
166
|
---
|
|
144
167
|
|
|
145
|
-
##
|
|
168
|
+
## 🔧 UploadConfig
|
|
146
169
|
|
|
147
|
-
|
|
170
|
+
Konfigurasi untuk mengaktifkan auto-upload ke server setiap kali file dipilih.
|
|
148
171
|
|
|
149
172
|
```ts
|
|
150
|
-
interface
|
|
151
|
-
|
|
152
|
-
|
|
173
|
+
interface UploadConfig {
|
|
174
|
+
url: string;
|
|
175
|
+
method?: 'POST' | 'PUT' | 'PATCH'; // default: 'POST'
|
|
176
|
+
fieldName?: string; // default: 'file'
|
|
177
|
+
headers?: Record<string, string>;
|
|
178
|
+
maxSize?: number; // dalam bytes, misal 5MB = 5 * 1024 * 1024
|
|
179
|
+
maxSizeErrorMessage?: string; // pesan error jika file melebihi maxSize
|
|
180
|
+
errorMessage?: string; // pesan error jika upload gagal
|
|
181
|
+
onUploadSuccess?: (results: UploadedFile<unknown>[]) => void;
|
|
182
|
+
onError?: (file: FileItem, error: string) => void;
|
|
153
183
|
}
|
|
154
184
|
```
|
|
155
185
|
|
|
156
|
-
###
|
|
186
|
+
### Alur Upload
|
|
157
187
|
|
|
158
|
-
```ts
|
|
159
|
-
interface ModalPickFileText {
|
|
160
|
-
title?: string;
|
|
161
|
-
description?: string;
|
|
162
|
-
camera?: ModalOption;
|
|
163
|
-
gallery?: ModalOption;
|
|
164
|
-
document?: ModalOption;
|
|
165
|
-
}
|
|
166
188
|
```
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
};
|
|
176
|
-
};
|
|
189
|
+
User pick file
|
|
190
|
+
→ validasi maxSize
|
|
191
|
+
→ gagal: tampilkan internalErrorMessage, stop
|
|
192
|
+
→ lolos: set uploading: true di UI
|
|
193
|
+
→ upload ke server
|
|
194
|
+
→ sukses: set uploadedData, uploading: false
|
|
195
|
+
→ gagal (HTTP error / network): set error: true, hint: errorMessage, uploading: false
|
|
196
|
+
→ onChange dipanggil dengan FileItem[] terbaru
|
|
177
197
|
```
|
|
178
198
|
|
|
179
|
-
### `
|
|
199
|
+
### Data yang diterima `onChange` saat uploadConfig aktif
|
|
200
|
+
|
|
201
|
+
`onChange` menerima `FileItem[]` dimana setiap item berisi data asli file **plus** `uploadedData` dari server:
|
|
180
202
|
|
|
181
203
|
```ts
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
204
|
+
// contoh item di dalam array onChange
|
|
205
|
+
{
|
|
206
|
+
// data asli dari picker/camera/gallery
|
|
207
|
+
uri: "file:///...",
|
|
208
|
+
fileName: "foto.jpg",
|
|
209
|
+
fileSize: 105629,
|
|
210
|
+
width: 562,
|
|
211
|
+
height: 1000,
|
|
212
|
+
type: "image/jpg",
|
|
213
|
+
|
|
214
|
+
// ditambahkan oleh komponen
|
|
215
|
+
uploading: false,
|
|
216
|
+
error: false,
|
|
217
|
+
uploadedData: {
|
|
218
|
+
message: "File berhasil diunggah",
|
|
219
|
+
data: {
|
|
220
|
+
url: "https://cdn.example.com/uploads/foto.jpg",
|
|
221
|
+
path: "uploads/foto.jpg",
|
|
222
|
+
name: "foto.jpg",
|
|
223
|
+
extension: "jpg",
|
|
224
|
+
size: 105629,
|
|
225
|
+
mime_type: "image/jpeg"
|
|
226
|
+
}
|
|
227
|
+
}
|
|
185
228
|
}
|
|
186
229
|
```
|
|
187
230
|
|
|
@@ -208,12 +251,58 @@ export interface ChangeLabelProps {
|
|
|
208
251
|
placeholder?: string;
|
|
209
252
|
}
|
|
210
253
|
|
|
254
|
+
export interface PickedFile {
|
|
255
|
+
uri: string;
|
|
256
|
+
name: string;
|
|
257
|
+
type: string;
|
|
258
|
+
size?: number;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
export interface ImageAsset {
|
|
262
|
+
uri?: string;
|
|
263
|
+
fileName?: string;
|
|
264
|
+
type?: string;
|
|
265
|
+
fileSize?: number;
|
|
266
|
+
width?: number;
|
|
267
|
+
height?: number;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
export interface UploadedFile<UploadedData> {
|
|
271
|
+
id: string;
|
|
272
|
+
originalName: string;
|
|
273
|
+
customName?: string;
|
|
274
|
+
uploadedData: UploadedData | null;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
export interface UploadConfig {
|
|
278
|
+
url: string;
|
|
279
|
+
method?: 'POST' | 'PUT' | 'PATCH';
|
|
280
|
+
fieldName?: string;
|
|
281
|
+
headers?: Record<string, string>;
|
|
282
|
+
maxSize?: number;
|
|
283
|
+
maxSizeErrorMessage?: string;
|
|
284
|
+
errorMessage?: string;
|
|
285
|
+
onUploadSuccess?: (results: UploadedFile<unknown>[]) => void;
|
|
286
|
+
onError?: (file: FileItem, error: string) => void;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
export type FileItemExtras = {
|
|
290
|
+
labelFile?: string;
|
|
291
|
+
hint?: string;
|
|
292
|
+
error?: boolean;
|
|
293
|
+
uploading?: boolean;
|
|
294
|
+
uploadedData?: unknown;
|
|
295
|
+
};
|
|
296
|
+
|
|
297
|
+
export type FileItem = (PickedFile | ImageAsset) & FileItemExtras;
|
|
298
|
+
|
|
211
299
|
type BaseInputFileProps = {
|
|
212
300
|
title?: string;
|
|
213
301
|
accept?: string[];
|
|
214
302
|
multiple?: boolean;
|
|
215
303
|
onChange?: (files: any) => void;
|
|
216
304
|
value?: any[];
|
|
305
|
+
uploadConfig?: UploadConfig;
|
|
217
306
|
modalPickFileText?: ModalPickFileText;
|
|
218
307
|
btnChooseFileText?: string;
|
|
219
308
|
modalDeleteText?: ModalOption & {
|
|
@@ -246,29 +335,14 @@ type InputFileProps = DefaultVariantProps | SmallVariantProps;
|
|
|
246
335
|
|
|
247
336
|
---
|
|
248
337
|
|
|
249
|
-
### Variant Default
|
|
250
|
-
|
|
251
|
-
- **Card input awal** → tombol pilih file + icon ilustrasi + description + hint.
|
|
252
|
-
- **Preview file** → menampilkan nama, ukuran, icon (atau thumbnail jika image).
|
|
253
|
-
- **Input label** (jika `useChangeLabel: true`) → input text untuk memberi nama dokumen.
|
|
254
|
-
- **Aksi file**:
|
|
255
|
-
- 🔄 Replace
|
|
256
|
-
- ❌ Delete
|
|
257
|
-
- 👁 Preview (buka dokumen dengan `viewDocument`)
|
|
258
|
-
|
|
259
|
-
### Variant Small
|
|
260
|
-
|
|
261
|
-
- **Compact card** → tombol pilih file dengan tampilan lebih ringkas.
|
|
262
|
-
- **Preview file** → tampilan minimal tanpa label/hint tambahan.
|
|
263
|
-
- **Aksi file**: sama seperti variant default (replace, delete, preview).
|
|
264
|
-
|
|
265
|
-
---
|
|
266
|
-
|
|
267
338
|
## 🛠 Catatan
|
|
268
339
|
|
|
269
|
-
1. Pastikan permission kamera & storage sudah diatur (
|
|
270
|
-
2.
|
|
271
|
-
3.
|
|
272
|
-
4.
|
|
273
|
-
5.
|
|
274
|
-
6.
|
|
340
|
+
1. Pastikan permission kamera & storage sudah diatur di `Info.plist` (iOS) dan `AndroidManifest.xml` (Android).
|
|
341
|
+
2. `uploadConfig.maxSize` divalidasi **sebelum** file diupload. File yang melebihi batas tidak akan diproses sama sekali.
|
|
342
|
+
3. Upload menggunakan `multipart/form-data`. Pastikan server menerima format ini.
|
|
343
|
+
4. HTTP error (4xx, 5xx) akan di-treat sebagai upload gagal — `uploadedData` akan bernilai `null` dan `error: true` di-set pada file tersebut.
|
|
344
|
+
5. Saat `uploading: true`, komponen menampilkan loading indicator di preview file. Pastikan `ItemPreview` menangani prop ini.
|
|
345
|
+
6. `useEffect` yang sync `value` ke internal state tidak akan berjalan selama ada file yang sedang uploading, untuk mencegah state reset di tengah proses upload.
|
|
346
|
+
7. Untuk **multiple upload**, semua file diupload secara paralel via `Promise.all`.
|
|
347
|
+
8. **Variant `small`** cocok untuk form compact tanpa deskripsi dan hint tambahan.
|
|
348
|
+
9. **Variant `default`** cocok untuk form yang membutuhkan instruksi detail dan fitur labeling dokumen.
|
|
@@ -12,6 +12,7 @@ export default function TextArea({
|
|
|
12
12
|
style,
|
|
13
13
|
hint,
|
|
14
14
|
onChangeText,
|
|
15
|
+
required,
|
|
15
16
|
...props
|
|
16
17
|
}) {
|
|
17
18
|
const handleOnChangeText = value => {
|
|
@@ -20,6 +21,7 @@ export default function TextArea({
|
|
|
20
21
|
return /*#__PURE__*/_jsxs(View, {
|
|
21
22
|
style: styles.gap,
|
|
22
23
|
children: [label ? /*#__PURE__*/_jsx(LabelForm, {
|
|
24
|
+
required: required,
|
|
23
25
|
title: label
|
|
24
26
|
}) : null, /*#__PURE__*/_jsx(View, {
|
|
25
27
|
style: [styles.container, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","TextInput","View","LabelForm","Color","Typography","jsx","_jsx","jsxs","_jsxs","TextArea","height","label","hasError","style","hint","onChangeText","props","handleOnChangeText","value","styles","gap","children","title","container","borderColor","danger","gray","editable","multiline","numberOfLines","input","textAlignVertical","placeholderTextColor","color","variant","create","position","borderRadius","borderWidth","backgroundColor","base","white100","fontSize","padding","flex"],"sourceRoot":"../../../src","sources":["Input/TextArea.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,SAAS,EAAEC,IAAI,QAAQ,cAAc;AAC1D,OAAOC,SAAS,MAAM,2BAAwB;AAC9C,OAAOC,KAAK,MAAM,mBAAgB;AAClC,OAAOC,UAAU,MAAM,6BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGlD,eAAe,SAASC,QAAQA,CAAC;EAC/BC,MAAM,GAAG,GAAG;EACZC,KAAK;EACLC,QAAQ;EACRC,KAAK;EACLC,IAAI;EACJC,YAAY;
|
|
1
|
+
{"version":3,"names":["StyleSheet","TextInput","View","LabelForm","Color","Typography","jsx","_jsx","jsxs","_jsxs","TextArea","height","label","hasError","style","hint","onChangeText","required","props","handleOnChangeText","value","styles","gap","children","title","container","borderColor","danger","gray","editable","multiline","numberOfLines","input","textAlignVertical","placeholderTextColor","color","variant","create","position","borderRadius","borderWidth","backgroundColor","base","white100","fontSize","padding","flex"],"sourceRoot":"../../../src","sources":["Input/TextArea.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,SAAS,EAAEC,IAAI,QAAQ,cAAc;AAC1D,OAAOC,SAAS,MAAM,2BAAwB;AAC9C,OAAOC,KAAK,MAAM,mBAAgB;AAClC,OAAOC,UAAU,MAAM,6BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGlD,eAAe,SAASC,QAAQA,CAAC;EAC/BC,MAAM,GAAG,GAAG;EACZC,KAAK;EACLC,QAAQ;EACRC,KAAK;EACLC,IAAI;EACJC,YAAY;EACZC,QAAQ;EACR,GAAGC;AACU,CAAC,EAAE;EAChB,MAAMC,kBAAkB,GAAIC,KAAa,IAAK;IAC5CJ,YAAY,GAAGI,KAAK,CAAC;EACvB,CAAC;EAED,oBACEX,KAAA,CAACP,IAAI;IAACY,KAAK,EAAEO,MAAM,CAACC,GAAI;IAAAC,QAAA,GACrBX,KAAK,gBAAGL,IAAA,CAACJ,SAAS;MAACc,QAAQ,EAAEA,QAAS;MAACO,KAAK,EAAEZ;IAAM,CAAE,CAAC,GAAG,IAAI,eAE/DL,IAAA,CAACL,IAAI;MACHY,KAAK,EAAE,CACLO,MAAM,CAACI,SAAS,EAChB;QACEC,WAAW,EAAEb,QAAQ,GAAGT,KAAK,CAACuB,MAAM,CAAC,GAAG,CAAC,GAAGvB,KAAK,CAACwB,IAAI,CAAC,GAAG,CAAC;QAC3DjB;MACF,CAAC,CACD;MAAAY,QAAA,eAEFhB,IAAA,CAACN,SAAS;QACRe,YAAY,EAAEG,kBAAmB;QACjCU,QAAQ;QACRC,SAAS;QACTC,aAAa,EAAE,EAAG;QAClBjB,KAAK,EAAE,CAACO,MAAM,CAACW,KAAK,EAAElB,KAAK,CAAE;QAC7BmB,iBAAiB,EAAC,KAAK;QACvBC,oBAAoB,EAAE9B,KAAK,CAACwB,IAAI,CAAC,GAAG,CAAE;QAAA,GAClCV;MAAK,CACV;IAAC,CACE,CAAC,EACNH,IAAI,gBACHR,IAAA,CAACF,UAAU;MAAC8B,KAAK,EAAEtB,QAAQ,GAAGT,KAAK,CAACuB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAG;MAACS,OAAO,EAAC,IAAI;MAAAb,QAAA,EAC/DR;IAAI,CACK,CAAC,GACX,IAAI;EAAA,CACJ,CAAC;AAEX;AAEA,MAAMM,MAAM,GAAGrB,UAAU,CAACqC,MAAM,CAAC;EAC/Bf,GAAG,EAAE;IACHA,GAAG,EAAE;EACP,CAAC;EACDG,SAAS,EAAE;IACTa,QAAQ,EAAE,UAAU;IACpBC,YAAY,EAAE,CAAC;IACfC,WAAW,EAAE,CAAC;IACdC,eAAe,EAAErC,KAAK,CAACsC,IAAI,CAACC;EAC9B,CAAC;EACDX,KAAK,EAAE;IACLY,QAAQ,EAAE,EAAE;IACZT,KAAK,EAAE,MAAM;IACbU,OAAO,EAAE,EAAE;IACXZ,iBAAiB,EAAE,KAAK;IACxBa,IAAI,EAAE;EACR;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// utils/uploadFile.ts
|
|
4
|
+
import ReactNativeBlobUtil from 'react-native-blob-util';
|
|
5
|
+
export async function uploadFile(file, config) {
|
|
6
|
+
const {
|
|
7
|
+
url,
|
|
8
|
+
method = 'POST',
|
|
9
|
+
fieldName = 'file',
|
|
10
|
+
headers = {},
|
|
11
|
+
errorMessage = 'Upload failed',
|
|
12
|
+
onError
|
|
13
|
+
} = config;
|
|
14
|
+
const uri = 'uri' in file ? file.uri : file.uri;
|
|
15
|
+
const name = 'name' in file ? file.name : file.fileName ?? 'file';
|
|
16
|
+
const type = 'type' in file ? file.type ?? 'application/octet-stream' : file.type ?? 'image/jpeg';
|
|
17
|
+
if (!uri) throw new Error('File URI is missing');
|
|
18
|
+
const id = `${Date.now()}-${Math.random().toString(36).slice(2)}`;
|
|
19
|
+
try {
|
|
20
|
+
const response = await ReactNativeBlobUtil.fetch(method, url, {
|
|
21
|
+
'Content-Type': 'multipart/form-data',
|
|
22
|
+
...headers
|
|
23
|
+
}, [{
|
|
24
|
+
name: fieldName,
|
|
25
|
+
filename: name,
|
|
26
|
+
type,
|
|
27
|
+
data: ReactNativeBlobUtil.wrap(uri.replace('file://', ''))
|
|
28
|
+
}]);
|
|
29
|
+
const statusCode = response.respInfo.status;
|
|
30
|
+
if (statusCode < 200 || statusCode >= 300) {
|
|
31
|
+
const errorBody = response.json();
|
|
32
|
+
const message = errorBody?.message ?? errorMessage;
|
|
33
|
+
onError?.(file, message);
|
|
34
|
+
return {
|
|
35
|
+
id,
|
|
36
|
+
originalName: name ?? '',
|
|
37
|
+
customName: file.labelFile,
|
|
38
|
+
uploadedData: null
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
const json = response.json();
|
|
42
|
+
const uploadedData = json;
|
|
43
|
+
return {
|
|
44
|
+
id,
|
|
45
|
+
originalName: String(name ?? 'Attachment'),
|
|
46
|
+
customName: file.labelFile,
|
|
47
|
+
uploadedData
|
|
48
|
+
};
|
|
49
|
+
} catch (err) {
|
|
50
|
+
const message = err?.message ?? errorMessage;
|
|
51
|
+
onError?.(file, message);
|
|
52
|
+
return {
|
|
53
|
+
id,
|
|
54
|
+
originalName: String(name ?? 'Attachment'),
|
|
55
|
+
customName: file.labelFile,
|
|
56
|
+
uploadedData: null
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=uploadFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ReactNativeBlobUtil","uploadFile","file","config","url","method","fieldName","headers","errorMessage","onError","uri","name","fileName","type","Error","id","Date","now","Math","random","toString","slice","response","fetch","filename","data","wrap","replace","statusCode","respInfo","status","errorBody","json","message","originalName","customName","labelFile","uploadedData","String","err"],"sourceRoot":"../../../../src","sources":["Input/helpers/uploadFile.ts"],"mappings":";;AAAA;AACA,OAAOA,mBAAmB,MAAM,wBAAwB;AAGxD,OAAO,eAAeC,UAAUA,CAC9BC,IAAc,EACdC,MAAoB,EACM;EAC1B,MAAM;IACJC,GAAG;IACHC,MAAM,GAAG,MAAM;IACfC,SAAS,GAAG,MAAM;IAClBC,OAAO,GAAG,CAAC,CAAC;IACZC,YAAY,GAAG,eAAe;IAC9BC;EACF,CAAC,GAAGN,MAAM;EAEV,MAAMO,GAAG,GAAG,KAAK,IAAIR,IAAI,GAAGA,IAAI,CAACQ,GAAG,GAAGR,IAAI,CAACQ,GAAG;EAC/C,MAAMC,IAAI,GAAG,MAAM,IAAIT,IAAI,GAAGA,IAAI,CAACS,IAAI,GAAIT,IAAI,CAACU,QAAQ,IAAI,MAAO;EAEnE,MAAMC,IAAI,GACR,MAAM,IAAIX,IAAI,GACTA,IAAI,CAACW,IAAI,IAAI,0BAA0B,GACvCX,IAAI,CAACW,IAAI,IAAI,YAAa;EAEjC,IAAI,CAACH,GAAG,EAAE,MAAM,IAAII,KAAK,CAAC,qBAAqB,CAAC;EAEhD,MAAMC,EAAE,GAAG,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,IAAIC,IAAI,CAACC,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC,EAAE;EAEjE,IAAI;IACF,MAAMC,QAAQ,GAAG,MAAMtB,mBAAmB,CAACuB,KAAK,CAC9ClB,MAAM,EACND,GAAG,EACH;MAAE,cAAc,EAAE,qBAAqB;MAAE,GAAGG;IAAQ,CAAC,EACrD,CACE;MACEI,IAAI,EAAEL,SAAS;MACfkB,QAAQ,EAAEb,IAAI;MACdE,IAAI;MACJY,IAAI,EAAEzB,mBAAmB,CAAC0B,IAAI,CAAChB,GAAG,CAACiB,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;IAC3D,CAAC,CAEL,CAAC;IAED,MAAMC,UAAU,GAAGN,QAAQ,CAACO,QAAQ,CAACC,MAAM;IAC3C,IAAIF,UAAU,GAAG,GAAG,IAAIA,UAAU,IAAI,GAAG,EAAE;MACzC,MAAMG,SAAS,GAAGT,QAAQ,CAACU,IAAI,CAAC,CAAC;MACjC,MAAMC,OAAO,GAAGF,SAAS,EAAEE,OAAO,IAAIzB,YAAY;MAClDC,OAAO,GAAGP,IAAI,EAAE+B,OAAO,CAAC;MACxB,OAAO;QACLlB,EAAE;QACFmB,YAAY,EAAEvB,IAAI,IAAI,EAAE;QACxBwB,UAAU,EAAEjC,IAAI,CAACkC,SAAS;QAC1BC,YAAY,EAAE;MAChB,CAAC;IACH;IAEA,MAAML,IAAI,GAAGV,QAAQ,CAACU,IAAI,CAAC,CAAC;IAC5B,MAAMK,YAAY,GAAGL,IAAS;IAE9B,OAAO;MACLjB,EAAE;MACFmB,YAAY,EAAEI,MAAM,CAAC3B,IAAI,IAAI,YAAY,CAAC;MAC1CwB,UAAU,EAAEjC,IAAI,CAACkC,SAAS;MAC1BC;IACF,CAAC;EACH,CAAC,CAAC,OAAOE,GAAQ,EAAE;IACjB,MAAMN,OAAO,GAAGM,GAAG,EAAEN,OAAO,IAAIzB,YAAY;IAC5CC,OAAO,GAAGP,IAAI,EAAE+B,OAAO,CAAC;IACxB,OAAO;MACLlB,EAAE;MACFmB,YAAY,EAAEI,MAAM,CAAC3B,IAAI,IAAI,YAAY,CAAC;MAC1CwB,UAAU,EAAEjC,IAAI,CAACkC,SAAS;MAC1BC,YAAY,EAAE;IAChB,CAAC;EACH;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Image","ScrollView","StyleSheet","TouchableOpacity","View","Card","Color","Typography","Button","layouting","ItemPreview","spacing","jsx","_jsx","jsxs","_jsxs","CardTriggerSmall","title","textButton","onChooseFile","files","onDelete","onPreview","onReplace","hasError","Component","length","style","flex","row","gap","children","styles","card","grow","backgroundColor","gray","borderColor","danger","undefined","titleWrapper","col","onPress","source","require","image","imageSmall","variant","weight","color","size","contentContainerStyle","align","center","horizontal","map","file","index","create","borderStyle","flexDirection","alignItems","justifyContent","flexShrink","width","height"],"sourceRoot":"../../../../../src","sources":["Input/partials/InputFile/CardTriggerSmall.tsx"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["Image","ScrollView","StyleSheet","TouchableOpacity","View","Card","Color","Typography","Button","layouting","ItemPreview","spacing","jsx","_jsx","jsxs","_jsxs","CardTriggerSmall","title","textButton","onChooseFile","files","onDelete","onPreview","onReplace","hasError","Component","length","style","flex","row","gap","children","styles","card","grow","backgroundColor","gray","borderColor","danger","undefined","titleWrapper","col","onPress","source","require","image","imageSmall","variant","weight","color","size","contentContainerStyle","align","center","horizontal","map","file","index","loading","uploading","create","borderStyle","flexDirection","alignItems","justifyContent","flexShrink","width","height"],"sourceRoot":"../../../../../src","sources":["Input/partials/InputFile/CardTriggerSmall.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { Image, StyleSheet, TouchableOpacity, View } from 'react-native';
|
|
3
|
+
import { ActivityIndicator, Image, StyleSheet, TouchableOpacity, View } from 'react-native';
|
|
4
4
|
import Card from "../../../Ui/Card.js";
|
|
5
5
|
import Color from "../../../Color/Color.js";
|
|
6
6
|
import Typography from "../../../Typography/Typography.js";
|
|
@@ -12,7 +12,8 @@ export default function ItemPreview({
|
|
|
12
12
|
index,
|
|
13
13
|
onDelete,
|
|
14
14
|
onReplace,
|
|
15
|
-
variant = 'default'
|
|
15
|
+
variant = 'default',
|
|
16
|
+
loading = false
|
|
16
17
|
}) {
|
|
17
18
|
const Wrapper = variant === 'default' ? Card : View;
|
|
18
19
|
return /*#__PURE__*/_jsx(Wrapper, {
|
|
@@ -22,7 +23,12 @@ export default function ItemPreview({
|
|
|
22
23
|
activeOpacity: 0.7,
|
|
23
24
|
children: [/*#__PURE__*/_jsxs(View, {
|
|
24
25
|
style: styles.containerListItem,
|
|
25
|
-
children: [
|
|
26
|
+
children: [loading && /*#__PURE__*/_jsx(View, {
|
|
27
|
+
style: [styles.previewImage, styles.loading],
|
|
28
|
+
children: /*#__PURE__*/_jsx(ActivityIndicator, {
|
|
29
|
+
color: Color.primary[1000]
|
|
30
|
+
})
|
|
31
|
+
}), !loading && file?.type?.startsWith('image') && /*#__PURE__*/_jsxs(View, {
|
|
26
32
|
style: (variant === 'small' ? styles.previewImageSmall : {}, variant === 'small' && file.error ? styles.previewImageError : {}),
|
|
27
33
|
children: [variant === 'small' && /*#__PURE__*/_jsx(BtnIcon, {
|
|
28
34
|
onPress: () => onDelete(index)
|
|
@@ -32,7 +38,7 @@ export default function ItemPreview({
|
|
|
32
38
|
},
|
|
33
39
|
style: [styles.previewImage, variant === 'small' && file.error ? styles.previewImageSmallError : {}]
|
|
34
40
|
})]
|
|
35
|
-
}), !file
|
|
41
|
+
}), !loading && !file?.type?.startsWith('image') && /*#__PURE__*/_jsxs(View, {
|
|
36
42
|
style: [styles.previewImage, variant === 'small' ? styles.previewImageSmall : {}, variant === 'small' && file.error ? styles.previewImageError : {}],
|
|
37
43
|
children: [variant === 'small' && /*#__PURE__*/_jsx(BtnIcon, {
|
|
38
44
|
onPress: () => onDelete(index)
|
|
@@ -126,6 +132,11 @@ const styles = StyleSheet.create({
|
|
|
126
132
|
gap: 12,
|
|
127
133
|
flexShrink: 0
|
|
128
134
|
},
|
|
135
|
+
loading: {
|
|
136
|
+
borderWidth: 1,
|
|
137
|
+
borderColor: Color.gray[200],
|
|
138
|
+
backgroundColor: Color.gray[50]
|
|
139
|
+
},
|
|
129
140
|
// small
|
|
130
141
|
previewImageSmall: {
|
|
131
142
|
borderWidth: 1,
|