@spfn/cms 0.1.0-alpha.8 → 0.1.0-alpha.81

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 (233) hide show
  1. package/README.md +28 -416
  2. package/dist/{helpers/locale.actions.d.ts → actions-BEFWwQsh.d.ts} +70 -7
  3. package/dist/actions.d.ts +2 -9
  4. package/dist/actions.js +99 -10
  5. package/dist/actions.js.map +1 -1
  6. package/dist/api.d.ts +319 -0
  7. package/dist/api.js +467 -0
  8. package/dist/api.js.map +1 -0
  9. package/dist/client.d.ts +135 -127
  10. package/dist/client.js +1318 -59
  11. package/dist/client.js.map +1 -1
  12. package/dist/{types.d.ts → index-Dh5FjWzR.d.ts} +45 -7
  13. package/dist/index.d.ts +112 -16
  14. package/dist/index.js +625 -23
  15. package/dist/index.js.map +1 -1
  16. package/dist/label-sync-generator-B0EmvtWM.d.ts +32 -0
  17. package/dist/lib/contracts/labels.d.ts +244 -0
  18. package/dist/lib/contracts/labels.js +269 -0
  19. package/dist/lib/contracts/labels.js.map +1 -0
  20. package/dist/lib/contracts/published-cache.d.ts +48 -0
  21. package/dist/lib/contracts/published-cache.js +49 -0
  22. package/dist/lib/contracts/published-cache.js.map +1 -0
  23. package/dist/lib/contracts/values.d.ts +71 -0
  24. package/dist/lib/contracts/values.js +104 -0
  25. package/dist/lib/contracts/values.js.map +1 -0
  26. package/dist/locale.constants-BNkSdNP1.d.ts +108 -0
  27. package/dist/{entities → server/entities}/cms-audit-logs.d.ts +15 -70
  28. package/dist/server/entities/cms-audit-logs.js +78 -0
  29. package/dist/server/entities/cms-audit-logs.js.map +1 -0
  30. package/dist/{entities → server/entities}/cms-draft-cache.d.ts +13 -73
  31. package/dist/server/entities/cms-draft-cache.js +38 -0
  32. package/dist/server/entities/cms-draft-cache.js.map +1 -0
  33. package/dist/{entities → server/entities}/cms-label-values.d.ts +16 -67
  34. package/dist/server/entities/cms-label-values.js +81 -0
  35. package/dist/server/entities/cms-label-values.js.map +1 -0
  36. package/dist/{entities → server/entities}/cms-labels.d.ts +17 -14
  37. package/dist/server/entities/cms-labels.js +42 -0
  38. package/dist/server/entities/cms-labels.js.map +1 -0
  39. package/dist/{entities → server/entities}/cms-published-cache.d.ts +14 -69
  40. package/dist/server/entities/cms-published-cache.js +36 -0
  41. package/dist/server/entities/cms-published-cache.js.map +1 -0
  42. package/dist/server/entities/index.d.ts +6 -0
  43. package/dist/server/entities/index.js +185 -0
  44. package/dist/server/entities/index.js.map +1 -0
  45. package/dist/server/generators/index.d.ts +19 -0
  46. package/dist/server/generators/index.js +731 -0
  47. package/dist/server/generators/index.js.map +1 -0
  48. package/dist/server/labels/index.d.ts +1 -0
  49. package/dist/server/labels/index.js +33 -0
  50. package/dist/server/labels/index.js.map +1 -0
  51. package/dist/server/repositories/index.d.ts +212 -0
  52. package/dist/server/repositories/index.js +418 -0
  53. package/dist/server/repositories/index.js.map +1 -0
  54. package/dist/server/routes/labels/[id]/admin/index.js +679 -0
  55. package/dist/server/routes/labels/[id]/admin/index.js.map +1 -0
  56. package/dist/server/routes/labels/[id]/index.js +576 -0
  57. package/dist/server/routes/labels/[id]/index.js.map +1 -0
  58. package/dist/server/routes/labels/[id]/publish/index.js +720 -0
  59. package/dist/server/routes/labels/[id]/publish/index.js.map +1 -0
  60. package/dist/server/routes/labels/[id]/versions/index.js +548 -0
  61. package/dist/server/routes/labels/[id]/versions/index.js.map +1 -0
  62. package/dist/server/routes/labels/_id_/admin/index.d.ts +11 -0
  63. package/dist/{routes/labels/[id] → server/routes/labels/_id_}/index.d.ts +5 -3
  64. package/dist/server/routes/labels/_id_/publish/index.d.ts +11 -0
  65. package/dist/server/routes/labels/_id_/versions/index.d.ts +11 -0
  66. package/dist/server/routes/labels/by-key/[key]/index.js +525 -0
  67. package/dist/server/routes/labels/by-key/[key]/index.js.map +1 -0
  68. package/dist/server/routes/labels/by-key/_key_/index.d.ts +10 -0
  69. package/dist/server/routes/labels/index.d.ts +12 -0
  70. package/dist/server/routes/labels/index.js +684 -0
  71. package/dist/server/routes/labels/index.js.map +1 -0
  72. package/dist/server/routes/published-cache/index.d.ts +11 -0
  73. package/dist/server/routes/published-cache/index.js +337 -0
  74. package/dist/server/routes/published-cache/index.js.map +1 -0
  75. package/dist/server/routes/values/[labelId]/[version]/index.js +457 -0
  76. package/dist/server/routes/values/[labelId]/[version]/index.js.map +1 -0
  77. package/dist/server/routes/values/[labelId]/index.js +452 -0
  78. package/dist/server/routes/values/[labelId]/index.js.map +1 -0
  79. package/dist/server/routes/values/_labelId_/_version_/index.d.ts +10 -0
  80. package/dist/server/routes/values/_labelId_/index.d.ts +10 -0
  81. package/dist/server.d.ts +77 -7
  82. package/dist/server.js +1747 -247
  83. package/dist/server.js.map +1 -1
  84. package/migrations/0000_init.sql +3 -0
  85. package/migrations/0001_far_lady_vermin.sql +86 -0
  86. package/migrations/0002_heavy_the_enforcers.sql +2 -0
  87. package/migrations/0003_rare_runaways.sql +1 -0
  88. package/migrations/meta/0000_snapshot.json +15 -0
  89. package/migrations/meta/0001_snapshot.json +687 -0
  90. package/migrations/meta/0002_snapshot.json +686 -0
  91. package/migrations/meta/0003_snapshot.json +563 -0
  92. package/migrations/meta/_journal.json +34 -0
  93. package/package.json +55 -36
  94. package/dist/actions.d.ts.map +0 -1
  95. package/dist/client.d.ts.map +0 -1
  96. package/dist/cms.config.d.ts +0 -77
  97. package/dist/cms.config.d.ts.map +0 -1
  98. package/dist/cms.config.js +0 -111
  99. package/dist/cms.config.js.map +0 -1
  100. package/dist/entities/cms-audit-logs.d.ts.map +0 -1
  101. package/dist/entities/cms-audit-logs.js +0 -103
  102. package/dist/entities/cms-audit-logs.js.map +0 -1
  103. package/dist/entities/cms-draft-cache.d.ts.map +0 -1
  104. package/dist/entities/cms-draft-cache.js +0 -112
  105. package/dist/entities/cms-draft-cache.js.map +0 -1
  106. package/dist/entities/cms-label-values.d.ts.map +0 -1
  107. package/dist/entities/cms-label-values.js +0 -105
  108. package/dist/entities/cms-label-values.js.map +0 -1
  109. package/dist/entities/cms-label-versions.d.ts +0 -207
  110. package/dist/entities/cms-label-versions.d.ts.map +0 -1
  111. package/dist/entities/cms-label-versions.js +0 -80
  112. package/dist/entities/cms-label-versions.js.map +0 -1
  113. package/dist/entities/cms-labels.d.ts.map +0 -1
  114. package/dist/entities/cms-labels.js +0 -48
  115. package/dist/entities/cms-labels.js.map +0 -1
  116. package/dist/entities/cms-published-cache.d.ts.map +0 -1
  117. package/dist/entities/cms-published-cache.js +0 -103
  118. package/dist/entities/cms-published-cache.js.map +0 -1
  119. package/dist/entities/index.d.ts +0 -10
  120. package/dist/entities/index.d.ts.map +0 -1
  121. package/dist/entities/index.js +0 -10
  122. package/dist/entities/index.js.map +0 -1
  123. package/dist/generators/index.d.ts +0 -19
  124. package/dist/generators/index.d.ts.map +0 -1
  125. package/dist/generators/index.js +0 -19
  126. package/dist/generators/index.js.map +0 -1
  127. package/dist/generators/label-sync-generator.d.ts +0 -33
  128. package/dist/generators/label-sync-generator.d.ts.map +0 -1
  129. package/dist/generators/label-sync-generator.js +0 -86
  130. package/dist/generators/label-sync-generator.js.map +0 -1
  131. package/dist/helpers/locale.actions.d.ts.map +0 -1
  132. package/dist/helpers/locale.actions.js +0 -210
  133. package/dist/helpers/locale.actions.js.map +0 -1
  134. package/dist/helpers/locale.constants.d.ts +0 -10
  135. package/dist/helpers/locale.constants.d.ts.map +0 -1
  136. package/dist/helpers/locale.constants.js +0 -10
  137. package/dist/helpers/locale.constants.js.map +0 -1
  138. package/dist/helpers/locale.d.ts +0 -17
  139. package/dist/helpers/locale.d.ts.map +0 -1
  140. package/dist/helpers/locale.js +0 -20
  141. package/dist/helpers/locale.js.map +0 -1
  142. package/dist/helpers/sync.d.ts +0 -41
  143. package/dist/helpers/sync.d.ts.map +0 -1
  144. package/dist/helpers/sync.js +0 -309
  145. package/dist/helpers/sync.js.map +0 -1
  146. package/dist/index.d.ts.map +0 -1
  147. package/dist/init.d.ts +0 -31
  148. package/dist/init.d.ts.map +0 -1
  149. package/dist/init.js +0 -36
  150. package/dist/init.js.map +0 -1
  151. package/dist/labels/helpers.d.ts +0 -31
  152. package/dist/labels/helpers.d.ts.map +0 -1
  153. package/dist/labels/helpers.js +0 -60
  154. package/dist/labels/helpers.js.map +0 -1
  155. package/dist/labels/index.d.ts +0 -7
  156. package/dist/labels/index.d.ts.map +0 -1
  157. package/dist/labels/index.js +0 -7
  158. package/dist/labels/index.js.map +0 -1
  159. package/dist/repositories/cms-draft-cache.repository.d.ts +0 -62
  160. package/dist/repositories/cms-draft-cache.repository.d.ts.map +0 -1
  161. package/dist/repositories/cms-draft-cache.repository.js +0 -56
  162. package/dist/repositories/cms-draft-cache.repository.js.map +0 -1
  163. package/dist/repositories/cms-label-values.repository.d.ts +0 -32
  164. package/dist/repositories/cms-label-values.repository.d.ts.map +0 -1
  165. package/dist/repositories/cms-label-values.repository.js +0 -72
  166. package/dist/repositories/cms-label-values.repository.js.map +0 -1
  167. package/dist/repositories/cms-labels.repository.d.ts +0 -53
  168. package/dist/repositories/cms-labels.repository.d.ts.map +0 -1
  169. package/dist/repositories/cms-labels.repository.js +0 -77
  170. package/dist/repositories/cms-labels.repository.js.map +0 -1
  171. package/dist/repositories/cms-published-cache.repository.d.ts +0 -53
  172. package/dist/repositories/cms-published-cache.repository.d.ts.map +0 -1
  173. package/dist/repositories/cms-published-cache.repository.js +0 -54
  174. package/dist/repositories/cms-published-cache.repository.js.map +0 -1
  175. package/dist/repositories/index.d.ts +0 -8
  176. package/dist/repositories/index.d.ts.map +0 -1
  177. package/dist/repositories/index.js +0 -9
  178. package/dist/repositories/index.js.map +0 -1
  179. package/dist/routes/labels/[id]/contract.d.ts +0 -68
  180. package/dist/routes/labels/[id]/contract.d.ts.map +0 -1
  181. package/dist/routes/labels/[id]/contract.js +0 -84
  182. package/dist/routes/labels/[id]/contract.js.map +0 -1
  183. package/dist/routes/labels/[id]/index.d.ts.map +0 -1
  184. package/dist/routes/labels/[id]/index.js +0 -96
  185. package/dist/routes/labels/[id]/index.js.map +0 -1
  186. package/dist/routes/labels/by-key/[key]/contract.d.ts +0 -24
  187. package/dist/routes/labels/by-key/[key]/contract.d.ts.map +0 -1
  188. package/dist/routes/labels/by-key/[key]/contract.js +0 -28
  189. package/dist/routes/labels/by-key/[key]/contract.js.map +0 -1
  190. package/dist/routes/labels/by-key/[key]/index.d.ts +0 -8
  191. package/dist/routes/labels/by-key/[key]/index.d.ts.map +0 -1
  192. package/dist/routes/labels/by-key/[key]/index.js +0 -32
  193. package/dist/routes/labels/by-key/[key]/index.js.map +0 -1
  194. package/dist/routes/labels/contract.d.ts +0 -59
  195. package/dist/routes/labels/contract.d.ts.map +0 -1
  196. package/dist/routes/labels/contract.js +0 -75
  197. package/dist/routes/labels/contract.js.map +0 -1
  198. package/dist/routes/labels/index.d.ts +0 -10
  199. package/dist/routes/labels/index.d.ts.map +0 -1
  200. package/dist/routes/labels/index.js +0 -73
  201. package/dist/routes/labels/index.js.map +0 -1
  202. package/dist/routes/published-cache/contract.d.ts +0 -25
  203. package/dist/routes/published-cache/contract.d.ts.map +0 -1
  204. package/dist/routes/published-cache/contract.js +0 -35
  205. package/dist/routes/published-cache/contract.js.map +0 -1
  206. package/dist/routes/published-cache/index.d.ts +0 -8
  207. package/dist/routes/published-cache/index.d.ts.map +0 -1
  208. package/dist/routes/published-cache/index.js +0 -33
  209. package/dist/routes/published-cache/index.js.map +0 -1
  210. package/dist/routes/values/[labelId]/[version]/contract.d.ts +0 -29
  211. package/dist/routes/values/[labelId]/[version]/contract.d.ts.map +0 -1
  212. package/dist/routes/values/[labelId]/[version]/contract.js +0 -33
  213. package/dist/routes/values/[labelId]/[version]/contract.js.map +0 -1
  214. package/dist/routes/values/[labelId]/[version]/index.d.ts +0 -8
  215. package/dist/routes/values/[labelId]/[version]/index.d.ts.map +0 -1
  216. package/dist/routes/values/[labelId]/[version]/index.js +0 -45
  217. package/dist/routes/values/[labelId]/[version]/index.js.map +0 -1
  218. package/dist/routes/values/[labelId]/contract.d.ts +0 -38
  219. package/dist/routes/values/[labelId]/contract.d.ts.map +0 -1
  220. package/dist/routes/values/[labelId]/contract.js +0 -59
  221. package/dist/routes/values/[labelId]/contract.js.map +0 -1
  222. package/dist/routes/values/[labelId]/index.d.ts +0 -8
  223. package/dist/routes/values/[labelId]/index.d.ts.map +0 -1
  224. package/dist/routes/values/[labelId]/index.js +0 -42
  225. package/dist/routes/values/[labelId]/index.js.map +0 -1
  226. package/dist/server.d.ts.map +0 -1
  227. package/dist/store.d.ts +0 -87
  228. package/dist/store.d.ts.map +0 -1
  229. package/dist/store.js +0 -205
  230. package/dist/store.js.map +0 -1
  231. package/dist/types.d.ts.map +0 -1
  232. package/dist/types.js +0 -7
  233. package/dist/types.js.map +0 -1
