@sonordev/site-kit 6.4.0 → 7.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 (1621) hide show
  1. package/AGENTS.md +18 -3
  2. package/README.md +50 -34
  3. package/agent-manifest.json +282 -52
  4. package/dist/AnalyticsProvider-GJ6JFQO5.js +11 -0
  5. package/dist/ArticleFaqSection-3Q26DP7P.js +9 -0
  6. package/dist/ArticleViewTracker-FEA5SBKW.js +49 -0
  7. package/dist/BlocksPopup-MNK4SDZM.js +43 -0
  8. package/dist/ChatWidget-M2YNLRYW.js +15 -0
  9. package/dist/DatePicker-JEBV6WYJ.js +2 -0
  10. package/dist/EngageWidget-RR63JQCA.js +11 -0
  11. package/dist/FileField-JFBXXD43.js +83 -0
  12. package/dist/FormCelebration-OVGAGBKF.js +2 -0
  13. package/dist/FormSpotlight-QE3J3VB5.js +754 -0
  14. package/dist/FormStage-OTPKEWID.js +418 -0
  15. package/dist/ManagedForm-3VRALWUD.js +14 -0
  16. package/dist/ManagedNewsletterForm-A2FE6L5C.js +62 -0
  17. package/dist/SignalCore-S6DO3VQV.js +322 -0
  18. package/dist/SiteDesignReporter-2WZVWJMA.js +11 -0
  19. package/dist/SitemapSync-IKNKPT2G.js +8 -0
  20. package/dist/SitemapSync.d.ts +0 -1
  21. package/dist/_client/booking-widget.d.ts +4 -0
  22. package/dist/_client/booking-widget.js +7 -0
  23. package/dist/_client/testimonial-section.d.ts +11 -0
  24. package/dist/_client/testimonial-section.js +5 -0
  25. package/dist/admin-auth/index.d.ts +0 -1
  26. package/dist/admin-auth/index.js +0 -0
  27. package/dist/admin-auth/session.d.ts +0 -1
  28. package/dist/affiliates/AffiliatesWidget.d.ts +0 -1
  29. package/dist/affiliates/api.d.ts +0 -1
  30. package/dist/affiliates/index.d.ts +0 -1
  31. package/dist/affiliates/index.js +149 -0
  32. package/dist/affiliates/types.d.ts +0 -1
  33. package/dist/affiliates/useAffiliates.d.ts +0 -1
  34. package/dist/analytics/AnalyticsProvider.d.ts +0 -1
  35. package/dist/analytics/WebVitals.d.ts +0 -1
  36. package/dist/analytics/dispatch.d.ts +0 -1
  37. package/dist/analytics/index.d.ts +0 -1
  38. package/dist/analytics/index.js +12 -66
  39. package/dist/analytics/measurement-context.d.ts +0 -1
  40. package/dist/analytics/page-observation.d.ts +0 -1
  41. package/dist/analytics/send-gate.d.ts +0 -1
  42. package/dist/analytics/types.d.ts +0 -1
  43. package/dist/analytics/useContactTracking.d.ts +0 -1
  44. package/dist/article-styles-6CM5FUMV.js +590 -0
  45. package/dist/article-tables-AXSZOGNW.js +2 -0
  46. package/dist/articles/Article.d.ts +0 -1
  47. package/dist/articles/ArticleFAQ.d.ts +0 -1
  48. package/dist/articles/ArticleFaqSection.d.ts +0 -1
  49. package/dist/articles/ArticleList.d.ts +0 -1
  50. package/dist/articles/ArticleViewTracker.d.ts +0 -1
  51. package/dist/articles/AuthorCard.d.ts +0 -1
  52. package/dist/articles/AuthorPage.d.ts +0 -1
  53. package/dist/articles/ClusterLandingPage.d.ts +0 -1
  54. package/dist/articles/ClusterNavigation.d.ts +0 -1
  55. package/dist/articles/ManagedNewsletterForm.d.ts +0 -1
  56. package/dist/articles/NewsletterShell.d.ts +0 -1
  57. package/dist/articles/NewsletterWidget.d.ts +0 -1
  58. package/dist/articles/PublicationLayout.d.ts +0 -1
  59. package/dist/articles/PublicationSidebar.d.ts +0 -1
  60. package/dist/articles/RelatedPosts.d.ts +0 -1
  61. package/dist/articles/ServiceCallout.d.ts +0 -1
  62. package/dist/articles/TableOfContents.d.ts +0 -1
  63. package/dist/articles/article-styles.d.ts +0 -1
  64. package/dist/articles/article-tables.d.ts +0 -1
  65. package/dist/articles/artwork.d.ts +0 -1
  66. package/dist/articles/author-schema.d.ts +0 -1
  67. package/dist/articles/author-social.d.ts +0 -1
  68. package/dist/articles/excerpt.d.ts +0 -1
  69. package/dist/articles/index.d.ts +0 -1
  70. package/dist/articles/index.js +87 -147
  71. package/dist/articles/news-sitemap.d.ts +0 -1
  72. package/dist/articles/processArticleHtml.d.ts +0 -1
  73. package/dist/articles/public-reads.d.ts +0 -1
  74. package/dist/articles/reading-time.d.ts +0 -1
  75. package/dist/articles/routes.d.ts +0 -1
  76. package/dist/articles/server-core.d.ts +0 -14
  77. package/dist/articles/server-ui.d.ts +0 -1
  78. package/dist/articles/server-ui.js +221 -265
  79. package/dist/articles/server.d.ts +0 -14
  80. package/dist/articles/server.js +10 -252
  81. package/dist/articles/types.d.ts +6 -1
  82. package/dist/articles/widget-styles.d.ts +0 -1
  83. package/dist/brand/extract-brand-profile.d.ts +0 -1
  84. package/dist/chat/index.d.ts +11 -0
  85. package/dist/chat/index.js +16 -0
  86. package/dist/chunk-24QZEO3Q.js +41 -0
  87. package/dist/chunk-3XHK5DFX.js +184 -0
  88. package/dist/chunk-43OCZ3JA.js +67 -0
  89. package/dist/chunk-4KZ6W3ZH.js +8 -0
  90. package/dist/chunk-4WI3FU5L.js +129 -0
  91. package/dist/chunk-4Y5FWDPM.js +97 -0
  92. package/dist/chunk-5C4WVOVO.js +478 -0
  93. package/dist/chunk-5SQK3D53.js +24 -0
  94. package/dist/chunk-5UZN5V52.js +52 -0
  95. package/dist/chunk-5YSI5KFD.js +19 -0
  96. package/dist/chunk-6CUFRMMF.js +937 -0
  97. package/dist/chunk-6HDT4G4A.js +253 -0
  98. package/dist/chunk-6T6CQVNL.js +37 -0
  99. package/dist/chunk-6ZB3XNAT.js +54 -0
  100. package/dist/chunk-7KJGO77W.js +1 -0
  101. package/dist/chunk-7L5AARVY.js +68 -0
  102. package/dist/chunk-7ZHJIRM3.js +4 -0
  103. package/dist/chunk-7ZWO5HDQ.js +1 -0
  104. package/dist/chunk-A4CC4ZG3.js +15 -0
  105. package/dist/chunk-AQSNPZY4.js +92 -0
  106. package/dist/chunk-B52EXDWI.js +1803 -0
  107. package/dist/chunk-BQR4IPBW.js +146 -0
  108. package/dist/chunk-BR4ZKUHH.js +227 -0
  109. package/dist/chunk-BU66S5B7.js +1 -0
  110. package/dist/chunk-C4G3NW2E.js +25 -0
  111. package/dist/chunk-D7SLSJS4.js +1 -0
  112. package/dist/chunk-DIKNRN34.js +28 -0
  113. package/dist/chunk-DXO6SBMD.js +43 -0
  114. package/dist/chunk-EDYHROQ7.js +77 -0
  115. package/dist/chunk-EKBEOXTH.js +114 -0
  116. package/dist/chunk-FESKKJAS.js +19 -0
  117. package/dist/chunk-FV2VD7WM.js +347 -0
  118. package/dist/chunk-FYAB6CXS.js +265 -0
  119. package/dist/chunk-G3NHWMP5.js +233 -0
  120. package/dist/chunk-GJWI74ZZ.js +27 -0
  121. package/dist/chunk-GKGSXUVQ.js +218 -0
  122. package/dist/chunk-GLHQ3LRO.js +97 -0
  123. package/dist/chunk-GW7GSBO7.js +66 -0
  124. package/dist/chunk-GYBMMWGF.js +163 -0
  125. package/dist/chunk-GYF2ULVO.js +14 -0
  126. package/dist/chunk-HPUXKMNR.js +148 -0
  127. package/dist/chunk-HXJ54KAM.js +122 -0
  128. package/dist/chunk-I6WUCBKI.js +99 -0
  129. package/dist/chunk-IHG36STL.js +286 -0
  130. package/dist/chunk-J4FSB4OG.js +200 -0
  131. package/dist/chunk-JE4A5S4F.js +48 -0
  132. package/dist/chunk-JJ4JS3LD.js +26 -0
  133. package/dist/chunk-JMRESWQT.js +130 -0
  134. package/dist/chunk-JSZN6LDZ.js +338 -0
  135. package/dist/chunk-KPAZG65P.js +138 -0
  136. package/dist/chunk-KV4LOKOU.js +154 -0
  137. package/dist/chunk-KXPBMCFL.js +39 -0
  138. package/dist/chunk-L2V5PUFN.js +15 -0
  139. package/dist/chunk-L3AQCDCY.js +386 -0
  140. package/dist/chunk-L5UOHS6E.js +45 -0
  141. package/dist/chunk-LCDVPAMR.js +24 -0
  142. package/dist/chunk-LE7ZOTHB.js +43 -0
  143. package/dist/chunk-LNSNA3W4.js +217 -0
  144. package/dist/chunk-LQJC5S2M.js +236 -0
  145. package/dist/chunk-LT5ITURG.js +1071 -0
  146. package/dist/chunk-LVESVYCE.js +270 -0
  147. package/dist/chunk-M4ZY2FVB.js +177 -0
  148. package/dist/chunk-MH2DSGC6.js +10 -0
  149. package/dist/chunk-MJP63SSS.js +14 -0
  150. package/dist/chunk-MVLMXC44.js +9 -0
  151. package/dist/chunk-MZFF5F7R.js +407 -0
  152. package/dist/chunk-N2UVOR3X.js +238 -0
  153. package/dist/chunk-NDF4A5JM.js +37 -0
  154. package/dist/chunk-NJCTQH2P.js +62 -0
  155. package/dist/chunk-NZOJHERI.js +32 -0
  156. package/dist/chunk-OO2GZ272.js +1241 -0
  157. package/dist/chunk-OPRBF7VE.js +41 -0
  158. package/dist/chunk-OSQHWIM5.js +523 -0
  159. package/dist/chunk-OSYCOC3K.js +21 -0
  160. package/dist/chunk-P5GB6NEO.js +66 -0
  161. package/dist/chunk-PKBMQBKP.js +5 -0
  162. package/dist/chunk-PO2TRJPY.js +40 -0
  163. package/dist/chunk-PSAG45YF.js +451 -0
  164. package/dist/chunk-PXKIGZ2F.js +31 -0
  165. package/dist/chunk-QLTDFUJ7.js +94 -0
  166. package/dist/chunk-QPEEKFCA.js +533 -0
  167. package/dist/chunk-QXMIKDOL.js +125 -0
  168. package/dist/chunk-R3TOKUDJ.js +191 -0
  169. package/dist/chunk-S22FSH7C.js +94 -0
  170. package/dist/chunk-SC4MZGWZ.js +63 -0
  171. package/dist/chunk-SOD2F6C2.js +281 -0
  172. package/dist/chunk-SS636UDN.js +35 -0
  173. package/dist/chunk-SSUQKA7L.js +746 -0
  174. package/dist/chunk-SWKE6FWH.js +47 -0
  175. package/dist/chunk-T22VK4NJ.js +49 -0
  176. package/dist/chunk-TT63HHIT.js +543 -0
  177. package/dist/chunk-TXBAOEKG.js +1084 -0
  178. package/dist/chunk-UINSEWQ3.js +127 -0
  179. package/dist/chunk-UPFU63L4.js +126 -0
  180. package/dist/chunk-UVPGW4R7.js +222 -0
  181. package/dist/chunk-VX5CMNMM.js +26 -0
  182. package/dist/chunk-WFHI6HXP.js +837 -0
  183. package/dist/chunk-WMVK77ND.js +53 -0
  184. package/dist/chunk-X6F6SO4S.js +135 -0
  185. package/dist/chunk-XTRZGXB2.js +34 -0
  186. package/dist/chunk-XZMVNORA.js +100 -0
  187. package/dist/chunk-Y3INC4QJ.js +133 -0
  188. package/dist/chunk-YC7ELZS3.js +51 -0
  189. package/dist/chunk-YGGDU6C3.js +93 -0
  190. package/dist/chunk-YVKRYQRG.js +70 -0
  191. package/dist/chunk-Z22QVHT4.js +57 -0
  192. package/dist/chunk-ZEGVKVD5.js +80 -0
  193. package/dist/chunk-ZTZQPYP6.js +55 -0
  194. package/dist/client/SiteKitCredential.d.ts +0 -1
  195. package/dist/client/index.d.ts +0 -1
  196. package/dist/client/index.js +13 -53
  197. package/dist/cms/CmsPage.d.ts +0 -1
  198. package/dist/cms/CmsPreview.d.ts +0 -1
  199. package/dist/cms/CmsSection.d.ts +0 -1
  200. package/dist/cms/PortableTextRenderer.d.ts +0 -1
  201. package/dist/cms/index.d.ts +1 -2
  202. package/dist/cms/index.js +5 -410
  203. package/dist/cms/sanity-image.d.ts +0 -1
  204. package/dist/cms/sections/CtaSection.d.ts +0 -1
  205. package/dist/cms/sections/CustomSection.d.ts +0 -1
  206. package/dist/cms/sections/FaqSection.d.ts +0 -1
  207. package/dist/cms/sections/FormSection.d.ts +0 -1
  208. package/dist/cms/sections/GallerySection.d.ts +0 -1
  209. package/dist/cms/sections/HeroSection.d.ts +0 -1
  210. package/dist/cms/sections/RichTextSection.d.ts +0 -1
  211. package/dist/cms/sections/TestimonialsSection.d.ts +0 -1
  212. package/dist/cms/sections/index.d.ts +0 -1
  213. package/dist/cms/server-api.d.ts +0 -1
  214. package/dist/cms/server.d.ts +0 -1
  215. package/dist/cms/server.js +5 -22
  216. package/dist/cms/types.d.ts +0 -1
  217. package/dist/commerce/CalendarView.d.ts +0 -1
  218. package/dist/commerce/CheckoutForm.d.ts +0 -1
  219. package/dist/commerce/EventCalendar.d.ts +0 -1
  220. package/dist/commerce/EventCheckout.d.ts +0 -1
  221. package/dist/commerce/EventEmbed.d.ts +0 -1
  222. package/dist/commerce/EventModal.d.ts +0 -1
  223. package/dist/commerce/EventTile.d.ts +0 -1
  224. package/dist/commerce/EventsAgenda.d.ts +0 -1
  225. package/dist/commerce/EventsWidget.d.ts +0 -1
  226. package/dist/commerce/OfferingCard.d.ts +0 -1
  227. package/dist/commerce/OfferingList.d.ts +0 -1
  228. package/dist/commerce/ProductDetail.d.ts +0 -1
  229. package/dist/commerce/ProductEmbed.d.ts +0 -1
  230. package/dist/commerce/ProductGrid.d.ts +0 -1
  231. package/dist/commerce/ProductPage.d.ts +0 -1
  232. package/dist/commerce/RegistrationForm.d.ts +0 -1
  233. package/dist/commerce/SizeChart.d.ts +0 -1
  234. package/dist/commerce/UpcomingEvents.d.ts +0 -1
  235. package/dist/commerce/api.d.ts +0 -1
  236. package/dist/commerce/events-extras.d.ts +0 -1
  237. package/dist/commerce/index.d.ts +0 -1
  238. package/dist/commerce/index.js +8021 -227
  239. package/dist/commerce/server.d.ts +0 -1
  240. package/dist/commerce/server.js +2 -251
  241. package/dist/commerce/types.d.ts +0 -1
  242. package/dist/commerce/useEventModal.d.ts +0 -1
  243. package/dist/commerce/utils.d.ts +0 -1
  244. package/dist/config/index.d.ts +0 -1
  245. package/dist/config/index.js +7 -11
  246. package/dist/contracts/color.d.ts +38 -0
  247. package/dist/contracts/entries.d.ts +8 -0
  248. package/dist/contracts/fleet.d.ts +96 -0
  249. package/dist/contracts/forms.d.ts +89 -0
  250. package/dist/contracts/llms.d.ts +54 -0
  251. package/dist/contracts/portfolio.d.ts +158 -0
  252. package/dist/contracts/seo-meta.d.ts +56 -0
  253. package/dist/contracts/seo-pages.d.ts +124 -0
  254. package/dist/contracts/sites-normalize.d.ts +35 -0
  255. package/dist/contracts/sites.d.ts +48 -0
  256. package/dist/contracts/slots.d.ts +81 -0
  257. package/dist/contracts/website.d.ts +148 -0
  258. package/dist/cta-bar/CtaBar.d.ts +0 -1
  259. package/dist/cta-bar/CtaBarBehavior.d.ts +0 -1
  260. package/dist/cta-bar/client.d.ts +0 -1
  261. package/dist/cta-bar/client.js +3 -22
  262. package/dist/cta-bar/index.d.ts +0 -1
  263. package/dist/cta-bar/index.js +5 -227
  264. package/dist/cta-bar/styles.d.ts +0 -1
  265. package/dist/discover-3YYOHOQP.js +2 -0
  266. package/dist/engage/ChatWidget.d.ts +0 -1
  267. package/dist/engage/DesignRenderer.d.ts +0 -1
  268. package/dist/engage/EchoUiActions.d.ts +0 -1
  269. package/dist/engage/EngageWidget.d.ts +2 -1
  270. package/dist/engage/brand-color.d.ts +0 -1
  271. package/dist/engage/chat-messages.d.ts +0 -1
  272. package/dist/engage/echo-config.d.ts +0 -1
  273. package/dist/engage/element-rules.d.ts +0 -1
  274. package/dist/engage/index.d.ts +0 -1
  275. package/dist/engage/index.js +20 -36
  276. package/dist/engage/launcher-placement.d.ts +0 -1
  277. package/dist/engage/socket-loader.d.ts +0 -1
  278. package/dist/engage/types.d.ts +18 -1
  279. package/dist/fleet/FleetHeartbeat.d.ts +0 -1
  280. package/dist/fleet/contract.d.ts +1 -98
  281. package/dist/fleet/contract.js +2 -53
  282. package/dist/fleet/heartbeat.d.ts +0 -1
  283. package/dist/fleet/index.d.ts +0 -1
  284. package/dist/fleet/index.js +9 -75
  285. package/dist/forms/DatePicker.d.ts +0 -1
  286. package/dist/forms/FileField.d.ts +0 -1
  287. package/dist/forms/FormCelebration.d.ts +0 -1
  288. package/dist/forms/FormClient.d.ts +0 -1
  289. package/dist/forms/FormEnhancer.d.ts +0 -1
  290. package/dist/forms/FormField.d.ts +0 -1
  291. package/dist/forms/FormSpotlight.d.ts +0 -1
  292. package/dist/forms/FormStage.d.ts +0 -1
  293. package/dist/forms/HoneypotField.d.ts +0 -1
  294. package/dist/forms/ManagedForm.d.ts +0 -1
  295. package/dist/forms/ServerForm.d.ts +0 -1
  296. package/dist/forms/StaticForm.d.ts +0 -1
  297. package/dist/forms/contract.d.ts +1 -91
  298. package/dist/forms/contract.js +2 -37
  299. package/dist/forms/defaultSuccessMessage.d.ts +0 -1
  300. package/dist/forms/delight.d.ts +0 -1
  301. package/dist/forms/experience-chrome.d.ts +0 -1
  302. package/dist/forms/experience-plan.d.ts +0 -1
  303. package/dist/forms/field-controls.d.ts +0 -1
  304. package/dist/forms/field-interactions.d.ts +0 -1
  305. package/dist/forms/field-rules.d.ts +0 -1
  306. package/dist/forms/form-loaded-at.d.ts +12 -0
  307. package/dist/forms/form-values.d.ts +0 -1
  308. package/dist/forms/formsApi.d.ts +0 -1
  309. package/dist/forms/ga4-identity.d.ts +0 -1
  310. package/dist/forms/index.d.ts +0 -1
  311. package/dist/forms/index.js +20 -64
  312. package/dist/forms/normalize-config.d.ts +0 -1
  313. package/dist/forms/recaptcha-warmup.d.ts +0 -1
  314. package/dist/forms/recaptcha.d.ts +0 -1
  315. package/dist/forms/server.d.ts +0 -1
  316. package/dist/forms/server.js +11 -67
  317. package/dist/forms/static.d.ts +0 -1
  318. package/dist/forms/static.js +6 -17
  319. package/dist/forms/submitForm.d.ts +0 -1
  320. package/dist/forms/tracking-session.d.ts +0 -1
  321. package/dist/forms/types.d.ts +0 -1
  322. package/dist/forms/useForm.d.ts +0 -1
  323. package/dist/forms/useFormTracking.d.ts +0 -1
  324. package/dist/images/ManagedFavicon.d.ts +0 -1
  325. package/dist/images/ManagedImage.d.ts +0 -1
  326. package/dist/images/api.d.ts +0 -1
  327. package/dist/images/index.d.ts +0 -1
  328. package/dist/images/index.js +6 -49
  329. package/dist/images/server.d.ts +0 -1
  330. package/dist/images/server.js +3 -21
  331. package/dist/index.d.ts +13 -56
  332. package/dist/index.js +2 -426
  333. package/dist/landing/LandingPage.d.ts +0 -1
  334. package/dist/landing/contract.d.ts +0 -1
  335. package/dist/landing/index.d.ts +0 -1
  336. package/dist/landing/index.js +3 -22
  337. package/dist/landing/metadata.d.ts +0 -1
  338. package/dist/landing/server.d.ts +0 -1
  339. package/dist/landing/server.js +3 -17
  340. package/dist/layout/SiteKitClientProviders.d.ts +12 -3
  341. package/dist/layout/SiteKitLayout.d.ts +19 -4
  342. package/dist/layout/SpeculationRules.d.ts +0 -1
  343. package/dist/layout/client.d.ts +12 -3
  344. package/dist/layout/client.js +16 -26
  345. package/dist/layout/index.d.ts +0 -1
  346. package/dist/layout/index.js +43 -40
  347. package/dist/layout/types.d.ts +19 -1
  348. package/dist/llms/AEOComponents.d.ts +0 -1
  349. package/dist/llms/SpeakableSchema.d.ts +0 -1
  350. package/dist/llms/agent-access.d.ts +43 -0
  351. package/dist/llms/aiRobots.d.ts +0 -10
  352. package/dist/llms/api.d.ts +0 -1
  353. package/dist/llms/client.d.ts +0 -1
  354. package/dist/llms/client.js +4 -66
  355. package/dist/llms/contract.d.ts +1 -42
  356. package/dist/llms/contract.js +2 -41
  357. package/dist/llms/discovery-headers.d.ts +6 -1
  358. package/dist/llms/generateLLMsTxt.d.ts +0 -1
  359. package/dist/llms/handlers.d.ts +0 -1
  360. package/dist/llms/humanize-industry.d.ts +0 -1
  361. package/dist/llms/index.d.ts +3 -2
  362. package/dist/llms/index.js +17 -448
  363. package/dist/llms/links.d.ts +0 -1
  364. package/dist/llms/revalidate.d.ts +0 -1
  365. package/dist/llms/seo-revalidate.d.ts +0 -1
  366. package/dist/llms/sourcedFacts.d.ts +0 -1
  367. package/dist/llms/types.d.ts +6 -1
  368. package/dist/llms/writeLLMsTxt.d.ts +10 -1
  369. package/dist/manifest/index.d.ts +0 -1
  370. package/dist/manifest/index.js +4 -8
  371. package/dist/maps/GoogleMap.d.ts +0 -1
  372. package/dist/maps/NeighborhoodMap.d.ts +0 -1
  373. package/dist/maps/api.d.ts +0 -1
  374. package/dist/maps/index.d.ts +0 -1
  375. package/dist/maps/index.js +85 -92
  376. package/dist/maps/types.d.ts +0 -1
  377. package/dist/mcp/WebMcpTools.d.ts +0 -1
  378. package/dist/mcp/client.d.ts +0 -1
  379. package/dist/mcp/client.js +9 -12
  380. package/dist/mcp/declarative.d.ts +0 -1
  381. package/dist/mcp/handlers.d.ts +15 -2
  382. package/dist/mcp/index.d.ts +2 -3
  383. package/dist/mcp/index.js +50 -298
  384. package/dist/mcp/protocol.d.ts +0 -1
  385. package/dist/mcp/report.d.ts +27 -0
  386. package/dist/mcp/serverCard.d.ts +0 -1
  387. package/dist/mcp/sonor.d.ts +99 -0
  388. package/dist/mcp/sonor.js +482 -0
  389. package/dist/mcp/transport.d.ts +0 -1
  390. package/dist/mcp/transport.js +8 -24
  391. package/dist/mcp/types.d.ts +21 -1
  392. package/dist/motion/CountUp.d.ts +0 -1
  393. package/dist/motion/Parallax.d.ts +0 -1
  394. package/dist/motion/Reveal.d.ts +0 -1
  395. package/dist/motion/ScrollScene.d.ts +0 -1
  396. package/dist/motion/engine.d.ts +0 -1
  397. package/dist/motion/failsafe.d.ts +0 -1
  398. package/dist/motion/gsap.d.ts +0 -1
  399. package/dist/motion/gsap.js +17 -29
  400. package/dist/motion/index.d.ts +0 -1
  401. package/dist/motion/index.js +25 -51
  402. package/dist/motion/three.d.ts +0 -1
  403. package/dist/motion/three.js +16 -23
  404. package/dist/og/config.d.ts +0 -1
  405. package/dist/og/contrast.d.ts +0 -1
  406. package/dist/og/index.d.ts +0 -1
  407. package/dist/og/index.js +4 -43
  408. package/dist/og/pages.d.ts +0 -1
  409. package/dist/og/route-fit.d.ts +0 -1
  410. package/dist/og/route.d.ts +0 -1
  411. package/dist/og/route.js +3 -245
  412. package/dist/og/template.d.ts +0 -1
  413. package/dist/portfolio/contract.d.ts +1 -60
  414. package/dist/portfolio/contract.js +2 -43
  415. package/dist/proxy/index.d.ts +16 -14
  416. package/dist/proxy/index.js +20 -36
  417. package/dist/proxy/securityHeaders.d.ts +0 -1
  418. package/dist/proxy/segment.d.ts +0 -1
  419. package/dist/redirects/index.d.ts +0 -8
  420. package/dist/redirects/index.js +6 -41
  421. package/dist/reputation/TestimonialSection.d.ts +0 -1
  422. package/dist/reputation/api.d.ts +0 -1
  423. package/dist/reputation/index.d.ts +0 -1
  424. package/dist/reputation/index.js +4 -22
  425. package/dist/reputation/server.d.ts +0 -1
  426. package/dist/reputation/server.js +3 -17
  427. package/dist/reputation/types.d.ts +0 -1
  428. package/dist/robots/index.d.ts +1 -2
  429. package/dist/robots/index.js +4 -78
  430. package/dist/robots/indexnow.d.ts +0 -1
  431. package/dist/robots/indexnow.js +4 -39
  432. package/dist/robots/next-internals.d.ts +0 -1
  433. package/dist/seo/ManagedContent.d.ts +0 -1
  434. package/dist/seo/ManagedFAQ.d.ts +0 -1
  435. package/dist/seo/ManagedInternalLinks.d.ts +0 -1
  436. package/dist/seo/ManagedSchema.d.ts +0 -1
  437. package/dist/seo/ManagedScripts.d.ts +0 -1
  438. package/dist/seo/api.d.ts +0 -1
  439. package/dist/seo/client.d.ts +0 -1
  440. package/dist/seo/client.js +8 -18
  441. package/dist/seo/entry-indexnow.d.ts +2 -0
  442. package/dist/seo/entry-llms-client.d.ts +2 -0
  443. package/dist/seo/entry-llms-contract.d.ts +2 -0
  444. package/dist/seo/entry-llms.d.ts +2 -0
  445. package/dist/seo/entry-meta-contract.d.ts +2 -0
  446. package/dist/seo/entry-og-route.d.ts +2 -0
  447. package/dist/seo/entry-og.d.ts +2 -0
  448. package/dist/seo/entry-pages-contract.d.ts +2 -0
  449. package/dist/seo/entry-redirects.d.ts +2 -0
  450. package/dist/seo/entry-robots.d.ts +2 -0
  451. package/dist/seo/entry-sitemap.d.ts +2 -0
  452. package/dist/seo/getManagedMetadata.d.ts +0 -1
  453. package/dist/seo/groundingSchema.d.ts +0 -1
  454. package/dist/seo/index.d.ts +0 -2
  455. package/dist/seo/index.js +88 -317
  456. package/dist/seo/indexnow.d.ts +2 -0
  457. package/dist/seo/indexnow.js +4 -0
  458. package/dist/seo/llms/client.d.ts +2 -0
  459. package/dist/seo/llms/client.js +4 -0
  460. package/dist/seo/llms/contract.d.ts +2 -0
  461. package/dist/seo/llms/contract.js +2 -0
  462. package/dist/seo/llms.d.ts +2 -0
  463. package/dist/seo/llms.js +17 -0
  464. package/dist/seo/load-env.d.ts +12 -0
  465. package/dist/seo/meta/contract.d.ts +2 -0
  466. package/dist/seo/meta/contract.js +2 -0
  467. package/dist/seo/og/route.d.ts +2 -0
  468. package/dist/seo/og/route.js +3 -0
  469. package/dist/seo/og.d.ts +2 -0
  470. package/dist/seo/og.js +4 -0
  471. package/dist/seo/pages/contract.d.ts +2 -0
  472. package/dist/seo/pages/contract.js +4 -0
  473. package/dist/seo/redirects.d.ts +2 -0
  474. package/dist/seo/redirects.js +6 -0
  475. package/dist/seo/register-sitemap-cli-impl.d.ts +6 -1
  476. package/dist/seo/register-sitemap-cli.d.ts +1 -1
  477. package/dist/seo/register-sitemap-cli.js +73 -66
  478. package/dist/seo/register-sitemap-request.d.ts +0 -1
  479. package/dist/seo/robots.d.ts +2 -0
  480. package/dist/seo/robots.js +4 -0
  481. package/dist/seo/routing.d.ts +0 -1
  482. package/dist/seo/safeJsonLd.d.ts +0 -1
  483. package/dist/seo/schema-filter.d.ts +0 -1
  484. package/dist/seo/server-api.d.ts +0 -1
  485. package/dist/seo/server.d.ts +0 -1
  486. package/dist/seo/server.js +10 -80
  487. package/dist/seo/sitemap.d.ts +2 -0
  488. package/dist/seo/sitemap.js +15 -0
  489. package/dist/seo/types.d.ts +0 -1
  490. package/dist/seo/withManagedMetadata.d.ts +0 -1
  491. package/dist/seo-meta/contract.d.ts +1 -60
  492. package/dist/seo-meta/contract.js +2 -41
  493. package/dist/seo-pages/contract.d.ts +1 -61
  494. package/dist/seo-pages/contract.js +4 -49
  495. package/dist/server/index.d.ts +0 -1
  496. package/dist/server/index.js +6 -32
  497. package/dist/server/mint-site-token.d.ts +0 -1
  498. package/dist/server/server-fetch.d.ts +0 -1
  499. package/dist/server-api-GJJQZVG7.js +8 -0
  500. package/dist/shared/build-entries.d.ts +53 -14
  501. package/dist/shared/clock.d.ts +20 -0
  502. package/dist/shared/color.d.ts +1 -39
  503. package/dist/shared/defer.d.ts +0 -1
  504. package/dist/shared/fetchWithRetry.d.ts +0 -1
  505. package/dist/shared/frame.d.ts +8 -1
  506. package/dist/shared/fresh-fetch.d.ts +0 -1
  507. package/dist/shared/glass.d.ts +0 -1
  508. package/dist/shared/identity.d.ts +0 -1
  509. package/dist/shared/markdown.d.ts +40 -0
  510. package/dist/shared/next-files.d.ts +0 -1
  511. package/dist/shared/page-leave.d.ts +0 -1
  512. package/dist/shared/publishCredential.d.ts +0 -1
  513. package/dist/shared/reporting-gate.d.ts +0 -1
  514. package/dist/shared/request-guards.d.ts +0 -1
  515. package/dist/shared/siteToken.d.ts +0 -1
  516. package/dist/shared/sonorFetch.d.ts +0 -1
  517. package/dist/shared/source-graph.d.ts +0 -1
  518. package/dist/shared/uuid.d.ts +0 -1
  519. package/dist/shared/version.d.ts +1 -2
  520. package/dist/shared/visual-viewport-gap.d.ts +0 -1
  521. package/dist/signal/SignalBridge.d.ts +0 -1
  522. package/dist/signal/SignalCore.d.ts +0 -1
  523. package/dist/signal/SignalExperiment.d.ts +0 -1
  524. package/dist/signal/index.d.ts +0 -1
  525. package/dist/signal/index.js +72 -44
  526. package/dist/signal/store.d.ts +0 -1
  527. package/dist/signal/types.d.ts +0 -1
  528. package/dist/site-config/index.d.ts +0 -1
  529. package/dist/site-config/index.js +2 -17
  530. package/dist/sitemap/discover.d.ts +0 -1
  531. package/dist/sitemap/index.d.ts +6 -1
  532. package/dist/sitemap/index.js +15 -553
  533. package/dist/sitemap/shared.d.ts +0 -1
  534. package/dist/sites/contract.d.ts +1 -51
  535. package/dist/sites/contract.js +3 -38
  536. package/dist/sites/normalize.d.ts +1 -36
  537. package/dist/sites/resolve.d.ts +0 -1
  538. package/dist/sites/site-param.d.ts +0 -1
  539. package/dist/slots/ManagedSlot.d.ts +0 -1
  540. package/dist/slots/contract.d.ts +1 -82
  541. package/dist/slots/contract.js +2 -41
  542. package/dist/slots/index.d.ts +0 -1
  543. package/dist/slots/index.js +5 -182
  544. package/dist/slots/revalidate.d.ts +0 -1
  545. package/dist/slots/server-api.d.ts +0 -1
  546. package/dist/socket-loader-R24ZSRSQ.js +12 -0
  547. package/dist/sync/AddToCalendar.d.ts +0 -1
  548. package/dist/sync/BookingWidget.d.ts +0 -1
  549. package/dist/sync/MeetingFormatStep.d.ts +0 -1
  550. package/dist/sync/api.d.ts +0 -1
  551. package/dist/sync/booking-flow.d.ts +0 -1
  552. package/dist/sync/index.d.ts +0 -1
  553. package/dist/sync/index.js +6 -64
  554. package/dist/sync/types.d.ts +0 -1
  555. package/dist/types.d.ts +0 -63
  556. package/dist/web-vitals.attribution-N2PCCF4Q.js +522 -0
  557. package/dist/website/BlocksPopup.d.ts +25 -0
  558. package/dist/website/PopupBlocks.d.ts +57 -0
  559. package/dist/website/SiteDesignReporter.d.ts +28 -0
  560. package/dist/website/cms/server.d.ts +2 -0
  561. package/dist/website/cms/server.js +5 -0
  562. package/dist/website/cms-server.d.ts +2 -0
  563. package/dist/website/cms.d.ts +2 -0
  564. package/dist/website/cms.js +5 -0
  565. package/dist/website/contract.d.ts +1 -0
  566. package/dist/website/contract.js +3 -0
  567. package/dist/website/cta-bar.d.ts +2 -0
  568. package/dist/website/cta-bar.js +5 -0
  569. package/dist/website/design.d.ts +165 -0
  570. package/dist/website/images/server.d.ts +2 -0
  571. package/dist/website/images/server.js +3 -0
  572. package/dist/website/images-server.d.ts +2 -0
  573. package/dist/website/images.d.ts +2 -0
  574. package/dist/website/images.js +6 -0
  575. package/dist/website/index.d.ts +17 -0
  576. package/dist/website/index.js +13 -0
  577. package/dist/website/landing/server.d.ts +2 -0
  578. package/dist/website/landing/server.js +3 -0
  579. package/dist/website/landing-server.d.ts +2 -0
  580. package/dist/website/landing.d.ts +2 -0
  581. package/dist/website/landing.js +3 -0
  582. package/dist/website/popups.d.ts +17 -0
  583. package/dist/website/popups.js +22 -0
  584. package/dist/website/slots/contract.d.ts +2 -0
  585. package/dist/website/slots/contract.js +2 -0
  586. package/dist/website/slots-contract.d.ts +2 -0
  587. package/dist/website/slots.d.ts +3 -0
  588. package/dist/website/slots.js +5 -0
  589. package/dist/writeLLMsTxt-UMHKGNRR.js +11 -0
  590. package/package.json +175 -147
  591. package/skills/site-kit/SKILL.md +9 -3
  592. package/dist/AnalyticsProvider-4K5T7OQ7.mjs +0 -12
  593. package/dist/AnalyticsProvider-4K5T7OQ7.mjs.map +0 -1
  594. package/dist/AnalyticsProvider-QXZN5O6D.js +0 -33
  595. package/dist/AnalyticsProvider-QXZN5O6D.js.map +0 -1
  596. package/dist/ArticleFaqSection-3KZ24MFS.js +0 -13
  597. package/dist/ArticleFaqSection-3KZ24MFS.js.map +0 -1
  598. package/dist/ArticleFaqSection-XZPXJVH4.mjs +0 -11
  599. package/dist/ArticleFaqSection-XZPXJVH4.mjs.map +0 -1
  600. package/dist/ArticleViewTracker-BUG2TOHS.mjs +0 -51
  601. package/dist/ArticleViewTracker-BUG2TOHS.mjs.map +0 -1
  602. package/dist/ArticleViewTracker-FFMHR7AY.js +0 -54
  603. package/dist/ArticleViewTracker-FFMHR7AY.js.map +0 -1
  604. package/dist/ChatWidget-CRQPBDEF.mjs +0 -17
  605. package/dist/ChatWidget-CRQPBDEF.mjs.map +0 -1
  606. package/dist/ChatWidget-XFYLVXAX.js +0 -34
  607. package/dist/ChatWidget-XFYLVXAX.js.map +0 -1
  608. package/dist/DatePicker-4WNKNNCV.mjs +0 -4
  609. package/dist/DatePicker-4WNKNNCV.mjs.map +0 -1
  610. package/dist/DatePicker-VPZR7RU3.js +0 -13
  611. package/dist/DatePicker-VPZR7RU3.js.map +0 -1
  612. package/dist/EngageWidget-S234YAT2.js +0 -21
  613. package/dist/EngageWidget-S234YAT2.js.map +0 -1
  614. package/dist/EngageWidget-SQU4T7CI.mjs +0 -12
  615. package/dist/EngageWidget-SQU4T7CI.mjs.map +0 -1
  616. package/dist/FileField-HNEBEBLB.mjs +0 -85
  617. package/dist/FileField-HNEBEBLB.mjs.map +0 -1
  618. package/dist/FileField-XG4EYAZW.js +0 -91
  619. package/dist/FileField-XG4EYAZW.js.map +0 -1
  620. package/dist/FormCelebration-7CBANVNS.mjs +0 -4
  621. package/dist/FormCelebration-7CBANVNS.mjs.map +0 -1
  622. package/dist/FormCelebration-O2O5S6JI.js +0 -13
  623. package/dist/FormCelebration-O2O5S6JI.js.map +0 -1
  624. package/dist/FormSpotlight-IODREOPN.js +0 -761
  625. package/dist/FormSpotlight-IODREOPN.js.map +0 -1
  626. package/dist/FormSpotlight-VKD774PZ.mjs +0 -756
  627. package/dist/FormSpotlight-VKD774PZ.mjs.map +0 -1
  628. package/dist/FormStage-37KKZQH4.js +0 -422
  629. package/dist/FormStage-37KKZQH4.js.map +0 -1
  630. package/dist/FormStage-PRZNRYNC.mjs +0 -420
  631. package/dist/FormStage-PRZNRYNC.mjs.map +0 -1
  632. package/dist/ManagedForm-4PZOCKCV.mjs +0 -16
  633. package/dist/ManagedForm-4PZOCKCV.mjs.map +0 -1
  634. package/dist/ManagedForm-JCMEE626.js +0 -25
  635. package/dist/ManagedForm-JCMEE626.js.map +0 -1
  636. package/dist/ManagedNewsletterForm-CTC33B2U.js +0 -66
  637. package/dist/ManagedNewsletterForm-CTC33B2U.js.map +0 -1
  638. package/dist/ManagedNewsletterForm-KMZG24OE.mjs +0 -64
  639. package/dist/ManagedNewsletterForm-KMZG24OE.mjs.map +0 -1
  640. package/dist/SignalCore-YHT7WPXV.js +0 -326
  641. package/dist/SignalCore-YHT7WPXV.js.map +0 -1
  642. package/dist/SignalCore-YIPKKIUG.mjs +0 -324
  643. package/dist/SignalCore-YIPKKIUG.mjs.map +0 -1
  644. package/dist/SitemapSync-GN4OXIM2.js +0 -18
  645. package/dist/SitemapSync-GN4OXIM2.js.map +0 -1
  646. package/dist/SitemapSync-NG763CGN.mjs +0 -9
  647. package/dist/SitemapSync-NG763CGN.mjs.map +0 -1
  648. package/dist/SitemapSync.d.ts.map +0 -1
  649. package/dist/admin-auth/index.d.ts.map +0 -1
  650. package/dist/admin-auth/index.js.map +0 -1
  651. package/dist/admin-auth/index.mjs +0 -0
  652. package/dist/admin-auth/index.mjs.map +0 -1
  653. package/dist/admin-auth/session.d.ts.map +0 -1
  654. package/dist/affiliates/AffiliatesWidget.d.ts.map +0 -1
  655. package/dist/affiliates/api.d.ts.map +0 -1
  656. package/dist/affiliates/index.d.ts.map +0 -1
  657. package/dist/affiliates/types.d.ts.map +0 -1
  658. package/dist/affiliates/useAffiliates.d.ts.map +0 -1
  659. package/dist/analytics/AnalyticsProvider.d.ts.map +0 -1
  660. package/dist/analytics/WebVitals.d.ts.map +0 -1
  661. package/dist/analytics/dispatch.d.ts.map +0 -1
  662. package/dist/analytics/index.d.ts.map +0 -1
  663. package/dist/analytics/index.js.map +0 -1
  664. package/dist/analytics/index.mjs +0 -14
  665. package/dist/analytics/index.mjs.map +0 -1
  666. package/dist/analytics/measurement-context.d.ts.map +0 -1
  667. package/dist/analytics/page-observation.d.ts.map +0 -1
  668. package/dist/analytics/send-gate.d.ts.map +0 -1
  669. package/dist/analytics/types.d.ts.map +0 -1
  670. package/dist/analytics/useContactTracking.d.ts.map +0 -1
  671. package/dist/api-D745LGGU.mjs +0 -183
  672. package/dist/api-XR5APCH3.js +0 -201
  673. package/dist/article-styles-DACUAOVT.mjs +0 -592
  674. package/dist/article-styles-DACUAOVT.mjs.map +0 -1
  675. package/dist/article-styles-JHHTNHOK.js +0 -595
  676. package/dist/article-styles-JHHTNHOK.js.map +0 -1
  677. package/dist/article-tables-EWXG4LNP.js +0 -17
  678. package/dist/article-tables-EWXG4LNP.js.map +0 -1
  679. package/dist/article-tables-OGE52LNT.mjs +0 -4
  680. package/dist/article-tables-OGE52LNT.mjs.map +0 -1
  681. package/dist/articles/Article.d.ts.map +0 -1
  682. package/dist/articles/ArticleFAQ.d.ts.map +0 -1
  683. package/dist/articles/ArticleFaqSection.d.ts.map +0 -1
  684. package/dist/articles/ArticleList.d.ts.map +0 -1
  685. package/dist/articles/ArticleViewTracker.d.ts.map +0 -1
  686. package/dist/articles/AuthorCard.d.ts.map +0 -1
  687. package/dist/articles/AuthorPage.d.ts.map +0 -1
  688. package/dist/articles/ClusterLandingPage.d.ts.map +0 -1
  689. package/dist/articles/ClusterNavigation.d.ts.map +0 -1
  690. package/dist/articles/ManagedNewsletterForm.d.ts.map +0 -1
  691. package/dist/articles/NewsletterShell.d.ts.map +0 -1
  692. package/dist/articles/NewsletterWidget.d.ts.map +0 -1
  693. package/dist/articles/PublicationLayout.d.ts.map +0 -1
  694. package/dist/articles/PublicationSidebar.d.ts.map +0 -1
  695. package/dist/articles/RelatedPosts.d.ts.map +0 -1
  696. package/dist/articles/ServiceCallout.d.ts.map +0 -1
  697. package/dist/articles/TableOfContents.d.ts.map +0 -1
  698. package/dist/articles/article-styles.d.ts.map +0 -1
  699. package/dist/articles/article-tables.d.ts.map +0 -1
  700. package/dist/articles/artwork.d.ts.map +0 -1
  701. package/dist/articles/author-schema.d.ts.map +0 -1
  702. package/dist/articles/author-social.d.ts.map +0 -1
  703. package/dist/articles/excerpt.d.ts.map +0 -1
  704. package/dist/articles/index.d.ts.map +0 -1
  705. package/dist/articles/index.js.map +0 -1
  706. package/dist/articles/index.mjs +0 -457
  707. package/dist/articles/index.mjs.map +0 -1
  708. package/dist/articles/news-sitemap.d.ts.map +0 -1
  709. package/dist/articles/processArticleHtml.d.ts.map +0 -1
  710. package/dist/articles/public-reads.d.ts.map +0 -1
  711. package/dist/articles/reading-time.d.ts.map +0 -1
  712. package/dist/articles/routes.d.ts.map +0 -1
  713. package/dist/articles/server-core.d.ts.map +0 -1
  714. package/dist/articles/server-ui.d.ts.map +0 -1
  715. package/dist/articles/server-ui.js.map +0 -1
  716. package/dist/articles/server-ui.mjs +0 -1098
  717. package/dist/articles/server-ui.mjs.map +0 -1
  718. package/dist/articles/server.d.ts.map +0 -1
  719. package/dist/articles/server.js.map +0 -1
  720. package/dist/articles/server.mjs +0 -11
  721. package/dist/articles/server.mjs.map +0 -1
  722. package/dist/articles/types.d.ts.map +0 -1
  723. package/dist/articles/widget-styles.d.ts.map +0 -1
  724. package/dist/brand/extract-brand-profile.d.ts.map +0 -1
  725. package/dist/chunk-24LFAQEG.mjs +0 -480
  726. package/dist/chunk-24LFAQEG.mjs.map +0 -1
  727. package/dist/chunk-2FEQ6TYD.mjs +0 -37
  728. package/dist/chunk-2FEQ6TYD.mjs.map +0 -1
  729. package/dist/chunk-3AOKYAZ2.js +0 -135
  730. package/dist/chunk-3AOKYAZ2.js.map +0 -1
  731. package/dist/chunk-3DWIYCQX.js +0 -30
  732. package/dist/chunk-3DWIYCQX.js.map +0 -1
  733. package/dist/chunk-3SDMJMN2.js +0 -71
  734. package/dist/chunk-3SDMJMN2.js.map +0 -1
  735. package/dist/chunk-3T2CVHFO.mjs +0 -453
  736. package/dist/chunk-3T2CVHFO.mjs.map +0 -1
  737. package/dist/chunk-4BEGKFMN.js +0 -133
  738. package/dist/chunk-4BEGKFMN.js.map +0 -1
  739. package/dist/chunk-4C3INRHE.mjs +0 -1073
  740. package/dist/chunk-4C3INRHE.mjs.map +0 -1
  741. package/dist/chunk-4KAMU5HD.mjs +0 -16
  742. package/dist/chunk-4KAMU5HD.mjs.map +0 -1
  743. package/dist/chunk-4U5NCKQY.mjs +0 -39
  744. package/dist/chunk-4U5NCKQY.mjs.map +0 -1
  745. package/dist/chunk-4WCA2HM6.mjs +0 -57
  746. package/dist/chunk-4WCA2HM6.mjs.map +0 -1
  747. package/dist/chunk-54CARHDR.mjs +0 -95
  748. package/dist/chunk-54CARHDR.mjs.map +0 -1
  749. package/dist/chunk-55J2KE7D.js +0 -60
  750. package/dist/chunk-55J2KE7D.js.map +0 -1
  751. package/dist/chunk-5BARLEAI.mjs +0 -102
  752. package/dist/chunk-5BARLEAI.mjs.map +0 -1
  753. package/dist/chunk-5F2FIM5A.mjs +0 -135
  754. package/dist/chunk-5F2FIM5A.mjs.map +0 -1
  755. package/dist/chunk-5RNAUYWE.js +0 -50
  756. package/dist/chunk-5RNAUYWE.js.map +0 -1
  757. package/dist/chunk-5SANRSX3.mjs +0 -17
  758. package/dist/chunk-5SANRSX3.mjs.map +0 -1
  759. package/dist/chunk-5T3J24K4.mjs +0 -131
  760. package/dist/chunk-5T3J24K4.mjs.map +0 -1
  761. package/dist/chunk-5W4S7XQD.js +0 -141
  762. package/dist/chunk-5W4S7XQD.js.map +0 -1
  763. package/dist/chunk-5XFFUP6D.js +0 -100
  764. package/dist/chunk-5XFFUP6D.js.map +0 -1
  765. package/dist/chunk-5YVQWLSQ.mjs +0 -47
  766. package/dist/chunk-5YVQWLSQ.mjs.map +0 -1
  767. package/dist/chunk-64BOVMXG.mjs +0 -68
  768. package/dist/chunk-64BOVMXG.mjs.map +0 -1
  769. package/dist/chunk-662YHKWW.mjs +0 -10
  770. package/dist/chunk-662YHKWW.mjs.map +0 -1
  771. package/dist/chunk-6C47333H.mjs +0 -55
  772. package/dist/chunk-6C47333H.mjs.map +0 -1
  773. package/dist/chunk-6EDVCUAG.mjs +0 -29
  774. package/dist/chunk-6EDVCUAG.mjs.map +0 -1
  775. package/dist/chunk-6FNFM7JL.js +0 -113
  776. package/dist/chunk-6FNFM7JL.js.map +0 -1
  777. package/dist/chunk-6PJTLBRR.mjs +0 -11
  778. package/dist/chunk-6PJTLBRR.mjs.map +0 -1
  779. package/dist/chunk-6QPKC6XP.mjs +0 -1416
  780. package/dist/chunk-6QPKC6XP.mjs.map +0 -1
  781. package/dist/chunk-6XNEGG5B.mjs +0 -137
  782. package/dist/chunk-6XNEGG5B.mjs.map +0 -1
  783. package/dist/chunk-7K6L33BX.mjs +0 -24842
  784. package/dist/chunk-7RLL67F3.js +0 -47
  785. package/dist/chunk-7RLL67F3.js.map +0 -1
  786. package/dist/chunk-7THQ4UW3.js +0 -69
  787. package/dist/chunk-7THQ4UW3.js.map +0 -1
  788. package/dist/chunk-A6UYV475.mjs +0 -45
  789. package/dist/chunk-A6UYV475.mjs.map +0 -1
  790. package/dist/chunk-AAZNH3MA.mjs +0 -23
  791. package/dist/chunk-AAZNH3MA.mjs.map +0 -1
  792. package/dist/chunk-AEN7EL6N.js +0 -161
  793. package/dist/chunk-AEN7EL6N.js.map +0 -1
  794. package/dist/chunk-AGIMH67E.mjs +0 -26
  795. package/dist/chunk-AGIMH67E.mjs.map +0 -1
  796. package/dist/chunk-AS2HUIDW.mjs +0 -16
  797. package/dist/chunk-AS2HUIDW.mjs.map +0 -1
  798. package/dist/chunk-ATPQ6264.js +0 -24860
  799. package/dist/chunk-B22WSN4L.mjs +0 -59
  800. package/dist/chunk-B22WSN4L.mjs.map +0 -1
  801. package/dist/chunk-BBBJHYPH.js +0 -19
  802. package/dist/chunk-BBBJHYPH.js.map +0 -1
  803. package/dist/chunk-BEXTDHO4.mjs +0 -57
  804. package/dist/chunk-BEXTDHO4.mjs.map +0 -1
  805. package/dist/chunk-BI7DH42Z.mjs +0 -101
  806. package/dist/chunk-BI7DH42Z.mjs.map +0 -1
  807. package/dist/chunk-BQP6JIE2.mjs +0 -28
  808. package/dist/chunk-BQP6JIE2.mjs.map +0 -1
  809. package/dist/chunk-BZR6RUIN.mjs +0 -128
  810. package/dist/chunk-BZR6RUIN.mjs.map +0 -1
  811. package/dist/chunk-C2CTLLIO.mjs +0 -72
  812. package/dist/chunk-C2CTLLIO.mjs.map +0 -1
  813. package/dist/chunk-C5VITBN7.mjs +0 -220
  814. package/dist/chunk-C5VITBN7.mjs.map +0 -1
  815. package/dist/chunk-C7J4XLBN.js +0 -134
  816. package/dist/chunk-C7J4XLBN.js.map +0 -1
  817. package/dist/chunk-CDRQYJUT.js +0 -355
  818. package/dist/chunk-CDRQYJUT.js.map +0 -1
  819. package/dist/chunk-CFRJ2MK5.mjs +0 -16
  820. package/dist/chunk-CFRJ2MK5.mjs.map +0 -1
  821. package/dist/chunk-CIB3RHNZ.js +0 -8
  822. package/dist/chunk-CIB3RHNZ.js.map +0 -1
  823. package/dist/chunk-CIM5W3UO.js +0 -26
  824. package/dist/chunk-CIM5W3UO.js.map +0 -1
  825. package/dist/chunk-CLO3K7PF.js +0 -19
  826. package/dist/chunk-CLO3K7PF.js.map +0 -1
  827. package/dist/chunk-CU6OGBKK.mjs +0 -68
  828. package/dist/chunk-CU6OGBKK.mjs.map +0 -1
  829. package/dist/chunk-CUNZAD46.js +0 -53
  830. package/dist/chunk-CUNZAD46.js.map +0 -1
  831. package/dist/chunk-CUZ3I6CO.js +0 -23
  832. package/dist/chunk-CUZ3I6CO.js.map +0 -1
  833. package/dist/chunk-CXAXZFFW.js +0 -157
  834. package/dist/chunk-CXAXZFFW.js.map +0 -1
  835. package/dist/chunk-DA7IANFG.mjs +0 -37
  836. package/dist/chunk-DA7IANFG.mjs.map +0 -1
  837. package/dist/chunk-DV2LJYFD.js +0 -14
  838. package/dist/chunk-DV2LJYFD.js.map +0 -1
  839. package/dist/chunk-DV5KVNA7.js +0 -45
  840. package/dist/chunk-DV5KVNA7.js.map +0 -1
  841. package/dist/chunk-DVYYGHSG.js +0 -285
  842. package/dist/chunk-DVYYGHSG.js.map +0 -1
  843. package/dist/chunk-EDLNMGQC.mjs +0 -65
  844. package/dist/chunk-EDLNMGQC.mjs.map +0 -1
  845. package/dist/chunk-EHJANA5C.js +0 -231
  846. package/dist/chunk-EHJANA5C.js.map +0 -1
  847. package/dist/chunk-EMHSHAVW.js +0 -19
  848. package/dist/chunk-EMHSHAVW.js.map +0 -1
  849. package/dist/chunk-ESP5RMB7.js +0 -42
  850. package/dist/chunk-ESP5RMB7.js.map +0 -1
  851. package/dist/chunk-EWDWLY74.js +0 -158
  852. package/dist/chunk-EWDWLY74.js.map +0 -1
  853. package/dist/chunk-F2GECCK7.js +0 -483
  854. package/dist/chunk-F2GECCK7.js.map +0 -1
  855. package/dist/chunk-FCAHV5P3.mjs +0 -45
  856. package/dist/chunk-FCAHV5P3.mjs.map +0 -1
  857. package/dist/chunk-G6WF4G3E.js +0 -43
  858. package/dist/chunk-G6WF4G3E.js.map +0 -1
  859. package/dist/chunk-GCPPXUAI.js +0 -72
  860. package/dist/chunk-GCPPXUAI.js.map +0 -1
  861. package/dist/chunk-GFSQMK35.mjs +0 -127
  862. package/dist/chunk-GFSQMK35.mjs.map +0 -1
  863. package/dist/chunk-GGGX54ZE.js +0 -8071
  864. package/dist/chunk-GGGX54ZE.js.map +0 -1
  865. package/dist/chunk-GSRT66PA.js +0 -80
  866. package/dist/chunk-GSRT66PA.js.map +0 -1
  867. package/dist/chunk-GSU6VTCZ.mjs +0 -165
  868. package/dist/chunk-GSU6VTCZ.mjs.map +0 -1
  869. package/dist/chunk-GXSSFQ5D.js +0 -1677
  870. package/dist/chunk-GXSSFQ5D.js.map +0 -1
  871. package/dist/chunk-H4TSADY3.mjs +0 -761
  872. package/dist/chunk-H4TSADY3.mjs.map +0 -1
  873. package/dist/chunk-H6AU3WKF.js +0 -108
  874. package/dist/chunk-H6AU3WKF.js.map +0 -1
  875. package/dist/chunk-HGNSJXWT.js +0 -55
  876. package/dist/chunk-HGNSJXWT.js.map +0 -1
  877. package/dist/chunk-HIZJD7TU.mjs +0 -326
  878. package/dist/chunk-HIZJD7TU.mjs.map +0 -1
  879. package/dist/chunk-HPGPOUHU.mjs +0 -105
  880. package/dist/chunk-HPGPOUHU.mjs.map +0 -1
  881. package/dist/chunk-HSLPN3QK.js +0 -106
  882. package/dist/chunk-HSLPN3QK.js.map +0 -1
  883. package/dist/chunk-HTCNRTN6.js +0 -791
  884. package/dist/chunk-HTCNRTN6.js.map +0 -1
  885. package/dist/chunk-HXHDOIV6.js +0 -41
  886. package/dist/chunk-HXHDOIV6.js.map +0 -1
  887. package/dist/chunk-IBJOGXQI.js +0 -33
  888. package/dist/chunk-IBJOGXQI.js.map +0 -1
  889. package/dist/chunk-IMWON7OV.mjs +0 -27
  890. package/dist/chunk-IMWON7OV.mjs.map +0 -1
  891. package/dist/chunk-IWSN4DGG.js +0 -132
  892. package/dist/chunk-IWSN4DGG.js.map +0 -1
  893. package/dist/chunk-J7QI3GDX.js +0 -12
  894. package/dist/chunk-J7QI3GDX.js.map +0 -1
  895. package/dist/chunk-JA77WXRE.js +0 -30
  896. package/dist/chunk-JA77WXRE.js.map +0 -1
  897. package/dist/chunk-JONWE26J.js +0 -81
  898. package/dist/chunk-JONWE26J.js.map +0 -1
  899. package/dist/chunk-JP5WGL75.js +0 -62
  900. package/dist/chunk-JP5WGL75.js.map +0 -1
  901. package/dist/chunk-JSXLTZUP.mjs +0 -255
  902. package/dist/chunk-JSXLTZUP.mjs.map +0 -1
  903. package/dist/chunk-JX3PO2MH.js +0 -53
  904. package/dist/chunk-JX3PO2MH.js.map +0 -1
  905. package/dist/chunk-JXRGIE3V.mjs +0 -1669
  906. package/dist/chunk-JXRGIE3V.mjs.map +0 -1
  907. package/dist/chunk-K3PVUXKB.mjs +0 -6
  908. package/dist/chunk-K3PVUXKB.mjs.map +0 -1
  909. package/dist/chunk-KHPJ3CEL.js +0 -72
  910. package/dist/chunk-KHPJ3CEL.js.map +0 -1
  911. package/dist/chunk-KOPFFKG2.mjs +0 -132
  912. package/dist/chunk-KOPFFKG2.mjs.map +0 -1
  913. package/dist/chunk-KP5BFPGT.js +0 -44
  914. package/dist/chunk-KP5BFPGT.js.map +0 -1
  915. package/dist/chunk-KR7ATPAN.js +0 -52
  916. package/dist/chunk-KR7ATPAN.js.map +0 -1
  917. package/dist/chunk-KZBDH5A3.js +0 -130
  918. package/dist/chunk-KZBDH5A3.js.map +0 -1
  919. package/dist/chunk-KZVSB5WE.mjs +0 -21
  920. package/dist/chunk-KZVSB5WE.mjs.map +0 -1
  921. package/dist/chunk-LPDXS2B2.mjs +0 -932
  922. package/dist/chunk-LPDXS2B2.mjs.map +0 -1
  923. package/dist/chunk-LVGSOW2F.js +0 -32
  924. package/dist/chunk-LVGSOW2F.js.map +0 -1
  925. package/dist/chunk-M2N7NY3V.js +0 -103
  926. package/dist/chunk-M2N7NY3V.js.map +0 -1
  927. package/dist/chunk-M3JCHPK3.mjs +0 -782
  928. package/dist/chunk-M3JCHPK3.mjs.map +0 -1
  929. package/dist/chunk-M62L2N5A.mjs +0 -193
  930. package/dist/chunk-M62L2N5A.mjs.map +0 -1
  931. package/dist/chunk-MLVHVKFT.mjs +0 -148
  932. package/dist/chunk-MLVHVKFT.mjs.map +0 -1
  933. package/dist/chunk-MU3D5IO7.mjs +0 -283
  934. package/dist/chunk-MU3D5IO7.mjs.map +0 -1
  935. package/dist/chunk-MU7DTEUF.mjs +0 -77
  936. package/dist/chunk-MU7DTEUF.mjs.map +0 -1
  937. package/dist/chunk-MVHR77V4.js +0 -205
  938. package/dist/chunk-MVHR77V4.js.map +0 -1
  939. package/dist/chunk-NBOBOYMT.js +0 -52
  940. package/dist/chunk-NBOBOYMT.js.map +0 -1
  941. package/dist/chunk-NE6QGHFT.mjs +0 -240
  942. package/dist/chunk-NE6QGHFT.mjs.map +0 -1
  943. package/dist/chunk-NSWO43XW.mjs +0 -39
  944. package/dist/chunk-NSWO43XW.mjs.map +0 -1
  945. package/dist/chunk-NYXENHD2.mjs +0 -96
  946. package/dist/chunk-NYXENHD2.mjs.map +0 -1
  947. package/dist/chunk-O5GHP7UO.js +0 -142
  948. package/dist/chunk-O5GHP7UO.js.map +0 -1
  949. package/dist/chunk-OBKS3CPP.mjs +0 -50
  950. package/dist/chunk-OBKS3CPP.mjs.map +0 -1
  951. package/dist/chunk-OGNX6JT4.js +0 -222
  952. package/dist/chunk-OGNX6JT4.js.map +0 -1
  953. package/dist/chunk-OIPG3EGM.js +0 -771
  954. package/dist/chunk-OIPG3EGM.js.map +0 -1
  955. package/dist/chunk-OSU4QA5M.js +0 -260
  956. package/dist/chunk-OSU4QA5M.js.map +0 -1
  957. package/dist/chunk-P4Y75QSU.js +0 -19
  958. package/dist/chunk-P4Y75QSU.js.map +0 -1
  959. package/dist/chunk-PENNTSJE.mjs +0 -99
  960. package/dist/chunk-PENNTSJE.mjs.map +0 -1
  961. package/dist/chunk-PRAHDLKT.js +0 -67
  962. package/dist/chunk-PRAHDLKT.js.map +0 -1
  963. package/dist/chunk-QAQTDHHT.mjs +0 -1102
  964. package/dist/chunk-QAQTDHHT.mjs.map +0 -1
  965. package/dist/chunk-QOKMH2TD.mjs +0 -21
  966. package/dist/chunk-QOKMH2TD.mjs.map +0 -1
  967. package/dist/chunk-QRHVMTHF.mjs +0 -94
  968. package/dist/chunk-QRHVMTHF.mjs.map +0 -1
  969. package/dist/chunk-QZF5NTXQ.mjs +0 -28
  970. package/dist/chunk-QZF5NTXQ.mjs.map +0 -1
  971. package/dist/chunk-R5F2JQVX.mjs +0 -41
  972. package/dist/chunk-R5F2JQVX.mjs.map +0 -1
  973. package/dist/chunk-RC4WWQXR.js +0 -47
  974. package/dist/chunk-RC4WWQXR.js.map +0 -1
  975. package/dist/chunk-RCB6HEHM.mjs +0 -349
  976. package/dist/chunk-RCB6HEHM.mjs.map +0 -1
  977. package/dist/chunk-RH4XEXTK.mjs +0 -323
  978. package/dist/chunk-RI6DFQCA.js +0 -539
  979. package/dist/chunk-RI6DFQCA.js.map +0 -1
  980. package/dist/chunk-RLUNEEGM.js +0 -336
  981. package/dist/chunk-RLUNEEGM.js.map +0 -1
  982. package/dist/chunk-RQROZLH3.js +0 -1153
  983. package/dist/chunk-RQROZLH3.js.map +0 -1
  984. package/dist/chunk-S5QKNXLQ.js +0 -1430
  985. package/dist/chunk-S5QKNXLQ.js.map +0 -1
  986. package/dist/chunk-SBTA6B6Y.mjs +0 -8014
  987. package/dist/chunk-SBTA6B6Y.mjs.map +0 -1
  988. package/dist/chunk-SFMNUVDN.mjs +0 -49
  989. package/dist/chunk-SFMNUVDN.mjs.map +0 -1
  990. package/dist/chunk-SG7CWD2R.js +0 -138
  991. package/dist/chunk-SG7CWD2R.js.map +0 -1
  992. package/dist/chunk-SHLWA6JY.mjs +0 -26
  993. package/dist/chunk-SHLWA6JY.mjs.map +0 -1
  994. package/dist/chunk-SNAQBZPT.js +0 -68
  995. package/dist/chunk-SNAQBZPT.js.map +0 -1
  996. package/dist/chunk-SWIKKSKL.js +0 -19
  997. package/dist/chunk-SWIKKSKL.js.map +0 -1
  998. package/dist/chunk-TBXWJJGT.js +0 -468
  999. package/dist/chunk-TBXWJJGT.js.map +0 -1
  1000. package/dist/chunk-TIFVAASU.mjs +0 -14279
  1001. package/dist/chunk-TMVKRQGJ.mjs +0 -64
  1002. package/dist/chunk-TMVKRQGJ.mjs.map +0 -1
  1003. package/dist/chunk-TPDDSEL3.mjs +0 -75
  1004. package/dist/chunk-TPDDSEL3.mjs.map +0 -1
  1005. package/dist/chunk-TST2IKYO.js +0 -264
  1006. package/dist/chunk-TST2IKYO.js.map +0 -1
  1007. package/dist/chunk-TULCHQX2.js +0 -29
  1008. package/dist/chunk-TULCHQX2.js.map +0 -1
  1009. package/dist/chunk-U4CYO4NG.js +0 -195
  1010. package/dist/chunk-U4CYO4NG.js.map +0 -1
  1011. package/dist/chunk-U5NFIHLY.js +0 -158
  1012. package/dist/chunk-U5NFIHLY.js.map +0 -1
  1013. package/dist/chunk-UCMMIGC6.mjs +0 -156
  1014. package/dist/chunk-UCMMIGC6.mjs.map +0 -1
  1015. package/dist/chunk-UHYRVALN.mjs +0 -98
  1016. package/dist/chunk-UHYRVALN.mjs.map +0 -1
  1017. package/dist/chunk-UO6KTHBQ.mjs +0 -125
  1018. package/dist/chunk-UO6KTHBQ.mjs.map +0 -1
  1019. package/dist/chunk-USQPRLSG.mjs +0 -151
  1020. package/dist/chunk-USQPRLSG.mjs.map +0 -1
  1021. package/dist/chunk-UZKXOZHR.js +0 -23
  1022. package/dist/chunk-UZKXOZHR.js.map +0 -1
  1023. package/dist/chunk-VDEQVXNV.js +0 -176
  1024. package/dist/chunk-VDEQVXNV.js.map +0 -1
  1025. package/dist/chunk-VIGRGMWR.mjs +0 -229
  1026. package/dist/chunk-VIGRGMWR.mjs.map +0 -1
  1027. package/dist/chunk-VJMPIRSD.js +0 -31
  1028. package/dist/chunk-VJMPIRSD.js.map +0 -1
  1029. package/dist/chunk-VMNPLCZB.js +0 -533
  1030. package/dist/chunk-VMNPLCZB.js.map +0 -1
  1031. package/dist/chunk-VQL7XDIY.mjs +0 -43
  1032. package/dist/chunk-VQL7XDIY.mjs.map +0 -1
  1033. package/dist/chunk-VS67QHNX.mjs +0 -34
  1034. package/dist/chunk-VS67QHNX.mjs.map +0 -1
  1035. package/dist/chunk-W7IAG5YD.js +0 -108
  1036. package/dist/chunk-W7IAG5YD.js.map +0 -1
  1037. package/dist/chunk-WIWHM47B.mjs +0 -525
  1038. package/dist/chunk-WIWHM47B.mjs.map +0 -1
  1039. package/dist/chunk-WRRVYPMY.mjs +0 -535
  1040. package/dist/chunk-WRRVYPMY.mjs.map +0 -1
  1041. package/dist/chunk-WS7MH3GD.js +0 -40
  1042. package/dist/chunk-WS7MH3GD.js.map +0 -1
  1043. package/dist/chunk-WSPGXSBU.mjs +0 -202
  1044. package/dist/chunk-WSPGXSBU.mjs.map +0 -1
  1045. package/dist/chunk-XXSSUCJB.js +0 -14285
  1046. package/dist/chunk-XZHR4E2D.js +0 -83
  1047. package/dist/chunk-XZHR4E2D.js.map +0 -1
  1048. package/dist/chunk-Y2CP5J6Q.js +0 -116
  1049. package/dist/chunk-Y2CP5J6Q.js.map +0 -1
  1050. package/dist/chunk-YACU35MY.js +0 -937
  1051. package/dist/chunk-YACU35MY.js.map +0 -1
  1052. package/dist/chunk-YBKALLBH.js +0 -46
  1053. package/dist/chunk-YBKALLBH.js.map +0 -1
  1054. package/dist/chunk-YMZNEDFP.js +0 -39
  1055. package/dist/chunk-YMZNEDFP.js.map +0 -1
  1056. package/dist/chunk-YPGUV6BT.mjs +0 -30
  1057. package/dist/chunk-YPGUV6BT.mjs.map +0 -1
  1058. package/dist/chunk-YRKWJCML.mjs +0 -150
  1059. package/dist/chunk-YRKWJCML.mjs.map +0 -1
  1060. package/dist/chunk-YU7QZ3PP.mjs +0 -45
  1061. package/dist/chunk-YU7QZ3PP.mjs.map +0 -1
  1062. package/dist/chunk-YVJASVVK.js +0 -97
  1063. package/dist/chunk-YVJASVVK.js.map +0 -1
  1064. package/dist/chunk-YZJ22HUQ.js +0 -29
  1065. package/dist/chunk-YZJ22HUQ.js.map +0 -1
  1066. package/dist/chunk-Z2URIOKG.mjs +0 -36
  1067. package/dist/chunk-Z2URIOKG.mjs.map +0 -1
  1068. package/dist/chunk-ZEBOOUBP.mjs +0 -128
  1069. package/dist/chunk-ZEBOOUBP.mjs.map +0 -1
  1070. package/dist/chunk-ZN4HBK5C.mjs +0 -17
  1071. package/dist/chunk-ZN4HBK5C.mjs.map +0 -1
  1072. package/dist/chunk-ZOBUA65N.js +0 -1079
  1073. package/dist/chunk-ZOBUA65N.js.map +0 -1
  1074. package/dist/chunk-ZUQSVCMD.js +0 -325
  1075. package/dist/chunk-ZVBLXXNJ.mjs +0 -53
  1076. package/dist/chunk-ZVBLXXNJ.mjs.map +0 -1
  1077. package/dist/chunk-ZZQAGCSI.mjs +0 -43
  1078. package/dist/chunk-ZZQAGCSI.mjs.map +0 -1
  1079. package/dist/cli/agent/checks.d.ts +0 -96
  1080. package/dist/cli/agent/checks.d.ts.map +0 -1
  1081. package/dist/cli/agent/context.d.ts +0 -50
  1082. package/dist/cli/agent/context.d.ts.map +0 -1
  1083. package/dist/cli/agent/envelope.d.ts +0 -98
  1084. package/dist/cli/agent/envelope.d.ts.map +0 -1
  1085. package/dist/cli/agent/errors.d.ts +0 -36
  1086. package/dist/cli/agent/errors.d.ts.map +0 -1
  1087. package/dist/cli/agent/output.d.ts +0 -41
  1088. package/dist/cli/agent/output.d.ts.map +0 -1
  1089. package/dist/cli/agent/ssr-bailout.d.ts +0 -27
  1090. package/dist/cli/agent/ssr-bailout.d.ts.map +0 -1
  1091. package/dist/cli/api/sonor.d.ts +0 -39
  1092. package/dist/cli/api/sonor.d.ts.map +0 -1
  1093. package/dist/cli/codemod/diff.d.ts +0 -14
  1094. package/dist/cli/codemod/diff.d.ts.map +0 -1
  1095. package/dist/cli/codemod/engine.d.ts +0 -26
  1096. package/dist/cli/codemod/engine.d.ts.map +0 -1
  1097. package/dist/cli/codemod/transforms.d.ts +0 -31
  1098. package/dist/cli/codemod/transforms.d.ts.map +0 -1
  1099. package/dist/cli/commands/api-routes.d.ts +0 -13
  1100. package/dist/cli/commands/api-routes.d.ts.map +0 -1
  1101. package/dist/cli/commands/codemod.d.ts +0 -21
  1102. package/dist/cli/commands/codemod.d.ts.map +0 -1
  1103. package/dist/cli/commands/doctor.d.ts +0 -27
  1104. package/dist/cli/commands/doctor.d.ts.map +0 -1
  1105. package/dist/cli/commands/faqs.d.ts +0 -16
  1106. package/dist/cli/commands/faqs.d.ts.map +0 -1
  1107. package/dist/cli/commands/geo.d.ts +0 -18
  1108. package/dist/cli/commands/geo.d.ts.map +0 -1
  1109. package/dist/cli/commands/images.d.ts +0 -85
  1110. package/dist/cli/commands/images.d.ts.map +0 -1
  1111. package/dist/cli/commands/init.d.ts +0 -21
  1112. package/dist/cli/commands/init.d.ts.map +0 -1
  1113. package/dist/cli/commands/install.d.ts +0 -15
  1114. package/dist/cli/commands/install.d.ts.map +0 -1
  1115. package/dist/cli/commands/locations.d.ts +0 -55
  1116. package/dist/cli/commands/locations.d.ts.map +0 -1
  1117. package/dist/cli/commands/manifest.d.ts +0 -17
  1118. package/dist/cli/commands/manifest.d.ts.map +0 -1
  1119. package/dist/cli/commands/migrate.d.ts +0 -19
  1120. package/dist/cli/commands/migrate.d.ts.map +0 -1
  1121. package/dist/cli/commands/next16.d.ts +0 -10
  1122. package/dist/cli/commands/next16.d.ts.map +0 -1
  1123. package/dist/cli/commands/og.d.ts +0 -117
  1124. package/dist/cli/commands/og.d.ts.map +0 -1
  1125. package/dist/cli/commands/scaffold.d.ts +0 -22
  1126. package/dist/cli/commands/scaffold.d.ts.map +0 -1
  1127. package/dist/cli/commands/scan.d.ts +0 -18
  1128. package/dist/cli/commands/scan.d.ts.map +0 -1
  1129. package/dist/cli/commands/setup.d.ts +0 -35
  1130. package/dist/cli/commands/setup.d.ts.map +0 -1
  1131. package/dist/cli/commands/sync.d.ts +0 -22
  1132. package/dist/cli/commands/sync.d.ts.map +0 -1
  1133. package/dist/cli/commands/upgrade.d.ts +0 -15
  1134. package/dist/cli/commands/upgrade.d.ts.map +0 -1
  1135. package/dist/cli/commands/verify.d.ts +0 -22
  1136. package/dist/cli/commands/verify.d.ts.map +0 -1
  1137. package/dist/cli/config.d.ts +0 -31
  1138. package/dist/cli/config.d.ts.map +0 -1
  1139. package/dist/cli/generators/index.d.ts +0 -60
  1140. package/dist/cli/generators/index.d.ts.map +0 -1
  1141. package/dist/cli/index.d.ts +0 -15
  1142. package/dist/cli/index.d.ts.map +0 -1
  1143. package/dist/cli/index.js +0 -32904
  1144. package/dist/cli/index.mjs +0 -32872
  1145. package/dist/cli/migrator/index.d.ts +0 -92
  1146. package/dist/cli/migrator/index.d.ts.map +0 -1
  1147. package/dist/cli/scanner/index.d.ts +0 -129
  1148. package/dist/cli/scanner/index.d.ts.map +0 -1
  1149. package/dist/cli/state.d.ts +0 -7
  1150. package/dist/cli/state.d.ts.map +0 -1
  1151. package/dist/client/SiteKitCredential.d.ts.map +0 -1
  1152. package/dist/client/index.d.ts.map +0 -1
  1153. package/dist/client/index.js.map +0 -1
  1154. package/dist/client/index.mjs +0 -27
  1155. package/dist/client/index.mjs.map +0 -1
  1156. package/dist/cms/CmsPage.d.ts.map +0 -1
  1157. package/dist/cms/CmsPreview.d.ts.map +0 -1
  1158. package/dist/cms/CmsSection.d.ts.map +0 -1
  1159. package/dist/cms/PortableTextRenderer.d.ts.map +0 -1
  1160. package/dist/cms/index.d.ts.map +0 -1
  1161. package/dist/cms/index.js.map +0 -1
  1162. package/dist/cms/index.mjs +0 -389
  1163. package/dist/cms/index.mjs.map +0 -1
  1164. package/dist/cms/sanity-image.d.ts.map +0 -1
  1165. package/dist/cms/sections/CtaSection.d.ts.map +0 -1
  1166. package/dist/cms/sections/CustomSection.d.ts.map +0 -1
  1167. package/dist/cms/sections/FaqSection.d.ts.map +0 -1
  1168. package/dist/cms/sections/FormSection.d.ts.map +0 -1
  1169. package/dist/cms/sections/GallerySection.d.ts.map +0 -1
  1170. package/dist/cms/sections/HeroSection.d.ts.map +0 -1
  1171. package/dist/cms/sections/RichTextSection.d.ts.map +0 -1
  1172. package/dist/cms/sections/TestimonialsSection.d.ts.map +0 -1
  1173. package/dist/cms/sections/index.d.ts.map +0 -1
  1174. package/dist/cms/server-api.d.ts.map +0 -1
  1175. package/dist/cms/server.d.ts.map +0 -1
  1176. package/dist/cms/server.js.map +0 -1
  1177. package/dist/cms/server.mjs +0 -5
  1178. package/dist/cms/server.mjs.map +0 -1
  1179. package/dist/cms/types.d.ts.map +0 -1
  1180. package/dist/commerce/CalendarView.d.ts.map +0 -1
  1181. package/dist/commerce/CheckoutForm.d.ts.map +0 -1
  1182. package/dist/commerce/EventCalendar.d.ts.map +0 -1
  1183. package/dist/commerce/EventCheckout.d.ts.map +0 -1
  1184. package/dist/commerce/EventEmbed.d.ts.map +0 -1
  1185. package/dist/commerce/EventModal.d.ts.map +0 -1
  1186. package/dist/commerce/EventTile.d.ts.map +0 -1
  1187. package/dist/commerce/EventsAgenda.d.ts.map +0 -1
  1188. package/dist/commerce/EventsWidget.d.ts.map +0 -1
  1189. package/dist/commerce/OfferingCard.d.ts.map +0 -1
  1190. package/dist/commerce/OfferingList.d.ts.map +0 -1
  1191. package/dist/commerce/ProductDetail.d.ts.map +0 -1
  1192. package/dist/commerce/ProductEmbed.d.ts.map +0 -1
  1193. package/dist/commerce/ProductGrid.d.ts.map +0 -1
  1194. package/dist/commerce/ProductPage.d.ts.map +0 -1
  1195. package/dist/commerce/RegistrationForm.d.ts.map +0 -1
  1196. package/dist/commerce/SizeChart.d.ts.map +0 -1
  1197. package/dist/commerce/UpcomingEvents.d.ts.map +0 -1
  1198. package/dist/commerce/api.d.ts.map +0 -1
  1199. package/dist/commerce/events-extras.d.ts.map +0 -1
  1200. package/dist/commerce/index.d.ts.map +0 -1
  1201. package/dist/commerce/index.js.map +0 -1
  1202. package/dist/commerce/index.mjs +0 -15
  1203. package/dist/commerce/index.mjs.map +0 -1
  1204. package/dist/commerce/server.d.ts.map +0 -1
  1205. package/dist/commerce/server.js.map +0 -1
  1206. package/dist/commerce/server.mjs +0 -237
  1207. package/dist/commerce/server.mjs.map +0 -1
  1208. package/dist/commerce/types.d.ts.map +0 -1
  1209. package/dist/commerce/useEventModal.d.ts.map +0 -1
  1210. package/dist/commerce/utils.d.ts.map +0 -1
  1211. package/dist/config/index.d.ts.map +0 -1
  1212. package/dist/config/index.js.map +0 -1
  1213. package/dist/config/index.mjs +0 -116
  1214. package/dist/config/index.mjs.map +0 -1
  1215. package/dist/cta-bar/CtaBar.d.ts.map +0 -1
  1216. package/dist/cta-bar/CtaBarBehavior.d.ts.map +0 -1
  1217. package/dist/cta-bar/client.d.ts.map +0 -1
  1218. package/dist/cta-bar/client.js.map +0 -1
  1219. package/dist/cta-bar/client.mjs +0 -6
  1220. package/dist/cta-bar/client.mjs.map +0 -1
  1221. package/dist/cta-bar/index.d.ts.map +0 -1
  1222. package/dist/cta-bar/index.js.map +0 -1
  1223. package/dist/cta-bar/index.mjs +0 -221
  1224. package/dist/cta-bar/index.mjs.map +0 -1
  1225. package/dist/cta-bar/styles.d.ts.map +0 -1
  1226. package/dist/discover-LPN55L5B.js +0 -21
  1227. package/dist/discover-LPN55L5B.js.map +0 -1
  1228. package/dist/discover-QGA6QFSR.mjs +0 -4
  1229. package/dist/discover-QGA6QFSR.mjs.map +0 -1
  1230. package/dist/engage/ChatWidget.d.ts.map +0 -1
  1231. package/dist/engage/DesignRenderer.d.ts.map +0 -1
  1232. package/dist/engage/EchoUiActions.d.ts.map +0 -1
  1233. package/dist/engage/EngageWidget.d.ts.map +0 -1
  1234. package/dist/engage/brand-color.d.ts.map +0 -1
  1235. package/dist/engage/chat-messages.d.ts.map +0 -1
  1236. package/dist/engage/echo-config.d.ts.map +0 -1
  1237. package/dist/engage/element-rules.d.ts.map +0 -1
  1238. package/dist/engage/index.d.ts.map +0 -1
  1239. package/dist/engage/index.js.map +0 -1
  1240. package/dist/engage/index.mjs +0 -50
  1241. package/dist/engage/index.mjs.map +0 -1
  1242. package/dist/engage/launcher-placement.d.ts.map +0 -1
  1243. package/dist/engage/socket-loader.d.ts.map +0 -1
  1244. package/dist/engage/types.d.ts.map +0 -1
  1245. package/dist/fleet/FleetHeartbeat.d.ts.map +0 -1
  1246. package/dist/fleet/contract.d.ts.map +0 -1
  1247. package/dist/fleet/contract.js.map +0 -1
  1248. package/dist/fleet/contract.mjs +0 -4
  1249. package/dist/fleet/contract.mjs.map +0 -1
  1250. package/dist/fleet/heartbeat.d.ts.map +0 -1
  1251. package/dist/fleet/index.d.ts.map +0 -1
  1252. package/dist/fleet/index.js.map +0 -1
  1253. package/dist/fleet/index.mjs +0 -11
  1254. package/dist/fleet/index.mjs.map +0 -1
  1255. package/dist/forms/DatePicker.d.ts.map +0 -1
  1256. package/dist/forms/FileField.d.ts.map +0 -1
  1257. package/dist/forms/FormCelebration.d.ts.map +0 -1
  1258. package/dist/forms/FormClient.d.ts.map +0 -1
  1259. package/dist/forms/FormEnhancer.d.ts.map +0 -1
  1260. package/dist/forms/FormField.d.ts.map +0 -1
  1261. package/dist/forms/FormSpotlight.d.ts.map +0 -1
  1262. package/dist/forms/FormStage.d.ts.map +0 -1
  1263. package/dist/forms/HoneypotField.d.ts.map +0 -1
  1264. package/dist/forms/ManagedForm.d.ts.map +0 -1
  1265. package/dist/forms/ServerForm.d.ts.map +0 -1
  1266. package/dist/forms/StaticForm.d.ts.map +0 -1
  1267. package/dist/forms/contract.d.ts.map +0 -1
  1268. package/dist/forms/contract.js.map +0 -1
  1269. package/dist/forms/contract.mjs +0 -4
  1270. package/dist/forms/contract.mjs.map +0 -1
  1271. package/dist/forms/defaultSuccessMessage.d.ts.map +0 -1
  1272. package/dist/forms/delight.d.ts.map +0 -1
  1273. package/dist/forms/experience-chrome.d.ts.map +0 -1
  1274. package/dist/forms/experience-plan.d.ts.map +0 -1
  1275. package/dist/forms/field-controls.d.ts.map +0 -1
  1276. package/dist/forms/field-interactions.d.ts.map +0 -1
  1277. package/dist/forms/field-rules.d.ts.map +0 -1
  1278. package/dist/forms/form-values.d.ts.map +0 -1
  1279. package/dist/forms/formsApi.d.ts.map +0 -1
  1280. package/dist/forms/ga4-identity.d.ts.map +0 -1
  1281. package/dist/forms/index.d.ts.map +0 -1
  1282. package/dist/forms/index.js.map +0 -1
  1283. package/dist/forms/index.mjs +0 -341
  1284. package/dist/forms/index.mjs.map +0 -1
  1285. package/dist/forms/normalize-config.d.ts.map +0 -1
  1286. package/dist/forms/recaptcha-warmup.d.ts.map +0 -1
  1287. package/dist/forms/recaptcha.d.ts.map +0 -1
  1288. package/dist/forms/server.d.ts.map +0 -1
  1289. package/dist/forms/server.js.map +0 -1
  1290. package/dist/forms/server.mjs +0 -61
  1291. package/dist/forms/server.mjs.map +0 -1
  1292. package/dist/forms/static.d.ts.map +0 -1
  1293. package/dist/forms/static.js.map +0 -1
  1294. package/dist/forms/static.mjs +0 -8
  1295. package/dist/forms/static.mjs.map +0 -1
  1296. package/dist/forms/submitForm.d.ts.map +0 -1
  1297. package/dist/forms/tracking-session.d.ts.map +0 -1
  1298. package/dist/forms/types.d.ts.map +0 -1
  1299. package/dist/forms/useForm.d.ts.map +0 -1
  1300. package/dist/forms/useFormTracking.d.ts.map +0 -1
  1301. package/dist/images/ManagedFavicon.d.ts.map +0 -1
  1302. package/dist/images/ManagedImage.d.ts.map +0 -1
  1303. package/dist/images/api.d.ts.map +0 -1
  1304. package/dist/images/index.d.ts.map +0 -1
  1305. package/dist/images/index.js.map +0 -1
  1306. package/dist/images/index.mjs +0 -8
  1307. package/dist/images/index.mjs.map +0 -1
  1308. package/dist/images/server.d.ts.map +0 -1
  1309. package/dist/images/server.js.map +0 -1
  1310. package/dist/images/server.mjs +0 -4
  1311. package/dist/images/server.mjs.map +0 -1
  1312. package/dist/index.d.ts.map +0 -1
  1313. package/dist/index.js.map +0 -1
  1314. package/dist/index.mjs +0 -172
  1315. package/dist/index.mjs.map +0 -1
  1316. package/dist/landing/LandingPage.d.ts.map +0 -1
  1317. package/dist/landing/contract.d.ts.map +0 -1
  1318. package/dist/landing/index.d.ts.map +0 -1
  1319. package/dist/landing/index.js.map +0 -1
  1320. package/dist/landing/index.mjs +0 -5
  1321. package/dist/landing/index.mjs.map +0 -1
  1322. package/dist/landing/metadata.d.ts.map +0 -1
  1323. package/dist/landing/server.d.ts.map +0 -1
  1324. package/dist/landing/server.js.map +0 -1
  1325. package/dist/landing/server.mjs +0 -4
  1326. package/dist/landing/server.mjs.map +0 -1
  1327. package/dist/layout/SiteKitClientProviders.d.ts.map +0 -1
  1328. package/dist/layout/SiteKitLayout.d.ts.map +0 -1
  1329. package/dist/layout/SpeculationRules.d.ts.map +0 -1
  1330. package/dist/layout/client.d.ts.map +0 -1
  1331. package/dist/layout/client.js.map +0 -1
  1332. package/dist/layout/client.mjs +0 -18
  1333. package/dist/layout/client.mjs.map +0 -1
  1334. package/dist/layout/index.d.ts.map +0 -1
  1335. package/dist/layout/index.js.map +0 -1
  1336. package/dist/layout/index.mjs +0 -105
  1337. package/dist/layout/index.mjs.map +0 -1
  1338. package/dist/layout/types.d.ts.map +0 -1
  1339. package/dist/lib-6GWWPDJR.js +0 -28
  1340. package/dist/lib-BD4KKQBI.mjs +0 -4
  1341. package/dist/lib-N5PD6JNJ.mjs +0 -3
  1342. package/dist/lib-WFB5RLEQ.js +0 -31
  1343. package/dist/llms/AEOComponents.d.ts.map +0 -1
  1344. package/dist/llms/SpeakableSchema.d.ts.map +0 -1
  1345. package/dist/llms/aiRobots.d.ts.map +0 -1
  1346. package/dist/llms/api.d.ts.map +0 -1
  1347. package/dist/llms/client.d.ts.map +0 -1
  1348. package/dist/llms/client.js.map +0 -1
  1349. package/dist/llms/client.mjs +0 -5
  1350. package/dist/llms/client.mjs.map +0 -1
  1351. package/dist/llms/contract.d.ts.map +0 -1
  1352. package/dist/llms/contract.js.map +0 -1
  1353. package/dist/llms/contract.mjs +0 -4
  1354. package/dist/llms/contract.mjs.map +0 -1
  1355. package/dist/llms/discovery-headers.d.ts.map +0 -1
  1356. package/dist/llms/generateLLMsTxt.d.ts.map +0 -1
  1357. package/dist/llms/handlers.d.ts.map +0 -1
  1358. package/dist/llms/humanize-industry.d.ts.map +0 -1
  1359. package/dist/llms/index.d.ts.map +0 -1
  1360. package/dist/llms/index.js.map +0 -1
  1361. package/dist/llms/index.mjs +0 -286
  1362. package/dist/llms/index.mjs.map +0 -1
  1363. package/dist/llms/links.d.ts.map +0 -1
  1364. package/dist/llms/revalidate.d.ts.map +0 -1
  1365. package/dist/llms/seo-revalidate.d.ts.map +0 -1
  1366. package/dist/llms/sourcedFacts.d.ts.map +0 -1
  1367. package/dist/llms/types.d.ts.map +0 -1
  1368. package/dist/llms/wiring.d.ts +0 -103
  1369. package/dist/llms/wiring.d.ts.map +0 -1
  1370. package/dist/llms/writeLLMsTxt.d.ts.map +0 -1
  1371. package/dist/manifest/index.d.ts.map +0 -1
  1372. package/dist/manifest/index.js.map +0 -1
  1373. package/dist/manifest/index.mjs +0 -83
  1374. package/dist/manifest/index.mjs.map +0 -1
  1375. package/dist/maps/GoogleMap.d.ts.map +0 -1
  1376. package/dist/maps/NeighborhoodMap.d.ts.map +0 -1
  1377. package/dist/maps/api.d.ts.map +0 -1
  1378. package/dist/maps/index.d.ts.map +0 -1
  1379. package/dist/maps/index.js.map +0 -1
  1380. package/dist/maps/index.mjs +0 -361
  1381. package/dist/maps/index.mjs.map +0 -1
  1382. package/dist/maps/types.d.ts.map +0 -1
  1383. package/dist/mcp/WebMcpTools.d.ts.map +0 -1
  1384. package/dist/mcp/client.d.ts.map +0 -1
  1385. package/dist/mcp/client.js.map +0 -1
  1386. package/dist/mcp/client.mjs +0 -129
  1387. package/dist/mcp/client.mjs.map +0 -1
  1388. package/dist/mcp/declarative.d.ts.map +0 -1
  1389. package/dist/mcp/handlers.d.ts.map +0 -1
  1390. package/dist/mcp/index.d.ts.map +0 -1
  1391. package/dist/mcp/index.js.map +0 -1
  1392. package/dist/mcp/index.mjs +0 -509
  1393. package/dist/mcp/index.mjs.map +0 -1
  1394. package/dist/mcp/protocol.d.ts.map +0 -1
  1395. package/dist/mcp/serverCard.d.ts.map +0 -1
  1396. package/dist/mcp/transport.d.ts.map +0 -1
  1397. package/dist/mcp/transport.js.map +0 -1
  1398. package/dist/mcp/transport.mjs +0 -123
  1399. package/dist/mcp/transport.mjs.map +0 -1
  1400. package/dist/mcp/types.d.ts.map +0 -1
  1401. package/dist/motion/CountUp.d.ts.map +0 -1
  1402. package/dist/motion/Parallax.d.ts.map +0 -1
  1403. package/dist/motion/Reveal.d.ts.map +0 -1
  1404. package/dist/motion/ScrollScene.d.ts.map +0 -1
  1405. package/dist/motion/engine.d.ts.map +0 -1
  1406. package/dist/motion/failsafe.d.ts.map +0 -1
  1407. package/dist/motion/gsap.d.ts.map +0 -1
  1408. package/dist/motion/gsap.js.map +0 -1
  1409. package/dist/motion/gsap.mjs +0 -220
  1410. package/dist/motion/gsap.mjs.map +0 -1
  1411. package/dist/motion/index.d.ts.map +0 -1
  1412. package/dist/motion/index.js.map +0 -1
  1413. package/dist/motion/index.mjs +0 -209
  1414. package/dist/motion/index.mjs.map +0 -1
  1415. package/dist/motion/three.d.ts.map +0 -1
  1416. package/dist/motion/three.js.map +0 -1
  1417. package/dist/motion/three.mjs +0 -145
  1418. package/dist/motion/three.mjs.map +0 -1
  1419. package/dist/og/config.d.ts.map +0 -1
  1420. package/dist/og/contrast.d.ts.map +0 -1
  1421. package/dist/og/index.d.ts.map +0 -1
  1422. package/dist/og/index.js.map +0 -1
  1423. package/dist/og/index.mjs +0 -6
  1424. package/dist/og/index.mjs.map +0 -1
  1425. package/dist/og/pages.d.ts.map +0 -1
  1426. package/dist/og/route-copy.d.ts +0 -34
  1427. package/dist/og/route-copy.d.ts.map +0 -1
  1428. package/dist/og/route-fit.d.ts.map +0 -1
  1429. package/dist/og/route.d.ts.map +0 -1
  1430. package/dist/og/route.js.map +0 -1
  1431. package/dist/og/route.mjs +0 -239
  1432. package/dist/og/route.mjs.map +0 -1
  1433. package/dist/og/template.d.ts.map +0 -1
  1434. package/dist/og/wiring.d.ts +0 -100
  1435. package/dist/og/wiring.d.ts.map +0 -1
  1436. package/dist/portfolio/contract.d.ts.map +0 -1
  1437. package/dist/portfolio/contract.js.map +0 -1
  1438. package/dist/portfolio/contract.mjs +0 -38
  1439. package/dist/portfolio/contract.mjs.map +0 -1
  1440. package/dist/proxy/index.d.ts.map +0 -1
  1441. package/dist/proxy/index.js.map +0 -1
  1442. package/dist/proxy/index.mjs +0 -170
  1443. package/dist/proxy/index.mjs.map +0 -1
  1444. package/dist/proxy/securityHeaders.d.ts.map +0 -1
  1445. package/dist/proxy/segment.d.ts.map +0 -1
  1446. package/dist/redirects/index.d.ts.map +0 -1
  1447. package/dist/redirects/index.js.map +0 -1
  1448. package/dist/redirects/index.mjs +0 -8
  1449. package/dist/redirects/index.mjs.map +0 -1
  1450. package/dist/redirects/not-found.d.ts +0 -31
  1451. package/dist/redirects/not-found.d.ts.map +0 -1
  1452. package/dist/redirects/not-found.js +0 -47
  1453. package/dist/redirects/not-found.js.map +0 -1
  1454. package/dist/redirects/not-found.mjs +0 -45
  1455. package/dist/redirects/not-found.mjs.map +0 -1
  1456. package/dist/reputation/TestimonialSection.d.ts.map +0 -1
  1457. package/dist/reputation/api.d.ts.map +0 -1
  1458. package/dist/reputation/index.d.ts.map +0 -1
  1459. package/dist/reputation/index.js.map +0 -1
  1460. package/dist/reputation/index.mjs +0 -5
  1461. package/dist/reputation/index.mjs.map +0 -1
  1462. package/dist/reputation/server.d.ts.map +0 -1
  1463. package/dist/reputation/server.js.map +0 -1
  1464. package/dist/reputation/server.mjs +0 -4
  1465. package/dist/reputation/server.mjs.map +0 -1
  1466. package/dist/reputation/types.d.ts.map +0 -1
  1467. package/dist/robots/index.d.ts.map +0 -1
  1468. package/dist/robots/index.js.map +0 -1
  1469. package/dist/robots/index.mjs +0 -53
  1470. package/dist/robots/index.mjs.map +0 -1
  1471. package/dist/robots/indexnow.d.ts.map +0 -1
  1472. package/dist/robots/indexnow.js.map +0 -1
  1473. package/dist/robots/indexnow.mjs +0 -34
  1474. package/dist/robots/indexnow.mjs.map +0 -1
  1475. package/dist/robots/next-internals.d.ts.map +0 -1
  1476. package/dist/search/contract.d.ts +0 -62
  1477. package/dist/search/contract.d.ts.map +0 -1
  1478. package/dist/search/contract.js +0 -17
  1479. package/dist/search/contract.js.map +0 -1
  1480. package/dist/search/contract.mjs +0 -4
  1481. package/dist/search/contract.mjs.map +0 -1
  1482. package/dist/search/index.d.ts +0 -52
  1483. package/dist/search/index.d.ts.map +0 -1
  1484. package/dist/search/index.js +0 -105
  1485. package/dist/search/index.js.map +0 -1
  1486. package/dist/search/index.mjs +0 -99
  1487. package/dist/search/index.mjs.map +0 -1
  1488. package/dist/seo/LocationPageContent.d.ts +0 -64
  1489. package/dist/seo/LocationPageContent.d.ts.map +0 -1
  1490. package/dist/seo/ManagedContent.d.ts.map +0 -1
  1491. package/dist/seo/ManagedFAQ.d.ts.map +0 -1
  1492. package/dist/seo/ManagedInternalLinks.d.ts.map +0 -1
  1493. package/dist/seo/ManagedSchema.d.ts.map +0 -1
  1494. package/dist/seo/ManagedScripts.d.ts.map +0 -1
  1495. package/dist/seo/api.d.ts.map +0 -1
  1496. package/dist/seo/client.d.ts.map +0 -1
  1497. package/dist/seo/client.js.map +0 -1
  1498. package/dist/seo/client.mjs +0 -10
  1499. package/dist/seo/client.mjs.map +0 -1
  1500. package/dist/seo/getManagedMetadata.d.ts.map +0 -1
  1501. package/dist/seo/groundingSchema.d.ts.map +0 -1
  1502. package/dist/seo/index.d.ts.map +0 -1
  1503. package/dist/seo/index.js.map +0 -1
  1504. package/dist/seo/index.mjs +0 -701
  1505. package/dist/seo/index.mjs.map +0 -1
  1506. package/dist/seo/register-sitemap-cli-impl.d.ts.map +0 -1
  1507. package/dist/seo/register-sitemap-cli.d.ts.map +0 -1
  1508. package/dist/seo/register-sitemap-cli.mjs +0 -528
  1509. package/dist/seo/register-sitemap-request.d.ts.map +0 -1
  1510. package/dist/seo/routing.d.ts.map +0 -1
  1511. package/dist/seo/safeJsonLd.d.ts.map +0 -1
  1512. package/dist/seo/schema-filter.d.ts.map +0 -1
  1513. package/dist/seo/server-api.d.ts.map +0 -1
  1514. package/dist/seo/server.d.ts.map +0 -1
  1515. package/dist/seo/server.js.map +0 -1
  1516. package/dist/seo/server.mjs +0 -11
  1517. package/dist/seo/server.mjs.map +0 -1
  1518. package/dist/seo/types.d.ts.map +0 -1
  1519. package/dist/seo/withManagedMetadata.d.ts.map +0 -1
  1520. package/dist/seo-meta/contract.d.ts.map +0 -1
  1521. package/dist/seo-meta/contract.js.map +0 -1
  1522. package/dist/seo-meta/contract.mjs +0 -4
  1523. package/dist/seo-meta/contract.mjs.map +0 -1
  1524. package/dist/seo-pages/contract.d.ts.map +0 -1
  1525. package/dist/seo-pages/contract.js.map +0 -1
  1526. package/dist/seo-pages/contract.mjs +0 -45
  1527. package/dist/seo-pages/contract.mjs.map +0 -1
  1528. package/dist/server/index.d.ts.map +0 -1
  1529. package/dist/server/index.js.map +0 -1
  1530. package/dist/server/index.mjs +0 -7
  1531. package/dist/server/index.mjs.map +0 -1
  1532. package/dist/server/mint-site-token.d.ts.map +0 -1
  1533. package/dist/server/server-fetch.d.ts.map +0 -1
  1534. package/dist/server-api-7F5P6CSH.mjs +0 -9
  1535. package/dist/server-api-7F5P6CSH.mjs.map +0 -1
  1536. package/dist/server-api-OC5JNK6R.js +0 -86
  1537. package/dist/server-api-OC5JNK6R.js.map +0 -1
  1538. package/dist/setup/index.d.ts +0 -12
  1539. package/dist/setup/index.d.ts.map +0 -1
  1540. package/dist/setup/index.js +0 -4
  1541. package/dist/setup/index.js.map +0 -1
  1542. package/dist/setup/index.mjs +0 -3
  1543. package/dist/setup/index.mjs.map +0 -1
  1544. package/dist/shared/build-entries.d.ts.map +0 -1
  1545. package/dist/shared/color.d.ts.map +0 -1
  1546. package/dist/shared/defer.d.ts.map +0 -1
  1547. package/dist/shared/fetchWithRetry.d.ts.map +0 -1
  1548. package/dist/shared/frame.d.ts.map +0 -1
  1549. package/dist/shared/fresh-fetch.d.ts.map +0 -1
  1550. package/dist/shared/glass.d.ts.map +0 -1
  1551. package/dist/shared/identity.d.ts.map +0 -1
  1552. package/dist/shared/next-files.d.ts.map +0 -1
  1553. package/dist/shared/page-leave.d.ts.map +0 -1
  1554. package/dist/shared/publishCredential.d.ts.map +0 -1
  1555. package/dist/shared/reporting-gate.d.ts.map +0 -1
  1556. package/dist/shared/request-guards.d.ts.map +0 -1
  1557. package/dist/shared/siteToken.d.ts.map +0 -1
  1558. package/dist/shared/sonorFetch.d.ts.map +0 -1
  1559. package/dist/shared/source-graph.d.ts.map +0 -1
  1560. package/dist/shared/uuid.d.ts.map +0 -1
  1561. package/dist/shared/version.d.ts.map +0 -1
  1562. package/dist/shared/visual-viewport-gap.d.ts.map +0 -1
  1563. package/dist/signal/SignalBridge.d.ts.map +0 -1
  1564. package/dist/signal/SignalCore.d.ts.map +0 -1
  1565. package/dist/signal/SignalExperiment.d.ts.map +0 -1
  1566. package/dist/signal/index.d.ts.map +0 -1
  1567. package/dist/signal/index.js.map +0 -1
  1568. package/dist/signal/index.mjs +0 -6
  1569. package/dist/signal/index.mjs.map +0 -1
  1570. package/dist/signal/store.d.ts.map +0 -1
  1571. package/dist/signal/types.d.ts.map +0 -1
  1572. package/dist/site-config/index.d.ts.map +0 -1
  1573. package/dist/site-config/index.js.map +0 -1
  1574. package/dist/site-config/index.mjs +0 -4
  1575. package/dist/site-config/index.mjs.map +0 -1
  1576. package/dist/sitemap/discover.d.ts.map +0 -1
  1577. package/dist/sitemap/index.d.ts.map +0 -1
  1578. package/dist/sitemap/index.js.map +0 -1
  1579. package/dist/sitemap/index.mjs +0 -549
  1580. package/dist/sitemap/index.mjs.map +0 -1
  1581. package/dist/sitemap/shared.d.ts.map +0 -1
  1582. package/dist/sites/contract.d.ts.map +0 -1
  1583. package/dist/sites/contract.js.map +0 -1
  1584. package/dist/sites/contract.mjs +0 -5
  1585. package/dist/sites/contract.mjs.map +0 -1
  1586. package/dist/sites/normalize.d.ts.map +0 -1
  1587. package/dist/sites/resolve.d.ts.map +0 -1
  1588. package/dist/sites/site-param.d.ts.map +0 -1
  1589. package/dist/slots/ManagedSlot.d.ts.map +0 -1
  1590. package/dist/slots/contract.d.ts.map +0 -1
  1591. package/dist/slots/contract.js.map +0 -1
  1592. package/dist/slots/contract.mjs +0 -4
  1593. package/dist/slots/contract.mjs.map +0 -1
  1594. package/dist/slots/index.d.ts.map +0 -1
  1595. package/dist/slots/index.js.map +0 -1
  1596. package/dist/slots/index.mjs +0 -142
  1597. package/dist/slots/index.mjs.map +0 -1
  1598. package/dist/slots/revalidate.d.ts.map +0 -1
  1599. package/dist/slots/server-api.d.ts.map +0 -1
  1600. package/dist/socket-loader-2NYBMBFQ.js +0 -16
  1601. package/dist/socket-loader-2NYBMBFQ.js.map +0 -1
  1602. package/dist/socket-loader-JA2DI2RT.mjs +0 -14
  1603. package/dist/socket-loader-JA2DI2RT.mjs.map +0 -1
  1604. package/dist/sync/AddToCalendar.d.ts.map +0 -1
  1605. package/dist/sync/BookingWidget.d.ts.map +0 -1
  1606. package/dist/sync/MeetingFormatStep.d.ts.map +0 -1
  1607. package/dist/sync/api.d.ts.map +0 -1
  1608. package/dist/sync/booking-flow.d.ts.map +0 -1
  1609. package/dist/sync/index.d.ts.map +0 -1
  1610. package/dist/sync/index.js.map +0 -1
  1611. package/dist/sync/index.mjs +0 -7
  1612. package/dist/sync/index.mjs.map +0 -1
  1613. package/dist/sync/types.d.ts.map +0 -1
  1614. package/dist/types.d.ts.map +0 -1
  1615. package/dist/web-vitals.attribution-CHXXWO72.mjs +0 -524
  1616. package/dist/web-vitals.attribution-CHXXWO72.mjs.map +0 -1
  1617. package/dist/web-vitals.attribution-SQVZNHN3.js +0 -535
  1618. package/dist/web-vitals.attribution-SQVZNHN3.js.map +0 -1
  1619. package/dist/writeLLMsTxt-IYJILIU3.mjs +0 -11
  1620. package/dist/writeLLMsTxt-SQG4B63X.js +0 -20
  1621. package/scripts/postinstall.cjs +0 -67
