@ehfuse/forma 1.5.0 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +118 -73
- package/dist/esm/hooks/useFormaState.d.ts +0 -2
- package/dist/esm/hooks/useFormaState.d.ts.map +1 -1
- package/dist/esm/hooks/useFormaState.js.map +1 -1
- package/dist/hooks/useFormaState.d.ts +0 -2
- package/dist/hooks/useFormaState.d.ts.map +1 -1
- package/dist/hooks/useFormaState.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,54 +1,64 @@
|
|
|
1
1
|
# Forma
|
|
2
2
|
|
|
3
3
|
**High-performance and developer-friendly React form state management library**
|
|
4
|
-
|
|
4
|
+
**고성능이며 개발자 친화적인 React 폼 상태 관리 라이브러리**
|
|
5
5
|
|
|
6
6
|
[](https://www.npmjs.com/package/@ehfuse/forma)
|
|
7
7
|
[](https://www.npmjs.com/package/@ehfuse/forma)
|
|
8
8
|
[](https://github.com/ehfuse/forma/blob/main/LICENSE)
|
|
9
9
|
|
|
10
|
+
Forma is a high-performance library that makes form and state management in React applications **simple yet powerful**. **Start immediately with Zero-Config**, and achieve optimal performance through **selective re-rendering** via individual field subscriptions. Easily access production-level advanced features like **global form state sharing**, **Dot Notation nested object access**, and **full MUI compatibility** without complex setup.
|
|
11
|
+
|
|
10
12
|
Forma는 React 애플리케이션에서 폼과 상태를 **간편하면서도 강력하게** 관리할 수 있는 고성능 라이브러리입니다. **Zero-Config로 바로 시작**할 수 있으며, 개별 필드 구독을 통한 **선택적 리렌더링**으로 최적의 성능을 제공합니다. 복잡한 설정 없이도 **글로벌 폼 상태 공유**, **Dot Notation 중첩 객체 접근**, **MUI 완전 호환** 등 프로덕션 레벨의 고급 기능들을 손쉽게 사용할 수 있습니다.
|
|
11
13
|
|
|
12
|
-
|
|
14
|
+
## Key Features
|
|
13
15
|
|
|
14
|
-
|
|
16
|
+
- 🎯 **Complete Zero-Config**: Start immediately without any configuration
|
|
17
|
+
- ✅ **Individual Field Subscription**: Optimized performance through selective re-rendering per field
|
|
18
|
+
- ✅ **General State Management**: Efficient management of non-form states with `useFormaState`
|
|
19
|
+
- ✅ **Dot Notation Optimization**: Access nested objects like `user.profile.name`
|
|
20
|
+
- ✅ **Full MUI Compatibility**: Perfect integration with Material-UI components
|
|
21
|
+
- ✅ **Global Form State**: Share form state across multiple components
|
|
22
|
+
- ✅ **Form Registration System**: Register existing forms as global
|
|
23
|
+
- ✅ **Full TypeScript Support**: Strong type safety
|
|
24
|
+
- ✅ **React 19 Optimized**: Utilizing latest React features
|
|
15
25
|
|
|
16
|
-
|
|
26
|
+
## 주요 특징
|
|
17
27
|
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
28
|
+
- 🎯 **완전한 Zero-Config**: 설정 없이 바로 사용 가능한 개발 경험
|
|
29
|
+
- ✅ **개별 필드 구독**: 필드별 선택적 리렌더링으로 최적화된 성능
|
|
30
|
+
- ✅ **범용 상태 관리**: `useFormaState`로 폼 외 일반 상태도 효율적 관리
|
|
31
|
+
- ✅ **Dot Notation 최적화**: `user.profile.name` 형태의 중첩 객체 접근
|
|
32
|
+
- ✅ **MUI 완전 호환**: Material-UI 컴포넌트와 완벽한 통합
|
|
33
|
+
- ✅ **글로벌 폼 상태**: 여러 컴포넌트 간 폼 상태 공유
|
|
34
|
+
- ✅ **폼 등록 시스템**: 기존 폼을 글로벌로 등록 가능
|
|
35
|
+
- ✅ **TypeScript 완전 지원**: 강력한 타입 안전성
|
|
36
|
+
- ✅ **React 19 최적화**: 최신 React 기능 활용
|
|
37
|
+
|
|
38
|
+
## Documentation | 문서
|
|
22
39
|
|
|
23
40
|
### English
|
|
24
41
|
|
|
25
42
|
- 🚀 **[Getting Started Guide](https://github.com/ehfuse/forma/blob/main/docs/getting-started-en.md)** - Step-by-step tutorial and examples
|
|
26
|
-
- 📖 **[Complete Documentation](https://github.com/ehfuse/forma/blob/main/docs/README-en.md)** - API reference, use cases, advanced features
|
|
27
43
|
- 📋 **[API Reference](https://github.com/ehfuse/forma/blob/main/docs/API-en.md)** - All methods, types, migration guide
|
|
28
44
|
- ⚡ **[Performance Optimization Guide](https://github.com/ehfuse/forma/blob/main/docs/best-practices-en.md)** - Best practices for optimal performance
|
|
29
45
|
|
|
30
|
-
###
|
|
46
|
+
### 한국어 (Korean)
|
|
31
47
|
|
|
32
|
-
-
|
|
33
|
-
-
|
|
48
|
+
- 🚀 **[시작 가이드](https://github.com/ehfuse/forma/blob/main/docs/getting-started-ko.md)** - 단계별 튜토리얼과 예제
|
|
49
|
+
- 📋 **[API 레퍼런스](https://github.com/ehfuse/forma/blob/main/docs/API-ko.md)** - 모든 메서드, 타입, 마이그레이션 가이드
|
|
50
|
+
- ⚡ **[성능 최적화 가이드](https://github.com/ehfuse/forma/blob/main/docs/best-practices-ko.md)** - 최고 성능을 위한 모범 사례
|
|
34
51
|
|
|
35
|
-
|
|
52
|
+
### Links | 링크
|
|
36
53
|
|
|
37
|
-
|
|
54
|
+
### 링크
|
|
38
55
|
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
- ✅ **범용 상태 관리** | **General State Management**: `useFormaState`로 폼 외 일반 상태도 효율적 관리
|
|
42
|
-
- ✅ **Dot Notation 최적화** | **Dot Notation Optimization**: `user.profile.name` 형태의 중첩 객체 접근
|
|
43
|
-
- ✅ **MUI 완전 호환** | **Full MUI Compatibility**: Material-UI 컴포넌트와 완벽한 통합
|
|
44
|
-
- ✅ **글로벌 폼 상태** | **Global Form State**: 여러 컴포넌트 간 폼 상태 공유
|
|
45
|
-
- ✅ **폼 등록 시스템** | **Form Registration System**: 기존 폼을 글로벌로 등록 가능
|
|
46
|
-
- ✅ **TypeScript 완전 지원** | **Full TypeScript Support**: 강력한 타입 안전성
|
|
47
|
-
- ✅ **React 19 최적화** | **React 19 Optimized**: 최신 React 기능 활용
|
|
56
|
+
- 🏠 **[GitHub Repository](https://github.com/ehfuse/forma)**
|
|
57
|
+
- 📦 **[NPM Package](https://www.npmjs.com/package/@ehfuse/forma)**
|
|
48
58
|
|
|
49
59
|
---
|
|
50
60
|
|
|
51
|
-
##
|
|
61
|
+
## Installation | 설치
|
|
52
62
|
|
|
53
63
|
```bash
|
|
54
64
|
npm install @ehfuse/forma
|
|
@@ -60,16 +70,18 @@ yarn add @ehfuse/forma
|
|
|
60
70
|
|
|
61
71
|
---
|
|
62
72
|
|
|
63
|
-
##
|
|
73
|
+
## Quick Start | 빠른 시작
|
|
64
74
|
|
|
65
|
-
###
|
|
75
|
+
### Zero-Config Usage | Zero-Config 사용법
|
|
66
76
|
|
|
67
|
-
|
|
77
|
+
**Start immediately without any configuration!**
|
|
78
|
+
**설정 없이 바로 시작하세요!**
|
|
68
79
|
|
|
69
80
|
```tsx
|
|
70
81
|
import { useForm, useFormaState } from "@ehfuse/forma";
|
|
71
82
|
|
|
72
83
|
function ZeroConfigForm() {
|
|
84
|
+
// Zero-Config: Start without any parameters
|
|
73
85
|
// Zero-Config: 매개변수 없이 바로 사용
|
|
74
86
|
const form = useForm<{ name: string; email: string }>();
|
|
75
87
|
|
|
@@ -93,6 +105,7 @@ function ZeroConfigForm() {
|
|
|
93
105
|
}
|
|
94
106
|
|
|
95
107
|
function ZeroConfigState() {
|
|
108
|
+
// Zero-Config: General state without configuration
|
|
96
109
|
// Zero-Config: 일반 상태도 설정 없이 사용
|
|
97
110
|
const state = useFormaState<{ count: number }>();
|
|
98
111
|
|
|
@@ -111,7 +124,7 @@ function ZeroConfigState() {
|
|
|
111
124
|
}
|
|
112
125
|
```
|
|
113
126
|
|
|
114
|
-
###
|
|
127
|
+
### Form State Management | 폼 상태 관리
|
|
115
128
|
|
|
116
129
|
```tsx
|
|
117
130
|
import { useForm } from "@ehfuse/forma";
|
|
@@ -119,8 +132,25 @@ import { useForm } from "@ehfuse/forma";
|
|
|
119
132
|
function MyForm() {
|
|
120
133
|
const form = useForm({
|
|
121
134
|
initialValues: { name: "", email: "" },
|
|
135
|
+
onValidate: async (values) => {
|
|
136
|
+
// Name validation
|
|
137
|
+
// 이름 검증
|
|
138
|
+
if (!values.name.trim()) {
|
|
139
|
+
alert("Please enter your name.");
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
// Email validation
|
|
144
|
+
// 이메일 검증
|
|
145
|
+
if (!values.email.includes("@")) {
|
|
146
|
+
alert("Please enter a valid email address.");
|
|
147
|
+
return false;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
return true; // Validation passed
|
|
151
|
+
},
|
|
122
152
|
onSubmit: async (values) => {
|
|
123
|
-
console.log("
|
|
153
|
+
console.log("Submit:", values);
|
|
124
154
|
},
|
|
125
155
|
});
|
|
126
156
|
|
|
@@ -136,13 +166,13 @@ function MyForm() {
|
|
|
136
166
|
value={form.useFormValue("email")}
|
|
137
167
|
onChange={form.handleFormChange}
|
|
138
168
|
/>
|
|
139
|
-
<button type="submit"
|
|
169
|
+
<button type="submit">Submit</button>
|
|
140
170
|
</form>
|
|
141
171
|
);
|
|
142
172
|
}
|
|
143
173
|
```
|
|
144
174
|
|
|
145
|
-
###
|
|
175
|
+
### General State Management | 일반 상태 관리
|
|
146
176
|
|
|
147
177
|
```tsx
|
|
148
178
|
import { useFormaState } from "@ehfuse/forma";
|
|
@@ -156,12 +186,15 @@ function UserDashboard() {
|
|
|
156
186
|
filter: "all",
|
|
157
187
|
});
|
|
158
188
|
|
|
189
|
+
// Individual field subscription - re-renders only when that field changes
|
|
159
190
|
// 개별 필드 구독 - 해당 필드가 변경될 때만 리렌더링
|
|
160
191
|
const filter = state.useValue("filter");
|
|
161
192
|
|
|
193
|
+
// ✅ Subscribe only to array length (re-renders only when items are added/removed)
|
|
162
194
|
// ✅ 배열 길이만 구독 (항목 추가/삭제 시에만 리렌더링)
|
|
163
195
|
const todosLength = state.useValue("todos.length");
|
|
164
196
|
|
|
197
|
+
// ✅ Subscribe to specific todo text (utilizing dot notation)
|
|
165
198
|
// ✅ 특정 할 일의 텍스트만 구독 (dot notation 활용)
|
|
166
199
|
const firstTodoText = state.useValue("todos.0.text");
|
|
167
200
|
|
|
@@ -175,12 +208,12 @@ function UserDashboard() {
|
|
|
175
208
|
|
|
176
209
|
return (
|
|
177
210
|
<div>
|
|
178
|
-
<p
|
|
179
|
-
<p
|
|
180
|
-
<p
|
|
181
|
-
<button onClick={addTodo}
|
|
211
|
+
<p>Filter: {filter}</p>
|
|
212
|
+
<p>First Todo: {firstTodoText}</p>
|
|
213
|
+
<p>Total Count: {todosLength}</p>
|
|
214
|
+
<button onClick={addTodo}>Add Todo</button>
|
|
182
215
|
<button onClick={() => state.setValue("filter", "completed")}>
|
|
183
|
-
|
|
216
|
+
Show Completed
|
|
184
217
|
</button>
|
|
185
218
|
</div>
|
|
186
219
|
);
|
|
@@ -189,96 +222,108 @@ function UserDashboard() {
|
|
|
189
222
|
|
|
190
223
|
---
|
|
191
224
|
|
|
192
|
-
##
|
|
193
|
-
|
|
194
|
-
**언제 Forma를 선택해야 할까요?**
|
|
225
|
+
## When to choose Forma?
|
|
195
226
|
|
|
196
227
|
Forma is **specialized for form state management** and shines in specific scenarios. Here's when Forma is the perfect choice for your project.
|
|
197
228
|
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
### ✨ Perfect for these use cases:
|
|
201
|
-
|
|
202
|
-
**이런 경우에 완벽합니다:**
|
|
229
|
+
### Perfect for these use cases:
|
|
203
230
|
|
|
204
231
|
**🎨 MUI (Material-UI) Projects**
|
|
205
|
-
**MUI (Material-UI) 프로젝트**
|
|
206
232
|
|
|
207
233
|
- Seamless integration with MUI components
|
|
208
|
-
MUI 컴포넌트와 완벽한 통합
|
|
209
234
|
- No additional wrapper components needed
|
|
210
|
-
추가 래퍼 컴포넌트 불필요
|
|
211
235
|
- Built-in support for MUI's controlled component patterns
|
|
212
|
-
MUI의 제어 컴포넌트 패턴 내장 지원
|
|
213
236
|
|
|
214
237
|
**⚡ Performance-Critical Forms**
|
|
215
|
-
**성능이 중요한 폼**
|
|
216
238
|
|
|
217
239
|
- Large forms with many fields (50+ inputs)
|
|
218
|
-
많은 필드가 있는 대규모 폼 (50개 이상 입력)
|
|
219
240
|
- Real-time data visualization forms
|
|
220
|
-
실시간 데이터 시각화 폼
|
|
221
241
|
- Forms that update frequently during user interaction
|
|
222
|
-
사용자 상호작용 중 자주 업데이트되는 폼
|
|
223
242
|
|
|
224
243
|
**🔄 Multi-Step & Global Forms**
|
|
225
|
-
**멀티 스텝 & 글로벌 폼**
|
|
226
244
|
|
|
227
245
|
- Wizard-style multi-step forms
|
|
228
|
-
마법사 스타일의 멀티 스텝 폼
|
|
229
246
|
- Forms shared across multiple components
|
|
230
|
-
여러 컴포넌트에서 공유되는 폼
|
|
231
247
|
- Registration flows with data persistence
|
|
232
|
-
데이터 지속성이 있는 등록 플로우
|
|
233
248
|
|
|
234
249
|
**🏗️ Complex Nested Data**
|
|
235
|
-
**복잡한 중첩 데이터**
|
|
236
250
|
|
|
237
251
|
- User profiles with nested address/contact info
|
|
238
|
-
중첩된 주소/연락처 정보가 있는 사용자 프로필
|
|
239
252
|
- Product configurations with multiple layers
|
|
240
|
-
다층 구조의 제품 구성
|
|
241
253
|
- Settings panels with grouped options
|
|
242
|
-
그룹화된 옵션이 있는 설정 패널
|
|
243
254
|
|
|
244
255
|
**📊 Dynamic Form Generation**
|
|
245
|
-
**동적 폼 생성**
|
|
246
256
|
|
|
247
257
|
- Forms generated from API schemas
|
|
248
|
-
API 스키마에서 생성되는 폼
|
|
249
258
|
- Conditional field rendering
|
|
250
|
-
조건부 필드 렌더링
|
|
251
259
|
- Dynamic validation rules
|
|
252
|
-
|
|
260
|
+
|
|
261
|
+
## 언제 Forma를 선택해야 할까요?
|
|
262
|
+
|
|
263
|
+
Forma는 **폼 상태 관리에 특화**된 라이브러리로 특정 시나리오에서 빛을 발합니다. 다음은 Forma가 프로젝트에 완벽한 선택이 되는 경우입니다.
|
|
264
|
+
|
|
265
|
+
### 이런 경우에 완벽합니다:
|
|
266
|
+
|
|
267
|
+
**🎨 MUI (Material-UI) 프로젝트**
|
|
268
|
+
|
|
269
|
+
- MUI 컴포넌트와 완벽한 통합
|
|
270
|
+
- 추가 래퍼 컴포넌트 불필요
|
|
271
|
+
- MUI의 제어 컴포넌트 패턴 내장 지원
|
|
272
|
+
|
|
273
|
+
**⚡ 성능이 중요한 폼**
|
|
274
|
+
|
|
275
|
+
- 많은 필드가 있는 대규모 폼 (50개 이상 입력)
|
|
276
|
+
- 실시간 데이터 시각화 폼
|
|
277
|
+
- 사용자 상호작용 중 자주 업데이트되는 폼
|
|
278
|
+
|
|
279
|
+
**🔄 멀티 스텝 & 글로벌 폼**
|
|
280
|
+
|
|
281
|
+
- 마법사 스타일의 멀티 스텝 폼
|
|
282
|
+
- 여러 컴포넌트에서 공유되는 폼
|
|
283
|
+
- 데이터 지속성이 있는 등록 플로우
|
|
284
|
+
|
|
285
|
+
**🏗️ 복잡한 중첩 데이터**
|
|
286
|
+
|
|
287
|
+
- 중첩된 주소/연락처 정보가 있는 사용자 프로필
|
|
288
|
+
- 다층 구조의 제품 구성
|
|
289
|
+
- 그룹화된 옵션이 있는 설정 패널
|
|
290
|
+
|
|
291
|
+
**📊 동적 폼 생성**
|
|
292
|
+
|
|
293
|
+
- API 스키마에서 생성되는 폼
|
|
294
|
+
- 조건부 필드 렌더링
|
|
295
|
+
- 동적 검증 규칙
|
|
253
296
|
|
|
254
297
|
---
|
|
255
298
|
|
|
256
|
-
##
|
|
299
|
+
## Core Performance Principles | 핵심 성능 원칙
|
|
257
300
|
|
|
258
301
|
```tsx
|
|
259
|
-
// ✅
|
|
302
|
+
// ✅ Efficient: Individual field subscription
|
|
303
|
+
// ✅ 효율적: 개별 필드 구독
|
|
260
304
|
const userName = form.useFormValue("user.name");
|
|
261
305
|
const userEmail = form.useFormValue("user.email");
|
|
262
306
|
|
|
263
|
-
// user.name
|
|
307
|
+
// When user.name changes → Only userName field re-renders
|
|
308
|
+
// user.name 변경 시 → userName 필드만 리렌더링
|
|
264
309
|
```
|
|
265
310
|
|
|
266
|
-
**[
|
|
311
|
+
**[View Detailed Performance Guide](https://github.com/ehfuse/forma/blob/main/docs/best-practices-en.md)**
|
|
267
312
|
|
|
268
313
|
---
|
|
269
314
|
|
|
270
|
-
##
|
|
315
|
+
## Links | 링크
|
|
271
316
|
|
|
272
317
|
- **📦 NPM**: [https://www.npmjs.com/package/@ehfuse/forma](https://www.npmjs.com/package/@ehfuse/forma)
|
|
273
318
|
- **🐙 GitHub**: [https://github.com/ehfuse/forma](https://github.com/ehfuse/forma)
|
|
274
|
-
- **📄
|
|
319
|
+
- **📄 License**: [MIT](https://github.com/ehfuse/forma/blob/main/LICENSE)
|
|
275
320
|
|
|
276
321
|
---
|
|
277
322
|
|
|
278
|
-
##
|
|
323
|
+
## Contact | 연락처
|
|
279
324
|
|
|
280
|
-
-
|
|
281
|
-
-
|
|
325
|
+
- **Developer**: 김영진 (KIM YOUNG JIN)
|
|
326
|
+
- **Email**: ehfuse@gmail.com
|
|
282
327
|
- **GitHub**: [@ehfuse](https://github.com/ehfuse)
|
|
283
328
|
|
|
284
329
|
---
|
|
@@ -24,8 +24,6 @@ export interface UseFormaStateOptions<T extends Record<string, any>> {
|
|
|
24
24
|
onError?: (error: Error) => void;
|
|
25
25
|
/** Enable validation on every change | 모든 변경에 대한 유효성 검사 활성화 */
|
|
26
26
|
validateOnChange?: boolean;
|
|
27
|
-
/** Debounce delay for state updates in milliseconds | 상태 업데이트를 위한 디바운스 지연 시간 (밀리초) */
|
|
28
|
-
debounceMs?: number;
|
|
29
27
|
}
|
|
30
28
|
/**
|
|
31
29
|
* Return type for useFormaState hook
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFormaState.d.ts","sourceRoot":"","sources":["../../../hooks/useFormaState.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAWH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD;;;GAGG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC/D,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;IAE/B,qFAAqF;IACrF,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,mFAAmF;IACnF,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAE/B,4DAA4D;IAC5D,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEjC,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useFormaState.d.ts","sourceRoot":"","sources":["../../../hooks/useFormaState.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAWH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD;;;GAGG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC/D,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;IAE/B,qFAAqF;IACrF,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,mFAAmF;IACnF,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAE/B,4DAA4D;IAC5D,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEjC,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC9D,gFAAgF;IAChF,QAAQ,EAAE,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,GAAG,CAAC;IAE7C,+EAA+E;IAC/E,QAAQ,EAAE,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAE1D,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC,CAAC;IAEnB,6CAA6C;IAC7C,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAExC,0CAA0C;IAC1C,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,+EAA+E;IAC/E,gBAAgB,EAAE,CAAC,gBAAgB,EAAE,CAAC,KAAK,IAAI,CAAC;IAEhD,4DAA4D;IAC5D,YAAY,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAE/C,4CAA4C;IAC5C,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAEpC,6CAA6C;IAC7C,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAEpC,sEAAsE;IACtE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC;IAEhC,oDAAoD;IACpD,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;IAEzD,0FAA0F;IAC1F,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAExC,sFAAsF;IACtF,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;CACzB;AAgCD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,GAAG,GAAG,EACxC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,EACtB,IAAI,EAAE,MAAM,GACb,CAAC,CAEH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,wBAAgB,aAAa,CACzB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACrD,aAAa,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAGhF,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACvD,aAAa,EAAE,CAAC,EAChB,OAAO,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAClC,mBAAmB,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFormaState.js","sourceRoot":"","sources":["../../../hooks/useFormaState.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACH,MAAM,EACN,WAAW,EAEX,QAAQ,EACR,SAAS,EAET,UAAU,GACb,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAkC,OAAO,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"useFormaState.js","sourceRoot":"","sources":["../../../hooks/useFormaState.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,8 +24,6 @@ export interface UseFormaStateOptions<T extends Record<string, any>> {
|
|
|
24
24
|
onError?: (error: Error) => void;
|
|
25
25
|
/** Enable validation on every change | 모든 변경에 대한 유효성 검사 활성화 */
|
|
26
26
|
validateOnChange?: boolean;
|
|
27
|
-
/** Debounce delay for state updates in milliseconds | 상태 업데이트를 위한 디바운스 지연 시간 (밀리초) */
|
|
28
|
-
debounceMs?: number;
|
|
29
27
|
}
|
|
30
28
|
/**
|
|
31
29
|
* Return type for useFormaState hook
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFormaState.d.ts","sourceRoot":"","sources":["../../hooks/useFormaState.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAWH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD;;;GAGG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC/D,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;IAE/B,qFAAqF;IACrF,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,mFAAmF;IACnF,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAE/B,4DAA4D;IAC5D,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEjC,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useFormaState.d.ts","sourceRoot":"","sources":["../../hooks/useFormaState.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAWH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD;;;GAGG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC/D,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;IAE/B,qFAAqF;IACrF,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,mFAAmF;IACnF,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAE/B,4DAA4D;IAC5D,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEjC,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC9D,gFAAgF;IAChF,QAAQ,EAAE,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,GAAG,CAAC;IAE7C,+EAA+E;IAC/E,QAAQ,EAAE,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAE1D,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC,CAAC;IAEnB,6CAA6C;IAC7C,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAExC,0CAA0C;IAC1C,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,+EAA+E;IAC/E,gBAAgB,EAAE,CAAC,gBAAgB,EAAE,CAAC,KAAK,IAAI,CAAC;IAEhD,4DAA4D;IAC5D,YAAY,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAE/C,4CAA4C;IAC5C,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAEpC,6CAA6C;IAC7C,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAEpC,sEAAsE;IACtE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC;IAEhC,oDAAoD;IACpD,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;IAEzD,0FAA0F;IAC1F,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAExC,sFAAsF;IACtF,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;CACzB;AAgCD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,GAAG,GAAG,EACxC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,EACtB,IAAI,EAAE,MAAM,GACb,CAAC,CAEH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,wBAAgB,aAAa,CACzB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACrD,aAAa,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAGhF,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACvD,aAAa,EAAE,CAAC,EAChB,OAAO,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAClC,mBAAmB,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFormaState.js","sourceRoot":"","sources":["../../hooks/useFormaState.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;
|
|
1
|
+
{"version":3,"file":"useFormaState.js","sourceRoot":"","sources":["../../hooks/useFormaState.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ehfuse/forma",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.1",
|
|
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",
|