@bbodek/hooks 0.0.29 → 0.0.31

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.
@@ -8,10 +8,10 @@ export declare const DROPZONE_ACTION_MAPPER: {
8
8
  readonly RESET_FILES: "resetFiles";
9
9
  };
10
10
  export declare const DROPZONE_REJECT_CODE_MAPPER: {
11
- readonly SINGLE_FILE_ONLY: "SINGLE_FILE_ONLY";
12
- readonly TOO_MANY_FILES: "TOO_MANY_FILES";
13
- readonly NEED_ACTIVE_MULTIPLE_OPTION: "NEED_ACTIVE_MULTIPLE_OPTION";
14
11
  readonly INVALID_FILE_FORMAT: "INVALID_FILE_FORMAT";
12
+ readonly TOO_LARGE_FILE: "TOO_LARGE_FILE";
13
+ readonly TOO_MANY_FILES: "TOO_MANY_FILES";
15
14
  };
16
15
  export declare const DROPZONE_REJECT_MESSAGE: Record<DropzoneRejectionCodes, string>;
16
+ export declare const FILE_DEFAULT_MAX_SIZE = 50;
17
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useDropzone/constants/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,eAAO,MAAM,sBAAsB;;;;;;;CAOzB,CAAC;AAEX,eAAO,MAAM,2BAA2B;;;;;CAK9B,CAAC;AAEX,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAS1E,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useDropzone/constants/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,eAAO,MAAM,sBAAsB;;;;;;;CAOzB,CAAC;AAEX,eAAO,MAAM,2BAA2B;;;;CAI9B,CAAC;AAEX,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAO1E,CAAC;AAEF,eAAO,MAAM,qBAAqB,KAAK,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { UseDropzone } from '../../../hooks/useDropzone/types';
2
+ declare const useDropzonePropsErrorEffect: ({ multiple, limit, }: Pick<UseDropzone, "multiple" | "limit">) => void;
3
+ export default useDropzonePropsErrorEffect;
4
+ //# sourceMappingURL=useDropzonePropsErrorEffect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDropzonePropsErrorEffect.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useDropzone/effects/useDropzonePropsErrorEffect.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,QAAA,MAAM,2BAA2B,GAAI,sBAGlC,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,SAMzC,CAAC;AAEF,eAAe,2BAA2B,CAAC"}
@@ -25,13 +25,14 @@ export interface OnDropAccepted extends Pick<DropzoneState, 'acceptedFiles'>, Pa
25
25
  export interface OnDropRejected extends Required<Pick<DropzoneState, 'rejectedFiles'>>, Partial<UseDropzoneReducerReturnType> {
26
26
  }
27
27
  export interface UseDropzone {
28
- isMultiple?: boolean;
28
+ multiple?: boolean;
29
29
  onDrop?: ({ acceptedFiles, rejectedFiles, state, dispatch }: OnDrop) => void;
30
30
  onDropAccepted?: ({ acceptedFiles, state, dispatch }: OnDropAccepted) => void;
31
31
  onDropRejected?: ({ rejectedFiles, state, dispatch }: OnDropRejected) => void;
32
32
  limit?: number;
33
33
  disabled?: boolean;
34
34
  accept?: string[];
35
+ max?: number;
35
36
  }
