@solapi/ui-kit 1.0.2 → 1.0.4
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 +48 -2
- package/dist/{GlobalMfa-B5iDrclc.js → GlobalMfa-CpdX96gd.js} +624 -624
- package/dist/GlobalMfa-da5YXeg9.cjs +1 -0
- package/dist/createMutationConfig-CwzGbAzV.js +402 -0
- package/dist/createMutationConfig-fwPFxVVI.cjs +1 -0
- package/dist/createMutationConfig.cjs +1 -1
- package/dist/createMutationConfig.js +9 -207
- package/dist/export/UIProvider.d.ts +1 -0
- package/dist/export/index.d.ts +1 -1
- package/dist/federation/FederationErrorBoundary.d.ts +48 -0
- package/dist/federation/hookLoader.d.ts +6 -3
- package/dist/federation/index.d.ts +1 -0
- package/dist/federation.cjs +2 -1
- package/dist/federation.js +162 -77
- package/dist/{index-B2Ik6wwn.js → index-BRkOTEs0.js} +3618 -3795
- package/dist/index-C7JWA6MN.cjs +5 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +31 -28
- package/dist/ui-kit.css +1 -1
- package/package.json +1 -1
- package/dist/GlobalMfa-B5pCOBH8.cjs +0 -1
- package/dist/index-ByFG8WvP.cjs +0 -5
package/README.md
CHANGED
|
@@ -9,6 +9,16 @@ Solapi 공용 UI 컴포넌트 라이브러리.
|
|
|
9
9
|
npm install @solapi/ui-kit
|
|
10
10
|
```
|
|
11
11
|
|
|
12
|
+
### CSS 스타일 import
|
|
13
|
+
|
|
14
|
+
npm 패키지 사용 시 CSS를 별도로 import해야 합니다. (Module Federation은 CSS가 자동 포함되므로 불필요)
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
import '@solapi/ui-kit/styles'
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
> **주의**: CSS를 import하지 않으면 Modal, Snackbar, Confirm 등 UI 컴포넌트가 렌더링되지만 화면에 보이지 않습니다.
|
|
21
|
+
|
|
12
22
|
## Module Federation Exposes
|
|
13
23
|
|
|
14
24
|
| 모듈 | 경로 | 설명 |
|
|
@@ -39,6 +49,8 @@ const UI_KIT_PROVIDER = async () => {
|
|
|
39
49
|
try {
|
|
40
50
|
return await import('@solapi-frontend/ui-kit/provider')
|
|
41
51
|
} catch {
|
|
52
|
+
// npm fallback 시 CSS 로드 (Federation은 CSS 자동 포함)
|
|
53
|
+
await import('@solapi/ui-kit/styles')
|
|
42
54
|
return await import('@solapi/ui-kit')
|
|
43
55
|
}
|
|
44
56
|
}
|
|
@@ -126,7 +138,8 @@ const loadModule = async () => {
|
|
|
126
138
|
try {
|
|
127
139
|
return await import('@solapi-frontend/ui-kit/createMutationConfig')
|
|
128
140
|
} catch {
|
|
129
|
-
|
|
141
|
+
// 메인 entry에서 import하여 GlobalUIProvider와 동일한 store 인스턴스 공유
|
|
142
|
+
return await import('@solapi/ui-kit')
|
|
130
143
|
}
|
|
131
144
|
}
|
|
132
145
|
|
|
@@ -141,7 +154,40 @@ export const loadConfigureMfa = async () => {
|
|
|
141
154
|
}
|
|
142
155
|
```
|
|
143
156
|
|
|
144
|
-
### 6.
|
|
157
|
+
### 6. Error Boundary 감싸기 (선택)
|
|
158
|
+
|
|
159
|
+
Federation 모듈 로드 실패 시 앱 전체가 깨지는 것을 방지합니다.
|
|
160
|
+
|
|
161
|
+
```tsx
|
|
162
|
+
// src/uiKit/FederationErrorBoundary.tsx
|
|
163
|
+
import { FederationErrorBoundary } from '@solapi/ui-kit/federation'
|
|
164
|
+
|
|
165
|
+
function App() {
|
|
166
|
+
return (
|
|
167
|
+
<FederationErrorBoundary
|
|
168
|
+
onError={(error, errorInfo) => {
|
|
169
|
+
// 에러 로깅 서비스로 전송
|
|
170
|
+
console.error('Federation 모듈 로드 실패:', error)
|
|
171
|
+
}}
|
|
172
|
+
message="UI 모듈을 불러오지 못했습니다."
|
|
173
|
+
>
|
|
174
|
+
<GlobalUIProvider>
|
|
175
|
+
{/* 앱 컨텐츠 */}
|
|
176
|
+
</GlobalUIProvider>
|
|
177
|
+
</FederationErrorBoundary>
|
|
178
|
+
)
|
|
179
|
+
}
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
| Props | 타입 | 설명 |
|
|
183
|
+
|-------|------|------|
|
|
184
|
+
| `fallback` | `React.ComponentType<{ error, onRetry, onReload }>` | 커스텀 에러 UI |
|
|
185
|
+
| `onError` | `(error, errorInfo) => void` | 에러 발생 시 콜백 |
|
|
186
|
+
| `onRetry` | `() => void` | 재시도 버튼 클릭 시 콜백 |
|
|
187
|
+
| `showDetails` | `boolean` | 에러 상세 정보 표시 여부 |
|
|
188
|
+
| `message` | `string` | 커스텀 에러 메시지 |
|
|
189
|
+
|
|
190
|
+
### 7. 사용
|
|
145
191
|
|
|
146
192
|
```tsx
|
|
147
193
|
import { Tabs, TextInput, Button, Box } from 'uiKit/safeCompLoader'
|