@sonordev/site-kit 1.5.4 → 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 (271) 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-T2S5WUMJ.js.map → EngageWidget-IDBEBGQR.js.map} +1 -1
  7. package/dist/EngageWidget-SRRI4W7U.mjs +4 -0
  8. package/dist/{EngageWidget-RWBCI4RM.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-DK2WNYQA.js → chunk-6ZGM7S5O.js} +108 -86
  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-VZMRZQ2D.mjs → chunk-MSRLAD7F.mjs} +107 -86
  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-OE5DEMCV.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-35MALWVX.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.d.mts +3 -2
  103. package/dist/engage/index.d.ts +3 -2
  104. package/dist/engage/index.js +6 -6
  105. package/dist/engage/index.js.map +1 -1
  106. package/dist/engage/index.mjs +3 -3
  107. package/dist/engage/index.mjs.map +1 -1
  108. package/dist/forms/index.js +379 -84
  109. package/dist/forms/index.js.map +1 -1
  110. package/dist/forms/index.mjs +375 -65
  111. package/dist/forms/index.mjs.map +1 -1
  112. package/dist/forms/styles.css +312 -0
  113. package/dist/images/index.js +11 -11
  114. package/dist/images/index.mjs +2 -2
  115. package/dist/images/server.js +4 -4
  116. package/dist/images/server.mjs +1 -1
  117. package/dist/index.d.mts +4 -131
  118. package/dist/index.d.ts +4 -131
  119. package/dist/index.js +85 -1373
  120. package/dist/index.js.map +1 -1
  121. package/dist/index.mjs +13 -1294
  122. package/dist/index.mjs.map +1 -1
  123. package/dist/layout/client.js +2 -2
  124. package/dist/layout/client.mjs +1 -1
  125. package/dist/layout/index.js +21 -11
  126. package/dist/layout/index.js.map +1 -1
  127. package/dist/layout/index.mjs +17 -7
  128. package/dist/layout/index.mjs.map +1 -1
  129. package/dist/llms/index.d.mts +3 -3
  130. package/dist/llms/index.d.ts +3 -3
  131. package/dist/llms/index.js +12 -12
  132. package/dist/llms/index.js.map +1 -1
  133. package/dist/llms/index.mjs +2 -2
  134. package/dist/llms/index.mjs.map +1 -1
  135. package/dist/manifest/index.js +4 -4
  136. package/dist/manifest/index.js.map +1 -1
  137. package/dist/manifest/index.mjs +3 -3
  138. package/dist/manifest/index.mjs.map +1 -1
  139. package/dist/middleware/index.js +3 -3
  140. package/dist/middleware/index.mjs +2 -2
  141. package/dist/redirects/index.js +6 -6
  142. package/dist/redirects/index.mjs +2 -2
  143. package/dist/robots/index.js +3 -3
  144. package/dist/robots/index.js.map +1 -1
  145. package/dist/robots/index.mjs +2 -2
  146. package/dist/robots/index.mjs.map +1 -1
  147. package/dist/{routing-DZYzyDHw.d.ts → routing-DQ_Et-OP.d.mts} +4 -4
  148. package/dist/{routing-B5XS-6_W.d.mts → routing-IYiJNIIX.d.ts} +4 -4
  149. package/dist/seo/index.d.mts +3 -5
  150. package/dist/seo/index.d.ts +3 -5
  151. package/dist/seo/index.js +77 -76
  152. package/dist/seo/index.js.map +1 -1
  153. package/dist/seo/index.mjs +41 -40
  154. package/dist/seo/index.mjs.map +1 -1
  155. package/dist/seo/register-sitemap-cli.js +3 -3
  156. package/dist/seo/register-sitemap-cli.js.map +1 -1
  157. package/dist/seo/register-sitemap-cli.mjs +3 -3
  158. package/dist/seo/register-sitemap-cli.mjs.map +1 -1
  159. package/dist/seo/server.d.mts +3 -3
  160. package/dist/seo/server.d.ts +3 -3
  161. package/dist/seo/server.js +7 -7
  162. package/dist/seo/server.js.map +1 -1
  163. package/dist/seo/server.mjs +5 -5
  164. package/dist/seo/server.mjs.map +1 -1
  165. package/dist/{server-api-XGKRGUMG.js → server-api-36R24YWN.js} +21 -21
  166. package/dist/{server-api-XGKRGUMG.js.map → server-api-36R24YWN.js.map} +1 -1
  167. package/dist/{server-api-COVFLFZ2.mjs → server-api-UIZU4JM3.mjs} +3 -3
  168. package/dist/{server-api-COVFLFZ2.mjs.map → server-api-UIZU4JM3.mjs.map} +1 -1
  169. package/dist/setup/index.d.mts +2 -5
  170. package/dist/setup/index.d.ts +2 -5
  171. package/dist/setup/index.js +0 -31
  172. package/dist/setup/index.mjs +1 -4
  173. package/dist/site-config/index.js +3 -3
  174. package/dist/site-config/index.mjs +1 -1
  175. package/dist/sitemap/index.js +10 -9
  176. package/dist/sitemap/index.js.map +1 -1
  177. package/dist/sitemap/index.mjs +8 -7
  178. package/dist/sitemap/index.mjs.map +1 -1
  179. package/dist/sync/index.js +13 -13
  180. package/dist/sync/index.mjs +1 -1
  181. package/dist/{types-KZP_VWZp.d.ts → types-CGkyylOa.d.mts} +2 -2
  182. package/dist/{types-KZP_VWZp.d.mts → types-CGkyylOa.d.ts} +2 -2
  183. package/package.json +6 -13
  184. package/dist/AnalyticsProvider-BBLU4U2T.mjs +0 -4
  185. package/dist/AnalyticsProvider-EMDIAAWR.js +0 -25
  186. package/dist/EngageWidget-RWBCI4RM.mjs +0 -4
  187. package/dist/EngageWidget-T2S5WUMJ.js +0 -13
  188. package/dist/SetupWizard-Cki06kB0.d.mts +0 -12
  189. package/dist/SetupWizard-Cki06kB0.d.ts +0 -12
  190. package/dist/SignalBridge-6UYUZ2CN.js +0 -33
  191. package/dist/SignalBridge-WGHMEILW.mjs +0 -4
  192. package/dist/chunk-35MALWVX.mjs.map +0 -1
  193. package/dist/chunk-36Y7OWES.mjs.map +0 -1
  194. package/dist/chunk-373TK6TZ.js +0 -321
  195. package/dist/chunk-373TK6TZ.js.map +0 -1
  196. package/dist/chunk-4MOJJSNA.js +0 -14867
  197. package/dist/chunk-4MOJJSNA.js.map +0 -1
  198. package/dist/chunk-4QHHFCAA.mjs.map +0 -1
  199. package/dist/chunk-4X5TFGKD.mjs.map +0 -1
  200. package/dist/chunk-5YDPPOUU.mjs +0 -810
  201. package/dist/chunk-5YDPPOUU.mjs.map +0 -1
  202. package/dist/chunk-7FKPJQVS.mjs +0 -289
  203. package/dist/chunk-7FKPJQVS.mjs.map +0 -1
  204. package/dist/chunk-C3A5HXHX.mjs.map +0 -1
  205. package/dist/chunk-DK2WNYQA.js.map +0 -1
  206. package/dist/chunk-DY4K6X3A.js.map +0 -1
  207. package/dist/chunk-ELDJDBQL.js.map +0 -1
  208. package/dist/chunk-EUNL6GAL.js.map +0 -1
  209. package/dist/chunk-FI2ME55T.mjs.map +0 -1
  210. package/dist/chunk-FMB2RZDH.mjs.map +0 -1
  211. package/dist/chunk-G6VGUAK2.js.map +0 -1
  212. package/dist/chunk-GJD4CFHN.js.map +0 -1
  213. package/dist/chunk-GVXZWXQ7.js +0 -814
  214. package/dist/chunk-GVXZWXQ7.js.map +0 -1
  215. package/dist/chunk-HF2FWDBJ.mjs +0 -968
  216. package/dist/chunk-HF2FWDBJ.mjs.map +0 -1
  217. package/dist/chunk-IFAW7JFO.js +0 -1429
  218. package/dist/chunk-IFAW7JFO.js.map +0 -1
  219. package/dist/chunk-IJ2LWZID.js.map +0 -1
  220. package/dist/chunk-IKIJEKU3.mjs +0 -1427
  221. package/dist/chunk-IKIJEKU3.mjs.map +0 -1
  222. package/dist/chunk-JFTGG6HK.mjs +0 -14848
  223. package/dist/chunk-JFTGG6HK.mjs.map +0 -1
  224. package/dist/chunk-JM3ZR6LB.js +0 -981
  225. package/dist/chunk-JM3ZR6LB.js.map +0 -1
  226. package/dist/chunk-KJN2C6YE.js.map +0 -1
  227. package/dist/chunk-M5FLRLHI.mjs.map +0 -1
  228. package/dist/chunk-MCGLYYAR.mjs +0 -341
  229. package/dist/chunk-MCGLYYAR.mjs.map +0 -1
  230. package/dist/chunk-MG23BS36.js.map +0 -1
  231. package/dist/chunk-N24BPFF6.mjs.map +0 -1
  232. package/dist/chunk-NRNK7LXK.mjs.map +0 -1
  233. package/dist/chunk-OE5DEMCV.js.map +0 -1
  234. package/dist/chunk-PTTDKFL7.js.map +0 -1
  235. package/dist/chunk-S7FRYNSU.mjs +0 -315
  236. package/dist/chunk-S7FRYNSU.mjs.map +0 -1
  237. package/dist/chunk-SLB5V4RT.js +0 -302
  238. package/dist/chunk-SLB5V4RT.js.map +0 -1
  239. package/dist/chunk-VZMDH3R4.mjs.map +0 -1
  240. package/dist/chunk-VZMRZQ2D.mjs.map +0 -1
  241. package/dist/chunk-WW7UM7XY.js.map +0 -1
  242. package/dist/chunk-X4J33XQD.js.map +0 -1
  243. package/dist/chunk-XFOL6JDF.mjs.map +0 -1
  244. package/dist/chunk-YBTYDBWY.js.map +0 -1
  245. package/dist/chunk-ZQO6FZZB.js +0 -343
  246. package/dist/chunk-ZQO6FZZB.js.map +0 -1
  247. package/dist/chunk-ZU6YPEAF.mjs.map +0 -1
  248. package/dist/generators-DOFWGRXS.js +0 -37
  249. package/dist/generators-DOFWGRXS.js.map +0 -1
  250. package/dist/generators-R62APO62.mjs +0 -4
  251. package/dist/generators-R62APO62.mjs.map +0 -1
  252. package/dist/migrator-3WQB3KQ2.mjs +0 -4
  253. package/dist/migrator-3WQB3KQ2.mjs.map +0 -1
  254. package/dist/migrator-HFVQYK5R.js +0 -37
  255. package/dist/migrator-HFVQYK5R.js.map +0 -1
  256. package/dist/scanner-AF7YUCFG.mjs +0 -4
  257. package/dist/scanner-AF7YUCFG.mjs.map +0 -1
  258. package/dist/scanner-DBD5K6F7.js +0 -53
  259. package/dist/scanner-DBD5K6F7.js.map +0 -1
  260. package/dist/setup/client.d.mts +0 -60
  261. package/dist/setup/client.d.ts +0 -60
  262. package/dist/setup/client.js +0 -31
  263. package/dist/setup/client.js.map +0 -1
  264. package/dist/setup/client.mjs +0 -6
  265. package/dist/setup/client.mjs.map +0 -1
  266. package/dist/setup/server.d.mts +0 -14
  267. package/dist/setup/server.d.ts +0 -14
  268. package/dist/setup/server.js +0 -13
  269. package/dist/setup/server.js.map +0 -1
  270. package/dist/setup/server.mjs +0 -4
  271. package/dist/setup/server.mjs.map +0 -1
