@kywi-software/sdk 0.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 (155) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +172 -0
  3. package/dist/__tests__/auth-client.test.d.ts +2 -0
  4. package/dist/__tests__/auth-client.test.d.ts.map +1 -0
  5. package/dist/__tests__/auth-client.test.js +97 -0
  6. package/dist/__tests__/auth-client.test.js.map +1 -0
  7. package/dist/__tests__/content-client.test.d.ts +2 -0
  8. package/dist/__tests__/content-client.test.d.ts.map +1 -0
  9. package/dist/__tests__/content-client.test.js +178 -0
  10. package/dist/__tests__/content-client.test.js.map +1 -0
  11. package/dist/__tests__/create-sdk.test.d.ts +2 -0
  12. package/dist/__tests__/create-sdk.test.d.ts.map +1 -0
  13. package/dist/__tests__/create-sdk.test.js +86 -0
  14. package/dist/__tests__/create-sdk.test.js.map +1 -0
  15. package/dist/__tests__/feed-client.test.d.ts +2 -0
  16. package/dist/__tests__/feed-client.test.d.ts.map +1 -0
  17. package/dist/__tests__/feed-client.test.js +81 -0
  18. package/dist/__tests__/feed-client.test.js.map +1 -0
  19. package/dist/__tests__/hooks.test.d.ts +2 -0
  20. package/dist/__tests__/hooks.test.d.ts.map +1 -0
  21. package/dist/__tests__/hooks.test.js +123 -0
  22. package/dist/__tests__/hooks.test.js.map +1 -0
  23. package/dist/__tests__/http-client.test.d.ts +2 -0
  24. package/dist/__tests__/http-client.test.d.ts.map +1 -0
  25. package/dist/__tests__/http-client.test.js +164 -0
  26. package/dist/__tests__/http-client.test.js.map +1 -0
  27. package/dist/__tests__/i18n-client.test.d.ts +2 -0
  28. package/dist/__tests__/i18n-client.test.d.ts.map +1 -0
  29. package/dist/__tests__/i18n-client.test.js +73 -0
  30. package/dist/__tests__/i18n-client.test.js.map +1 -0
  31. package/dist/__tests__/media-client.test.d.ts +2 -0
  32. package/dist/__tests__/media-client.test.d.ts.map +1 -0
  33. package/dist/__tests__/media-client.test.js +115 -0
  34. package/dist/__tests__/media-client.test.js.map +1 -0
  35. package/dist/__tests__/nav-client.test.d.ts +2 -0
  36. package/dist/__tests__/nav-client.test.d.ts.map +1 -0
  37. package/dist/__tests__/nav-client.test.js +81 -0
  38. package/dist/__tests__/nav-client.test.js.map +1 -0
  39. package/dist/__tests__/sdk-scope-additions.test.d.ts +2 -0
  40. package/dist/__tests__/sdk-scope-additions.test.d.ts.map +1 -0
  41. package/dist/__tests__/sdk-scope-additions.test.js +420 -0
  42. package/dist/__tests__/sdk-scope-additions.test.js.map +1 -0
  43. package/dist/__tests__/site-client.test.d.ts +2 -0
  44. package/dist/__tests__/site-client.test.d.ts.map +1 -0
  45. package/dist/__tests__/site-client.test.js +52 -0
  46. package/dist/__tests__/site-client.test.js.map +1 -0
  47. package/dist/__tests__/user-client.test.d.ts +2 -0
  48. package/dist/__tests__/user-client.test.d.ts.map +1 -0
  49. package/dist/__tests__/user-client.test.js +51 -0
  50. package/dist/__tests__/user-client.test.js.map +1 -0
  51. package/dist/auth-client.d.ts +10 -0
  52. package/dist/auth-client.d.ts.map +1 -0
  53. package/dist/auth-client.js +34 -0
  54. package/dist/auth-client.js.map +1 -0
  55. package/dist/category-client.d.ts +4 -0
  56. package/dist/category-client.d.ts.map +1 -0
  57. package/dist/category-client.js +36 -0
  58. package/dist/category-client.js.map +1 -0
  59. package/dist/content-client.d.ts +4 -0
  60. package/dist/content-client.d.ts.map +1 -0
  61. package/dist/content-client.js +89 -0
  62. package/dist/content-client.js.map +1 -0
  63. package/dist/create-sdk.d.ts +3 -0
  64. package/dist/create-sdk.d.ts.map +1 -0
  65. package/dist/create-sdk.js +43 -0
  66. package/dist/create-sdk.js.map +1 -0
  67. package/dist/feed-client.d.ts +4 -0
  68. package/dist/feed-client.d.ts.map +1 -0
  69. package/dist/feed-client.js +64 -0
  70. package/dist/feed-client.js.map +1 -0
  71. package/dist/form-client.d.ts +4 -0
  72. package/dist/form-client.d.ts.map +1 -0
  73. package/dist/form-client.js +17 -0
  74. package/dist/form-client.js.map +1 -0
  75. package/dist/hooks/context.d.ts +8 -0
  76. package/dist/hooks/context.d.ts.map +1 -0
  77. package/dist/hooks/context.js +15 -0
  78. package/dist/hooks/context.js.map +1 -0
  79. package/dist/hooks/index.d.ts +8 -0
  80. package/dist/hooks/index.d.ts.map +1 -0
  81. package/dist/hooks/index.js +7 -0
  82. package/dist/hooks/index.js.map +1 -0
  83. package/dist/hooks/use-content.d.ts +13 -0
  84. package/dist/hooks/use-content.d.ts.map +1 -0
  85. package/dist/hooks/use-content.js +16 -0
  86. package/dist/hooks/use-content.js.map +1 -0
  87. package/dist/hooks/use-feed.d.ts +5 -0
  88. package/dist/hooks/use-feed.d.ts.map +1 -0
  89. package/dist/hooks/use-feed.js +13 -0
  90. package/dist/hooks/use-feed.js.map +1 -0
  91. package/dist/hooks/use-nav.d.ts +5 -0
  92. package/dist/hooks/use-nav.d.ts.map +1 -0
  93. package/dist/hooks/use-nav.js +12 -0
  94. package/dist/hooks/use-nav.js.map +1 -0
  95. package/dist/hooks/use-sdk-query.d.ts +8 -0
  96. package/dist/hooks/use-sdk-query.d.ts.map +1 -0
  97. package/dist/hooks/use-sdk-query.js +32 -0
  98. package/dist/hooks/use-sdk-query.js.map +1 -0
  99. package/dist/hooks-client.d.ts +4 -0
  100. package/dist/hooks-client.d.ts.map +1 -0
  101. package/dist/hooks-client.js +20 -0
  102. package/dist/hooks-client.js.map +1 -0
  103. package/dist/http-client.d.ts +14 -0
  104. package/dist/http-client.d.ts.map +1 -0
  105. package/dist/http-client.js +78 -0
  106. package/dist/http-client.js.map +1 -0
  107. package/dist/i18n-client.d.ts +3 -0
  108. package/dist/i18n-client.d.ts.map +1 -0
  109. package/dist/i18n-client.js +26 -0
  110. package/dist/i18n-client.js.map +1 -0
  111. package/dist/index.d.ts +20 -0
  112. package/dist/index.d.ts.map +1 -0
  113. package/dist/index.js +21 -0
  114. package/dist/index.js.map +1 -0
  115. package/dist/layout-client.d.ts +4 -0
  116. package/dist/layout-client.d.ts.map +1 -0
  117. package/dist/layout-client.js +17 -0
  118. package/dist/layout-client.js.map +1 -0
  119. package/dist/media-client.d.ts +4 -0
  120. package/dist/media-client.d.ts.map +1 -0
  121. package/dist/media-client.js +36 -0
  122. package/dist/media-client.js.map +1 -0
  123. package/dist/nav-client.d.ts +4 -0
  124. package/dist/nav-client.d.ts.map +1 -0
  125. package/dist/nav-client.js +36 -0
  126. package/dist/nav-client.js.map +1 -0
  127. package/dist/search-client.d.ts +4 -0
  128. package/dist/search-client.d.ts.map +1 -0
  129. package/dist/search-client.js +17 -0
  130. package/dist/search-client.js.map +1 -0
  131. package/dist/site-client.d.ts +4 -0
  132. package/dist/site-client.d.ts.map +1 -0
  133. package/dist/site-client.js +25 -0
  134. package/dist/site-client.js.map +1 -0
  135. package/dist/tree-client.d.ts +4 -0
  136. package/dist/tree-client.d.ts.map +1 -0
  137. package/dist/tree-client.js +22 -0
  138. package/dist/tree-client.js.map +1 -0
  139. package/dist/types.d.ts +367 -0
  140. package/dist/types.d.ts.map +1 -0
  141. package/dist/types.js +13 -0
  142. package/dist/types.js.map +1 -0
  143. package/dist/user-client.d.ts +4 -0
  144. package/dist/user-client.d.ts.map +1 -0
  145. package/dist/user-client.js +49 -0
  146. package/dist/user-client.js.map +1 -0
  147. package/dist/version-client.d.ts +4 -0
  148. package/dist/version-client.d.ts.map +1 -0
  149. package/dist/version-client.js +16 -0
  150. package/dist/version-client.js.map +1 -0
  151. package/dist/workflow-client.d.ts +4 -0
  152. package/dist/workflow-client.d.ts.map +1 -0
  153. package/dist/workflow-client.js +17 -0
  154. package/dist/workflow-client.js.map +1 -0
  155. package/package.json +65 -0
