@ehfuse/forma 2.3.2 → 3.0.0

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.
Files changed (87) hide show
  1. package/README.md +75 -0
  2. package/dist/esm/index.d.ts +4 -0
  3. package/dist/esm/index.d.ts.map +1 -1
  4. package/dist/esm/index.js +1 -1
  5. package/dist/esm/index.js.map +1 -1
  6. package/dist/esm/src/contexts/GlobalFormaContext.d.ts +2 -5
  7. package/dist/esm/src/contexts/GlobalFormaContext.d.ts.map +1 -1
  8. package/dist/esm/src/contexts/GlobalFormaContext.js +8 -10
  9. package/dist/esm/src/contexts/GlobalFormaContext.js.map +1 -1
  10. package/dist/esm/src/hooks/useForm.d.ts.map +1 -1
  11. package/dist/esm/src/hooks/useForm.js +56 -3
  12. package/dist/esm/src/hooks/useForm.js.map +1 -1
  13. package/dist/esm/src/hooks/useFormaState.d.ts +7 -0
  14. package/dist/esm/src/hooks/useFormaState.d.ts.map +1 -1
  15. package/dist/esm/src/hooks/useFormaState.js +56 -3
  16. package/dist/esm/src/hooks/useFormaState.js.map +1 -1
  17. package/dist/esm/src/hooks/useGlobalForm.js +2 -1
  18. package/dist/esm/src/hooks/useGlobalForm.js.map +1 -1
  19. package/dist/esm/src/hooks/useGlobalFormaState.js +2 -2
  20. package/dist/esm/src/hooks/useGlobalFormaState.js.map +1 -1
  21. package/dist/esm/src/hooks/useLocalStorage.d.ts +102 -0
  22. package/dist/esm/src/hooks/useLocalStorage.d.ts.map +1 -0
  23. package/dist/esm/src/hooks/useLocalStorage.js +233 -0
  24. package/dist/esm/src/hooks/useLocalStorage.js.map +1 -0
  25. package/dist/esm/src/hooks/useModal.d.ts.map +1 -1
  26. package/dist/esm/src/hooks/useModal.js +1 -1
  27. package/dist/esm/src/hooks/useModal.js.map +1 -1
  28. package/dist/esm/src/types/form.d.ts +13 -4
  29. package/dist/esm/src/types/form.d.ts.map +1 -1
  30. package/dist/esm/src/types/globalForm.d.ts +11 -3
  31. package/dist/esm/src/types/globalForm.d.ts.map +1 -1
  32. package/dist/esm/src/types/globalForm.js.map +1 -1
  33. package/dist/esm/src/utils/environment.d.ts +7 -0
  34. package/dist/esm/src/utils/environment.d.ts.map +1 -1
  35. package/dist/esm/src/utils/environment.js +11 -0
  36. package/dist/esm/src/utils/environment.js.map +1 -1
  37. package/dist/esm/src/utils/index.d.ts +2 -0
  38. package/dist/esm/src/utils/index.d.ts.map +1 -1
  39. package/dist/esm/src/utils/index.js +1 -0
  40. package/dist/esm/src/utils/index.js.map +1 -1
  41. package/dist/esm/src/utils/persist.d.ts +67 -0
  42. package/dist/esm/src/utils/persist.d.ts.map +1 -0
  43. package/dist/esm/src/utils/persist.js +154 -0
  44. package/dist/esm/src/utils/persist.js.map +1 -0
  45. package/dist/index.d.ts +4 -0
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +1 -1
  48. package/dist/index.js.map +1 -1
  49. package/dist/src/contexts/GlobalFormaContext.d.ts +2 -5
  50. package/dist/src/contexts/GlobalFormaContext.d.ts.map +1 -1
  51. package/dist/src/contexts/GlobalFormaContext.js +7 -9
  52. package/dist/src/contexts/GlobalFormaContext.js.map +1 -1
  53. package/dist/src/hooks/useForm.d.ts.map +1 -1
  54. package/dist/src/hooks/useForm.js +55 -2
  55. package/dist/src/hooks/useForm.js.map +1 -1
  56. package/dist/src/hooks/useFormaState.d.ts +7 -0
  57. package/dist/src/hooks/useFormaState.d.ts.map +1 -1
  58. package/dist/src/hooks/useFormaState.js +54 -1
  59. package/dist/src/hooks/useFormaState.js.map +1 -1
  60. package/dist/src/hooks/useGlobalForm.js +2 -1
  61. package/dist/src/hooks/useGlobalForm.js.map +1 -1
  62. package/dist/src/hooks/useGlobalFormaState.js +2 -2
  63. package/dist/src/hooks/useGlobalFormaState.js.map +1 -1
  64. package/dist/src/hooks/useLocalStorage.d.ts +102 -0
  65. package/dist/src/hooks/useLocalStorage.d.ts.map +1 -0
  66. package/dist/src/hooks/useLocalStorage.js +237 -0
  67. package/dist/src/hooks/useLocalStorage.js.map +1 -0
  68. package/dist/src/hooks/useModal.d.ts.map +1 -1
  69. package/dist/src/hooks/useModal.js.map +1 -1
  70. package/dist/src/types/form.d.ts +13 -4
  71. package/dist/src/types/form.d.ts.map +1 -1
  72. package/dist/src/types/globalForm.d.ts +11 -3
  73. package/dist/src/types/globalForm.d.ts.map +1 -1
  74. package/dist/src/types/globalForm.js.map +1 -1
  75. package/dist/src/utils/environment.d.ts +7 -0
  76. package/dist/src/utils/environment.d.ts.map +1 -1
  77. package/dist/src/utils/environment.js +12 -0
  78. package/dist/src/utils/environment.js.map +1 -1
  79. package/dist/src/utils/index.d.ts +2 -0
  80. package/dist/src/utils/index.d.ts.map +1 -1
  81. package/dist/src/utils/index.js +7 -1
  82. package/dist/src/utils/index.js.map +1 -1
  83. package/dist/src/utils/persist.d.ts +67 -0
  84. package/dist/src/utils/persist.d.ts.map +1 -0
  85. package/dist/src/utils/persist.js +163 -0
  86. package/dist/src/utils/persist.js.map +1 -0
  87. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useGlobalForm.js","sourceRoot":"","sources":["../../../../src/hooks/useGlobalForm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useGlobalForm.js","sourceRoot":"","sources":["../../../../src/hooks/useGlobalForm.ts"],"names":[],"mappings":"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"}