package/dist/client.d.ts CHANGED
@@ -1,138 +1,146 @@
1
+ import { SectionData, SectionAPI } from './server.js';
2
+ import * as zustand from 'zustand';
3
+ export { g as getLocale, b as getLocaleWithInfo, a as getLocales, c as getLocalesWithInfo, s as setLocale } from './actions-BEFWwQsh.js';
4
+ export { L as LOCALE_COOKIE_KEY, e as LOCALE_INFO_MAP, f as LocaleInfo, S as SupportedLocale, d as getDialCode, c as getFlag, g as getLocaleInfo, b as getSupportedLocales, i as isRTL } from './locale.constants-BNkSdNP1.js';
5
+ import './index-Dh5FjWzR.js';
6
+ import './server/repositories/index.js';
7
+ import './server/entities/cms-labels.js';
8
+ import 'drizzle-orm/pg-core';
9
+ import './server/entities/cms-label-values.js';
10
+ import './server/entities/cms-draft-cache.js';
11
+ import './server/entities/cms-published-cache.js';
12
+ import './server/entities/cms-audit-logs.js';
13
+ import './label-sync-generator-B0EmvtWM.js';
14
+ import '@spfn/core/codegen';
15
+
1
16
  /**
2
- * @spfn/cms/client
17
+ * useSection Hook
3
18
  *
4
- * Client Components Only
5
- * 클라이언트 컴포넌트 전용 (브라우저에서 실행)
19
+ * 클라이언트 컴포넌트에서 섹션 데이터 사용
6
20
  */
