@sonordev/site-kit 1.5.5 → 2.0.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 (269) hide show
  1. package/dist/AnalyticsProvider-J7UMCBCJ.mjs +4 -0
  2. package/dist/{AnalyticsProvider-BBLU4U2T.mjs.map → AnalyticsProvider-J7UMCBCJ.mjs.map} +1 -1
  3. package/dist/AnalyticsProvider-PPDJIGWY.js +25 -0
  4. package/dist/{AnalyticsProvider-EMDIAAWR.js.map → AnalyticsProvider-PPDJIGWY.js.map} +1 -1
  5. package/dist/EngageWidget-IDBEBGQR.js +13 -0
  6. package/dist/{EngageWidget-UHWXXCAX.js.map → EngageWidget-IDBEBGQR.js.map} +1 -1
  7. package/dist/EngageWidget-SRRI4W7U.mjs +4 -0
  8. package/dist/{EngageWidget-CVZMTSB6.mjs.map → EngageWidget-SRRI4W7U.mjs.map} +1 -1
  9. package/dist/SignalBridge-D6W6OLVG.mjs +4 -0
  10. package/dist/{SignalBridge-WGHMEILW.mjs.map → SignalBridge-D6W6OLVG.mjs.map} +1 -1
  11. package/dist/SignalBridge-THATXU2R.js +33 -0
  12. package/dist/{SignalBridge-6UYUZ2CN.js.map → SignalBridge-THATXU2R.js.map} +1 -1
  13. package/dist/analytics/index.js +9 -9
  14. package/dist/analytics/index.mjs +2 -2
  15. package/dist/blog/index.js +75 -75
  16. package/dist/blog/index.js.map +1 -1
  17. package/dist/blog/index.mjs +75 -75
  18. package/dist/blog/index.mjs.map +1 -1
  19. package/dist/blog/server.js +2 -2
  20. package/dist/blog/server.js.map +1 -1
  21. package/dist/blog/server.mjs +2 -2
  22. package/dist/blog/server.mjs.map +1 -1
  23. package/dist/brand.css +87 -0
  24. package/dist/{chunk-ZU6YPEAF.mjs → chunk-2OJCYWSQ.mjs} +85 -73
  25. package/dist/chunk-2OJCYWSQ.mjs.map +1 -0
  26. package/dist/{chunk-PM2KQ6YK.mjs → chunk-3CXAWGUP.mjs} +3 -3
  27. package/dist/{chunk-PM2KQ6YK.mjs.map → chunk-3CXAWGUP.mjs.map} +1 -1
  28. package/dist/{chunk-36Y7OWES.mjs → chunk-3YQCPLGP.mjs} +4 -4
  29. package/dist/chunk-3YQCPLGP.mjs.map +1 -0
  30. package/dist/{chunk-XWWBUC2I.js → chunk-6ZGM7S5O.js} +77 -61
  31. package/dist/chunk-6ZGM7S5O.js.map +1 -0
  32. package/dist/{chunk-XFOL6JDF.mjs → chunk-7LAOWIWE.mjs} +4 -4
  33. package/dist/chunk-7LAOWIWE.mjs.map +1 -0
  34. package/dist/{chunk-YBTYDBWY.js → chunk-7M3FNAS5.js} +6 -8
  35. package/dist/chunk-7M3FNAS5.js.map +1 -0
  36. package/dist/{chunk-4QHHFCAA.mjs → chunk-AOIG5PVY.mjs} +6 -8
  37. package/dist/chunk-AOIG5PVY.mjs.map +1 -0
  38. package/dist/{chunk-VZMDH3R4.mjs → chunk-B22WSN4L.mjs} +4 -4
  39. package/dist/chunk-B22WSN4L.mjs.map +1 -0
  40. package/dist/{chunk-ELDJDBQL.js → chunk-BVUOATPG.js} +7 -7
  41. package/dist/chunk-BVUOATPG.js.map +1 -0
  42. package/dist/{chunk-N24BPFF6.mjs → chunk-CU6OGBKK.mjs} +6 -6
  43. package/dist/chunk-CU6OGBKK.mjs.map +1 -0
  44. package/dist/{chunk-NRNK7LXK.mjs → chunk-DWI5ZKPM.mjs} +4 -4
  45. package/dist/chunk-DWI5ZKPM.mjs.map +1 -0
  46. package/dist/{chunk-KRPFLF62.mjs → chunk-F5NXD7VQ.mjs} +10 -12
  47. package/dist/{chunk-KRPFLF62.mjs.map → chunk-F5NXD7VQ.mjs.map} +1 -1
  48. package/dist/{chunk-PTTDKFL7.js → chunk-FCXQECM7.js} +6 -6
  49. package/dist/chunk-FCXQECM7.js.map +1 -0
  50. package/dist/{chunk-DY4K6X3A.js → chunk-GCPPXUAI.js} +6 -6
  51. package/dist/chunk-GCPPXUAI.js.map +1 -0
  52. package/dist/{chunk-KJN2C6YE.js → chunk-I34XL5VJ.js} +5 -5
  53. package/dist/chunk-I34XL5VJ.js.map +1 -0
  54. package/dist/{chunk-G6VGUAK2.js → chunk-IFVMZFNT.js} +4 -4
  55. package/dist/chunk-IFVMZFNT.js.map +1 -0
  56. package/dist/{chunk-FMB2RZDH.mjs → chunk-J4U3IEXL.mjs} +6 -6
  57. package/dist/chunk-J4U3IEXL.mjs.map +1 -0
  58. package/dist/{chunk-EUNL6GAL.js → chunk-JP5WGL75.js} +4 -4
  59. package/dist/chunk-JP5WGL75.js.map +1 -0
  60. package/dist/{chunk-MG23BS36.js → chunk-L3UB4B74.js} +5 -5
  61. package/dist/chunk-L3UB4B74.js.map +1 -0
  62. package/dist/{chunk-FVCQBTNK.mjs → chunk-MSRLAD7F.mjs} +77 -61
  63. package/dist/chunk-MSRLAD7F.mjs.map +1 -0
  64. package/dist/{chunk-M5FLRLHI.mjs → chunk-OM6R7CDP.mjs} +3 -3
  65. package/dist/chunk-OM6R7CDP.mjs.map +1 -0
  66. package/dist/{chunk-4X5TFGKD.mjs → chunk-P3POHQWW.mjs} +422 -426
  67. package/dist/chunk-P3POHQWW.mjs.map +1 -0
  68. package/dist/{chunk-GJD4CFHN.js → chunk-RLNG67S5.js} +7 -7
  69. package/dist/chunk-RLNG67S5.js.map +1 -0
  70. package/dist/{chunk-FTSXKDP3.js → chunk-RO6DHV6S.js} +10 -12
  71. package/dist/{chunk-FTSXKDP3.js.map → chunk-RO6DHV6S.js.map} +1 -1
  72. package/dist/{chunk-WW7UM7XY.js → chunk-TZAD7CZD.js} +424 -428
  73. package/dist/chunk-TZAD7CZD.js.map +1 -0
  74. package/dist/{chunk-TXZNP76P.js → chunk-UD5447TC.js} +13 -15
  75. package/dist/chunk-UD5447TC.js.map +1 -0
  76. package/dist/{chunk-TC6TOW2T.js → chunk-UJ757WGI.js} +4 -4
  77. package/dist/{chunk-TC6TOW2T.js.map → chunk-UJ757WGI.js.map} +1 -1
  78. package/dist/{chunk-C3A5HXHX.mjs → chunk-V6V6OXS2.mjs} +5 -5
  79. package/dist/chunk-V6V6OXS2.mjs.map +1 -0
  80. package/dist/{chunk-X4J33XQD.js → chunk-W6K7MQCC.js} +6 -6
  81. package/dist/chunk-W6K7MQCC.js.map +1 -0
  82. package/dist/{chunk-FI2ME55T.mjs → chunk-W7RZ3OTA.mjs} +7 -7
  83. package/dist/chunk-W7RZ3OTA.mjs.map +1 -0
  84. package/dist/{chunk-IJ2LWZID.js → chunk-WETCVFIK.js} +85 -73
  85. package/dist/chunk-WETCVFIK.js.map +1 -0
  86. package/dist/{chunk-VNAJQKYG.mjs → chunk-WN2PUL6B.mjs} +13 -15
  87. package/dist/chunk-WN2PUL6B.mjs.map +1 -0
  88. package/dist/cli/index.js +19339 -3461
  89. package/dist/cli/index.js.map +1 -1
  90. package/dist/cli/index.mjs +19331 -3452
  91. package/dist/cli/index.mjs.map +1 -1
  92. package/dist/cms/index.d.mts +1 -1
  93. package/dist/cms/index.d.ts +1 -1
  94. package/dist/cms/index.js +3 -3
  95. package/dist/cms/index.js.map +1 -1
  96. package/dist/cms/index.mjs +2 -2
  97. package/dist/cms/index.mjs.map +1 -1
  98. package/dist/cms/server.js +4 -4
  99. package/dist/cms/server.mjs +1 -1
  100. package/dist/commerce/index.js +47 -47
  101. package/dist/commerce/index.mjs +3 -3
  102. package/dist/engage/index.js +6 -6
  103. package/dist/engage/index.js.map +1 -1
  104. package/dist/engage/index.mjs +3 -3
  105. package/dist/engage/index.mjs.map +1 -1
  106. package/dist/forms/index.js +379 -84
  107. package/dist/forms/index.js.map +1 -1
  108. package/dist/forms/index.mjs +375 -65
  109. package/dist/forms/index.mjs.map +1 -1
  110. package/dist/forms/styles.css +312 -0
  111. package/dist/images/index.js +11 -11
  112. package/dist/images/index.mjs +2 -2
  113. package/dist/images/server.js +4 -4
  114. package/dist/images/server.mjs +1 -1
  115. package/dist/index.d.mts +4 -131
  116. package/dist/index.d.ts +4 -131
  117. package/dist/index.js +85 -1373
  118. package/dist/index.js.map +1 -1
  119. package/dist/index.mjs +13 -1294
  120. package/dist/index.mjs.map +1 -1
  121. package/dist/layout/client.js +2 -2
  122. package/dist/layout/client.mjs +1 -1
  123. package/dist/layout/index.js +21 -11
  124. package/dist/layout/index.js.map +1 -1
  125. package/dist/layout/index.mjs +17 -7
  126. package/dist/layout/index.mjs.map +1 -1
  127. package/dist/llms/index.d.mts +3 -3
  128. package/dist/llms/index.d.ts +3 -3
  129. package/dist/llms/index.js +12 -12
  130. package/dist/llms/index.js.map +1 -1
  131. package/dist/llms/index.mjs +2 -2
  132. package/dist/llms/index.mjs.map +1 -1
  133. package/dist/manifest/index.js +4 -4
  134. package/dist/manifest/index.js.map +1 -1
  135. package/dist/manifest/index.mjs +3 -3
  136. package/dist/manifest/index.mjs.map +1 -1
  137. package/dist/middleware/index.js +3 -3
  138. package/dist/middleware/index.mjs +2 -2
  139. package/dist/redirects/index.js +6 -6
  140. package/dist/redirects/index.mjs +2 -2
  141. package/dist/robots/index.js +3 -3
  142. package/dist/robots/index.js.map +1 -1
  143. package/dist/robots/index.mjs +2 -2
  144. package/dist/robots/index.mjs.map +1 -1
  145. package/dist/{routing-DZYzyDHw.d.ts → routing-DQ_Et-OP.d.mts} +4 -4
  146. package/dist/{routing-B5XS-6_W.d.mts → routing-IYiJNIIX.d.ts} +4 -4
  147. package/dist/seo/index.d.mts +3 -5
  148. package/dist/seo/index.d.ts +3 -5
  149. package/dist/seo/index.js +77 -76
  150. package/dist/seo/index.js.map +1 -1
  151. package/dist/seo/index.mjs +41 -40
  152. package/dist/seo/index.mjs.map +1 -1
  153. package/dist/seo/register-sitemap-cli.js +3 -3
  154. package/dist/seo/register-sitemap-cli.js.map +1 -1
  155. package/dist/seo/register-sitemap-cli.mjs +3 -3
  156. package/dist/seo/register-sitemap-cli.mjs.map +1 -1
  157. package/dist/seo/server.d.mts +3 -3
  158. package/dist/seo/server.d.ts +3 -3
  159. package/dist/seo/server.js +7 -7
  160. package/dist/seo/server.js.map +1 -1
  161. package/dist/seo/server.mjs +5 -5
  162. package/dist/seo/server.mjs.map +1 -1
  163. package/dist/{server-api-XGKRGUMG.js → server-api-36R24YWN.js} +21 -21
  164. package/dist/{server-api-XGKRGUMG.js.map → server-api-36R24YWN.js.map} +1 -1
  165. package/dist/{server-api-COVFLFZ2.mjs → server-api-UIZU4JM3.mjs} +3 -3
  166. package/dist/{server-api-COVFLFZ2.mjs.map → server-api-UIZU4JM3.mjs.map} +1 -1
  167. package/dist/setup/index.d.mts +2 -5
  168. package/dist/setup/index.d.ts +2 -5
  169. package/dist/setup/index.js +0 -31
  170. package/dist/setup/index.mjs +1 -4
  171. package/dist/site-config/index.js +3 -3
  172. package/dist/site-config/index.mjs +1 -1
  173. package/dist/sitemap/index.js +10 -9
  174. package/dist/sitemap/index.js.map +1 -1
  175. package/dist/sitemap/index.mjs +8 -7
  176. package/dist/sitemap/index.mjs.map +1 -1
  177. package/dist/sync/index.js +13 -13
  178. package/dist/sync/index.mjs +1 -1
  179. package/dist/{types-KZP_VWZp.d.mts → types-CGkyylOa.d.mts} +2 -2
  180. package/dist/{types-KZP_VWZp.d.ts → types-CGkyylOa.d.ts} +2 -2
  181. package/package.json +4 -12
  182. package/dist/AnalyticsProvider-BBLU4U2T.mjs +0 -4
  183. package/dist/AnalyticsProvider-EMDIAAWR.js +0 -25
  184. package/dist/EngageWidget-CVZMTSB6.mjs +0 -4
  185. package/dist/EngageWidget-UHWXXCAX.js +0 -13
  186. package/dist/SetupWizard-Cki06kB0.d.mts +0 -12
  187. package/dist/SetupWizard-Cki06kB0.d.ts +0 -12
  188. package/dist/SignalBridge-6UYUZ2CN.js +0 -33
  189. package/dist/SignalBridge-WGHMEILW.mjs +0 -4
  190. package/dist/chunk-36Y7OWES.mjs.map +0 -1
  191. package/dist/chunk-373TK6TZ.js +0 -321
  192. package/dist/chunk-373TK6TZ.js.map +0 -1
  193. package/dist/chunk-4MOJJSNA.js +0 -14867
  194. package/dist/chunk-4MOJJSNA.js.map +0 -1
  195. package/dist/chunk-4QHHFCAA.mjs.map +0 -1
  196. package/dist/chunk-4X5TFGKD.mjs.map +0 -1
  197. package/dist/chunk-5YDPPOUU.mjs +0 -810
  198. package/dist/chunk-5YDPPOUU.mjs.map +0 -1
  199. package/dist/chunk-7FKPJQVS.mjs +0 -289
  200. package/dist/chunk-7FKPJQVS.mjs.map +0 -1
  201. package/dist/chunk-C3A5HXHX.mjs.map +0 -1
  202. package/dist/chunk-DY4K6X3A.js.map +0 -1
  203. package/dist/chunk-ELDJDBQL.js.map +0 -1
  204. package/dist/chunk-EUNL6GAL.js.map +0 -1
  205. package/dist/chunk-FI2ME55T.mjs.map +0 -1
  206. package/dist/chunk-FMB2RZDH.mjs.map +0 -1
  207. package/dist/chunk-FVCQBTNK.mjs.map +0 -1
  208. package/dist/chunk-G6VGUAK2.js.map +0 -1
  209. package/dist/chunk-GJD4CFHN.js.map +0 -1
  210. package/dist/chunk-GVXZWXQ7.js +0 -814
  211. package/dist/chunk-GVXZWXQ7.js.map +0 -1
  212. package/dist/chunk-HF2FWDBJ.mjs +0 -968
  213. package/dist/chunk-HF2FWDBJ.mjs.map +0 -1
  214. package/dist/chunk-IFAW7JFO.js +0 -1429
  215. package/dist/chunk-IFAW7JFO.js.map +0 -1
  216. package/dist/chunk-IJ2LWZID.js.map +0 -1
  217. package/dist/chunk-IKIJEKU3.mjs +0 -1427
  218. package/dist/chunk-IKIJEKU3.mjs.map +0 -1
  219. package/dist/chunk-JFTGG6HK.mjs +0 -14848
  220. package/dist/chunk-JFTGG6HK.mjs.map +0 -1
  221. package/dist/chunk-JM3ZR6LB.js +0 -981
  222. package/dist/chunk-JM3ZR6LB.js.map +0 -1
  223. package/dist/chunk-KJN2C6YE.js.map +0 -1
  224. package/dist/chunk-M5FLRLHI.mjs.map +0 -1
  225. package/dist/chunk-MCGLYYAR.mjs +0 -341
  226. package/dist/chunk-MCGLYYAR.mjs.map +0 -1
  227. package/dist/chunk-MG23BS36.js.map +0 -1
  228. package/dist/chunk-N24BPFF6.mjs.map +0 -1
  229. package/dist/chunk-NRNK7LXK.mjs.map +0 -1
  230. package/dist/chunk-PTTDKFL7.js.map +0 -1
  231. package/dist/chunk-S7FRYNSU.mjs +0 -315
  232. package/dist/chunk-S7FRYNSU.mjs.map +0 -1
  233. package/dist/chunk-SLB5V4RT.js +0 -302
  234. package/dist/chunk-SLB5V4RT.js.map +0 -1
  235. package/dist/chunk-TXZNP76P.js.map +0 -1
  236. package/dist/chunk-VNAJQKYG.mjs.map +0 -1
  237. package/dist/chunk-VZMDH3R4.mjs.map +0 -1
  238. package/dist/chunk-WW7UM7XY.js.map +0 -1
  239. package/dist/chunk-X4J33XQD.js.map +0 -1
  240. package/dist/chunk-XFOL6JDF.mjs.map +0 -1
  241. package/dist/chunk-XWWBUC2I.js.map +0 -1
  242. package/dist/chunk-YBTYDBWY.js.map +0 -1
  243. package/dist/chunk-ZQO6FZZB.js +0 -343
  244. package/dist/chunk-ZQO6FZZB.js.map +0 -1
  245. package/dist/chunk-ZU6YPEAF.mjs.map +0 -1
  246. package/dist/generators-DOFWGRXS.js +0 -37
  247. package/dist/generators-DOFWGRXS.js.map +0 -1
  248. package/dist/generators-R62APO62.mjs +0 -4
  249. package/dist/generators-R62APO62.mjs.map +0 -1
  250. package/dist/migrator-3WQB3KQ2.mjs +0 -4
  251. package/dist/migrator-3WQB3KQ2.mjs.map +0 -1
  252. package/dist/migrator-HFVQYK5R.js +0 -37
  253. package/dist/migrator-HFVQYK5R.js.map +0 -1
  254. package/dist/scanner-AF7YUCFG.mjs +0 -4
  255. package/dist/scanner-AF7YUCFG.mjs.map +0 -1
  256. package/dist/scanner-DBD5K6F7.js +0 -53
  257. package/dist/scanner-DBD5K6F7.js.map +0 -1
  258. package/dist/setup/client.d.mts +0 -60
  259. package/dist/setup/client.d.ts +0 -60
  260. package/dist/setup/client.js +0 -31
  261. package/dist/setup/client.js.map +0 -1
  262. package/dist/setup/client.mjs +0 -6
  263. package/dist/setup/client.mjs.map +0 -1
  264. package/dist/setup/server.d.mts +0 -14
  265. package/dist/setup/server.d.ts +0 -14
  266. package/dist/setup/server.js +0 -13
  267. package/dist/setup/server.js.map +0 -1
  268. package/dist/setup/server.mjs +0 -4
  269. package/dist/setup/server.mjs.map +0 -1