@@ -1,141 +0,0 @@
1
- 'use client';
2
- 'use strict';
3
-
4
- var chunk5XFFUP6D_js = require('./chunk-5XFFUP6D.js');
5
- var react = require('react');
6
-
7
- var NO_CONTROLS = {};
8
- function useFieldControls(fields) {
9
- const needsDate = react.useMemo(
10
- () => (fields ?? []).some((f) => f.field_type === "date" || f.field_type === "datetime"),
11
- [fields]
12
- );
13
- const needsFile = react.useMemo(
14
- () => (fields ?? []).some((f) => f.field_type === "file"),
15
- [fields]
16
- );
17
- const [controls, setControls] = react.useState(NO_CONTROLS);
18
- const requested = react.useRef({ date: false, file: false });
19
- react.useEffect(() => {
20
- let cancelled = false;
21
- if (needsDate && !requested.current.date) {
22
- requested.current.date = true;
23
- import('./DatePicker-VPZR7RU3.js').then((m) => {
24
- if (!cancelled) setControls((prev) => ({ ...prev, Date: m.DatePicker }));
25
- }).catch(() => {
26
- requested.current.date = false;
27
- });
28
- }
29
- if (needsFile && !requested.current.file) {
30
- requested.current.file = true;
31
- import('./FileField-XG4EYAZW.js').then((m) => {
32
- if (!cancelled) setControls((prev) => ({ ...prev, File: m.FileField }));
33
- }).catch(() => {
34
- requested.current.file = false;
35
- });
36
- }
37
- return () => {
38
- cancelled = true;
39
- };
40
- }, [needsDate, needsFile]);
41
- return controls;
42
- }
43
-
44
- // src/forms/experience-plan.ts
45
- function stageQuestions(config) {
46
- const input = (config.fields || []).filter(
47
- (f) => !chunk5XFFUP6D_js.isDisplayOnly(f)
48
- );
49
- if (!config.is_multi_step || !config.steps?.length) {
50
- return input.map((field) => ({ field }));
51
- }
52
- const ordered = [...config.steps].sort((a, b) => a.step_number - b.step_number);
53
- const out = [];
54
- const claimed = /* @__PURE__ */ new Set();
55
- for (const step of ordered) {
56
- for (const field of input) {
57
- if (field.step_id === step.id) {
58
- out.push({ field, step });
59
- claimed.add(field.id);
60
- }
61
- }
62
- }
63
- for (const field of input) {
64
- if (!claimed.has(field.id)) out.push({ field });
65
- }
66
- return out;
67
- }
68
- var WIDTH_FRACTION = {
69
- full: 1,
70
- half: 1 / 2,
71
- third: 1 / 3,
72
- quarter: 1 / 4
73
- };
74
- function stageViews(config) {
75
- const questions = stageQuestions(config);
76
- const views = [];
77
- let open = null;
78
- let openWidth = 0;
79
- const close = () => {
80
- if (open) views.push(open);
81
- open = null;
82
- openWidth = 0;
83
- };
84
- for (const q of questions) {
85
- const fraction = WIDTH_FRACTION[q.field.width] ?? 1;
86
- const chapterChanged = open && open.step?.id !== q.step?.id;
87
- if (fraction >= 1 || chapterChanged) close();
88
- if (!open) {
89
- open = { fields: [q.field], step: q.step };
90
- openWidth = fraction;
91
- if (fraction >= 1) close();
92
- continue;
93
- }
94
- if (openWidth + fraction > 1.0001) close();
95
- if (!open) {
96
- open = { fields: [q.field], step: q.step };
97
- openWidth = fraction;
98
- continue;
99
- }
100
- open.fields.push(q.field);
101
- openWidth += fraction;
102
- }
103
- close();
104
- return views;
105
- }
106
- function countStageViews(config) {
107
- return stageViews(config).length;
108
- }
109
- function countStageQuestions(config) {
110
- return stageQuestions(config).length;
111
- }
112
- function stageEstimate(questionCount) {
113
- const seconds = questionCount * 8;
114
- if (seconds < 50) return `about ${Math.max(15, Math.ceil(seconds / 5) * 5)} seconds`;
115
- if (seconds <= 90) return "about a minute";
116
- return `about ${Math.round(seconds / 60)} minutes`;
117
- }
118
- function stageFirstName(value) {
119
- if (typeof value !== "string") return null;
120
- const token = value.trim().split(/\s+/)[0];
121
- if (!token || token.length > 24) return null;
122
- return token;
123
- }
124
- function formatAnswer(value) {
125
- if (chunk5XFFUP6D_js.isEmptyValue(value)) return null;
126
- if (Array.isArray(value)) return value.map(String).join(", ");
127
- if (typeof value === "boolean") return value ? "Yes" : "No";
128
- return String(value);
129
- }
130
- var AUTO_ADVANCE_TYPES = ["radio", "select", "rating"];
131
-
132
- exports.AUTO_ADVANCE_TYPES = AUTO_ADVANCE_TYPES;
133
- exports.countStageQuestions = countStageQuestions;
134
- exports.countStageViews = countStageViews;
135
- exports.formatAnswer = formatAnswer;
136
- exports.stageEstimate = stageEstimate;
137
- exports.stageFirstName = stageFirstName;
138
- exports.stageViews = stageViews;
139
- exports.useFieldControls = useFieldControls;
140
- //# sourceMappingURL=chunk-5W4S7XQD.js.map
141
- //# sourceMappingURL=chunk-5W4S7XQD.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/forms/field-controls.ts","../src/forms/experience-plan.ts"],"names":["useMemo","useState","useRef","useEffect","isDisplayOnly","isEmptyValue"],"mappings":"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","file":"chunk-5W4S7XQD.js","sourcesContent":["'use client'\n\n/**\n * The field controls that need React hooks, loaded only when a form actually\n * has a field that uses them.\n *\n * FormField deliberately does NOT import these. DatePicker carries 17 hooks\n * and FileField holds upload state; importing them there put both in\n * FormField's chunk, which the build stamps `'use client'` — so a Server\n * Component rendering a single text input shipped 38 KB of date picker to the\n * browser. Injecting them from the client side keeps FormField hook-free and\n * therefore server-renderable, which is the whole basis of StaticForm.\n *\n * Injection alone still put both controls in the forms entry's eager graph,\n * because a module-level constant referencing them is a static import: every\n * form paid for the date picker, and most forms have no date field. They are\n * now fetched on demand, per control, from the field list.\n *\n * The wait costs nothing visually. FormField already renders the native\n * control when a control is absent (static mode does exactly this), so a date\n * field paints as `<input type=\"date\">` and upgrades in place when the chunk\n * lands — the same enhancement path a no-JS visitor never leaves.\n *\n * Every client renderer of <FormField> (FormClient, FormSpotlight, FormStage)\n * calls this hook, so the experiences and the classic form always offer\n * identical controls.\n */\n\nimport { useEffect, useMemo, useRef, useState } from 'react'\nimport type { FormField as FormFieldType } from './types'\n\nexport interface FieldControls {\n Date?: React.ComponentType<any>\n File?: React.ComponentType<any>\n}\n\n/** Stable identity for the common case (no date, no file) — no render churn. */\nconst NO_CONTROLS: FieldControls = {}\n\nexport function useFieldControls(fields: FormFieldType[] | undefined): FieldControls {\n const needsDate = useMemo(\n () => (fields ?? []).some((f) => f.field_type === 'date' || f.field_type === 'datetime'),\n [fields],\n )\n const needsFile = useMemo(\n () => (fields ?? []).some((f) => f.field_type === 'file'),\n [fields],\n )\n\n const [controls, setControls] = useState<FieldControls>(NO_CONTROLS)\n // Guards re-import when a conditional field toggles visibility mid-fill.\n const requested = useRef({ date: false, file: false })\n\n useEffect(() => {\n let cancelled = false\n\n if (needsDate && !requested.current.date) {\n requested.current.date = true\n import('./DatePicker')\n .then((m) => {\n if (!cancelled) setControls((prev) => ({ ...prev, Date: m.DatePicker }))\n })\n .catch(() => {\n // Chunk never arrived — the native date input stays, which submits\n // the same value. A failed fetch must not cost the lead.\n requested.current.date = false\n })\n }\n\n if (needsFile && !requested.current.file) {\n requested.current.file = true\n import('./FileField')\n .then((m) => {\n if (!cancelled) setControls((prev) => ({ ...prev, File: m.FileField }))\n })\n .catch(() => {\n requested.current.file = false\n })\n }\n\n return () => {\n cancelled = true\n }\n }, [needsDate, needsFile])\n\n return controls\n}\n","/**\n * Shared planning helpers for the alternate form experiences (stage,\n * spotlight). Pure data — no React, no CSS — so FormClient can import the\n * counts it needs for tracking WITHOUT pulling an experience component (and\n * its stylesheet) into every site's forms bundle. The components themselves\n * are lazy-loaded; this module is the only part that ships eagerly.\n */\n\nimport type {\n FormField as FormFieldType,\n FormStep,\n ManagedFormConfig,\n} from './types'\n// Display-only types are never staged; what counts as empty is shared with\n// validation. Both live in field-rules.ts.\nimport { isDisplayOnly, isEmptyValue } from './field-rules'\n\nexport interface StageQuestion {\n field: FormFieldType\n /** The step (chapter) this question belongs to, when the form is multi-step. */\n step?: FormStep\n}\n\nexport interface StageView {\n fields: FormFieldType[]\n step?: FormStep\n}\n\n/**\n * Flatten a form into its ordered question list. Steps become chapters:\n * multi-step forms iterate steps in step_number order (fields are already\n * sorted by sort_order via normalizeFormConfig); stepless fields trail.\n */\nexport function stageQuestions(config: ManagedFormConfig): StageQuestion[] {\n const input = (config.fields || []).filter(\n (f) => !isDisplayOnly(f),\n )\n if (!config.is_multi_step || !config.steps?.length) {\n return input.map((field) => ({ field }))\n }\n const ordered = [...config.steps].sort((a, b) => a.step_number - b.step_number)\n const out: StageQuestion[] = []\n const claimed = new Set<string>()\n for (const step of ordered) {\n for (const field of input) {\n if (field.step_id === step.id) {\n out.push({ field, step })\n claimed.add(field.id)\n }\n }\n }\n for (const field of input) {\n if (!claimed.has(field.id)) out.push({ field })\n }\n return out\n}\n\nconst WIDTH_FRACTION: Record<string, number> = {\n full: 1,\n half: 1 / 2,\n third: 1 / 3,\n quarter: 1 / 4,\n}\n\n/**\n * Group questions into beats using the classic grid's own row math:\n * consecutive sub-full-width fields fill a row (2 halves, 3 thirds...) and\n * that row is one beat; a full-width field closes any open row and stands\n * alone; a chapter change always starts a fresh beat.\n */\nexport function stageViews(config: ManagedFormConfig): StageView[] {\n const questions = stageQuestions(config)\n const views: StageView[] = []\n let open: StageView | null = null\n let openWidth = 0\n\n const close = () => {\n if (open) views.push(open)\n open = null\n openWidth = 0\n }\n\n for (const q of questions) {\n const fraction = WIDTH_FRACTION[q.field.width] ?? 1\n const chapterChanged = open && open.step?.id !== q.step?.id\n if (fraction >= 1 || chapterChanged) close()\n if (!open) {\n open = { fields: [q.field], step: q.step }\n openWidth = fraction\n if (fraction >= 1) close()\n continue\n }\n if (openWidth + fraction > 1.0001) close()\n if (!open) {\n open = { fields: [q.field], step: q.step }\n openWidth = fraction\n continue\n }\n open.fields.push(q.field)\n openWidth += fraction\n }\n close()\n return views\n}\n\nexport function countStageViews(config: ManagedFormConfig): number {\n return stageViews(config).length\n}\n\nexport function countStageQuestions(config: ManagedFormConfig): number {\n return stageQuestions(config).length\n}\n\n/**\n * Honest, friendly time estimate: \"about 40 seconds\".\n * ~8s per question, rounded to something a human would actually say.\n */\nexport function stageEstimate(questionCount: number): string {\n const seconds = questionCount * 8\n if (seconds < 50) return `about ${Math.max(15, Math.ceil(seconds / 5) * 5)} seconds`\n if (seconds <= 90) return 'about a minute'\n return `about ${Math.round(seconds / 60)} minutes`\n}\n\n/** First name for the greeting — conservative: short, single token, else null. */\nexport function stageFirstName(value: unknown): string | null {\n if (typeof value !== 'string') return null\n const token = value.trim().split(/\\s+/)[0]\n if (!token || token.length > 24) return null\n return token\n}\n\nexport function formatAnswer(value: unknown): string | null {\n if (isEmptyValue(value)) return null\n if (Array.isArray(value)) return value.map(String).join(', ')\n if (typeof value === 'boolean') return value ? 'Yes' : 'No'\n return String(value)\n}\n\n/** Single-select types where picking an answer advances after a lock-in beat. */\nexport const AUTO_ADVANCE_TYPES = ['radio', 'select', 'rating']\n"]}
@@ -1,100 +0,0 @@
1
- 'use strict';
2
-
3
- // src/forms/field-rules.ts
4
- var DISPLAY_ONLY_FIELD_TYPES = [
5
- "heading",
6
- "section_header",
7
- "paragraph",
8
- "hidden"
9
- ];
10
- function isDisplayOnly(field) {
11
- return DISPLAY_ONLY_FIELD_TYPES.includes(field.field_type);
12
- }
13
- function isEmptyValue(value) {
14
- if (value === void 0 || value === null || value === "") return true;
15
- if (Array.isArray(value)) return value.length === 0;
16
- return false;
17
- }
18
- function isUnanswered(value) {
19
- return isEmptyValue(value) || value === false;
20
- }
21
- function searchableTexts(value) {
22
- const items = Array.isArray(value) ? value : [value];
23
- return items.map((item) => item === void 0 || item === null ? "" : String(item));
24
- }
25
- function isFieldVisible(field, values) {
26
- const condition = field.conditional?.show_when;
27
- if (!condition) return true;
28
- const { field: condField, operator, value } = condition;
29
- const fieldValue = values[condField];
30
- switch (operator) {
31
- case "equals":
32
- return fieldValue === value;
33
- case "not_equals":
34
- return fieldValue !== value;
35
- case "contains":
36
- return searchableTexts(fieldValue).some((text) => text.includes(String(value)));
37
- case "not_contains":
38
- return !searchableTexts(fieldValue).some((text) => text.includes(String(value)));
39
- case "is_empty":
40
- return isUnanswered(fieldValue);
41
- case "not_empty":
42
- return !isUnanswered(fieldValue);
43
- case "greater_than":
44
- return Number(fieldValue) > Number(value);
45
- case "less_than":
46
- return Number(fieldValue) < Number(value);
47
- default:
48
- return true;
49
- }
50
- }
51
- function validateField(field, values, isVisible = (f) => isFieldVisible(f, values)) {
52
- if (!isVisible(field)) return null;
53
- if (isDisplayOnly(field)) return null;
54
- const value = values[field.slug];
55
- const rules = field.validation || {};
56
- if (isUnanswered(value)) {
57
- return field.is_required ? rules.custom_error || `${field.label} is required` : null;
58
- }
59
- const strValue = String(value);
60
- if (rules.min_length && strValue.length < rules.min_length) {
61
- return `${field.label} must be at least ${rules.min_length} characters`;
62
- }
63
- if (rules.max_length && strValue.length > rules.max_length) {
64
- return `${field.label} must be no more than ${rules.max_length} characters`;
65
- }
66
- if (rules.min !== void 0 && Number(value) < rules.min) {
67
- return `${field.label} must be at least ${rules.min}`;
68
- }
69
- if (rules.max !== void 0 && Number(value) > rules.max) {
70
- return `${field.label} must be no more than ${rules.max}`;
71
- }
72
- if (rules.pattern) {
73
- try {
74
- if (!new RegExp(rules.pattern).test(strValue)) {
75
- return rules.custom_error || `${field.label} is invalid`;
76
- }
77
- } catch {
78
- }
79
- }
80
- if (field.field_type === "email" && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(strValue)) {
81
- return "Please enter a valid email address";
82
- }
83
- if (field.field_type === "phone" && !/^[\d\s\-\+\(\)]+$/.test(strValue)) {
84
- return "Please enter a valid phone number";
85
- }
86
- return null;
87
- }
88
- function isFieldComplete(field, values, isVisible = (f) => isFieldVisible(f, values)) {
89
- if (!isVisible(field) || isDisplayOnly(field)) return false;
90
- if (isEmptyValue(values[field.slug])) return false;
91
- return validateField(field, values, isVisible) === null;
92
- }
93
-
94
- exports.isDisplayOnly = isDisplayOnly;
95
- exports.isEmptyValue = isEmptyValue;
96
- exports.isFieldComplete = isFieldComplete;
97
- exports.isFieldVisible = isFieldVisible;
98
- exports.validateField = validateField;
99
- //# sourceMappingURL=chunk-5XFFUP6D.js.map
100
- //# sourceMappingURL=chunk-5XFFUP6D.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/forms/field-rules.ts"],"names":[],"mappings":"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","file":"chunk-5XFFUP6D.js","sourcesContent":["/**\n * @sonordev/site-kit/forms - field rules\n *\n * SINGLE SOURCE OF TRUTH for a managed form's per-field rules: whether a field\n * is shown (conditional `show_when`), whether a value counts as an answer, what\n * validation says about it, and whether it's complete. useForm (headless) and\n * FormClient (classic, stage and spotlight) both route through here, as do\n * the experiences' question planning and the field_interactions `completed`\n * flag. useForm and FormClient each carried their own copy until 2026-09-15,\n * and they had already drifted (a `contains` condition read an unanswered\n * field as the text \"undefined\" in one and \"\" in the other). Don't re-fork\n * any of this into a component.\n *\n * Pure: no React, no DOM.\n */\n\nimport type { FormField } from './types'\n\n/** Field types that render content but take no answer. */\nexport const DISPLAY_ONLY_FIELD_TYPES: readonly string[] = [\n 'heading',\n 'section_header',\n 'paragraph',\n 'hidden',\n]\n\nexport function isDisplayOnly(field: FormField): boolean {\n return DISPLAY_ONLY_FIELD_TYPES.includes(field.field_type)\n}\n\n/**\n * No value at all: undefined, null, '', or an empty selection — a checkbox\n * group or multi-select emits [] once every option is unticked.\n */\nexport function isEmptyValue(value: unknown): boolean {\n if (value === undefined || value === null || value === '') return true\n if (Array.isArray(value)) return value.length === 0\n return false\n}\n\n/**\n * Nothing the visitor has said yes to. What `required` and the\n * is_empty / not_empty conditions test: an empty value, or an unticked single\n * checkbox (it emits `false`). A number 0 is an answer.\n */\nfunction isUnanswered(value: unknown): boolean {\n return isEmptyValue(value) || value === false\n}\n\n/**\n * The text a `contains` condition searches: each selected option of a\n * multi-value field, and '' for no value. Never \"null\" or \"undefined\", which\n * made `contains \"n\"` show a field before anything was entered.\n */\nfunction searchableTexts(value: unknown): string[] {\n const items = Array.isArray(value) ? value : [value]\n return items.map((item) => (item === undefined || item === null ? '' : String(item)))\n}\n\n/** Whether `field` is shown, given the form's current values. */\nexport function isFieldVisible(field: FormField, values: Record<string, unknown>): boolean {\n const condition = field.conditional?.show_when\n if (!condition) return true\n\n const { field: condField, operator, value } = condition\n const fieldValue = values[condField]\n\n switch (operator) {\n case 'equals':\n return fieldValue === value\n case 'not_equals':\n return fieldValue !== value\n case 'contains':\n return searchableTexts(fieldValue).some((text) => text.includes(String(value)))\n case 'not_contains':\n return !searchableTexts(fieldValue).some((text) => text.includes(String(value)))\n case 'is_empty':\n return isUnanswered(fieldValue)\n case 'not_empty':\n return !isUnanswered(fieldValue)\n case 'greater_than':\n return Number(fieldValue) > Number(value)\n case 'less_than':\n return Number(fieldValue) < Number(value)\n default:\n return true\n }\n}\n\n/**\n * The error to show for `field`, or null when it's fine. Hidden and\n * display-only fields never error. `isVisible` lets a caller pass its own\n * memoized visibility check; it defaults to {@link isFieldVisible}.\n */\nexport function validateField(\n field: FormField,\n values: Record<string, unknown>,\n isVisible: (field: FormField) => boolean = (f) => isFieldVisible(f, values),\n): string | null {\n if (!isVisible(field)) return null\n if (isDisplayOnly(field)) return null\n\n const value = values[field.slug]\n const rules = field.validation || {}\n\n if (isUnanswered(value)) {\n return field.is_required ? rules.custom_error || `${field.label} is required` : null\n }\n\n const strValue = String(value)\n\n // Length checks\n if (rules.min_length && strValue.length < rules.min_length) {\n return `${field.label} must be at least ${rules.min_length} characters`\n }\n if (rules.max_length && strValue.length > rules.max_length) {\n return `${field.label} must be no more than ${rules.max_length} characters`\n }\n\n // Numeric checks\n if (rules.min !== undefined && Number(value) < rules.min) {\n return `${field.label} must be at least ${rules.min}`\n }\n if (rules.max !== undefined && Number(value) > rules.max) {\n return `${field.label} must be no more than ${rules.max}`\n }\n\n // Pattern check — guard against an invalid admin-entered pattern.\n if (rules.pattern) {\n try {\n if (!new RegExp(rules.pattern).test(strValue)) {\n return rules.custom_error || `${field.label} is invalid`\n }\n } catch {\n // Malformed pattern — skip rather than crashing the form.\n }\n }\n\n if (field.field_type === 'email' && !/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(strValue)) {\n return 'Please enter a valid email address'\n }\n\n if (field.field_type === 'phone' && !/^[\\d\\s\\-\\+\\(\\)]+$/.test(strValue)) {\n return 'Please enter a valid phone number'\n }\n\n return null\n}\n\n/**\n * The field holds a real, valid answer: visible, something a visitor answers,\n * not empty, and passing validation. Drives FormClient's valid tick and\n * momentum count, the experiences' beat completion, and\n * `field_interactions[slug].completed`. An unticked optional checkbox is an\n * answer (\"no\"); an empty selection is not.\n */\nexport function isFieldComplete(\n field: FormField,\n values: Record<string, unknown>,\n isVisible: (field: FormField) => boolean = (f) => isFieldVisible(f, values),\n): boolean {\n if (!isVisible(field) || isDisplayOnly(field)) return false\n if (isEmptyValue(values[field.slug])) return false\n return validateField(field, values, isVisible) === null\n}\n"]}
@@ -1,47 +0,0 @@
1
- // src/articles/processArticleHtml.ts
2
- function linkClassificationHost(siteUrl) {
3
- try {
4
- const base = siteUrl.startsWith("http") ? siteUrl : `https://${siteUrl}`;
5
- const u = new URL(base);
6
- return u.hostname.replace(/^www\./i, "").toLowerCase();
7
- } catch {
8
- return "";
9
- }
10
- }
11
- var normalizeSiteHost = linkClassificationHost;
12
- function resolvePublicationSiteUrl(explicit) {
13
- const fromProp = explicit?.trim();
14
- if (fromProp) return fromProp;
15
- const next = process.env.NEXT_PUBLIC_SITE_URL?.trim();
16
- if (next) return next;
17
- const site = process.env.SITE_URL?.trim();
18
- if (site) return site;
19
- const vercel = process.env.VERCEL_URL?.trim();
20
- if (vercel) return vercel.startsWith("http") ? vercel : `https://${vercel}`;
21
- return "";
22
- }
23
- function addExternalLinkTargets(html, siteUrl) {
24
- if (!html || !siteUrl) return html;
25
- const siteHost = linkClassificationHost(siteUrl);
26
- if (!siteHost) return html;
27
- return html.replace(/<a\b([^>]*)>/gi, (_full, attrs) => {
28
- const hrefMatch = attrs.match(/\bhref\s*=\s*(["'])([^"']*)\1/i);
29
- if (!hrefMatch) return `<a${attrs}>`;
30
- const href = hrefMatch[2].trim();
31
- if (!/^https?:\/\//i.test(href)) return `<a${attrs}>`;
32
- try {
33
- const url = new URL(href);
34
- const linkHost = url.hostname.replace(/^www\./i, "").toLowerCase();
35
- if (linkHost === siteHost) return `<a${attrs}>`;
36
- if (/\btarget\s*=/i.test(attrs)) return `<a${attrs}>`;
37
- const trimmed = attrs.trim();
38
- return `<a ${trimmed} target="_blank" rel="noopener noreferrer">`;
39
- } catch {
40
- return `<a${attrs}>`;
41
- }
42
- });
43
- }
44
-
45
- export { addExternalLinkTargets, linkClassificationHost, normalizeSiteHost, resolvePublicationSiteUrl };
46
- //# sourceMappingURL=chunk-5YVQWLSQ.mjs.map
47
- //# sourceMappingURL=chunk-5YVQWLSQ.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/articles/processArticleHtml.ts"],"names":[],"mappings":";AAgBO,SAAS,uBAAuB,OAAA,EAAyB;AAC9D,EAAA,IAAI;AACF,IAAA,MAAM,OAAO,OAAA,CAAQ,UAAA,CAAW,MAAM,CAAA,GAAI,OAAA,GAAU,WAAW,OAAO,CAAA,CAAA;AACtE,IAAA,MAAM,CAAA,GAAI,IAAI,GAAA,CAAI,IAAI,CAAA;AACtB,IAAA,OAAO,EAAE,QAAA,CAAS,OAAA,CAAQ,SAAA,EAAW,EAAE,EAAE,WAAA,EAAY;AAAA,EACvD,CAAA,CAAA,MAAQ;AACN,IAAA,OAAO,EAAA;AAAA,EACT;AACF;AAQO,IAAM,iBAAA,GAAoB;AAM1B,SAAS,0BAA0B,QAAA,EAA2B;AACnE,EAAA,MAAM,QAAA,GAAW,UAAU,IAAA,EAAK;AAChC,EAAA,IAAI,UAAU,OAAO,QAAA;AACrB,EAAA,MAAM,IAAA,GAAO,OAAA,CAAQ,GAAA,CAAI,oBAAA,EAAsB,IAAA,EAAK;AACpD,EAAA,IAAI,MAAM,OAAO,IAAA;AACjB,EAAA,MAAM,IAAA,GAAO,OAAA,CAAQ,GAAA,CAAI,QAAA,EAAU,IAAA,EAAK;AACxC,EAAA,IAAI,MAAM,OAAO,IAAA;AACjB,EAAA,MAAM,MAAA,GAAS,OAAA,CAAQ,GAAA,CAAI,UAAA,EAAY,IAAA,EAAK;AAC5C,EAAA,IAAI,MAAA,SAAe,MAAA,CAAO,UAAA,CAAW,MAAM,CAAA,GAAI,MAAA,GAAS,WAAW,MAAM,CAAA,CAAA;AACzE,EAAA,OAAO,EAAA;AACT;AAOO,SAAS,sBAAA,CAAuB,MAAc,OAAA,EAAyB;AAC5E,EAAA,IAAI,CAAC,IAAA,IAAQ,CAAC,OAAA,EAAS,OAAO,IAAA;AAC9B,EAAA,MAAM,QAAA,GAAW,uBAAuB,OAAO,CAAA;AAC/C,EAAA,IAAI,CAAC,UAAU,OAAO,IAAA;AAEtB,EAAA,OAAO,IAAA,CAAK,OAAA,CAAQ,gBAAA,EAAkB,CAAC,OAAO,KAAA,KAAkB;AAC9D,IAAA,MAAM,SAAA,GAAY,KAAA,CAAM,KAAA,CAAM,gCAAgC,CAAA;AAC9D,IAAA,IAAI,CAAC,SAAA,EAAW,OAAO,CAAA,EAAA,EAAK,KAAK,CAAA,CAAA,CAAA;AACjC,IAAA,MAAM,IAAA,GAAO,SAAA,CAAU,CAAC,CAAA,CAAE,IAAA,EAAK;AAC/B,IAAA,IAAI,CAAC,eAAA,CAAgB,IAAA,CAAK,IAAI,CAAA,EAAG,OAAO,KAAK,KAAK,CAAA,CAAA,CAAA;AAElD,IAAA,IAAI;AACF,MAAA,MAAM,GAAA,GAAM,IAAI,GAAA,CAAI,IAAI,CAAA;AACxB,MAAA,MAAM,WAAW,GAAA,CAAI,QAAA,CAAS,QAAQ,SAAA,EAAW,EAAE,EAAE,WAAA,EAAY;AACjE,MAAA,IAAI,QAAA,KAAa,QAAA,EAAU,OAAO,CAAA,EAAA,EAAK,KAAK,CAAA,CAAA,CAAA;AAC5C,MAAA,IAAI,gBAAgB,IAAA,CAAK,KAAK,CAAA,EAAG,OAAO,KAAK,KAAK,CAAA,CAAA,CAAA;AAClD,MAAA,MAAM,OAAA,GAAU,MAAM,IAAA,EAAK;AAC3B,MAAA,OAAO,MAAM,OAAO,CAAA,2CAAA,CAAA;AAAA,IACtB,CAAA,CAAA,MAAQ;AACN,MAAA,OAAO,KAAK,KAAK,CAAA,CAAA,CAAA;AAAA,IACnB;AAAA,EACF,CAAC,CAAA;AACH","file":"chunk-5YVQWLSQ.mjs","sourcesContent":["/**\n * Post-process Portal/article HTML for safe, consistent link behavior.\n * Server-safe string transforms only (no DOM).\n */\n\n/**\n * The host `addExternalLinkTargets` compares links against to decide whether a\n * link is internal (same tab) or external (`target=\"_blank\"`). Lowercased,\n * leading `www.` stripped, so `www.example.com` and `example.com` count as the\n * same site; returns '' for anything unparseable.\n *\n * NOT the multi-site host normalizer. That is `normalizeSiteHost` in\n * `sites/normalize`, which keeps `www.` because `www.example.com` and\n * `example.com` can be different sub-sites of one Sonor project. This used to\n * share that name, so the two were easy to swap by accident.\n */\nexport function linkClassificationHost(siteUrl: string): string {\n try {\n const base = siteUrl.startsWith('http') ? siteUrl : `https://${siteUrl}`\n const u = new URL(base)\n return u.hostname.replace(/^www\\./i, '').toLowerCase()\n } catch {\n return ''\n }\n}\n\n/**\n * @deprecated Renamed to {@link linkClassificationHost} (same behavior: strips\n * `www.`). It shared a name with the multi-site `normalizeSiteHost` from\n * `sites/normalize`, which keeps `www.`. Kept so existing imports from\n * `@sonordev/site-kit/articles` still work.\n */\nexport const normalizeSiteHost = linkClassificationHost\n\n/**\n * Resolve canonical site URL for link classification.\n * Pass `explicit` from props when env vars are not set (e.g. non-Vercel hosts).\n */\nexport function resolvePublicationSiteUrl(explicit?: string): string {\n const fromProp = explicit?.trim()\n if (fromProp) return fromProp\n const next = process.env.NEXT_PUBLIC_SITE_URL?.trim()\n if (next) return next\n const site = process.env.SITE_URL?.trim()\n if (site) return site\n const vercel = process.env.VERCEL_URL?.trim()\n if (vercel) return vercel.startsWith('http') ? vercel : `https://${vercel}`\n return ''\n}\n\n/**\n * Add `target=\"_blank\"` and `rel=\"noopener noreferrer\"` to external http(s) links.\n * Same registrable host (with or without `www`) is treated as internal.\n * Skips anchors that already set `target`.\n */\nexport function addExternalLinkTargets(html: string, siteUrl: string): string {\n if (!html || !siteUrl) return html\n const siteHost = linkClassificationHost(siteUrl)\n if (!siteHost) return html\n\n return html.replace(/<a\\b([^>]*)>/gi, (_full, attrs: string) => {\n const hrefMatch = attrs.match(/\\bhref\\s*=\\s*([\"'])([^\"']*)\\1/i)\n if (!hrefMatch) return `<a${attrs}>`\n const href = hrefMatch[2].trim()\n if (!/^https?:\\/\\//i.test(href)) return `<a${attrs}>`\n\n try {\n const url = new URL(href)\n const linkHost = url.hostname.replace(/^www\\./i, '').toLowerCase()\n if (linkHost === siteHost) return `<a${attrs}>`\n if (/\\btarget\\s*=/i.test(attrs)) return `<a${attrs}>`\n const trimmed = attrs.trim()\n return `<a ${trimmed} target=\"_blank\" rel=\"noopener noreferrer\">`\n } catch {\n return `<a${attrs}>`\n }\n })\n}\n"]}
@@ -1,68 +0,0 @@
1
- 'use client';
2
- import { trackConversion } from './chunk-SHLWA6JY.mjs';
3
- import { useCallback, useEffect } from 'react';
4
-
5
- function useContactTracking(options = {}) {
6
- const { autoTrack = true, debug = false } = options;
7
- const trackPhoneClick = useCallback((phoneNumber, metadata) => {
8
- if (debug) console.log("[Analytics] Phone click:", phoneNumber);
9
- trackConversion({
10
- type: "phone_call",
11
- metadata: {
12
- phoneNumber: phoneNumber.replace(/\D/g, ""),
13
- // Normalize to digits
14
- rawNumber: phoneNumber,
15
- ...metadata
16
- }
17
- });
18
- }, [debug]);
19
- const trackEmailClick = useCallback((email, metadata) => {
20
- if (debug) console.log("[Analytics] Email click:", email);
21
- trackConversion({
22
- type: "email_click",
23
- metadata: {
24
- email,
25
- ...metadata
26
- }
27
- });
28
- }, [debug]);
29
- useEffect(() => {
30
- if (!autoTrack || typeof document === "undefined") return;
31
- const handleClick = (e) => {
32
- const target = e.target;
33
- const anchor = target.closest("a");
34
- if (!anchor) return;
35
- const href = anchor.getAttribute("href");
36
- if (!href) return;
37
- if (href.startsWith("tel:")) {
38
- const phone = href.replace("tel:", "").trim();
39
- trackPhoneClick(phone, {
40
- linkText: anchor.textContent?.trim(),
41
- source: "auto"
42
- });
43
- } else if (href.startsWith("mailto:")) {
44
- const email = href.replace("mailto:", "").split("?")[0].trim();
45
- trackEmailClick(email, {
46
- linkText: anchor.textContent?.trim(),
47
- source: "auto"
48
- });
49
- }
50
- };
51
- document.addEventListener("click", handleClick, { capture: true });
52
- return () => {
53
- document.removeEventListener("click", handleClick, { capture: true });
54
- };
55
- }, [autoTrack, trackPhoneClick, trackEmailClick]);
56
- return {
57
- trackPhoneClick,
58
- trackEmailClick
59
- };
60
- }
61
- function ContactTracking({ debug = false }) {
62
- useContactTracking({ autoTrack: true, debug });
63
- return null;
64
- }
65
-
66
- export { ContactTracking, useContactTracking };
67
- //# sourceMappingURL=chunk-64BOVMXG.mjs.map
68
- //# sourceMappingURL=chunk-64BOVMXG.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/analytics/useContactTracking.ts"],"names":[],"mappings":"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","file":"chunk-64BOVMXG.mjs","sourcesContent":["/**\n * @sonordev/site-kit/analytics - Contact Tracking Hook\n * \n * Tracks phone calls and email clicks as conversions.\n * Use this hook to automatically track tel: and mailto: links,\n * or manually track contact interactions.\n */\n\n'use client'\n\nimport { useCallback, useEffect } from 'react'\n// Deliberately the standalone dispatch bridge, NOT useAnalytics().\n//\n// SiteKitLayout mounts AnalyticsProvider as a childless deferred SIBLING of\n// the page tree (wrapping children in a dynamic ssr:false provider de-opts the\n// whole route to client rendering - see SiteKitClientProviders). That means no\n// component a site can actually place is ever inside the provider, so the hook\n// form threw \"useAnalytics must be used within an AnalyticsProvider\" and this\n// component could not be used with the documented layout at all.\n//\n// dispatch queues until the deferred provider registers itself, so calls made\n// before analytics is ready still land.\nimport { trackConversion } from './dispatch'\n\nexport interface UseContactTrackingOptions {\n /** Automatically track all tel: and mailto: links (default: true) */\n autoTrack?: boolean\n /** Debug mode - logs events to console */\n debug?: boolean\n}\n\nexport interface ContactTrackingReturn {\n /** Manually track a phone call click */\n trackPhoneClick: (phoneNumber: string, metadata?: Record<string, unknown>) => void\n /** Manually track an email click */\n trackEmailClick: (email: string, metadata?: Record<string, unknown>) => void\n}\n\n/**\n * Hook for tracking phone and email contact interactions as conversions.\n * \n * @example\n * ```tsx\n * // Auto-track all tel: and mailto: links\n * useContactTracking()\n * \n * // Manual tracking\n * const { trackPhoneClick, trackEmailClick } = useContactTracking()\n * trackPhoneClick('513-555-1234')\n * trackEmailClick('hello@example.com')\n * ```\n */\nexport function useContactTracking(options: UseContactTrackingOptions = {}): ContactTrackingReturn {\n const { autoTrack = true, debug = false } = options\n\n const trackPhoneClick = useCallback((phoneNumber: string, metadata?: Record<string, unknown>) => {\n if (debug) console.log('[Analytics] Phone click:', phoneNumber)\n \n trackConversion({\n type: 'phone_call',\n metadata: {\n phoneNumber: phoneNumber.replace(/\\D/g, ''), // Normalize to digits\n rawNumber: phoneNumber,\n ...metadata,\n },\n })\n }, [debug])\n \n const trackEmailClick = useCallback((email: string, metadata?: Record<string, unknown>) => {\n if (debug) console.log('[Analytics] Email click:', email)\n \n trackConversion({\n type: 'email_click',\n metadata: {\n email,\n ...metadata,\n },\n })\n }, [debug])\n \n // Auto-track tel: and mailto: links\n useEffect(() => {\n if (!autoTrack || typeof document === 'undefined') return\n \n const handleClick = (e: MouseEvent) => {\n const target = e.target as HTMLElement\n const anchor = target.closest('a')\n if (!anchor) return\n \n const href = anchor.getAttribute('href')\n if (!href) return\n \n if (href.startsWith('tel:')) {\n const phone = href.replace('tel:', '').trim()\n trackPhoneClick(phone, {\n linkText: anchor.textContent?.trim(),\n source: 'auto',\n })\n } else if (href.startsWith('mailto:')) {\n const email = href.replace('mailto:', '').split('?')[0].trim()\n trackEmailClick(email, {\n linkText: anchor.textContent?.trim(),\n source: 'auto',\n })\n }\n }\n \n document.addEventListener('click', handleClick, { capture: true })\n \n return () => {\n document.removeEventListener('click', handleClick, { capture: true })\n }\n }, [autoTrack, trackPhoneClick, trackEmailClick])\n \n return {\n trackPhoneClick,\n trackEmailClick,\n }\n}\n\n/**\n * Component wrapper for contact tracking\n * Simply include this component to auto-track all tel: and mailto: links\n * \n * @example\n * ```tsx\n * <ContactTracking />\n * ```\n */\nexport function ContactTracking({ debug = false }: { debug?: boolean }) {\n useContactTracking({ autoTrack: true, debug })\n return null\n}\n"]}
@@ -1,10 +0,0 @@
1
- // src/seo/safeJsonLd.ts
2
- var LINE_SEPARATOR = String.fromCharCode(8232);
3
- var PARAGRAPH_SEPARATOR = String.fromCharCode(8233);
4
- function safeJsonLd(value) {
5
- return JSON.stringify(value).replace(/</g, "\\u003c").replace(/>/g, "\\u003e").replace(/&/g, "\\u0026").split(LINE_SEPARATOR).join("\\u2028").split(PARAGRAPH_SEPARATOR).join("\\u2029");
6
- }
7
-
8
- export { safeJsonLd };
9
- //# sourceMappingURL=chunk-662YHKWW.mjs.map
10
- //# sourceMappingURL=chunk-662YHKWW.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/seo/safeJsonLd.ts"],"names":[],"mappings":";AAaA,IAAM,cAAA,GAAiB,MAAA,CAAO,YAAA,CAAa,IAAM,CAAA;AACjD,IAAM,mBAAA,GAAsB,MAAA,CAAO,YAAA,CAAa,IAAM,CAAA;AAE/C,SAAS,WAAW,KAAA,EAAwB;AACjD,EAAA,OAAO,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA,CACxB,OAAA,CAAQ,IAAA,EAAM,SAAS,CAAA,CACvB,OAAA,CAAQ,IAAA,EAAM,SAAS,CAAA,CACvB,OAAA,CAAQ,MAAM,SAAS,CAAA,CACvB,KAAA,CAAM,cAAc,CAAA,CAAE,IAAA,CAAK,SAAS,CAAA,CACpC,KAAA,CAAM,mBAAmB,CAAA,CAAE,IAAA,CAAK,SAAS,CAAA;AAC9C","file":"chunk-662YHKWW.mjs","sourcesContent":["/**\n * safeJsonLd — single source of truth for serializing JSON-LD into\n * `<script type=\"application/ld+json\">` tags.\n *\n * JSON.stringify does NOT escape `<`, `>`, or `&`, so any managed string\n * containing `</script>` would break out of the script tag and inject markup\n * into the page (stored XSS via dashboard/AI-authored content). Escaping to\n * unicode sequences keeps the JSON valid for parsers while making tag breakout\n * impossible. U+2028/U+2029 are escaped for inline-script safety as well.\n *\n * Every JSON-LD injection site in site-kit must use this — do not call\n * JSON.stringify directly for script-tag content.\n */\nconst LINE_SEPARATOR = String.fromCharCode(0x2028)\nconst PARAGRAPH_SEPARATOR = String.fromCharCode(0x2029)\n\nexport function safeJsonLd(value: unknown): string {\n return JSON.stringify(value)\n .replace(/</g, '\\\\u003c')\n .replace(/>/g, '\\\\u003e')\n .replace(/&/g, '\\\\u0026')\n .split(LINE_SEPARATOR).join('\\\\u2028')\n .split(PARAGRAPH_SEPARATOR).join('\\\\u2029')\n}\n"]}
@@ -1,55 +0,0 @@
1
- // src/articles/routes.ts
2
- var DEFAULT_PUBLICATION_PATH = "/articles";
3
- function articleCategorySlug(category) {
4
- const value = typeof category === "string" ? category : category?.slug || category?.name || "";
5
- return value.trim().toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
6
- }
7
- function localPath(path) {
8
- const value = path.trim();
9
- if (!value || /^[a-z][a-z\d+.-]*:/i.test(value) || value.startsWith("//") || value.includes("\\")) {
10
- throw new Error("Publication routes must be local paths, such as /theforge/guides/story.");
11
- }
12
- return value.startsWith("/") ? value : `/${value}`;
13
- }
14
- function createPublicationRoutes(options = {}) {
15
- const raw = (options.basePath ?? DEFAULT_PUBLICATION_PATH).trim() || DEFAULT_PUBLICATION_PATH;
16
- const index = localPath(raw).replace(/\/+$/, "") || "/";
17
- const prefix = index === "/" ? "" : index;
18
- return {
19
- index,
20
- post(post) {
21
- if (options.postPath) return localPath(options.postPath(post));
22
- const category = articleCategorySlug(post.category || options.category);
23
- return `${prefix}${options.includeCategoryInPath && category ? `/${encodeURIComponent(category)}` : ""}/${encodeURIComponent(post.slug)}`;
24
- },
25
- category(slug) {
26
- const normalized = articleCategorySlug(slug);
27
- return options.categoryPath ? localPath(options.categoryPath(normalized)) : `${prefix}/category/${encodeURIComponent(normalized)}`;
28
- },
29
- cluster: (slug) => `${prefix}/cluster/${encodeURIComponent(slug)}`,
30
- author: (slug) => typeof options.authorPages === "function" ? localPath(options.authorPages(slug)) : `${prefix}/author/${encodeURIComponent(slug)}`,
31
- rss: `${prefix}/rss.xml`,
32
- atom: `${prefix}/feed.xml`
33
- };
34
- }
35
- function resolvePublicationUrl(path, siteUrl = "") {
36
- return `${siteUrl.replace(/\/+$/, "")}${localPath(path)}`;
37
- }
38
- function resolveArticleUrl(post, options = {}) {
39
- const canonical = post.canonical_url?.trim();
40
- if (canonical) {
41
- if (/^https?:\/\//i.test(canonical)) {
42
- try {
43
- return new URL(canonical).toString();
44
- } catch {
45
- }
46
- } else if (canonical.startsWith("/") && !canonical.startsWith("//") && !canonical.includes("\\")) {
47
- return resolvePublicationUrl(canonical, options.siteUrl);
48
- }
49
- }
50
- return resolvePublicationUrl(createPublicationRoutes(options).post(post), options.siteUrl);
51
- }
52
-
53
- export { articleCategorySlug, createPublicationRoutes, resolveArticleUrl, resolvePublicationUrl };
54
- //# sourceMappingURL=chunk-6C47333H.mjs.map
55
- //# sourceMappingURL=chunk-6C47333H.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/articles/routes.ts"],"names":[],"mappings":";AAYO,IAAM,wBAAA,GAA2B,WAAA;AAwBjC,SAAS,oBAAoB,QAAA,EAAgD;AAClF,EAAA,MAAM,KAAA,GAAQ,OAAO,QAAA,KAAa,QAAA,GAAW,WAAW,QAAA,EAAU,IAAA,IAAQ,UAAU,IAAA,IAAQ,EAAA;AAC5F,EAAA,OAAO,KAAA,CAAM,IAAA,EAAK,CAAE,WAAA,EAAY,CAAE,OAAA,CAAQ,aAAA,EAAe,GAAG,CAAA,CAAE,OAAA,CAAQ,UAAA,EAAY,EAAE,CAAA;AACtF;AAEA,SAAS,UAAU,IAAA,EAAsB;AACvC,EAAA,MAAM,KAAA,GAAQ,KAAK,IAAA,EAAK;AACxB,EAAA,IAAI,CAAC,KAAA,IAAS,qBAAA,CAAsB,IAAA,CAAK,KAAK,CAAA,IAAK,KAAA,CAAM,UAAA,CAAW,IAAI,CAAA,IAAK,KAAA,CAAM,QAAA,CAAS,IAAI,CAAA,EAAG;AACjG,IAAA,MAAM,IAAI,MAAM,yEAAyE,CAAA;AAAA,EAC3F;AACA,EAAA,OAAO,MAAM,UAAA,CAAW,GAAG,CAAA,GAAI,KAAA,GAAQ,IAAI,KAAK,CAAA,CAAA;AAClD;AAGO,SAAS,uBAAA,CAAwB,OAAA,GAAqC,EAAC,EAAG;AAC/E,EAAA,MAAM,GAAA,GAAA,CAAO,OAAA,CAAQ,QAAA,IAAY,wBAAA,EAA0B,MAAK,IAAK,wBAAA;AACrE,EAAA,MAAM,QAAQ,SAAA,CAAU,GAAG,EAAE,OAAA,CAAQ,MAAA,EAAQ,EAAE,CAAA,IAAK,GAAA;AACpD,EAAA,MAAM,MAAA,GAAS,KAAA,KAAU,GAAA,GAAM,EAAA,GAAK,KAAA;AACpC,EAAA,OAAO;AAAA,IACL,KAAA;AAAA,IACA,KAAK,IAAA,EAAgC;AACnC,MAAA,IAAI,QAAQ,QAAA,EAAU,OAAO,UAAU,OAAA,CAAQ,QAAA,CAAS,IAAI,CAAC,CAAA;AAC7D,MAAA,MAAM,QAAA,GAAW,mBAAA,CAAoB,IAAA,CAAK,QAAA,IAAY,QAAQ,QAAQ,CAAA;AACtE,MAAA,OAAO,GAAG,MAAM,CAAA,EAAG,OAAA,CAAQ,qBAAA,IAAyB,WAAW,CAAA,CAAA,EAAI,kBAAA,CAAmB,QAAQ,CAAC,KAAK,EAAE,CAAA,CAAA,EAAI,kBAAA,CAAmB,IAAA,CAAK,IAAI,CAAC,CAAA,CAAA;AAAA,IACzI,CAAA;AAAA,IACA,SAAS,IAAA,EAAsB;AAC7B,MAAA,MAAM,UAAA,GAAa,oBAAoB,IAAI,CAAA;AAC3C,MAAA,OAAO,OAAA,CAAQ,YAAA,GACX,SAAA,CAAU,OAAA,CAAQ,YAAA,CAAa,UAAU,CAAC,CAAA,GAC1C,CAAA,EAAG,MAAM,CAAA,UAAA,EAAa,kBAAA,CAAmB,UAAU,CAAC,CAAA,CAAA;AAAA,IAC1D,CAAA;AAAA,IACA,OAAA,EAAS,CAAC,IAAA,KAAiB,CAAA,EAAG,MAAM,CAAA,SAAA,EAAY,kBAAA,CAAmB,IAAI,CAAC,CAAA,CAAA;AAAA,IACxE,QAAQ,CAAC,IAAA,KACP,OAAO,OAAA,CAAQ,WAAA,KAAgB,aAC3B,SAAA,CAAU,OAAA,CAAQ,WAAA,CAAY,IAAI,CAAC,CAAA,GACnC,CAAA,EAAG,MAAM,CAAA,QAAA,EAAW,kBAAA,CAAmB,IAAI,CAAC,CAAA,CAAA;AAAA,IAClD,GAAA,EAAK,GAAG,MAAM,CAAA,QAAA,CAAA;AAAA,IACd,IAAA,EAAM,GAAG,MAAM,CAAA,SAAA;AAAA,GACjB;AACF;AAEO,SAAS,qBAAA,CAAsB,IAAA,EAAc,OAAA,GAAU,EAAA,EAAY;AACxE,EAAA,OAAO,CAAA,EAAG,QAAQ,OAAA,CAAQ,MAAA,EAAQ,EAAE,CAAC,CAAA,EAAG,SAAA,CAAU,IAAI,CAAC,CAAA,CAAA;AACzD;AAGO,SAAS,iBAAA,CAAkB,IAAA,EAAwB,OAAA,GAA4D,EAAC,EAAW;AAChI,EAAA,MAAM,SAAA,GAAY,IAAA,CAAK,aAAA,EAAe,IAAA,EAAK;AAC3C,EAAA,IAAI,SAAA,EAAW;AACb,IAAA,IAAI,eAAA,CAAgB,IAAA,CAAK,SAAS,CAAA,EAAG;AACnC,MAAA,IAAI;AAAE,QAAA,OAAO,IAAI,GAAA,CAAI,SAAS,CAAA,CAAE,QAAA,EAAS;AAAA,MAAE,CAAA,CAAA,MAAQ;AAAA,MAA4B;AAAA,IACjF,CAAA,MAAA,IAAW,SAAA,CAAU,UAAA,CAAW,GAAG,KAAK,CAAC,SAAA,CAAU,UAAA,CAAW,IAAI,CAAA,IAAK,CAAC,SAAA,CAAU,QAAA,CAAS,IAAI,CAAA,EAAG;AAChG,MAAA,OAAO,qBAAA,CAAsB,SAAA,EAAW,OAAA,CAAQ,OAAO,CAAA;AAAA,IACzD;AAAA,EACF;AACA,EAAA,OAAO,qBAAA,CAAsB,wBAAwB,OAAO,CAAA,CAAE,KAAK,IAAI,CAAA,EAAG,QAAQ,OAAO,CAAA;AAC3F","file":"chunk-6C47333H.mjs","sourcesContent":["/** Shared, environment-free publication routes for server helpers and article UI. */\nexport interface ArticleRoutePost {\n slug: string\n category?: string | { slug?: string; name?: string } | null\n canonical_url?: string | null\n}\n\n/**\n * Where a publication lives when a site doesn't say. A site whose articles\n * already live at another path (/article, /insights, /theforge) passes basePath;\n * changing a live URL is an SEO decision, never a default's.\n */\nexport const DEFAULT_PUBLICATION_PATH = '/articles'\n\nexport interface PublicationRoutingOptions {\n /** Publication root, e.g. /theforge or /news. Defaults to DEFAULT_PUBLICATION_PATH (/articles). */\n basePath?: string\n /** Use /publication/category/post instead of /publication/post. */\n includeCategoryInPath?: boolean\n /** Fallback category for partial cluster records. */\n category?: string\n /** A custom local article path. Receives the post's slug and category. */\n postPath?: (post: ArticleRoutePost) => string\n /** A custom category destination, for example /theforge?category=guides. */\n categoryPath?: (slug: string) => string\n /**\n * Whether this site serves author pages. `true` means they live at the\n * default `<publication>/author/<slug>`; a function gives a custom path, for\n * example ``(slug) => `/author/${slug}` `` when author pages sit at the site\n * root. Article JSON-LD links bylines to author pages ONLY when this is set\n * (or the author row has `author_page_url`), because most sites have none\n * and a byline URL that 404s is worse than no URL.\n */\n authorPages?: boolean | ((slug: string) => string)\n}\n\nexport function articleCategorySlug(category: ArticleRoutePost['category']): string {\n const value = typeof category === 'string' ? category : category?.slug || category?.name || ''\n return value.trim().toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-+|-+$/g, '')\n}\n\nfunction localPath(path: string): string {\n const value = path.trim()\n if (!value || /^[a-z][a-z\\d+.-]*:/i.test(value) || value.startsWith('//') || value.includes('\\\\')) {\n throw new Error('Publication routes must be local paths, such as /theforge/guides/story.')\n }\n return value.startsWith('/') ? value : `/${value}`\n}\n\n/** Single source of truth for publication paths. Custom routes never change OG artwork. */\nexport function createPublicationRoutes(options: PublicationRoutingOptions = {}) {\n const raw = (options.basePath ?? DEFAULT_PUBLICATION_PATH).trim() || DEFAULT_PUBLICATION_PATH\n const index = localPath(raw).replace(/\\/+$/, '') || '/'\n const prefix = index === '/' ? '' : index\n return {\n index,\n post(post: ArticleRoutePost): string {\n if (options.postPath) return localPath(options.postPath(post))\n const category = articleCategorySlug(post.category || options.category)\n return `${prefix}${options.includeCategoryInPath && category ? `/${encodeURIComponent(category)}` : ''}/${encodeURIComponent(post.slug)}`\n },\n category(slug: string): string {\n const normalized = articleCategorySlug(slug)\n return options.categoryPath\n ? localPath(options.categoryPath(normalized))\n : `${prefix}/category/${encodeURIComponent(normalized)}`\n },\n cluster: (slug: string) => `${prefix}/cluster/${encodeURIComponent(slug)}`,\n author: (slug: string) =>\n typeof options.authorPages === 'function'\n ? localPath(options.authorPages(slug))\n : `${prefix}/author/${encodeURIComponent(slug)}`,\n rss: `${prefix}/rss.xml`,\n atom: `${prefix}/feed.xml`,\n }\n}\n\nexport function resolvePublicationUrl(path: string, siteUrl = ''): string {\n return `${siteUrl.replace(/\\/+$/, '')}${localPath(path)}`\n}\n\n/** Metadata, feeds, sitemaps and generated schemas agree on a supplied canonical. */\nexport function resolveArticleUrl(post: ArticleRoutePost, options: PublicationRoutingOptions & { siteUrl?: string } = {}): string {\n const canonical = post.canonical_url?.trim()\n if (canonical) {\n if (/^https?:\\/\\//i.test(canonical)) {\n try { return new URL(canonical).toString() } catch { /* use the local route */ }\n } else if (canonical.startsWith('/') && !canonical.startsWith('//') && !canonical.includes('\\\\')) {\n return resolvePublicationUrl(canonical, options.siteUrl)\n }\n }\n return resolvePublicationUrl(createPublicationRoutes(options).post(post), options.siteUrl)\n}\n"]}
@@ -1,29 +0,0 @@
1
- // src/shared/uuid.ts
2
- var HEX = Array.from(
3
- { length: 256 },
4
- (_, i) => (i + 256).toString(16).slice(1)
5
- );
6
- function bytesToUuid(b) {
7
- return HEX[b[0]] + HEX[b[1]] + HEX[b[2]] + HEX[b[3]] + "-" + HEX[b[4]] + HEX[b[5]] + "-" + HEX[b[6]] + HEX[b[7]] + "-" + HEX[b[8]] + HEX[b[9]] + "-" + HEX[b[10]] + HEX[b[11]] + HEX[b[12]] + HEX[b[13]] + HEX[b[14]] + HEX[b[15]];
8
- }
9
- function uuid() {
10
- const c = typeof crypto !== "undefined" ? crypto : void 0;
11
- if (c && typeof c.randomUUID === "function") {
12
- return c.randomUUID();
13
- }
14
- if (c && typeof c.getRandomValues === "function") {
15
- const bytes2 = c.getRandomValues(new Uint8Array(16));
16
- bytes2[6] = bytes2[6] & 15 | 64;
17
- bytes2[8] = bytes2[8] & 63 | 128;
18
- return bytesToUuid(bytes2);
19
- }
20
- const bytes = new Array(16);
21
- for (let i = 0; i < 16; i++) bytes[i] = Math.random() * 256 & 255;
22
- bytes[6] = bytes[6] & 15 | 64;
23
- bytes[8] = bytes[8] & 63 | 128;
24
- return bytesToUuid(bytes);
25
- }
26
-
27
- export { uuid };
28
- //# sourceMappingURL=chunk-6EDVCUAG.mjs.map
29
- //# sourceMappingURL=chunk-6EDVCUAG.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/shared/uuid.ts"],"names":["bytes"],"mappings":";AA2BA,IAAM,MAAgB,KAAA,CAAM,IAAA;AAAA,EAAK,EAAE,QAAQ,GAAA,EAAI;AAAA,EAAG,CAAC,GAAG,CAAA,KAAA,CACnD,CAAA,GAAI,KAAO,QAAA,CAAS,EAAE,CAAA,CAAE,KAAA,CAAM,CAAC;AAClC,CAAA;AAGA,SAAS,YAAY,CAAA,EAA8B;AACjD,EAAA,OACE,IAAI,CAAA,CAAE,CAAC,CAAC,CAAA,GAAI,IAAI,CAAA,CAAE,CAAC,CAAC,CAAA,GAAI,IAAI,CAAA,CAAE,CAAC,CAAC,CAAA,GAAI,GAAA,CAAI,EAAE,CAAC,CAAC,CAAA,GAAI,GAAA,GAChD,IAAI,CAAA,CAAE,CAAC,CAAC,CAAA,GAAI,GAAA,CAAI,EAAE,CAAC,CAAC,CAAA,GAAI,GAAA,GACxB,IAAI,CAAA,CAAE,CAAC,CAAC,CAAA,GAAI,GAAA,CAAI,EAAE,CAAC,CAAC,CAAA,GAAI,GAAA,GACxB,IAAI,CAAA,CAAE,CAAC,CAAC,CAAA,GAAI,IAAI,CAAA,CAAE,CAAC,CAAC,CAAA,GAAI,MACxB,GAAA,CAAI,CAAA,CAAE,EAAE,CAAC,CAAA,GAAI,IAAI,CAAA,CAAE,EAAE,CAAC,CAAA,GAAI,IAAI,CAAA,CAAE,EAAE,CAAC,CAAA,GAAI,GAAA,CAAI,EAAE,EAAE,CAAC,CAAA,GAAI,GAAA,CAAI,EAAE,EAAE,CAAC,IAAI,GAAA,CAAI,CAAA,CAAE,EAAE,CAAC,CAAA;AAE9E;AAMO,SAAS,IAAA,GAAe;AAC7B,EAAA,MAAM,CAAA,GAAwB,OAAO,MAAA,KAAW,WAAA,GAAc,MAAA,GAAS,MAAA;AAGvE,EAAA,IAAI,CAAA,IAAK,OAAO,CAAA,CAAE,UAAA,KAAe,UAAA,EAAY;AAC3C,IAAA,OAAO,EAAE,UAAA,EAAW;AAAA,EACtB;AAIA,EAAA,IAAI,CAAA,IAAK,OAAO,CAAA,CAAE,eAAA,KAAoB,UAAA,EAAY;AAChD,IAAA,MAAMA,SAAQ,CAAA,CAAE,eAAA,CAAgB,IAAI,UAAA,CAAW,EAAE,CAAC,CAAA;AAClD,IAAAA,OAAM,CAAC,CAAA,GAAKA,MAAAA,CAAM,CAAC,IAAI,EAAA,GAAQ,EAAA;AAC/B,IAAAA,OAAM,CAAC,CAAA,GAAKA,MAAAA,CAAM,CAAC,IAAI,EAAA,GAAQ,GAAA;AAC/B,IAAA,OAAO,YAAYA,MAAK,CAAA;AAAA,EAC1B;AAGA,EAAA,MAAM,KAAA,GAAQ,IAAI,KAAA,CAAc,EAAE,CAAA;AAClC,EAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,EAAA,EAAI,CAAA,EAAA,EAAK,KAAA,CAAM,CAAC,CAAA,GAAK,IAAA,CAAK,MAAA,EAAO,GAAI,GAAA,GAAO,GAAA;AAChE,EAAA,KAAA,CAAM,CAAC,CAAA,GAAK,KAAA,CAAM,CAAC,IAAI,EAAA,GAAQ,EAAA;AAC/B,EAAA,KAAA,CAAM,CAAC,CAAA,GAAK,KAAA,CAAM,CAAC,IAAI,EAAA,GAAQ,GAAA;AAC/B,EAAA,OAAO,YAAY,KAAK,CAAA;AAC1B","file":"chunk-6EDVCUAG.mjs","sourcesContent":["/**\n * @sonordev/site-kit/shared — UUID generation\n *\n * Single source of truth for v4 UUIDs across every module: analytics/identity,\n * forms, signal, engage, and the edge middleware. Do NOT re-fork ID generation\n * into any module — import `uuid` from here.\n *\n * WHY THIS EXISTS: `crypto.randomUUID()` only exists in secure contexts\n * (HTTPS / localhost) and Safari ≥ 15.4. On plain HTTP — e.g. a freshly\n * deployed site viewed before its TLS cert provisions — or in older Safari,\n * `crypto.randomUUID` is `undefined`, so calling it unguarded throws\n * \"crypto.randomUUID is not a function\" DURING RENDER and crashes the whole\n * page. (Observed live on ramseydeal.com, 2026-07-21, while its cert was\n * pending.)\n *\n * `uuid()` degrades gracefully and NEVER throws:\n * 1. crypto.randomUUID() — fast path; modern secure contexts.\n * 2. crypto.getRandomValues() — Web Crypto RNG. Unlike randomUUID, this is\n * NOT secure-context-gated, so it works on plain\n * HTTP and older Safari, plus Node and the\n * Next.js edge runtime.\n * 3. Math.random() — last resort, only if `crypto` is entirely\n * absent. Not cryptographically strong, but\n * keeps the page rendering instead of throwing.\n */\n\n// Byte value (0–255) → zero-padded lowercase hex pair, precomputed once.\nconst HEX: string[] = Array.from({ length: 256 }, (_, i) =>\n (i + 0x100).toString(16).slice(1),\n)\n\n/** Format 16 bytes as a canonical 8-4-4-4-12 RFC 4122 UUID string. */\nfunction bytesToUuid(b: ArrayLike<number>): string {\n return (\n HEX[b[0]] + HEX[b[1]] + HEX[b[2]] + HEX[b[3]] + '-' +\n HEX[b[4]] + HEX[b[5]] + '-' +\n HEX[b[6]] + HEX[b[7]] + '-' +\n HEX[b[8]] + HEX[b[9]] + '-' +\n HEX[b[10]] + HEX[b[11]] + HEX[b[12]] + HEX[b[13]] + HEX[b[14]] + HEX[b[15]]\n )\n}\n\n/**\n * Generate an RFC 4122 v4 UUID. Safe to call during render in any environment\n * — see the file header for the fallback ladder. Never throws.\n */\nexport function uuid(): string {\n const c: Crypto | undefined = typeof crypto !== 'undefined' ? crypto : undefined\n\n // 1. Native — fastest; modern secure contexts (HTTPS/localhost, Safari ≥ 15.4).\n if (c && typeof c.randomUUID === 'function') {\n return c.randomUUID()\n }\n\n // 2. Web Crypto RNG — available on plain HTTP and older Safari, where\n // getRandomValues exists but randomUUID does not.\n if (c && typeof c.getRandomValues === 'function') {\n const bytes = c.getRandomValues(new Uint8Array(16))\n bytes[6] = (bytes[6] & 0x0f) | 0x40 // version 4\n bytes[8] = (bytes[8] & 0x3f) | 0x80 // variant 10xx\n return bytesToUuid(bytes)\n }\n\n // 3. No Web Crypto at all — keep rendering rather than throw.\n const bytes = new Array<number>(16)\n for (let i = 0; i < 16; i++) bytes[i] = (Math.random() * 256) & 0xff\n bytes[6] = (bytes[6] & 0x0f) | 0x40\n bytes[8] = (bytes[8] & 0x3f) | 0x80\n return bytesToUuid(bytes)\n}\n"]}