@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,11 +1,321 @@
1
1
  'use client';
2
2
  'use strict';
3
3
 
4
- var chunk373TK6TZ_js = require('../chunk-373TK6TZ.js');
5
4
  require('../chunk-ZSMWDLMK.js');
6
5
  var react = require('react');
7
6
  var jsxRuntime = require('react/jsx-runtime');
8
7
 
8
+ // src/forms/formsApi.ts
9
+ var config = null;
10
+ function configureFormsApi(options) {
11
+ config = options;
12
+ }
13
+ function getConfig() {
14
+ if (config) return config;
15
+ if (typeof window !== "undefined") {
16
+ const apiUrl = window.__SITE_KIT_API_URL__;
17
+ const apiKey = window.__SITE_KIT_API_KEY__;
18
+ if (apiUrl && apiKey) {
19
+ return { baseUrl: apiUrl, apiKey };
20
+ }
21
+ }
22
+ throw new Error(
23
+ "Forms API not configured. Either wrap your app in SiteKitProvider or call configureFormsApi() first."
24
+ );
25
+ }
26
+ async function apiRequest(method, path, body) {
27
+ const { baseUrl, apiKey, getAuthToken } = getConfig();
28
+ const headers = {
29
+ "Content-Type": "application/json"
30
+ };
31
+ if (apiKey) {
32
+ headers["x-api-key"] = apiKey;
33
+ } else if (getAuthToken) {
34
+ const token = await getAuthToken();
35
+ headers["Authorization"] = `Bearer ${token}`;
36
+ }
37
+ const response = await fetch(`${baseUrl}${path}`, {
38
+ method,
39
+ headers,
40
+ body: body ? JSON.stringify(body) : void 0
41
+ });
42
+ if (!response.ok) {
43
+ const error = await response.json().catch(() => ({ message: response.statusText }));
44
+ throw new Error(error.message || `API error: ${response.status}`);
45
+ }
46
+ if (response.status === 204) {
47
+ return void 0;
48
+ }
49
+ return response.json();
50
+ }
51
+ var formsApi = {
52
+ /**
53
+ * List all forms for a project
54
+ */
55
+ async list(options = {}) {
56
+ const params = new URLSearchParams();
57
+ if (options.projectId) params.set("projectId", options.projectId);
58
+ if (options.formType) params.set("formType", options.formType);
59
+ if (options.isActive !== void 0) params.set("isActive", String(options.isActive));
60
+ if (options.search) params.set("search", options.search);
61
+ const query = params.toString();
62
+ const result = await apiRequest("GET", `/forms${query ? `?${query}` : ""}`);
63
+ return result.data;
64
+ },
65
+ /**
66
+ * Get a single form by ID or slug
67
+ */
68
+ async get(idOrSlug) {
69
+ return apiRequest("GET", `/forms/${idOrSlug}`);
70
+ },
71
+ /**
72
+ * Create a new form
73
+ */
74
+ async create(input) {
75
+ return apiRequest("POST", "/forms", input);
76
+ },
77
+ /**
78
+ * Update an existing form
79
+ */
80
+ async update(id, input) {
81
+ return apiRequest("PUT", `/forms/${id}`, input);
82
+ },
83
+ /**
84
+ * Delete a form
85
+ */
86
+ async delete(id) {
87
+ return apiRequest("DELETE", `/forms/${id}`);
88
+ },
89
+ /**
90
+ * Add a field to an existing form
91
+ */
92
+ async addField(formId, field2) {
93
+ const form = await formsApi.get(formId);
94
+ const maxSortOrder = Math.max(0, ...(form.fields || []).map((f) => f.sortOrder || 0));
95
+ return formsApi.update(formId, {
96
+ fields: [
97
+ ...form.fields || [],
98
+ { ...field2, sortOrder: field2.sortOrder ?? maxSortOrder + 1 }
99
+ ]
100
+ });
101
+ },
102
+ /**
103
+ * Update a field in an existing form
104
+ */
105
+ async updateField(formId, fieldSlug, updates) {
106
+ const form = await formsApi.get(formId);
107
+ return formsApi.update(formId, {
108
+ fields: (form.fields || []).map(
109
+ (f) => f.slug === fieldSlug ? { ...f, ...updates } : f
110
+ )
111
+ });
112
+ },
113
+ /**
114
+ * Remove a field from a form
115
+ */
116
+ async removeField(formId, fieldSlug) {
117
+ const form = await formsApi.get(formId);
118
+ return formsApi.update(formId, {
119
+ fields: (form.fields || []).filter((f) => f.slug !== fieldSlug)
120
+ });
121
+ },
122
+ /**
123
+ * Reorder fields in a form
124
+ */
125
+ async reorderFields(formId, fieldSlugs) {
126
+ const form = await formsApi.get(formId);
127
+ const fieldsMap = new Map((form.fields || []).map((f) => [f.slug, f]));
128
+ const orderedFields = fieldSlugs.map((slug, index) => {
129
+ const field2 = fieldsMap.get(slug);
130
+ if (!field2) throw new Error(`Field not found: ${slug}`);
131
+ return { ...field2, sortOrder: index };
132
+ });
133
+ return formsApi.update(formId, { fields: orderedFields });
134
+ },
135
+ /**
136
+ * Clone a form
137
+ */
138
+ async clone(formId, newSlug, newName) {
139
+ const form = await formsApi.get(formId);
140
+ return formsApi.create({
141
+ projectId: form.projectId,
142
+ slug: newSlug,
143
+ name: newName || `${form.name} (Copy)`,
144
+ description: form.description,
145
+ formType: form.formType,
146
+ successMessage: form.successMessage,
147
+ redirectUrl: form.redirectUrl,
148
+ notificationEmails: form.notificationEmails,
149
+ submitButtonText: form.submitButtonText,
150
+ layout: form.layout,
151
+ showProgress: form.showProgress,
152
+ enableSaveDraft: form.enableSaveDraft,
153
+ isActive: false,
154
+ // Clone as inactive
155
+ fields: (form.fields || []).map(({ id, ...field2 }) => field2),
156
+ // Remove IDs
157
+ steps: (form.steps || []).map(({ id, ...step }) => step)
158
+ // Remove IDs
159
+ });
160
+ },
161
+ /**
162
+ * Activate or deactivate a form
163
+ */
164
+ async setActive(formId, isActive) {
165
+ return formsApi.update(formId, { isActive });
166
+ },
167
+ /**
168
+ * Sync a form definition to the backend
169
+ * Creates the form if it doesn't exist, updates if it does
170
+ * Perfect for defining forms in code during development
171
+ *
172
+ * @example
173
+ * ```tsx
174
+ * // In your app initialization or form component
175
+ * await formsApi.sync({
176
+ * slug: 'contact',
177
+ * name: 'Contact Form',
178
+ * formType: 'prospect',
179
+ * fields: [
180
+ * field.text('name', 'Your Name', { isRequired: true }),
181
+ * field.email('email', 'Email Address'),
182
+ * field.phone('phone', 'Phone Number'),
183
+ * field.textarea('message', 'Message'),
184
+ * ]
185
+ * })
186
+ * ```
187
+ */
188
+ async sync(input) {
189
+ return apiRequest(
190
+ "POST",
191
+ "/api/public/forms/sync",
192
+ input
193
+ );
194
+ },
195
+ /**
196
+ * Sync multiple forms at once
197
+ * Useful for initializing all forms in your app
198
+ */
199
+ async syncAll(forms) {
200
+ return Promise.all(forms.map((form) => formsApi.sync(form)));
201
+ }
202
+ };
203
+ var field = {
204
+ text: (slug, label, options) => ({
205
+ slug,
206
+ label,
207
+ fieldType: "text",
208
+ ...options
209
+ }),
210
+ email: (slug, label, options) => ({
211
+ slug,
212
+ label,
213
+ fieldType: "email",
214
+ isRequired: true,
215
+ ...options
216
+ }),
217
+ phone: (slug, label, options) => ({
218
+ slug,
219
+ label,
220
+ fieldType: "phone",
221
+ ...options
222
+ }),
223
+ textarea: (slug, label, options) => ({
224
+ slug,
225
+ label,
226
+ fieldType: "textarea",
227
+ ...options
228
+ }),
229
+ select: (slug, label, choices, options) => ({
230
+ slug,
231
+ label,
232
+ fieldType: "select",
233
+ options: choices,
234
+ ...options
235
+ }),
236
+ radio: (slug, label, choices, options) => ({
237
+ slug,
238
+ label,
239
+ fieldType: "radio",
240
+ options: choices,
241
+ ...options
242
+ }),
243
+ checkbox: (slug, label, options) => ({
244
+ slug,
245
+ label,
246
+ fieldType: "checkbox",
247
+ ...options
248
+ }),
249
+ date: (slug, label, options) => ({
250
+ slug,
251
+ label,
252
+ fieldType: "date",
253
+ ...options
254
+ }),
255
+ number: (slug, label, options) => ({
256
+ slug,
257
+ label,
258
+ fieldType: "number",
259
+ ...options
260
+ }),
261
+ rating: (slug, label, options) => ({
262
+ slug,
263
+ label,
264
+ fieldType: "rating",
265
+ ...options
266
+ }),
267
+ file: (slug, label, options) => ({
268
+ slug,
269
+ label,
270
+ fieldType: "file",
271
+ ...options
272
+ }),
273
+ hidden: (slug, defaultValue) => ({
274
+ slug,
275
+ label: "",
276
+ fieldType: "hidden",
277
+ defaultValue
278
+ }),
279
+ heading: (slug, label) => ({
280
+ slug,
281
+ label,
282
+ fieldType: "heading"
283
+ }),
284
+ paragraph: (slug, label) => ({
285
+ slug,
286
+ label,
287
+ fieldType: "paragraph"
288
+ })
289
+ };
290
+ function defineForm(definition) {
291
+ const fieldsWithOrder = definition.fields.map((f, index) => ({
292
+ ...f,
293
+ sortOrder: f.sortOrder ?? index
294
+ }));
295
+ return {
296
+ ...definition,
297
+ fields: fieldsWithOrder,
298
+ formType: definition.formType || "contact",
299
+ successMessage: definition.successMessage || "Thank you for your submission!",
300
+ submitButtonText: definition.submitButtonText || "Submit",
301
+ layout: definition.layout || "stacked",
302
+ isActive: definition.isActive ?? true
303
+ };
304
+ }
305
+ async function initializeForms(forms) {
306
+ if (typeof window === "undefined") {
307
+ console.log(`[Site-Kit] ${forms.length} form(s) ready to sync: ${forms.map((f) => f.slug).join(", ")}`);
308
+ return;
309
+ }
310
+ try {
311
+ const results = await formsApi.syncAll(forms);
312
+ const created = results.filter((r) => r.created).length;
313
+ const updated = results.filter((r) => r.updated).length;
314
+ console.log(`[Site-Kit] Forms synced: ${created} created, ${updated} updated`);
315
+ } catch (error) {
316
+ console.error("[Site-Kit] Failed to sync forms:", error);
317
+ }
318
+ }
9
319
  function useFormTracking({
10
320
  formId,
11
321
  totalSteps,
@@ -465,7 +775,7 @@ function useForm(formIdOrSlug, options = {}) {
465
775
  const apiUrl = typeof window !== "undefined" ? window.__SITE_KIT_API_URL__ || "https://api.sonor.io" : "https://api.sonor.io";
466
776
  const apiKey = typeof window !== "undefined" ? window.__SITE_KIT_API_KEY__ : void 0;
467
777
  if (!apiKey) {
468
- throw new Error("API key is required. Set SONOR_API_KEY (or NEXT_PUBLIC_UPTRADE_API_KEY) in your .env");
778
+ throw new Error("API key is required. Set SONOR_API_KEY in your .env");
469
779
  }
470
780
  const honeypotFieldName = form.honeypot_field || "website";
471
781
  const recaptchaToken = form.recaptcha_enabled ? await getRecaptchaToken(form.recaptcha_site_key) : null;
@@ -483,7 +793,7 @@ function useForm(formIdOrSlug, options = {}) {
483
793
  pageUrl: typeof window !== "undefined" ? window.location.href : null,
484
794
  referrer: typeof document !== "undefined" ? document.referrer || null : null,
485
795
  userAgent: typeof navigator !== "undefined" ? navigator.userAgent : null,
486
- sessionId: typeof sessionStorage !== "undefined" ? sessionStorage.getItem("_uptrade_sid") : null,
796
+ sessionId: typeof sessionStorage !== "undefined" ? sessionStorage.getItem("_sk_sid") : null,
487
797
  recaptchaToken: recaptchaToken || void 0,
488
798
  utmSource: utm.utm_source,
489
799
  utmMedium: utm.utm_medium,
@@ -571,32 +881,32 @@ function normalizeOptions(options) {
571
881
  }
572
882
  return [];
573
883
  }
574
- function FormField({ field: field2, value, error, onChange, classPrefix = "uptrade-form" }) {
575
- const inputId = `uptrade-${field2.id || field2.slug}`;
884
+ function FormField({ field: field2, value, error, onChange, classPrefix = "sk-form" }) {
885
+ const inputId = `sk-${field2.id || field2.slug}`;
576
886
  const options = normalizeOptions(field2.options);
577
887
  const baseInputStyle = {
578
888
  width: "100%",
579
- padding: "var(--uptrade-input-padding, 10px 12px)",
580
- fontSize: "var(--uptrade-font-size, 16px)",
581
- border: error ? "1px solid var(--uptrade-input-border-error, #ef4444)" : "1px solid var(--uptrade-input-border, #d1d5db)",
582
- borderRadius: "var(--uptrade-input-radius, 6px)",
583
- backgroundColor: "var(--uptrade-input-bg, #ffffff)",
889
+ padding: "var(--sk-input-padding, 10px 12px)",
890
+ fontSize: "var(--sk-font-size, 16px)",
891
+ border: error ? "1px solid var(--sk-input-border-error, #ef4444)" : "1px solid var(--sk-input-border, #d1d5db)",
892
+ borderRadius: "var(--sk-input-radius, 6px)",
893
+ backgroundColor: "var(--sk-input-bg, #ffffff)",
584
894
  outline: "none",
585
895
  fontFamily: "inherit"
586
896
  };
587
897
  const labelStyle = {
588
898
  display: "block",
589
899
  marginBottom: 6,
590
- fontWeight: "var(--uptrade-label-weight, 500)",
591
- color: "var(--uptrade-label-color, inherit)"
900
+ fontWeight: "var(--sk-label-weight, 500)",
901
+ color: "var(--sk-label-color, inherit)"
592
902
  };
593
903
  const errorStyle = {
594
- color: "var(--uptrade-error-color, #ef4444)",
904
+ color: "var(--sk-error, #ef4444)",
595
905
  fontSize: 14,
596
906
  marginTop: 4
597
907
  };
598
908
  const helpStyle = {
599
- color: "var(--uptrade-help-color, #6b7280)",
909
+ color: "var(--sk-text-tertiary, #6b7280)",
600
910
  fontSize: 14,
601
911
  marginTop: 4
602
912
  };
@@ -604,7 +914,7 @@ function FormField({ field: field2, value, error, onChange, classPrefix = "uptra
604
914
  return /* @__PURE__ */ jsxRuntime.jsx("h3", { className: `${classPrefix}__heading`, style: { margin: "16px 0 8px", fontWeight: 600, fontSize: 18 }, children: field2.label });
605
915
  }
606
916
  if (field2.field_type === "paragraph") {
607
- return /* @__PURE__ */ jsxRuntime.jsx("p", { className: `${classPrefix}__paragraph`, style: { color: "var(--uptrade-help-color, #6b7280)", margin: "8px 0" }, children: field2.help_text || field2.label });
917
+ return /* @__PURE__ */ jsxRuntime.jsx("p", { className: `${classPrefix}__paragraph`, style: { color: "var(--sk-text-tertiary, #6b7280)", margin: "8px 0" }, children: field2.help_text || field2.label });
608
918
  }
609
919
  if (field2.field_type === "hidden") {
610
920
  return /* @__PURE__ */ jsxRuntime.jsx("input", { type: "hidden", name: field2.slug, value: String(value || "") });
@@ -614,7 +924,7 @@ function FormField({ field: field2, value, error, onChange, classPrefix = "uptra
614
924
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${classPrefix}__field ${classPrefix}__field--${field2.field_type}`, children: [
615
925
  /* @__PURE__ */ jsxRuntime.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: [
616
926
  field2.label,
617
- field2.is_required && /* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: "var(--uptrade-error-color, #ef4444)" }, children: " *" })
927
+ field2.is_required && /* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: "var(--sk-error, #ef4444)" }, children: " *" })
618
928
  ] }),
619
929
  ["text", "email", "phone", "tel", "number"].includes(field2.field_type) && /* @__PURE__ */ jsxRuntime.jsx(
620
930
  "input",
@@ -790,7 +1100,7 @@ function FormField({ field: field2, value, error, onChange, classPrefix = "uptra
790
1100
  border: "none",
791
1101
  fontSize: 24,
792
1102
  cursor: "pointer",
793
- color: value >= star ? "var(--uptrade-rating-active, #fbbf24)" : "var(--uptrade-rating-inactive, #d1d5db)"
1103
+ color: value >= star ? "var(--sk-rating-active, #fbbf24)" : "var(--sk-rating-inactive, #d1d5db)"
794
1104
  },
795
1105
  children: "\u2605"
796
1106
  },
@@ -817,7 +1127,7 @@ function FormField({ field: field2, value, error, onChange, classPrefix = "uptra
817
1127
  ] });
818
1128
  }
819
1129
  function FormClient({
820
- config,
1130
+ config: config2,
821
1131
  className,
822
1132
  onSuccess,
823
1133
  onError,
@@ -829,19 +1139,19 @@ function FormClient({
829
1139
  const [isSubmitting, setIsSubmitting] = react.useState(false);
830
1140
  const [isComplete, setIsComplete] = react.useState(false);
831
1141
  const [honeypotValue, setHoneypotValue] = react.useState("");
832
- const honeypotFieldName = config.honeypot_field || "website";
1142
+ const honeypotFieldName = config2.honeypot_field || "website";
833
1143
  const { trackStepChange, trackComplete } = useFormTracking({
834
- formId: config.id,
835
- totalSteps: config.total_steps
1144
+ formId: config2.id,
1145
+ totalSteps: config2.total_steps
836
1146
  });
837
1147
  const currentFields = react.useMemo(() => {
838
- if (!config.is_multi_step) {
839
- return config.fields || [];
1148
+ if (!config2.is_multi_step) {
1149
+ return config2.fields || [];
840
1150
  }
841
- const currentStepConfig = config.steps?.find((s) => s.step_number === step);
842
- if (!currentStepConfig) return config.fields || [];
843
- return (config.fields || []).filter((f) => f.step_id === currentStepConfig.id);
844
- }, [config, step]);
1151
+ const currentStepConfig = config2.steps?.find((s) => s.step_number === step);
1152
+ if (!currentStepConfig) return config2.fields || [];
1153
+ return (config2.fields || []).filter((f) => f.step_id === currentStepConfig.id);
1154
+ }, [config2, step]);
845
1155
  const isFieldVisible = react.useCallback((field2) => {
846
1156
  if (!field2.conditional?.show_when) return true;
847
1157
  const { field: condField, operator, value } = field2.conditional.show_when;
@@ -923,14 +1233,14 @@ function FormClient({
923
1233
  }, [errors]);
924
1234
  const nextStep = react.useCallback(() => {
925
1235
  if (!validateStep()) return false;
926
- if (step < config.total_steps) {
1236
+ if (step < config2.total_steps) {
927
1237
  const newStep = step + 1;
928
1238
  setStep(newStep);
929
1239
  trackStepChange(newStep);
930
1240
  return true;
931
1241
  }
932
1242
  return false;
933
- }, [step, config.total_steps, validateStep, trackStepChange]);
1243
+ }, [step, config2.total_steps, validateStep, trackStepChange]);
934
1244
  const prevStep = react.useCallback(() => {
935
1245
  if (step > 1) {
936
1246
  const newStep = step - 1;
@@ -939,11 +1249,11 @@ function FormClient({
939
1249
  }
940
1250
  }, [step, trackStepChange]);
941
1251
  const goToStep = react.useCallback((targetStep) => {
942
- if (targetStep >= 1 && targetStep <= config.total_steps) {
1252
+ if (targetStep >= 1 && targetStep <= config2.total_steps) {
943
1253
  setStep(targetStep);
944
1254
  trackStepChange(targetStep);
945
1255
  }
946
- }, [config.total_steps, trackStepChange]);
1256
+ }, [config2.total_steps, trackStepChange]);
947
1257
  const submit = react.useCallback(async () => {
948
1258
  if (!validateStep()) return;
949
1259
  setIsSubmitting(true);
@@ -951,27 +1261,27 @@ function FormClient({
951
1261
  const apiUrl = typeof window !== "undefined" ? window.__SITE_KIT_API_URL__ || "https://api.sonor.io" : "https://api.sonor.io";
952
1262
  const apiKey = typeof window !== "undefined" ? window.__SITE_KIT_API_KEY__ : void 0;
953
1263
  if (!apiKey) {
954
- throw new Error("API key is required. Set SONOR_API_KEY (or NEXT_PUBLIC_UPTRADE_API_KEY) in your .env");
1264
+ throw new Error("API key is required. Set SONOR_API_KEY in your .env");
955
1265
  }
956
- const recaptchaToken = config.recaptcha_enabled ? await getRecaptchaToken(config.recaptcha_site_key) : null;
957
- if (config.recaptcha_enabled && !recaptchaToken) {
1266
+ const recaptchaToken = config2.recaptcha_enabled ? await getRecaptchaToken(config2.recaptcha_site_key) : null;
1267
+ if (config2.recaptcha_enabled && !recaptchaToken) {
958
1268
  throw new Error("reCAPTCHA is required but could not be initialized.");
959
1269
  }
960
1270
  const utm = getUTMParams2();
961
1271
  const submission = {
962
- form_id: config.id,
963
- project_id: config.project_id,
1272
+ form_id: config2.id,
1273
+ project_id: config2.project_id,
964
1274
  data: {
965
1275
  ...values,
966
- ...config.honeypot_enabled ? { [honeypotFieldName]: honeypotValue } : {}
1276
+ ...config2.honeypot_enabled ? { [honeypotFieldName]: honeypotValue } : {}
967
1277
  },
968
- routing_type: config.form_type,
1278
+ routing_type: config2.form_type,
969
1279
  status: "new",
970
1280
  metadata: {
971
1281
  pageUrl: typeof window !== "undefined" ? window.location.href : null,
972
1282
  referrer: typeof document !== "undefined" ? document.referrer || null : null,
973
1283
  userAgent: typeof navigator !== "undefined" ? navigator.userAgent : null,
974
- sessionId: typeof sessionStorage !== "undefined" ? sessionStorage.getItem("_uptrade_sid") : null,
1284
+ sessionId: typeof sessionStorage !== "undefined" ? sessionStorage.getItem("_sk_sid") : null,
975
1285
  recaptchaToken: recaptchaToken || void 0,
976
1286
  utmSource: utm.utm_source,
977
1287
  utmMedium: utm.utm_medium,
@@ -994,8 +1304,8 @@ function FormClient({
994
1304
  trackComplete();
995
1305
  setIsComplete(true);
996
1306
  onSuccess?.(data);
997
- if (config.redirect_url) {
998
- window.location.href = config.redirect_url;
1307
+ if (config2.redirect_url) {
1308
+ window.location.href = config2.redirect_url;
999
1309
  }
1000
1310
  } catch (error) {
1001
1311
  console.error("[Forms] Submission error:", error);
@@ -1003,15 +1313,15 @@ function FormClient({
1003
1313
  } finally {
1004
1314
  setIsSubmitting(false);
1005
1315
  }
1006
- }, [config, honeypotFieldName, honeypotValue, values, validateStep, trackComplete, onSuccess, onError]);
1316
+ }, [config2, honeypotFieldName, honeypotValue, values, validateStep, trackComplete, onSuccess, onError]);
1007
1317
  const progress = react.useMemo(() => {
1008
- return Math.round(step / config.total_steps * 100);
1009
- }, [step, config.total_steps]);
1318
+ return Math.round(step / config2.total_steps * 100);
1319
+ }, [step, config2.total_steps]);
1010
1320
  const renderProps = {
1011
- config,
1321
+ config: config2,
1012
1322
  fields: currentFields,
1013
1323
  step,
1014
- totalSteps: config.total_steps,
1324
+ totalSteps: config2.total_steps,
1015
1325
  values,
1016
1326
  errors,
1017
1327
  isSubmitting,
@@ -1024,7 +1334,7 @@ function FormClient({
1024
1334
  isFieldVisible
1025
1335
  };
1026
1336
  if (isComplete) {
1027
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className, children: /* @__PURE__ */ jsxRuntime.jsx("p", { children: config.success_message }) });
1337
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className, children: /* @__PURE__ */ jsxRuntime.jsx("p", { children: config2.success_message }) });
1028
1338
  }
1029
1339
  if (customRender) {
1030
1340
  return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: customRender(renderProps) });
@@ -1032,44 +1342,44 @@ function FormClient({
1032
1342
  return /* @__PURE__ */ jsxRuntime.jsxs(
1033
1343
  "form",
1034
1344
  {
1035
- className: `uptrade-form ${className || ""}`,
1345
+ className: `sk-form ${className || ""}`,
1036
1346
  onSubmit: (e) => {
1037
1347
  e.preventDefault();
1038
- if (step < config.total_steps) {
1348
+ if (step < config2.total_steps) {
1039
1349
  nextStep();
1040
1350
  } else {
1041
1351
  submit();
1042
1352
  }
1043
1353
  },
1044
1354
  children: [
1045
- config.is_multi_step && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "uptrade-form__progress", style: { marginBottom: 20 }, children: [
1046
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "uptrade-form__progress-header", style: { display: "flex", justifyContent: "space-between", marginBottom: 8 }, children: [
1047
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "uptrade-form__progress-step", children: [
1355
+ config2.is_multi_step && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "sk-form__progress", style: { marginBottom: 20 }, children: [
1356
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "sk-form__progress-header", style: { display: "flex", justifyContent: "space-between", marginBottom: 8 }, children: [
1357
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "sk-form__progress-step", children: [
1048
1358
  "Step ",
1049
1359
  step,
1050
1360
  " of ",
1051
- config.total_steps
1361
+ config2.total_steps
1052
1362
  ] }),
1053
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "uptrade-form__progress-percent", children: [
1363
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "sk-form__progress-percent", children: [
1054
1364
  progress,
1055
1365
  "%"
1056
1366
  ] })
1057
1367
  ] }),
1058
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "uptrade-form__progress-track", style: {
1368
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "sk-form__progress-track", style: {
1059
1369
  height: 4,
1060
- backgroundColor: "var(--uptrade-progress-bg, #e5e7eb)",
1370
+ backgroundColor: "var(--sk-progress-bg, #e5e7eb)",
1061
1371
  borderRadius: 2,
1062
1372
  overflow: "hidden"
1063
- }, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "uptrade-form__progress-bar", style: {
1373
+ }, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "sk-form__progress-bar", style: {
1064
1374
  width: `${progress}%`,
1065
1375
  height: "100%",
1066
- backgroundColor: "var(--uptrade-progress-fill, #3b82f6)",
1376
+ backgroundColor: "var(--sk-progress-fill, #3b82f6)",
1067
1377
  transition: "width 0.3s ease"
1068
1378
  } }) })
1069
1379
  ] }),
1070
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "uptrade-form__fields", children: currentFields.map((field2) => {
1380
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "sk-form__fields", children: currentFields.map((field2) => {
1071
1381
  if (!isFieldVisible(field2)) return null;
1072
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `uptrade-form__field-wrapper uptrade-form__field-wrapper--${field2.width || "full"}`, children: /* @__PURE__ */ jsxRuntime.jsx(
1382
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `sk-form__field-wrapper sk-form__field-wrapper--${field2.width || "full"}`, children: /* @__PURE__ */ jsxRuntime.jsx(
1073
1383
  FormField,
1074
1384
  {
1075
1385
  field: field2,
@@ -1079,15 +1389,15 @@ function FormClient({
1079
1389
  }
1080
1390
  ) }, field2.id);
1081
1391
  }) }),
1082
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "uptrade-form__actions", style: {
1392
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "sk-form__actions", style: {
1083
1393
  display: "flex",
1084
1394
  justifyContent: step > 1 ? "space-between" : "flex-end",
1085
1395
  marginTop: 24
1086
1396
  }, children: [
1087
- step > 1 && /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: "uptrade-form__btn uptrade-form__btn--back", onClick: prevStep, children: "Back" }),
1088
- /* @__PURE__ */ jsxRuntime.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 })
1397
+ step > 1 && /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: "sk-form__btn sk-form__btn--back", onClick: prevStep, children: "Back" }),
1398
+ /* @__PURE__ */ jsxRuntime.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 })
1089
1399
  ] }),
1090
- config.honeypot_enabled && /* @__PURE__ */ jsxRuntime.jsx(
1400
+ config2.honeypot_enabled && /* @__PURE__ */ jsxRuntime.jsx(
1091
1401
  "input",
1092
1402
  {
1093
1403
  type: "text",
@@ -1158,29 +1468,14 @@ function ManagedForm({
1158
1468
  );
1159
1469
  }
1160
1470
 
1161
- Object.defineProperty(exports, "configureFormsApi", {
1162
- enumerable: true,
1163
- get: function () { return chunk373TK6TZ_js.configureFormsApi; }
1164
- });
1165
- Object.defineProperty(exports, "defineForm", {
1166
- enumerable: true,
1167
- get: function () { return chunk373TK6TZ_js.defineForm; }
1168
- });
1169
- Object.defineProperty(exports, "field", {
1170
- enumerable: true,
1171
- get: function () { return chunk373TK6TZ_js.field; }
1172
- });
1173
- Object.defineProperty(exports, "formsApi", {
1174
- enumerable: true,
1175
- get: function () { return chunk373TK6TZ_js.formsApi; }
1176
- });
1177
- Object.defineProperty(exports, "initializeForms", {
1178
- enumerable: true,
1179
- get: function () { return chunk373TK6TZ_js.initializeForms; }
1180
- });
1181
1471
  exports.FormClient = FormClient;
1182
1472
  exports.FormFieldComponent = FormField;
1183
1473
  exports.ManagedForm = ManagedForm;
1474
+ exports.configureFormsApi = configureFormsApi;
1475
+ exports.defineForm = defineForm;
1476
+ exports.field = field;
1477
+ exports.formsApi = formsApi;
1478
+ exports.initializeForms = initializeForms;
1184
1479
  exports.useForm = useForm;
1185
1480
  exports.useFormTracking = useFormTracking;
1186
1481
  //# sourceMappingURL=index.js.map