@ehfuse/forma 2.0.9 → 2.1.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 (62) hide show
  1. package/README.md +333 -185
  2. package/dist/contexts/GlobalFormaContext.js +16 -8
  3. package/dist/contexts/GlobalFormaContext.js.map +1 -1
  4. package/dist/core/FieldStore.d.ts +41 -0
  5. package/dist/core/FieldStore.d.ts.map +1 -1
  6. package/dist/core/FieldStore.js +121 -7
  7. package/dist/core/FieldStore.js.map +1 -1
  8. package/dist/esm/contexts/GlobalFormaContext.js +16 -8
  9. package/dist/esm/contexts/GlobalFormaContext.js.map +1 -1
  10. package/dist/esm/core/FieldStore.d.ts +41 -0
  11. package/dist/esm/core/FieldStore.d.ts.map +1 -1
  12. package/dist/esm/core/FieldStore.js +121 -7
  13. package/dist/esm/core/FieldStore.js.map +1 -1
  14. package/dist/esm/hooks/useForm.js +6 -3
  15. package/dist/esm/hooks/useForm.js.map +1 -1
  16. package/dist/esm/hooks/useFormaState.d.ts +3 -1
  17. package/dist/esm/hooks/useFormaState.d.ts.map +1 -1
  18. package/dist/esm/hooks/useFormaState.js +31 -3
  19. package/dist/esm/hooks/useFormaState.js.map +1 -1
  20. package/dist/esm/hooks/useGlobalForm.d.ts +8 -12
  21. package/dist/esm/hooks/useGlobalForm.d.ts.map +1 -1
  22. package/dist/esm/hooks/useGlobalForm.js +36 -2
  23. package/dist/esm/hooks/useGlobalForm.js.map +1 -1
  24. package/dist/esm/hooks/useGlobalFormaState.d.ts +8 -72
  25. package/dist/esm/hooks/useGlobalFormaState.d.ts.map +1 -1
  26. package/dist/esm/hooks/useGlobalFormaState.js +8 -2
  27. package/dist/esm/hooks/useGlobalFormaState.js.map +1 -1
  28. package/dist/esm/index.d.ts +1 -1
  29. package/dist/esm/index.d.ts.map +1 -1
  30. package/dist/esm/index.js +2 -44
  31. package/dist/esm/index.js.map +1 -1
  32. package/dist/esm/types/form.d.ts +18 -0
  33. package/dist/esm/types/form.d.ts.map +1 -1
  34. package/dist/esm/types/globalForm.d.ts +23 -2
  35. package/dist/esm/types/globalForm.d.ts.map +1 -1
  36. package/dist/esm/types/globalForm.js.map +1 -1
  37. package/dist/hooks/useForm.js +6 -3
  38. package/dist/hooks/useForm.js.map +1 -1
  39. package/dist/hooks/useFormaState.d.ts +3 -1
  40. package/dist/hooks/useFormaState.d.ts.map +1 -1
  41. package/dist/hooks/useFormaState.js +31 -3
  42. package/dist/hooks/useFormaState.js.map +1 -1
  43. package/dist/hooks/useGlobalForm.d.ts +8 -12
  44. package/dist/hooks/useGlobalForm.d.ts.map +1 -1
  45. package/dist/hooks/useGlobalForm.js +36 -2
  46. package/dist/hooks/useGlobalForm.js.map +1 -1
  47. package/dist/hooks/useGlobalFormaState.d.ts +8 -72
  48. package/dist/hooks/useGlobalFormaState.d.ts.map +1 -1
  49. package/dist/hooks/useGlobalFormaState.js +8 -2
  50. package/dist/hooks/useGlobalFormaState.js.map +1 -1
  51. package/dist/index.d.ts +1 -1
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +2 -67
  54. package/dist/index.js.map +1 -1
  55. package/dist/types/form.d.ts +18 -0
  56. package/dist/types/form.d.ts.map +1 -1
  57. package/dist/types/globalForm.d.ts +23 -2
  58. package/dist/types/globalForm.d.ts.map +1 -1
  59. package/dist/types/globalForm.js.map +1 -1
  60. package/package.json +4 -10
  61. package/dist/esm/index.min.js +0 -28
  62. package/dist/index.min.js +0 -28
@@ -44,10 +44,15 @@ const utils_1 = require("../utils");
44
44
  * Focuses only on data sharing; initial values and submission/validation logic handled by individual components
45
45
  *
46
46
  * @template T 폼 데이터의 타입 / Form data type
47
- * @param props 글로벌 폼 설정 옵션 / Global form configuration options
47
+ * @param propsOrFormId 글로벌 폼 설정 옵션 또는 formId 문자열 / Global form configuration options or formId string
48
48
  * @returns 글로벌 폼 관리 API 객체 / Global form management API object
49
49
  */