7
- import type { InferContract } from '@spfn/core';
8
- import { getLabelsContract, createLabelContract } from './routes/labels/contract';
9
- import { getLabelContract, updateLabelContract, deleteLabelContract } from './routes/labels/[id]/contract';
10
- import { getPublishedCacheContract } from './routes/published-cache/contract';
11
21
  /**
12
- * CMS API Client
22
+ * 섹션 Hook (서버 API 동일한 패턴)
23
+ *
24
+ * @param section - 섹션 이름
25
+ * @param options - 옵션 (autoLoad: 자동 로드 여부)
26
+ * @returns { t, data, loading }
27
+ *
28
+ * @example
29
+ * ```tsx
30
+ * 'use client';
31
+ * import { useSection } from '@spfn/cms/client';
32
+ *
33
+ * export function ClientComponent()
34
+ * {
35
+ * const { t } = useSection('home', { autoLoad: true });
36
+ * return <h1>{t('hero.title')}</h1>;
37
+ * }
38
+ * ```
39
+ */
40
+ declare function useSection(section: string, options?: {
41
+ autoLoad?: boolean;
42
+ locale?: string;
43
+ }): {
44
+ t: (key: string, defaultValue?: any, replace?: Record<string, string | number>) => any;
45
+ data: SectionData;
46
+ loading: boolean;
47
+ };
48
+
49
+ /**
50
+ * useSections Hook
51
+ *
52
+ * 여러 섹션을 한번에 사용
53
+ */
54
+ /**
55
+ * 여러 섹션 Hook
56
+ *
57
+ * @param sectionNames - 섹션 이름 배열
58
+ * @returns { [section]: { t, data, loading }, ... }
59
+ *
60
+ * @example
61
+ * ```tsx
62
+ * 'use client';
63
+ * import { useSections } from '@spfn/cms/client';
64
+ *
65
+ * export function Component()
66
+ * {
67
+ * const sections = useSections(['home', 'layout']);
68
+ * return (
69
+ * <div>
70
+ * <h1>{sections.home.t('hero.title')}</h1>
71
+ * <p>{sections.layout.t('footer.copyright')}</p>
72
+ * </div>
73
+ * );
74
+ * }
75
+ * ```
13
76
  */
