@frontmcp/ui 0.5.0 → 0.6.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 (1134) hide show
  1. package/adapters/index.d.ts +13 -0
  2. package/adapters/index.d.ts.map +1 -0
  3. package/adapters/index.js +462 -0
  4. package/adapters/platform-meta.d.ts +166 -0
  5. package/adapters/platform-meta.d.ts.map +1 -0
  6. package/adapters/response-builder.d.ts +108 -0
  7. package/adapters/response-builder.d.ts.map +1 -0
  8. package/adapters/serving-mode.d.ts +107 -0
  9. package/adapters/serving-mode.d.ts.map +1 -0
  10. package/base-template/bridge.d.ts +90 -0
  11. package/base-template/bridge.d.ts.map +1 -0
  12. package/base-template/default-base-template.d.ts +92 -0
  13. package/base-template/default-base-template.d.ts.map +1 -0
  14. package/base-template/index.d.ts +15 -0
  15. package/base-template/index.d.ts.map +1 -0
  16. package/base-template/index.js +1398 -0
  17. package/base-template/polyfills.d.ts +31 -0
  18. package/base-template/polyfills.d.ts.map +1 -0
  19. package/base-template/theme-styles.d.ts +74 -0
  20. package/base-template/theme-styles.d.ts.map +1 -0
  21. package/bridge/adapters/base-adapter.d.ts +104 -0
  22. package/bridge/adapters/base-adapter.d.ts.map +1 -0
  23. package/bridge/adapters/claude.adapter.d.ts +67 -0
  24. package/bridge/adapters/claude.adapter.d.ts.map +1 -0
  25. package/bridge/adapters/ext-apps.adapter.d.ts +143 -0
  26. package/bridge/adapters/ext-apps.adapter.d.ts.map +1 -0
  27. package/bridge/adapters/gemini.adapter.d.ts +64 -0
  28. package/bridge/adapters/gemini.adapter.d.ts.map +1 -0
  29. package/bridge/adapters/generic.adapter.d.ts +56 -0
  30. package/bridge/adapters/generic.adapter.d.ts.map +1 -0
  31. package/bridge/adapters/index.d.ts +26 -0
  32. package/bridge/adapters/index.d.ts.map +1 -0
  33. package/bridge/adapters/openai.adapter.d.ts +65 -0
  34. package/bridge/adapters/openai.adapter.d.ts.map +1 -0
  35. package/bridge/core/adapter-registry.d.ts +122 -0
  36. package/bridge/core/adapter-registry.d.ts.map +1 -0
  37. package/bridge/core/bridge-factory.d.ts +199 -0
  38. package/bridge/core/bridge-factory.d.ts.map +1 -0
  39. package/bridge/core/index.d.ts +10 -0
  40. package/bridge/core/index.d.ts.map +1 -0
  41. package/bridge/index.d.ts +62 -0
  42. package/bridge/index.d.ts.map +1 -0
  43. package/bridge/index.js +2540 -0
  44. package/bridge/runtime/iife-generator.d.ts +62 -0
  45. package/bridge/runtime/iife-generator.d.ts.map +1 -0
  46. package/bridge/runtime/index.d.ts +9 -0
  47. package/bridge/runtime/index.d.ts.map +1 -0
  48. package/bridge/types.d.ts +386 -0
  49. package/bridge/types.d.ts.map +1 -0
  50. package/build/cdn-resources.d.ts +243 -0
  51. package/build/cdn-resources.d.ts.map +1 -0
  52. package/build/index.d.ts +295 -0
  53. package/build/index.d.ts.map +1 -0
  54. package/build/index.js +7096 -0
  55. package/build/widget-manifest.d.ts +362 -0
  56. package/build/widget-manifest.d.ts.map +1 -0
  57. package/bundler/bundler.d.ts +208 -0
  58. package/bundler/bundler.d.ts.map +1 -0
  59. package/bundler/cache.d.ts +173 -0
  60. package/bundler/cache.d.ts.map +1 -0
  61. package/bundler/file-cache/component-builder.d.ts +167 -0
  62. package/bundler/file-cache/component-builder.d.ts.map +1 -0
  63. package/bundler/file-cache/hash-calculator.d.ts +155 -0
  64. package/bundler/file-cache/hash-calculator.d.ts.map +1 -0
  65. package/bundler/file-cache/index.d.ts +12 -0
  66. package/bundler/file-cache/index.d.ts.map +1 -0
  67. package/bundler/file-cache/storage/filesystem.d.ts +149 -0
  68. package/bundler/file-cache/storage/filesystem.d.ts.map +1 -0
  69. package/bundler/file-cache/storage/index.d.ts +11 -0
  70. package/bundler/file-cache/storage/index.d.ts.map +1 -0
  71. package/bundler/file-cache/storage/interface.d.ts +152 -0
  72. package/bundler/file-cache/storage/interface.d.ts.map +1 -0
  73. package/bundler/file-cache/storage/redis.d.ts +139 -0
  74. package/bundler/file-cache/storage/redis.d.ts.map +1 -0
  75. package/bundler/index.d.ts +43 -0
  76. package/bundler/index.d.ts.map +1 -0
  77. package/bundler/index.js +4754 -0
  78. package/bundler/sandbox/enclave-adapter.d.ts +121 -0
  79. package/bundler/sandbox/enclave-adapter.d.ts.map +1 -0
  80. package/bundler/sandbox/executor.d.ts +14 -0
  81. package/bundler/sandbox/executor.d.ts.map +1 -0
  82. package/bundler/sandbox/policy.d.ts +62 -0
  83. package/bundler/sandbox/policy.d.ts.map +1 -0
  84. package/bundler/types.d.ts +702 -0
  85. package/bundler/types.d.ts.map +1 -0
  86. package/components/alert.d.ts +66 -0
  87. package/components/alert.d.ts.map +1 -0
  88. package/components/alert.schema.d.ts +98 -0
  89. package/components/alert.schema.d.ts.map +1 -0
  90. package/components/avatar.d.ts +77 -0
  91. package/components/avatar.d.ts.map +1 -0
  92. package/components/avatar.schema.d.ts +170 -0
  93. package/components/avatar.schema.d.ts.map +1 -0
  94. package/components/badge.d.ts +64 -0
  95. package/components/badge.d.ts.map +1 -0
  96. package/components/badge.schema.d.ts +91 -0
  97. package/components/badge.schema.d.ts.map +1 -0
  98. package/components/button.d.ts +100 -0
  99. package/components/button.d.ts.map +1 -0
  100. package/components/button.schema.d.ts +120 -0
  101. package/components/button.schema.d.ts.map +1 -0
  102. package/components/card.d.ts +53 -0
  103. package/components/card.d.ts.map +1 -0
  104. package/components/card.schema.d.ts +93 -0
  105. package/components/card.schema.d.ts.map +1 -0
  106. package/components/form.d.ts +212 -0
  107. package/components/form.d.ts.map +1 -0
  108. package/components/form.schema.d.ts +365 -0
  109. package/components/form.schema.d.ts.map +1 -0
  110. package/components/index.d.ts +29 -0
  111. package/components/index.d.ts.map +1 -0
  112. package/components/index.js +2595 -0
  113. package/components/list.d.ts +121 -0
  114. package/components/list.d.ts.map +1 -0
  115. package/components/list.schema.d.ts +129 -0
  116. package/components/list.schema.d.ts.map +1 -0
  117. package/components/modal.d.ts +100 -0
  118. package/components/modal.d.ts.map +1 -0
  119. package/components/modal.schema.d.ts +151 -0
  120. package/components/modal.schema.d.ts.map +1 -0
  121. package/components/table.d.ts +91 -0
  122. package/components/table.d.ts.map +1 -0
  123. package/components/table.schema.d.ts +123 -0
  124. package/components/table.schema.d.ts.map +1 -0
  125. package/dependency/cdn-registry.d.ts +98 -0
  126. package/dependency/cdn-registry.d.ts.map +1 -0
  127. package/dependency/import-map.d.ts +186 -0
  128. package/dependency/import-map.d.ts.map +1 -0
  129. package/dependency/import-parser.d.ts +82 -0
  130. package/dependency/import-parser.d.ts.map +1 -0
  131. package/dependency/index.d.ts +17 -0
  132. package/dependency/index.d.ts.map +1 -0
  133. package/dependency/resolver.d.ts +164 -0
  134. package/dependency/resolver.d.ts.map +1 -0
  135. package/dependency/schemas.d.ts +486 -0
  136. package/dependency/schemas.d.ts.map +1 -0
  137. package/dependency/template-loader.d.ts +204 -0
  138. package/dependency/template-loader.d.ts.map +1 -0
  139. package/dependency/template-processor.d.ts +118 -0
  140. package/dependency/template-processor.d.ts.map +1 -0
  141. package/dependency/types.d.ts +739 -0
  142. package/dependency/types.d.ts.map +1 -0
  143. package/esm/adapters/index.d.ts +13 -0
  144. package/esm/adapters/index.d.ts.map +1 -0
  145. package/esm/adapters/index.js +427 -0
  146. package/esm/adapters/platform-meta.d.ts +166 -0
  147. package/esm/adapters/platform-meta.d.ts.map +1 -0
  148. package/esm/adapters/response-builder.d.ts +108 -0
  149. package/esm/adapters/response-builder.d.ts.map +1 -0
  150. package/esm/adapters/serving-mode.d.ts +107 -0
  151. package/esm/adapters/serving-mode.d.ts.map +1 -0
  152. package/esm/base-template/bridge.d.ts +90 -0
  153. package/esm/base-template/bridge.d.ts.map +1 -0
  154. package/esm/base-template/default-base-template.d.ts +92 -0
  155. package/esm/base-template/default-base-template.d.ts.map +1 -0
  156. package/esm/base-template/index.d.ts +15 -0
  157. package/esm/base-template/index.d.ts.map +1 -0
  158. package/esm/base-template/index.js +1364 -0
  159. package/esm/base-template/polyfills.d.ts +31 -0
  160. package/esm/base-template/polyfills.d.ts.map +1 -0
  161. package/esm/base-template/theme-styles.d.ts +74 -0
  162. package/esm/base-template/theme-styles.d.ts.map +1 -0
  163. package/esm/bridge/adapters/base-adapter.d.ts +104 -0
  164. package/esm/bridge/adapters/base-adapter.d.ts.map +1 -0
  165. package/esm/bridge/adapters/claude.adapter.d.ts +67 -0
  166. package/esm/bridge/adapters/claude.adapter.d.ts.map +1 -0
  167. package/esm/bridge/adapters/ext-apps.adapter.d.ts +143 -0
  168. package/esm/bridge/adapters/ext-apps.adapter.d.ts.map +1 -0
  169. package/esm/bridge/adapters/gemini.adapter.d.ts +64 -0
  170. package/esm/bridge/adapters/gemini.adapter.d.ts.map +1 -0
  171. package/esm/bridge/adapters/generic.adapter.d.ts +56 -0
  172. package/esm/bridge/adapters/generic.adapter.d.ts.map +1 -0
  173. package/esm/bridge/adapters/index.d.ts +26 -0
  174. package/esm/bridge/adapters/index.d.ts.map +1 -0
  175. package/esm/bridge/adapters/openai.adapter.d.ts +65 -0
  176. package/esm/bridge/adapters/openai.adapter.d.ts.map +1 -0
  177. package/esm/bridge/core/adapter-registry.d.ts +122 -0
  178. package/esm/bridge/core/adapter-registry.d.ts.map +1 -0
  179. package/esm/bridge/core/bridge-factory.d.ts +199 -0
  180. package/esm/bridge/core/bridge-factory.d.ts.map +1 -0
  181. package/esm/bridge/core/index.d.ts +10 -0
  182. package/esm/bridge/core/index.d.ts.map +1 -0
  183. package/esm/bridge/index.d.ts +62 -0
  184. package/esm/bridge/index.d.ts.map +1 -0
  185. package/esm/bridge/index.js +2487 -0
  186. package/esm/bridge/runtime/iife-generator.d.ts +62 -0
  187. package/esm/bridge/runtime/iife-generator.d.ts.map +1 -0
  188. package/esm/bridge/runtime/index.d.ts +9 -0
  189. package/esm/bridge/runtime/index.d.ts.map +1 -0
  190. package/esm/bridge/types.d.ts +386 -0
  191. package/esm/bridge/types.d.ts.map +1 -0
  192. package/esm/build/cdn-resources.d.ts +243 -0
  193. package/esm/build/cdn-resources.d.ts.map +1 -0
  194. package/esm/build/index.d.ts +295 -0
  195. package/esm/build/index.d.ts.map +1 -0
  196. package/esm/build/index.js +7021 -0
  197. package/esm/build/widget-manifest.d.ts +362 -0
  198. package/esm/build/widget-manifest.d.ts.map +1 -0
  199. package/esm/bundler/bundler.d.ts +208 -0
  200. package/esm/bundler/bundler.d.ts.map +1 -0
  201. package/esm/bundler/cache.d.ts +173 -0
  202. package/esm/bundler/cache.d.ts.map +1 -0
  203. package/esm/bundler/file-cache/component-builder.d.ts +167 -0
  204. package/esm/bundler/file-cache/component-builder.d.ts.map +1 -0
  205. package/esm/bundler/file-cache/hash-calculator.d.ts +155 -0
  206. package/esm/bundler/file-cache/hash-calculator.d.ts.map +1 -0
  207. package/esm/bundler/file-cache/index.d.ts +12 -0
  208. package/esm/bundler/file-cache/index.d.ts.map +1 -0
  209. package/esm/bundler/file-cache/storage/filesystem.d.ts +149 -0
  210. package/esm/bundler/file-cache/storage/filesystem.d.ts.map +1 -0
  211. package/esm/bundler/file-cache/storage/index.d.ts +11 -0
  212. package/esm/bundler/file-cache/storage/index.d.ts.map +1 -0
  213. package/esm/bundler/file-cache/storage/interface.d.ts +152 -0
  214. package/esm/bundler/file-cache/storage/interface.d.ts.map +1 -0
  215. package/esm/bundler/file-cache/storage/redis.d.ts +139 -0
  216. package/esm/bundler/file-cache/storage/redis.d.ts.map +1 -0
  217. package/esm/bundler/index.d.ts +43 -0
  218. package/esm/bundler/index.d.ts.map +1 -0
  219. package/esm/bundler/index.js +4687 -0
  220. package/esm/bundler/sandbox/enclave-adapter.d.ts +121 -0
  221. package/esm/bundler/sandbox/enclave-adapter.d.ts.map +1 -0
  222. package/esm/bundler/sandbox/executor.d.ts +14 -0
  223. package/esm/bundler/sandbox/executor.d.ts.map +1 -0
  224. package/esm/bundler/sandbox/policy.d.ts +62 -0
  225. package/esm/bundler/sandbox/policy.d.ts.map +1 -0
  226. package/esm/bundler/types.d.ts +702 -0
  227. package/esm/bundler/types.d.ts.map +1 -0
  228. package/esm/components/alert.d.ts +66 -0
  229. package/esm/components/alert.d.ts.map +1 -0
  230. package/esm/components/alert.schema.d.ts +98 -0
  231. package/esm/components/alert.schema.d.ts.map +1 -0
  232. package/esm/components/avatar.d.ts +77 -0
  233. package/esm/components/avatar.d.ts.map +1 -0
  234. package/esm/components/avatar.schema.d.ts +170 -0
  235. package/esm/components/avatar.schema.d.ts.map +1 -0
  236. package/esm/components/badge.d.ts +64 -0
  237. package/esm/components/badge.d.ts.map +1 -0
  238. package/esm/components/badge.schema.d.ts +91 -0
  239. package/esm/components/badge.schema.d.ts.map +1 -0
  240. package/esm/components/button.d.ts +100 -0
  241. package/esm/components/button.d.ts.map +1 -0
  242. package/esm/components/button.schema.d.ts +120 -0
  243. package/esm/components/button.schema.d.ts.map +1 -0
  244. package/esm/components/card.d.ts +53 -0
  245. package/esm/components/card.d.ts.map +1 -0
  246. package/esm/components/card.schema.d.ts +93 -0
  247. package/esm/components/card.schema.d.ts.map +1 -0
  248. package/esm/components/form.d.ts +212 -0
  249. package/esm/components/form.d.ts.map +1 -0
  250. package/esm/components/form.schema.d.ts +365 -0
  251. package/esm/components/form.schema.d.ts.map +1 -0
  252. package/esm/components/index.d.ts +29 -0
  253. package/esm/components/index.d.ts.map +1 -0
  254. package/esm/components/index.js +2456 -0
  255. package/esm/components/list.d.ts +121 -0
  256. package/esm/components/list.d.ts.map +1 -0
  257. package/esm/components/list.schema.d.ts +129 -0
  258. package/esm/components/list.schema.d.ts.map +1 -0
  259. package/esm/components/modal.d.ts +100 -0
  260. package/esm/components/modal.d.ts.map +1 -0
  261. package/esm/components/modal.schema.d.ts +151 -0
  262. package/esm/components/modal.schema.d.ts.map +1 -0
  263. package/esm/components/table.d.ts +91 -0
  264. package/esm/components/table.d.ts.map +1 -0
  265. package/esm/components/table.schema.d.ts +123 -0
  266. package/esm/components/table.schema.d.ts.map +1 -0
  267. package/esm/dependency/cdn-registry.d.ts +98 -0
  268. package/esm/dependency/cdn-registry.d.ts.map +1 -0
  269. package/esm/dependency/import-map.d.ts +186 -0
  270. package/esm/dependency/import-map.d.ts.map +1 -0
  271. package/esm/dependency/import-parser.d.ts +82 -0
  272. package/esm/dependency/import-parser.d.ts.map +1 -0
  273. package/esm/dependency/index.d.ts +17 -0
  274. package/esm/dependency/index.d.ts.map +1 -0
  275. package/esm/dependency/resolver.d.ts +164 -0
  276. package/esm/dependency/resolver.d.ts.map +1 -0
  277. package/esm/dependency/schemas.d.ts +486 -0
  278. package/esm/dependency/schemas.d.ts.map +1 -0
  279. package/esm/dependency/template-loader.d.ts +204 -0
  280. package/esm/dependency/template-loader.d.ts.map +1 -0
  281. package/esm/dependency/template-processor.d.ts +118 -0
  282. package/esm/dependency/template-processor.d.ts.map +1 -0
  283. package/esm/dependency/types.d.ts +739 -0
  284. package/esm/dependency/types.d.ts.map +1 -0
  285. package/esm/handlebars/expression-extractor.d.ts +147 -0
  286. package/esm/handlebars/expression-extractor.d.ts.map +1 -0
  287. package/esm/handlebars/helpers.d.ts +339 -0
  288. package/esm/handlebars/helpers.d.ts.map +1 -0
  289. package/esm/handlebars/index.d.ts +195 -0
  290. package/esm/handlebars/index.d.ts.map +1 -0
  291. package/esm/handlebars/index.js +587 -0
  292. package/esm/index.d.ts +56 -0
  293. package/esm/index.d.ts.map +1 -0
  294. package/esm/index.js +20511 -0
  295. package/esm/layouts/base.d.ts +86 -0
  296. package/esm/layouts/base.d.ts.map +1 -0
  297. package/esm/layouts/index.d.ts +8 -0
  298. package/esm/layouts/index.d.ts.map +1 -0
  299. package/esm/layouts/index.js +892 -0
  300. package/esm/layouts/presets.d.ts +134 -0
  301. package/esm/layouts/presets.d.ts.map +1 -0
  302. package/esm/package.json +90 -0
  303. package/esm/pages/consent.d.ts +117 -0
  304. package/esm/pages/consent.d.ts.map +1 -0
  305. package/esm/pages/error.d.ts +101 -0
  306. package/esm/pages/error.d.ts.map +1 -0
  307. package/esm/pages/index.d.ts +9 -0
  308. package/esm/pages/index.d.ts.map +1 -0
  309. package/esm/pages/index.js +1563 -0
  310. package/esm/react/Alert.d.ts +102 -0
  311. package/esm/react/Alert.d.ts.map +1 -0
  312. package/esm/react/Badge.d.ts +101 -0
  313. package/esm/react/Badge.d.ts.map +1 -0
  314. package/esm/react/Button.d.ts +109 -0
  315. package/esm/react/Button.d.ts.map +1 -0
  316. package/esm/react/Card.d.ts +104 -0
  317. package/esm/react/Card.d.ts.map +1 -0
  318. package/esm/react/hooks/context.d.ts +179 -0
  319. package/esm/react/hooks/context.d.ts.map +1 -0
  320. package/esm/react/hooks/index.d.ts +42 -0
  321. package/esm/react/hooks/index.d.ts.map +1 -0
  322. package/esm/react/hooks/tools.d.ts +284 -0
  323. package/esm/react/hooks/tools.d.ts.map +1 -0
  324. package/esm/react/index.d.ts +81 -0
  325. package/esm/react/index.d.ts.map +1 -0
  326. package/esm/react/index.js +1372 -0
  327. package/esm/react/types.d.ts +106 -0
  328. package/esm/react/types.d.ts.map +1 -0
  329. package/esm/react/utils.d.ts +43 -0
  330. package/esm/react/utils.d.ts.map +1 -0
  331. package/esm/registry/index.d.ts +46 -0
  332. package/esm/registry/index.d.ts.map +1 -0
  333. package/esm/registry/index.js +6422 -0
  334. package/esm/registry/render-template.d.ts +91 -0
  335. package/esm/registry/render-template.d.ts.map +1 -0
  336. package/esm/registry/tool-ui.registry.d.ts +294 -0
  337. package/esm/registry/tool-ui.registry.d.ts.map +1 -0
  338. package/esm/registry/uri-utils.d.ts +56 -0
  339. package/esm/registry/uri-utils.d.ts.map +1 -0
  340. package/esm/render/index.d.ts +8 -0
  341. package/esm/render/index.d.ts.map +1 -0
  342. package/esm/render/index.js +45 -0
  343. package/esm/render/prerender.d.ts +57 -0
  344. package/esm/render/prerender.d.ts.map +1 -0
  345. package/esm/renderers/cache.d.ts +145 -0
  346. package/esm/renderers/cache.d.ts.map +1 -0
  347. package/esm/renderers/html.renderer.d.ts +123 -0
  348. package/esm/renderers/html.renderer.d.ts.map +1 -0
  349. package/esm/renderers/index.d.ts +36 -0
  350. package/esm/renderers/index.d.ts.map +1 -0
  351. package/esm/renderers/index.js +1827 -0
  352. package/esm/renderers/mdx.renderer.d.ts +120 -0
  353. package/esm/renderers/mdx.renderer.d.ts.map +1 -0
  354. package/esm/renderers/react.renderer.d.ts +96 -0
  355. package/esm/renderers/react.renderer.d.ts.map +1 -0
  356. package/esm/renderers/registry.d.ts +134 -0
  357. package/esm/renderers/registry.d.ts.map +1 -0
  358. package/esm/renderers/types.d.ts +342 -0
  359. package/esm/renderers/types.d.ts.map +1 -0
  360. package/esm/renderers/utils/detect.d.ts +107 -0
  361. package/esm/renderers/utils/detect.d.ts.map +1 -0
  362. package/esm/renderers/utils/hash.d.ts +40 -0
  363. package/esm/renderers/utils/hash.d.ts.map +1 -0
  364. package/esm/renderers/utils/index.d.ts +9 -0
  365. package/esm/renderers/utils/index.d.ts.map +1 -0
  366. package/esm/renderers/utils/transpiler.d.ts +89 -0
  367. package/esm/renderers/utils/transpiler.d.ts.map +1 -0
  368. package/esm/runtime/adapters/html.adapter.d.ts +59 -0
  369. package/esm/runtime/adapters/html.adapter.d.ts.map +1 -0
  370. package/esm/runtime/adapters/index.d.ts +26 -0
  371. package/esm/runtime/adapters/index.d.ts.map +1 -0
  372. package/esm/runtime/adapters/mdx.adapter.d.ts +73 -0
  373. package/esm/runtime/adapters/mdx.adapter.d.ts.map +1 -0
  374. package/esm/runtime/adapters/react.adapter.d.ts +70 -0
  375. package/esm/runtime/adapters/react.adapter.d.ts.map +1 -0
  376. package/esm/runtime/adapters/types.d.ts +95 -0
  377. package/esm/runtime/adapters/types.d.ts.map +1 -0
  378. package/esm/runtime/csp.d.ts +48 -0
  379. package/esm/runtime/csp.d.ts.map +1 -0
  380. package/esm/runtime/index.d.ts +17 -0
  381. package/esm/runtime/index.d.ts.map +1 -0
  382. package/esm/runtime/index.js +5186 -0
  383. package/esm/runtime/mcp-bridge.d.ts +101 -0
  384. package/esm/runtime/mcp-bridge.d.ts.map +1 -0
  385. package/esm/runtime/renderer-runtime.d.ts +133 -0
  386. package/esm/runtime/renderer-runtime.d.ts.map +1 -0
  387. package/esm/runtime/sanitizer.d.ts +172 -0
  388. package/esm/runtime/sanitizer.d.ts.map +1 -0
  389. package/esm/runtime/types.d.ts +415 -0
  390. package/esm/runtime/types.d.ts.map +1 -0
  391. package/esm/runtime/wrapper.d.ts +421 -0
  392. package/esm/runtime/wrapper.d.ts.map +1 -0
  393. package/esm/styles/index.d.ts +8 -0
  394. package/esm/styles/index.d.ts.map +1 -0
  395. package/esm/styles/index.js +171 -0
  396. package/esm/styles/variants.d.ts +51 -0
  397. package/esm/styles/variants.d.ts.map +1 -0
  398. package/esm/theme/cdn.d.ts +195 -0
  399. package/esm/theme/cdn.d.ts.map +1 -0
  400. package/esm/theme/index.d.ts +18 -0
  401. package/esm/theme/index.d.ts.map +1 -0
  402. package/esm/theme/index.js +700 -0
  403. package/esm/theme/platforms.d.ts +107 -0
  404. package/esm/theme/platforms.d.ts.map +1 -0
  405. package/esm/theme/presets/github-openai.d.ts +50 -0
  406. package/esm/theme/presets/github-openai.d.ts.map +1 -0
  407. package/esm/theme/presets/index.d.ts +11 -0
  408. package/esm/theme/presets/index.d.ts.map +1 -0
  409. package/esm/theme/theme.d.ts +396 -0
  410. package/esm/theme/theme.d.ts.map +1 -0
  411. package/esm/tool-template/builder.d.ts +213 -0
  412. package/esm/tool-template/builder.d.ts.map +1 -0
  413. package/esm/tool-template/index.d.ts +16 -0
  414. package/esm/tool-template/index.d.ts.map +1 -0
  415. package/esm/tool-template/index.js +3515 -0
  416. package/esm/types/index.d.ts +14 -0
  417. package/esm/types/index.d.ts.map +1 -0
  418. package/esm/types/index.js +75 -0
  419. package/esm/types/ui-config.d.ts +639 -0
  420. package/esm/types/ui-config.d.ts.map +1 -0
  421. package/esm/types/ui-runtime.d.ts +1007 -0
  422. package/esm/types/ui-runtime.d.ts.map +1 -0
  423. package/esm/typings/cache/cache-adapter.d.ts +125 -0
  424. package/esm/typings/cache/cache-adapter.d.ts.map +1 -0
  425. package/esm/typings/cache/index.d.ts +10 -0
  426. package/esm/typings/cache/index.d.ts.map +1 -0
  427. package/esm/typings/cache/memory-cache.d.ts +92 -0
  428. package/esm/typings/cache/memory-cache.d.ts.map +1 -0
  429. package/esm/typings/dts-parser.d.ts +90 -0
  430. package/esm/typings/dts-parser.d.ts.map +1 -0
  431. package/esm/typings/index.d.ts +48 -0
  432. package/esm/typings/index.d.ts.map +1 -0
  433. package/esm/typings/schemas.d.ts +232 -0
  434. package/esm/typings/schemas.d.ts.map +1 -0
  435. package/esm/typings/type-fetcher.d.ts +89 -0
  436. package/esm/typings/type-fetcher.d.ts.map +1 -0
  437. package/esm/typings/types.d.ts +320 -0
  438. package/esm/typings/types.d.ts.map +1 -0
  439. package/esm/universal/UniversalApp.d.ts +108 -0
  440. package/esm/universal/UniversalApp.d.ts.map +1 -0
  441. package/esm/universal/cached-runtime.d.ts +115 -0
  442. package/esm/universal/cached-runtime.d.ts.map +1 -0
  443. package/esm/universal/context.d.ts +122 -0
  444. package/esm/universal/context.d.ts.map +1 -0
  445. package/esm/universal/index.d.ts +57 -0
  446. package/esm/universal/index.d.ts.map +1 -0
  447. package/esm/universal/renderers/html.renderer.d.ts +37 -0
  448. package/esm/universal/renderers/html.renderer.d.ts.map +1 -0
  449. package/esm/universal/renderers/index.d.ts +112 -0
  450. package/esm/universal/renderers/index.d.ts.map +1 -0
  451. package/esm/universal/renderers/markdown.renderer.d.ts +33 -0
  452. package/esm/universal/renderers/markdown.renderer.d.ts.map +1 -0
  453. package/esm/universal/renderers/mdx.renderer.d.ts +38 -0
  454. package/esm/universal/renderers/mdx.renderer.d.ts.map +1 -0
  455. package/esm/universal/renderers/react.renderer.d.ts +46 -0
  456. package/esm/universal/renderers/react.renderer.d.ts.map +1 -0
  457. package/esm/universal/runtime-builder.d.ts +33 -0
  458. package/esm/universal/runtime-builder.d.ts.map +1 -0
  459. package/esm/universal/store.d.ts +135 -0
  460. package/esm/universal/store.d.ts.map +1 -0
  461. package/esm/universal/types.d.ts +199 -0
  462. package/esm/universal/types.d.ts.map +1 -0
  463. package/esm/utils/escape-html.d.ts +58 -0
  464. package/esm/utils/escape-html.d.ts.map +1 -0
  465. package/esm/utils/index.d.ts +10 -0
  466. package/esm/utils/index.d.ts.map +1 -0
  467. package/esm/utils/index.js +40 -0
  468. package/esm/utils/safe-stringify.d.ts +30 -0
  469. package/esm/utils/safe-stringify.d.ts.map +1 -0
  470. package/esm/validation/error-box.d.ts +56 -0
  471. package/esm/validation/error-box.d.ts.map +1 -0
  472. package/esm/validation/index.d.ts +13 -0
  473. package/esm/validation/index.d.ts.map +1 -0
  474. package/esm/validation/index.js +562 -0
  475. package/esm/validation/schema-paths.d.ts +118 -0
  476. package/esm/validation/schema-paths.d.ts.map +1 -0
  477. package/esm/validation/template-validator.d.ts +143 -0
  478. package/esm/validation/template-validator.d.ts.map +1 -0
  479. package/esm/validation/wrapper.d.ts +97 -0
  480. package/esm/validation/wrapper.d.ts.map +1 -0
  481. package/esm/web-components/core/attribute-parser.d.ts +82 -0
  482. package/esm/web-components/core/attribute-parser.d.ts.map +1 -0
  483. package/esm/web-components/core/base-element.d.ts +197 -0
  484. package/esm/web-components/core/base-element.d.ts.map +1 -0
  485. package/esm/web-components/core/index.d.ts +9 -0
  486. package/esm/web-components/core/index.d.ts.map +1 -0
  487. package/esm/web-components/elements/fmcp-alert.d.ts +46 -0
  488. package/esm/web-components/elements/fmcp-alert.d.ts.map +1 -0
  489. package/esm/web-components/elements/fmcp-badge.d.ts +47 -0
  490. package/esm/web-components/elements/fmcp-badge.d.ts.map +1 -0
  491. package/esm/web-components/elements/fmcp-button.d.ts +117 -0
  492. package/esm/web-components/elements/fmcp-button.d.ts.map +1 -0
  493. package/esm/web-components/elements/fmcp-card.d.ts +53 -0
  494. package/esm/web-components/elements/fmcp-card.d.ts.map +1 -0
  495. package/esm/web-components/elements/fmcp-input.d.ts +96 -0
  496. package/esm/web-components/elements/fmcp-input.d.ts.map +1 -0
  497. package/esm/web-components/elements/fmcp-select.d.ts +100 -0
  498. package/esm/web-components/elements/fmcp-select.d.ts.map +1 -0
  499. package/esm/web-components/elements/index.d.ts +13 -0
  500. package/esm/web-components/elements/index.d.ts.map +1 -0
  501. package/esm/web-components/index.d.ts +50 -0
  502. package/esm/web-components/index.d.ts.map +1 -0
  503. package/esm/web-components/index.js +2048 -0
  504. package/esm/web-components/register.d.ts +57 -0
  505. package/esm/web-components/register.d.ts.map +1 -0
  506. package/esm/web-components/types.d.ts +122 -0
  507. package/esm/web-components/types.d.ts.map +1 -0
  508. package/esm/widgets/index.d.ts +8 -0
  509. package/esm/widgets/index.d.ts.map +1 -0
  510. package/esm/widgets/index.js +941 -0
  511. package/esm/widgets/progress.d.ts +133 -0
  512. package/esm/widgets/progress.d.ts.map +1 -0
  513. package/esm/widgets/resource.d.ts +163 -0
  514. package/esm/widgets/resource.d.ts.map +1 -0
  515. package/handlebars/expression-extractor.d.ts +147 -0
  516. package/handlebars/expression-extractor.d.ts.map +1 -0
  517. package/handlebars/helpers.d.ts +339 -0
  518. package/handlebars/helpers.d.ts.map +1 -0
  519. package/handlebars/index.d.ts +195 -0
  520. package/handlebars/index.d.ts.map +1 -0
  521. package/handlebars/index.js +666 -0
  522. package/index.d.ts +56 -0
  523. package/index.d.ts.map +1 -0
  524. package/index.js +20942 -0
  525. package/layouts/base.d.ts +86 -0
  526. package/layouts/base.d.ts.map +1 -0
  527. package/layouts/index.d.ts +8 -0
  528. package/layouts/index.d.ts.map +1 -0
  529. package/layouts/index.js +930 -0
  530. package/layouts/presets.d.ts +134 -0
  531. package/layouts/presets.d.ts.map +1 -0
  532. package/package.json +28 -87
  533. package/pages/consent.d.ts +117 -0
  534. package/pages/consent.d.ts.map +1 -0
  535. package/pages/error.d.ts +101 -0
  536. package/pages/error.d.ts.map +1 -0
  537. package/pages/index.d.ts +9 -0
  538. package/pages/index.d.ts.map +1 -0
  539. package/pages/index.js +1602 -0
  540. package/react/Alert.d.ts +102 -0
  541. package/react/Alert.d.ts.map +1 -0
  542. package/react/Badge.d.ts +101 -0
  543. package/react/Badge.d.ts.map +1 -0
  544. package/react/Button.d.ts +109 -0
  545. package/react/Button.d.ts.map +1 -0
  546. package/react/Card.d.ts +104 -0
  547. package/react/Card.d.ts.map +1 -0
  548. package/react/hooks/context.d.ts +179 -0
  549. package/react/hooks/context.d.ts.map +1 -0
  550. package/react/hooks/index.d.ts +42 -0
  551. package/react/hooks/index.d.ts.map +1 -0
  552. package/react/hooks/tools.d.ts +284 -0
  553. package/react/hooks/tools.d.ts.map +1 -0
  554. package/react/index.d.ts +81 -0
  555. package/react/index.d.ts.map +1 -0
  556. package/react/index.js +1430 -0
  557. package/react/types.d.ts +106 -0
  558. package/react/types.d.ts.map +1 -0
  559. package/react/utils.d.ts +43 -0
  560. package/react/utils.d.ts.map +1 -0
  561. package/registry/index.d.ts +46 -0
  562. package/registry/index.d.ts.map +1 -0
  563. package/registry/index.js +6465 -0
  564. package/registry/render-template.d.ts +91 -0
  565. package/registry/render-template.d.ts.map +1 -0
  566. package/registry/tool-ui.registry.d.ts +294 -0
  567. package/registry/tool-ui.registry.d.ts.map +1 -0
  568. package/registry/uri-utils.d.ts +56 -0
  569. package/registry/uri-utils.d.ts.map +1 -0
  570. package/render/index.d.ts +8 -0
  571. package/render/index.d.ts.map +1 -0
  572. package/render/index.js +77 -0
  573. package/render/prerender.d.ts +57 -0
  574. package/render/prerender.d.ts.map +1 -0
  575. package/renderers/cache.d.ts +145 -0
  576. package/renderers/cache.d.ts.map +1 -0
  577. package/renderers/html.renderer.d.ts +123 -0
  578. package/renderers/html.renderer.d.ts.map +1 -0
  579. package/renderers/index.d.ts +36 -0
  580. package/renderers/index.d.ts.map +1 -0
  581. package/renderers/index.js +1882 -0
  582. package/renderers/mdx.renderer.d.ts +120 -0
  583. package/renderers/mdx.renderer.d.ts.map +1 -0
  584. package/renderers/react.renderer.d.ts +96 -0
  585. package/renderers/react.renderer.d.ts.map +1 -0
  586. package/renderers/registry.d.ts +134 -0
  587. package/renderers/registry.d.ts.map +1 -0
  588. package/renderers/types.d.ts +342 -0
  589. package/renderers/types.d.ts.map +1 -0
  590. package/renderers/utils/detect.d.ts +107 -0
  591. package/renderers/utils/detect.d.ts.map +1 -0
  592. package/renderers/utils/hash.d.ts +40 -0
  593. package/renderers/utils/hash.d.ts.map +1 -0
  594. package/renderers/utils/index.d.ts +9 -0
  595. package/renderers/utils/index.d.ts.map +1 -0
  596. package/renderers/utils/transpiler.d.ts +89 -0
  597. package/renderers/utils/transpiler.d.ts.map +1 -0
  598. package/runtime/adapters/html.adapter.d.ts +59 -0
  599. package/runtime/adapters/html.adapter.d.ts.map +1 -0
  600. package/runtime/adapters/index.d.ts +26 -0
  601. package/runtime/adapters/index.d.ts.map +1 -0
  602. package/runtime/adapters/mdx.adapter.d.ts +73 -0
  603. package/runtime/adapters/mdx.adapter.d.ts.map +1 -0
  604. package/runtime/adapters/react.adapter.d.ts +70 -0
  605. package/runtime/adapters/react.adapter.d.ts.map +1 -0
  606. package/runtime/adapters/types.d.ts +95 -0
  607. package/runtime/adapters/types.d.ts.map +1 -0
  608. package/runtime/csp.d.ts +48 -0
  609. package/runtime/csp.d.ts.map +1 -0
  610. package/runtime/index.d.ts +17 -0
  611. package/runtime/index.d.ts.map +1 -0
  612. package/runtime/index.js +5264 -0
  613. package/runtime/mcp-bridge.d.ts +101 -0
  614. package/runtime/mcp-bridge.d.ts.map +1 -0
  615. package/runtime/renderer-runtime.d.ts +133 -0
  616. package/runtime/renderer-runtime.d.ts.map +1 -0
  617. package/runtime/sanitizer.d.ts +172 -0
  618. package/runtime/sanitizer.d.ts.map +1 -0
  619. package/runtime/types.d.ts +415 -0
  620. package/runtime/types.d.ts.map +1 -0
  621. package/runtime/wrapper.d.ts +421 -0
  622. package/runtime/wrapper.d.ts.map +1 -0
  623. package/styles/index.d.ts +8 -0
  624. package/styles/index.d.ts.map +1 -0
  625. package/styles/index.js +222 -0
  626. package/styles/variants.d.ts +51 -0
  627. package/styles/variants.d.ts.map +1 -0
  628. package/theme/cdn.d.ts +195 -0
  629. package/theme/cdn.d.ts.map +1 -0
  630. package/theme/index.d.ts +18 -0
  631. package/theme/index.d.ts.map +1 -0
  632. package/theme/index.js +757 -0
  633. package/theme/platforms.d.ts +107 -0
  634. package/theme/platforms.d.ts.map +1 -0
  635. package/theme/presets/github-openai.d.ts +50 -0
  636. package/theme/presets/github-openai.d.ts.map +1 -0
  637. package/theme/presets/index.d.ts +11 -0
  638. package/theme/presets/index.d.ts.map +1 -0
  639. package/theme/theme.d.ts +396 -0
  640. package/theme/theme.d.ts.map +1 -0
  641. package/tool-template/builder.d.ts +213 -0
  642. package/tool-template/builder.d.ts.map +1 -0
  643. package/tool-template/index.d.ts +16 -0
  644. package/tool-template/index.d.ts.map +1 -0
  645. package/tool-template/index.js +3559 -0
  646. package/types/index.d.ts +14 -0
  647. package/types/index.d.ts.map +1 -0
  648. package/types/index.js +108 -0
  649. package/types/ui-config.d.ts +639 -0
  650. package/types/ui-config.d.ts.map +1 -0
  651. package/types/ui-runtime.d.ts +1007 -0
  652. package/types/ui-runtime.d.ts.map +1 -0
  653. package/typings/cache/cache-adapter.d.ts +125 -0
  654. package/typings/cache/cache-adapter.d.ts.map +1 -0
  655. package/typings/cache/index.d.ts +10 -0
  656. package/typings/cache/index.d.ts.map +1 -0
  657. package/typings/cache/memory-cache.d.ts +92 -0
  658. package/typings/cache/memory-cache.d.ts.map +1 -0
  659. package/typings/dts-parser.d.ts +90 -0
  660. package/typings/dts-parser.d.ts.map +1 -0
  661. package/typings/index.d.ts +48 -0
  662. package/typings/index.d.ts.map +1 -0
  663. package/typings/schemas.d.ts +232 -0
  664. package/typings/schemas.d.ts.map +1 -0
  665. package/typings/type-fetcher.d.ts +89 -0
  666. package/typings/type-fetcher.d.ts.map +1 -0
  667. package/typings/types.d.ts +320 -0
  668. package/typings/types.d.ts.map +1 -0
  669. package/universal/UniversalApp.d.ts +108 -0
  670. package/universal/UniversalApp.d.ts.map +1 -0
  671. package/universal/cached-runtime.d.ts +115 -0
  672. package/universal/cached-runtime.d.ts.map +1 -0
  673. package/universal/context.d.ts +122 -0
  674. package/universal/context.d.ts.map +1 -0
  675. package/universal/index.d.ts +57 -0
  676. package/universal/index.d.ts.map +1 -0
  677. package/universal/renderers/html.renderer.d.ts +37 -0
  678. package/universal/renderers/html.renderer.d.ts.map +1 -0
  679. package/universal/renderers/index.d.ts +112 -0
  680. package/universal/renderers/index.d.ts.map +1 -0
  681. package/universal/renderers/markdown.renderer.d.ts +33 -0
  682. package/universal/renderers/markdown.renderer.d.ts.map +1 -0
  683. package/universal/renderers/mdx.renderer.d.ts +38 -0
  684. package/universal/renderers/mdx.renderer.d.ts.map +1 -0
  685. package/universal/renderers/react.renderer.d.ts +46 -0
  686. package/universal/renderers/react.renderer.d.ts.map +1 -0
  687. package/universal/runtime-builder.d.ts +33 -0
  688. package/universal/runtime-builder.d.ts.map +1 -0
  689. package/universal/store.d.ts +135 -0
  690. package/universal/store.d.ts.map +1 -0
  691. package/universal/types.d.ts +199 -0
  692. package/universal/types.d.ts.map +1 -0
  693. package/utils/escape-html.d.ts +58 -0
  694. package/utils/escape-html.d.ts.map +1 -0
  695. package/utils/index.d.ts +10 -0
  696. package/utils/index.d.ts.map +1 -0
  697. package/utils/index.js +70 -0
  698. package/utils/safe-stringify.d.ts +30 -0
  699. package/utils/safe-stringify.d.ts.map +1 -0
  700. package/validation/error-box.d.ts +56 -0
  701. package/validation/error-box.d.ts.map +1 -0
  702. package/validation/index.d.ts +13 -0
  703. package/validation/index.d.ts.map +1 -0
  704. package/validation/index.js +603 -0
  705. package/validation/schema-paths.d.ts +118 -0
  706. package/validation/schema-paths.d.ts.map +1 -0
  707. package/validation/template-validator.d.ts +143 -0
  708. package/validation/template-validator.d.ts.map +1 -0
  709. package/validation/wrapper.d.ts +97 -0
  710. package/validation/wrapper.d.ts.map +1 -0
  711. package/web-components/core/attribute-parser.d.ts +82 -0
  712. package/web-components/core/attribute-parser.d.ts.map +1 -0
  713. package/web-components/core/base-element.d.ts +197 -0
  714. package/web-components/core/base-element.d.ts.map +1 -0
  715. package/web-components/core/index.d.ts +9 -0
  716. package/web-components/core/index.d.ts.map +1 -0
  717. package/web-components/elements/fmcp-alert.d.ts +46 -0
  718. package/web-components/elements/fmcp-alert.d.ts.map +1 -0
  719. package/web-components/elements/fmcp-badge.d.ts +47 -0
  720. package/web-components/elements/fmcp-badge.d.ts.map +1 -0
  721. package/web-components/elements/fmcp-button.d.ts +117 -0
  722. package/web-components/elements/fmcp-button.d.ts.map +1 -0
  723. package/web-components/elements/fmcp-card.d.ts +53 -0
  724. package/web-components/elements/fmcp-card.d.ts.map +1 -0
  725. package/web-components/elements/fmcp-input.d.ts +96 -0
  726. package/web-components/elements/fmcp-input.d.ts.map +1 -0
  727. package/web-components/elements/fmcp-select.d.ts +100 -0
  728. package/web-components/elements/fmcp-select.d.ts.map +1 -0
  729. package/web-components/elements/index.d.ts +13 -0
  730. package/web-components/elements/index.d.ts.map +1 -0
  731. package/web-components/index.d.ts +50 -0
  732. package/web-components/index.d.ts.map +1 -0
  733. package/web-components/index.js +2093 -0
  734. package/web-components/register.d.ts +57 -0
  735. package/web-components/register.d.ts.map +1 -0
  736. package/web-components/types.d.ts +122 -0
  737. package/web-components/types.d.ts.map +1 -0
  738. package/widgets/index.d.ts +8 -0
  739. package/widgets/index.d.ts.map +1 -0
  740. package/widgets/index.js +978 -0
  741. package/widgets/progress.d.ts +133 -0
  742. package/widgets/progress.d.ts.map +1 -0
  743. package/widgets/resource.d.ts +163 -0
  744. package/widgets/resource.d.ts.map +1 -0
  745. package/src/adapters/index.d.ts +0 -10
  746. package/src/adapters/index.js +0 -18
  747. package/src/adapters/index.js.map +0 -1
  748. package/src/adapters/platform-meta.d.ts +0 -165
  749. package/src/adapters/platform-meta.js +0 -310
  750. package/src/adapters/platform-meta.js.map +0 -1
  751. package/src/base-template/bridge.d.ts +0 -89
  752. package/src/base-template/bridge.js +0 -452
  753. package/src/base-template/bridge.js.map +0 -1
  754. package/src/base-template/default-base-template.d.ts +0 -91
  755. package/src/base-template/default-base-template.js +0 -435
  756. package/src/base-template/default-base-template.js.map +0 -1
  757. package/src/base-template/index.d.ts +0 -14
  758. package/src/base-template/index.js +0 -30
  759. package/src/base-template/index.js.map +0 -1
  760. package/src/base-template/polyfills.d.ts +0 -30
  761. package/src/base-template/polyfills.js +0 -190
  762. package/src/base-template/polyfills.js.map +0 -1
  763. package/src/base-template/theme-styles.d.ts +0 -73
  764. package/src/base-template/theme-styles.js +0 -95
  765. package/src/base-template/theme-styles.js.map +0 -1
  766. package/src/bridge/adapters/base-adapter.d.ts +0 -103
  767. package/src/bridge/adapters/base-adapter.js +0 -314
  768. package/src/bridge/adapters/base-adapter.js.map +0 -1
  769. package/src/bridge/adapters/claude.adapter.d.ts +0 -66
  770. package/src/bridge/adapters/claude.adapter.js +0 -145
  771. package/src/bridge/adapters/claude.adapter.js.map +0 -1
  772. package/src/bridge/adapters/ext-apps.adapter.d.ts +0 -142
  773. package/src/bridge/adapters/ext-apps.adapter.js +0 -416
  774. package/src/bridge/adapters/ext-apps.adapter.js.map +0 -1
  775. package/src/bridge/adapters/gemini.adapter.d.ts +0 -63
  776. package/src/bridge/adapters/gemini.adapter.js +0 -160
  777. package/src/bridge/adapters/gemini.adapter.js.map +0 -1
  778. package/src/bridge/adapters/generic.adapter.d.ts +0 -55
  779. package/src/bridge/adapters/generic.adapter.js +0 -108
  780. package/src/bridge/adapters/generic.adapter.js.map +0 -1
  781. package/src/bridge/adapters/index.d.ts +0 -25
  782. package/src/bridge/adapters/index.js +0 -65
  783. package/src/bridge/adapters/index.js.map +0 -1
  784. package/src/bridge/adapters/openai.adapter.d.ts +0 -64
  785. package/src/bridge/adapters/openai.adapter.js +0 -194
  786. package/src/bridge/adapters/openai.adapter.js.map +0 -1
  787. package/src/bridge/core/adapter-registry.d.ts +0 -121
  788. package/src/bridge/core/adapter-registry.js +0 -271
  789. package/src/bridge/core/adapter-registry.js.map +0 -1
  790. package/src/bridge/core/bridge-factory.d.ts +0 -198
  791. package/src/bridge/core/bridge-factory.js +0 -428
  792. package/src/bridge/core/bridge-factory.js.map +0 -1
  793. package/src/bridge/core/index.d.ts +0 -9
  794. package/src/bridge/core/index.js +0 -22
  795. package/src/bridge/core/index.js.map +0 -1
  796. package/src/bridge/index.d.ts +0 -61
  797. package/src/bridge/index.js +0 -94
  798. package/src/bridge/index.js.map +0 -1
  799. package/src/bridge/runtime/iife-generator.d.ts +0 -61
  800. package/src/bridge/runtime/iife-generator.js +0 -940
  801. package/src/bridge/runtime/iife-generator.js.map +0 -1
  802. package/src/bridge/runtime/index.d.ts +0 -8
  803. package/src/bridge/runtime/index.js +0 -16
  804. package/src/bridge/runtime/index.js.map +0 -1
  805. package/src/bridge/types.d.ts +0 -385
  806. package/src/bridge/types.js +0 -11
  807. package/src/bridge/types.js.map +0 -1
  808. package/src/build/cdn-resources.d.ts +0 -140
  809. package/src/build/cdn-resources.js +0 -314
  810. package/src/build/cdn-resources.js.map +0 -1
  811. package/src/build/index.d.ts +0 -294
  812. package/src/build/index.js +0 -325
  813. package/src/build/index.js.map +0 -1
  814. package/src/build/widget-manifest.d.ts +0 -212
  815. package/src/build/widget-manifest.js +0 -652
  816. package/src/build/widget-manifest.js.map +0 -1
  817. package/src/bundler/bundler.d.ts +0 -110
  818. package/src/bundler/bundler.js +0 -432
  819. package/src/bundler/bundler.js.map +0 -1
  820. package/src/bundler/cache.d.ts +0 -172
  821. package/src/bundler/cache.js +0 -250
  822. package/src/bundler/cache.js.map +0 -1
  823. package/src/bundler/index.d.ts +0 -41
  824. package/src/bundler/index.js +0 -73
  825. package/src/bundler/index.js.map +0 -1
  826. package/src/bundler/sandbox/enclave-adapter.d.ts +0 -120
  827. package/src/bundler/sandbox/enclave-adapter.js +0 -339
  828. package/src/bundler/sandbox/enclave-adapter.js.map +0 -1
  829. package/src/bundler/sandbox/executor.d.ts +0 -13
  830. package/src/bundler/sandbox/executor.js +0 -22
  831. package/src/bundler/sandbox/executor.js.map +0 -1
  832. package/src/bundler/sandbox/policy.d.ts +0 -61
  833. package/src/bundler/sandbox/policy.js +0 -238
  834. package/src/bundler/sandbox/policy.js.map +0 -1
  835. package/src/bundler/types.d.ts +0 -347
  836. package/src/bundler/types.js +0 -132
  837. package/src/bundler/types.js.map +0 -1
  838. package/src/components/alert.d.ts +0 -71
  839. package/src/components/alert.js +0 -189
  840. package/src/components/alert.js.map +0 -1
  841. package/src/components/alert.schema.d.ts +0 -114
  842. package/src/components/alert.schema.js +0 -105
  843. package/src/components/alert.schema.js.map +0 -1
  844. package/src/components/avatar.d.ts +0 -76
  845. package/src/components/avatar.js +0 -176
  846. package/src/components/avatar.js.map +0 -1
  847. package/src/components/avatar.schema.d.ts +0 -169
  848. package/src/components/avatar.schema.js +0 -103
  849. package/src/components/avatar.schema.js.map +0 -1
  850. package/src/components/badge.d.ts +0 -70
  851. package/src/components/badge.js +0 -149
  852. package/src/components/badge.js.map +0 -1
  853. package/src/components/badge.schema.d.ts +0 -109
  854. package/src/components/badge.schema.js +0 -96
  855. package/src/components/badge.schema.js.map +0 -1
  856. package/src/components/button.d.ts +0 -111
  857. package/src/components/button.js +0 -336
  858. package/src/components/button.js.map +0 -1
  859. package/src/components/button.schema.d.ts +0 -148
  860. package/src/components/button.schema.js +0 -121
  861. package/src/components/button.schema.js.map +0 -1
  862. package/src/components/card.d.ts +0 -60
  863. package/src/components/card.js +0 -117
  864. package/src/components/card.js.map +0 -1
  865. package/src/components/card.schema.d.ts +0 -113
  866. package/src/components/card.schema.js +0 -98
  867. package/src/components/card.schema.js.map +0 -1
  868. package/src/components/form.d.ts +0 -239
  869. package/src/components/form.js +0 -420
  870. package/src/components/form.js.map +0 -1
  871. package/src/components/form.schema.d.ts +0 -441
  872. package/src/components/form.schema.js +0 -406
  873. package/src/components/form.schema.js.map +0 -1
  874. package/src/components/index.d.ts +0 -29
  875. package/src/components/index.js +0 -98
  876. package/src/components/index.js.map +0 -1
  877. package/src/components/list.d.ts +0 -127
  878. package/src/components/list.js +0 -279
  879. package/src/components/list.js.map +0 -1
  880. package/src/components/list.schema.d.ts +0 -134
  881. package/src/components/list.schema.js +0 -168
  882. package/src/components/list.schema.js.map +0 -1
  883. package/src/components/modal.d.ts +0 -111
  884. package/src/components/modal.js +0 -260
  885. package/src/components/modal.js.map +0 -1
  886. package/src/components/modal.schema.d.ts +0 -186
  887. package/src/components/modal.schema.js +0 -167
  888. package/src/components/modal.schema.js.map +0 -1
  889. package/src/components/table.d.ts +0 -105
  890. package/src/components/table.js +0 -283
  891. package/src/components/table.js.map +0 -1
  892. package/src/components/table.schema.d.ts +0 -159
  893. package/src/components/table.schema.js +0 -173
  894. package/src/components/table.schema.js.map +0 -1
  895. package/src/handlebars/helpers.d.ts +0 -348
  896. package/src/handlebars/helpers.js +0 -605
  897. package/src/handlebars/helpers.js.map +0 -1
  898. package/src/handlebars/index.d.ts +0 -193
  899. package/src/handlebars/index.js +0 -350
  900. package/src/handlebars/index.js.map +0 -1
  901. package/src/index.d.ts +0 -50
  902. package/src/index.js +0 -192
  903. package/src/index.js.map +0 -1
  904. package/src/layouts/base.d.ts +0 -88
  905. package/src/layouts/base.js +0 -227
  906. package/src/layouts/base.js.map +0 -1
  907. package/src/layouts/index.d.ts +0 -7
  908. package/src/layouts/index.js +0 -25
  909. package/src/layouts/index.js.map +0 -1
  910. package/src/layouts/presets.d.ts +0 -133
  911. package/src/layouts/presets.js +0 -277
  912. package/src/layouts/presets.js.map +0 -1
  913. package/src/pages/consent.d.ts +0 -116
  914. package/src/pages/consent.js +0 -218
  915. package/src/pages/consent.js.map +0 -1
  916. package/src/pages/error.d.ts +0 -100
  917. package/src/pages/error.js +0 -263
  918. package/src/pages/error.js.map +0 -1
  919. package/src/pages/index.d.ts +0 -8
  920. package/src/pages/index.js +0 -27
  921. package/src/pages/index.js.map +0 -1
  922. package/src/react/Alert.d.ts +0 -101
  923. package/src/react/Alert.js +0 -51
  924. package/src/react/Alert.js.map +0 -1
  925. package/src/react/Badge.d.ts +0 -100
  926. package/src/react/Badge.js +0 -55
  927. package/src/react/Badge.js.map +0 -1
  928. package/src/react/Button.d.ts +0 -108
  929. package/src/react/Button.js +0 -52
  930. package/src/react/Button.js.map +0 -1
  931. package/src/react/Card.d.ts +0 -103
  932. package/src/react/Card.js +0 -55
  933. package/src/react/Card.js.map +0 -1
  934. package/src/react/hooks/context.d.ts +0 -178
  935. package/src/react/hooks/context.js +0 -287
  936. package/src/react/hooks/context.js.map +0 -1
  937. package/src/react/hooks/index.d.ts +0 -41
  938. package/src/react/hooks/index.js +0 -61
  939. package/src/react/hooks/index.js.map +0 -1
  940. package/src/react/hooks/tools.d.ts +0 -283
  941. package/src/react/hooks/tools.js +0 -465
  942. package/src/react/hooks/tools.js.map +0 -1
  943. package/src/react/index.d.ts +0 -80
  944. package/src/react/index.js +0 -113
  945. package/src/react/index.js.map +0 -1
  946. package/src/react/types.d.ts +0 -105
  947. package/src/react/types.js +0 -12
  948. package/src/react/types.js.map +0 -1
  949. package/src/react/utils.d.ts +0 -42
  950. package/src/react/utils.js +0 -99
  951. package/src/react/utils.js.map +0 -1
  952. package/src/registry/index.d.ts +0 -45
  953. package/src/registry/index.js +0 -67
  954. package/src/registry/index.js.map +0 -1
  955. package/src/registry/render-template.d.ts +0 -86
  956. package/src/registry/render-template.js +0 -239
  957. package/src/registry/render-template.js.map +0 -1
  958. package/src/registry/tool-ui.registry.d.ts +0 -260
  959. package/src/registry/tool-ui.registry.js +0 -438
  960. package/src/registry/tool-ui.registry.js.map +0 -1
  961. package/src/registry/uri-utils.d.ts +0 -55
  962. package/src/registry/uri-utils.js +0 -97
  963. package/src/registry/uri-utils.js.map +0 -1
  964. package/src/render/index.d.ts +0 -7
  965. package/src/render/index.js +0 -14
  966. package/src/render/index.js.map +0 -1
  967. package/src/render/prerender.d.ts +0 -56
  968. package/src/render/prerender.js +0 -98
  969. package/src/render/prerender.js.map +0 -1
  970. package/src/renderers/cache.d.ts +0 -144
  971. package/src/renderers/cache.js +0 -240
  972. package/src/renderers/cache.js.map +0 -1
  973. package/src/renderers/html.renderer.d.ts +0 -122
  974. package/src/renderers/html.renderer.js +0 -204
  975. package/src/renderers/html.renderer.js.map +0 -1
  976. package/src/renderers/index.d.ts +0 -35
  977. package/src/renderers/index.js +0 -70
  978. package/src/renderers/index.js.map +0 -1
  979. package/src/renderers/mdx.renderer.d.ts +0 -119
  980. package/src/renderers/mdx.renderer.js +0 -305
  981. package/src/renderers/mdx.renderer.js.map +0 -1
  982. package/src/renderers/react.renderer.d.ts +0 -95
  983. package/src/renderers/react.renderer.js +0 -260
  984. package/src/renderers/react.renderer.js.map +0 -1
  985. package/src/renderers/registry.d.ts +0 -133
  986. package/src/renderers/registry.js +0 -232
  987. package/src/renderers/registry.js.map +0 -1
  988. package/src/renderers/types.d.ts +0 -341
  989. package/src/renderers/types.js +0 -9
  990. package/src/renderers/types.js.map +0 -1
  991. package/src/renderers/utils/detect.d.ts +0 -106
  992. package/src/renderers/utils/detect.js +0 -267
  993. package/src/renderers/utils/detect.js.map +0 -1
  994. package/src/renderers/utils/hash.d.ts +0 -39
  995. package/src/renderers/utils/hash.js +0 -75
  996. package/src/renderers/utils/hash.js.map +0 -1
  997. package/src/renderers/utils/index.d.ts +0 -8
  998. package/src/renderers/utils/index.js +0 -28
  999. package/src/renderers/utils/index.js.map +0 -1
  1000. package/src/renderers/utils/transpiler.d.ts +0 -88
  1001. package/src/renderers/utils/transpiler.js +0 -215
  1002. package/src/renderers/utils/transpiler.js.map +0 -1
  1003. package/src/runtime/adapters/html.adapter.d.ts +0 -58
  1004. package/src/runtime/adapters/html.adapter.js +0 -131
  1005. package/src/runtime/adapters/html.adapter.js.map +0 -1
  1006. package/src/runtime/adapters/index.d.ts +0 -25
  1007. package/src/runtime/adapters/index.js +0 -54
  1008. package/src/runtime/adapters/index.js.map +0 -1
  1009. package/src/runtime/adapters/mdx.adapter.d.ts +0 -72
  1010. package/src/runtime/adapters/mdx.adapter.js +0 -241
  1011. package/src/runtime/adapters/mdx.adapter.js.map +0 -1
  1012. package/src/runtime/adapters/react.adapter.d.ts +0 -69
  1013. package/src/runtime/adapters/react.adapter.js +0 -245
  1014. package/src/runtime/adapters/react.adapter.js.map +0 -1
  1015. package/src/runtime/adapters/types.d.ts +0 -94
  1016. package/src/runtime/adapters/types.js +0 -11
  1017. package/src/runtime/adapters/types.js.map +0 -1
  1018. package/src/runtime/csp.d.ts +0 -37
  1019. package/src/runtime/csp.js +0 -140
  1020. package/src/runtime/csp.js.map +0 -1
  1021. package/src/runtime/index.d.ts +0 -16
  1022. package/src/runtime/index.js +0 -72
  1023. package/src/runtime/index.js.map +0 -1
  1024. package/src/runtime/mcp-bridge.d.ts +0 -100
  1025. package/src/runtime/mcp-bridge.js +0 -581
  1026. package/src/runtime/mcp-bridge.js.map +0 -1
  1027. package/src/runtime/renderer-runtime.d.ts +0 -132
  1028. package/src/runtime/renderer-runtime.js +0 -389
  1029. package/src/runtime/renderer-runtime.js.map +0 -1
  1030. package/src/runtime/sanitizer.d.ts +0 -171
  1031. package/src/runtime/sanitizer.js +0 -318
  1032. package/src/runtime/sanitizer.js.map +0 -1
  1033. package/src/runtime/types.d.ts +0 -414
  1034. package/src/runtime/types.js +0 -12
  1035. package/src/runtime/types.js.map +0 -1
  1036. package/src/runtime/wrapper.d.ts +0 -375
  1037. package/src/runtime/wrapper.js +0 -1793
  1038. package/src/runtime/wrapper.js.map +0 -1
  1039. package/src/styles/index.d.ts +0 -7
  1040. package/src/styles/index.js +0 -11
  1041. package/src/styles/index.js.map +0 -1
  1042. package/src/styles/variants.d.ts +0 -50
  1043. package/src/styles/variants.js +0 -175
  1044. package/src/styles/variants.js.map +0 -1
  1045. package/src/theme/cdn.d.ts +0 -194
  1046. package/src/theme/cdn.js +0 -375
  1047. package/src/theme/cdn.js.map +0 -1
  1048. package/src/theme/index.d.ts +0 -17
  1049. package/src/theme/index.js +0 -57
  1050. package/src/theme/index.js.map +0 -1
  1051. package/src/theme/platforms.d.ts +0 -106
  1052. package/src/theme/platforms.js +0 -161
  1053. package/src/theme/platforms.js.map +0 -1
  1054. package/src/theme/presets/github-openai.d.ts +0 -49
  1055. package/src/theme/presets/github-openai.js +0 -189
  1056. package/src/theme/presets/github-openai.js.map +0 -1
  1057. package/src/theme/presets/index.d.ts +0 -10
  1058. package/src/theme/presets/index.js +0 -17
  1059. package/src/theme/presets/index.js.map +0 -1
  1060. package/src/theme/theme.d.ts +0 -395
  1061. package/src/theme/theme.js +0 -332
  1062. package/src/theme/theme.js.map +0 -1
  1063. package/src/tool-template/builder.d.ts +0 -212
  1064. package/src/tool-template/builder.js +0 -397
  1065. package/src/tool-template/builder.js.map +0 -1
  1066. package/src/tool-template/index.d.ts +0 -15
  1067. package/src/tool-template/index.js +0 -38
  1068. package/src/tool-template/index.js.map +0 -1
  1069. package/src/types/index.d.ts +0 -13
  1070. package/src/types/index.js +0 -26
  1071. package/src/types/index.js.map +0 -1
  1072. package/src/types/ui-config.d.ts +0 -357
  1073. package/src/types/ui-config.js +0 -12
  1074. package/src/types/ui-config.js.map +0 -1
  1075. package/src/types/ui-runtime.d.ts +0 -965
  1076. package/src/types/ui-runtime.js +0 -117
  1077. package/src/types/ui-runtime.js.map +0 -1
  1078. package/src/validation/error-box.d.ts +0 -55
  1079. package/src/validation/error-box.js +0 -75
  1080. package/src/validation/error-box.js.map +0 -1
  1081. package/src/validation/index.d.ts +0 -12
  1082. package/src/validation/index.js +0 -21
  1083. package/src/validation/index.js.map +0 -1
  1084. package/src/validation/wrapper.d.ts +0 -96
  1085. package/src/validation/wrapper.js +0 -117
  1086. package/src/validation/wrapper.js.map +0 -1
  1087. package/src/web-components/core/attribute-parser.d.ts +0 -85
  1088. package/src/web-components/core/attribute-parser.js +0 -189
  1089. package/src/web-components/core/attribute-parser.js.map +0 -1
  1090. package/src/web-components/core/base-element.d.ts +0 -197
  1091. package/src/web-components/core/base-element.js +0 -289
  1092. package/src/web-components/core/base-element.js.map +0 -1
  1093. package/src/web-components/core/index.d.ts +0 -8
  1094. package/src/web-components/core/index.js +0 -18
  1095. package/src/web-components/core/index.js.map +0 -1
  1096. package/src/web-components/elements/fmcp-alert.d.ts +0 -45
  1097. package/src/web-components/elements/fmcp-alert.js +0 -93
  1098. package/src/web-components/elements/fmcp-alert.js.map +0 -1
  1099. package/src/web-components/elements/fmcp-badge.d.ts +0 -46
  1100. package/src/web-components/elements/fmcp-badge.js +0 -99
  1101. package/src/web-components/elements/fmcp-badge.js.map +0 -1
  1102. package/src/web-components/elements/fmcp-button.d.ts +0 -124
  1103. package/src/web-components/elements/fmcp-button.js +0 -233
  1104. package/src/web-components/elements/fmcp-button.js.map +0 -1
  1105. package/src/web-components/elements/fmcp-card.d.ts +0 -52
  1106. package/src/web-components/elements/fmcp-card.js +0 -115
  1107. package/src/web-components/elements/fmcp-card.js.map +0 -1
  1108. package/src/web-components/elements/fmcp-input.d.ts +0 -95
  1109. package/src/web-components/elements/fmcp-input.js +0 -248
  1110. package/src/web-components/elements/fmcp-input.js.map +0 -1
  1111. package/src/web-components/elements/fmcp-select.d.ts +0 -99
  1112. package/src/web-components/elements/fmcp-select.js +0 -243
  1113. package/src/web-components/elements/fmcp-select.js.map +0 -1
  1114. package/src/web-components/elements/index.d.ts +0 -12
  1115. package/src/web-components/elements/index.js +0 -34
  1116. package/src/web-components/elements/index.js.map +0 -1
  1117. package/src/web-components/index.d.ts +0 -49
  1118. package/src/web-components/index.js +0 -75
  1119. package/src/web-components/index.js.map +0 -1
  1120. package/src/web-components/register.d.ts +0 -56
  1121. package/src/web-components/register.js +0 -80
  1122. package/src/web-components/register.js.map +0 -1
  1123. package/src/web-components/types.d.ts +0 -121
  1124. package/src/web-components/types.js +0 -25
  1125. package/src/web-components/types.js.map +0 -1
  1126. package/src/widgets/index.d.ts +0 -7
  1127. package/src/widgets/index.js +0 -24
  1128. package/src/widgets/index.js.map +0 -1
  1129. package/src/widgets/progress.d.ts +0 -132
  1130. package/src/widgets/progress.js +0 -303
  1131. package/src/widgets/progress.js.map +0 -1
  1132. package/src/widgets/resource.d.ts +0 -162
  1133. package/src/widgets/resource.js +0 -340
  1134. package/src/widgets/resource.js.map +0 -1