36
37
  export interface UseDropzoneReturn extends UseDropzoneReducerReturnType, Omit<UseDropzoneUploadReturnType, 'handleUpload'> {
37
38
  rootProps: (params?: HTMLAttributes<HTMLDivElement>) => Omit<HTMLAttributes<HTMLDivElement>, 'color'>;
@@ -40,7 +41,7 @@ export interface UseDropzoneReturn extends UseDropzoneReducerReturnType, Omit<Us
40
41
  export interface UseDropzoneRoot extends Pick<UseDropzone, 'disabled'>, Pick<UseDropzoneReducerReturnType, 'dispatch'>, Pick<UseDropzoneUploadReturnType, 'handleUpload'> {
41
42
  inputRef: RefObject<HTMLInputElement | null>;
42
43
  }
43
- export interface UseDropzoneInput extends Pick<UseDropzone, 'disabled' | 'isMultiple' | 'accept'>, Pick<UseDropzoneUploadReturnType, 'handleUpload'> {
44
+ export interface UseDropzoneInput extends Pick<UseDropzone, 'disabled' | 'multiple' | 'accept'>, Pick<UseDropzoneUploadReturnType, 'handleUpload'> {
44
45
  }
45
46
  export interface FileData extends File {
46
47
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useDropzone/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useDropzone/types/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDropzone.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDropzone/useDropzone.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAM3E,QAAA,MAAM,WAAW,GAAI,OAAO,WAAW,KAAG,iBAsCzC,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"useDropzone.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDropzone/useDropzone.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAM3E,QAAA,MAAM,WAAW,GAAI,OAAO,WAAW,KAAG,iBAyCzC,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { ChangeEvent, InputHTMLAttributes } from 'react';
2
2
  import { UseDropzoneInput } from '../../hooks/useDropzone/types';
3
- declare const useDropzoneInput: ({ isMultiple, accept, disabled, handleUpload, }: UseDropzoneInput) => {
3
+ declare const useDropzoneInput: ({ multiple, accept, disabled, handleUpload, }: UseDropzoneInput) => {
4
4
  inputProps: ({ onChange, ...rest }?: InputHTMLAttributes<HTMLInputElement>) => {
5
5
  accept: string;
6
6
  alt?: string | undefined;
@@ -20,7 +20,7 @@ declare const useDropzoneInput: ({ isMultiple, accept, disabled, handleUpload, }
20
20
  maxLength?: number | undefined;
21
21
  min?: number | string | undefined;
22
22
  minLength?: number | undefined;
23
- multiple?: boolean | undefined;
23
+ multiple: boolean;
24
24
  name?: string | undefined;
25
25
  pattern?: string | undefined;
26
26
  placeholder?: string | undefined;
@@ -313,7 +313,6 @@ declare const useDropzoneInput: ({ isMultiple, accept, disabled, handleUpload, }
313
313
  onTransitionRunCapture?: import("react").TransitionEventHandler<HTMLInputElement> | undefined;
314
314
  onTransitionStart?: import("react").TransitionEventHandler<HTMLInputElement> | undefined;
315
315
  onTransitionStartCapture?: import("react").TransitionEventHandler<HTMLInputElement> | undefined;
316
- isMultiple: boolean;
317
316
  ref: import("react").RefObject<HTMLInputElement | null>;
318
317
  onChange: import("react").EventHandler<ChangeEvent<HTMLInputElement>> | undefined;
319
318
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useDropzoneInput.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDropzone/useDropzoneInput.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,mBAAmB,EAIpB,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAI7D,QAAA,MAAM,gBAAgB,GAAI,iDAKvB,gBAAgB;yCAmBW,mBAAmB,CAAC,gBAAgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgClE,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"useDropzoneInput.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDropzone/useDropzoneInput.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,mBAAmB,EAIpB,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAI7D,QAAA,MAAM,gBAAgB,GAAI,+CAKvB,gBAAgB;yCAmBW,mBAAmB,CAAC,gBAAgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgClE,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import { UseDropzoneUpload, UseDropzoneUploadReturnType } from '../../hooks/useDropzone/types';
2
- declare const useDropzoneUpload: ({ uploadedFiles, state, dispatch, isMultiple, limit, onDrop, onDropAccepted, onDropRejected, accept, }: UseDropzoneUpload) => UseDropzoneUploadReturnType;
2
+ declare const useDropzoneUpload: ({ uploadedFiles, state, dispatch, multiple, limit, onDrop, onDropAccepted, onDropRejected, accept, max, }: UseDropzoneUpload) => UseDropzoneUploadReturnType;
3
3
  export default useDropzoneUpload;
4
4
  //# sourceMappingURL=useDropzoneUpload.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDropzoneUpload.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDropzone/useDropzoneUpload.ts"],"names":[],"mappings":"AAMA,OAAO,EAIL,iBAAiB,EACjB,2BAA2B,EAC5B,MAAM,2BAA2B,CAAC;AAGnC,QAAA,MAAM,iBAAiB,GAAI,wGAUxB,iBAAiB,KAAG,2BA0GtB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"useDropzoneUpload.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDropzone/useDropzoneUpload.ts"],"names":[],"mappings":"AAOA,OAAO,EAKL,iBAAiB,EACjB,2BAA2B,EAC5B,MAAM,2BAA2B,CAAC;AAGnC,QAAA,MAAM,iBAAiB,GAAI,2GAWxB,iBAAiB,KAAG,2BA+FtB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
package/dist/index.es.js CHANGED
@@ -1,2 +1,2 @@
1
- import{useRef as e,useEffect as t,useLayoutEffect as r,useCallback as n,useMemo as i,useReducer as s,useState as a}from"react";import{composeEventHandler as l,ACCEPT_FILES as c,executeFunction as o,getUUID as d}from"@bbodek/utils";const E=r=>{const n=e(!0);t((()=>{n.current&&(n.current=!1,r())}),[])},p="undefined"!=typeof window?r:t,u=({isLocked:e,target:r})=>{t((()=>{const t=r?document.getElementById(r):document.body;if(t)return t.style.overflow=e?"hidden":"auto",()=>{t.style.overflow="auto"}}),[e,r])},v=({ref:e,onClose:r,useClickOutsideEvent:n=!0})=>{t((()=>{const t=t=>{e.current&&!e.current.contains(t.target)&&r(t)};return n?document.addEventListener("mousedown",t):document.removeEventListener("mousedown",t),()=>{n&&document.removeEventListener("mousedown",t)}}),[e.current,n])},L=({onClose:t,useClickOutsideEvent:r})=>{const n=e(null);return v({ref:n,onClose:t,useClickOutsideEvent:r}),{contentRef:n}},F=()=>({compose:n((e=>l(e)),[])}),f={DRAG:"drag",HOVER:"hover",SET_FILES:"setFiles",SET_REJECT:"setReject",DELETE_FILE:"deleteFile",RESET_FILES:"resetFiles"},T={SINGLE_FILE_ONLY:"SINGLE_FILE_ONLY",TOO_MANY_FILES:"TOO_MANY_FILES",NEED_ACTIVE_MULTIPLE_OPTION:"NEED_ACTIVE_MULTIPLE_OPTION",INVALID_FILE_FORMAT:"INVALID_FILE_FORMAT"},D={[T.SINGLE_FILE_ONLY]:" 개의 파일만 선택할 수 있어요",[T.TOO_MANY_FILES]:"너무 많은 파일이 선택되었어요",[T.NEED_ACTIVE_MULTIPLE_OPTION]:"다중 선택 옵션을 활성화 시켜주세요",[T.INVALID_FILE_FORMAT]:"지원하지 않는 형식의 파일이 있어요"},I=({url:e})=>Array.isArray(e)?e.forEach((e=>URL.revokeObjectURL(e))):URL.revokeObjectURL(e),_=({accept:e=c})=>e.join(","),A=()=>({execute:n((e=>o(e)),[])}),O={isDragActive:!1,isHover:!1,isActive:!1,acceptedFiles:[],rejectedFiles:void 0},R=(e,t)=>{switch(t.type){case f.DRAG:return{...e,isDragActive:t.isDragActive??e.isDragActive,isActive:t.isDragActive??e.isDragActive};case f.HOVER:return{...e,isHover:t.isHover??e.isHover,isActive:t.isHover??e.isHover};case f.SET_FILES:return{...e,acceptedFiles:t.acceptedFiles??e.acceptedFiles,rejectedFiles:void 0,isDragActive:!1,isHover:!1,isActive:!1};case f.SET_REJECT:return{...e,rejectedFiles:t.rejectedFiles??e.rejectedFiles,isDragActive:!1,isHover:!1,isActive:!1};case f.DELETE_FILE:return{...e,acceptedFiles:e.acceptedFiles.filter((e=>e.id!==t.id))};case f.RESET_FILES:return{...e,acceptedFiles:[]};default:return e}},g=t=>{const{isMultiple:r=!0,limit:a,disabled:l=!1,onDrop:o,onDropAccepted:p,onDropRejected:u,accept:v=c}=t,{state:L,dispatch:D}=(()=>{const[e,t]=s(R,O);return{state:e,dispatch:t}})(),{handleUpload:g,deleteFile:m,resetFiles:h}=(({uploadedFiles:e,state:t,dispatch:r,isMultiple:n=!0,limit:i,onDrop:s,onDropAccepted:a,onDropRejected:l,accept:o=c})=>{const E=e=>{const{name:t,size:r,type:n,lastModified:i,webkitRelativePath:s}=e;return{id:d(),name:t,size:r,type:n,lastModified:i,webkitRelativePath:s,blob:URL.createObjectURL(e),original:e}},p=({acceptedFiles:e,rejectCode:n})=>{const i={files:e,code:n};r({type:f.SET_REJECT,acceptedFiles:e,rejectedFiles:i}),l?.({rejectedFiles:i,state:t,dispatch:r}),s?.({acceptedFiles:[],rejectedFiles:i,state:t,dispatch:r})};return{handleUpload:({files:e})=>{const l=Array.from(e,E);if(!n&&l.length>1)return p({acceptedFiles:l,rejectCode:T.SINGLE_FILE_ONLY});if(void 0!==i){if(!n)return p({acceptedFiles:l,rejectCode:T.NEED_ACTIVE_MULTIPLE_OPTION});if(l.length>i)return p({acceptedFiles:l,rejectCode:T.TOO_MANY_FILES})}if(l.some((e=>["type","name"].every((t=>!o.some((r=>e[t].toLowerCase().includes(r))))))))return p({acceptedFiles:l,rejectCode:T.INVALID_FILE_FORMAT});r({type:f.SET_FILES,acceptedFiles:l}),a?.({acceptedFiles:l,state:t,dispatch:r}),s?.({acceptedFiles:l,state:t,dispatch:r})},deleteFile:({id:e})=>{r({type:f.DELETE_FILE,id:e})},resetFiles:()=>{I({url:e.map((e=>e.blob))}),r({type:f.RESET_FILES})}}})({uploadedFiles:L.acceptedFiles,state:L,dispatch:D,isMultiple:r,limit:a,onDrop:o,onDropAccepted:p,onDropRejected:u,accept:v}),{inputProps:H,inputRef:S}=(({isMultiple:t=!0,accept:r=c,disabled:s=!1,handleUpload:a})=>{const l=e(null),{execute:o}=A(),{compose:d}=F(),E=n((e=>{if(e.preventDefault(),!e.target||!e.target.files)return;const{files:t}=e.target;a({files:t})}),[a]);return{inputProps:i((()=>({onChange:e,...n}={})=>({isMultiple:t,type:"file",style:{display:"none"},tabIndex:-1,ref:l,onChange:o({disabled:s,fn:d({externalEventHandler:e,internalEventHandler:E})}),accept:_({accept:r}),disabled:s,...n})),[t,r,l,E,s,o,d]),inputRef:l}})({disabled:l,handleUpload:g,isMultiple:r,accept:v}),{rootProps:b}=(({inputRef:t,dispatch:r,disabled:s=!1,handleUpload:a})=>{const l=e(null),{execute:c}=A(),{compose:o}=F(),d=i((()=>e=>e.relatedTarget instanceof Node&&l.current&&l.current.contains(e.relatedTarget)),[l.current]),E=n((()=>r({type:f.HOVER,isHover:!0})),[r]),p=n((e=>{d(e)||r({type:f.HOVER,isHover:!1})}),[r,d]),u=n((e=>{e.preventDefault(),r({type:f.DRAG,isDragActive:!0})}),[r]),v=n((e=>{e.preventDefault(),d(e)||r({type:f.DRAG,isDragActive:!1})}),[r,d]),L=n((e=>e.preventDefault()),[]),T=n((e=>{if(e.preventDefault(),!e.dataTransfer||!e.dataTransfer.files)return;const{files:t}=e.dataTransfer;a({files:t})}),[a]),D=n((()=>{t.current&&(t.current.value="",t.current.click())}),[t.current]);return{rootProps:i((()=>({onDrop:e,onClick:t,onDragEnter:r,onDragLeave:n,onDragOver:i,onMouseEnter:a,onMouseLeave:d,role:F,...f}={})=>({onDrop:c({disabled:s,fn:o({externalEventHandler:e,internalEventHandler:T})}),onClick:c({disabled:s,fn:o({externalEventHandler:t,internalEventHandler:D})}),onDragEnter:c({disabled:s,fn:o({externalEventHandler:r,internalEventHandler:u})}),onDragLeave:c({disabled:s,fn:o({externalEventHandler:n,internalEventHandler:v})}),onDragOver:c({disabled:s,fn:o({externalEventHandler:i,internalEventHandler:L})}),onMouseEnter:c({disabled:s,fn:o({externalEventHandler:a,internalEventHandler:E})}),onMouseLeave:c({disabled:s,fn:o({externalEventHandler:d,internalEventHandler:p})}),role:"string"==typeof F&&""!==F?F:"presentation",ref:l,...f})),[T,D,u,v,L,E,p,l,s,c,o])}})({inputRef:S,dispatch:D,disabled:l,handleUpload:g});return(({acceptedFiles:e})=>{E((()=>{I({url:e.map((e=>e.blob))})}))})({acceptedFiles:L.acceptedFiles}),{state:L,deleteFile:m,resetFiles:h,rootProps:b,inputProps:H,dispatch:D}},m=({initialValues:e,validate:t})=>{const[r,n]=a(e),[i,s]=a({});return{values:r,setValues:e=>{const i="function"==typeof e?e(r):e;if(n(i),t){const e=t(i);s(e)}},errors:i,handleChange:i=>{const{name:a,value:l}=i.target;if(a in e&&(n({...r,[a]:l}),t)){const e=t({...r,[a]:l});s(e)}},setErrors:s}},h={MOBILE:"MOBILE",TABLET:"TABLET",DESKTOP:"DESKTOP"},H={[h.MOBILE]:360,[h.TABLET]:820,[h.DESKTOP]:1180},S=()=>{const[e,r]=a(null);return(({setStatus:e})=>{t((()=>{const t=()=>{const t=window.innerWidth;e(t>=H.DESKTOP?h.DESKTOP:t>=H.TABLET?h.TABLET:h.MOBILE)};return t(),window.addEventListener("resize",t),()=>{window.removeEventListener("resize",t)}}),[])})({setStatus:r}),{status:e}};export{H as BREAKPOINT_SIZE,f as DROPZONE_ACTION_MAPPER,T as DROPZONE_REJECT_CODE_MAPPER,D as DROPZONE_REJECT_MESSAGE,h as RESPONSIBLE_STATUS,v as useClickOutSideEffect,L as useClickOutside,F as useComposeEventHandler,g as useDropzone,A as useExecuteFunction,E as useFirstRenderEffect,m as useForm,p as useIsomorphicLayoutEffect,S as useResponsible,u as useScrollLockEffect};
1
+ import{useRef as e,useEffect as t,useLayoutEffect as r,useCallback as n,useMemo as i,useReducer as s,useState as a}from"react";import{composeEventHandler as l,ACCEPT_FILES as o,executeFunction as c,getUUID as d}from"@bbodek/utils";const p=r=>{const n=e(!0);t((()=>{n.current&&(n.current=!1,r())}),[])},u="undefined"!=typeof window?r:t,E=({isLocked:e,target:r})=>{t((()=>{const t=r?document.getElementById(r):document.body;if(t)return t.style.overflow=e?"hidden":"auto",()=>{t.style.overflow="auto"}}),[e,r])},v=({ref:e,onClose:r,useClickOutsideEvent:n=!0})=>{t((()=>{const t=t=>{e.current&&!e.current.contains(t.target)&&r(t)};return n?document.addEventListener("mousedown",t):document.removeEventListener("mousedown",t),()=>{n&&document.removeEventListener("mousedown",t)}}),[e.current,n])},F=({onClose:t,useClickOutsideEvent:r})=>{const n=e(null);return v({ref:n,onClose:t,useClickOutsideEvent:r}),{contentRef:n}},L=()=>({compose:n((e=>l(e)),[])}),f={DRAG:"drag",HOVER:"hover",SET_FILES:"setFiles",SET_REJECT:"setReject",DELETE_FILE:"deleteFile",RESET_FILES:"resetFiles"},D={INVALID_FILE_FORMAT:"INVALID_FILE_FORMAT",TOO_LARGE_FILE:"TOO_LARGE_FILE",TOO_MANY_FILES:"TOO_MANY_FILES"},m={[D.INVALID_FILE_FORMAT]:"지원되지 않는 확장자입니다",[D.TOO_LARGE_FILE]:"업로드 가능한 용량을 초과하였습니다",[D.TOO_MANY_FILES]:"업로드 가능한 개수를 초과하였습니다"},T=50,A=({url:e})=>Array.isArray(e)?e.forEach((e=>URL.revokeObjectURL(e))):URL.revokeObjectURL(e),O=({accept:e=o})=>e.join(","),R=()=>({execute:n((e=>c(e)),[])}),_={isDragActive:!1,isHover:!1,isActive:!1,acceptedFiles:[],rejectedFiles:void 0},I=(e,t)=>{switch(t.type){case f.DRAG:return{...e,isDragActive:t.isDragActive??e.isDragActive,isActive:t.isDragActive??e.isDragActive};case f.HOVER:return{...e,isHover:t.isHover??e.isHover,isActive:t.isHover??e.isHover};case f.SET_FILES:return{...e,acceptedFiles:t.acceptedFiles??e.acceptedFiles,rejectedFiles:void 0,isDragActive:!1,isHover:!1,isActive:!1};case f.SET_REJECT:return{...e,rejectedFiles:t.rejectedFiles??e.rejectedFiles,isDragActive:!1,isHover:!1,isActive:!1};case f.DELETE_FILE:return{...e,acceptedFiles:e.acceptedFiles.filter((e=>e.id!==t.id))};case f.RESET_FILES:return{...e,acceptedFiles:[]};default:return e}},g=({uploadedFiles:e,state:t,dispatch:r,multiple:n=!0,limit:i,onDrop:s,onDropAccepted:a,onDropRejected:l,accept:c=o,max:p=50})=>{const u=e=>{const{name:t,size:r,type:n,lastModified:i,webkitRelativePath:s}=e;return{id:d(),name:t,size:r,type:n,lastModified:i,webkitRelativePath:s,blob:URL.createObjectURL(e),original:e}};return{handleUpload:({files:e})=>{const o=Array.from(e,u),d=(({acceptedFiles:e})=>{const t=void 0!==i&&e.length>i,r=!n&&e.length>1;return t||r?D.TOO_MANY_FILES:e.some((e=>e.size>1048576*p))?D.TOO_LARGE_FILE:e.some((e=>["type","name"].every((t=>!c.some((r=>e[t].toLowerCase().includes(r)))))))?D.INVALID_FILE_FORMAT:null})({acceptedFiles:o});if(d)return(({acceptedFiles:e,rejectCode:n})=>{const i={files:e,code:n};r({type:f.SET_REJECT,acceptedFiles:e,rejectedFiles:i}),l?.({rejectedFiles:i,state:t,dispatch:r}),s?.({acceptedFiles:[],rejectedFiles:i,state:t,dispatch:r})})({acceptedFiles:o,rejectCode:d});r({type:f.SET_FILES,acceptedFiles:o}),a?.({acceptedFiles:o,state:t,dispatch:r}),s?.({acceptedFiles:o,state:t,dispatch:r})},deleteFile:({id:e})=>{r({type:f.DELETE_FILE,id:e})},resetFiles:()=>{A({url:e.map((e=>e.blob))}),r({type:f.RESET_FILES})}}},h=r=>{const{multiple:a=!0,limit:l,disabled:c=!1,onDrop:d,onDropAccepted:u,onDropRejected:E,accept:v=o,max:F}=r,{state:D,dispatch:m}=(()=>{const[e,t]=s(I,_);return{state:e,dispatch:t}})(),{handleUpload:T,deleteFile:h,resetFiles:H}=g({uploadedFiles:D.acceptedFiles,state:D,dispatch:m,multiple:a,limit:l,onDrop:d,onDropAccepted:u,onDropRejected:E,accept:v,max:F}),{inputProps:b,inputRef:y}=(({multiple:t=!0,accept:r=o,disabled:s=!1,handleUpload:a})=>{const l=e(null),{execute:c}=R(),{compose:d}=L(),p=n((e=>{if(e.preventDefault(),!e.target||!e.target.files)return;const{files:t}=e.target;a({files:t})}),[a]);return{inputProps:i((()=>({onChange:e,...n}={})=>({multiple:t,type:"file",style:{display:"none"},tabIndex:-1,ref:l,onChange:c({disabled:s,fn:d({externalEventHandler:e,internalEventHandler:p})}),accept:O({accept:r}),disabled:s,...n})),[t,r,l,p,s,c,d]),inputRef:l}})({disabled:c,handleUpload:T,multiple:a,accept:v}),{rootProps:S}=(({inputRef:t,dispatch:r,disabled:s=!1,handleUpload:a})=>{const l=e(null),{execute:o}=R(),{compose:c}=L(),d=i((()=>e=>e.relatedTarget instanceof Node&&l.current&&l.current.contains(e.relatedTarget)),[l.current]),p=n((()=>r({type:f.HOVER,isHover:!0})),[r]),u=n((e=>{d(e)||r({type:f.HOVER,isHover:!1})}),[r,d]),E=n((e=>{e.preventDefault(),r({type:f.DRAG,isDragActive:!0})}),[r]),v=n((e=>{e.preventDefault(),d(e)||r({type:f.DRAG,isDragActive:!1})}),[r,d]),F=n((e=>e.preventDefault()),[]),D=n((e=>{if(e.preventDefault(),!e.dataTransfer||!e.dataTransfer.files)return;const{files:t}=e.dataTransfer;a({files:t})}),[a]),m=n((()=>{t.current&&(t.current.value="",t.current.click())}),[t.current]);return{rootProps:i((()=>({onDrop:e,onClick:t,onDragEnter:r,onDragLeave:n,onDragOver:i,onMouseEnter:a,onMouseLeave:d,role:L,...f}={})=>({onDrop:o({disabled:s,fn:c({externalEventHandler:e,internalEventHandler:D})}),onClick:o({disabled:s,fn:c({externalEventHandler:t,internalEventHandler:m})}),onDragEnter:o({disabled:s,fn:c({externalEventHandler:r,internalEventHandler:E})}),onDragLeave:o({disabled:s,fn:c({externalEventHandler:n,internalEventHandler:v})}),onDragOver:o({disabled:s,fn:c({externalEventHandler:i,internalEventHandler:F})}),onMouseEnter:o({disabled:s,fn:c({externalEventHandler:a,internalEventHandler:p})}),onMouseLeave:o({disabled:s,fn:c({externalEventHandler:d,internalEventHandler:u})}),role:"string"==typeof L&&""!==L?L:"presentation",ref:l,...f})),[D,m,E,v,F,p,u,l,s,o,c])}})({inputRef:y,dispatch:m,disabled:c,handleUpload:T});return(({acceptedFiles:e})=>{p((()=>{A({url:e.map((e=>e.blob))})}))})({acceptedFiles:D.acceptedFiles}),(({multiple:e,limit:r})=>{t((()=>{if(void 0!==r&&r>1&&!e)throw new Error("limit이 1 이상일 경우 multiple 옵션을 활성화 해주세요")}),[e,r])})({multiple:a,limit:l}),{state:D,deleteFile:h,resetFiles:H,rootProps:S,inputProps:b,dispatch:m}},H=({initialValues:e,validate:t})=>{const[r,n]=a(e),[i,s]=a({});return{values:r,setValues:e=>{const i="function"==typeof e?e(r):e;if(n(i),t){const e=t(i);s(e)}},errors:i,handleChange:i=>{const{name:a,value:l}=i.target;if(a in e&&(n({...r,[a]:l}),t)){const e=t({...r,[a]:l});s(e)}},setErrors:s}},b={MOBILE:"MOBILE",TABLET:"TABLET",DESKTOP:"DESKTOP"},y={[b.MOBILE]:360,[b.TABLET]:820,[b.DESKTOP]:1180},S=()=>{const[e,r]=a(null);return(({setStatus:e})=>{t((()=>{const t=()=>{const t=window.innerWidth;e(t>=y.DESKTOP?b.DESKTOP:t>=y.TABLET?b.TABLET:b.MOBILE)};return t(),window.addEventListener("resize",t),()=>{window.removeEventListener("resize",t)}}),[])})({setStatus:r}),{status:e}};export{y as BREAKPOINT_SIZE,f as DROPZONE_ACTION_MAPPER,D as DROPZONE_REJECT_CODE_MAPPER,m as DROPZONE_REJECT_MESSAGE,T as FILE_DEFAULT_MAX_SIZE,b as RESPONSIBLE_STATUS,v as useClickOutSideEffect,F as useClickOutside,L as useComposeEventHandler,h as useDropzone,R as useExecuteFunction,p as useFirstRenderEffect,H as useForm,u as useIsomorphicLayoutEffect,S as useResponsible,E as useScrollLockEffect};
2
2
  //# sourceMappingURL=index.es.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bbodek/hooks",
3
- "version": "0.0.29",
3
+ "version": "0.0.31",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "repository": {
@@ -19,13 +19,13 @@
19
19
  "dist"
20
20
  ],
21
21
  "dependencies": {
22
- "@bbodek/utils": "0.0.26"
22
+ "@bbodek/utils": "0.0.28"
23
23
  },
24
24
  "peerDependencies": {
25
25
  "next": "^15.3.6",
26
26
  "react": "^19.2.1",
27
27
  "react-dom": "^19.2.1",
28
- "@bbodek/utils": "0.0.26"
28
+ "@bbodek/utils": "0.0.28"
29
29
  },
30
30
  "devDependencies": {
31
31
  "next": "^15.3.6",
@@ -39,7 +39,7 @@
39
39
  "tsc-alias": "^1.8.16",
40
40
  "tslib": "^2.8.1",
41
41
  "typescript": "^5.8.3",
42
- "@bbodek/eslint-config": "0.0.4",
42
+ "@bbodek/eslint-config": "0.0.5",
43
43
  "@dotoli/typescript-config": "0.0.0",
44
44
  "@dotoli/rollup-config": "0.0.0"
45
45
  },