14
- export declare const cmsApi: {
77
+ declare function useSections(sectionNames: string[]): Record<string, {
78
+ t: (key: string, defaultValue?: any, replace?: Record<string, string | number>) => any;
79
+ data: SectionData;
80
+ loading: boolean;
81
+ }>;
82
+
83
+ interface CmsState {
15
84
  /**
16
- * Labels API
85
+ * 섹션별 데이터
86
+ * { 'home': { section: 'home', content: {...}, version: 1, ... }, ... }
17
87
  */
18
- readonly labels: {
19
- /**
20
- * GET /cms/labels
21
- * 라벨 목록 조회 (섹션 필터, 페이지네이션)
22
- */
23
- readonly list: (options?: {
24
- query?: InferContract<typeof getLabelsContract>["query"];
25
- }) => Promise<{
26
- limit: number;
27
- offset: number;
28
- labels: {
29
- section: string;
30
- id: number;
31
- key: string;
32
- type: string;
33
- publishedVersion: number | null;
34
- createdBy: string | null;
35
- createdAt: string;
36
- updatedAt: string;
37
- }[];
38
- total: number;
39
- }>;
40
- /**
41
- * GET /cms/labels/:id
42
- * 특정 라벨 조회
43
- */
44
- readonly getById: (options: {
45
- params: InferContract<typeof getLabelContract>["params"];
46
- }) => Promise<{
47
- section: string;
48
- id: number;
49
- key: string;
50
- type: string;
51
- publishedVersion: number | null;
52
- createdBy: string | null;
53
- createdAt: string;
54
- updatedAt: string;
55
- } | {
56
- error: string;
57
- }>;
58
- /**
59
- * POST /cms/labels
60
- * 새 라벨 생성
61
- */
62
- readonly create: (options: {
63
- body: InferContract<typeof createLabelContract>["body"];
64
- }) => Promise<{
65
- section: string;
66
- id: number;
67
- key: string;
68
- type: string;
69
- publishedVersion: number | null;
70
- createdBy: string | null;
71
- createdAt: string;
72
- updatedAt: string;
73
- } | {
74
- key?: string | undefined;
75
- error: string;
76
- }>;
77
- /**
78
- * PATCH /cms/labels/:id
79
- * 라벨 업데이트
80
- */
81
- readonly update: (options: {
82
- params: InferContract<typeof updateLabelContract>["params"];
83
- body: InferContract<typeof updateLabelContract>["body"];
84
- }) => Promise<{
85
- section: string;
86
- id: number;
87
- key: string;
88
- type: string;
89
- publishedVersion: number | null;
90
- createdBy: string | null;
91
- createdAt: string;
92
- updatedAt: string;
93
- } | {
94
- error: string;
95
- }>;
96
- /**
97
- * DELETE /cms/labels/:id
98
- * 라벨 삭제
99
- */
100
- readonly delete: (options: {
101
- params: InferContract<typeof deleteLabelContract>["params"];
102
- }) => Promise<{
103
- id: number;
104
- success: boolean;
105
- } | {
106
- error: string;
107
- }>;
108
- };
88
+ sections: Record<string, SectionData>;
109
89
  /**
110
- * Published Cache API
90
+ * 로딩 상태
111
91
  */
112
- readonly publishedCache: {
113
- /**
114
- * GET /cms/published-cache
115
- * 발행된 콘텐츠 캐시 조회
116
- */
117
- readonly get: (options: {
118
- query: InferContract<typeof getPublishedCacheContract>["query"];
119
- }) => Promise<{
120
- section: string;
121
- locale: string;
122
- content: {
123
- [x: string]: any;
124
- };
125
- version: number;
126
- publishedAt: string | null;
127
- }[] | {
128
- error: string;
129
- }>;
130
- };
131
- };
92
+ loading: Record<string, boolean>;
93
+ /**
94
+ * 섹션 데이터 설정 (서버에서 초기화용)
95
+ */
96
+ setSection: (section: string, data: SectionData) => void;
97
+ /**
98
+ * 여러 섹션 한번에 설정
99
+ */
100
+ setSections: (sections: Record<string, SectionData>) => void;
101
+ /**
102
+ * 섹션 비동기 로드
103
+ */
104
+ loadSection: (section: string, locale?: string) => Promise<void>;
105
+ /**
106
+ * 라벨 업데이트 (Draft Mode용)
107
+ */
108
+ updateLabel: (section: string, key: string, value: any) => void;
109
+ /**
110
+ * 초기화
111
+ */
112
+ reset: () => void;
113
+ }
114
+ declare const useCmsStore: zustand.UseBoundStore<zustand.StoreApi<CmsState>>;
115
+
132
116
  /**
133
- * Type exports
117
+ * CMS Store Initializer
118
+ *
119
+ * 서버 컴포넌트에서 로드한 섹션 데이터를 클라이언트 store에 초기화
120
+ */
121
+
122
+ interface InitCmsProps {
123
+ /**
124
+ * 서버에서 로드한 섹션 데이터
125
+ * { home: { t, data }, ... }
126
+ */
127
+ sections: Record<string, SectionAPI>;
128
+ }
129
+ /**
130
+ * CMS Store 초기화 컴포넌트
131
+ *
132
+ * 서버 컴포넌트에서 로드한 데이터를 클라이언트 store에 주입
133
+ * 이후 하위 클라이언트 컴포넌트에서 useSection() 사용 가능
134
+ *
135
+ * @param props - InitCmsProps
136
+ * @param props.sections - 서버에서 로드한 섹션 데이터
137
+ *
138
+ * @example
139
+ * // Server Component
140
+ * const home = await getSection('home');
141
+ * <InitCms sections={{ home }} />
142
+ * // 이후 하위 클라이언트 컴포넌트에서 useSection('home') 사용 가능
134
143
  */
135
- export type CmsApi = typeof cmsApi;
136
- export { useCmsStore, useSection, useSections } from './store';
137
- export { InitCms } from './init';
138
- //# sourceMappingURL=client.d.ts.map
144
+ declare function InitCms({ sections }: InitCmsProps): null;
145
+
146
+ export { InitCms, useCmsStore, useSection, useSections };