package/dist/brand.css ADDED
@@ -0,0 +1,87 @@
1
+ /**
2
+ * @sonordev/site-kit — Brand Token Contract
3
+ *
4
+ * Import this file in your root layout or globals.css to get sensible defaults
5
+ * for all site-kit components. Override any token in your project's globals.css.
6
+ *
7
+ * Usage:
8
+ * import '@sonordev/site-kit/brand.css'
9
+ *
10
+ * Then override in your globals.css:
11
+ * :root {
12
+ * --sk-primary: #54b948;
13
+ * --sk-primary-rgb: 84, 185, 72;
14
+ * }
15
+ *
16
+ * All site-kit components (forms, commerce, booking, chat, popups, blog)
17
+ * read from these tokens. Set them once and every widget matches your brand.
18
+ */
19
+
20
+ :root {
21
+ /* ── Brand colors ─────────────────────────────────────────────────────── */
22
+ --sk-primary: #3b82f6;
23
+ --sk-primary-rgb: 59, 130, 246;
24
+ --sk-primary-hover: #2563eb;
25
+ --sk-primary-light: #dbeafe;
26
+ --sk-secondary: #8b5cf6;
27
+ --sk-secondary-rgb: 139, 92, 246;
28
+
29
+ /* ── Surfaces ─────────────────────────────────────────────────────────── */
30
+ --sk-bg: #ffffff;
31
+ --sk-bg-elevated: #f8fafc;
32
+ --sk-surface: #f1f5f9;
33
+ --sk-surface-hover: #e2e8f0;
34
+ --sk-surface-border: #e2e8f0;
35
+
36
+ /* ── Text ──────────────────────────────────────────────────────────────── */
37
+ --sk-text-primary: #0f172a;
38
+ --sk-text-secondary: #475569;
39
+ --sk-text-tertiary: #94a3b8;
40
+
41
+ /* ── Feedback ──────────────────────────────────────────────────────────── */
42
+ --sk-error: #ef4444;
43
+ --sk-success: #059669;
44
+ --sk-warning: #d97706;
45
+
46
+ /* ── Typography ────────────────────────────────────────────────────────── */
47
+ --sk-font: inherit;
48
+ --sk-font-size: 16px;
49
+ --sk-label-color: inherit;
50
+ --sk-label-weight: 500;
51
+
52
+ /* ── Borders & Radius ──────────────────────────────────────────────────── */
53
+ --sk-radius-sm: 0.375rem;
54
+ --sk-radius: 0.5rem;
55
+ --sk-radius-lg: 0.75rem;
56
+ --sk-border: #d1d5db;
57
+ --sk-border-focus: var(--sk-primary);
58
+
59
+ /* ── Inputs ────────────────────────────────────────────────────────────── */
60
+ --sk-input-bg: #ffffff;
61
+ --sk-input-border: var(--sk-border);
62
+ --sk-input-border-focus: var(--sk-border-focus);
63
+ --sk-input-border-error: var(--sk-error);
64
+ --sk-input-radius: var(--sk-radius-sm);
65
+ --sk-input-padding: 10px 12px;
66
+
67
+ /* ── Buttons ───────────────────────────────────────────────────────────── */
68
+ --sk-btn-bg: var(--sk-primary);
69
+ --sk-btn-color: #ffffff;
70
+ --sk-btn-hover-bg: var(--sk-primary-hover);
71
+ --sk-btn-radius: var(--sk-radius-sm);
72
+ --sk-btn-padding: 10px 20px;
73
+ --sk-btn-secondary-bg: transparent;
74
+ --sk-btn-secondary-color: var(--sk-text-primary);
75
+ --sk-btn-secondary-border: var(--sk-border);
76
+
77
+ /* ── Progress & Rating ─────────────────────────────────────────────────── */
78
+ --sk-progress-bg: #e5e7eb;
79
+ --sk-progress-fill: var(--sk-primary);
80
+ --sk-rating-active: #fbbf24;
81
+ --sk-rating-inactive: #d1d5db;
82
+
83
+ /* ── Shadows ───────────────────────────────────────────────────────────── */
84
+ --sk-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
85
+ --sk-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
86
+ --sk-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
87
+ }
@@ -219,7 +219,7 @@ function GlobeIcon() {
219
219
  }