@@ -1,9 +1,319 @@
1
1
  'use client';
2
- export { configureFormsApi, defineForm, field, formsApi, initializeForms } from '../chunk-S7FRYNSU.mjs';
3
2
  import '../chunk-4XPGGLVP.mjs';
4
3
  import { useRef, useEffect, useCallback, useState, useMemo } from 'react';
5
4
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
6
5
 
6
+ // src/forms/formsApi.ts
7
+ var config = null;
8
+ function configureFormsApi(options) {
9
+ config = options;
10
+ }
11
+ function getConfig() {
12
+ if (config) return config;
13
+ if (typeof window !== "undefined") {
14
+ const apiUrl = window.__SITE_KIT_API_URL__;
15
+ const apiKey = window.__SITE_KIT_API_KEY__;
16
+ if (apiUrl && apiKey) {
17
+ return { baseUrl: apiUrl, apiKey };
18
+ }
19
+ }
20
+ throw new Error(
21
+ "Forms API not configured. Either wrap your app in SiteKitProvider or call configureFormsApi() first."
22
+ );
23
+ }
24
+ async function apiRequest(method, path, body) {
25
+ const { baseUrl, apiKey, getAuthToken } = getConfig();
26
+ const headers = {
27
+ "Content-Type": "application/json"
28
+ };
29
+ if (apiKey) {
30
+ headers["x-api-key"] = apiKey;
31
+ } else if (getAuthToken) {
32
+ const token = await getAuthToken();
33
+ headers["Authorization"] = `Bearer ${token}`;
34
+ }
35
+ const response = await fetch(`${baseUrl}${path}`, {
36
+ method,
37
+ headers,
38
+ body: body ? JSON.stringify(body) : void 0
39
+ });
40
+ if (!response.ok) {
41
+ const error = await response.json().catch(() => ({ message: response.statusText }));
42
+ throw new Error(error.message || `API error: ${response.status}`);
43
+ }
44
+ if (response.status === 204) {
45
+ return void 0;
46
+ }
47
+ return response.json();
48
+ }
49
+ var formsApi = {
50
+ /**
51
+ * List all forms for a project
52
+ */
53
+ async list(options = {}) {
54
+ const params = new URLSearchParams();
55
+ if (options.projectId) params.set("projectId", options.projectId);
56
+ if (options.formType) params.set("formType", options.formType);
57
+ if (options.isActive !== void 0) params.set("isActive", String(options.isActive));
58
+ if (options.search) params.set("search", options.search);
59
+ const query = params.toString();
60
+ const result = await apiRequest("GET", `/forms${query ? `?${query}` : ""}`);
61
+ return result.data;
62
+ },
63
+ /**
64
+ * Get a single form by ID or slug
65
+ */
66
+ async get(idOrSlug) {
67
+ return apiRequest("GET", `/forms/${idOrSlug}`);
68
+ },
69
+ /**
70
+ * Create a new form
71
+ */
72
+ async create(input) {
73
+ return apiRequest("POST", "/forms", input);
74
+ },
75
+ /**
76
+ * Update an existing form
77
+ */
78
+ async update(id, input) {
79
+ return apiRequest("PUT", `/forms/${id}`, input);
80
+ },
81
+ /**
82
+ * Delete a form
83
+ */
84
+ async delete(id) {
85
+ return apiRequest("DELETE", `/forms/${id}`);
86
+ },
87
+ /**
88
+ * Add a field to an existing form
89
+ */
90
+ async addField(formId, field2) {
91
+ const form = await formsApi.get(formId);
92
+ const maxSortOrder = Math.max(0, ...(form.fields || []).map((f) => f.sortOrder || 0));
93
+ return formsApi.update(formId, {
94
+ fields: [
95
+ ...form.fields || [],
96
+ { ...field2, sortOrder: field2.sortOrder ?? maxSortOrder + 1 }
97
+ ]
98
+ });
99
+ },
100
+ /**
101
+ * Update a field in an existing form
102
+ */
103
+ async updateField(formId, fieldSlug, updates) {
104
+ const form = await formsApi.get(formId);
105
+ return formsApi.update(formId, {
106
+ fields: (form.fields || []).map(
107
+ (f) => f.slug === fieldSlug ? { ...f, ...updates } : f
108
+ )
109
+ });
110
+ },
111
+ /**
112
+ * Remove a field from a form
113
+ */
114
+ async removeField(formId, fieldSlug) {
115
+ const form = await formsApi.get(formId);
116
+ return formsApi.update(formId, {
117
+ fields: (form.fields || []).filter((f) => f.slug !== fieldSlug)
118
+ });
119
+ },
120
+ /**
121
+ * Reorder fields in a form
122
+ */
123
+ async reorderFields(formId, fieldSlugs) {
124
+ const form = await formsApi.get(formId);
125
+ const fieldsMap = new Map((form.fields || []).map((f) => [f.slug, f]));
126
+ const orderedFields = fieldSlugs.map((slug, index) => {
127
+ const field2 = fieldsMap.get(slug);
128
+ if (!field2) throw new Error(`Field not found: ${slug}`);
129
+ return { ...field2, sortOrder: index };
130
+ });
131
+ return formsApi.update(formId, { fields: orderedFields });
132
+ },
133
+ /**
134
+ * Clone a form
135
+ */
136
+ async clone(formId, newSlug, newName) {
137
+ const form = await formsApi.get(formId);
138
+ return formsApi.create({
139
+ projectId: form.projectId,
140
+ slug: newSlug,
141
+ name: newName || `${form.name} (Copy)`,
142
+ description: form.description,
143
+ formType: form.formType,
144
+ successMessage: form.successMessage,
145
+ redirectUrl: form.redirectUrl,
146
+ notificationEmails: form.notificationEmails,
147
+ submitButtonText: form.submitButtonText,
148
+ layout: form.layout,
149
+ showProgress: form.showProgress,
150
+ enableSaveDraft: form.enableSaveDraft,
151
+ isActive: false,
152
+ // Clone as inactive
153
+ fields: (form.fields || []).map(({ id, ...field2 }) => field2),
154
+ // Remove IDs
155
+ steps: (form.steps || []).map(({ id, ...step }) => step)
156
+ // Remove IDs
157
+ });
158
+ },
159
+ /**
160
+ * Activate or deactivate a form
161
+ */
162
+ async setActive(formId, isActive) {
163
+ return formsApi.update(formId, { isActive });
164
+ },
165
+ /**
166
+ * Sync a form definition to the backend
167
+ * Creates the form if it doesn't exist, updates if it does
168
+ * Perfect for defining forms in code during development
169
+ *
170
+ * @example
171
+ * ```tsx
172
+ * // In your app initialization or form component
173
+ * await formsApi.sync({
174
+ * slug: 'contact',
175
+ * name: 'Contact Form',
176
+ * formType: 'prospect',
177
+ * fields: [
178
+ * field.text('name', 'Your Name', { isRequired: true }),
179
+ * field.email('email', 'Email Address'),
180
+ * field.phone('phone', 'Phone Number'),
181
+ * field.textarea('message', 'Message'),
182
+ * ]
183
+ * })
184
+ * ```
185
+ */
186
+ async sync(input) {
187
+ return apiRequest(
188
+ "POST",
189
+ "/api/public/forms/sync",
190
+ input
191
+ );
192
+ },
193
+ /**
194
+ * Sync multiple forms at once
195
+ * Useful for initializing all forms in your app
196
+ */
197
+ async syncAll(forms) {
198
+ return Promise.all(forms.map((form) => formsApi.sync(form)));
199
+ }
200
+ };
201
+ var field = {
202
+ text: (slug, label, options) => ({
203
+ slug,
204
+ label,
205
+ fieldType: "text",
206
+ ...options
207
+ }),
208
+ email: (slug, label, options) => ({
209
+ slug,
210
+ label,
211
+ fieldType: "email",
212
+ isRequired: true,
213
+ ...options
214
+ }),
215
+ phone: (slug, label, options) => ({
216
+ slug,
217
+ label,
218
+ fieldType: "phone",
219
+ ...options
220
+ }),
221
+ textarea: (slug, label, options) => ({
222
+ slug,
223
+ label,
224
+ fieldType: "textarea",
225
+ ...options
226
+ }),
227
+ select: (slug, label, choices, options) => ({
228
+ slug,
229
+ label,
230
+ fieldType: "select",
231
+ options: choices,
232
+ ...options
233
+ }),
234
+ radio: (slug, label, choices, options) => ({
235
+ slug,
236
+ label,
237
+ fieldType: "radio",
238
+ options: choices,
239
+ ...options
240
+ }),
241
+ checkbox: (slug, label, options) => ({
242
+ slug,
243
+ label,
244
+ fieldType: "checkbox",
245
+ ...options
246
+ }),
247
+ date: (slug, label, options) => ({
248
+ slug,
249
+ label,
250
+ fieldType: "date",
251
+ ...options
252
+ }),
253
+ number: (slug, label, options) => ({
254
+ slug,
255
+ label,
256
+ fieldType: "number",
257
+ ...options
258
+ }),
259
+ rating: (slug, label, options) => ({
260
+ slug,
261
+ label,
262
+ fieldType: "rating",
263
+ ...options
264
+ }),
265
+ file: (slug, label, options) => ({
266
+ slug,
267
+ label,
268
+ fieldType: "file",
269
+ ...options
270
+ }),
271
+ hidden: (slug, defaultValue) => ({
272
+ slug,
273
+ label: "",
274
+ fieldType: "hidden",
275
+ defaultValue
276
+ }),
277
+ heading: (slug, label) => ({
278
+ slug,
279
+ label,
280
+ fieldType: "heading"
281
+ }),
282
+ paragraph: (slug, label) => ({
283
+ slug,
284
+ label,
285
+ fieldType: "paragraph"
286
+ })
287
+ };
288
+ function defineForm(definition) {
289
+ const fieldsWithOrder = definition.fields.map((f, index) => ({
290
+ ...f,
291
+ sortOrder: f.sortOrder ?? index
292
+ }));
293
+ return {
294
+ ...definition,
295
+ fields: fieldsWithOrder,
296
+ formType: definition.formType || "contact",
297
+ successMessage: definition.successMessage || "Thank you for your submission!",
298
+ submitButtonText: definition.submitButtonText || "Submit",
299
+ layout: definition.layout || "stacked",
300
+ isActive: definition.isActive ?? true
301
+ };
302
+ }
303
+ async function initializeForms(forms) {
304
+ if (typeof window === "undefined") {
305
+ console.log(`[Site-Kit] ${forms.length} form(s) ready to sync: ${forms.map((f) => f.slug).join(", ")}`);
306
+ return;
307
+ }
308
+ try {
309
+ const results = await formsApi.syncAll(forms);
310
+ const created = results.filter((r) => r.created).length;
311
+ const updated = results.filter((r) => r.updated).length;
312
+ console.log(`[Site-Kit] Forms synced: ${created} created, ${updated} updated`);
313
+ } catch (error) {
314
+ console.error("[Site-Kit] Failed to sync forms:", error);
315
+ }
316
+ }
7
317
  function useFormTracking({
8
318
  formId,
9
319
  totalSteps,
@@ -463,7 +773,7 @@ function useForm(formIdOrSlug, options = {}) {
463
773
  const apiUrl = typeof window !== "undefined" ? window.__SITE_KIT_API_URL__ || "https://api.sonor.io" : "https://api.sonor.io";
464
774
  const apiKey = typeof window !== "undefined" ? window.__SITE_KIT_API_KEY__ : void 0;
465
775
  if (!apiKey) {
466
- throw new Error("API key is required. Set SONOR_API_KEY (or NEXT_PUBLIC_UPTRADE_API_KEY) in your .env");
776
+ throw new Error("API key is required. Set SONOR_API_KEY in your .env");
467
777
  }
468
778
  const honeypotFieldName = form.honeypot_field || "website";
469
779
  const recaptchaToken = form.recaptcha_enabled ? await getRecaptchaToken(form.recaptcha_site_key) : null;
@@ -481,7 +791,7 @@ function useForm(formIdOrSlug, options = {}) {
481
791
  pageUrl: typeof window !== "undefined" ? window.location.href : null,
482
792
  referrer: typeof document !== "undefined" ? document.referrer || null : null,
483
793
  userAgent: typeof navigator !== "undefined" ? navigator.userAgent : null,
484
- sessionId: typeof sessionStorage !== "undefined" ? sessionStorage.getItem("_uptrade_sid") : null,
794
+ sessionId: typeof sessionStorage !== "undefined" ? sessionStorage.getItem("_sk_sid") : null,
485
795
  recaptchaToken: recaptchaToken || void 0,
486
796
  utmSource: utm.utm_source,
487
797
  utmMedium: utm.utm_medium,
@@ -569,32 +879,32 @@ function normalizeOptions(options) {
569
879
  }
570
880
  return [];
571
881
  }
572
- function FormField({ field: field2, value, error, onChange, classPrefix = "uptrade-form" }) {
573
- const inputId = `uptrade-${field2.id || field2.slug}`;
882
+ function FormField({ field: field2, value, error, onChange, classPrefix = "sk-form" }) {
883
+ const inputId = `sk-${field2.id || field2.slug}`;
574
884
  const options = normalizeOptions(field2.options);
575
885
  const baseInputStyle = {
576
886
  width: "100%",
577
- padding: "var(--uptrade-input-padding, 10px 12px)",
578
- fontSize: "var(--uptrade-font-size, 16px)",
579
- border: error ? "1px solid var(--uptrade-input-border-error, #ef4444)" : "1px solid var(--uptrade-input-border, #d1d5db)",
580
- borderRadius: "var(--uptrade-input-radius, 6px)",
581
- backgroundColor: "var(--uptrade-input-bg, #ffffff)",
887
+ padding: "var(--sk-input-padding, 10px 12px)",
888
+ fontSize: "var(--sk-font-size, 16px)",
889
+ border: error ? "1px solid var(--sk-input-border-error, #ef4444)" : "1px solid var(--sk-input-border, #d1d5db)",
890
+ borderRadius: "var(--sk-input-radius, 6px)",
891
+ backgroundColor: "var(--sk-input-bg, #ffffff)",
582
892
  outline: "none",
583
893
  fontFamily: "inherit"
584
894
  };
585
895
  const labelStyle = {
586
896
  display: "block",
587
897
  marginBottom: 6,
588
- fontWeight: "var(--uptrade-label-weight, 500)",
589
- color: "var(--uptrade-label-color, inherit)"
898
+ fontWeight: "var(--sk-label-weight, 500)",
899
+ color: "var(--sk-label-color, inherit)"
590
900
  };
591
901
  const errorStyle = {
592
- color: "var(--uptrade-error-color, #ef4444)",
902
+ color: "var(--sk-error, #ef4444)",
593
903
  fontSize: 14,
594
904
  marginTop: 4
595
905
  };
596
906
  const helpStyle = {
597
- color: "var(--uptrade-help-color, #6b7280)",
907
+ color: "var(--sk-text-tertiary, #6b7280)",
598
908
  fontSize: 14,
599
909
  marginTop: 4
600
910
  };
@@ -602,7 +912,7 @@ function FormField({ field: field2, value, error, onChange, classPrefix = "uptra
602
912
  return /* @__PURE__ */ jsx("h3", { className: `${classPrefix}__heading`, style: { margin: "16px 0 8px", fontWeight: 600, fontSize: 18 }, children: field2.label });
603
913
  }
604
914
  if (field2.field_type === "paragraph") {
605
- return /* @__PURE__ */ jsx("p", { className: `${classPrefix}__paragraph`, style: { color: "var(--uptrade-help-color, #6b7280)", margin: "8px 0" }, children: field2.help_text || field2.label });
915
+ return /* @__PURE__ */ jsx("p", { className: `${classPrefix}__paragraph`, style: { color: "var(--sk-text-tertiary, #6b7280)", margin: "8px 0" }, children: field2.help_text || field2.label });
606
916
  }
607
917
  if (field2.field_type === "hidden") {
608
918
  return /* @__PURE__ */ jsx("input", { type: "hidden", name: field2.slug, value: String(value || "") });
@@ -612,7 +922,7 @@ function FormField({ field: field2, value, error, onChange, classPrefix = "uptra
612
922
  return /* @__PURE__ */ jsxs("div", { className: `${classPrefix}__field ${classPrefix}__field--${field2.field_type}`, children: [
613
923
  /* @__PURE__ */ jsxs("label", { htmlFor: inputId, className: `${classPrefix}__label`, style: { ...labelStyle, ...hideLabel ? { position: "absolute", width: 1, height: 1, padding: 0, margin: -1, overflow: "hidden", clip: "rect(0,0,0,0)", whiteSpace: "nowrap", border: 0 } : {} }, children: [
614
924
  field2.label,
615
- field2.is_required && /* @__PURE__ */ jsx("span", { style: { color: "var(--uptrade-error-color, #ef4444)" }, children: " *" })
925
+ field2.is_required && /* @__PURE__ */ jsx("span", { style: { color: "var(--sk-error, #ef4444)" }, children: " *" })
616
926
  ] }),
617
927
  ["text", "email", "phone", "tel", "number"].includes(field2.field_type) && /* @__PURE__ */ jsx(
618
928
  "input",
@@ -788,7 +1098,7 @@ function FormField({ field: field2, value, error, onChange, classPrefix = "uptra
788
1098
  border: "none",
789
1099
  fontSize: 24,
790
1100
  cursor: "pointer",
791
- color: value >= star ? "var(--uptrade-rating-active, #fbbf24)" : "var(--uptrade-rating-inactive, #d1d5db)"
1101
+ color: value >= star ? "var(--sk-rating-active, #fbbf24)" : "var(--sk-rating-inactive, #d1d5db)"
792
1102
  },
793
1103
  children: "\u2605"
794
1104
  },
@@ -815,7 +1125,7 @@ function FormField({ field: field2, value, error, onChange, classPrefix = "uptra
815
1125
  ] });
816
1126
  }
817
1127
  function FormClient({
818
- config,
1128
+ config: config2,
819
1129
  className,
820
1130
  onSuccess,
821
1131
  onError,
@@ -827,19 +1137,19 @@ function FormClient({
827
1137
  const [isSubmitting, setIsSubmitting] = useState(false);
828
1138
  const [isComplete, setIsComplete] = useState(false);
829
1139
  const [honeypotValue, setHoneypotValue] = useState("");
830
- const honeypotFieldName = config.honeypot_field || "website";
1140
+ const honeypotFieldName = config2.honeypot_field || "website";
831
1141
  const { trackStepChange, trackComplete } = useFormTracking({
832
- formId: config.id,
833
- totalSteps: config.total_steps
1142
+ formId: config2.id,
1143
+ totalSteps: config2.total_steps
834
1144
  });
835
1145
  const currentFields = useMemo(() => {
836
- if (!config.is_multi_step) {
837
- return config.fields || [];
1146
+ if (!config2.is_multi_step) {
1147
+ return config2.fields || [];
838
1148
  }
839
- const currentStepConfig = config.steps?.find((s) => s.step_number === step);
840
- if (!currentStepConfig) return config.fields || [];
841
- return (config.fields || []).filter((f) => f.step_id === currentStepConfig.id);
842
- }, [config, step]);
1149
+ const currentStepConfig = config2.steps?.find((s) => s.step_number === step);
1150
+ if (!currentStepConfig) return config2.fields || [];
1151
+ return (config2.fields || []).filter((f) => f.step_id === currentStepConfig.id);
1152
+ }, [config2, step]);
843
1153
  const isFieldVisible = useCallback((field2) => {
844
1154
  if (!field2.conditional?.show_when) return true;
845
1155
  const { field: condField, operator, value } = field2.conditional.show_when;
@@ -921,14 +1231,14 @@ function FormClient({
921
1231
  }, [errors]);
922
1232
  const nextStep = useCallback(() => {
923
1233
  if (!validateStep()) return false;
924
- if (step < config.total_steps) {
1234
+ if (step < config2.total_steps) {
925
1235
  const newStep = step + 1;
926
1236
  setStep(newStep);
927
1237
  trackStepChange(newStep);
928
1238
  return true;
929
1239
  }
930
1240
  return false;
931
- }, [step, config.total_steps, validateStep, trackStepChange]);
1241
+ }, [step, config2.total_steps, validateStep, trackStepChange]);
932
1242
  const prevStep = useCallback(() => {
933
1243
  if (step > 1) {
934
1244
  const newStep = step - 1;
@@ -937,11 +1247,11 @@ function FormClient({
937
1247
  }
938
1248
  }, [step, trackStepChange]);
939
1249
  const goToStep = useCallback((targetStep) => {
940
- if (targetStep >= 1 && targetStep <= config.total_steps) {
1250
+ if (targetStep >= 1 && targetStep <= config2.total_steps) {
941
1251
  setStep(targetStep);
942
1252
  trackStepChange(targetStep);
943
1253
  }
944
- }, [config.total_steps, trackStepChange]);
1254
+ }, [config2.total_steps, trackStepChange]);
945
1255
  const submit = useCallback(async () => {
946
1256
  if (!validateStep()) return;
947
1257
  setIsSubmitting(true);
@@ -949,27 +1259,27 @@ function FormClient({
949
1259
  const apiUrl = typeof window !== "undefined" ? window.__SITE_KIT_API_URL__ || "https://api.sonor.io" : "https://api.sonor.io";
950
1260
  const apiKey = typeof window !== "undefined" ? window.__SITE_KIT_API_KEY__ : void 0;
951
1261
  if (!apiKey) {
952
- throw new Error("API key is required. Set SONOR_API_KEY (or NEXT_PUBLIC_UPTRADE_API_KEY) in your .env");
1262
+ throw new Error("API key is required. Set SONOR_API_KEY in your .env");
953
1263
  }
954
- const recaptchaToken = config.recaptcha_enabled ? await getRecaptchaToken(config.recaptcha_site_key) : null;
955
- if (config.recaptcha_enabled && !recaptchaToken) {
1264
+ const recaptchaToken = config2.recaptcha_enabled ? await getRecaptchaToken(config2.recaptcha_site_key) : null;
1265
+ if (config2.recaptcha_enabled && !recaptchaToken) {
956
1266
  throw new Error("reCAPTCHA is required but could not be initialized.");
957
1267
  }
958
1268
  const utm = getUTMParams2();
959
1269
  const submission = {
960
- form_id: config.id,
961
- project_id: config.project_id,
1270
+ form_id: config2.id,
1271
+ project_id: config2.project_id,
962
1272
  data: {
963
1273
  ...values,
964
- ...config.honeypot_enabled ? { [honeypotFieldName]: honeypotValue } : {}
1274
+ ...config2.honeypot_enabled ? { [honeypotFieldName]: honeypotValue } : {}
965
1275
  },
966
- routing_type: config.form_type,
1276
+ routing_type: config2.form_type,
967
1277
  status: "new",
968
1278
  metadata: {
969
1279
  pageUrl: typeof window !== "undefined" ? window.location.href : null,
970
1280
  referrer: typeof document !== "undefined" ? document.referrer || null : null,
971
1281
  userAgent: typeof navigator !== "undefined" ? navigator.userAgent : null,
972
- sessionId: typeof sessionStorage !== "undefined" ? sessionStorage.getItem("_uptrade_sid") : null,
1282
+ sessionId: typeof sessionStorage !== "undefined" ? sessionStorage.getItem("_sk_sid") : null,
973
1283
  recaptchaToken: recaptchaToken || void 0,
974
1284
  utmSource: utm.utm_source,
975
1285
  utmMedium: utm.utm_medium,
@@ -992,8 +1302,8 @@ function FormClient({
992
1302
  trackComplete();
993
1303
  setIsComplete(true);
994
1304
  onSuccess?.(data);
995
- if (config.redirect_url) {
996
- window.location.href = config.redirect_url;
1305
+ if (config2.redirect_url) {
1306
+ window.location.href = config2.redirect_url;
997
1307
  }
998
1308
  } catch (error) {
999
1309
  console.error("[Forms] Submission error:", error);
@@ -1001,15 +1311,15 @@ function FormClient({
1001
1311
  } finally {
1002
1312
  setIsSubmitting(false);
1003
1313
  }
1004
- }, [config, honeypotFieldName, honeypotValue, values, validateStep, trackComplete, onSuccess, onError]);
1314
+ }, [config2, honeypotFieldName, honeypotValue, values, validateStep, trackComplete, onSuccess, onError]);
1005
1315
  const progress = useMemo(() => {
1006
- return Math.round(step / config.total_steps * 100);
1007
- }, [step, config.total_steps]);
1316
+ return Math.round(step / config2.total_steps * 100);
1317
+ }, [step, config2.total_steps]);
1008
1318
  const renderProps = {
1009
- config,
1319
+ config: config2,
1010
1320
  fields: currentFields,
1011
1321
  step,
1012
- totalSteps: config.total_steps,
1322
+ totalSteps: config2.total_steps,
1013
1323
  values,
1014
1324
  errors,
1015
1325
  isSubmitting,
@@ -1022,7 +1332,7 @@ function FormClient({
1022
1332
  isFieldVisible
1023
1333
  };
1024
1334
  if (isComplete) {
1025
- return /* @__PURE__ */ jsx("div", { className, children: /* @__PURE__ */ jsx("p", { children: config.success_message }) });
1335
+ return /* @__PURE__ */ jsx("div", { className, children: /* @__PURE__ */ jsx("p", { children: config2.success_message }) });
1026
1336
  }
1027
1337
  if (customRender) {
1028
1338
  return /* @__PURE__ */ jsx(Fragment, { children: customRender(renderProps) });
@@ -1030,44 +1340,44 @@ function FormClient({
1030
1340
  return /* @__PURE__ */ jsxs(
1031
1341
  "form",
1032
1342
  {
1033
- className: `uptrade-form ${className || ""}`,
1343
+ className: `sk-form ${className || ""}`,
1034
1344
  onSubmit: (e) => {
1035
1345
  e.preventDefault();
1036
- if (step < config.total_steps) {
1346
+ if (step < config2.total_steps) {
1037
1347
  nextStep();
1038
1348
  } else {
1039
1349
  submit();
1040
1350
  }
1041
1351
  },
1042
1352
  children: [
1043
- config.is_multi_step && /* @__PURE__ */ jsxs("div", { className: "uptrade-form__progress", style: { marginBottom: 20 }, children: [
1044
- /* @__PURE__ */ jsxs("div", { className: "uptrade-form__progress-header", style: { display: "flex", justifyContent: "space-between", marginBottom: 8 }, children: [
1045
- /* @__PURE__ */ jsxs("span", { className: "uptrade-form__progress-step", children: [
1353
+ config2.is_multi_step && /* @__PURE__ */ jsxs("div", { className: "sk-form__progress", style: { marginBottom: 20 }, children: [
1354
+ /* @__PURE__ */ jsxs("div", { className: "sk-form__progress-header", style: { display: "flex", justifyContent: "space-between", marginBottom: 8 }, children: [
1355
+ /* @__PURE__ */ jsxs("span", { className: "sk-form__progress-step", children: [
1046
1356
  "Step ",
1047
1357
  step,
1048
1358
  " of ",
1049
- config.total_steps
1359
+ config2.total_steps
1050
1360
  ] }),
1051
- /* @__PURE__ */ jsxs("span", { className: "uptrade-form__progress-percent", children: [
1361
+ /* @__PURE__ */ jsxs("span", { className: "sk-form__progress-percent", children: [
1052
1362
  progress,
1053
1363
  "%"
1054
1364
  ] })
1055
1365
  ] }),
1056
- /* @__PURE__ */ jsx("div", { className: "uptrade-form__progress-track", style: {
1366
+ /* @__PURE__ */ jsx("div", { className: "sk-form__progress-track", style: {
1057
1367
  height: 4,
1058
- backgroundColor: "var(--uptrade-progress-bg, #e5e7eb)",
1368
+ backgroundColor: "var(--sk-progress-bg, #e5e7eb)",
1059
1369
  borderRadius: 2,
1060
1370
  overflow: "hidden"
1061
- }, children: /* @__PURE__ */ jsx("div", { className: "uptrade-form__progress-bar", style: {
1371
+ }, children: /* @__PURE__ */ jsx("div", { className: "sk-form__progress-bar", style: {
1062
1372
  width: `${progress}%`,
1063
1373
  height: "100%",
1064
- backgroundColor: "var(--uptrade-progress-fill, #3b82f6)",
1374
+ backgroundColor: "var(--sk-progress-fill, #3b82f6)",
1065
1375
  transition: "width 0.3s ease"
1066
1376
  } }) })
1067
1377
  ] }),
1068
- /* @__PURE__ */ jsx("div", { className: "uptrade-form__fields", children: currentFields.map((field2) => {
1378
+ /* @__PURE__ */ jsx("div", { className: "sk-form__fields", children: currentFields.map((field2) => {
1069
1379
  if (!isFieldVisible(field2)) return null;
1070
- return /* @__PURE__ */ jsx("div", { className: `uptrade-form__field-wrapper uptrade-form__field-wrapper--${field2.width || "full"}`, children: /* @__PURE__ */ jsx(
1380
+ return /* @__PURE__ */ jsx("div", { className: `sk-form__field-wrapper sk-form__field-wrapper--${field2.width || "full"}`, children: /* @__PURE__ */ jsx(
1071
1381
  FormField,
1072
1382
  {
1073
1383
  field: field2,
@@ -1077,15 +1387,15 @@ function FormClient({
1077
1387
  }
1078
1388
  ) }, field2.id);
1079
1389
  }) }),
1080
- /* @__PURE__ */ jsxs("div", { className: "uptrade-form__actions", style: {
1390
+ /* @__PURE__ */ jsxs("div", { className: "sk-form__actions", style: {
1081
1391
  display: "flex",
1082
1392
  justifyContent: step > 1 ? "space-between" : "flex-end",
1083
1393
  marginTop: 24
1084
1394
  }, children: [
1085
- step > 1 && /* @__PURE__ */ jsx("button", { type: "button", className: "uptrade-form__btn uptrade-form__btn--back", onClick: prevStep, children: "Back" }),
1086
- /* @__PURE__ */ jsx("button", { type: "submit", className: "uptrade-form__btn uptrade-form__btn--submit", disabled: isSubmitting, children: isSubmitting ? "Submitting..." : step < config.total_steps ? "Next" : config.submit_button_text })
1395
+ step > 1 && /* @__PURE__ */ jsx("button", { type: "button", className: "sk-form__btn sk-form__btn--back", onClick: prevStep, children: "Back" }),
1396
+ /* @__PURE__ */ jsx("button", { type: "submit", className: "sk-form__btn sk-form__btn--submit", disabled: isSubmitting, children: isSubmitting ? "Submitting..." : step < config2.total_steps ? "Next" : config2.submit_button_text })
1087
1397
  ] }),
1088
- config.honeypot_enabled && /* @__PURE__ */ jsx(
1398
+ config2.honeypot_enabled && /* @__PURE__ */ jsx(
1089
1399
  "input",
1090
1400
  {
1091
1401
  type: "text",
@@ -1156,6 +1466,6 @@ function ManagedForm({
1156
1466
  );
1157
1467
  }
1158
1468
 
1159
- export { FormClient, FormField as FormFieldComponent, ManagedForm, useForm, useFormTracking };
1469
+ export { FormClient, FormField as FormFieldComponent, ManagedForm, configureFormsApi, defineForm, field, formsApi, initializeForms, useForm, useFormTracking };
1160
1470
  //# sourceMappingURL=index.mjs.map
1161
1471
  //# sourceMappingURL=index.mjs.map