@@ -0,0 +1,52 @@
1
+ import { describe, it, expect, vi, beforeEach } from 'vitest';
2
+ import { KywiHttpClient } from '../http-client.js';
3
+ import { createSiteClient } from '../site-client.js';
4
+ const mockFetch = vi.fn();
5
+ vi.stubGlobal('fetch', mockFetch);
6
+ function ok(data, status = 200) {
7
+ return new Response(JSON.stringify(data), {
8
+ status,
9
+ headers: { 'Content-Type': 'application/json' },
10
+ });
11
+ }
12
+ function notFound() {
13
+ return new Response(JSON.stringify({ error: { code: 'NOT_FOUND', message: 'Not found' } }), { status: 404, headers: { 'Content-Type': 'application/json' } });
14
+ }
15
+ describe('SiteClient', () => {
16
+ let client;
17
+ beforeEach(() => {
18
+ mockFetch.mockReset();
19
+ const http = new KywiHttpClient({ baseUrl: 'https://api.test/api/v1' });
20
+ client = createSiteClient(http, 'default-site');
21
+ });
22
+ // ── getConfig ─────────────────────────────────────────────────────────
23
+ it('getConfig sends correct URL with default siteId', async () => {
24
+ const config = { id: 'default-site', name: 'My Site' };
25
+ mockFetch.mockResolvedValue(ok({ data: config }));
26
+ const result = await client.getConfig();
27
+ const url = new URL(mockFetch.mock.calls[0][0]);
28
+ expect(url.pathname).toBe('/api/v1/sites/default-site');
29
+ expect(result).toEqual(config);
30
+ });
31
+ it('getConfig uses provided siteId', async () => {
32
+ mockFetch.mockResolvedValue(ok({ data: { id: 'other' } }));
33
+ await client.getConfig('other');
34
+ const url = new URL(mockFetch.mock.calls[0][0]);
35
+ expect(url.pathname).toBe('/api/v1/sites/other');
36
+ });
37
+ it('getConfig returns null on 404', async () => {
38
+ mockFetch.mockResolvedValue(notFound());
39
+ const result = await client.getConfig('missing');
40
+ expect(result).toBeNull();
41
+ });
42
+ // ── list ──────────────────────────────────────────────────────────────
43
+ it('list sends correct URL and returns array', async () => {
44
+ const sites = [{ id: 's1', name: 'Site 1' }, { id: 's2', name: 'Site 2' }];
45
+ mockFetch.mockResolvedValue(ok({ data: sites }));
46
+ const result = await client.list();
47
+ const url = new URL(mockFetch.mock.calls[0][0]);
48
+ expect(url.pathname).toBe('/api/v1/sites');
49
+ expect(result).toEqual(sites);
50
+ });
51
+ });
52
+ //# sourceMappingURL=site-client.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"site-client.test.js","sourceRoot":"","sources":["../../src/__tests__/site-client.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=user-client.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-client.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/user-client.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,51 @@
1
+ import { describe, it, expect, vi, beforeEach } from 'vitest';
2
+ import { KywiHttpClient } from '../http-client.js';
3
+ import { createUserClient } from '../user-client.js';
4
+ const mockFetch = vi.fn();
5
+ vi.stubGlobal('fetch', mockFetch);
6
+ function ok(data, status = 200) {
7
+ return new Response(JSON.stringify(data), {
8
+ status,
9
+ headers: { 'Content-Type': 'application/json' },
10
+ });
11
+ }
12
+ function notFound() {
13
+ return new Response(JSON.stringify({ error: { code: 'NOT_FOUND', message: 'Not found' } }), { status: 404, headers: { 'Content-Type': 'application/json' } });
14
+ }
15
+ describe('UserClient', () => {
16
+ let client;
17
+ beforeEach(() => {
18
+ mockFetch.mockReset();
19
+ const http = new KywiHttpClient({ baseUrl: 'https://api.test/api/v1' });
20
+ client = createUserClient(http);
21
+ });
22
+ // ── getCurrent ────────────────────────────────────────────────────────
23
+ it('getCurrent sends correct URL', async () => {
24
+ const user = { id: 'u1', email: 'test@example.com' };
25
+ mockFetch.mockResolvedValue(ok({ data: user }));
26
+ const result = await client.getCurrent();
27
+ const url = new URL(mockFetch.mock.calls[0][0]);
28
+ expect(url.pathname).toBe('/api/v1/users/me');
29
+ expect(result).toEqual(user);
30
+ });
31
+ it('getCurrent returns null on 404', async () => {
32
+ mockFetch.mockResolvedValue(notFound());
33
+ const result = await client.getCurrent();
34
+ expect(result).toBeNull();
35
+ });
36
+ // ── getById ───────────────────────────────────────────────────────────
37
+ it('getById sends correct URL', async () => {
38
+ const user = { id: 'u2', email: 'other@example.com' };
39
+ mockFetch.mockResolvedValue(ok({ data: user }));
40
+ const result = await client.getById('u2');
41
+ const url = new URL(mockFetch.mock.calls[0][0]);
42
+ expect(url.pathname).toBe('/api/v1/users/u2');
43
+ expect(result).toEqual(user);
44
+ });
45
+ it('getById returns null on 404', async () => {
46
+ mockFetch.mockResolvedValue(notFound());
47
+ const result = await client.getById('missing');
48
+ expect(result).toBeNull();
49
+ });
50
+ });
51
+ //# sourceMappingURL=user-client.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-client.test.js","sourceRoot":"","sources":["../../src/__tests__/user-client.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { KywiHttpClient } from './http-client.js';
2
+ import type { KywiSdkAuthScope } from './types.js';
3
+ /**
4
+ * The Kywi API wraps every success body in a `{ data: … }` envelope (`jsonOk`).
5
+ * Every other SDK client unwraps `res.data`; the auth client must do the same so
6
+ * callers receive the documented `AuthResult`/message shape rather than the raw
7
+ * envelope (`{ data: { accessToken } }`).
8
+ */
9
+ export declare function createAuthClient(http: KywiHttpClient): KywiSdkAuthScope;
10
+ //# sourceMappingURL=auth-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-client.d.ts","sourceRoot":"","sources":["../src/auth-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAA+B,MAAM,YAAY,CAAA;AAE/E;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB,CA0BvE"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * The Kywi API wraps every success body in a `{ data: … }` envelope (`jsonOk`).
3
+ * Every other SDK client unwraps `res.data`; the auth client must do the same so
4
+ * callers receive the documented `AuthResult`/message shape rather than the raw
5
+ * envelope (`{ data: { accessToken } }`).
6
+ */
7
+ export function createAuthClient(http) {
8
+ return {
9
+ async login(email, password) {
10
+ const res = await http.post('/auth/login', { email, password });
11
+ return res.data;
12
+ },
13
+ async register(data) {
14
+ const res = await http.post('/auth/register', data);
15
+ return res.data;
16
+ },
17
+ async refresh(refreshToken) {
18
+ const res = await http.post('/auth/refresh', { refreshToken });
19
+ return res.data;
20
+ },
21
+ async forgotPassword(email) {
22
+ const res = await http.post('/auth/forgot-password', { email });
23
+ return res.data;
24
+ },
25
+ async resetPassword(token, email, newPassword) {
26
+ const res = await http.post('/auth/reset-password', { token, email, newPassword });
27
+ return res.data;
28
+ },
29
+ async logout() {
30
+ await http.post('/auth/logout', {});
31
+ },
32
+ };
33
+ }
34
+ //# sourceMappingURL=auth-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-client.js","sourceRoot":"","sources":["../src/auth-client.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAoB;IACnD,OAAO;QACL,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ;YACzB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAA8B,aAAa,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;YAC5F,OAAO,GAAG,CAAC,IAAI,CAAA;QACjB,CAAC;QACD,KAAK,CAAC,QAAQ,CAAC,IAAI;YACjB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAA8B,gBAAgB,EAAE,IAAI,CAAC,CAAA;YAChF,OAAO,GAAG,CAAC,IAAI,CAAA;QACjB,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,YAAY;YACxB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAA2C,eAAe,EAAE,EAAE,YAAY,EAAE,CAAC,CAAA;YACxG,OAAO,GAAG,CAAC,IAAI,CAAA;QACjB,CAAC;QACD,KAAK,CAAC,cAAc,CAAC,KAAK;YACxB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAuC,uBAAuB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;YACrG,OAAO,GAAG,CAAC,IAAI,CAAA;QACjB,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW;YAC3C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAuC,sBAAsB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAA;YACxH,OAAO,GAAG,CAAC,IAAI,CAAA;QACjB,CAAC;QACD,KAAK,CAAC,MAAM;YACV,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;QACrC,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { KywiHttpClient } from './http-client.js';
2
+ import type { KywiSdkCategoryScope } from './types.js';
3
+ export declare function createCategoryClient(http: KywiHttpClient): KywiSdkCategoryScope;
4
+ //# sourceMappingURL=category-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"category-client.d.ts","sourceRoot":"","sources":["../src/category-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAA+C,MAAM,YAAY,CAAA;AAEnG,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,GAAG,oBAAoB,CAoC/E"}
@@ -0,0 +1,36 @@
1
+ export function createCategoryClient(http) {
2
+ return {
3
+ async list(opts) {
4
+ const params = {};
5
+ if (opts?.siteId)
6
+ params.siteId = opts.siteId;
7
+ if (opts?.parentId)
8
+ params.parentId = opts.parentId;
9
+ const res = await http.get('/categories', params);
10
+ return res.data;
11
+ },
12
+ async getById(id) {
13
+ const res = await http.get(`/categories/${id}`);
14
+ return res.data;
15
+ },
16
+ async create(data) {
17
+ const res = await http.post('/categories', data);
18
+ return res.data;
19
+ },
20
+ async update(id, data) {
21
+ const res = await http.put(`/categories/${id}`, data);
22
+ return res.data;
23
+ },
24
+ async delete(id) {
25
+ await http.delete(`/categories/${id}`);
26
+ },
27
+ async tree(siteId) {
28
+ const params = {};
29
+ if (siteId)
30
+ params.siteId = siteId;
31
+ const res = await http.get('/categories/tree', params);
32
+ return res.data;
33
+ },
34
+ };
35
+ }
36
+ //# sourceMappingURL=category-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"category-client.js","sourceRoot":"","sources":["../src/category-client.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,oBAAoB,CAAC,IAAoB;IACvD,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,IAAI;YACb,MAAM,MAAM,GAA2B,EAAE,CAAA;YACzC,IAAI,IAAI,EAAE,MAAM;gBAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;YAC7C,IAAI,IAAI,EAAE,QAAQ;gBAAE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;YACnD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAA8B,aAAa,EAAE,MAAM,CAAC,CAAA;YAC9E,OAAO,GAAG,CAAC,IAAI,CAAA;QACjB,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,EAAE;YACd,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAA4B,eAAe,EAAE,EAAE,CAAC,CAAA;YAC1E,OAAO,GAAG,CAAC,IAAI,CAAA;QACjB,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,IAAI;YACf,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAA4B,aAAa,EAAE,IAAI,CAAC,CAAA;YAC3E,OAAO,GAAG,CAAC,IAAI,CAAA;QACjB,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI;YACnB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAA4B,eAAe,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;YAChF,OAAO,GAAG,CAAC,IAAI,CAAA;QACjB,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,EAAE;YACb,MAAM,IAAI,CAAC,MAAM,CAAU,eAAe,EAAE,EAAE,CAAC,CAAA;QACjD,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,MAAM;YACf,MAAM,MAAM,GAA2B,EAAE,CAAA;YACzC,IAAI,MAAM;gBAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAA;YAClC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAsC,kBAAkB,EAAE,MAAM,CAAC,CAAA;YAC3F,OAAO,GAAG,CAAC,IAAI,CAAA;QACjB,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { KywiHttpClient } from './http-client.js';
2
+ import type { KywiSdkContentScope } from './types.js';
3
+ export declare function createContentClient(http: KywiHttpClient, defaultSiteId: string): KywiSdkContentScope;
4
+ //# sourceMappingURL=content-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-client.d.ts","sourceRoot":"","sources":["../src/content-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,EAMV,mBAAmB,EACpB,MAAM,YAAY,CAAA;AASnB,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,cAAc,EACpB,aAAa,EAAE,MAAM,GACpB,mBAAmB,CA+FrB"}
@@ -0,0 +1,89 @@
1
+ function isError(res) {
2
+ return typeof res === 'object' && res !== null && 'error' in res;
3
+ }
4
+ export function createContentClient(http, defaultSiteId) {
5
+ return {
6
+ async getBySlug(slug, siteId) {
7
+ const sid = siteId ?? defaultSiteId;
8
+ const params = {};
9
+ if (sid)
10
+ params.siteId = sid;
11
+ const res = await http.get(`/content/slug/${slug}`, params);
12
+ if (isError(res))
13
+ return null;
14
+ return res.data;
15
+ },
16
+ async getById(id) {
17
+ const res = await http.get(`/content/by-id/${id}`);
18
+ if (isError(res))
19
+ return null;
20
+ return res.data;
21
+ },
22
+ async getChildren(parentId) {
23
+ const res = await http.get(`/content/by-id/${parentId}/children`);
24
+ if (isError(res))
25
+ return [];
26
+ return res.data;
27
+ },
28
+ async list(contentTypeName, siteId, opts) {
29
+ const sid = siteId ?? defaultSiteId;
30
+ const params = {};
31
+ if (sid)
32
+ params.siteId = sid;
33
+ if (opts?.page !== undefined)
34
+ params.page = String(opts.page);
35
+ if (opts?.limit !== undefined)
36
+ params.limit = String(opts.limit);
37
+ if (opts?.sort)
38
+ params.sort = opts.sort;
39
+ if (opts?.dir)
40
+ params.dir = opts.dir;
41
+ if (opts?.status)
42
+ params.status = opts.status;
43
+ if (opts?.search)
44
+ params.search = opts.search;
45
+ if (opts?.parentId)
46
+ params.parentId = opts.parentId;
47
+ const res = await http.get(`/content/${contentTypeName}`, params);
48
+ if (isError(res))
49
+ return { rows: [], total: 0 };
50
+ return { rows: res.data, total: res.meta.total };
51
+ },
52
+ async create(contentTypeName, data, siteId) {
53
+ const sid = siteId ?? defaultSiteId;
54
+ // The server resolves siteId from the query string (or request domain) and
55
+ // its create schema is `.strict()`, so an in-body `siteId` is rejected with
56
+ // a 400. Pass it as a query param instead — consistent with list()/getBySlug().
57
+ const path = sid
58
+ ? `/content/${contentTypeName}?siteId=${encodeURIComponent(sid)}`
59
+ : `/content/${contentTypeName}`;
60
+ const res = await http.post(path, { ...data });
61
+ return res.data;
62
+ },
63
+ async update(contentTypeName, id, data) {
64
+ const res = await http.put(`/content/${contentTypeName}/${id}`, data);
65
+ if (isError(res))
66
+ return null;
67
+ return res.data;
68
+ },
69
+ async delete(id) {
70
+ const res = await http.delete(`/content/by-id/${id}`);
71
+ if (isError(res))
72
+ return false;
73
+ return res.data.deleted;
74
+ },
75
+ async publish(id) {
76
+ const res = await http.post(`/content/by-id/${id}/publish`);
77
+ if (isError(res))
78
+ return null;
79
+ return res.data;
80
+ },
81
+ async unpublish(id) {
82
+ const res = await http.post(`/content/by-id/${id}/unpublish`);
83
+ if (isError(res))
84
+ return null;
85
+ return res.data;
86
+ },
87
+ };
88
+ }
89
+ //# sourceMappingURL=content-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-client.js","sourceRoot":"","sources":["../src/content-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { KywiSdkConfig, KywiSdkScope } from './types.js';
2
+ export declare function createKywiSdk(config: KywiSdkConfig): KywiSdkScope;
3
+ //# sourceMappingURL=create-sdk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-sdk.d.ts","sourceRoot":"","sources":["../src/create-sdk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAmB7D,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,YAAY,CA2BjE"}
@@ -0,0 +1,43 @@
1
+ import { KywiHttpClient } from './http-client.js';
2
+ import { createAuthClient } from './auth-client.js';
3
+ import { createContentClient } from './content-client.js';
4
+ import { createNavClient } from './nav-client.js';
5
+ import { createSiteClient } from './site-client.js';
6
+ import { createUserClient } from './user-client.js';
7
+ import { createFeedClient } from './feed-client.js';
8
+ import { createI18nClient } from './i18n-client.js';
9
+ import { createMediaClient } from './media-client.js';
10
+ import { createLayoutClient } from './layout-client.js';
11
+ import { createSearchClient } from './search-client.js';
12
+ import { createVersionClient } from './version-client.js';
13
+ import { createWorkflowClient } from './workflow-client.js';
14
+ import { createCategoryClient } from './category-client.js';
15
+ import { createFormClient } from './form-client.js';
16
+ import { createTreeClient } from './tree-client.js';
17
+ import { createHooksClient } from './hooks-client.js';
18
+ export function createKywiSdk(config) {
19
+ const http = new KywiHttpClient(config);
20
+ const defaultSiteId = config.defaultSiteId ?? '';
21
+ const scope = {
22
+ auth: createAuthClient(http),
23
+ content: createContentClient(http, defaultSiteId),
24
+ nav: createNavClient(http, defaultSiteId),
25
+ site: createSiteClient(http, defaultSiteId),
26
+ user: createUserClient(http),
27
+ feeds: createFeedClient(http, defaultSiteId),
28
+ media: createMediaClient(http),
29
+ layout: createLayoutClient(http),
30
+ search: createSearchClient(http),
31
+ versions: createVersionClient(http),
32
+ workflow: createWorkflowClient(http),
33
+ categories: createCategoryClient(http),
34
+ forms: createFormClient(http),
35
+ tree: createTreeClient(http),
36
+ hooks: createHooksClient(http),
37
+ };
38
+ if (config.bundles && config.locale) {
39
+ scope.i18n = createI18nClient(config.bundles, config.locale);
40
+ }
41
+ return scope;
42
+ }
43
+ //# sourceMappingURL=create-sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-sdk.js","sourceRoot":"","sources":["../src/create-sdk.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAErD,MAAM,UAAU,aAAa,CAAC,MAAqB;IACjD,MAAM,IAAI,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAA;IACvC,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,EAAE,CAAA;IAEhD,MAAM,KAAK,GAAiB;QAC1B,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC;QAC5B,OAAO,EAAE,mBAAmB,CAAC,IAAI,EAAE,aAAa,CAAC;QACjD,GAAG,EAAE,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC;QACzC,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC;QAC3C,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC;QAC5B,KAAK,EAAE,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC;QAC5C,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC;QAC9B,MAAM,EAAE,kBAAkB,CAAC,IAAI,CAAC;QAChC,MAAM,EAAE,kBAAkB,CAAC,IAAI,CAAC;QAChC,QAAQ,EAAE,mBAAmB,CAAC,IAAI,CAAC;QACnC,QAAQ,EAAE,oBAAoB,CAAC,IAAI,CAAC;QACpC,UAAU,EAAE,oBAAoB,CAAC,IAAI,CAAC;QACtC,KAAK,EAAE,gBAAgB,CAAC,IAAI,CAAC;QAC7B,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC;QAC5B,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC;KAC/B,CAAA;IAED,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { KywiHttpClient } from './http-client.js';
2
+ import type { KywiSdkFeedScope } from './types.js';
3
+ export declare function createFeedClient(http: KywiHttpClient, defaultSiteId: string): KywiSdkFeedScope;
4
+ //# sourceMappingURL=feed-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feed-client.d.ts","sourceRoot":"","sources":["../src/feed-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,EAMV,gBAAgB,EACjB,MAAM,YAAY,CAAA;AAYnB,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,cAAc,EACpB,aAAa,EAAE,MAAM,GACpB,gBAAgB,CA6DlB"}
@@ -0,0 +1,64 @@
1
+ function toFeedResult(res) {
2
+ return {
3
+ items: res.data,
4
+ total: res.meta.total,
5
+ page: res.meta.page,
6
+ pageSize: res.meta.pageSize,
7
+ totalPages: res.meta.totalPages,
8
+ };
9
+ }
10
+ export function createFeedClient(http, defaultSiteId) {
11
+ return {
12
+ async query(feedQuery) {
13
+ const body = { ...feedQuery };
14
+ if (!body.siteId) {
15
+ body.siteId = defaultSiteId;
16
+ }
17
+ const res = await http.post('/feeds/query', body);
18
+ return toFeedResult(res);
19
+ },
20
+ async get(slug) {
21
+ const res = await http.get(`/feeds/${slug}`);
22
+ return toFeedResult(res);
23
+ },
24
+ async list(opts) {
25
+ const params = {};
26
+ const siteId = opts?.siteId ?? defaultSiteId;
27
+ if (siteId)
28
+ params.siteId = siteId;
29
+ const res = await http.get('/feeds', params);
30
+ return res;
31
+ },
32
+ async create(data) {
33
+ const body = {
34
+ name: data.name,
35
+ slug: data.slug,
36
+ siteId: data.siteId ?? defaultSiteId,
37
+ query: data.query,
38
+ ...(data.cacheTtl !== undefined ? { cacheTtl: data.cacheTtl } : {}),
39
+ };
40
+ const res = await http.post('/feeds', body);
41
+ return res.data;
42
+ },
43
+ async update(slug, data) {
44
+ const params = {};
45
+ const siteId = data.siteId ?? defaultSiteId;
46
+ if (siteId)
47
+ params.siteId = siteId;
48
+ const { siteId: _siteId, ...updateBody } = data;
49
+ const url = params.siteId
50
+ ? `/feeds/${slug}?siteId=${encodeURIComponent(params.siteId)}`
51
+ : `/feeds/${slug}`;
52
+ const res = await http.put(url, updateBody);
53
+ return res.data;
54
+ },
55
+ async delete(slug, opts) {
56
+ const siteId = opts?.siteId ?? defaultSiteId;
57
+ const url = siteId
58
+ ? `/feeds/${slug}?siteId=${encodeURIComponent(siteId)}`
59
+ : `/feeds/${slug}`;
60
+ await http.delete(url);
61
+ },
62
+ };
63
+ }
64
+ //# sourceMappingURL=feed-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feed-client.js","sourceRoot":"","sources":["../src/feed-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { KywiHttpClient } from './http-client.js';
2
+ import type { KywiSdkFormScope } from './types.js';
3
+ export declare function createFormClient(http: KywiHttpClient): KywiSdkFormScope;
4
+ //# sourceMappingURL=form-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-client.d.ts","sourceRoot":"","sources":["../src/form-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAmC,MAAM,YAAY,CAAA;AAEnF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB,CAiBvE"}
@@ -0,0 +1,17 @@
1
+ export function createFormClient(http) {
2
+ return {
3
+ async submit(slug, data) {
4
+ const res = await http.post(`/forms/${slug}/submit`, data);
5
+ return res.data;
6
+ },
7
+ async listSubmissions(slug) {
8
+ const res = await http.get(`/forms/${slug}/submissions`);
9
+ return res.data;
10
+ },
11
+ async getCsrfToken(slug) {
12
+ const res = await http.get(`/forms/${slug}/csrf`);
13
+ return res.data;
14
+ },
15
+ };
16
+ }
17
+ //# sourceMappingURL=form-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-client.js","sourceRoot":"","sources":["../src/form-client.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,gBAAgB,CAAC,IAAoB;IACnD,OAAO;QACL,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI;YACrB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAkC,UAAU,IAAI,SAAS,EAAE,IAAI,CAAC,CAAA;YAC3F,OAAO,GAAG,CAAC,IAAI,CAAA;QACjB,CAAC;QAED,KAAK,CAAC,eAAe,CAAC,IAAI;YACxB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAoC,UAAU,IAAI,cAAc,CAAC,CAAA;YAC3F,OAAO,GAAG,CAAC,IAAI,CAAA;QACjB,CAAC;QAED,KAAK,CAAC,YAAY,CAAC,IAAI;YACrB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAqC,UAAU,IAAI,OAAO,CAAC,CAAA;YACrF,OAAO,GAAG,CAAC,IAAI,CAAA;QACjB,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { KywiSdkScope } from '../types.js';
2
+ export interface KywiSdkProviderProps {
3
+ sdk: KywiSdkScope;
4
+ children: React.ReactNode;
5
+ }
6
+ export declare function KywiSdkProvider({ sdk, children }: KywiSdkProviderProps): import("react/jsx-runtime").JSX.Element;
7
+ export declare function useKywiSdk(): KywiSdkScope;
8
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/hooks/context.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI/C,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,YAAY,CAAA;IACjB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED,wBAAgB,eAAe,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,oBAAoB,2CAMtE;AAED,wBAAgB,UAAU,IAAI,YAAY,CAMzC"}
@@ -0,0 +1,15 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { createContext, useContext } from 'react';
4
+ const KywiSdkContext = createContext(null);
5
+ export function KywiSdkProvider({ sdk, children }) {
6
+ return (_jsx(KywiSdkContext, { value: sdk, children: children }));
7
+ }
8
+ export function useKywiSdk() {
9
+ const ctx = useContext(KywiSdkContext);
10
+ if (!ctx) {
11
+ throw new Error('useKywiSdk must be used within a KywiSdkProvider');
12
+ }
13
+ return ctx;
14
+ }
15
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/hooks/context.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAGjD,MAAM,cAAc,GAAG,aAAa,CAAsB,IAAI,CAAC,CAAA;AAO/D,MAAM,UAAU,eAAe,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAwB;IACrE,OAAO,CACL,KAAC,cAAc,IAAC,KAAK,EAAE,GAAG,YACvB,QAAQ,GACM,CAClB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,MAAM,GAAG,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IACtC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;IACrE,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC"}
@@ -0,0 +1,8 @@
1
+ export { KywiSdkProvider, useKywiSdk } from './context.js';
2
+ export type { KywiSdkProviderProps } from './context.js';
3
+ export { useSdkQuery } from './use-sdk-query.js';
4
+ export type { SdkQueryResult } from './use-sdk-query.js';
5
+ export { useKywiSdkContent, useKywiSdkContentById, useKywiSdkContentList } from './use-content.js';
6
+ export { useKywiSdkNav, useKywiSdkBreadcrumbs } from './use-nav.js';
7
+ export { useKywiSdkFeed, useKywiSdkFeedQuery } from './use-feed.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC1D,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAClG,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AACnE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA"}
@@ -0,0 +1,7 @@
1
+ // @kywi-software/sdk hooks public API
2
+ export { KywiSdkProvider, useKywiSdk } from './context.js';
3
+ export { useSdkQuery } from './use-sdk-query.js';
4
+ export { useKywiSdkContent, useKywiSdkContentById, useKywiSdkContentList } from './use-content.js';
5
+ export { useKywiSdkNav, useKywiSdkBreadcrumbs } from './use-nav.js';
6
+ export { useKywiSdkFeed, useKywiSdkFeedQuery } from './use-feed.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAClG,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AACnE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA"}
@@ -0,0 +1,13 @@
1
+ import type { ContentItem, ContentListResult } from '../types.js';
2
+ import type { SdkQueryResult } from './use-sdk-query.js';
3
+ export declare function useKywiSdkContent(slug: string, siteId?: string): SdkQueryResult<ContentItem | null>;
4
+ export declare function useKywiSdkContentById(id: string): SdkQueryResult<ContentItem | null>;
5
+ export declare function useKywiSdkContentList(contentTypeName: string, opts?: {
6
+ siteId?: string;
7
+ page?: number;
8
+ limit?: number;
9
+ sort?: string;
10
+ dir?: 'asc' | 'desc';
11
+ status?: string;
12
+ }): SdkQueryResult<ContentListResult>;
13
+ //# sourceMappingURL=use-content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-content.d.ts","sourceRoot":"","sources":["../../src/hooks/use-content.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAExD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,WAAW,GAAG,IAAI,CAAC,CAGnG;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,CAAC,WAAW,GAAG,IAAI,CAAC,CAGpF;AAED,wBAAgB,qBAAqB,CACnC,eAAe,EAAE,MAAM,EACvB,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9G,cAAc,CAAC,iBAAiB,CAAC,CAMnC"}
@@ -0,0 +1,16 @@
1
+ 'use client';
2
+ import { useKywiSdk } from './context.js';
3
+ import { useSdkQuery } from './use-sdk-query.js';
4
+ export function useKywiSdkContent(slug, siteId) {
5
+ const sdk = useKywiSdk();
6
+ return useSdkQuery(() => sdk.content.getBySlug(slug, siteId), [slug, siteId]);
7
+ }
8
+ export function useKywiSdkContentById(id) {
9
+ const sdk = useKywiSdk();
10
+ return useSdkQuery(() => sdk.content.getById(id), [id]);
11
+ }
12
+ export function useKywiSdkContentList(contentTypeName, opts) {
13
+ const sdk = useKywiSdk();
14
+ return useSdkQuery(() => sdk.content.list(contentTypeName, opts?.siteId, opts), [contentTypeName, opts?.siteId, opts?.page, opts?.limit, opts?.sort, opts?.dir, opts?.status]);
15
+ }
16
+ //# sourceMappingURL=use-content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-content.js","sourceRoot":"","sources":["../../src/hooks/use-content.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAIhD,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,MAAe;IAC7D,MAAM,GAAG,GAAG,UAAU,EAAE,CAAA;IACxB,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;AAC/E,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,EAAU;IAC9C,MAAM,GAAG,GAAG,UAAU,EAAE,CAAA;IACxB,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AACzD,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,eAAuB,EACvB,IAA+G;IAE/G,MAAM,GAAG,GAAG,UAAU,EAAE,CAAA;IACxB,OAAO,WAAW,CAChB,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAC3D,CAAC,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAC9F,CAAA;AACH,CAAC"}