220
220
  function CheckCircleIcon() {
221
221
  return /* @__PURE__ */ jsxs("svg", { width: "56", height: "56", viewBox: "0 0 56 56", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
222
- /* @__PURE__ */ jsx("circle", { cx: "28", cy: "28", r: "28", fill: "var(--bw-primary)" }),
222
+ /* @__PURE__ */ jsx("circle", { cx: "28", cy: "28", r: "28", fill: "var(--sk-primary)" }),
223
223
  /* @__PURE__ */ jsx("path", { d: "M18 28.5L24.5 35L38 21.5", stroke: "white", strokeWidth: "3", strokeLinecap: "round", strokeLinejoin: "round" })
224
224
  ] });
225
225
  }
@@ -410,11 +410,23 @@ function BookingWidget({
410
410
  return { morning, afternoon, evening };
411
411
  }, [slots]);
412
412
  const cssVars = {
413
- "--bw-primary": styles.primaryColor || "#0069ff",
414
- "--bw-primary-light": styles.primaryColor ? `color-mix(in srgb, ${styles.primaryColor} 12%, white)` : "#e8f1ff",
415
- "--bw-primary-hover": styles.primaryColor ? `color-mix(in srgb, ${styles.primaryColor} 90%, black)` : "#0055d4",
416
- "--bw-radius": styles.borderRadius || "8px",
417
- "--bw-font": styles.fontFamily || "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif"
413
+ "--sk-primary": styles.primaryColor || "#0069ff",
414
+ "--sk-primary-hover": styles.primaryColor ? `color-mix(in srgb, ${styles.primaryColor} 90%, black)` : "#0055d4",
415
+ "--sk-primary-light": styles.primaryColor ? `color-mix(in srgb, ${styles.primaryColor} 12%, white)` : "#e8f1ff",
416
+ "--sk-bg": "#ffffff",
417
+ "--sk-bg-elevated": "#f9fafb",
418
+ "--sk-surface": "#f3f4f6",
419
+ "--sk-text-primary": "#1a1a1a",
420
+ "--sk-text-secondary": "#6b7280",
421
+ "--sk-text-tertiary": "#9ca3af",
422
+ "--sk-border": "#e5e7eb",
423
+ "--sk-error": "#ef4444",
424
+ "--sk-success": "#10b981",
425
+ "--sk-warning": "#f59e0b",
426
+ "--sk-radius": styles.borderRadius || "8px",
427
+ "--sk-font": styles.fontFamily || "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif",
428
+ "--sk-input-border": "#e5e7eb",
429
+ "--sk-input-focus-ring": styles.primaryColor ? `color-mix(in srgb, ${styles.primaryColor} 12%, white)` : "#e8f1ff"
418
430
  };