50
- function useGlobalForm({ formId, initialValues, autoCleanup = true, onSubmit, onValidate, onComplete, actions, }) {
50
+ function useGlobalForm(propsOrFormId) {
51
+ // 문자열로 전달된 경우 props 객체로 변환
52
+ const props = typeof propsOrFormId === "string"
53
+ ? { formId: propsOrFormId }
54
+ : propsOrFormId;
55
+ const { formId, initialValues, autoCleanup = true, onSubmit, onValidate, onComplete, actions, watch, } = props;
51
56
  const context = (0, react_1.useContext)(GlobalFormaContext_1.GlobalFormaContext);
52
57
  // Context가 제대로 설정되지 않았을 때 명확한 에러 표시
53
58
  // Show clear error when Context is not properly configured
@@ -135,6 +140,35 @@ Details: GlobalFormaContext must be used within GlobalFormaProvider (formId: ${f
135
140
  }
136
141
  return undefined;
137
142
  }, [formId, autoCleanup, incrementRef, decrementRef]);
143
+ // Watch 등록 / Register watchers
144
+ (0, react_1.useEffect)(() => {
145
+ if (!watch)
146
+ return;
147
+ const unsubscribers = [];
148
+ Object.entries(watch).forEach(([path, handler]) => {
149
+ const actionContext = {
150
+ getValue: (p) => store.getValue(p),
151
+ setValue: (p, value) => store.setValue(p, value),
152
+ getValues: () => store.getValues(),
153
+ setValues: (values) => store.setValues(values),
154
+ reset: () => store.reset(),
155
+ submit: form.submit,
156
+ values: store.getValues(),
157
+ actions: globalActions || {},
158
+ };
159
+ const unsubscribe = store.watch(path, (value, prevValue) => {
160
+ // context 업데이트 (최신 값) / Update context with latest values
161
+ actionContext.values = store.getValues();
162
+ actionContext.actions = getActions(formId) || {};
163
+ handler(actionContext, value, prevValue);
164
+ });
165
+ unsubscribers.push(unsubscribe);
166
+ });
167
+ // cleanup
168
+ return () => {
169
+ unsubscribers.forEach((unsub) => unsub());
170
+ };
171
+ }, [formId, watch, store, globalActions, getActions, form.submit]);
138
172
  return {
139
173
  ...form,
140
174
  formId, // 글로벌 폼 ID 추가 제공 / Provide additional global form ID
@@ -1 +1 @@
1
- {"version":3,"file":"useGlobalForm.js","sourceRoot":"","sources":["../../hooks/useGlobalForm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useGlobalForm.js","sourceRoot":"","sources":["../../hooks/useGlobalForm.ts"],"names":[],"mappings":"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"}
@@ -29,77 +29,13 @@
29
29
  */
30
30
  import { UseGlobalFormaStateProps, UseGlobalFormaStateReturn } from "../types/globalForm";
31
31
  /**
32
- * 글로벌 FormaState 관리 훅 / Global FormaState management hook
33
- *
34
- * 여러 컴포넌트 간 개별 필드 구독 기반 상태를 공유하기 위한 훅입니다
35
- * Hook for sharing state across multiple components with individual field subscriptions
36
- *
37
- * 데이터 공유에만 집중하며, 컴포넌트에서 필요한 필드만 구독하여 최적화된 렌더링을 제공합니다
38
- * Focuses only on data sharing and provides optimized rendering by subscribing only to necessary fields in each component
39
- *
40
- * @template T FormaState 데이터의 타입 / FormaState data type
41
- * @param props 글로벌 FormaState 설정 옵션 / Global FormaState configuration options
42
- * @returns 글로벌 FormaState 관리 API 객체 / Global FormaState management API object
43
- *
44
- * @example
45
- * ```typescript
46
- * // 글로벌 상태 정의
47
- * interface AppState {
48
- * user: { name: string; email: string };
49
- * settings: { theme: 'light' | 'dark'; notifications: boolean };
50
- * cart: { items: any[]; total: number };
51
- * }
52
- *
53
- * // 컴포넌트 A - 사용자 정보만 구독
54
- * function UserProfile() {
55
- * const state = useGlobalFormaState<AppState>({ stateId: 'app-state' });
56
- * const userName = state.useValue('user.name'); // name 변경시만 리렌더
57
- * const userEmail = state.useValue('user.email'); // email 변경시만 리렌더
58
- *
59
- * return (
60
- * <div>
61
- * <h1>{userName}</h1>
62
- * <p>{userEmail}</p>
63
- * <button onClick={() => state.setValue('user.name', 'New Name')}>
64
- * Update Name
65
- * </button>
66
- * </div>
67
- * );
68
- * }
69
- *
70
- * // 컴포넌트 B - 설정만 구독
71
- * function Settings() {
72
- * const state = useGlobalFormaState<AppState>({ stateId: 'app-state' });
73
- * const theme = state.useValue('settings.theme'); // theme 변경시만 리렌더
74
- * const notifications = state.useValue('settings.notifications'); // notifications 변경시만 리렌더
75
- *
76
- * return (
77
- * <div>
78
- * <select
79
- * value={theme}
80
- * onChange={(e) => state.setValue('settings.theme', e.target.value)}
81
- * >
82
- * <option value="light">Light</option>
83
- * <option value="dark">Dark</option>
84
- * </select>
85
- * </div>
86
- * );
87
- * }
88
- *
89
- * // 컴포넌트 C - 장바구니만 구독
90
- * function Cart() {
91
- * const state = useGlobalFormaState<AppState>({ stateId: 'app-state' });
92
- * const cartItems = state.useValue('cart.items'); // cart.items 변경시만 리렌더
93
- * const cartTotal = state.useValue('cart.total'); // cart.total 변경시만 리렌더
94
- *
95
- * return (
96
- * <div>
97
- * <h2>Cart ({cartItems.length} items)</h2>
98
- * <p>Total: ${cartTotal}</p>
99
- * </div>
100
- * );
101
- * }
102
- * ```
32
+ * 글로벌 FormaState 관리 훅 (오버로드 1: 전체 옵션)
33
+ * Global FormaState management hook (Overload 1: Full options)
34
+ */
35
+ export declare function useGlobalFormaState<T extends Record<string, any>>(props: UseGlobalFormaStateProps<T>): UseGlobalFormaStateReturn<T>;
36
+ /**
37
+ * 글로벌 FormaState 관리 (오버로드 2: stateId만)
38
+ * Global FormaState management hook (Overload 2: stateId only)
103
39
  */
104
- export declare function useGlobalFormaState<T extends Record<string, any>>({ stateId, initialValues, autoCleanup, actions, }: UseGlobalFormaStateProps<T>): UseGlobalFormaStateReturn<T>;
40
+ export declare function useGlobalFormaState<T extends Record<string, any>>(stateId: string): UseGlobalFormaStateReturn<T>;
105
41
  //# sourceMappingURL=useGlobalFormaState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGlobalFormaState.d.ts","sourceRoot":"","sources":["../../hooks/useGlobalFormaState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAIH,OAAO,EACH,wBAAwB,EACxB,yBAAyB,EAC5B,MAAM,qBAAqB,CAAC;AAI7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwEG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAC/D,OAAO,EACP,aAAa,EACb,WAAkB,EAClB,OAAO,GACV,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAyG5D"}
1
+ {"version":3,"file":"useGlobalFormaState.d.ts","sourceRoot":"","sources":["../../hooks/useGlobalFormaState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAIH,OAAO,EACH,wBAAwB,EACxB,yBAAyB,EAE5B,MAAM,qBAAqB,CAAC;AAI7B;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7D,KAAK,EAAE,wBAAwB,CAAC,CAAC,CAAC,GACnC,yBAAyB,CAAC,CAAC,CAAC,CAAC;AAEhC;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7D,OAAO,EAAE,MAAM,GAChB,yBAAyB,CAAC,CAAC,CAAC,CAAC"}
@@ -44,7 +44,7 @@ const utils_1 = require("../utils");
44
44
  * Focuses only on data sharing and provides optimized rendering by subscribing only to necessary fields in each component
45
45
  *
46
46
  * @template T FormaState 데이터의 타입 / FormaState data type
47
- * @param props 글로벌 FormaState 설정 옵션 / Global FormaState configuration options
47
+ * @param propsOrStateId 글로벌 FormaState 설정 옵션 또는 stateId 문자열 / Global FormaState configuration options or stateId string
48
48
  * @returns 글로벌 FormaState 관리 API 객체 / Global FormaState management API object
49
49
  *
50
50
  * @example
@@ -107,7 +107,12 @@ const utils_1 = require("../utils");
107
107
  * }
108
108
  * ```
109
109
  */
110
- function useGlobalFormaState({ stateId, initialValues, autoCleanup = true, actions, }) {
110
+ function useGlobalFormaState(propsOrStateId) {
111
+ // 문자열로 전달된 경우 props 객체로 변환
112
+ const props = typeof propsOrStateId === "string"
113
+ ? { stateId: propsOrStateId }
114
+ : propsOrStateId;
115
+ const { stateId, initialValues, autoCleanup = true, actions, watch, } = props;
111
116
  const context = (0, react_1.useContext)(GlobalFormaContext_1.GlobalFormaContext);
112
117
  // 참조 등록 상태를 추적하는 ref 추가 + 컴포넌트 고유 ID
113
118
  const isRegisteredRef = (0, react_1.useRef)(false);
@@ -161,6 +166,7 @@ Details: GlobalFormaContext must be used within GlobalFormaProvider (stateId: ${
161
166
  const formaState = (0, useFormaState_1.useFormaState)(initialValues || {}, {
162
167
  _externalStore: store,
163
168
  actions: effectiveActions,
169
+ watch, // watch 옵션 전달
164
170
  });
165
171
  // 초기값이 있고 스토어가 비어있다면 초기값 설정 (올바른 방법으로)
166
172
  // Set initial values if provided and store is empty (using proper method)
@@ -1 +1 @@
1
- {"version":3,"file":"useGlobalFormaState.js","sourceRoot":"","sources":["../../hooks/useGlobalFormaState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useGlobalFormaState.js","sourceRoot":"","sources":["../../hooks/useGlobalFormaState.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -42,7 +42,7 @@ export { getNestedValue, setNestedValue } from "./utils/dotNotation";
42
42
  export { isDevelopment, devWarn, devError, devLog } from "./utils/environment";
43
43
  export type { UseFormProps, UseFormReturn, FormValidationResult, FormChangeEvent, ActionContext, Actions, } from "./types/form";
44
44
  export type { UseFormaStateOptions, UseFormaStateReturn, } from "./hooks/useFormaState";
45
- export type { UseGlobalFormProps, UseGlobalFormReturn, UseGlobalFormaStateProps, UseGlobalFormaStateReturn, UseRegisterGlobalFormProps, UseRegisterGlobalFormReturn, UseRegisterGlobalFormaStateProps, UseRegisterGlobalFormaStateReturn, UseUnregisterGlobalFormReturn, UseUnregisterGlobalFormaStateReturn, GlobalFormaProviderProps, GlobalFormaContextType, GlobalFormStoreMap, GlobalFormMetadata, GlobalFormEvent, GlobalFormEventListener, GlobalFormConfig, GlobalFormMiddleware, ExtendedGlobalFormaProviderProps, } from "./types/globalForm";
45
+ export type { UseGlobalFormProps, UseGlobalFormReturn, UseGlobalFormaStateProps, UseGlobalFormaStateSimpleProps, UseGlobalFormaStateReturn, UseRegisterGlobalFormProps, UseRegisterGlobalFormReturn, UseRegisterGlobalFormaStateProps, UseRegisterGlobalFormaStateReturn, UseUnregisterGlobalFormReturn, UseUnregisterGlobalFormaStateReturn, GlobalFormaProviderProps, GlobalFormaContextType, GlobalFormStoreMap, GlobalFormMetadata, GlobalFormEvent, GlobalFormEventListener, GlobalFormConfig, GlobalFormMiddleware, ExtendedGlobalFormaProviderProps, } from "./types/globalForm";
46
46
  export type { BreakpointState, UseBreakpointReturn } from "./types/breakpoint";
47
47
  /**
48
48
  * Forma library version
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,EACH,kBAAkB,EAClB,mBAAmB,GACtB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAI/E,YAAY,EACR,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,OAAO,GACV,MAAM,cAAc,CAAC;AAGtB,YAAY,EACR,oBAAoB,EACpB,mBAAmB,GACtB,MAAM,uBAAuB,CAAC;AAG/B,YAAY,EACR,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,EAC3B,gCAAgC,EAChC,iCAAiC,EACjC,6BAA6B,EAC7B,mCAAmC,EACnC,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,gBAAgB,EAChB,oBAAoB,EACpB,gCAAgC,GACnC,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,aAAa,UAAU,CAAC;AAErC;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;CAejB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,EACH,kBAAkB,EAClB,mBAAmB,GACtB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAI/E,YAAY,EACR,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,OAAO,GACV,MAAM,cAAc,CAAC;AAGtB,YAAY,EACR,oBAAoB,EACpB,mBAAmB,GACtB,MAAM,uBAAuB,CAAC;AAG/B,YAAY,EACR,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,8BAA8B,EAC9B,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,EAC3B,gCAAgC,EAChC,iCAAiC,EACjC,6BAA6B,EAC7B,mCAAmC,EACnC,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,gBAAgB,EAChB,oBAAoB,EACpB,gCAAgC,GACnC,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,aAAa,UAAU,CAAC;AAErC;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;CAejB,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,4 @@
1
- "use strict";
2
- /**
1
+ "use strict";/**
3
2
  * index.ts
4
3
  *
5
4
  * Forma - Advanced React form state management library
@@ -26,68 +25,4 @@
26
25
  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
27
26
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
28
27
  * SOFTWARE.
29
- */
30
- Object.defineProperty(exports, "__esModule", { value: true });
31
- exports.FORMA_METADATA = exports.FORMA_VERSION = exports.devLog = exports.devError = exports.devWarn = exports.isDevelopment = exports.setNestedValue = exports.getNestedValue = exports.FieldStore = exports.GlobalFormaProvider = exports.GlobalFormaContext = exports.useBreakpoint = exports.useModal = exports.useUnregisterGlobalFormaState = exports.useRegisterGlobalFormaState = exports.useGlobalFormaState = exports.useFieldSubscription = exports.useFormaState = exports.useUnregisterGlobalForm = exports.useRegisterGlobalForm = exports.useGlobalForm = exports.useForm = void 0;
32
- // ===== Core Hooks =====
33
- var useForm_1 = require("./hooks/useForm");
34
- Object.defineProperty(exports, "useForm", { enumerable: true, get: function () { return useForm_1.useForm; } });
35
- var useGlobalForm_1 = require("./hooks/useGlobalForm");
36
- Object.defineProperty(exports, "useGlobalForm", { enumerable: true, get: function () { return useGlobalForm_1.useGlobalForm; } });
37
- var useRegisterGlobalForm_1 = require("./hooks/useRegisterGlobalForm");
38
- Object.defineProperty(exports, "useRegisterGlobalForm", { enumerable: true, get: function () { return useRegisterGlobalForm_1.useRegisterGlobalForm; } });
39
- var useUnregisterGlobalForm_1 = require("./hooks/useUnregisterGlobalForm");
40
- Object.defineProperty(exports, "useUnregisterGlobalForm", { enumerable: true, get: function () { return useUnregisterGlobalForm_1.useUnregisterGlobalForm; } });
41
- var useFormaState_1 = require("./hooks/useFormaState");
42
- Object.defineProperty(exports, "useFormaState", { enumerable: true, get: function () { return useFormaState_1.useFormaState; } });
43
- Object.defineProperty(exports, "useFieldSubscription", { enumerable: true, get: function () { return useFormaState_1.useFieldSubscription; } });
44
- var useGlobalFormaState_1 = require("./hooks/useGlobalFormaState");
45
- Object.defineProperty(exports, "useGlobalFormaState", { enumerable: true, get: function () { return useGlobalFormaState_1.useGlobalFormaState; } });
46
- var useRegisterGlobalFormaState_1 = require("./hooks/useRegisterGlobalFormaState");
47
- Object.defineProperty(exports, "useRegisterGlobalFormaState", { enumerable: true, get: function () { return useRegisterGlobalFormaState_1.useRegisterGlobalFormaState; } });
48
- var useUnregisterGlobalFormaState_1 = require("./hooks/useUnregisterGlobalFormaState");
49
- Object.defineProperty(exports, "useUnregisterGlobalFormaState", { enumerable: true, get: function () { return useUnregisterGlobalFormaState_1.useUnregisterGlobalFormaState; } });
50
- var useModal_1 = require("./hooks/useModal");
51
- Object.defineProperty(exports, "useModal", { enumerable: true, get: function () { return useModal_1.useModal; } });
52
- var useBreakpoint_1 = require("./hooks/useBreakpoint");
53
- Object.defineProperty(exports, "useBreakpoint", { enumerable: true, get: function () { return useBreakpoint_1.useBreakpoint; } });
54
- // ===== Context & Providers =====
55
- var GlobalFormaContext_1 = require("./contexts/GlobalFormaContext");
56
- Object.defineProperty(exports, "GlobalFormaContext", { enumerable: true, get: function () { return GlobalFormaContext_1.GlobalFormaContext; } });
57
- Object.defineProperty(exports, "GlobalFormaProvider", { enumerable: true, get: function () { return GlobalFormaContext_1.GlobalFormaProvider; } });
58
- // ===== Core Classes =====
59
- var FieldStore_1 = require("./core/FieldStore");
60
- Object.defineProperty(exports, "FieldStore", { enumerable: true, get: function () { return FieldStore_1.FieldStore; } });
61
- // ===== Utility Functions =====
62
- var dotNotation_1 = require("./utils/dotNotation");
63
- Object.defineProperty(exports, "getNestedValue", { enumerable: true, get: function () { return dotNotation_1.getNestedValue; } });
64
- Object.defineProperty(exports, "setNestedValue", { enumerable: true, get: function () { return dotNotation_1.setNestedValue; } });
65
- var environment_1 = require("./utils/environment");
66
- Object.defineProperty(exports, "isDevelopment", { enumerable: true, get: function () { return environment_1.isDevelopment; } });
67
- Object.defineProperty(exports, "devWarn", { enumerable: true, get: function () { return environment_1.devWarn; } });
68
- Object.defineProperty(exports, "devError", { enumerable: true, get: function () { return environment_1.devError; } });
69
- Object.defineProperty(exports, "devLog", { enumerable: true, get: function () { return environment_1.devLog; } });
70
- /**
71
- * Forma library version
72
- */
73
- exports.FORMA_VERSION = "1.0.0";
74
- /**
75
- * Forma library metadata
76
- */
77
- exports.FORMA_METADATA = {
78
- name: "Forma",
79
- version: exports.FORMA_VERSION,
80
- description: "Advanced React form state management library",
81
- author: "KIM YOUNG JIN (Kim Young Jin)",
82
- email: "ehfuse@gmail.com",
83
- license: "MIT",
84
- features: [
85
- "Optimized re-rendering with individual field subscriptions",
86
- "Nested object handling with dot notation support",
87
- "Full compatibility with MUI components",
88
- "Global form state management",
89
- "Complete TypeScript support",
90
- "Leveraging latest React 19 features",
91
- ],
92
- };
93
- //# sourceMappingURL=index.js.map
28
+ */Object.defineProperty(exports,"__esModule",{value:!0}),exports.FORMA_METADATA=exports.FORMA_VERSION=exports.devLog=exports.devError=exports.devWarn=exports.isDevelopment=exports.setNestedValue=exports.getNestedValue=exports.FieldStore=exports.GlobalFormaProvider=exports.GlobalFormaContext=exports.useBreakpoint=exports.useModal=exports.useUnregisterGlobalFormaState=exports.useRegisterGlobalFormaState=exports.useGlobalFormaState=exports.useFieldSubscription=exports.useFormaState=exports.useUnregisterGlobalForm=exports.useRegisterGlobalForm=exports.useGlobalForm=exports.useForm=void 0;var useForm_1=require("./hooks/useForm");Object.defineProperty(exports,"useForm",{enumerable:!0,get:function(){return useForm_1.useForm}});var useGlobalForm_1=require("./hooks/useGlobalForm");Object.defineProperty(exports,"useGlobalForm",{enumerable:!0,get:function(){return useGlobalForm_1.useGlobalForm}});var useRegisterGlobalForm_1=require("./hooks/useRegisterGlobalForm");Object.defineProperty(exports,"useRegisterGlobalForm",{enumerable:!0,get:function(){return useRegisterGlobalForm_1.useRegisterGlobalForm}});var useUnregisterGlobalForm_1=require("./hooks/useUnregisterGlobalForm");Object.defineProperty(exports,"useUnregisterGlobalForm",{enumerable:!0,get:function(){return useUnregisterGlobalForm_1.useUnregisterGlobalForm}});var useFormaState_1=require("./hooks/useFormaState");Object.defineProperty(exports,"useFormaState",{enumerable:!0,get:function(){return useFormaState_1.useFormaState}}),Object.defineProperty(exports,"useFieldSubscription",{enumerable:!0,get:function(){return useFormaState_1.useFieldSubscription}});var useGlobalFormaState_1=require("./hooks/useGlobalFormaState");Object.defineProperty(exports,"useGlobalFormaState",{enumerable:!0,get:function(){return useGlobalFormaState_1.useGlobalFormaState}});var useRegisterGlobalFormaState_1=require("./hooks/useRegisterGlobalFormaState");Object.defineProperty(exports,"useRegisterGlobalFormaState",{enumerable:!0,get:function(){return useRegisterGlobalFormaState_1.useRegisterGlobalFormaState}});var useUnregisterGlobalFormaState_1=require("./hooks/useUnregisterGlobalFormaState");Object.defineProperty(exports,"useUnregisterGlobalFormaState",{enumerable:!0,get:function(){return useUnregisterGlobalFormaState_1.useUnregisterGlobalFormaState}});var useModal_1=require("./hooks/useModal");Object.defineProperty(exports,"useModal",{enumerable:!0,get:function(){return useModal_1.useModal}});var useBreakpoint_1=require("./hooks/useBreakpoint");Object.defineProperty(exports,"useBreakpoint",{enumerable:!0,get:function(){return useBreakpoint_1.useBreakpoint}});var GlobalFormaContext_1=require("./contexts/GlobalFormaContext");Object.defineProperty(exports,"GlobalFormaContext",{enumerable:!0,get:function(){return GlobalFormaContext_1.GlobalFormaContext}}),Object.defineProperty(exports,"GlobalFormaProvider",{enumerable:!0,get:function(){return GlobalFormaContext_1.GlobalFormaProvider}});var FieldStore_1=require("./core/FieldStore");Object.defineProperty(exports,"FieldStore",{enumerable:!0,get:function(){return FieldStore_1.FieldStore}});var dotNotation_1=require("./utils/dotNotation");Object.defineProperty(exports,"getNestedValue",{enumerable:!0,get:function(){return dotNotation_1.getNestedValue}}),Object.defineProperty(exports,"setNestedValue",{enumerable:!0,get:function(){return dotNotation_1.setNestedValue}});var environment_1=require("./utils/environment");Object.defineProperty(exports,"isDevelopment",{enumerable:!0,get:function(){return environment_1.isDevelopment}}),Object.defineProperty(exports,"devWarn",{enumerable:!0,get:function(){return environment_1.devWarn}}),Object.defineProperty(exports,"devError",{enumerable:!0,get:function(){return environment_1.devError}}),Object.defineProperty(exports,"devLog",{enumerable:!0,get:function(){return environment_1.devLog}}),exports.FORMA_VERSION="1.0.0",exports.FORMA_METADATA={name:"Forma",version:exports.FORMA_VERSION,description:"Advanced React form state management library",author:"KIM YOUNG JIN (Kim Young Jin)",email:"ehfuse@gmail.com",license:"MIT",features:["Optimized re-rendering with individual field subscriptions","Nested object handling with dot notation support","Full compatibility with MUI components","Global form state management","Complete TypeScript support","Leveraging latest React 19 features"]};
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;;;AAEH,yBAAyB;AACzB,2CAA0C;AAAjC,kGAAA,OAAO,OAAA;AAChB,uDAAsD;AAA7C,8GAAA,aAAa,OAAA;AACtB,uEAAsE;AAA7D,8HAAA,qBAAqB,OAAA;AAC9B,2EAA0E;AAAjE,kIAAA,uBAAuB,OAAA;AAChC,uDAA4E;AAAnE,8GAAA,aAAa,OAAA;AAAE,qHAAA,oBAAoB,OAAA;AAC5C,mEAAkE;AAAzD,0HAAA,mBAAmB,OAAA;AAC5B,mFAAkF;AAAzE,0IAAA,2BAA2B,OAAA;AACpC,uFAAsF;AAA7E,8IAAA,6BAA6B,OAAA;AACtC,6CAA4C;AAAnC,oGAAA,QAAQ,OAAA;AACjB,uDAAsD;AAA7C,8GAAA,aAAa,OAAA;AAEtB,kCAAkC;AAClC,oEAGuC;AAFnC,wHAAA,kBAAkB,OAAA;AAClB,yHAAA,mBAAmB,OAAA;AAGvB,2BAA2B;AAC3B,gDAA+C;AAAtC,wGAAA,UAAU,OAAA;AAEnB,gCAAgC;AAChC,mDAAqE;AAA5D,6GAAA,cAAc,OAAA;AAAE,6GAAA,cAAc,OAAA;AACvC,mDAA+E;AAAtE,4GAAA,aAAa,OAAA;AAAE,sGAAA,OAAO,OAAA;AAAE,uGAAA,QAAQ,OAAA;AAAE,qGAAA,MAAM,OAAA;AA6CjD;;GAEG;AACU,QAAA,aAAa,GAAG,OAAO,CAAC;AAErC;;GAEG;AACU,QAAA,cAAc,GAAG;IAC1B,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,qBAAa;IACtB,WAAW,EAAE,8CAA8C;IAC3D,MAAM,EAAE,+BAA+B;IACvC,KAAK,EAAE,kBAAkB;IACzB,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE;QACN,4DAA4D;QAC5D,kDAAkD;QAClD,wCAAwC;QACxC,8BAA8B;QAC9B,6BAA6B;QAC7B,qCAAqC;KACxC;CACK,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;;;AAEH,yBAAyB;AACzB,2CAA0C;AAAjC,kGAAA,OAAO,OAAA;AAChB,uDAAsD;AAA7C,8GAAA,aAAa,OAAA;AACtB,uEAAsE;AAA7D,8HAAA,qBAAqB,OAAA;AAC9B,2EAA0E;AAAjE,kIAAA,uBAAuB,OAAA;AAChC,uDAA4E;AAAnE,8GAAA,aAAa,OAAA;AAAE,qHAAA,oBAAoB,OAAA;AAC5C,mEAAkE;AAAzD,0HAAA,mBAAmB,OAAA;AAC5B,mFAAkF;AAAzE,0IAAA,2BAA2B,OAAA;AACpC,uFAAsF;AAA7E,8IAAA,6BAA6B,OAAA;AACtC,6CAA4C;AAAnC,oGAAA,QAAQ,OAAA;AACjB,uDAAsD;AAA7C,8GAAA,aAAa,OAAA;AAEtB,kCAAkC;AAClC,oEAGuC;AAFnC,wHAAA,kBAAkB,OAAA;AAClB,yHAAA,mBAAmB,OAAA;AAGvB,2BAA2B;AAC3B,gDAA+C;AAAtC,wGAAA,UAAU,OAAA;AAEnB,gCAAgC;AAChC,mDAAqE;AAA5D,6GAAA,cAAc,OAAA;AAAE,6GAAA,cAAc,OAAA;AACvC,mDAA+E;AAAtE,4GAAA,aAAa,OAAA;AAAE,sGAAA,OAAO,OAAA;AAAE,uGAAA,QAAQ,OAAA;AAAE,qGAAA,MAAM,OAAA;AA8CjD;;GAEG;AACU,QAAA,aAAa,GAAG,OAAO,CAAC;AAErC;;GAEG;AACU,QAAA,cAAc,GAAG;IAC1B,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,qBAAa;IACtB,WAAW,EAAE,8CAA8C;IAC3D,MAAM,EAAE,+BAA+B;IACvC,KAAK,EAAE,kBAAkB;IACzB,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE;QACN,4DAA4D;QAC5D,kDAAkD;QAClD,wCAAwC;QACxC,8BAA8B;QAC9B,6BAA6B;QAC7B,qCAAqC;KACxC;CACK,CAAC"}
@@ -63,6 +63,8 @@ export interface UseFormProps<T extends Record<string, any>> {
63
63
  onComplete?: (values: T) => void;
64
64
  /** 사용자 정의 액션 함수들 (객체 또는 배열로 전달 가능) | User-defined action functions (can be object or array) */
65
65
  actions?: Actions<T> | Actions<T>[];
66
+ /** Watch 콜백 - 특정 경로 변경 감지 (와일드카드 지원) | Watch callbacks - Detect specific path changes (wildcard supported) */
67
+ watch?: WatchOptions<T>;
66
68
  /** 내부 API - 전역 상태용 외부 스토어 | Internal API - external store for global state */
67
69
  _externalStore?: FieldStore<T>;
68
70
  }
@@ -80,6 +82,8 @@ export interface UseFormPropsOptional<T extends Record<string, any> = Record<str
80
82
  onComplete?: (values: T) => void;
81
83
  /** 사용자 정의 액션 함수들 (객체 또는 배열로 전달 가능) | User-defined action functions (can be object or array) */
82
84
  actions?: Actions<T> | Actions<T>[];
85
+ /** Watch 콜백 - 특정 경로 변경 감지 (와일드카드 지원) | Watch callbacks - Detect specific path changes (wildcard supported) */
86
+ watch?: WatchOptions<T>;
83
87
  /** 내부 API - 전역 상태용 외부 스토어 | Internal API - external store for global state */
84
88
  _externalStore?: FieldStore<T>;
85
89
  }
@@ -137,6 +141,20 @@ export interface FormValidationResult {
137
141
  /** 전체 에러 메시지 | Overall error message */
138
142
  message?: string;
139
143
  }
144
+ /**
145
+ * Watch Callback - 특정 경로의 값이 변경될 때 호출되는 콜백
146
+ * Watch callback - Called when a value at a specific path changes
147
+ */
148
+ export type WatchCallback<T extends Record<string, any>> = (context: ActionContext<T>, value: any, prevValue: any) => void | Promise<void>;
149
+ /**
150
+ * Watch Options - 경로별 watch 콜백 설정
151
+ * Watch options - Watch callbacks by path
152
+ *
153
+ * Supports wildcard patterns:
154
+ * - "todos.*.completed" matches todos.0.completed, todos.1.completed, etc.
155
+ * - "*" matches all paths
156
+ */
157
+ export type WatchOptions<T extends Record<string, any>> = Record<string, WatchCallback<T>>;
140
158
  /**
141
159
  * Action Context - actions 함수에 전달되는 컨텍스트 객체
142
160
  * Context object passed to action functions
@@ -1 +1 @@
1
- {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../types/form.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../types/form.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,KAAK,iBAAiB,CAAC,CAAC,GAAG,MAAM,IAAI;IACjC,MAAM,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,CAAC,CAAA;KAAE,CAAC;CACvC,CAAC;AACF,KAAK,0BAA0B,CAAC,CAAC,IAAI,GAAG,CAAC;AAEzC;;;GAGG;AACH,MAAM,MAAM,eAAe,GACrB,KAAK,CAAC,WAAW,CACb,gBAAgB,GAAG,mBAAmB,GAAG,iBAAiB,CAC7D,GACD,iBAAiB,GACjB,iBAAiB,CAAC,MAAM,GAAG,MAAM,CAAC,GAClC;IACI,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC;IACrC,QAAQ,CAAC,EAAE,CACP,KAAK,EAAE,GAAG,EACV,OAAO,EAAE,0BAA0B,CAAC,GAAG,CAAC,KACvC,IAAI,CAAC;CACb,CAAC;AAER;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAClC,SAAS,EAAE,MAAM,KAChB,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,0BAA0B,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACvD,mCAAmC;IACnC,aAAa,EAAE,CAAC,CAAC;IACjB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC;IACnE,yCAAyC;IACzC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IACvD,+DAA+D;IAC/D,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;IACjC,+FAA+F;IAC/F,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,8GAA8G;IAC9G,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACxB,8EAA8E;IAC9E,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB,CACjC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAEnD,qDAAqD;IACrD,aAAa,CAAC,EAAE,CAAC,CAAC;IAClB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC;IACnE,yCAAyC;IACzC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IACvD,+DAA+D;IAC/D,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;IACjC,+FAA+F;IAC/F,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,8GAA8G;IAC9G,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACxB,8EAA8E;IAC9E,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACxD,mEAAmE;IACnE,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,KAAK,GAAG,CAAC;IACnD,sEAAsE;IACtE,gBAAgB,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IACnD,oDAAoD;IACpD,sBAAsB,EAAE,uBAAuB,CAAC;IAChD,wCAAwC;IACxC,aAAa,EAAE,MAAM,CAAC,CAAC;IACvB,8CAA8C;IAC9C,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,KAAK,GAAG,CAAC;IACnD,4CAA4C;IAC5C,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAChE,sCAAsC;IACtC,aAAa,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC5C,qCAAqC;IACrC,oBAAoB,EAAE,CAAC,gBAAgB,EAAE,CAAC,KAAK,IAAI,CAAC;IACpD,wBAAwB;IACxB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,yBAAyB;IACzB,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,2BAA2B;IAC3B,YAAY,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,8BAA8B;IAC9B,UAAU,EAAE,OAAO,CAAC;IACpB,kCAAkC;IAClC,YAAY,EAAE,OAAO,CAAC;IACtB,kCAAkC;IAClC,YAAY,EAAE,OAAO,CAAC;IACtB,wFAAwF;IACxF,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACzB,kFAAkF;IAClF,MAAM,EAAE,CAAC,CAAC;IACV,qDAAqD;IACrD,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GACf,MAAM,GACN,YAAY,GACZ,YAAY,GACZ,OAAO,GACP,SAAS,CAAC;AAEhB;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CACvD,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EACzB,KAAK,EAAE,GAAG,EACV,SAAS,EAAE,GAAG,KACb,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1B;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,CAC5D,MAAM,EACN,aAAa,CAAC,CAAC,CAAC,CACnB,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACxD,oDAAoD;IACpD,MAAM,EAAE,CAAC,CAAC;IACV,8CAA8C;IAC9C,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,KAAK,GAAG,CAAC;IAC/C,4CAA4C;IAC5C,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC5D,wDAAwD;IACxD,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACxC,iCAAiC;IACjC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,2FAA2F;IAC3F,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,CACvD,MAAM,EACN,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CACrD,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI;KACrD,CAAC,IAAI,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAC3C,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EACzB,GAAG,IAAI,EAAE,MAAM,IAAI,KAClB,MAAM,CAAC,GACN,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,GACpB,KAAK;CACd,CAAC"}
@@ -27,7 +27,7 @@
27
27
  */
28
28
  import { ReactNode } from "react";
29
29
  import { FieldStore } from "../core/FieldStore";
30
- import { UseFormReturn, Actions } from "./form";
30
+ import { UseFormReturn, Actions, ActionContext } from "./form";
31
31
  import { UseFormaStateReturn } from "../hooks/useFormaState";
32
32
  /**
33
33
  * 글로벌 Forma Provider Props | Global Forma provider props
@@ -54,9 +54,21 @@ export interface UseGlobalFormProps<T extends Record<string, any>> {
54
54
  onComplete?: (values: T) => void;
55
55
  /** 커스텀 액션 (computed getter 및 handler) - 객체 또는 배열로 전달 가능 | Custom actions (computed getters and handlers) - can be object or array */
56
56
  actions?: Actions<T> | Actions<T>[];
57
+ /** 필드 변경 감시 | Watch field changes */
58
+ watch?: WatchConfig<T>;
57
59
  }
58
60
  /**
59
- * useGlobalFormaState 훅의 Props 타입 | useGlobalFormaState hook Props type
61
+ * Watch Handler 타입 | Watch handler type
62
+ */
63
+ export type WatchHandler<T extends Record<string, any>> = (context: ActionContext<T>, value: any, prevValue: any | undefined) => void | Promise<void>;
64
+ /**
65
+ * Watch Config 타입 | Watch config type
66
+ */
67
+ export type WatchConfig<T extends Record<string, any>> = {
68
+ [path: string]: WatchHandler<T>;
69
+ };
70
+ /**
71
+ * useGlobalFormaState 훅의 Props 타입 (전체 옵션) | useGlobalFormaState hook Props type (full options)
60
72
  * 글로벌 FormaState는 개별 필드 구독 기반 전역 상태 관리에 집중 | Global FormaState focuses on global state management with individual field subscriptions
61
73
  */
62
74
  export interface UseGlobalFormaStateProps<T extends Record<string, any>> {
@@ -68,6 +80,15 @@ export interface UseGlobalFormaStateProps<T extends Record<string, any>> {
68
80
  autoCleanup?: boolean;
69
81
  /** 커스텀 액션 (computed getter 및 handler) - 객체 또는 배열로 전달 가능 | Custom actions (computed getters and handlers) - can be object or array */
70
82
  actions?: Actions<T> | Actions<T>[];
83
+ /** 필드 변경 감시 | Watch field changes */
84
+ watch?: WatchConfig<T>;
85
+ }
86
+ /**
87
+ * useGlobalFormaState 훅의 Props 타입 (간단 버전 - stateId만) | useGlobalFormaState hook Props type (simple version - stateId only)
88
+ */
89
+ export interface UseGlobalFormaStateSimpleProps {
90
+ /** 전역에서 상태를 식별하는 고유 ID | Unique ID to identify state globally */
91
+ stateId: string;
71
92
  }
72
93
  /**
73
94
  * useGlobalForm 훅의 반환 타입 | useGlobalForm hook return type
@@ -1 +1 @@
1
- {"version":3,"file":"globalForm.d.ts","sourceRoot":"","sources":["../../types/globalForm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"globalForm.d.ts","sourceRoot":"","sources":["../../types/globalForm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,QAAQ,EAAE,SAAS,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC7D,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3B,+DAA+D;IAC/D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC;IACnE,+FAA+F;IAC/F,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IACvD,+DAA+D;IAC/D,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;IACjC,qIAAqI;IACrI,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,qCAAqC;IACrC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CACtD,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EACzB,KAAK,EAAE,GAAG,EACV,SAAS,EAAE,GAAG,GAAG,SAAS,KACzB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1B;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI;IACrD,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;CACnC,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,wBAAwB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACnE,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3B,+DAA+D;IAC/D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qIAAqI;IACrI,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,qCAAqC;IACrC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC3C,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAC9D,SAAQ,aAAa,CAAC,CAAC,CAAC;IACxB,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACpE,SAAQ,mBAAmB,CAAC,CAAC,CAAC;IAC9B,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,0FAA0F;IAC1F,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACrE,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;CAE3C;AAED;;GAEG;AACH,MAAM,WAAW,gCAAgC,CAC7C,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAE7B,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,iCAAiC;CAEjD;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC1C,4CAA4C;IAC5C,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5C,gCAAgC;IAChC,UAAU,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,mCAAmC;IAChD,8CAA8C;IAC9C,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9C,kCAAkC;IAClC,WAAW,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AAE9D;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAC/B,WAAW;IACX,EAAE,EAAE,MAAM,CAAC;IACX,aAAa;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,gBAAgB;IAChB,YAAY,EAAE,IAAI,CAAC;IACnB,2BAA2B;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB;IAClB,WAAW,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAC9B,SAAS,GACT,UAAU,GACV,UAAU,GACV,WAAW,CAAC;AAElB;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,CACrC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,wBAAwB,EAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,KACrC,IAAI,CAAC;AAEV;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,6BAA6B;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+BAA+B;IAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mBAAmB;IACnB,gBAAgB,CAAC,EAAE,0BAA0B,CAAC;CACjD;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,gBAAgB;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB;IACpB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sBAAsB;IACtB,mBAAmB,CAAC,EAAE,IAAI,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,cAAc;IACd,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,wBAAwB;IACxB,YAAY,EAAE,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,YAAY,EAAE,IAAI,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,WAAW;IACX,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,gBAAgB;IAChB,cAAc,EAAE,IAAI,CAAC;IACrB,cAAc;IACd,WAAW,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IAG3B,MAAM,CAAC,EAAE,MAAM;IACf,SAAS,CAAC,EAAE,MAAM;gBAFzB,OAAO,EAAE,MAAM,EACR,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,SAAS,CAAC,EAAE,MAAM,YAAA;CAKhC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,cAAc,GAAG,YAAY,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;IAC5E,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACpC,SAAS,EAAE,IAAI,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,qBAAqB;IACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAChD,YAAY;IACZ,KAAK,EAAE,eAAe,CAAC;IACvB,aAAa;IACb,cAAc,EAAE,iBAAiB,EAAE,CAAC;IACpC,oBAAoB;IACpB,eAAe,EAAE;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;KACpB,CAAC;CACL;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAC/B,gBAAgB;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,eAAe;IACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC7C,gBAAgB;IAChB,MAAM,EAAE,QAAQ,GAAG,cAAc,GAAG,cAAc,GAAG,MAAM,CAAC;CAC/D;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAC/B,oBAAoB;IACpB,cAAc,IAAI,MAAM,EAAE,CAAC;IAC3B,qBAAqB;IACrB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAAC;IAC1D,aAAa;IACb,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC;IACnC,uBAAuB;IACvB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC;IACjD,cAAc;IACd,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACrC,cAAc;IACd,eAAe,IAAI,MAAM,CAAC;IAC1B,eAAe;IACf,QAAQ,IAAI,eAAe,CAAC;IAC5B,gBAAgB;IAChB,YAAY,IAAI,mBAAmB,CAAC;IACpC,gBAAgB;IAChB,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAAC;CACvD;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC1B,IAAI,EAAE,wBAAwB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;IAChB,IAAI,CAAC,EAAE,GAAG,CAAC;CACd,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;AAEvE;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,IAAI,CAAC;IAC5D,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACnE,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,gCACb,SAAQ,wBAAwB;IAChC,cAAc;IACd,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,cAAc;IACd,UAAU,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACpC,mBAAmB;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC7D,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC;IACnE,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IACvD,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IAEnC,gBAAgB,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5C,MAAM,EAAE,MAAM,KACb,UAAU,CAAC,CAAC,CAAC,CAAC;IACnB,aAAa,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KACnB,IAAI,CAAC;IACV,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7C,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,0DAA0D;IAC1D,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7D,wIAAwI;IACxI,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7D,+FAA+F;IAC/F,kCAAkC,EAAE,CAChC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,OAAO,KACnB,IAAI,CAAC;IAGV,mDAAmD;IACnD,gBAAgB,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC,KAC9B,IAAI,CAAC;IACV,8CAA8C;IAC9C,WAAW,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACvC,MAAM,EAAE,MAAM,KACb,kBAAkB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAGvC,+CAA+C;IAC/C,eAAe,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,GAAG,KACX,IAAI,CAAC;IACV,0CAA0C;IAC1C,UAAU,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACtC,MAAM,EAAE,MAAM,KACb,GAAG,GAAG,SAAS,CAAC;IACrB,6CAA6C;IAC7C,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAG5C,sCAAsC;IACtC,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,4CAA4C;IAC5C,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,mCAAmC;IACnC,cAAc,EAAE,MAAM,OAAO,CAAC;CACjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"globalForm.js","sourceRoot":"","sources":["../../types/globalForm.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;;;AAiPH;;GAEG;AACH,MAAa,eAAgB,SAAQ,KAAK;IACtC,YACI,OAAe,EACR,MAAe,EACf,SAAkB;QAEzB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,WAAM,GAAN,MAAM,CAAS;QACf,cAAS,GAAT,SAAS,CAAS;QAGzB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAClC,CAAC;CACJ;AATD,0CASC"}
1
+ {"version":3,"file":"globalForm.js","sourceRoot":"","sources":["../../types/globalForm.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;;;AA6QH;;GAEG;AACH,MAAa,eAAgB,SAAQ,KAAK;IACtC,YACI,OAAe,EACR,MAAe,EACf,SAAkB;QAEzB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,WAAM,GAAN,MAAM,CAAS;QACf,cAAS,GAAT,SAAS,CAAS;QAGzB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAClC,CAAC;CACJ;AATD,0CASC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ehfuse/forma",
3
- "version": "2.0.9",
3
+ "version": "2.1.0",
4
4
  "description": "Advanced React state management library with individual field subscriptions - supports both forms and general state management with useFormaState",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -10,11 +10,6 @@
10
10
  "types": "./dist/index.d.ts",
11
11
  "import": "./dist/esm/index.js",
12
12
  "require": "./dist/index.js"
13
- },
14
- "./min": {
15
- "types": "./dist/index.d.ts",
16
- "import": "./dist/esm/index.min.js",
17
- "require": "./dist/index.min.js"
18
13
  }
19
14
  },
20
15
  "files": [
@@ -24,12 +19,11 @@
24
19
  ],
25
20
  "scripts": {
26
21
  "build": "npm run clean && npm run build:cjs && npm run build:esm && npm run build:types",
27
- "build:cjs": "tsc -p tsconfig.build.json",
28
- "build:esm": "tsc -p tsconfig.build.json --module esnext --outDir dist/esm",
22
+ "build:cjs": "tsc -p tsconfig.build.json && esbuild dist/index.js --minify --outfile=dist/index.js --allow-overwrite",
23
+ "build:esm": "tsc -p tsconfig.build.json --module esnext --outDir dist/esm && esbuild dist/esm/index.js --minify --outfile=dist/esm/index.js --allow-overwrite",
29
24
  "build:types": "tsc -p tsconfig.build.json --declaration --emitDeclarationOnly --outDir dist",
30
- "build:min": "esbuild dist/index.js --minify --outfile=dist/index.min.js && esbuild dist/esm/index.js --minify --outfile=dist/esm/index.min.js",
31
25
  "clean": "rm -rf dist",
32
- "prepublishOnly": "npm run build && npm run build:min",
26
+ "prepublishOnly": "npm run build",
33
27
  "test": "echo \"Tests will be added\" && exit 0",
34
28
  "lint": "eslint . --ext .ts,.tsx",
35
29
  "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json,md}\"",
@@ -1,28 +0,0 @@
1
- "use strict";/**
2
- * index.ts
3
- *
4
- * Forma - Advanced React form state management library
5
- * Main entry point and API exports
6
- *
7
- * @license MIT License
8
- * @copyright 2025 KIM YOUNG JIN (Kim Young Jin)
9
- * @author KIM YOUNG JIN (ehfuse@gmail.com)
10
- *
11
- * Permission is hereby granted, free of charge, to any person obtaining a copy
12
- * of this software and associated documentation files (the "Software"), to deal
13
- * in the Software without restriction, including without limitation the rights
14
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15
- * copies of the Software, and to permit persons to whom the Software is
16
- * furnished to do so, subject to the following conditions:
17
- *
18
- * The above copyright notice and this permission notice shall be included in all
19
- * copies or substantial portions of the Software.
20
- *
21
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27
- * SOFTWARE.
28
- */export{useForm}from"./hooks/useForm";export{useGlobalForm}from"./hooks/useGlobalForm";export{useRegisterGlobalForm}from"./hooks/useRegisterGlobalForm";export{useUnregisterGlobalForm}from"./hooks/useUnregisterGlobalForm";export{useFormaState,useFieldSubscription}from"./hooks/useFormaState";export{useGlobalFormaState}from"./hooks/useGlobalFormaState";export{useRegisterGlobalFormaState}from"./hooks/useRegisterGlobalFormaState";export{useUnregisterGlobalFormaState}from"./hooks/useUnregisterGlobalFormaState";export{useModal}from"./hooks/useModal";export{useBreakpoint}from"./hooks/useBreakpoint";export{GlobalFormaContext,GlobalFormaProvider}from"./contexts/GlobalFormaContext";export{FieldStore}from"./core/FieldStore";export{getNestedValue,setNestedValue}from"./utils/dotNotation";export{isDevelopment,devWarn,devError,devLog}from"./utils/environment";export const FORMA_VERSION="1.0.0",FORMA_METADATA={name:"Forma",version:FORMA_VERSION,description:"Advanced React form state management library",author:"KIM YOUNG JIN (Kim Young Jin)",email:"ehfuse@gmail.com",license:"MIT",features:["Optimized re-rendering with individual field subscriptions","Nested object handling with dot notation support","Full compatibility with MUI components","Global form state management","Complete TypeScript support","Leveraging latest React 19 features"]};
package/dist/index.min.js DELETED
@@ -1,28 +0,0 @@
1
- "use strict";/**
2
- * index.ts
3
- *
4
- * Forma - Advanced React form state management library
5
- * Main entry point and API exports
6
- *
7
- * @license MIT License
8
- * @copyright 2025 KIM YOUNG JIN (Kim Young Jin)
9
- * @author KIM YOUNG JIN (ehfuse@gmail.com)
10
- *
11
- * Permission is hereby granted, free of charge, to any person obtaining a copy
12
- * of this software and associated documentation files (the "Software"), to deal
13
- * in the Software without restriction, including without limitation the rights
14
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15
- * copies of the Software, and to permit persons to whom the Software is
16
- * furnished to do so, subject to the following conditions:
17
- *
18
- * The above copyright notice and this permission notice shall be included in all
19
- * copies or substantial portions of the Software.
20
- *
21
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27
- * SOFTWARE.
28
- */Object.defineProperty(exports,"__esModule",{value:!0}),exports.FORMA_METADATA=exports.FORMA_VERSION=exports.devLog=exports.devError=exports.devWarn=exports.isDevelopment=exports.setNestedValue=exports.getNestedValue=exports.FieldStore=exports.GlobalFormaProvider=exports.GlobalFormaContext=exports.useBreakpoint=exports.useModal=exports.useUnregisterGlobalFormaState=exports.useRegisterGlobalFormaState=exports.useGlobalFormaState=exports.useFieldSubscription=exports.useFormaState=exports.useUnregisterGlobalForm=exports.useRegisterGlobalForm=exports.useGlobalForm=exports.useForm=void 0;var useForm_1=require("./hooks/useForm");Object.defineProperty(exports,"useForm",{enumerable:!0,get:function(){return useForm_1.useForm}});var useGlobalForm_1=require("./hooks/useGlobalForm");Object.defineProperty(exports,"useGlobalForm",{enumerable:!0,get:function(){return useGlobalForm_1.useGlobalForm}});var useRegisterGlobalForm_1=require("./hooks/useRegisterGlobalForm");Object.defineProperty(exports,"useRegisterGlobalForm",{enumerable:!0,get:function(){return useRegisterGlobalForm_1.useRegisterGlobalForm}});var useUnregisterGlobalForm_1=require("./hooks/useUnregisterGlobalForm");Object.defineProperty(exports,"useUnregisterGlobalForm",{enumerable:!0,get:function(){return useUnregisterGlobalForm_1.useUnregisterGlobalForm}});var useFormaState_1=require("./hooks/useFormaState");Object.defineProperty(exports,"useFormaState",{enumerable:!0,get:function(){return useFormaState_1.useFormaState}}),Object.defineProperty(exports,"useFieldSubscription",{enumerable:!0,get:function(){return useFormaState_1.useFieldSubscription}});var useGlobalFormaState_1=require("./hooks/useGlobalFormaState");Object.defineProperty(exports,"useGlobalFormaState",{enumerable:!0,get:function(){return useGlobalFormaState_1.useGlobalFormaState}});var useRegisterGlobalFormaState_1=require("./hooks/useRegisterGlobalFormaState");Object.defineProperty(exports,"useRegisterGlobalFormaState",{enumerable:!0,get:function(){return useRegisterGlobalFormaState_1.useRegisterGlobalFormaState}});var useUnregisterGlobalFormaState_1=require("./hooks/useUnregisterGlobalFormaState");Object.defineProperty(exports,"useUnregisterGlobalFormaState",{enumerable:!0,get:function(){return useUnregisterGlobalFormaState_1.useUnregisterGlobalFormaState}});var useModal_1=require("./hooks/useModal");Object.defineProperty(exports,"useModal",{enumerable:!0,get:function(){return useModal_1.useModal}});var useBreakpoint_1=require("./hooks/useBreakpoint");Object.defineProperty(exports,"useBreakpoint",{enumerable:!0,get:function(){return useBreakpoint_1.useBreakpoint}});var GlobalFormaContext_1=require("./contexts/GlobalFormaContext");Object.defineProperty(exports,"GlobalFormaContext",{enumerable:!0,get:function(){return GlobalFormaContext_1.GlobalFormaContext}}),Object.defineProperty(exports,"GlobalFormaProvider",{enumerable:!0,get:function(){return GlobalFormaContext_1.GlobalFormaProvider}});var FieldStore_1=require("./core/FieldStore");Object.defineProperty(exports,"FieldStore",{enumerable:!0,get:function(){return FieldStore_1.FieldStore}});var dotNotation_1=require("./utils/dotNotation");Object.defineProperty(exports,"getNestedValue",{enumerable:!0,get:function(){return dotNotation_1.getNestedValue}}),Object.defineProperty(exports,"setNestedValue",{enumerable:!0,get:function(){return dotNotation_1.setNestedValue}});var environment_1=require("./utils/environment");Object.defineProperty(exports,"isDevelopment",{enumerable:!0,get:function(){return environment_1.isDevelopment}}),Object.defineProperty(exports,"devWarn",{enumerable:!0,get:function(){return environment_1.devWarn}}),Object.defineProperty(exports,"devError",{enumerable:!0,get:function(){return environment_1.devError}}),Object.defineProperty(exports,"devLog",{enumerable:!0,get:function(){return environment_1.devLog}}),exports.FORMA_VERSION="1.0.0",exports.FORMA_METADATA={name:"Forma",version:exports.FORMA_VERSION,description:"Advanced React form state management library",author:"KIM YOUNG JIN (Kim Young Jin)",email:"ehfuse@gmail.com",license:"MIT",features:["Optimized re-rendering with individual field subscriptions","Nested object handling with dot notation support","Full compatibility with MUI components","Global form state management","Complete TypeScript support","Leveraging latest React 19 features"]};