@@ -109,7 +109,7 @@ export function useGlobalFormaState(propsOrStateId, initialValuesArg) {
109
109
  const props = typeof propsOrStateId === "string"
110
110
  ? { stateId: propsOrStateId, initialValues: initialValuesArg }
111
111
  : propsOrStateId;
112
- const { stateId, initialValues, autoCleanup = true, actions, watch, } = props;
112
+ const { stateId, initialValues, autoCleanup = true, actions, watch, persist, } = props;
113
113
  const context = useContext(GlobalFormaContext);
114
114
  // 참조 등록 상태를 추적하는 ref 추가 + 컴포넌트 고유 ID
115
115
  const isRegisteredRef = useRef(false);
@@ -161,6 +161,7 @@ Details: GlobalFormaContext must be used within GlobalFormaProvider (stateId: ${
161
161
  _externalStore: store,
162
162
  actions: effectiveActions,
163
163
  watch, // watch 옵션 전달
164
+ persist, // persist 옵션 전달
164
165
  });
165
166
  // 초기값이 있고 스토어가 비어있다면 초기값 설정 (올바른 방법으로)
166
167
  // Set initial values if provided and store is empty (using proper method)
@@ -175,7 +176,6 @@ Details: GlobalFormaContext must be used within GlobalFormaProvider (stateId: ${
175
176
  if (!autoCleanup)
176
177
  return;
177
178
  // 첫 번째 등록시에만 참조 카운트 증가
178
- const componentId = componentIdRef.current;
179
179
  incrementRef(stateId, autoCleanup);
180
180
  isRegisteredRef.current = true;
181
181
  return () => {
@@ -1 +1 @@
1
- {"version":3,"file":"useGlobalFormaState.js","sourceRoot":"","sources":["../../../../src/hooks/useGlobalFormaState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAKhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AA2BxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwEG;AACH,MAAM,UAAU,mBAAmB,CAC/B,cAAoD,EACpD,gBAAoB;IAEpB,2BAA2B;IAC3B,MAAM,KAAK,GACP,OAAO,cAAc,KAAK,QAAQ;QAC9B,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE;QAC9D,CAAC,CAAC,cAAc,CAAC;IAEzB,MAAM,EACF,OAAO,EACP,aAAa,EACb,WAAW,GAAG,IAAI,EAClB,OAAO,EACP,KAAK,GACR,GAAG,KAAK,CAAC;IACV,MAAM,OAAO,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAE/C,qCAAqC;IACrC,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,cAAc,GAAG,MAAM,CAAqB,SAAS,CAAC,CAAC;IAE7D,uBAAuB;IACvB,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QAC1B,cAAc,CAAC,OAAO,GAAG,GAAG,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE;aAC7D,QAAQ,CAAC,EAAE,CAAC;aACZ,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACxB,CAAC;IAED,oCAAoC;IACpC,2DAA2D;IAC3D,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACxC,uCAAuC;QACvC,uEAAuE;QACvE,MAAM,YAAY,GAAG;;;;;;;;;;;gFAWmD,OAAO;SAC9E,CAAC,IAAI,EAAE,CAAC;QAET,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,EACF,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,kCAAkC,EAClC,eAAe,EACf,UAAU,GACb,GAAG,OAAO,CAAC;IAEZ,wBAAwB;IACxB,kCAAkC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAEzD,kDAAkD;IAClD,MAAM,KAAK,GAAG,gBAAgB,CAAI,OAAO,CAAC,CAAC;IAE3C,qFAAqF;IACrF,IAAI,OAAO,EAAE,CAAC;QACV,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,aAAa,EAAE,CAAC;YAChB,eAAe,CAAI,OAAO,EAAE,aAAa,CAAC,CAAC;QAC/C,CAAC;IACL,CAAC;IAED,wCAAwC;IACxC,MAAM,aAAa,GAAG,UAAU,CAAI,OAAO,CAAC,CAAC;IAE7C,wFAAwF;IACxF,MAAM,gBAAgB,GAAG,OAAO,IAAI,aAAa,CAAC;IAElD,yCAAyC;IACzC,MAAM,UAAU,GAAG,aAAa,CAAK,aAAmB,IAAK,EAAQ,EAAE;QACnE,cAAc,EAAE,KAAK;QACrB,OAAO,EAAE,gBAAgB;QACzB,KAAK,EAAE,cAAc;KACxB,CAAC,CAAC;IAEH,uCAAuC;IACvC,0EAA0E;IAC1E,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/D,UAAU,CAAC,gBAAgB,CAAC,aAAkB,CAAC,CAAC;QACpD,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IAEhD,sCAAsC;IACtC,kFAAkF;IAClF,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,WAAW;YAAE,OAAO;QAEzB,uBAAuB;QACvB,MAAM,WAAW,GAAG,cAAc,CAAC,OAAQ,CAAC;QAC5C,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACnC,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;QAE/B,OAAO,GAAG,EAAE;YACR,0BAA0B;YAC1B,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACnC,eAAe,CAAC,OAAO,GAAG,KAAK,CAAC;QACpC,CAAC,CAAC;QACF,uDAAuD;IAC3D,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,8BAA8B;IAEtC,4EAA4E;IAC5E,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/B,OAAO,IAAI,KAAK,CAAC,EAAS,EAAE;YACxB,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;gBACnB,gEAAgE;gBAChE,MAAM,oBAAoB,GAAG,UAAU,CAAI,OAAO,CAAC,CAAC;gBACpD,MAAM,uBAAuB,GACzB,OAAO,IAAI,oBAAoB,IAAI,EAAE,CAAC;gBAE1C,MAAM,MAAM,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;gBAC7C,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;oBAC/B,kDAAkD;oBAClD,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;wBACtB,MAAM,OAAO,GAAG;4BACZ,MAAM,EAAE,KAAK,CAAC,SAAS,EAAE;4BACzB,QAAQ,EAAE,CAAC,KAAuB,EAAE,EAAE,CAClC,KAAK,CAAC,QAAQ,CAAC,KAAe,CAAC;4BACnC,QAAQ,EAAE,CAAC,KAAuB,EAAE,KAAU,EAAE,EAAE,CAC9C,KAAK,CAAC,QAAQ,CAAC,KAAe,EAAE,KAAK,CAAC;4BAC1C,SAAS,EAAE,CAAC,MAAkB,EAAE,EAAE;gCAC9B,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;gCACxC,MAAM,SAAS,GAAG;oCACd,GAAG,aAAa;oCAChB,GAAG,MAAM;iCACZ,CAAC;gCACF,KAAK,CAAC,SAAS,CAAC,SAAc,CAAC,CAAC;4BACpC,CAAC;4BACD,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE;4BAC1B,OAAO,EAAE,EAAS,EAAE,uBAAuB;yBAC9C,CAAC;wBACF,OAAO,CAAC,OAAO,GAAG,aAAa,CAAC;wBAChC,OAAO,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;oBACpC,CAAC,CAAC;gBACN,CAAC;gBACD,OAAO,MAAM,CAAC;YAClB,CAAC;YACD,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;gBACnB,MAAM,oBAAoB,GAAG,UAAU,CAAI,OAAO,CAAC,CAAC;gBACpD,MAAM,uBAAuB,GACzB,OAAO,IAAI,oBAAoB,IAAI,EAAE,CAAC;gBAC1C,OAAO,IAAI,IAAI,uBAAuB,CAAC;YAC3C,CAAC;YACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE;gBACjB,MAAM,oBAAoB,GAAG,UAAU,CAAI,OAAO,CAAC,CAAC;gBACpD,MAAM,uBAAuB,GACzB,OAAO,IAAI,oBAAoB,IAAI,EAAE,CAAC;gBAC1C,OAAO,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;YACpD,CAAC;YACD,wBAAwB,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;gBACxC,MAAM,oBAAoB,GAAG,UAAU,CAAI,OAAO,CAAC,CAAC;gBACpD,MAAM,uBAAuB,GACzB,OAAO,IAAI,oBAAoB,IAAI,EAAE,CAAC;gBAC1C,IAAI,IAAI,IAAI,uBAAuB,EAAE,CAAC;oBAClC,OAAO;wBACH,UAAU,EAAE,IAAI;wBAChB,YAAY,EAAE,IAAI;qBACrB,CAAC;gBACN,CAAC;gBACD,OAAO,SAAS,CAAC;YACrB,CAAC;SACJ,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;IAE1C,OAAO;QACH,GAAG,UAAU;QACb,OAAO,EAAE,aAAa,EAAE,8DAA8D;QACtF,OAAO,EAAE,oEAAoE;QAC7E,MAAM,EAAE,KAAK,EAAE,gFAAgF;KAClE,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"useGlobalFormaState.js","sourceRoot":"","sources":["../../../../src/hooks/useGlobalFormaState.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * useLocalStorage.ts
3
+ *
4
+ * Forma - localStorage 관리 훅 | localStorage management hook
5
+ * useState와 유사한 패턴으로 localStorage 데이터를 관리합니다
6
+ * Manages localStorage data with a pattern similar to useState
7
+ *
8
+ * @license MIT License
9
+ * @copyright 2025 KIM YOUNG JIN (Kim Young Jin)
10
+ * @author KIM YOUNG JIN (ehfuse@gmail.com)
11
+ *
12
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
13
+ * of this software and associated documentation files (the "Software"), to deal
14
+ * in the Software without restriction, including without limitation the rights
15
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
16
+ * copies of the Software, and to permit persons to whom the Software is
17
+ * furnished to do so, subject to the following conditions:
18
+ *
19
+ * The above copyright notice and this permission notice shall be included in all
20
+ * copies or substantial portions of the Software.
21
+ *
22
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
25
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
27
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
28
+ * SOFTWARE.
29
+ */
30
+ /**
31
+ * useLocalStorage 훅의 반환 타입 | useLocalStorage hook return type
32
+ */
33
+ export interface UseLocalStorageReturn<T> {
34
+ /** 현재 값 | Current value */
35
+ value: T;
36
+ /** 값 설정 (함수형 업데이트 지원) | Set value (supports functional updates) */
37
+ setValue: (value: T | ((prev: T) => T)) => void;
38
+ /** 저장된 값 삭제 | Remove stored value */
39
+ remove: () => void;
40
+ /** 값 존재 여부 | Whether value exists */
41
+ has: boolean;
42
+ }
43
+ /**
44
+ * useLocalStorage 훅 옵션 | useLocalStorage hook options
45
+ */
46
+ export interface UseLocalStorageOptions {
47
+ /** sessionStorage 사용 여부 (기본: localStorage) | Use sessionStorage instead (default: localStorage) */
48
+ session?: boolean;
49
+ }
50
+ /**
51
+ * useState와 유사한 패턴의 localStorage 관리 훅
52
+ * localStorage management hook with useState-like pattern
53
+ *
54
+ * GlobalFormaProvider의 storagePrefix가 설정된 경우 자동으로 키에 prefix가 적용됩니다.
55
+ * If GlobalFormaProvider's storagePrefix is set, it will be automatically applied to keys.
56
+ *
57
+ * @template T 저장할 값의 타입 | Type of value to store
58
+ * @param key localStorage 키 | localStorage key
59
+ * @param defaultValue 기본값 | Default value
60
+ * @param options 옵션 | Options
61
+ * @returns localStorage 관리 API | localStorage management API
62
+ *
63
+ * @example
64
+ * ```typescript
65
+ * // 기본 사용
66
+ * const { value: theme, setValue: setTheme } = useLocalStorage('theme', 'light');
67
+ *
68
+ * // sessionStorage 사용
69
+ * const { value, setValue } = useLocalStorage('session-data', {}, { session: true });
70
+ *
71
+ * // 객체 저장
72
+ * interface UserPrefs {
73
+ * theme: 'light' | 'dark';
74
+ * fontSize: number;
75
+ * }
76
+ * const { value: prefs, setValue: setPrefs } = useLocalStorage<UserPrefs>('prefs', {
77
+ * theme: 'light',
78
+ * fontSize: 14
79
+ * });
80
+ *
81
+ * // 함수형 업데이트
82
+ * setPrefs(prev => ({ ...prev, theme: 'dark' }));
83
+ *
84
+ * // GlobalFormaProvider와 함께 사용 (자동 prefix)
85
+ * // <GlobalFormaProvider storagePrefix="myapp">
86
+ * // 실제 키: "myapp:theme"
87
+ * ```
88
+ */
89
+ export declare function useLocalStorage<T>(key: string, defaultValue: T, options?: UseLocalStorageOptions): UseLocalStorageReturn<T>;
90
+ /**
91
+ * storagePrefix를 가져오는 유틸리티 훅 | Utility hook to get storagePrefix
92
+ *
93
+ * @returns storagePrefix 값 | storagePrefix value
94
+ *
95
+ * @example
96
+ * ```typescript
97
+ * const prefix = useStoragePrefix();
98
+ * console.log(prefix); // "myapp" or undefined
99
+ * ```
100
+ */
101
+ export declare function useStoragePrefix(): string | undefined;
102
+ //# sourceMappingURL=useLocalStorage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLocalStorage.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useLocalStorage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAMH;;GAEG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACpC,2BAA2B;IAC3B,KAAK,EAAE,CAAC,CAAC;IACT,mEAAmE;IACnE,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC;IAChD,qCAAqC;IACrC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,qCAAqC;IACrC,GAAG,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,mGAAmG;IACnG,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAqFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAC7B,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,CAAC,EACf,OAAO,CAAC,EAAE,sBAAsB,GACjC,qBAAqB,CAAC,CAAC,CAAC,CA+F1B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAGrD"}
@@ -0,0 +1,233 @@
1
+ /**
2
+ * useLocalStorage.ts
3
+ *
4
+ * Forma - localStorage 관리 훅 | localStorage management hook
5
+ * useState와 유사한 패턴으로 localStorage 데이터를 관리합니다
6
+ * Manages localStorage data with a pattern similar to useState
7
+ *
8
+ * @license MIT License
9
+ * @copyright 2025 KIM YOUNG JIN (Kim Young Jin)
10
+ * @author KIM YOUNG JIN (ehfuse@gmail.com)
11
+ *
12
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
13
+ * of this software and associated documentation files (the "Software"), to deal
14
+ * in the Software without restriction, including without limitation the rights
15
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
16
+ * copies of the Software, and to permit persons to whom the Software is
17
+ * furnished to do so, subject to the following conditions:
18
+ *
19
+ * The above copyright notice and this permission notice shall be included in all
20
+ * copies or substantial portions of the Software.
21
+ *
22
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
25
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
27
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
28
+ * SOFTWARE.
29
+ */
30
+ import { useState, useCallback, useEffect, useContext, useMemo } from "react";
31
+ import { GlobalFormaContext } from "../contexts/GlobalFormaContext";
32
+ import { isBrowser } from "../utils/environment";
33
+ /**
34
+ * prefix가 적용된 전체 키를 생성합니다 | Generate full key with prefix applied
35
+ */
36
+ function getFullKey(key, prefix) {
37
+ return prefix ? `${prefix}:${key}` : key;
38
+ }
39
+ /**
40
+ * localStorage에서 값을 읽습니다 | Read value from localStorage
41
+ */
42
+ function readFromStorage(fullKey, defaultValue, useSession) {
43
+ if (!isBrowser()) {
44
+ return defaultValue;
45
+ }
46
+ try {
47
+ const storage = useSession ? sessionStorage : localStorage;
48
+ const item = storage.getItem(fullKey);
49
+ if (item === null) {
50
+ return defaultValue;
51
+ }
52
+ return JSON.parse(item);
53
+ }
54
+ catch {
55
+ return defaultValue;
56
+ }
57
+ }
58
+ /**
59
+ * localStorage에 값을 저장합니다 | Write value to localStorage
60
+ */
61
+ function writeToStorage(fullKey, value, useSession) {
62
+ if (!isBrowser()) {
63
+ return;
64
+ }
65
+ try {
66
+ const storage = useSession ? sessionStorage : localStorage;
67
+ storage.setItem(fullKey, JSON.stringify(value));
68
+ }
69
+ catch (error) {
70
+ console.warn(`[useLocalStorage] Failed to save to storage:`, error);
71
+ }
72
+ }
73
+ /**
74
+ * localStorage에서 값을 삭제합니다 | Remove value from localStorage
75
+ */
76
+ function removeFromStorage(fullKey, useSession) {
77
+ if (!isBrowser()) {
78
+ return;
79
+ }
80
+ try {
81
+ const storage = useSession ? sessionStorage : localStorage;
82
+ storage.removeItem(fullKey);
83
+ }
84
+ catch (error) {
85
+ console.warn(`[useLocalStorage] Failed to remove from storage:`, error);
86
+ }
87
+ }
88
+ /**
89
+ * localStorage에 값이 존재하는지 확인합니다 | Check if value exists in localStorage
90
+ */
91
+ function hasInStorage(fullKey, useSession) {
92
+ if (!isBrowser()) {
93
+ return false;
94
+ }
95
+ try {
96
+ const storage = useSession ? sessionStorage : localStorage;
97
+ return storage.getItem(fullKey) !== null;
98
+ }
99
+ catch {
100
+ return false;
101
+ }
102
+ }
103
+ /**
104
+ * useState와 유사한 패턴의 localStorage 관리 훅
105
+ * localStorage management hook with useState-like pattern
106
+ *
107
+ * GlobalFormaProvider의 storagePrefix가 설정된 경우 자동으로 키에 prefix가 적용됩니다.
108
+ * If GlobalFormaProvider's storagePrefix is set, it will be automatically applied to keys.
109
+ *
110
+ * @template T 저장할 값의 타입 | Type of value to store
111
+ * @param key localStorage 키 | localStorage key
112
+ * @param defaultValue 기본값 | Default value
113
+ * @param options 옵션 | Options
114
+ * @returns localStorage 관리 API | localStorage management API
115
+ *
116
+ * @example
117
+ * ```typescript
118
+ * // 기본 사용
119
+ * const { value: theme, setValue: setTheme } = useLocalStorage('theme', 'light');
120
+ *
121
+ * // sessionStorage 사용
122
+ * const { value, setValue } = useLocalStorage('session-data', {}, { session: true });
123
+ *
124
+ * // 객체 저장
125
+ * interface UserPrefs {
126
+ * theme: 'light' | 'dark';
127
+ * fontSize: number;
128
+ * }
129
+ * const { value: prefs, setValue: setPrefs } = useLocalStorage<UserPrefs>('prefs', {
130
+ * theme: 'light',
131
+ * fontSize: 14
132
+ * });
133
+ *
134
+ * // 함수형 업데이트
135
+ * setPrefs(prev => ({ ...prev, theme: 'dark' }));
136
+ *
137
+ * // GlobalFormaProvider와 함께 사용 (자동 prefix)
138
+ * // <GlobalFormaProvider storagePrefix="myapp">
139
+ * // 실제 키: "myapp:theme"
140
+ * ```
141
+ */
142
+ export function useLocalStorage(key, defaultValue, options) {
143
+ const context = useContext(GlobalFormaContext);
144
+ const storagePrefix = context?.storagePrefix;
145
+ const useSession = options?.session ?? false;
146
+ // storagePrefix가 설정되지 않은 경우 에러 발생
147
+ // Throw error if storagePrefix is not set
148
+ if (!storagePrefix) {
149
+ throw new Error(`[useLocalStorage] storagePrefix가 설정되지 않았습니다.
150
+ GlobalFormaProvider에 storagePrefix를 설정해주세요.
151
+
152
+ 예시:
153
+ <GlobalFormaProvider storagePrefix="myapp">
154
+ <App />
155
+ </GlobalFormaProvider>
156
+
157
+ [useLocalStorage] storagePrefix is not set.
158
+ Please set storagePrefix in GlobalFormaProvider.`);
159
+ }
160
+ // prefix가 적용된 전체 키 | Full key with prefix applied
161
+ const fullKey = useMemo(() => getFullKey(key, storagePrefix), [key, storagePrefix]);
162
+ // 초기값 읽기 | Read initial value
163
+ const [storedValue, setStoredValue] = useState(() => readFromStorage(fullKey, defaultValue, useSession));
164
+ // 값 존재 여부 | Whether value exists
165
+ const [has, setHas] = useState(() => hasInStorage(fullKey, useSession));
166
+ // 값 설정 | Set value
167
+ const setValue = useCallback((value) => {
168
+ setStoredValue((prev) => {
169
+ const newValue = value instanceof Function ? value(prev) : value;
170
+ writeToStorage(fullKey, newValue, useSession);
171
+ setHas(true);
172
+ return newValue;
173
+ });
174
+ }, [fullKey, useSession]);
175
+ // 값 삭제 | Remove value
176
+ const remove = useCallback(() => {
177
+ removeFromStorage(fullKey, useSession);
178
+ setStoredValue(defaultValue);
179
+ setHas(false);
180
+ }, [fullKey, useSession, defaultValue]);
181
+ // 다른 탭/창에서의 변경 감지 | Listen for changes from other tabs/windows
182
+ useEffect(() => {
183
+ if (!isBrowser())
184
+ return;
185
+ const handleStorageChange = (e) => {
186
+ // sessionStorage는 storage 이벤트를 발생시키지 않음
187
+ if (useSession)
188
+ return;
189
+ if (e.key === fullKey) {
190
+ if (e.newValue === null) {
191
+ setStoredValue(defaultValue);
192
+ setHas(false);
193
+ }
194
+ else {
195
+ try {
196
+ const newValue = JSON.parse(e.newValue);
197
+ setStoredValue(newValue);
198
+ setHas(true);
199
+ }
200
+ catch {
201
+ // JSON 파싱 실패 시 무시
202
+ }
203
+ }
204
+ }
205
+ };
206
+ window.addEventListener("storage", handleStorageChange);
207
+ return () => {
208
+ window.removeEventListener("storage", handleStorageChange);
209
+ };
210
+ }, [fullKey, defaultValue, useSession]);
211
+ return {
212
+ value: storedValue,
213
+ setValue,
214
+ remove,
215
+ has,
216
+ };
217
+ }
218
+ /**
219
+ * storagePrefix를 가져오는 유틸리티 훅 | Utility hook to get storagePrefix
220
+ *
221
+ * @returns storagePrefix 값 | storagePrefix value
222
+ *
223
+ * @example
224
+ * ```typescript
225
+ * const prefix = useStoragePrefix();
226
+ * console.log(prefix); // "myapp" or undefined
227
+ * ```
228
+ */
229
+ export function useStoragePrefix() {
230
+ const context = useContext(GlobalFormaContext);
231
+ return context?.storagePrefix;
232
+ }
233
+ //# sourceMappingURL=useLocalStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLocalStorage.js","sourceRoot":"","sources":["../../../../src/hooks/useLocalStorage.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useModal.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useModal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAWH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAW/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,wBAAgB,QAAQ,CAAC,EACrB,OAAO,EAAE,eAAe,EACxB,WAAmB,EACnB,OAAO,EAAE,eAAe,GAC3B,GAAE,aAAkB,GAAG,cAAc,CA+GrC"}
1
+ {"version":3,"file":"useModal.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useModal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAW/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,wBAAgB,QAAQ,CAAC,EACrB,OAAO,EAAE,eAAe,EACxB,WAAmB,EACnB,OAAO,EAAE,eAAe,GAC3B,GAAE,aAAkB,GAAG,cAAc,CA+GrC"}
@@ -25,7 +25,7 @@
25
25
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
26
  * SOFTWARE.
27
27
  */
28
- import { useEffect, useCallback, useRef, useMemo, useContext, } from "react";
28
+ import { useEffect, useCallback, useRef, useMemo, useContext } from "react";
29
29
  import { GlobalFormaContext } from "../contexts/GlobalFormaContext";
30
30
  import { useGlobalFormaState } from "./useGlobalFormaState";
31
31
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"useModal.js","sourceRoot":"","sources":["../../../../src/hooks/useModal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useModal.js","sourceRoot":"","sources":["../../../../src/hooks/useModal.ts"],"names":[],"mappings":"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"}
@@ -26,13 +26,15 @@
26
26
  * SOFTWARE.
27
27
  */
28
28
  import { FieldStore } from "../core/FieldStore";
29
+ import { PersistConfig } from "../utils/persist";
30
+ export type { PersistConfig };
29
31
  type SelectChangeEvent<T = string> = {
30
32
  target: {
31
33
  name?: string;
32
34
  value: T;
33
35
  };
34
36
  };
35
- type PickerChangeHandlerContext<T> = any;
37
+ type PickerChangeHandlerContext = any;
36
38
  /**
37
39
  * 폼 이벤트 타입 정의 | Form event type definitions
38
40
  * MUI 컴포넌트들의 다양한 이벤트 타입을 통합 | Unified event types for various MUI components
@@ -42,7 +44,7 @@ export type FormChangeEvent = React.ChangeEvent<HTMLInputElement | HTMLTextAreaE
42
44
  name: string;
43
45
  value: any;
44
46
  };
45
- onChange?: (value: any, context: PickerChangeHandlerContext<any>) => void;
47
+ onChange?: (value: any, context: PickerChangeHandlerContext) => void;
46
48
  };
47
49
  /**
48
50
  * 폼 변경 핸들러 타입 | Form change handler type
@@ -57,7 +59,7 @@ export type FormChangeHandler = {
57
59
  * DatePicker 전용 핸들러 타입
58
60
  * MUI DatePicker 컴포넌트와의 통합을 위한 타입
59
61
  */
60
- export type DatePickerChangeHandler = (fieldName: string) => (value: any, context?: PickerChangeHandlerContext<any>) => void;
62
+ export type DatePickerChangeHandler = (fieldName: string) => (value: any, context?: PickerChangeHandlerContext) => void;
61
63
  /**
62
64
  * useForm 훅의 Props 타입 | useForm hook Props type
63
65
  */
@@ -74,6 +76,8 @@ export interface UseFormProps<T extends Record<string, any>> {
74
76
  actions?: Actions<T> | Actions<T>[];
75
77
  /** Watch 콜백 - 특정 경로 변경 감지 (와일드카드 지원) | Watch callbacks - Detect specific path changes (wildcard supported) */
76
78
  watch?: WatchOptions<T>;
79
+ /** localStorage 영속성 설정 | localStorage persistence config */
80
+ persist?: PersistConfig;
77
81
  /** 내부 API - 전역 상태용 외부 스토어 | Internal API - external store for global state */
78
82
  _externalStore?: FieldStore<T>;
79
83
  }
@@ -93,6 +97,8 @@ export interface UseFormPropsOptional<T extends Record<string, any> = Record<str
93
97
  actions?: Actions<T> | Actions<T>[];
94
98
  /** Watch 콜백 - 특정 경로 변경 감지 (와일드카드 지원) | Watch callbacks - Detect specific path changes (wildcard supported) */
95
99
  watch?: WatchOptions<T>;
100
+ /** localStorage 영속성 설정 | localStorage persistence config */
101
+ persist?: PersistConfig;
96
102
  /** 내부 API - 전역 상태용 외부 스토어 | Internal API - external store for global state */
97
103
  _externalStore?: FieldStore<T>;
98
104
  }
@@ -130,6 +136,10 @@ export interface UseFormReturn<T extends Record<string, any>> {
130
136
  isValidating: boolean;
131
137
  /** 사용자 정의 액션 함수들 (context 바인딩됨) | User-defined action functions (with bound context) */
132
138
  actions: BoundActions<T>;
139
+ /** 저장된 데이터 삭제 | Clear persisted data */
140
+ clearPersisted: () => void;
141
+ /** 저장된 데이터 존재 여부 | Has persisted data */
142
+ hasPersisted: boolean;
133
143
  /** 호환성을 위한 values 객체 (비권장) | Values object for compatibility (not recommended) */
134
144
  values: T;
135
145
  /** 내부 스토어 직접 접근 | Direct access to internal store */
@@ -198,5 +208,4 @@ export type Actions<T extends Record<string, any>> = Record<string, (context: Ac
198
208
  export type BoundActions<T extends Record<string, any>> = {
199
209
  [K in keyof Actions<T>]: Actions<T>[K] extends (context: ActionContext<T>, ...args: infer Args) => infer R ? (...args: Args) => R : never;
200
210
  };
201
- export {};
202
211
  //# sourceMappingURL=form.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../../src/types/form.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../../src/types/form.ts"],"names":[],"mappings":"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"}
@@ -27,13 +27,15 @@
27
27
  */
28
28
  import { ReactNode } from "react";
29
29
  import { FieldStore } from "../core/FieldStore";
30
- import { UseFormReturn, Actions, ActionContext } from "./form";
30
+ import { UseFormReturn, Actions, ActionContext, PersistConfig } from "./form";
31
31
  import { UseFormaStateReturn } from "../hooks/useFormaState";
32
32
  /**
33
33
  * 글로벌 Forma Provider Props | Global Forma provider props
34
34
  */
35
35
  export interface GlobalFormaProviderProps {
36
36
  children: ReactNode;
37
+ /** localStorage 키 prefix (앱별 구분용) | localStorage key prefix (for app separation) */
38
+ storagePrefix?: string;
37
39
  }
38
40
  /**
39
41
  * useGlobalForm 훅의 Props 타입 | useGlobalForm hook Props type
@@ -56,6 +58,8 @@ export interface UseGlobalFormProps<T extends Record<string, any>> {
56
58
  actions?: Actions<T> | Actions<T>[];
57
59
  /** 필드 변경 감시 | Watch field changes */
58
60
  watch?: WatchConfig<T>;
61
+ /** localStorage/sessionStorage 영속성 설정 | localStorage/sessionStorage persistence config */
62
+ persist?: PersistConfig;
59
63
  }
60
64
  /**
61
65
  * Watch Handler 타입 | Watch handler type
@@ -82,6 +86,8 @@ export interface UseGlobalFormaStateProps<T extends Record<string, any>> {
82
86
  actions?: Actions<T> | Actions<T>[];
83
87
  /** 필드 변경 감시 | Watch field changes */
84
88
  watch?: WatchConfig<T>;
89
+ /** localStorage/sessionStorage 영속성 설정 | localStorage/sessionStorage persistence config */
90
+ persist?: PersistConfig;
85
91
  }
86
92
  /**
87
93
  * useGlobalForm 훅의 반환 타입 | useGlobalForm hook return type
@@ -364,6 +370,8 @@ export interface GlobalFormHandlers<T extends Record<string, any>> {
364
370
  * 폼 스토어 관리와 모달 스택 관리 기능을 제공
365
371
  */
366
372
  export interface GlobalFormaContextType {
373
+ /** localStorage/sessionStorage 키 prefix | Storage key prefix */
374
+ storagePrefix?: string;
367
375
  getOrCreateStore: <T extends Record<string, any>>(formId: string) => FieldStore<T>;
368
376
  registerStore: <T extends Record<string, any>>(formId: string, store: FieldStore<T>) => void;
369
377
  unregisterStore: (formId: string) => boolean;
@@ -379,9 +387,9 @@ export interface GlobalFormaContextType {
379
387
  /** 글로벌 폼 핸들러 조회 | Get global form handlers */
380
388
  getHandlers: <T extends Record<string, any>>(formId: string) => GlobalFormHandlers<T> | undefined;
381
389
  /** 글로벌 actions 등록 | Register global actions */
382
- registerActions: <T extends Record<string, any>>(formId: string, actions: any) => void;
390
+ registerActions: (formId: string, actions: any) => void;
383
391
  /** 글로벌 actions 조회 | Get global actions */
384
- getActions: <T extends Record<string, any>>(formId: string) => any | undefined;
392
+ getActions: (formId: string) => any | undefined;
385
393
  /** 글로벌 actions 제거 | Remove global actions */
386
394
  unregisterActions: (formId: string) => void;
387
395
  /** 모달을 스택에 추가 | Add modal to stack */