419
431
  return /* @__PURE__ */ jsxs("div", { className: `bw-root ${className}`, style: cssVars, children: [
420
432
  error && /* @__PURE__ */ jsxs("div", { className: "bw-error", role: "alert", children: [
@@ -692,8 +704,8 @@ function TimeButton({
692
704
  var WIDGET_CSS = `
693
705
  /* \u2500\u2500 Base \u2500\u2500 */
694
706
  .bw-root {
695
- font-family: var(--bw-font);
696
- color: #1a1a1a;
707
+ font-family: var(--sk-font);
708
+ color: var(--sk-text-primary);
697
709
  line-height: 1.5;
698
710
  -webkit-font-smoothing: antialiased;
699
711
  box-sizing: border-box;
@@ -711,7 +723,7 @@ var WIDGET_CSS = `
711
723
  .bw-error {
712
724
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
713
725
  background: #fef2f2; border: 1px solid #fecaca; color: #b91c1c;
714
- padding: 10px 14px; border-radius: var(--bw-radius); margin-bottom: 16px; font-size: 0.875rem;
726
+ padding: 10px 14px; border-radius: var(--sk-radius); margin-bottom: 16px; font-size: 0.875rem;
715
727
  }
716
728
  .bw-error button { background: none; border: none; color: inherit; cursor: pointer; font-size: 1.25rem; line-height: 1; padding: 0; }
717
729
 
@@ -720,67 +732,67 @@ var WIDGET_CSS = `
720
732
  .bw-meta-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
721
733
  .bw-badge {
722
734
  display: inline-flex; align-items: center; gap: 4px;
723
- font-size: 0.8125rem; color: #6b7280; font-weight: 400;
735
+ font-size: 0.8125rem; color: var(--sk-text-secondary); font-weight: 400;
724
736
  }
725
737
  .bw-badge-accent {
726
738
  display: inline-flex; align-items: center; gap: 4px;
727
- font-size: 0.8125rem; color: var(--bw-primary); font-weight: 500;
739
+ font-size: 0.8125rem; color: var(--sk-primary); font-weight: 500;
728
740
  }
729
741
 
730
742
  /* \u2500\u2500 Info Header \u2500\u2500 */
731
743
  .bw-info-header { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 20px; }
732
744
  .bw-back {
733
745
  display: inline-flex; align-items: center; justify-content: center;
734
- width: 32px; height: 32px; border-radius: 50%; border: 1px solid #e5e7eb;
735
- background: #fff; cursor: pointer; color: #4b5563; flex-shrink: 0; margin-top: 1px;
746
+ width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--sk-border);
747
+ background: var(--sk-bg); cursor: pointer; color: var(--sk-text-secondary); flex-shrink: 0; margin-top: 1px;
736
748
  transition: all 0.15s;
737
749
  }
738
- .bw-back:hover { background: #f3f4f6; border-color: #d1d5db; }
750
+ .bw-back:hover { background: var(--sk-surface); border-color: var(--sk-border); }
739
751
 
740
752
  /* \u2500\u2500 Loading \u2500\u2500 */
741
753
  .bw-loading {
742
754
  display: flex; align-items: center; justify-content: center; gap: 8px;
743
- padding: 32px; color: #6b7280; font-size: 0.875rem;
755
+ padding: 32px; color: var(--sk-text-secondary); font-size: 0.875rem;
744
756
  }
745
757
 
746
758
  /* \u2500\u2500 Type Selection \u2500\u2500 */
747
759
  .bw-type-list { display: flex; flex-direction: column; gap: 10px; }
748
760
  .bw-type-card {
749
761
  display: flex; flex-direction: column; text-align: left; gap: 4px;
750
- padding: 16px; border: 1.5px solid #e5e7eb; border-radius: var(--bw-radius);
751
- background: #fff; cursor: pointer; transition: all 0.15s;
762
+ padding: 16px; border: 1.5px solid var(--sk-border); border-radius: var(--sk-radius);
763
+ background: var(--sk-bg); cursor: pointer; transition: all 0.15s;
752
764
  }
753
- .bw-type-card:hover { border-color: var(--bw-primary); box-shadow: 0 0 0 3px var(--bw-primary-light); }
765
+ .bw-type-card:hover { border-color: var(--sk-primary); box-shadow: 0 0 0 3px var(--sk-primary-light); }
754
766
  .bw-type-name { font-weight: 600; font-size: 0.9375rem; }
755
- .bw-type-desc { color: #6b7280; font-size: 0.8125rem; }
756
- .bw-type-meta { display: flex; align-items: center; gap: 4px; font-size: 0.8125rem; color: #9ca3af; margin-top: 4px; }
767
+ .bw-type-desc { color: var(--sk-text-secondary); font-size: 0.8125rem; }
768
+ .bw-type-meta { display: flex; align-items: center; gap: 4px; font-size: 0.8125rem; color: var(--sk-text-tertiary); margin-top: 4px; }
757
769
 
758
770
  /* \u2500\u2500 Date-Time Layout \u2500\u2500 */
759
771
  .bw-datetime-layout {
760
- display: flex; gap: 0; border-top: 1px solid #f0f0f0; padding-top: 16px;
772
+ display: flex; gap: 0; border-top: 1px solid var(--sk-border); padding-top: 16px;
761
773
  }
762
774
  @media (max-width: 559px) {
763
775
  .bw-datetime-layout { flex-direction: column; }
764
776
  }
765
777
  @media (min-width: 560px) {
766
778
  .bw-datetime-layout { min-height: 400px; }
767
- .bw-calendar { flex: 1 1 auto; padding-right: 16px; border-right: 1px solid #f0f0f0; }
779
+ .bw-calendar { flex: 1 1 auto; padding-right: 16px; border-right: 1px solid var(--sk-border); }
768
780
  .bw-times { width: 180px; flex-shrink: 0; padding-left: 16px; }
769
781
  }
770
782
 
771
783
  /* \u2500\u2500 Calendar \u2500\u2500 */
772
784
  .bw-cal-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
773
- .bw-cal-title { font-weight: 600; font-size: 0.9375rem; color: #111827; }
785
+ .bw-cal-title { font-weight: 600; font-size: 0.9375rem; color: var(--sk-text-primary); }
774
786
  .bw-cal-nav {
775
787
  display: inline-flex; align-items: center; justify-content: center;
776
788
  width: 32px; height: 32px; border-radius: 50%; border: none;
777
- background: transparent; cursor: pointer; color: #374151; transition: background 0.15s;
789
+ background: transparent; cursor: pointer; color: var(--sk-text-primary); transition: background 0.15s;
778
790
  }
779
- .bw-cal-nav:hover:not(:disabled) { background: #f3f4f6; }
791
+ .bw-cal-nav:hover:not(:disabled) { background: var(--sk-surface); }
780
792
  .bw-cal-nav:disabled { opacity: 0.25; cursor: default; }
781
793
 
782
794
  .bw-cal-weekdays { display: grid; grid-template-columns: repeat(7, 1fr); gap: 0; text-align: center; margin-bottom: 4px; }
783
- .bw-cal-wd { font-size: 0.6875rem; font-weight: 600; color: #9ca3af; text-transform: uppercase; letter-spacing: 0.04em; padding: 4px 0; }
795
+ .bw-cal-wd { font-size: 0.6875rem; font-weight: 600; color: var(--sk-text-tertiary); text-transform: uppercase; letter-spacing: 0.04em; padding: 4px 0; }
784
796
 
785
797
  .bw-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
786
798
  .bw-cal-empty { aspect-ratio: 1; }
@@ -788,19 +800,19 @@ var WIDGET_CSS = `
788
800
  aspect-ratio: 1; display: flex; align-items: center; justify-content: center;
789
801
  border: none; background: none; border-radius: 50%;
790
802
  font-size: 0.8125rem; font-weight: 500; cursor: pointer;
791
- color: #111827; transition: all 0.15s; position: relative;
803
+ color: var(--sk-text-primary); transition: all 0.15s; position: relative;
792
804
  }
793
- .bw-cal-day:hover:not(.disabled):not(.selected) { background: #f3f4f6; }
805
+ .bw-cal-day:hover:not(.disabled):not(.selected) { background: var(--sk-surface); }
794
806
  .bw-cal-day.today:not(.selected)::after {
795
807
  content: ''; position: absolute; bottom: 3px; left: 50%; transform: translateX(-50%);
796
- width: 4px; height: 4px; border-radius: 50%; background: var(--bw-primary);
808
+ width: 4px; height: 4px; border-radius: 50%; background: var(--sk-primary);
797
809
  }
798
810
  .bw-cal-day.selected {
799
- background: var(--bw-primary); color: #fff; font-weight: 600;
811
+ background: var(--sk-primary); color: #fff; font-weight: 600;
800
812
  }
801
813
  /* Past / out-of-range: visible on light and dark parent pages */
802
814
  .bw-root button.bw-cal-day.disabled {
803
- color: #9ca3af;
815
+ color: var(--sk-text-tertiary);
804
816
  cursor: default;
805
817
  opacity: 1;
806
818
  }
@@ -811,86 +823,86 @@ var WIDGET_CSS = `
811
823
  .bw-times.visible { opacity: 1; }
812
824
  .bw-times-placeholder {
813
825
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
814
- height: 100%; min-height: 160px; color: #9ca3af; font-size: 0.8125rem; text-align: center; padding: 16px;
826
+ height: 100%; min-height: 160px; color: var(--sk-text-tertiary); font-size: 0.8125rem; text-align: center; padding: 16px;
815
827
  }
816
828
  .bw-times-empty {
817
829
  display: flex; align-items: center; justify-content: center;
818
- height: 100%; min-height: 160px; color: #9ca3af; font-size: 0.8125rem; text-align: center; padding: 16px;
830
+ height: 100%; min-height: 160px; color: var(--sk-text-tertiary); font-size: 0.8125rem; text-align: center; padding: 16px;
819
831
  }
820
832
  .bw-times-scroll { overflow-y: auto; max-height: 400px; overflow-x: hidden; }
821
- .bw-times-date { font-weight: 600; font-size: 0.8125rem; color: #374151; margin: 0 0 12px 0; }
833
+ .bw-times-date { font-weight: 600; font-size: 0.8125rem; color: var(--sk-text-primary); margin: 0 0 12px 0; }
822
834
  .bw-time-group { margin-bottom: 16px; }
823
835
  .bw-times-scroll-hint {
824
- font-size: 0.6875rem; color: #9ca3af; text-align: center; margin: 8px 0 0 0; padding-bottom: 8px;
836
+ font-size: 0.6875rem; color: var(--sk-text-tertiary); text-align: center; margin: 8px 0 0 0; padding-bottom: 8px;
825
837
  }
826
- .bw-time-label { display: block; font-size: 0.6875rem; font-weight: 600; color: #9ca3af; text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 6px; }
838
+ .bw-time-label { display: block; font-size: 0.6875rem; font-weight: 600; color: var(--sk-text-tertiary); text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 6px; }
827
839
 
828
840
  .bw-time-btn {
829
841
  display: block; width: 100%;
830
842
  padding: 10px 12px; margin-bottom: 6px;
831
- border: 1.5px solid #e5e7eb; border-radius: var(--bw-radius);
832
- background: #fff; cursor: pointer;
833
- font-size: 0.875rem; font-weight: 500; color: var(--bw-primary); text-align: center;
843
+ border: 1.5px solid var(--sk-border); border-radius: var(--sk-radius);
844
+ background: var(--sk-bg); cursor: pointer;
845
+ font-size: 0.875rem; font-weight: 500; color: var(--sk-primary); text-align: center;
834
846
  transition: all 0.15s;
835
847
  }
836
848
  .bw-time-btn:hover:not(:disabled) {
837
- border-color: var(--bw-primary); background: var(--bw-primary-light);
849
+ border-color: var(--sk-primary); background: var(--sk-primary-light);
838
850
  }
839
851
  .bw-time-btn.selected {
840
- border-color: var(--bw-primary); background: var(--bw-primary); color: #fff;
852
+ border-color: var(--sk-primary); background: var(--sk-primary); color: #fff;
841
853
  }
842
854
  .bw-time-btn:disabled { opacity: 0.5; cursor: not-allowed; }
843
855
 
844
856
  .bw-time-btn-wrap {
845
857
  display: flex; align-items: center; gap: 6px; margin-bottom: 6px;
846
- border: 1.5px solid var(--bw-primary); border-radius: var(--bw-radius); overflow: hidden;
858
+ border: 1.5px solid var(--sk-primary); border-radius: var(--sk-radius); overflow: hidden;
847
859
  animation: bw-fade-in 0.15s ease-out;
848
860
  }
849
861
  .bw-time-btn-wrap .bw-time-text {
850
- flex: 1; padding: 10px 12px; font-size: 0.875rem; font-weight: 500; color: #374151; text-align: center;
851
- background: var(--bw-primary-light);
862
+ flex: 1; padding: 10px 12px; font-size: 0.875rem; font-weight: 500; color: var(--sk-text-primary); text-align: center;
863
+ background: var(--sk-primary-light);
852
864
  }
853
865
  .bw-time-confirm {
854
866
  display: inline-flex; align-items: center; justify-content: center; gap: 4px;
855
867
  padding: 10px 16px; border: none;
856
- background: var(--bw-primary); color: #fff;
868
+ background: var(--sk-primary); color: #fff;
857
869
  font-size: 0.8125rem; font-weight: 600; cursor: pointer;
858
870
  transition: background 0.15s;
859
871
  }
860
- .bw-time-confirm:hover:not(:disabled) { background: var(--bw-primary-hover); }
872
+ .bw-time-confirm:hover:not(:disabled) { background: var(--sk-primary-hover); }
861
873
  .bw-time-confirm:disabled { opacity: 0.7; cursor: not-allowed; }
862
874
 
863
875
  /* \u2500\u2500 Form \u2500\u2500 */
864
876
  .bw-hold-notice {
865
877
  display: flex; align-items: center; gap: 8px;
866
- background: var(--bw-primary-light); color: var(--bw-primary);
867
- padding: 10px 14px; border-radius: var(--bw-radius);
878
+ background: var(--sk-primary-light); color: var(--sk-primary);
879
+ padding: 10px 14px; border-radius: var(--sk-radius);
868
880
  font-size: 0.8125rem; font-weight: 500; margin-bottom: 20px;
869
881
  }
870
882
  .bw-form { display: flex; flex-direction: column; gap: 16px; }
871
883
  .bw-field label {
872
- display: block; font-size: 0.8125rem; font-weight: 500; color: #374151; margin-bottom: 4px;
884
+ display: block; font-size: 0.8125rem; font-weight: 500; color: var(--sk-text-primary); margin-bottom: 4px;
873
885
  }
874
- .bw-req { color: #ef4444; }
886
+ .bw-req { color: var(--sk-error); }
875
887
  .bw-field input, .bw-field textarea {
876
888
  display: block; width: 100%;
877
- padding: 10px 12px; border: 1.5px solid #e5e7eb; border-radius: var(--bw-radius);
878
- font-size: 0.9375rem; font-family: inherit; color: #1a1a1a; background: #fff;
889
+ padding: 10px 12px; border: 1.5px solid var(--sk-input-border); border-radius: var(--sk-radius);
890
+ font-size: 0.9375rem; font-family: inherit; color: var(--sk-text-primary); background: var(--sk-bg);
879
891
  transition: border-color 0.15s, box-shadow 0.15s;
880
892
  }
881
- .bw-field input::placeholder, .bw-field textarea::placeholder { color: #c0c5cc; }
893
+ .bw-field input::placeholder, .bw-field textarea::placeholder { color: var(--sk-text-tertiary); }
882
894
  .bw-field input:focus, .bw-field textarea:focus {
883
- outline: none; border-color: var(--bw-primary);
884
- box-shadow: 0 0 0 3px var(--bw-primary-light);
895
+ outline: none; border-color: var(--sk-primary);
896
+ box-shadow: 0 0 0 3px var(--sk-input-focus-ring);
885
897
  }
886
898
  .bw-submit {
887
899
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
888
900
  width: 100%; padding: 14px; margin-top: 4px;
889
- background: var(--bw-primary); color: #fff; border: none;
890
- border-radius: var(--bw-radius); font-size: 0.9375rem; font-weight: 600;
901
+ background: var(--sk-primary); color: #fff; border: none;
902
+ border-radius: var(--sk-radius); font-size: 0.9375rem; font-weight: 600;
891
903
  cursor: pointer; transition: background 0.15s;
892
904
  }
893
- .bw-submit:hover:not(:disabled) { background: var(--bw-primary-hover); }
905
+ .bw-submit:hover:not(:disabled) { background: var(--sk-primary-hover); }
894
906
  .bw-submit:disabled { opacity: 0.55; cursor: not-allowed; }
895
907
 
896
908
  /* \u2500\u2500 Success \u2500\u2500 */
@@ -898,33 +910,33 @@ var WIDGET_CSS = `
898
910
  .bw-success-icon { margin: 0 auto 16px; width: 56px; height: 56px; animation: bw-fade-in 0.4s ease-out; }
899
911
  .bw-conf-code {
900
912
  display: inline-block; font-family: 'SF Mono', 'Fira Code', monospace;
901
- background: #f3f4f6; padding: 6px 14px; border-radius: 6px;
902
- font-size: 0.8125rem; color: #6b7280; margin: 4px 0 20px; letter-spacing: 0.04em;
913
+ background: var(--sk-surface); padding: 6px 14px; border-radius: 6px;
914
+ font-size: 0.8125rem; color: var(--sk-text-secondary); margin: 4px 0 20px; letter-spacing: 0.04em;
903
915
  }
904
916
 
905
917
  .bw-details-card {
906
- text-align: left; background: #f9fafb; border: 1px solid #f0f0f0;
907
- border-radius: var(--bw-radius); padding: 16px; margin-bottom: 20px;
918
+ text-align: left; background: var(--sk-bg-elevated); border: 1px solid var(--sk-border);
919
+ border-radius: var(--sk-radius); padding: 16px; margin-bottom: 20px;
908
920
  }
909
- .bw-detail-row { display: flex; gap: 12px; padding: 8px 0; border-bottom: 1px solid #f0f0f0; }
921
+ .bw-detail-row { display: flex; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--sk-border); }
910
922
  .bw-detail-row:last-child { border-bottom: none; }
911
- .bw-detail-label { width: 70px; flex-shrink: 0; font-size: 0.8125rem; color: #9ca3af; font-weight: 500; }
912
- .bw-detail-value { font-size: 0.875rem; font-weight: 500; color: #374151; }
923
+ .bw-detail-label { width: 70px; flex-shrink: 0; font-size: 0.8125rem; color: var(--sk-text-tertiary); font-weight: 500; }
924
+ .bw-detail-value { font-size: 0.875rem; font-weight: 500; color: var(--sk-text-primary); }
913
925
 
914
- .bw-cal-links-label { font-size: 0.8125rem; color: #6b7280; margin: 0 0 8px 0; }
926
+ .bw-cal-links-label { font-size: 0.8125rem; color: var(--sk-text-secondary); margin: 0 0 8px 0; }
915
927
  .bw-cal-links { display: flex; gap: 8px; justify-content: center; margin-bottom: 20px; flex-wrap: wrap; }
916
928
  .bw-cal-link {
917
929
  display: inline-flex; align-items: center; gap: 6px;
918
- padding: 8px 14px; border: 1.5px solid #e5e7eb; border-radius: var(--bw-radius);
919
- text-decoration: none; color: #374151; font-size: 0.8125rem; font-weight: 500;
930
+ padding: 8px 14px; border: 1.5px solid var(--sk-border); border-radius: var(--sk-radius);
931
+ text-decoration: none; color: var(--sk-text-primary); font-size: 0.8125rem; font-weight: 500;
920
932
  transition: all 0.15s;
921
933
  }
922
- .bw-cal-link:hover { border-color: var(--bw-primary); color: var(--bw-primary); }
934
+ .bw-cal-link:hover { border-color: var(--sk-primary); color: var(--sk-primary); }
923
935
 
924
- .bw-email-notice { font-size: 0.8125rem; color: #9ca3af; margin: 0; }
925
- .bw-email-notice strong { color: #374151; font-weight: 500; }
936
+ .bw-email-notice { font-size: 0.8125rem; color: var(--sk-text-tertiary); margin: 0; }
937
+ .bw-email-notice strong { color: var(--sk-text-primary); font-weight: 500; }
926
938
  `;
927
939
 
928
940
  export { BookingWidget, createBooking, createSlotHold, detectTimezone, fetchAvailability, fetchAvailableDates, fetchBookingTypeDetails, fetchBookingTypes, formatDate, formatDuration, formatTime, releaseSlotHold };
929
- //# sourceMappingURL=chunk-ZU6YPEAF.mjs.map
930
- //# sourceMappingURL=chunk-ZU6YPEAF.mjs.map
941
+ //# sourceMappingURL=chunk-2OJCYWSQ.mjs.map
942
+ //# sourceMappingURL=chunk-2OJCYWSQ.mjs.map