@@ -1,194 +0,0 @@
1
- /**
2
- * @file cdn.ts
3
- * @description CDN Configuration for FrontMCP UI.
4
- *
5
- * Centralized configuration for all CDN resources used by FrontMCP UI.
6
- * All resources are loaded at runtime - no build step required.
7
- *
8
- * For platforms with blocked network (e.g., Claude Artifacts),
9
- * scripts can be fetched once and cached for inline injection.
10
- *
11
- * CDN URLs can be customized via theme configuration for:
12
- * - Using private CDN mirrors
13
- * - Self-hosting resources
14
- * - Compliance with CSP policies
15
- *
16
- * @example
17
- * ```typescript
18
- * import { buildCdnScriptsFromTheme, DEFAULT_THEME } from '@frontmcp/ui';
19
- *
20
- * // Use default CDN URLs
21
- * const scripts = buildCdnScripts();
22
- *
23
- * // Use theme-configured CDN URLs
24
- * const themedScripts = buildCdnScriptsFromTheme(DEFAULT_THEME);
25
- * ```
26
- *
27
- * @module @frontmcp/ui/theme/cdn
28
- */
29
- import type { ThemeConfig } from './theme';
30
- /**
31
- * CDN resource configuration
32
- */
33
- export declare const CDN: {
34
- /**
35
- * Tailwind CSS v4 Browser CDN
36
- * Generates styles on-the-fly with @theme support
37
- * @see https://tailwindcss.com/docs/installation/play-cdn
38
- */
39
- readonly tailwind: "https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4";
40
- /**
41
- * HTMX 2.x - High power tools for HTML
42
- * Enables AJAX, WebSockets, Server Sent Events directly in HTML
43
- * @see https://htmx.org
44
- */
45
- readonly htmx: {
46
- readonly url: "https://cdnjs.cloudflare.com/ajax/libs/htmx/2.0.7/htmx.min.js";
47
- readonly integrity: "sha512-T6VLg/MJYMbLTmQ8VLvonbWg8VOvmDhXcOvHzCwo6ShdGuUU5SEcp1IAPXL4k9lVoMi8gRXl5K/S/zh43Y9rJA==";
48
- };
49
- /**
50
- * Alpine.js - Lightweight reactive framework
51
- * Used for more complex client-side interactions
52
- * @see https://alpinejs.dev
53
- */
54
- readonly alpine: {
55
- readonly url: "https://cdn.jsdelivr.net/npm/alpinejs@3.14.3/dist/cdn.min.js";
56
- readonly integrity: "sha384-6zY8MFQJ/EqS1r4RJl+7j8rvZPuBWpT0RzWf+IFcKhxqUzQNmJzA1X1VEVZhYaEz";
57
- };
58
- /**
59
- * Google Fonts - Inter for modern UI typography
60
- */
61
- readonly fonts: {
62
- readonly preconnect: readonly ["https://fonts.googleapis.com", "https://fonts.gstatic.com"];
63
- readonly inter: "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";
64
- readonly mono: "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&display=swap";
65
- };
66
- /**
67
- * Lucide Icons - Beautiful & consistent icons
68
- * @see https://lucide.dev
69
- */
70
- readonly icons: {
71
- readonly url: "https://cdn.jsdelivr.net/npm/lucide@0.294.0/dist/umd/lucide.min.js";
72
- readonly integrity: "sha384-wpLmHb7v7V1LsEuTmPQ9tXqWZvTtRWWVqJuE+Yz6X0I6O2T6bHJVeXH1lVWqF4qE";
73
- };
74
- };
75
- /**
76
- * Fetch a script and cache its content
77
- */
78
- export declare function fetchScript(url: string): Promise<string>;
79
- /**
80
- * Fetch and cache all required scripts for offline use
81
- * Call this at startup to prepare for blocked-network platforms
82
- */
83
- export declare function fetchAndCacheScripts(options?: {
84
- tailwind?: boolean;
85
- htmx?: boolean;
86
- alpine?: boolean;
87
- icons?: boolean;
88
- }): Promise<Map<string, string>>;
89
- /**
90
- * Get cached script content
91
- */
92
- export declare function getCachedScript(url: string): string | undefined;
93
- /**
94
- * Check if a script is cached
95
- */
96
- export declare function isScriptCached(url: string): boolean;
97
- /**
98
- * Clear the script cache
99
- */
100
- export declare function clearScriptCache(): void;
101
- /**
102
- * Options for building CDN script tags
103
- */
104
- export interface CdnScriptOptions {
105
- /** Include Tailwind CSS (default: true) */
106
- tailwind?: boolean;
107
- /** Include HTMX (default: true) */
108
- htmx?: boolean;
109
- /** Include Alpine.js (default: false) */
110
- alpine?: boolean;
111
- /** Include Lucide icons (default: false) */
112
- icons?: boolean;
113
- /** Include Inter font (default: true) */
114
- interFont?: boolean;
115
- /** Include JetBrains Mono font (default: false) */
116
- monoFont?: boolean;
117
- /** Use inline scripts from cache (for blocked network) */
118
- inline?: boolean;
119
- }
120
- /**
121
- * Build font preconnect links
122
- */
123
- export declare function buildFontPreconnect(): string;
124
- /**
125
- * Build font stylesheet links
126
- */
127
- export declare function buildFontStylesheets(options?: {
128
- inter?: boolean;
129
- mono?: boolean;
130
- }): string;
131
- /**
132
- * Build all CDN script tags based on options
133
- *
134
- * @remarks
135
- * When `inline: true` is specified, scripts must be pre-cached via `fetchAndCacheScripts()`.
136
- * Uncached scripts will be silently skipped with a console warning.
137
- */
138
- export declare function buildCdnScripts(options?: CdnScriptOptions): string;
139
- /**
140
- * Options for theme-aware CDN script building
141
- */
142
- export interface ThemeCdnScriptOptions {
143
- /** Include Tailwind CSS (default: true) */
144
- tailwind?: boolean;
145
- /** Include HTMX (default: true) */
146
- htmx?: boolean;
147
- /** Include Alpine.js (default: false) */
148
- alpine?: boolean;
149
- /** Include icon library (default: false) */
150
- icons?: boolean;
151
- /** Use inline scripts from cache (for blocked network) */
152
- inline?: boolean;
153
- }
154
- /**
155
- * Build font preconnect links from theme CDN configuration
156
- *
157
- * @param theme - Theme configuration with CDN settings
158
- * @returns HTML preconnect link tags
159
- */
160
- export declare function buildFontPreconnectFromTheme(theme: ThemeConfig): string;
161
- /**
162
- * Build font stylesheet links from theme CDN configuration
163
- *
164
- * @param theme - Theme configuration with CDN settings
165
- * @returns HTML stylesheet link tags
166
- */
167
- export declare function buildFontStylesheetsFromTheme(theme: ThemeConfig): string;
168
- /**
169
- * Build all CDN script tags from theme configuration
170
- *
171
- * Uses theme.cdn configuration if available, falls back to global CDN defaults.
172
- *
173
- * @remarks
174
- * When `inline: true` is specified, scripts must be pre-cached via `fetchAndCacheScriptsFromTheme()`.
175
- * Uncached scripts will be silently skipped with a console warning.
176
- *
177
- * @param theme - Theme configuration with CDN settings
178
- * @param options - Script inclusion options
179
- * @returns HTML script tags
180
- */
181
- export declare function buildCdnScriptsFromTheme(theme: ThemeConfig, options?: ThemeCdnScriptOptions): string;
182
- /**
183
- * Fetch and cache scripts based on theme CDN configuration
184
- *
185
- * @param theme - Theme configuration with CDN settings
186
- * @param options - Which scripts to cache
187
- * @returns Map of cached script URLs to content
188
- */
189
- export declare function fetchAndCacheScriptsFromTheme(theme: ThemeConfig, options?: {
190
- tailwind?: boolean;
191
- htmx?: boolean;
192
- alpine?: boolean;
193
- icons?: boolean;
194
- }): Promise<Map<string, string>>;
package/src/theme/cdn.js DELETED
@@ -1,375 +0,0 @@
1
- "use strict";
2
- /**
3
- * @file cdn.ts
4
- * @description CDN Configuration for FrontMCP UI.
5
- *
6
- * Centralized configuration for all CDN resources used by FrontMCP UI.
7
- * All resources are loaded at runtime - no build step required.
8
- *
9
- * For platforms with blocked network (e.g., Claude Artifacts),
10
- * scripts can be fetched once and cached for inline injection.
11
- *
12
- * CDN URLs can be customized via theme configuration for:
13
- * - Using private CDN mirrors
14
- * - Self-hosting resources
15
- * - Compliance with CSP policies
16
- *
17
- * @example
18
- * ```typescript
19
- * import { buildCdnScriptsFromTheme, DEFAULT_THEME } from '@frontmcp/ui';
20
- *
21
- * // Use default CDN URLs
22
- * const scripts = buildCdnScripts();
23
- *
24
- * // Use theme-configured CDN URLs
25
- * const themedScripts = buildCdnScriptsFromTheme(DEFAULT_THEME);
26
- * ```
27
- *
28
- * @module @frontmcp/ui/theme/cdn
29
- */
30
- Object.defineProperty(exports, "__esModule", { value: true });
31
- exports.CDN = void 0;
32
- exports.fetchScript = fetchScript;
33
- exports.fetchAndCacheScripts = fetchAndCacheScripts;
34
- exports.getCachedScript = getCachedScript;
35
- exports.isScriptCached = isScriptCached;
36
- exports.clearScriptCache = clearScriptCache;
37
- exports.buildFontPreconnect = buildFontPreconnect;
38
- exports.buildFontStylesheets = buildFontStylesheets;
39
- exports.buildCdnScripts = buildCdnScripts;
40
- exports.buildFontPreconnectFromTheme = buildFontPreconnectFromTheme;
41
- exports.buildFontStylesheetsFromTheme = buildFontStylesheetsFromTheme;
42
- exports.buildCdnScriptsFromTheme = buildCdnScriptsFromTheme;
43
- exports.fetchAndCacheScriptsFromTheme = fetchAndCacheScriptsFromTheme;
44
- // ============================================
45
- // CDN URLs
46
- // ============================================
47
- /**
48
- * CDN resource configuration
49
- */
50
- exports.CDN = {
51
- /**
52
- * Tailwind CSS v4 Browser CDN
53
- * Generates styles on-the-fly with @theme support
54
- * @see https://tailwindcss.com/docs/installation/play-cdn
55
- */
56
- tailwind: 'https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4',
57
- /**
58
- * HTMX 2.x - High power tools for HTML
59
- * Enables AJAX, WebSockets, Server Sent Events directly in HTML
60
- * @see https://htmx.org
61
- */
62
- htmx: {
63
- url: 'https://cdnjs.cloudflare.com/ajax/libs/htmx/2.0.7/htmx.min.js',
64
- integrity: 'sha512-T6VLg/MJYMbLTmQ8VLvonbWg8VOvmDhXcOvHzCwo6ShdGuUU5SEcp1IAPXL4k9lVoMi8gRXl5K/S/zh43Y9rJA==',
65
- },
66
- /**
67
- * Alpine.js - Lightweight reactive framework
68
- * Used for more complex client-side interactions
69
- * @see https://alpinejs.dev
70
- */
71
- alpine: {
72
- url: 'https://cdn.jsdelivr.net/npm/alpinejs@3.14.3/dist/cdn.min.js',
73
- integrity: 'sha384-6zY8MFQJ/EqS1r4RJl+7j8rvZPuBWpT0RzWf+IFcKhxqUzQNmJzA1X1VEVZhYaEz',
74
- },
75
- /**
76
- * Google Fonts - Inter for modern UI typography
77
- */
78
- fonts: {
79
- preconnect: ['https://fonts.googleapis.com', 'https://fonts.gstatic.com'],
80
- inter: 'https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap',
81
- mono: 'https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&display=swap',
82
- },
83
- /**
84
- * Lucide Icons - Beautiful & consistent icons
85
- * @see https://lucide.dev
86
- */
87
- icons: {
88
- url: 'https://cdn.jsdelivr.net/npm/lucide@0.294.0/dist/umd/lucide.min.js',
89
- integrity: 'sha384-wpLmHb7v7V1LsEuTmPQ9tXqWZvTtRWWVqJuE+Yz6X0I6O2T6bHJVeXH1lVWqF4qE',
90
- },
91
- };
92
- // ============================================
93
- // Script Cache for Offline/Blocked Platforms
94
- // ============================================
95
- /**
96
- * Cached script content for platforms with blocked network
97
- * These are populated by fetchAndCacheScripts()
98
- */
99
- const scriptCache = new Map();
100
- /**
101
- * Fetch a script and cache its content
102
- */
103
- async function fetchScript(url) {
104
- if (scriptCache.has(url)) {
105
- return scriptCache.get(url);
106
- }
107
- const response = await fetch(url);
108
- if (!response.ok) {
109
- throw new Error(`Failed to fetch script: ${url} (${response.status})`);
110
- }
111
- const content = await response.text();
112
- scriptCache.set(url, content);
113
- return content;
114
- }
115
- /**
116
- * Fetch and cache all required scripts for offline use
117
- * Call this at startup to prepare for blocked-network platforms
118
- */
119
- async function fetchAndCacheScripts(options = {}) {
120
- const { tailwind = true, htmx = true, alpine = false, icons = false } = options;
121
- const urls = [];
122
- if (tailwind)
123
- urls.push(exports.CDN.tailwind);
124
- if (htmx)
125
- urls.push(exports.CDN.htmx.url);
126
- if (alpine)
127
- urls.push(exports.CDN.alpine.url);
128
- if (icons)
129
- urls.push(exports.CDN.icons.url);
130
- await Promise.all(urls.map(fetchScript));
131
- return scriptCache;
132
- }
133
- /**
134
- * Get cached script content
135
- */
136
- function getCachedScript(url) {
137
- return scriptCache.get(url);
138
- }
139
- /**
140
- * Check if a script is cached
141
- */
142
- function isScriptCached(url) {
143
- return scriptCache.has(url);
144
- }
145
- /**
146
- * Clear the script cache
147
- */
148
- function clearScriptCache() {
149
- scriptCache.clear();
150
- }
151
- /**
152
- * Build font preconnect links
153
- */
154
- function buildFontPreconnect() {
155
- return exports.CDN.fonts.preconnect
156
- .map((url, i) => `<link rel="preconnect" href="${url}"${i > 0 ? ' crossorigin' : ''}>`)
157
- .join('\n ');
158
- }
159
- /**
160
- * Build font stylesheet links
161
- */
162
- function buildFontStylesheets(options = {}) {
163
- const { inter = true, mono = false } = options;
164
- const links = [];
165
- if (inter) {
166
- links.push(`<link href="${exports.CDN.fonts.inter}" rel="stylesheet">`);
167
- }
168
- if (mono) {
169
- links.push(`<link href="${exports.CDN.fonts.mono}" rel="stylesheet">`);
170
- }
171
- return links.join('\n ');
172
- }
173
- /**
174
- * Build script tag with optional integrity
175
- */
176
- function buildScriptTag(url, integrity, options = {}) {
177
- const attrs = [`src="${url}"`];
178
- if (integrity) {
179
- attrs.push(`integrity="${integrity}"`);
180
- attrs.push('crossorigin="anonymous"');
181
- }
182
- if (options.defer)
183
- attrs.push('defer');
184
- if (options.async)
185
- attrs.push('async');
186
- return `<script ${attrs.join(' ')}></script>`;
187
- }
188
- /**
189
- * Build inline script tag from cached content
190
- */
191
- function buildInlineScriptTag(content) {
192
- return `<script>${content}</script>`;
193
- }
194
- /**
195
- * Build all CDN script tags based on options
196
- *
197
- * @remarks
198
- * When `inline: true` is specified, scripts must be pre-cached via `fetchAndCacheScripts()`.
199
- * Uncached scripts will be silently skipped with a console warning.
200
- */
201
- function buildCdnScripts(options = {}) {
202
- const { tailwind = true, htmx = true, alpine = false, icons = false, inline = false } = options;
203
- const scripts = [];
204
- if (inline) {
205
- // Use cached inline scripts - warn if not cached
206
- if (tailwind) {
207
- if (isScriptCached(exports.CDN.tailwind)) {
208
- scripts.push(buildInlineScriptTag(getCachedScript(exports.CDN.tailwind)));
209
- }
210
- else {
211
- console.warn('[frontmcp/ui] Inline mode requested but Tailwind script not cached. Call fetchAndCacheScripts() first.');
212
- }
213
- }
214
- if (htmx) {
215
- if (isScriptCached(exports.CDN.htmx.url)) {
216
- scripts.push(buildInlineScriptTag(getCachedScript(exports.CDN.htmx.url)));
217
- }
218
- else {
219
- console.warn('[frontmcp/ui] Inline mode requested but HTMX script not cached. Call fetchAndCacheScripts() first.');
220
- }
221
- }
222
- if (alpine) {
223
- if (isScriptCached(exports.CDN.alpine.url)) {
224
- scripts.push(buildInlineScriptTag(getCachedScript(exports.CDN.alpine.url)));
225
- }
226
- else {
227
- console.warn('[frontmcp/ui] Inline mode requested but Alpine.js script not cached. Call fetchAndCacheScripts() first.');
228
- }
229
- }
230
- if (icons) {
231
- if (isScriptCached(exports.CDN.icons.url)) {
232
- scripts.push(buildInlineScriptTag(getCachedScript(exports.CDN.icons.url)));
233
- }
234
- else {
235
- console.warn('[frontmcp/ui] Inline mode requested but Lucide icons script not cached. Call fetchAndCacheScripts() first.');
236
- }
237
- }
238
- }
239
- else {
240
- // Use CDN URLs
241
- if (tailwind) {
242
- scripts.push(buildScriptTag(exports.CDN.tailwind));
243
- }
244
- if (htmx) {
245
- scripts.push(buildScriptTag(exports.CDN.htmx.url, exports.CDN.htmx.integrity));
246
- }
247
- if (alpine) {
248
- scripts.push(buildScriptTag(exports.CDN.alpine.url, exports.CDN.alpine.integrity, { defer: true }));
249
- }
250
- if (icons) {
251
- scripts.push(buildScriptTag(exports.CDN.icons.url, exports.CDN.icons.integrity));
252
- }
253
- }
254
- return scripts.join('\n ');
255
- }
256
- /**
257
- * Build font preconnect links from theme CDN configuration
258
- *
259
- * @param theme - Theme configuration with CDN settings
260
- * @returns HTML preconnect link tags
261
- */
262
- function buildFontPreconnectFromTheme(theme) {
263
- const preconnect = theme.cdn?.fonts?.preconnect ?? exports.CDN.fonts.preconnect;
264
- return preconnect.map((url, i) => `<link rel="preconnect" href="${url}"${i > 0 ? ' crossorigin' : ''}>`).join('\n ');
265
- }
266
- /**
267
- * Build font stylesheet links from theme CDN configuration
268
- *
269
- * @param theme - Theme configuration with CDN settings
270
- * @returns HTML stylesheet link tags
271
- */
272
- function buildFontStylesheetsFromTheme(theme) {
273
- const stylesheets = theme.cdn?.fonts?.stylesheets ?? [exports.CDN.fonts.inter];
274
- return stylesheets.map((url) => `<link href="${url}" rel="stylesheet">`).join('\n ');
275
- }
276
- /**
277
- * Build all CDN script tags from theme configuration
278
- *
279
- * Uses theme.cdn configuration if available, falls back to global CDN defaults.
280
- *
281
- * @remarks
282
- * When `inline: true` is specified, scripts must be pre-cached via `fetchAndCacheScriptsFromTheme()`.
283
- * Uncached scripts will be silently skipped with a console warning.
284
- *
285
- * @param theme - Theme configuration with CDN settings
286
- * @param options - Script inclusion options
287
- * @returns HTML script tags
288
- */
289
- function buildCdnScriptsFromTheme(theme, options = {}) {
290
- const { tailwind = true, htmx = true, alpine = false, icons = false, inline = false } = options;
291
- const scripts = [];
292
- // Get URLs from theme or fallback to defaults
293
- const tailwindUrl = theme.cdn?.scripts?.tailwind ?? exports.CDN.tailwind;
294
- const htmxConfig = theme.cdn?.scripts?.htmx ?? exports.CDN.htmx;
295
- const alpineConfig = theme.cdn?.scripts?.alpine ?? exports.CDN.alpine;
296
- const iconsConfig = theme.cdn?.icons?.script ?? exports.CDN.icons;
297
- if (inline) {
298
- // Use cached inline scripts - warn if not cached
299
- if (tailwind) {
300
- if (isScriptCached(tailwindUrl)) {
301
- scripts.push(buildInlineScriptTag(getCachedScript(tailwindUrl)));
302
- }
303
- else {
304
- console.warn('[frontmcp/ui] Inline mode requested but Tailwind script not cached. Call fetchAndCacheScriptsFromTheme() first.');
305
- }
306
- }
307
- if (htmx) {
308
- if (isScriptCached(htmxConfig.url)) {
309
- scripts.push(buildInlineScriptTag(getCachedScript(htmxConfig.url)));
310
- }
311
- else {
312
- console.warn('[frontmcp/ui] Inline mode requested but HTMX script not cached. Call fetchAndCacheScriptsFromTheme() first.');
313
- }
314
- }
315
- if (alpine) {
316
- if (isScriptCached(alpineConfig.url)) {
317
- scripts.push(buildInlineScriptTag(getCachedScript(alpineConfig.url)));
318
- }
319
- else {
320
- console.warn('[frontmcp/ui] Inline mode requested but Alpine.js script not cached. Call fetchAndCacheScriptsFromTheme() first.');
321
- }
322
- }
323
- if (icons) {
324
- if (isScriptCached(iconsConfig.url)) {
325
- scripts.push(buildInlineScriptTag(getCachedScript(iconsConfig.url)));
326
- }
327
- else {
328
- console.warn('[frontmcp/ui] Inline mode requested but icons script not cached. Call fetchAndCacheScriptsFromTheme() first.');
329
- }
330
- }
331
- }
332
- else {
333
- // Use CDN URLs from theme
334
- if (tailwind) {
335
- scripts.push(buildScriptTag(tailwindUrl));
336
- }
337
- if (htmx) {
338
- scripts.push(buildScriptTag(htmxConfig.url, htmxConfig.integrity));
339
- }
340
- if (alpine) {
341
- scripts.push(buildScriptTag(alpineConfig.url, alpineConfig.integrity, { defer: true }));
342
- }
343
- if (icons) {
344
- scripts.push(buildScriptTag(iconsConfig.url, iconsConfig.integrity));
345
- }
346
- }
347
- return scripts.join('\n ');
348
- }
349
- /**
350
- * Fetch and cache scripts based on theme CDN configuration
351
- *
352
- * @param theme - Theme configuration with CDN settings
353
- * @param options - Which scripts to cache
354
- * @returns Map of cached script URLs to content
355
- */
356
- async function fetchAndCacheScriptsFromTheme(theme, options = {}) {
357
- const { tailwind = true, htmx = true, alpine = false, icons = false } = options;
358
- const urls = [];
359
- // Get URLs from theme or fallback to defaults
360
- const tailwindUrl = theme.cdn?.scripts?.tailwind ?? exports.CDN.tailwind;
361
- const htmxConfig = theme.cdn?.scripts?.htmx ?? exports.CDN.htmx;
362
- const alpineConfig = theme.cdn?.scripts?.alpine ?? exports.CDN.alpine;
363
- const iconsConfig = theme.cdn?.icons?.script ?? exports.CDN.icons;
364
- if (tailwind)
365
- urls.push(tailwindUrl);
366
- if (htmx)
367
- urls.push(htmxConfig.url);
368
- if (alpine)
369
- urls.push(alpineConfig.url);
370
- if (icons)
371
- urls.push(iconsConfig.url);
372
- await Promise.all(urls.map(fetchScript));
373
- return scriptCache;
374
- }
375
- //# sourceMappingURL=cdn.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cdn.js","sourceRoot":"","sources":["../../../src/theme/cdn.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @file cdn.ts\n * @description CDN Configuration for FrontMCP UI.\n *\n * Centralized configuration for all CDN resources used by FrontMCP UI.\n * All resources are loaded at runtime - no build step required.\n *\n * For platforms with blocked network (e.g., Claude Artifacts),\n * scripts can be fetched once and cached for inline injection.\n *\n * CDN URLs can be customized via theme configuration for:\n * - Using private CDN mirrors\n * - Self-hosting resources\n * - Compliance with CSP policies\n *\n * @example\n * ```typescript\n * import { buildCdnScriptsFromTheme, DEFAULT_THEME } from '@frontmcp/ui';\n *\n * // Use default CDN URLs\n * const scripts = buildCdnScripts();\n *\n * // Use theme-configured CDN URLs\n * const themedScripts = buildCdnScriptsFromTheme(DEFAULT_THEME);\n * ```\n *\n * @module @frontmcp/ui/theme/cdn\n */\n\nimport type { ThemeConfig } from './theme';\n\n// ============================================\n// CDN URLs\n// ============================================\n\n/**\n * CDN resource configuration\n */\nexport const CDN = {\n /**\n * Tailwind CSS v4 Browser CDN\n * Generates styles on-the-fly with @theme support\n * @see https://tailwindcss.com/docs/installation/play-cdn\n */\n tailwind: 'https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4',\n\n /**\n * HTMX 2.x - High power tools for HTML\n * Enables AJAX, WebSockets, Server Sent Events directly in HTML\n * @see https://htmx.org\n */\n htmx: {\n url: 'https://cdnjs.cloudflare.com/ajax/libs/htmx/2.0.7/htmx.min.js',\n integrity: 'sha512-T6VLg/MJYMbLTmQ8VLvonbWg8VOvmDhXcOvHzCwo6ShdGuUU5SEcp1IAPXL4k9lVoMi8gRXl5K/S/zh43Y9rJA==',\n },\n\n /**\n * Alpine.js - Lightweight reactive framework\n * Used for more complex client-side interactions\n * @see https://alpinejs.dev\n */\n alpine: {\n url: 'https://cdn.jsdelivr.net/npm/alpinejs@3.14.3/dist/cdn.min.js',\n integrity: 'sha384-6zY8MFQJ/EqS1r4RJl+7j8rvZPuBWpT0RzWf+IFcKhxqUzQNmJzA1X1VEVZhYaEz',\n },\n\n /**\n * Google Fonts - Inter for modern UI typography\n */\n fonts: {\n preconnect: ['https://fonts.googleapis.com', 'https://fonts.gstatic.com'],\n inter: 'https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap',\n mono: 'https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&display=swap',\n },\n\n /**\n * Lucide Icons - Beautiful & consistent icons\n * @see https://lucide.dev\n */\n icons: {\n url: 'https://cdn.jsdelivr.net/npm/lucide@0.294.0/dist/umd/lucide.min.js',\n integrity: 'sha384-wpLmHb7v7V1LsEuTmPQ9tXqWZvTtRWWVqJuE+Yz6X0I6O2T6bHJVeXH1lVWqF4qE',\n },\n} as const;\n\n// ============================================\n// Script Cache for Offline/Blocked Platforms\n// ============================================\n\n/**\n * Cached script content for platforms with blocked network\n * These are populated by fetchAndCacheScripts()\n */\nconst scriptCache: Map<string, string> = new Map();\n\n/**\n * Fetch a script and cache its content\n */\nexport async function fetchScript(url: string): Promise<string> {\n if (scriptCache.has(url)) {\n return scriptCache.get(url)!;\n }\n\n const response = await fetch(url);\n if (!response.ok) {\n throw new Error(`Failed to fetch script: ${url} (${response.status})`);\n }\n\n const content = await response.text();\n scriptCache.set(url, content);\n return content;\n}\n\n/**\n * Fetch and cache all required scripts for offline use\n * Call this at startup to prepare for blocked-network platforms\n */\nexport async function fetchAndCacheScripts(\n options: {\n tailwind?: boolean;\n htmx?: boolean;\n alpine?: boolean;\n icons?: boolean;\n } = {},\n): Promise<Map<string, string>> {\n const { tailwind = true, htmx = true, alpine = false, icons = false } = options;\n const urls: string[] = [];\n\n if (tailwind) urls.push(CDN.tailwind);\n if (htmx) urls.push(CDN.htmx.url);\n if (alpine) urls.push(CDN.alpine.url);\n if (icons) urls.push(CDN.icons.url);\n\n await Promise.all(urls.map(fetchScript));\n return scriptCache;\n}\n\n/**\n * Get cached script content\n */\nexport function getCachedScript(url: string): string | undefined {\n return scriptCache.get(url);\n}\n\n/**\n * Check if a script is cached\n */\nexport function isScriptCached(url: string): boolean {\n return scriptCache.has(url);\n}\n\n/**\n * Clear the script cache\n */\nexport function clearScriptCache(): void {\n scriptCache.clear();\n}\n\n// ============================================\n// CDN Builder Utilities\n// ============================================\n\n/**\n * Options for building CDN script tags\n */\nexport interface CdnScriptOptions {\n /** Include Tailwind CSS (default: true) */\n tailwind?: boolean;\n /** Include HTMX (default: true) */\n htmx?: boolean;\n /** Include Alpine.js (default: false) */\n alpine?: boolean;\n /** Include Lucide icons (default: false) */\n icons?: boolean;\n /** Include Inter font (default: true) */\n interFont?: boolean;\n /** Include JetBrains Mono font (default: false) */\n monoFont?: boolean;\n /** Use inline scripts from cache (for blocked network) */\n inline?: boolean;\n}\n\n/**\n * Build font preconnect links\n */\nexport function buildFontPreconnect(): string {\n return CDN.fonts.preconnect\n .map((url, i) => `<link rel=\"preconnect\" href=\"${url}\"${i > 0 ? ' crossorigin' : ''}>`)\n .join('\\n ');\n}\n\n/**\n * Build font stylesheet links\n */\nexport function buildFontStylesheets(options: { inter?: boolean; mono?: boolean } = {}): string {\n const { inter = true, mono = false } = options;\n const links: string[] = [];\n\n if (inter) {\n links.push(`<link href=\"${CDN.fonts.inter}\" rel=\"stylesheet\">`);\n }\n if (mono) {\n links.push(`<link href=\"${CDN.fonts.mono}\" rel=\"stylesheet\">`);\n }\n\n return links.join('\\n ');\n}\n\n/**\n * Build script tag with optional integrity\n */\nfunction buildScriptTag(url: string, integrity?: string, options: { defer?: boolean; async?: boolean } = {}): string {\n const attrs: string[] = [`src=\"${url}\"`];\n\n if (integrity) {\n attrs.push(`integrity=\"${integrity}\"`);\n attrs.push('crossorigin=\"anonymous\"');\n }\n if (options.defer) attrs.push('defer');\n if (options.async) attrs.push('async');\n\n return `<script ${attrs.join(' ')}></script>`;\n}\n\n/**\n * Build inline script tag from cached content\n */\nfunction buildInlineScriptTag(content: string): string {\n return `<script>${content}</script>`;\n}\n\n/**\n * Build all CDN script tags based on options\n *\n * @remarks\n * When `inline: true` is specified, scripts must be pre-cached via `fetchAndCacheScripts()`.\n * Uncached scripts will be silently skipped with a console warning.\n */\nexport function buildCdnScripts(options: CdnScriptOptions = {}): string {\n const { tailwind = true, htmx = true, alpine = false, icons = false, inline = false } = options;\n\n const scripts: string[] = [];\n\n if (inline) {\n // Use cached inline scripts - warn if not cached\n if (tailwind) {\n if (isScriptCached(CDN.tailwind)) {\n scripts.push(buildInlineScriptTag(getCachedScript(CDN.tailwind)!));\n } else {\n console.warn(\n '[frontmcp/ui] Inline mode requested but Tailwind script not cached. Call fetchAndCacheScripts() first.',\n );\n }\n }\n if (htmx) {\n if (isScriptCached(CDN.htmx.url)) {\n scripts.push(buildInlineScriptTag(getCachedScript(CDN.htmx.url)!));\n } else {\n console.warn(\n '[frontmcp/ui] Inline mode requested but HTMX script not cached. Call fetchAndCacheScripts() first.',\n );\n }\n }\n if (alpine) {\n if (isScriptCached(CDN.alpine.url)) {\n scripts.push(buildInlineScriptTag(getCachedScript(CDN.alpine.url)!));\n } else {\n console.warn(\n '[frontmcp/ui] Inline mode requested but Alpine.js script not cached. Call fetchAndCacheScripts() first.',\n );\n }\n }\n if (icons) {\n if (isScriptCached(CDN.icons.url)) {\n scripts.push(buildInlineScriptTag(getCachedScript(CDN.icons.url)!));\n } else {\n console.warn(\n '[frontmcp/ui] Inline mode requested but Lucide icons script not cached. Call fetchAndCacheScripts() first.',\n );\n }\n }\n } else {\n // Use CDN URLs\n if (tailwind) {\n scripts.push(buildScriptTag(CDN.tailwind));\n }\n if (htmx) {\n scripts.push(buildScriptTag(CDN.htmx.url, CDN.htmx.integrity));\n }\n if (alpine) {\n scripts.push(buildScriptTag(CDN.alpine.url, CDN.alpine.integrity, { defer: true }));\n }\n if (icons) {\n scripts.push(buildScriptTag(CDN.icons.url, CDN.icons.integrity));\n }\n }\n\n return scripts.join('\\n ');\n}\n\n// ============================================\n// Theme-Aware CDN Builders\n// ============================================\n\n/**\n * Options for theme-aware CDN script building\n */\nexport interface ThemeCdnScriptOptions {\n /** Include Tailwind CSS (default: true) */\n tailwind?: boolean;\n /** Include HTMX (default: true) */\n htmx?: boolean;\n /** Include Alpine.js (default: false) */\n alpine?: boolean;\n /** Include icon library (default: false) */\n icons?: boolean;\n /** Use inline scripts from cache (for blocked network) */\n inline?: boolean;\n}\n\n/**\n * Build font preconnect links from theme CDN configuration\n *\n * @param theme - Theme configuration with CDN settings\n * @returns HTML preconnect link tags\n */\nexport function buildFontPreconnectFromTheme(theme: ThemeConfig): string {\n const preconnect = theme.cdn?.fonts?.preconnect ?? CDN.fonts.preconnect;\n return preconnect.map((url, i) => `<link rel=\"preconnect\" href=\"${url}\"${i > 0 ? ' crossorigin' : ''}>`).join('\\n ');\n}\n\n/**\n * Build font stylesheet links from theme CDN configuration\n *\n * @param theme - Theme configuration with CDN settings\n * @returns HTML stylesheet link tags\n */\nexport function buildFontStylesheetsFromTheme(theme: ThemeConfig): string {\n const stylesheets = theme.cdn?.fonts?.stylesheets ?? [CDN.fonts.inter];\n return stylesheets.map((url) => `<link href=\"${url}\" rel=\"stylesheet\">`).join('\\n ');\n}\n\n/**\n * Build all CDN script tags from theme configuration\n *\n * Uses theme.cdn configuration if available, falls back to global CDN defaults.\n *\n * @remarks\n * When `inline: true` is specified, scripts must be pre-cached via `fetchAndCacheScriptsFromTheme()`.\n * Uncached scripts will be silently skipped with a console warning.\n *\n * @param theme - Theme configuration with CDN settings\n * @param options - Script inclusion options\n * @returns HTML script tags\n */\nexport function buildCdnScriptsFromTheme(theme: ThemeConfig, options: ThemeCdnScriptOptions = {}): string {\n const { tailwind = true, htmx = true, alpine = false, icons = false, inline = false } = options;\n\n const scripts: string[] = [];\n\n // Get URLs from theme or fallback to defaults\n const tailwindUrl = theme.cdn?.scripts?.tailwind ?? CDN.tailwind;\n const htmxConfig = theme.cdn?.scripts?.htmx ?? CDN.htmx;\n const alpineConfig = theme.cdn?.scripts?.alpine ?? CDN.alpine;\n const iconsConfig = theme.cdn?.icons?.script ?? CDN.icons;\n\n if (inline) {\n // Use cached inline scripts - warn if not cached\n if (tailwind) {\n if (isScriptCached(tailwindUrl)) {\n scripts.push(buildInlineScriptTag(getCachedScript(tailwindUrl)!));\n } else {\n console.warn(\n '[frontmcp/ui] Inline mode requested but Tailwind script not cached. Call fetchAndCacheScriptsFromTheme() first.',\n );\n }\n }\n if (htmx) {\n if (isScriptCached(htmxConfig.url)) {\n scripts.push(buildInlineScriptTag(getCachedScript(htmxConfig.url)!));\n } else {\n console.warn(\n '[frontmcp/ui] Inline mode requested but HTMX script not cached. Call fetchAndCacheScriptsFromTheme() first.',\n );\n }\n }\n if (alpine) {\n if (isScriptCached(alpineConfig.url)) {\n scripts.push(buildInlineScriptTag(getCachedScript(alpineConfig.url)!));\n } else {\n console.warn(\n '[frontmcp/ui] Inline mode requested but Alpine.js script not cached. Call fetchAndCacheScriptsFromTheme() first.',\n );\n }\n }\n if (icons) {\n if (isScriptCached(iconsConfig.url)) {\n scripts.push(buildInlineScriptTag(getCachedScript(iconsConfig.url)!));\n } else {\n console.warn(\n '[frontmcp/ui] Inline mode requested but icons script not cached. Call fetchAndCacheScriptsFromTheme() first.',\n );\n }\n }\n } else {\n // Use CDN URLs from theme\n if (tailwind) {\n scripts.push(buildScriptTag(tailwindUrl));\n }\n if (htmx) {\n scripts.push(buildScriptTag(htmxConfig.url, htmxConfig.integrity));\n }\n if (alpine) {\n scripts.push(buildScriptTag(alpineConfig.url, alpineConfig.integrity, { defer: true }));\n }\n if (icons) {\n scripts.push(buildScriptTag(iconsConfig.url, iconsConfig.integrity));\n }\n }\n\n return scripts.join('\\n ');\n}\n\n/**\n * Fetch and cache scripts based on theme CDN configuration\n *\n * @param theme - Theme configuration with CDN settings\n * @param options - Which scripts to cache\n * @returns Map of cached script URLs to content\n */\nexport async function fetchAndCacheScriptsFromTheme(\n theme: ThemeConfig,\n options: {\n tailwind?: boolean;\n htmx?: boolean;\n alpine?: boolean;\n icons?: boolean;\n } = {},\n): Promise<Map<string, string>> {\n const { tailwind = true, htmx = true, alpine = false, icons = false } = options;\n const urls: string[] = [];\n\n // Get URLs from theme or fallback to defaults\n const tailwindUrl = theme.cdn?.scripts?.tailwind ?? CDN.tailwind;\n const htmxConfig = theme.cdn?.scripts?.htmx ?? CDN.htmx;\n const alpineConfig = theme.cdn?.scripts?.alpine ?? CDN.alpine;\n const iconsConfig = theme.cdn?.icons?.script ?? CDN.icons;\n\n if (tailwind) urls.push(tailwindUrl);\n if (htmx) urls.push(htmxConfig.url);\n if (alpine) urls.push(alpineConfig.url);\n if (icons) urls.push(iconsConfig.url);\n\n await Promise.all(urls.map(fetchScript));\n return scriptCache;\n}\n"]}
@@ -1,17 +0,0 @@
1
- /**
2
- * @file index.ts
3
- * @description Theme Module for FrontMCP UI.
4
- *
5
- * Provides comprehensive theming capabilities including:
6
- * - Color palettes and semantic tokens
7
- * - Typography and spacing configuration
8
- * - CDN resource customization
9
- * - Platform-specific configurations
10
- * - Theme presets (GitHub/OpenAI default)
11
- *
12
- * @module @frontmcp/ui/theme
13
- */
14
- export { CDN, type CdnScriptOptions, type ThemeCdnScriptOptions, fetchScript, fetchAndCacheScripts, fetchAndCacheScriptsFromTheme, getCachedScript, isScriptCached, clearScriptCache, buildFontPreconnect, buildFontPreconnectFromTheme, buildFontStylesheets, buildFontStylesheetsFromTheme, buildCdnScripts, buildCdnScriptsFromTheme, } from './cdn';
15
- export { type PlatformId, type NetworkMode, type ScriptStrategy, type PlatformCapabilities, OPENAI_PLATFORM, CLAUDE_PLATFORM, GEMINI_PLATFORM, NGROK_PLATFORM, CUSTOM_PLATFORM, PLATFORM_PRESETS, getPlatform, createPlatform, canUseCdn, needsInlineScripts, supportsFullInteractivity, getFallbackMode, } from './platforms';
16
- export { type DeepPartial, type ColorScale, type SemanticColors, type SurfaceColors, type TextColors, type BorderColors, type ThemeColors, type FontFamilies, type FontSizes, type FontWeights, type ThemeTypography, type ThemeSpacing, type ThemeRadius, type ThemeShadows, type ButtonTokens, type CardTokens, type InputTokens, type ComponentTokens, type CdnScriptResource, type ThemeCdnFonts, type ThemeCdnIcons, type ThemeCdnScripts, type ThemeCdnConfig, type ThemeConfig, mergeThemes, createTheme, buildThemeCss, buildStyleBlock, } from './theme';
17
- export { GITHUB_OPENAI_THEME, DEFAULT_THEME } from './presets';