@frontmcp/ui 0.5.1 → 0.6.1

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 (805) hide show
  1. package/README.md +140 -362
  2. package/bridge/adapters/base-adapter.d.ts +104 -0
  3. package/bridge/adapters/base-adapter.d.ts.map +1 -0
  4. package/bridge/adapters/claude.adapter.d.ts +67 -0
  5. package/bridge/adapters/claude.adapter.d.ts.map +1 -0
  6. package/bridge/adapters/ext-apps.adapter.d.ts +143 -0
  7. package/bridge/adapters/ext-apps.adapter.d.ts.map +1 -0
  8. package/bridge/adapters/gemini.adapter.d.ts +64 -0
  9. package/bridge/adapters/gemini.adapter.d.ts.map +1 -0
  10. package/bridge/adapters/generic.adapter.d.ts +56 -0
  11. package/bridge/adapters/generic.adapter.d.ts.map +1 -0
  12. package/bridge/adapters/index.d.ts +26 -0
  13. package/bridge/adapters/index.d.ts.map +1 -0
  14. package/bridge/adapters/openai.adapter.d.ts +65 -0
  15. package/bridge/adapters/openai.adapter.d.ts.map +1 -0
  16. package/bridge/core/adapter-registry.d.ts +122 -0
  17. package/bridge/core/adapter-registry.d.ts.map +1 -0
  18. package/bridge/core/bridge-factory.d.ts +199 -0
  19. package/bridge/core/bridge-factory.d.ts.map +1 -0
  20. package/bridge/core/index.d.ts +10 -0
  21. package/bridge/core/index.d.ts.map +1 -0
  22. package/bridge/index.d.ts +62 -0
  23. package/bridge/index.d.ts.map +1 -0
  24. package/bridge/index.js +2540 -0
  25. package/bridge/runtime/iife-generator.d.ts +62 -0
  26. package/bridge/runtime/iife-generator.d.ts.map +1 -0
  27. package/bridge/runtime/index.d.ts +10 -0
  28. package/bridge/runtime/index.d.ts.map +1 -0
  29. package/bridge/types.d.ts +386 -0
  30. package/bridge/types.d.ts.map +1 -0
  31. package/bundler/bundler.d.ts +208 -0
  32. package/bundler/bundler.d.ts.map +1 -0
  33. package/bundler/cache.d.ts +173 -0
  34. package/bundler/cache.d.ts.map +1 -0
  35. package/bundler/file-cache/component-builder.d.ts +167 -0
  36. package/bundler/file-cache/component-builder.d.ts.map +1 -0
  37. package/bundler/file-cache/hash-calculator.d.ts +155 -0
  38. package/bundler/file-cache/hash-calculator.d.ts.map +1 -0
  39. package/bundler/file-cache/index.d.ts +12 -0
  40. package/bundler/file-cache/index.d.ts.map +1 -0
  41. package/bundler/file-cache/storage/filesystem.d.ts +149 -0
  42. package/bundler/file-cache/storage/filesystem.d.ts.map +1 -0
  43. package/bundler/file-cache/storage/index.d.ts +11 -0
  44. package/bundler/file-cache/storage/index.d.ts.map +1 -0
  45. package/bundler/file-cache/storage/interface.d.ts +152 -0
  46. package/bundler/file-cache/storage/interface.d.ts.map +1 -0
  47. package/bundler/file-cache/storage/redis.d.ts +139 -0
  48. package/bundler/file-cache/storage/redis.d.ts.map +1 -0
  49. package/bundler/index.d.ts +43 -0
  50. package/bundler/index.d.ts.map +1 -0
  51. package/bundler/index.js +3707 -0
  52. package/bundler/sandbox/enclave-adapter.d.ts +121 -0
  53. package/bundler/sandbox/enclave-adapter.d.ts.map +1 -0
  54. package/bundler/sandbox/executor.d.ts +14 -0
  55. package/bundler/sandbox/executor.d.ts.map +1 -0
  56. package/bundler/sandbox/policy.d.ts +62 -0
  57. package/bundler/sandbox/policy.d.ts.map +1 -0
  58. package/bundler/types.d.ts +702 -0
  59. package/bundler/types.d.ts.map +1 -0
  60. package/components/alert.d.ts +66 -0
  61. package/components/alert.d.ts.map +1 -0
  62. package/components/alert.schema.d.ts +98 -0
  63. package/components/alert.schema.d.ts.map +1 -0
  64. package/components/avatar.d.ts +77 -0
  65. package/components/avatar.d.ts.map +1 -0
  66. package/components/avatar.schema.d.ts +170 -0
  67. package/components/avatar.schema.d.ts.map +1 -0
  68. package/components/badge.d.ts +64 -0
  69. package/components/badge.d.ts.map +1 -0
  70. package/components/badge.schema.d.ts +91 -0
  71. package/components/badge.schema.d.ts.map +1 -0
  72. package/components/button.d.ts +100 -0
  73. package/components/button.d.ts.map +1 -0
  74. package/components/button.schema.d.ts +120 -0
  75. package/components/button.schema.d.ts.map +1 -0
  76. package/components/card.d.ts +53 -0
  77. package/components/card.d.ts.map +1 -0
  78. package/components/card.schema.d.ts +93 -0
  79. package/components/card.schema.d.ts.map +1 -0
  80. package/components/form.d.ts +212 -0
  81. package/components/form.d.ts.map +1 -0
  82. package/components/form.schema.d.ts +365 -0
  83. package/components/form.schema.d.ts.map +1 -0
  84. package/components/index.d.ts +29 -0
  85. package/components/index.d.ts.map +1 -0
  86. package/components/index.js +2525 -0
  87. package/components/list.d.ts +121 -0
  88. package/components/list.d.ts.map +1 -0
  89. package/components/list.schema.d.ts +129 -0
  90. package/components/list.schema.d.ts.map +1 -0
  91. package/components/modal.d.ts +100 -0
  92. package/components/modal.d.ts.map +1 -0
  93. package/components/modal.schema.d.ts +151 -0
  94. package/components/modal.schema.d.ts.map +1 -0
  95. package/components/table.d.ts +91 -0
  96. package/components/table.d.ts.map +1 -0
  97. package/components/table.schema.d.ts +123 -0
  98. package/components/table.schema.d.ts.map +1 -0
  99. package/esm/bridge/adapters/base-adapter.d.ts +104 -0
  100. package/esm/bridge/adapters/base-adapter.d.ts.map +1 -0
  101. package/esm/bridge/adapters/claude.adapter.d.ts +67 -0
  102. package/esm/bridge/adapters/claude.adapter.d.ts.map +1 -0
  103. package/esm/bridge/adapters/ext-apps.adapter.d.ts +143 -0
  104. package/esm/bridge/adapters/ext-apps.adapter.d.ts.map +1 -0
  105. package/esm/bridge/adapters/gemini.adapter.d.ts +64 -0
  106. package/esm/bridge/adapters/gemini.adapter.d.ts.map +1 -0
  107. package/esm/bridge/adapters/generic.adapter.d.ts +56 -0
  108. package/esm/bridge/adapters/generic.adapter.d.ts.map +1 -0
  109. package/esm/bridge/adapters/index.d.ts +26 -0
  110. package/esm/bridge/adapters/index.d.ts.map +1 -0
  111. package/esm/bridge/adapters/openai.adapter.d.ts +65 -0
  112. package/esm/bridge/adapters/openai.adapter.d.ts.map +1 -0
  113. package/esm/bridge/core/adapter-registry.d.ts +122 -0
  114. package/esm/bridge/core/adapter-registry.d.ts.map +1 -0
  115. package/esm/bridge/core/bridge-factory.d.ts +199 -0
  116. package/esm/bridge/core/bridge-factory.d.ts.map +1 -0
  117. package/esm/bridge/core/index.d.ts +10 -0
  118. package/esm/bridge/core/index.d.ts.map +1 -0
  119. package/esm/bridge/index.d.ts +62 -0
  120. package/esm/bridge/index.d.ts.map +1 -0
  121. package/esm/bridge/index.js +2487 -0
  122. package/esm/bridge/runtime/iife-generator.d.ts +62 -0
  123. package/esm/bridge/runtime/iife-generator.d.ts.map +1 -0
  124. package/esm/bridge/runtime/index.d.ts +10 -0
  125. package/esm/bridge/runtime/index.d.ts.map +1 -0
  126. package/esm/bridge/types.d.ts +386 -0
  127. package/esm/bridge/types.d.ts.map +1 -0
  128. package/esm/bundler/bundler.d.ts +208 -0
  129. package/esm/bundler/bundler.d.ts.map +1 -0
  130. package/esm/bundler/cache.d.ts +173 -0
  131. package/esm/bundler/cache.d.ts.map +1 -0
  132. package/esm/bundler/file-cache/component-builder.d.ts +167 -0
  133. package/esm/bundler/file-cache/component-builder.d.ts.map +1 -0
  134. package/esm/bundler/file-cache/hash-calculator.d.ts +155 -0
  135. package/esm/bundler/file-cache/hash-calculator.d.ts.map +1 -0
  136. package/esm/bundler/file-cache/index.d.ts +12 -0
  137. package/esm/bundler/file-cache/index.d.ts.map +1 -0
  138. package/esm/bundler/file-cache/storage/filesystem.d.ts +149 -0
  139. package/esm/bundler/file-cache/storage/filesystem.d.ts.map +1 -0
  140. package/esm/bundler/file-cache/storage/index.d.ts +11 -0
  141. package/esm/bundler/file-cache/storage/index.d.ts.map +1 -0
  142. package/esm/bundler/file-cache/storage/interface.d.ts +152 -0
  143. package/esm/bundler/file-cache/storage/interface.d.ts.map +1 -0
  144. package/esm/bundler/file-cache/storage/redis.d.ts +139 -0
  145. package/esm/bundler/file-cache/storage/redis.d.ts.map +1 -0
  146. package/esm/bundler/index.d.ts +43 -0
  147. package/esm/bundler/index.d.ts.map +1 -0
  148. package/esm/bundler/index.js +3640 -0
  149. package/esm/bundler/sandbox/enclave-adapter.d.ts +121 -0
  150. package/esm/bundler/sandbox/enclave-adapter.d.ts.map +1 -0
  151. package/esm/bundler/sandbox/executor.d.ts +14 -0
  152. package/esm/bundler/sandbox/executor.d.ts.map +1 -0
  153. package/esm/bundler/sandbox/policy.d.ts +62 -0
  154. package/esm/bundler/sandbox/policy.d.ts.map +1 -0
  155. package/esm/bundler/types.d.ts +702 -0
  156. package/esm/bundler/types.d.ts.map +1 -0
  157. package/esm/components/alert.d.ts +66 -0
  158. package/esm/components/alert.d.ts.map +1 -0
  159. package/esm/components/alert.schema.d.ts +98 -0
  160. package/esm/components/alert.schema.d.ts.map +1 -0
  161. package/esm/components/avatar.d.ts +77 -0
  162. package/esm/components/avatar.d.ts.map +1 -0
  163. package/esm/components/avatar.schema.d.ts +170 -0
  164. package/esm/components/avatar.schema.d.ts.map +1 -0
  165. package/esm/components/badge.d.ts +64 -0
  166. package/esm/components/badge.d.ts.map +1 -0
  167. package/esm/components/badge.schema.d.ts +91 -0
  168. package/esm/components/badge.schema.d.ts.map +1 -0
  169. package/esm/components/button.d.ts +100 -0
  170. package/esm/components/button.d.ts.map +1 -0
  171. package/esm/components/button.schema.d.ts +120 -0
  172. package/esm/components/button.schema.d.ts.map +1 -0
  173. package/esm/components/card.d.ts +53 -0
  174. package/esm/components/card.d.ts.map +1 -0
  175. package/esm/components/card.schema.d.ts +93 -0
  176. package/esm/components/card.schema.d.ts.map +1 -0
  177. package/esm/components/form.d.ts +212 -0
  178. package/esm/components/form.d.ts.map +1 -0
  179. package/esm/components/form.schema.d.ts +365 -0
  180. package/esm/components/form.schema.d.ts.map +1 -0
  181. package/esm/components/index.d.ts +29 -0
  182. package/esm/components/index.d.ts.map +1 -0
  183. package/esm/components/index.js +2396 -0
  184. package/esm/components/list.d.ts +121 -0
  185. package/esm/components/list.d.ts.map +1 -0
  186. package/esm/components/list.schema.d.ts +129 -0
  187. package/esm/components/list.schema.d.ts.map +1 -0
  188. package/esm/components/modal.d.ts +100 -0
  189. package/esm/components/modal.d.ts.map +1 -0
  190. package/esm/components/modal.schema.d.ts +151 -0
  191. package/esm/components/modal.schema.d.ts.map +1 -0
  192. package/esm/components/table.d.ts +91 -0
  193. package/esm/components/table.d.ts.map +1 -0
  194. package/esm/components/table.schema.d.ts +123 -0
  195. package/esm/components/table.schema.d.ts.map +1 -0
  196. package/esm/index.d.ts +40 -0
  197. package/esm/index.d.ts.map +1 -0
  198. package/esm/index.js +8326 -0
  199. package/esm/layouts/base.d.ts +86 -0
  200. package/esm/layouts/base.d.ts.map +1 -0
  201. package/esm/layouts/index.d.ts +8 -0
  202. package/esm/layouts/index.d.ts.map +1 -0
  203. package/esm/layouts/index.js +409 -0
  204. package/esm/layouts/presets.d.ts +134 -0
  205. package/esm/layouts/presets.d.ts.map +1 -0
  206. package/esm/package.json +72 -0
  207. package/esm/pages/consent.d.ts +117 -0
  208. package/esm/pages/consent.d.ts.map +1 -0
  209. package/esm/pages/error.d.ts +101 -0
  210. package/esm/pages/error.d.ts.map +1 -0
  211. package/esm/pages/index.d.ts +9 -0
  212. package/esm/pages/index.d.ts.map +1 -0
  213. package/esm/pages/index.js +1036 -0
  214. package/esm/react/Alert.d.ts +101 -0
  215. package/esm/react/Alert.d.ts.map +1 -0
  216. package/esm/react/Badge.d.ts +100 -0
  217. package/esm/react/Badge.d.ts.map +1 -0
  218. package/esm/react/Button.d.ts +108 -0
  219. package/esm/react/Button.d.ts.map +1 -0
  220. package/esm/react/Card.d.ts +103 -0
  221. package/esm/react/Card.d.ts.map +1 -0
  222. package/esm/react/hooks/context.d.ts +179 -0
  223. package/esm/react/hooks/context.d.ts.map +1 -0
  224. package/esm/react/hooks/index.d.ts +42 -0
  225. package/esm/react/hooks/index.d.ts.map +1 -0
  226. package/esm/react/hooks/tools.d.ts +284 -0
  227. package/esm/react/hooks/tools.d.ts.map +1 -0
  228. package/esm/react/index.d.ts +80 -0
  229. package/esm/react/index.d.ts.map +1 -0
  230. package/esm/react/index.js +3124 -0
  231. package/esm/react/types.d.ts +105 -0
  232. package/esm/react/types.d.ts.map +1 -0
  233. package/esm/react/utils.d.ts +43 -0
  234. package/esm/react/utils.d.ts.map +1 -0
  235. package/esm/render/index.d.ts +8 -0
  236. package/esm/render/index.d.ts.map +1 -0
  237. package/esm/render/index.js +45 -0
  238. package/esm/render/prerender.d.ts +57 -0
  239. package/esm/render/prerender.d.ts.map +1 -0
  240. package/esm/renderers/index.d.ts +21 -0
  241. package/esm/renderers/index.d.ts.map +1 -0
  242. package/esm/renderers/index.js +381 -0
  243. package/esm/renderers/react.adapter.d.ts +70 -0
  244. package/esm/renderers/react.adapter.d.ts.map +1 -0
  245. package/esm/renderers/react.renderer.d.ts +96 -0
  246. package/esm/renderers/react.renderer.d.ts.map +1 -0
  247. package/esm/universal/UniversalApp.d.ts +108 -0
  248. package/esm/universal/UniversalApp.d.ts.map +1 -0
  249. package/esm/universal/cached-runtime.d.ts +115 -0
  250. package/esm/universal/cached-runtime.d.ts.map +1 -0
  251. package/esm/universal/context.d.ts +122 -0
  252. package/esm/universal/context.d.ts.map +1 -0
  253. package/esm/universal/index.d.ts +57 -0
  254. package/esm/universal/index.d.ts.map +1 -0
  255. package/esm/universal/index.js +1755 -0
  256. package/esm/universal/renderers/html.renderer.d.ts +37 -0
  257. package/esm/universal/renderers/html.renderer.d.ts.map +1 -0
  258. package/esm/universal/renderers/index.d.ts +112 -0
  259. package/esm/universal/renderers/index.d.ts.map +1 -0
  260. package/esm/universal/renderers/markdown.renderer.d.ts +33 -0
  261. package/esm/universal/renderers/markdown.renderer.d.ts.map +1 -0
  262. package/esm/universal/renderers/mdx.renderer.d.ts +38 -0
  263. package/esm/universal/renderers/mdx.renderer.d.ts.map +1 -0
  264. package/esm/universal/renderers/react.renderer.d.ts +46 -0
  265. package/esm/universal/renderers/react.renderer.d.ts.map +1 -0
  266. package/esm/universal/runtime-builder.d.ts +33 -0
  267. package/esm/universal/runtime-builder.d.ts.map +1 -0
  268. package/esm/universal/store.d.ts +135 -0
  269. package/esm/universal/store.d.ts.map +1 -0
  270. package/esm/universal/types.d.ts +199 -0
  271. package/esm/universal/types.d.ts.map +1 -0
  272. package/esm/web-components/core/attribute-parser.d.ts +82 -0
  273. package/esm/web-components/core/attribute-parser.d.ts.map +1 -0
  274. package/esm/web-components/core/base-element.d.ts +197 -0
  275. package/esm/web-components/core/base-element.d.ts.map +1 -0
  276. package/esm/web-components/core/index.d.ts +9 -0
  277. package/esm/web-components/core/index.d.ts.map +1 -0
  278. package/esm/web-components/elements/fmcp-alert.d.ts +46 -0
  279. package/esm/web-components/elements/fmcp-alert.d.ts.map +1 -0
  280. package/esm/web-components/elements/fmcp-badge.d.ts +47 -0
  281. package/esm/web-components/elements/fmcp-badge.d.ts.map +1 -0
  282. package/esm/web-components/elements/fmcp-button.d.ts +117 -0
  283. package/esm/web-components/elements/fmcp-button.d.ts.map +1 -0
  284. package/esm/web-components/elements/fmcp-card.d.ts +53 -0
  285. package/esm/web-components/elements/fmcp-card.d.ts.map +1 -0
  286. package/esm/web-components/elements/fmcp-input.d.ts +96 -0
  287. package/esm/web-components/elements/fmcp-input.d.ts.map +1 -0
  288. package/esm/web-components/elements/fmcp-select.d.ts +100 -0
  289. package/esm/web-components/elements/fmcp-select.d.ts.map +1 -0
  290. package/esm/web-components/elements/index.d.ts +13 -0
  291. package/esm/web-components/elements/index.d.ts.map +1 -0
  292. package/esm/web-components/index.d.ts +50 -0
  293. package/esm/web-components/index.d.ts.map +1 -0
  294. package/esm/web-components/index.js +1993 -0
  295. package/esm/web-components/register.d.ts +57 -0
  296. package/esm/web-components/register.d.ts.map +1 -0
  297. package/esm/web-components/types.d.ts +122 -0
  298. package/esm/web-components/types.d.ts.map +1 -0
  299. package/esm/widgets/index.d.ts +8 -0
  300. package/esm/widgets/index.d.ts.map +1 -0
  301. package/esm/widgets/index.js +883 -0
  302. package/esm/widgets/progress.d.ts +133 -0
  303. package/esm/widgets/progress.d.ts.map +1 -0
  304. package/esm/widgets/resource.d.ts +163 -0
  305. package/esm/widgets/resource.d.ts.map +1 -0
  306. package/index.d.ts +40 -0
  307. package/index.d.ts.map +1 -0
  308. package/index.js +8526 -0
  309. package/layouts/base.d.ts +86 -0
  310. package/layouts/base.d.ts.map +1 -0
  311. package/layouts/index.d.ts +8 -0
  312. package/layouts/index.d.ts.map +1 -0
  313. package/layouts/index.js +437 -0
  314. package/layouts/presets.d.ts +134 -0
  315. package/layouts/presets.d.ts.map +1 -0
  316. package/package.json +33 -110
  317. package/pages/consent.d.ts +117 -0
  318. package/pages/consent.d.ts.map +1 -0
  319. package/pages/error.d.ts +101 -0
  320. package/pages/error.d.ts.map +1 -0
  321. package/pages/index.d.ts +9 -0
  322. package/pages/index.d.ts.map +1 -0
  323. package/pages/index.js +1065 -0
  324. package/react/Alert.d.ts +101 -0
  325. package/react/Alert.d.ts.map +1 -0
  326. package/react/Badge.d.ts +100 -0
  327. package/react/Badge.d.ts.map +1 -0
  328. package/react/Button.d.ts +108 -0
  329. package/react/Button.d.ts.map +1 -0
  330. package/react/Card.d.ts +103 -0
  331. package/react/Card.d.ts.map +1 -0
  332. package/react/hooks/context.d.ts +179 -0
  333. package/react/hooks/context.d.ts.map +1 -0
  334. package/react/hooks/index.d.ts +42 -0
  335. package/react/hooks/index.d.ts.map +1 -0
  336. package/react/hooks/tools.d.ts +284 -0
  337. package/react/hooks/tools.d.ts.map +1 -0
  338. package/react/index.d.ts +80 -0
  339. package/react/index.d.ts.map +1 -0
  340. package/react/index.js +3160 -0
  341. package/react/types.d.ts +105 -0
  342. package/react/types.d.ts.map +1 -0
  343. package/react/utils.d.ts +43 -0
  344. package/react/utils.d.ts.map +1 -0
  345. package/render/index.d.ts +8 -0
  346. package/render/index.d.ts.map +1 -0
  347. package/render/index.js +77 -0
  348. package/render/prerender.d.ts +57 -0
  349. package/render/prerender.d.ts.map +1 -0
  350. package/renderers/index.d.ts +21 -0
  351. package/renderers/index.d.ts.map +1 -0
  352. package/renderers/index.js +416 -0
  353. package/renderers/react.adapter.d.ts +70 -0
  354. package/renderers/react.adapter.d.ts.map +1 -0
  355. package/renderers/react.renderer.d.ts +96 -0
  356. package/renderers/react.renderer.d.ts.map +1 -0
  357. package/universal/UniversalApp.d.ts +108 -0
  358. package/universal/UniversalApp.d.ts.map +1 -0
  359. package/universal/cached-runtime.d.ts +115 -0
  360. package/universal/cached-runtime.d.ts.map +1 -0
  361. package/universal/context.d.ts +122 -0
  362. package/universal/context.d.ts.map +1 -0
  363. package/universal/index.d.ts +57 -0
  364. package/universal/index.d.ts.map +1 -0
  365. package/universal/index.js +1841 -0
  366. package/universal/renderers/html.renderer.d.ts +37 -0
  367. package/universal/renderers/html.renderer.d.ts.map +1 -0
  368. package/universal/renderers/index.d.ts +112 -0
  369. package/universal/renderers/index.d.ts.map +1 -0
  370. package/universal/renderers/markdown.renderer.d.ts +33 -0
  371. package/universal/renderers/markdown.renderer.d.ts.map +1 -0
  372. package/universal/renderers/mdx.renderer.d.ts +38 -0
  373. package/universal/renderers/mdx.renderer.d.ts.map +1 -0
  374. package/universal/renderers/react.renderer.d.ts +46 -0
  375. package/universal/renderers/react.renderer.d.ts.map +1 -0
  376. package/universal/runtime-builder.d.ts +33 -0
  377. package/universal/runtime-builder.d.ts.map +1 -0
  378. package/universal/store.d.ts +135 -0
  379. package/universal/store.d.ts.map +1 -0
  380. package/universal/types.d.ts +199 -0
  381. package/universal/types.d.ts.map +1 -0
  382. package/web-components/core/attribute-parser.d.ts +82 -0
  383. package/web-components/core/attribute-parser.d.ts.map +1 -0
  384. package/web-components/core/base-element.d.ts +197 -0
  385. package/web-components/core/base-element.d.ts.map +1 -0
  386. package/web-components/core/index.d.ts +9 -0
  387. package/web-components/core/index.d.ts.map +1 -0
  388. package/web-components/elements/fmcp-alert.d.ts +46 -0
  389. package/web-components/elements/fmcp-alert.d.ts.map +1 -0
  390. package/web-components/elements/fmcp-badge.d.ts +47 -0
  391. package/web-components/elements/fmcp-badge.d.ts.map +1 -0
  392. package/web-components/elements/fmcp-button.d.ts +117 -0
  393. package/web-components/elements/fmcp-button.d.ts.map +1 -0
  394. package/web-components/elements/fmcp-card.d.ts +53 -0
  395. package/web-components/elements/fmcp-card.d.ts.map +1 -0
  396. package/web-components/elements/fmcp-input.d.ts +96 -0
  397. package/web-components/elements/fmcp-input.d.ts.map +1 -0
  398. package/web-components/elements/fmcp-select.d.ts +100 -0
  399. package/web-components/elements/fmcp-select.d.ts.map +1 -0
  400. package/web-components/elements/index.d.ts +13 -0
  401. package/web-components/elements/index.d.ts.map +1 -0
  402. package/web-components/index.d.ts +50 -0
  403. package/web-components/index.d.ts.map +1 -0
  404. package/web-components/index.js +2028 -0
  405. package/web-components/register.d.ts +57 -0
  406. package/web-components/register.d.ts.map +1 -0
  407. package/web-components/types.d.ts +122 -0
  408. package/web-components/types.d.ts.map +1 -0
  409. package/widgets/index.d.ts +8 -0
  410. package/widgets/index.d.ts.map +1 -0
  411. package/widgets/index.js +910 -0
  412. package/widgets/progress.d.ts +133 -0
  413. package/widgets/progress.d.ts.map +1 -0
  414. package/widgets/resource.d.ts +163 -0
  415. package/widgets/resource.d.ts.map +1 -0
  416. package/src/adapters/index.d.ts +0 -10
  417. package/src/adapters/index.js +0 -18
  418. package/src/adapters/index.js.map +0 -1
  419. package/src/adapters/platform-meta.d.ts +0 -165
  420. package/src/adapters/platform-meta.js +0 -310
  421. package/src/adapters/platform-meta.js.map +0 -1
  422. package/src/base-template/bridge.d.ts +0 -89
  423. package/src/base-template/bridge.js +0 -452
  424. package/src/base-template/bridge.js.map +0 -1
  425. package/src/base-template/default-base-template.d.ts +0 -91
  426. package/src/base-template/default-base-template.js +0 -435
  427. package/src/base-template/default-base-template.js.map +0 -1
  428. package/src/base-template/index.d.ts +0 -14
  429. package/src/base-template/index.js +0 -30
  430. package/src/base-template/index.js.map +0 -1
  431. package/src/base-template/polyfills.d.ts +0 -30
  432. package/src/base-template/polyfills.js +0 -190
  433. package/src/base-template/polyfills.js.map +0 -1
  434. package/src/base-template/theme-styles.d.ts +0 -73
  435. package/src/base-template/theme-styles.js +0 -95
  436. package/src/base-template/theme-styles.js.map +0 -1
  437. package/src/bridge/adapters/base-adapter.d.ts +0 -103
  438. package/src/bridge/adapters/base-adapter.js +0 -314
  439. package/src/bridge/adapters/base-adapter.js.map +0 -1
  440. package/src/bridge/adapters/claude.adapter.d.ts +0 -66
  441. package/src/bridge/adapters/claude.adapter.js +0 -145
  442. package/src/bridge/adapters/claude.adapter.js.map +0 -1
  443. package/src/bridge/adapters/ext-apps.adapter.d.ts +0 -142
  444. package/src/bridge/adapters/ext-apps.adapter.js +0 -416
  445. package/src/bridge/adapters/ext-apps.adapter.js.map +0 -1
  446. package/src/bridge/adapters/gemini.adapter.d.ts +0 -63
  447. package/src/bridge/adapters/gemini.adapter.js +0 -160
  448. package/src/bridge/adapters/gemini.adapter.js.map +0 -1
  449. package/src/bridge/adapters/generic.adapter.d.ts +0 -55
  450. package/src/bridge/adapters/generic.adapter.js +0 -108
  451. package/src/bridge/adapters/generic.adapter.js.map +0 -1
  452. package/src/bridge/adapters/index.d.ts +0 -25
  453. package/src/bridge/adapters/index.js +0 -65
  454. package/src/bridge/adapters/index.js.map +0 -1
  455. package/src/bridge/adapters/openai.adapter.d.ts +0 -64
  456. package/src/bridge/adapters/openai.adapter.js +0 -194
  457. package/src/bridge/adapters/openai.adapter.js.map +0 -1
  458. package/src/bridge/core/adapter-registry.d.ts +0 -121
  459. package/src/bridge/core/adapter-registry.js +0 -271
  460. package/src/bridge/core/adapter-registry.js.map +0 -1
  461. package/src/bridge/core/bridge-factory.d.ts +0 -198
  462. package/src/bridge/core/bridge-factory.js +0 -428
  463. package/src/bridge/core/bridge-factory.js.map +0 -1
  464. package/src/bridge/core/index.d.ts +0 -9
  465. package/src/bridge/core/index.js +0 -22
  466. package/src/bridge/core/index.js.map +0 -1
  467. package/src/bridge/index.d.ts +0 -61
  468. package/src/bridge/index.js +0 -94
  469. package/src/bridge/index.js.map +0 -1
  470. package/src/bridge/runtime/iife-generator.d.ts +0 -61
  471. package/src/bridge/runtime/iife-generator.js +0 -940
  472. package/src/bridge/runtime/iife-generator.js.map +0 -1
  473. package/src/bridge/runtime/index.d.ts +0 -8
  474. package/src/bridge/runtime/index.js +0 -16
  475. package/src/bridge/runtime/index.js.map +0 -1
  476. package/src/bridge/types.d.ts +0 -385
  477. package/src/bridge/types.js +0 -11
  478. package/src/bridge/types.js.map +0 -1
  479. package/src/build/cdn-resources.d.ts +0 -140
  480. package/src/build/cdn-resources.js +0 -314
  481. package/src/build/cdn-resources.js.map +0 -1
  482. package/src/build/index.d.ts +0 -294
  483. package/src/build/index.js +0 -325
  484. package/src/build/index.js.map +0 -1
  485. package/src/build/widget-manifest.d.ts +0 -212
  486. package/src/build/widget-manifest.js +0 -652
  487. package/src/build/widget-manifest.js.map +0 -1
  488. package/src/bundler/bundler.d.ts +0 -110
  489. package/src/bundler/bundler.js +0 -432
  490. package/src/bundler/bundler.js.map +0 -1
  491. package/src/bundler/cache.d.ts +0 -172
  492. package/src/bundler/cache.js +0 -250
  493. package/src/bundler/cache.js.map +0 -1
  494. package/src/bundler/index.d.ts +0 -41
  495. package/src/bundler/index.js +0 -73
  496. package/src/bundler/index.js.map +0 -1
  497. package/src/bundler/sandbox/enclave-adapter.d.ts +0 -120
  498. package/src/bundler/sandbox/enclave-adapter.js +0 -339
  499. package/src/bundler/sandbox/enclave-adapter.js.map +0 -1
  500. package/src/bundler/sandbox/executor.d.ts +0 -13
  501. package/src/bundler/sandbox/executor.js +0 -22
  502. package/src/bundler/sandbox/executor.js.map +0 -1
  503. package/src/bundler/sandbox/policy.d.ts +0 -61
  504. package/src/bundler/sandbox/policy.js +0 -238
  505. package/src/bundler/sandbox/policy.js.map +0 -1
  506. package/src/bundler/types.d.ts +0 -347
  507. package/src/bundler/types.js +0 -132
  508. package/src/bundler/types.js.map +0 -1
  509. package/src/components/alert.d.ts +0 -71
  510. package/src/components/alert.js +0 -189
  511. package/src/components/alert.js.map +0 -1
  512. package/src/components/alert.schema.d.ts +0 -114
  513. package/src/components/alert.schema.js +0 -105
  514. package/src/components/alert.schema.js.map +0 -1
  515. package/src/components/avatar.d.ts +0 -76
  516. package/src/components/avatar.js +0 -176
  517. package/src/components/avatar.js.map +0 -1
  518. package/src/components/avatar.schema.d.ts +0 -169
  519. package/src/components/avatar.schema.js +0 -103
  520. package/src/components/avatar.schema.js.map +0 -1
  521. package/src/components/badge.d.ts +0 -70
  522. package/src/components/badge.js +0 -149
  523. package/src/components/badge.js.map +0 -1
  524. package/src/components/badge.schema.d.ts +0 -109
  525. package/src/components/badge.schema.js +0 -96
  526. package/src/components/badge.schema.js.map +0 -1
  527. package/src/components/button.d.ts +0 -111
  528. package/src/components/button.js +0 -336
  529. package/src/components/button.js.map +0 -1
  530. package/src/components/button.schema.d.ts +0 -148
  531. package/src/components/button.schema.js +0 -121
  532. package/src/components/button.schema.js.map +0 -1
  533. package/src/components/card.d.ts +0 -60
  534. package/src/components/card.js +0 -117
  535. package/src/components/card.js.map +0 -1
  536. package/src/components/card.schema.d.ts +0 -113
  537. package/src/components/card.schema.js +0 -98
  538. package/src/components/card.schema.js.map +0 -1
  539. package/src/components/form.d.ts +0 -239
  540. package/src/components/form.js +0 -420
  541. package/src/components/form.js.map +0 -1
  542. package/src/components/form.schema.d.ts +0 -441
  543. package/src/components/form.schema.js +0 -406
  544. package/src/components/form.schema.js.map +0 -1
  545. package/src/components/index.d.ts +0 -29
  546. package/src/components/index.js +0 -98
  547. package/src/components/index.js.map +0 -1
  548. package/src/components/list.d.ts +0 -127
  549. package/src/components/list.js +0 -279
  550. package/src/components/list.js.map +0 -1
  551. package/src/components/list.schema.d.ts +0 -134
  552. package/src/components/list.schema.js +0 -168
  553. package/src/components/list.schema.js.map +0 -1
  554. package/src/components/modal.d.ts +0 -111
  555. package/src/components/modal.js +0 -260
  556. package/src/components/modal.js.map +0 -1
  557. package/src/components/modal.schema.d.ts +0 -186
  558. package/src/components/modal.schema.js +0 -167
  559. package/src/components/modal.schema.js.map +0 -1
  560. package/src/components/table.d.ts +0 -105
  561. package/src/components/table.js +0 -283
  562. package/src/components/table.js.map +0 -1
  563. package/src/components/table.schema.d.ts +0 -159
  564. package/src/components/table.schema.js +0 -173
  565. package/src/components/table.schema.js.map +0 -1
  566. package/src/handlebars/helpers.d.ts +0 -348
  567. package/src/handlebars/helpers.js +0 -605
  568. package/src/handlebars/helpers.js.map +0 -1
  569. package/src/handlebars/index.d.ts +0 -193
  570. package/src/handlebars/index.js +0 -350
  571. package/src/handlebars/index.js.map +0 -1
  572. package/src/index.d.ts +0 -50
  573. package/src/index.js +0 -192
  574. package/src/index.js.map +0 -1
  575. package/src/layouts/base.d.ts +0 -88
  576. package/src/layouts/base.js +0 -227
  577. package/src/layouts/base.js.map +0 -1
  578. package/src/layouts/index.d.ts +0 -7
  579. package/src/layouts/index.js +0 -25
  580. package/src/layouts/index.js.map +0 -1
  581. package/src/layouts/presets.d.ts +0 -133
  582. package/src/layouts/presets.js +0 -277
  583. package/src/layouts/presets.js.map +0 -1
  584. package/src/pages/consent.d.ts +0 -116
  585. package/src/pages/consent.js +0 -218
  586. package/src/pages/consent.js.map +0 -1
  587. package/src/pages/error.d.ts +0 -100
  588. package/src/pages/error.js +0 -263
  589. package/src/pages/error.js.map +0 -1
  590. package/src/pages/index.d.ts +0 -8
  591. package/src/pages/index.js +0 -27
  592. package/src/pages/index.js.map +0 -1
  593. package/src/react/Alert.d.ts +0 -101
  594. package/src/react/Alert.js +0 -51
  595. package/src/react/Alert.js.map +0 -1
  596. package/src/react/Badge.d.ts +0 -100
  597. package/src/react/Badge.js +0 -55
  598. package/src/react/Badge.js.map +0 -1
  599. package/src/react/Button.d.ts +0 -108
  600. package/src/react/Button.js +0 -52
  601. package/src/react/Button.js.map +0 -1
  602. package/src/react/Card.d.ts +0 -103
  603. package/src/react/Card.js +0 -55
  604. package/src/react/Card.js.map +0 -1
  605. package/src/react/hooks/context.d.ts +0 -178
  606. package/src/react/hooks/context.js +0 -287
  607. package/src/react/hooks/context.js.map +0 -1
  608. package/src/react/hooks/index.d.ts +0 -41
  609. package/src/react/hooks/index.js +0 -61
  610. package/src/react/hooks/index.js.map +0 -1
  611. package/src/react/hooks/tools.d.ts +0 -283
  612. package/src/react/hooks/tools.js +0 -465
  613. package/src/react/hooks/tools.js.map +0 -1
  614. package/src/react/index.d.ts +0 -80
  615. package/src/react/index.js +0 -113
  616. package/src/react/index.js.map +0 -1
  617. package/src/react/types.d.ts +0 -105
  618. package/src/react/types.js +0 -12
  619. package/src/react/types.js.map +0 -1
  620. package/src/react/utils.d.ts +0 -42
  621. package/src/react/utils.js +0 -99
  622. package/src/react/utils.js.map +0 -1
  623. package/src/registry/index.d.ts +0 -45
  624. package/src/registry/index.js +0 -67
  625. package/src/registry/index.js.map +0 -1
  626. package/src/registry/render-template.d.ts +0 -86
  627. package/src/registry/render-template.js +0 -239
  628. package/src/registry/render-template.js.map +0 -1
  629. package/src/registry/tool-ui.registry.d.ts +0 -260
  630. package/src/registry/tool-ui.registry.js +0 -438
  631. package/src/registry/tool-ui.registry.js.map +0 -1
  632. package/src/registry/uri-utils.d.ts +0 -55
  633. package/src/registry/uri-utils.js +0 -97
  634. package/src/registry/uri-utils.js.map +0 -1
  635. package/src/render/index.d.ts +0 -7
  636. package/src/render/index.js +0 -14
  637. package/src/render/index.js.map +0 -1
  638. package/src/render/prerender.d.ts +0 -56
  639. package/src/render/prerender.js +0 -98
  640. package/src/render/prerender.js.map +0 -1
  641. package/src/renderers/cache.d.ts +0 -144
  642. package/src/renderers/cache.js +0 -240
  643. package/src/renderers/cache.js.map +0 -1
  644. package/src/renderers/html.renderer.d.ts +0 -122
  645. package/src/renderers/html.renderer.js +0 -204
  646. package/src/renderers/html.renderer.js.map +0 -1
  647. package/src/renderers/index.d.ts +0 -35
  648. package/src/renderers/index.js +0 -70
  649. package/src/renderers/index.js.map +0 -1
  650. package/src/renderers/mdx.renderer.d.ts +0 -119
  651. package/src/renderers/mdx.renderer.js +0 -305
  652. package/src/renderers/mdx.renderer.js.map +0 -1
  653. package/src/renderers/react.renderer.d.ts +0 -95
  654. package/src/renderers/react.renderer.js +0 -260
  655. package/src/renderers/react.renderer.js.map +0 -1
  656. package/src/renderers/registry.d.ts +0 -133
  657. package/src/renderers/registry.js +0 -232
  658. package/src/renderers/registry.js.map +0 -1
  659. package/src/renderers/types.d.ts +0 -341
  660. package/src/renderers/types.js +0 -9
  661. package/src/renderers/types.js.map +0 -1
  662. package/src/renderers/utils/detect.d.ts +0 -106
  663. package/src/renderers/utils/detect.js +0 -267
  664. package/src/renderers/utils/detect.js.map +0 -1
  665. package/src/renderers/utils/hash.d.ts +0 -39
  666. package/src/renderers/utils/hash.js +0 -75
  667. package/src/renderers/utils/hash.js.map +0 -1
  668. package/src/renderers/utils/index.d.ts +0 -8
  669. package/src/renderers/utils/index.js +0 -28
  670. package/src/renderers/utils/index.js.map +0 -1
  671. package/src/renderers/utils/transpiler.d.ts +0 -88
  672. package/src/renderers/utils/transpiler.js +0 -215
  673. package/src/renderers/utils/transpiler.js.map +0 -1
  674. package/src/runtime/adapters/html.adapter.d.ts +0 -58
  675. package/src/runtime/adapters/html.adapter.js +0 -131
  676. package/src/runtime/adapters/html.adapter.js.map +0 -1
  677. package/src/runtime/adapters/index.d.ts +0 -25
  678. package/src/runtime/adapters/index.js +0 -54
  679. package/src/runtime/adapters/index.js.map +0 -1
  680. package/src/runtime/adapters/mdx.adapter.d.ts +0 -72
  681. package/src/runtime/adapters/mdx.adapter.js +0 -241
  682. package/src/runtime/adapters/mdx.adapter.js.map +0 -1
  683. package/src/runtime/adapters/react.adapter.d.ts +0 -69
  684. package/src/runtime/adapters/react.adapter.js +0 -245
  685. package/src/runtime/adapters/react.adapter.js.map +0 -1
  686. package/src/runtime/adapters/types.d.ts +0 -94
  687. package/src/runtime/adapters/types.js +0 -11
  688. package/src/runtime/adapters/types.js.map +0 -1
  689. package/src/runtime/csp.d.ts +0 -37
  690. package/src/runtime/csp.js +0 -140
  691. package/src/runtime/csp.js.map +0 -1
  692. package/src/runtime/index.d.ts +0 -16
  693. package/src/runtime/index.js +0 -72
  694. package/src/runtime/index.js.map +0 -1
  695. package/src/runtime/mcp-bridge.d.ts +0 -100
  696. package/src/runtime/mcp-bridge.js +0 -581
  697. package/src/runtime/mcp-bridge.js.map +0 -1
  698. package/src/runtime/renderer-runtime.d.ts +0 -132
  699. package/src/runtime/renderer-runtime.js +0 -389
  700. package/src/runtime/renderer-runtime.js.map +0 -1
  701. package/src/runtime/sanitizer.d.ts +0 -171
  702. package/src/runtime/sanitizer.js +0 -318
  703. package/src/runtime/sanitizer.js.map +0 -1
  704. package/src/runtime/types.d.ts +0 -414
  705. package/src/runtime/types.js +0 -12
  706. package/src/runtime/types.js.map +0 -1
  707. package/src/runtime/wrapper.d.ts +0 -375
  708. package/src/runtime/wrapper.js +0 -1793
  709. package/src/runtime/wrapper.js.map +0 -1
  710. package/src/styles/index.d.ts +0 -7
  711. package/src/styles/index.js +0 -11
  712. package/src/styles/index.js.map +0 -1
  713. package/src/styles/variants.d.ts +0 -50
  714. package/src/styles/variants.js +0 -175
  715. package/src/styles/variants.js.map +0 -1
  716. package/src/theme/cdn.d.ts +0 -194
  717. package/src/theme/cdn.js +0 -375
  718. package/src/theme/cdn.js.map +0 -1
  719. package/src/theme/index.d.ts +0 -17
  720. package/src/theme/index.js +0 -57
  721. package/src/theme/index.js.map +0 -1
  722. package/src/theme/platforms.d.ts +0 -106
  723. package/src/theme/platforms.js +0 -161
  724. package/src/theme/platforms.js.map +0 -1
  725. package/src/theme/presets/github-openai.d.ts +0 -49
  726. package/src/theme/presets/github-openai.js +0 -189
  727. package/src/theme/presets/github-openai.js.map +0 -1
  728. package/src/theme/presets/index.d.ts +0 -10
  729. package/src/theme/presets/index.js +0 -17
  730. package/src/theme/presets/index.js.map +0 -1
  731. package/src/theme/theme.d.ts +0 -395
  732. package/src/theme/theme.js +0 -332
  733. package/src/theme/theme.js.map +0 -1
  734. package/src/tool-template/builder.d.ts +0 -212
  735. package/src/tool-template/builder.js +0 -397
  736. package/src/tool-template/builder.js.map +0 -1
  737. package/src/tool-template/index.d.ts +0 -15
  738. package/src/tool-template/index.js +0 -38
  739. package/src/tool-template/index.js.map +0 -1
  740. package/src/types/index.d.ts +0 -13
  741. package/src/types/index.js +0 -26
  742. package/src/types/index.js.map +0 -1
  743. package/src/types/ui-config.d.ts +0 -357
  744. package/src/types/ui-config.js +0 -12
  745. package/src/types/ui-config.js.map +0 -1
  746. package/src/types/ui-runtime.d.ts +0 -965
  747. package/src/types/ui-runtime.js +0 -117
  748. package/src/types/ui-runtime.js.map +0 -1
  749. package/src/validation/error-box.d.ts +0 -55
  750. package/src/validation/error-box.js +0 -75
  751. package/src/validation/error-box.js.map +0 -1
  752. package/src/validation/index.d.ts +0 -12
  753. package/src/validation/index.js +0 -21
  754. package/src/validation/index.js.map +0 -1
  755. package/src/validation/wrapper.d.ts +0 -96
  756. package/src/validation/wrapper.js +0 -117
  757. package/src/validation/wrapper.js.map +0 -1
  758. package/src/web-components/core/attribute-parser.d.ts +0 -85
  759. package/src/web-components/core/attribute-parser.js +0 -189
  760. package/src/web-components/core/attribute-parser.js.map +0 -1
  761. package/src/web-components/core/base-element.d.ts +0 -197
  762. package/src/web-components/core/base-element.js +0 -289
  763. package/src/web-components/core/base-element.js.map +0 -1
  764. package/src/web-components/core/index.d.ts +0 -8
  765. package/src/web-components/core/index.js +0 -18
  766. package/src/web-components/core/index.js.map +0 -1
  767. package/src/web-components/elements/fmcp-alert.d.ts +0 -45
  768. package/src/web-components/elements/fmcp-alert.js +0 -93
  769. package/src/web-components/elements/fmcp-alert.js.map +0 -1
  770. package/src/web-components/elements/fmcp-badge.d.ts +0 -46
  771. package/src/web-components/elements/fmcp-badge.js +0 -99
  772. package/src/web-components/elements/fmcp-badge.js.map +0 -1
  773. package/src/web-components/elements/fmcp-button.d.ts +0 -124
  774. package/src/web-components/elements/fmcp-button.js +0 -233
  775. package/src/web-components/elements/fmcp-button.js.map +0 -1
  776. package/src/web-components/elements/fmcp-card.d.ts +0 -52
  777. package/src/web-components/elements/fmcp-card.js +0 -115
  778. package/src/web-components/elements/fmcp-card.js.map +0 -1
  779. package/src/web-components/elements/fmcp-input.d.ts +0 -95
  780. package/src/web-components/elements/fmcp-input.js +0 -248
  781. package/src/web-components/elements/fmcp-input.js.map +0 -1
  782. package/src/web-components/elements/fmcp-select.d.ts +0 -99
  783. package/src/web-components/elements/fmcp-select.js +0 -243
  784. package/src/web-components/elements/fmcp-select.js.map +0 -1
  785. package/src/web-components/elements/index.d.ts +0 -12
  786. package/src/web-components/elements/index.js +0 -34
  787. package/src/web-components/elements/index.js.map +0 -1
  788. package/src/web-components/index.d.ts +0 -49
  789. package/src/web-components/index.js +0 -75
  790. package/src/web-components/index.js.map +0 -1
  791. package/src/web-components/register.d.ts +0 -56
  792. package/src/web-components/register.js +0 -80
  793. package/src/web-components/register.js.map +0 -1
  794. package/src/web-components/types.d.ts +0 -121
  795. package/src/web-components/types.js +0 -25
  796. package/src/web-components/types.js.map +0 -1
  797. package/src/widgets/index.d.ts +0 -7
  798. package/src/widgets/index.js +0 -24
  799. package/src/widgets/index.js.map +0 -1
  800. package/src/widgets/progress.d.ts +0 -132
  801. package/src/widgets/progress.js +0 -303
  802. package/src/widgets/progress.js.map +0 -1
  803. package/src/widgets/resource.d.ts +0 -162
  804. package/src/widgets/resource.js +0 -340
  805. package/src/widgets/resource.js.map +0 -1
package/src/index.js DELETED
@@ -1,192 +0,0 @@
1
- "use strict";
2
- /**
3
- * @frontmcp/ui
4
- *
5
- * Comprehensive UI library for FrontMCP applications.
6
- * Provides theme system, layouts, components, page templates, and widgets
7
- * for building authentication and authorization UIs across multiple LLM platforms.
8
- *
9
- * Key features:
10
- * - Multi-framework renderer support (HTML, React, MDX)
11
- * - Platform-aware theming (OpenAI, Claude, etc.)
12
- * - Runtime JSX/TSX transpilation with SWC
13
- * - MCP Bridge integration for cross-platform widgets
14
- * - Standalone types and adapters for external consumers (AgentLink)
15
- * - Build-time API for pre-compiling UI templates
16
- *
17
- * ## Standalone Usage (without @frontmcp/sdk)
18
- *
19
- * For external systems like AgentLink that want to use the UI components
20
- * without the full SDK:
21
- *
22
- * ```typescript
23
- * // Import standalone types
24
- * import type { UITemplateConfig, TemplateContext } from '@frontmcp/ui/types';
25
- *
26
- * // Import platform adapters
27
- * import { buildUIMeta } from '@frontmcp/ui/adapters';
28
- *
29
- * // Import build-time API
30
- * import { buildToolUI } from '@frontmcp/ui/build';
31
- *
32
- * // Import components directly
33
- * import { card, button, table } from '@frontmcp/ui/components';
34
- * ```
35
- */
36
- Object.defineProperty(exports, "__esModule", { value: true });
37
- exports.FmcpBadge = exports.FmcpAlert = exports.FmcpCard = exports.FmcpButton = exports.registerFmcpSelect = exports.registerFmcpInput = exports.registerFmcpBadge = exports.registerFmcpAlert = exports.registerFmcpCard = exports.registerFmcpButton = exports.registerAllComponents = exports.BRIDGE_SCRIPT_TAGS = exports.UNIVERSAL_BRIDGE_SCRIPT = exports.generatePlatformBundle = exports.generateBridgeIIFE = exports.registerAdapter = exports.defaultRegistry = exports.AdapterRegistry = exports.createBridge = exports.FrontMcpBridge = exports.redactPIIFromText = exports.detectPIIType = exports.isIPv4 = exports.isSSN = exports.isCreditCard = exports.isPhone = exports.isEmail = exports.detectPII = exports.createSanitizer = exports.sanitizeInput = exports.PII_PATTERNS = exports.REDACTION_TOKENS = exports.getToolUIMimeType = exports.createTemplateHelpers = exports.wrapToolUIMinimal = exports.wrapToolUI = exports.sanitizeCSPDomains = exports.validateCSPDomain = exports.buildCSPMetaTag = exports.buildCSPDirectives = exports.DEFAULT_CSP_DIRECTIVES = exports.isMCPBridgeSupported = exports.getMCPBridgeScript = exports.MCP_BRIDGE_RUNTIME = exports.buildStaticWidget = exports.buildToolUIMulti = exports.buildToolUI = exports.buildOpenAICSP = exports.buildToolDiscoveryMeta = exports.buildUIMeta = void 0;
38
- exports.getUIResourceMimeType = exports.buildStaticWidgetUri = exports.parseWidgetUri = exports.isStaticWidgetUri = exports.isUIResourceUri = exports.UI_RESOURCE_SCHEME = exports.containsMdxSyntax = exports.hasUIConfig = exports.isReactComponent = exports.renderToolTemplateAsync = exports.renderToolTemplate = exports.ToolUIRegistry = exports.FmcpElement = exports.FmcpSelect = exports.FmcpInput = void 0;
39
- const tslib_1 = require("tslib");
40
- // ============================================
41
- // Standalone Types (SDK-independent)
42
- // These are the canonical source for UI configuration types
43
- // ============================================
44
- tslib_1.__exportStar(require("./types"), exports);
45
- // ============================================
46
- // Platform Adapters (SDK-independent)
47
- // ============================================
48
- var adapters_1 = require("./adapters");
49
- Object.defineProperty(exports, "buildUIMeta", { enumerable: true, get: function () { return adapters_1.buildUIMeta; } });
50
- Object.defineProperty(exports, "buildToolDiscoveryMeta", { enumerable: true, get: function () { return adapters_1.buildToolDiscoveryMeta; } });
51
- // Note: buildOpenAICSP is exported from both adapters and runtime/csp
52
- // We export from adapters as the canonical source
53
- Object.defineProperty(exports, "buildOpenAICSP", { enumerable: true, get: function () { return adapters_1.buildOpenAICSP; } });
54
- // ============================================
55
- // Build-Time API (SDK-independent)
56
- // ============================================
57
- var build_1 = require("./build");
58
- Object.defineProperty(exports, "buildToolUI", { enumerable: true, get: function () { return build_1.buildToolUI; } });
59
- Object.defineProperty(exports, "buildToolUIMulti", { enumerable: true, get: function () { return build_1.buildToolUIMulti; } });
60
- Object.defineProperty(exports, "buildStaticWidget", { enumerable: true, get: function () { return build_1.buildStaticWidget; } });
61
- // ============================================
62
- // Core Modules
63
- // ============================================
64
- // Validation system
65
- tslib_1.__exportStar(require("./validation"), exports);
66
- // Theme system
67
- tslib_1.__exportStar(require("./theme"), exports);
68
- // Layout system
69
- tslib_1.__exportStar(require("./layouts"), exports);
70
- // UI Components
71
- tslib_1.__exportStar(require("./components"), exports);
72
- // Page templates
73
- tslib_1.__exportStar(require("./pages"), exports);
74
- // Widgets (OpenAI App SDK, progress, etc.)
75
- tslib_1.__exportStar(require("./widgets"), exports);
76
- // MCP Bridge Runtime (Tool UI templates)
77
- // Note: Excluding types that are now in ./types to avoid duplicates
78
- var runtime_1 = require("./runtime");
79
- // MCP Bridge Runtime
80
- Object.defineProperty(exports, "MCP_BRIDGE_RUNTIME", { enumerable: true, get: function () { return runtime_1.MCP_BRIDGE_RUNTIME; } });
81
- Object.defineProperty(exports, "getMCPBridgeScript", { enumerable: true, get: function () { return runtime_1.getMCPBridgeScript; } });
82
- Object.defineProperty(exports, "isMCPBridgeSupported", { enumerable: true, get: function () { return runtime_1.isMCPBridgeSupported; } });
83
- // CSP utilities (excluding buildOpenAICSP which is in adapters)
84
- Object.defineProperty(exports, "DEFAULT_CSP_DIRECTIVES", { enumerable: true, get: function () { return runtime_1.DEFAULT_CSP_DIRECTIVES; } });
85
- Object.defineProperty(exports, "buildCSPDirectives", { enumerable: true, get: function () { return runtime_1.buildCSPDirectives; } });
86
- Object.defineProperty(exports, "buildCSPMetaTag", { enumerable: true, get: function () { return runtime_1.buildCSPMetaTag; } });
87
- Object.defineProperty(exports, "validateCSPDomain", { enumerable: true, get: function () { return runtime_1.validateCSPDomain; } });
88
- Object.defineProperty(exports, "sanitizeCSPDomains", { enumerable: true, get: function () { return runtime_1.sanitizeCSPDomains; } });
89
- Object.defineProperty(exports, "wrapToolUI", { enumerable: true, get: function () { return runtime_1.wrapToolUI; } });
90
- Object.defineProperty(exports, "wrapToolUIMinimal", { enumerable: true, get: function () { return runtime_1.wrapToolUIMinimal; } });
91
- Object.defineProperty(exports, "createTemplateHelpers", { enumerable: true, get: function () { return runtime_1.createTemplateHelpers; } });
92
- Object.defineProperty(exports, "getToolUIMimeType", { enumerable: true, get: function () { return runtime_1.getToolUIMimeType; } });
93
- Object.defineProperty(exports, "REDACTION_TOKENS", { enumerable: true, get: function () { return runtime_1.REDACTION_TOKENS; } });
94
- Object.defineProperty(exports, "PII_PATTERNS", { enumerable: true, get: function () { return runtime_1.PII_PATTERNS; } });
95
- Object.defineProperty(exports, "sanitizeInput", { enumerable: true, get: function () { return runtime_1.sanitizeInput; } });
96
- Object.defineProperty(exports, "createSanitizer", { enumerable: true, get: function () { return runtime_1.createSanitizer; } });
97
- Object.defineProperty(exports, "detectPII", { enumerable: true, get: function () { return runtime_1.detectPII; } });
98
- Object.defineProperty(exports, "isEmail", { enumerable: true, get: function () { return runtime_1.isEmail; } });
99
- Object.defineProperty(exports, "isPhone", { enumerable: true, get: function () { return runtime_1.isPhone; } });
100
- Object.defineProperty(exports, "isCreditCard", { enumerable: true, get: function () { return runtime_1.isCreditCard; } });
101
- Object.defineProperty(exports, "isSSN", { enumerable: true, get: function () { return runtime_1.isSSN; } });
102
- Object.defineProperty(exports, "isIPv4", { enumerable: true, get: function () { return runtime_1.isIPv4; } });
103
- Object.defineProperty(exports, "detectPIIType", { enumerable: true, get: function () { return runtime_1.detectPIIType; } });
104
- Object.defineProperty(exports, "redactPIIFromText", { enumerable: true, get: function () { return runtime_1.redactPIIFromText; } });
105
- // Tool Template Builder
106
- tslib_1.__exportStar(require("./tool-template"), exports);
107
- // Base Template (for Tool UI widgets)
108
- tslib_1.__exportStar(require("./base-template"), exports);
109
- // Multi-Framework Renderer System
110
- tslib_1.__exportStar(require("./renderers"), exports);
111
- // ============================================
112
- // FrontMcpBridge - Multi-Platform Adapter System
113
- // ============================================
114
- // The bridge module provides a unified API for MCP widgets across platforms:
115
- // - OpenAI ChatGPT Apps SDK
116
- // - ext-apps (SEP-1865 protocol)
117
- // - Claude (Anthropic)
118
- // - Gemini (Google)
119
- // - Generic fallback
120
- //
121
- // For full access to the bridge system, import from '@frontmcp/ui/bridge':
122
- // import { FrontMcpBridge, createBridge } from '@frontmcp/ui/bridge';
123
- //
124
- // Core bridge exports are also available here:
125
- var bridge_1 = require("./bridge");
126
- // Bridge class
127
- Object.defineProperty(exports, "FrontMcpBridge", { enumerable: true, get: function () { return bridge_1.FrontMcpBridge; } });
128
- Object.defineProperty(exports, "createBridge", { enumerable: true, get: function () { return bridge_1.createBridge; } });
129
- // Registry
130
- Object.defineProperty(exports, "AdapterRegistry", { enumerable: true, get: function () { return bridge_1.AdapterRegistry; } });
131
- Object.defineProperty(exports, "defaultRegistry", { enumerable: true, get: function () { return bridge_1.defaultRegistry; } });
132
- Object.defineProperty(exports, "registerAdapter", { enumerable: true, get: function () { return bridge_1.registerAdapter; } });
133
- // Runtime script generation
134
- Object.defineProperty(exports, "generateBridgeIIFE", { enumerable: true, get: function () { return bridge_1.generateBridgeIIFE; } });
135
- Object.defineProperty(exports, "generatePlatformBundle", { enumerable: true, get: function () { return bridge_1.generatePlatformBundle; } });
136
- Object.defineProperty(exports, "UNIVERSAL_BRIDGE_SCRIPT", { enumerable: true, get: function () { return bridge_1.UNIVERSAL_BRIDGE_SCRIPT; } });
137
- Object.defineProperty(exports, "BRIDGE_SCRIPT_TAGS", { enumerable: true, get: function () { return bridge_1.BRIDGE_SCRIPT_TAGS; } });
138
- // ============================================
139
- // Web Components - Custom Elements for React/Vue/HTML
140
- // ============================================
141
- // Web Components wrap the HTML functions as native custom elements
142
- // that work directly in React, Vue, Angular, or plain HTML.
143
- //
144
- // For full access to all web components, import from '@frontmcp/ui/web-components':
145
- // import { registerAllComponents } from '@frontmcp/ui/web-components';
146
- //
147
- // Core web component exports:
148
- var web_components_1 = require("./web-components");
149
- // Registration
150
- Object.defineProperty(exports, "registerAllComponents", { enumerable: true, get: function () { return web_components_1.registerAllComponents; } });
151
- Object.defineProperty(exports, "registerFmcpButton", { enumerable: true, get: function () { return web_components_1.registerFmcpButton; } });
152
- Object.defineProperty(exports, "registerFmcpCard", { enumerable: true, get: function () { return web_components_1.registerFmcpCard; } });
153
- Object.defineProperty(exports, "registerFmcpAlert", { enumerable: true, get: function () { return web_components_1.registerFmcpAlert; } });
154
- Object.defineProperty(exports, "registerFmcpBadge", { enumerable: true, get: function () { return web_components_1.registerFmcpBadge; } });
155
- Object.defineProperty(exports, "registerFmcpInput", { enumerable: true, get: function () { return web_components_1.registerFmcpInput; } });
156
- Object.defineProperty(exports, "registerFmcpSelect", { enumerable: true, get: function () { return web_components_1.registerFmcpSelect; } });
157
- // Element classes
158
- Object.defineProperty(exports, "FmcpButton", { enumerable: true, get: function () { return web_components_1.FmcpButton; } });
159
- Object.defineProperty(exports, "FmcpCard", { enumerable: true, get: function () { return web_components_1.FmcpCard; } });
160
- Object.defineProperty(exports, "FmcpAlert", { enumerable: true, get: function () { return web_components_1.FmcpAlert; } });
161
- Object.defineProperty(exports, "FmcpBadge", { enumerable: true, get: function () { return web_components_1.FmcpBadge; } });
162
- Object.defineProperty(exports, "FmcpInput", { enumerable: true, get: function () { return web_components_1.FmcpInput; } });
163
- Object.defineProperty(exports, "FmcpSelect", { enumerable: true, get: function () { return web_components_1.FmcpSelect; } });
164
- // Base class for custom elements
165
- Object.defineProperty(exports, "FmcpElement", { enumerable: true, get: function () { return web_components_1.FmcpElement; } });
166
- // ============================================
167
- // Registry Module - Standalone Tool UI Building
168
- // ============================================
169
- // The registry module provides the ToolUIRegistry class for standalone widget
170
- // compilation and rendering without requiring @frontmcp/sdk.
171
- //
172
- // For full access to the registry system, import from '@frontmcp/ui/registry':
173
- // import { ToolUIRegistry, renderToolTemplateAsync } from '@frontmcp/ui/registry';
174
- //
175
- // Core registry exports:
176
- var registry_1 = require("./registry");
177
- // Core registry
178
- Object.defineProperty(exports, "ToolUIRegistry", { enumerable: true, get: function () { return registry_1.ToolUIRegistry; } });
179
- // Template rendering
180
- Object.defineProperty(exports, "renderToolTemplate", { enumerable: true, get: function () { return registry_1.renderToolTemplate; } });
181
- Object.defineProperty(exports, "renderToolTemplateAsync", { enumerable: true, get: function () { return registry_1.renderToolTemplateAsync; } });
182
- Object.defineProperty(exports, "isReactComponent", { enumerable: true, get: function () { return registry_1.isReactComponent; } });
183
- Object.defineProperty(exports, "hasUIConfig", { enumerable: true, get: function () { return registry_1.hasUIConfig; } });
184
- Object.defineProperty(exports, "containsMdxSyntax", { enumerable: true, get: function () { return registry_1.containsMdxSyntax; } });
185
- // URI utilities
186
- Object.defineProperty(exports, "UI_RESOURCE_SCHEME", { enumerable: true, get: function () { return registry_1.UI_RESOURCE_SCHEME; } });
187
- Object.defineProperty(exports, "isUIResourceUri", { enumerable: true, get: function () { return registry_1.isUIResourceUri; } });
188
- Object.defineProperty(exports, "isStaticWidgetUri", { enumerable: true, get: function () { return registry_1.isStaticWidgetUri; } });
189
- Object.defineProperty(exports, "parseWidgetUri", { enumerable: true, get: function () { return registry_1.parseWidgetUri; } });
190
- Object.defineProperty(exports, "buildStaticWidgetUri", { enumerable: true, get: function () { return registry_1.buildStaticWidgetUri; } });
191
- Object.defineProperty(exports, "getUIResourceMimeType", { enumerable: true, get: function () { return registry_1.getUIResourceMimeType; } });
192
- //# sourceMappingURL=index.js.map
package/src/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @frontmcp/ui\n *\n * Comprehensive UI library for FrontMCP applications.\n * Provides theme system, layouts, components, page templates, and widgets\n * for building authentication and authorization UIs across multiple LLM platforms.\n *\n * Key features:\n * - Multi-framework renderer support (HTML, React, MDX)\n * - Platform-aware theming (OpenAI, Claude, etc.)\n * - Runtime JSX/TSX transpilation with SWC\n * - MCP Bridge integration for cross-platform widgets\n * - Standalone types and adapters for external consumers (AgentLink)\n * - Build-time API for pre-compiling UI templates\n *\n * ## Standalone Usage (without @frontmcp/sdk)\n *\n * For external systems like AgentLink that want to use the UI components\n * without the full SDK:\n *\n * ```typescript\n * // Import standalone types\n * import type { UITemplateConfig, TemplateContext } from '@frontmcp/ui/types';\n *\n * // Import platform adapters\n * import { buildUIMeta } from '@frontmcp/ui/adapters';\n *\n * // Import build-time API\n * import { buildToolUI } from '@frontmcp/ui/build';\n *\n * // Import components directly\n * import { card, button, table } from '@frontmcp/ui/components';\n * ```\n */\n\n// ============================================\n// Standalone Types (SDK-independent)\n// These are the canonical source for UI configuration types\n// ============================================\nexport * from './types';\n\n// ============================================\n// Platform Adapters (SDK-independent)\n// ============================================\nexport {\n type AIPlatformType,\n type UIMetadata,\n type BuildUIMetaOptions,\n type BuildToolDiscoveryMetaOptions,\n buildUIMeta,\n buildToolDiscoveryMeta,\n // Note: buildOpenAICSP is exported from both adapters and runtime/csp\n // We export from adapters as the canonical source\n buildOpenAICSP,\n} from './adapters';\n\n// ============================================\n// Build-Time API (SDK-independent)\n// ============================================\nexport {\n type BuildTargetPlatform,\n type BuildOptions,\n type BuildResult,\n type MultiBuildOptions,\n type MultiBuildResult,\n type StaticWidgetOptions,\n buildToolUI,\n buildToolUIMulti,\n buildStaticWidget,\n} from './build';\n\n// ============================================\n// Core Modules\n// ============================================\n\n// Validation system\nexport * from './validation';\n\n// Theme system\nexport * from './theme';\n\n// Layout system\nexport * from './layouts';\n\n// UI Components\nexport * from './components';\n\n// Page templates\nexport * from './pages';\n\n// Widgets (OpenAI App SDK, progress, etc.)\nexport * from './widgets';\n\n// MCP Bridge Runtime (Tool UI templates)\n// Note: Excluding types that are now in ./types to avoid duplicates\nexport {\n // Runtime types that are NOT in ./types\n type ProviderType,\n type DisplayMode,\n type ThemeMode,\n type HostContext,\n type MCPBridge,\n type MCPBridgeExtended,\n type WrapToolUIOptions,\n type OpenAIRuntime,\n type OpenAIUserAgent,\n type SafeAreaInsets,\n // MCP Bridge Runtime\n MCP_BRIDGE_RUNTIME,\n getMCPBridgeScript,\n isMCPBridgeSupported,\n // CSP utilities (excluding buildOpenAICSP which is in adapters)\n DEFAULT_CSP_DIRECTIVES,\n buildCSPDirectives,\n buildCSPMetaTag,\n validateCSPDomain,\n sanitizeCSPDomains,\n // Wrapper utilities (excluding buildOpenAIMeta which is in adapters)\n type WrapToolUIFullOptions,\n wrapToolUI,\n wrapToolUIMinimal,\n createTemplateHelpers,\n getToolUIMimeType,\n // Sanitizer\n type SanitizerFn,\n type SanitizeOptions,\n REDACTION_TOKENS,\n PII_PATTERNS,\n sanitizeInput,\n createSanitizer,\n detectPII,\n isEmail,\n isPhone,\n isCreditCard,\n isSSN,\n isIPv4,\n detectPIIType,\n redactPIIFromText,\n} from './runtime';\n\n// Tool Template Builder\nexport * from './tool-template';\n\n// Base Template (for Tool UI widgets)\nexport * from './base-template';\n\n// Multi-Framework Renderer System\nexport * from './renderers';\n\n// ============================================\n// FrontMcpBridge - Multi-Platform Adapter System\n// ============================================\n// The bridge module provides a unified API for MCP widgets across platforms:\n// - OpenAI ChatGPT Apps SDK\n// - ext-apps (SEP-1865 protocol)\n// - Claude (Anthropic)\n// - Gemini (Google)\n// - Generic fallback\n//\n// For full access to the bridge system, import from '@frontmcp/ui/bridge':\n// import { FrontMcpBridge, createBridge } from '@frontmcp/ui/bridge';\n//\n// Core bridge exports are also available here:\nexport {\n // Core types\n type PlatformAdapter,\n type AdapterCapabilities,\n type BridgeConfig,\n // Bridge class\n FrontMcpBridge,\n createBridge,\n // Registry\n AdapterRegistry,\n defaultRegistry,\n registerAdapter,\n // Runtime script generation\n generateBridgeIIFE,\n generatePlatformBundle,\n UNIVERSAL_BRIDGE_SCRIPT,\n BRIDGE_SCRIPT_TAGS,\n} from './bridge';\n\n// ============================================\n// Web Components - Custom Elements for React/Vue/HTML\n// ============================================\n// Web Components wrap the HTML functions as native custom elements\n// that work directly in React, Vue, Angular, or plain HTML.\n//\n// For full access to all web components, import from '@frontmcp/ui/web-components':\n// import { registerAllComponents } from '@frontmcp/ui/web-components';\n//\n// Core web component exports:\nexport {\n // Registration\n registerAllComponents,\n registerFmcpButton,\n registerFmcpCard,\n registerFmcpAlert,\n registerFmcpBadge,\n registerFmcpInput,\n registerFmcpSelect,\n // Element classes\n FmcpButton,\n FmcpCard,\n FmcpAlert,\n FmcpBadge,\n FmcpInput,\n FmcpSelect,\n // Base class for custom elements\n FmcpElement,\n} from './web-components';\n\n// ============================================\n// Registry Module - Standalone Tool UI Building\n// ============================================\n// The registry module provides the ToolUIRegistry class for standalone widget\n// compilation and rendering without requiring @frontmcp/sdk.\n//\n// For full access to the registry system, import from '@frontmcp/ui/registry':\n// import { ToolUIRegistry, renderToolTemplateAsync } from '@frontmcp/ui/registry';\n//\n// Core registry exports:\nexport {\n // Core registry\n ToolUIRegistry,\n type RenderOptions,\n type UIRenderResult,\n type CompileStaticWidgetOptions,\n type HybridComponentPayload,\n type BuildHybridComponentPayloadOptions,\n // Template rendering\n renderToolTemplate,\n renderToolTemplateAsync,\n isReactComponent,\n hasUIConfig,\n containsMdxSyntax,\n type RenderTemplateOptions,\n // URI utilities\n UI_RESOURCE_SCHEME,\n isUIResourceUri,\n isStaticWidgetUri,\n parseWidgetUri,\n buildStaticWidgetUri,\n getUIResourceMimeType,\n type ParsedWidgetUri,\n} from './registry';\n"]}
@@ -1,88 +0,0 @@
1
- /**
2
- * Base Layout System
3
- *
4
- * Provides the foundation for all FrontMCP UI pages with:
5
- * - Platform-aware rendering (OpenAI, Claude, etc.)
6
- * - Theme integration
7
- * - CDN resource management
8
- * - Responsive layouts
9
- */
10
- import { type PlatformCapabilities, type ThemeConfig, type DeepPartial } from '../theme';
11
- /**
12
- * Page type determines the layout structure
13
- */
14
- export type PageType = 'auth' | 'consent' | 'error' | 'loading' | 'success' | 'dashboard' | 'widget' | 'resource' | 'custom';
15
- /**
16
- * Layout size/width options
17
- */
18
- export type LayoutSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full';
19
- /**
20
- * Background style options
21
- */
22
- export type BackgroundStyle = 'solid' | 'gradient' | 'pattern' | 'none';
23
- /**
24
- * Layout alignment options
25
- */
26
- export type LayoutAlignment = 'center' | 'top' | 'start';
27
- /**
28
- * Base layout configuration options
29
- */
30
- export interface BaseLayoutOptions {
31
- /** Page title (will be suffixed with branding) */
32
- title: string;
33
- /** Page type for layout structure */
34
- pageType?: PageType;
35
- /** Content width */
36
- size?: LayoutSize;
37
- /** Content alignment */
38
- alignment?: LayoutAlignment;
39
- /** Background style */
40
- background?: BackgroundStyle;
41
- /** Optional page description for meta tag */
42
- description?: string;
43
- /** Target platform capabilities */
44
- platform?: PlatformCapabilities;
45
- /** Theme configuration (deep partial - nested properties are also optional) */
46
- theme?: DeepPartial<ThemeConfig>;
47
- /** Include HTMX (default: based on platform) */
48
- includeHtmx?: boolean;
49
- /** Include Alpine.js (default: false) */
50
- includeAlpine?: boolean;
51
- /** Include Lucide icons (default: false) */
52
- includeIcons?: boolean;
53
- /** Additional head content */
54
- headExtra?: string;
55
- /** Additional body attributes */
56
- bodyAttrs?: Record<string, string>;
57
- /** Custom body classes */
58
- bodyClass?: string;
59
- /** Title suffix/branding */
60
- titleSuffix?: string;
61
- /** Favicon URL */
62
- favicon?: string;
63
- /** Open Graph meta tags */
64
- og?: {
65
- title?: string;
66
- description?: string;
67
- image?: string;
68
- type?: string;
69
- };
70
- }
71
- /**
72
- * Escape HTML special characters to prevent XSS
73
- */
74
- export declare function escapeHtml(str: string): string;
75
- /**
76
- * Build the complete HTML document
77
- *
78
- * @param content - The page content (HTML string)
79
- * @param options - Layout configuration options
80
- * @returns Complete HTML document string
81
- */
82
- export declare function baseLayout(content: string, options: BaseLayoutOptions): string;
83
- /**
84
- * Create a layout builder with preset options.
85
- * The returned function accepts optional options that extend/override the defaults.
86
- * If defaults include `title`, the returned function's options are fully optional.
87
- */
88
- export declare function createLayoutBuilder(defaults: Partial<BaseLayoutOptions>): (content: string, options?: Partial<BaseLayoutOptions>) => string;
@@ -1,227 +0,0 @@
1
- "use strict";
2
- /**
3
- * Base Layout System
4
- *
5
- * Provides the foundation for all FrontMCP UI pages with:
6
- * - Platform-aware rendering (OpenAI, Claude, etc.)
7
- * - Theme integration
8
- * - CDN resource management
9
- * - Responsive layouts
10
- */
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.escapeHtml = escapeHtml;
13
- exports.baseLayout = baseLayout;
14
- exports.createLayoutBuilder = createLayoutBuilder;
15
- const theme_1 = require("../theme");
16
- // ============================================
17
- // Utility Functions
18
- // ============================================
19
- /**
20
- * Escape HTML special characters to prevent XSS
21
- */
22
- function escapeHtml(str) {
23
- return str
24
- .replace(/&/g, '&amp;')
25
- .replace(/</g, '&lt;')
26
- .replace(/>/g, '&gt;')
27
- .replace(/"/g, '&quot;')
28
- .replace(/'/g, '&#39;');
29
- }
30
- /**
31
- * Get CSS class for layout size
32
- */
33
- function getSizeClass(size) {
34
- const sizeMap = {
35
- xs: 'max-w-sm',
36
- sm: 'max-w-md',
37
- md: 'max-w-lg',
38
- lg: 'max-w-xl',
39
- xl: 'max-w-2xl',
40
- '2xl': 'max-w-3xl',
41
- '3xl': 'max-w-4xl',
42
- full: 'max-w-full',
43
- };
44
- return sizeMap[size];
45
- }
46
- /**
47
- * Get CSS classes for alignment
48
- */
49
- function getAlignmentClasses(alignment) {
50
- const alignMap = {
51
- center: 'min-h-screen flex items-center justify-center',
52
- top: 'min-h-screen flex flex-col items-center pt-12',
53
- start: 'min-h-screen',
54
- };
55
- return alignMap[alignment];
56
- }
57
- /**
58
- * Get CSS classes for background
59
- */
60
- function getBackgroundClasses(background, theme) {
61
- switch (background) {
62
- case 'gradient':
63
- return 'bg-gradient-to-br from-primary to-secondary';
64
- case 'pattern':
65
- return 'bg-surface bg-[url("data:image/svg+xml,...")]'; // Pattern would be defined
66
- case 'solid':
67
- return 'bg-background';
68
- case 'none':
69
- default:
70
- return '';
71
- }
72
- }
73
- /**
74
- * Build meta tags
75
- */
76
- function buildMetaTags(options) {
77
- const tags = [];
78
- if (options.description) {
79
- tags.push(`<meta name="description" content="${escapeHtml(options.description)}">`);
80
- }
81
- if (options.og) {
82
- if (options.og.title) {
83
- tags.push(`<meta property="og:title" content="${escapeHtml(options.og.title)}">`);
84
- }
85
- if (options.og.description) {
86
- tags.push(`<meta property="og:description" content="${escapeHtml(options.og.description)}">`);
87
- }
88
- if (options.og.image) {
89
- tags.push(`<meta property="og:image" content="${escapeHtml(options.og.image)}">`);
90
- }
91
- if (options.og.type) {
92
- tags.push(`<meta property="og:type" content="${escapeHtml(options.og.type)}">`);
93
- }
94
- }
95
- if (options.favicon) {
96
- tags.push(`<link rel="icon" href="${escapeHtml(options.favicon)}">`);
97
- }
98
- return tags.join('\n ');
99
- }
100
- /**
101
- * Build body attributes string
102
- */
103
- function buildBodyAttrs(attrs) {
104
- if (!attrs)
105
- return '';
106
- return Object.entries(attrs)
107
- .map(([key, value]) => `${key}="${escapeHtml(value)}"`)
108
- .join(' ');
109
- }
110
- // ============================================
111
- // Base Layout Builder
112
- // ============================================
113
- /**
114
- * Build the complete HTML document
115
- *
116
- * @param content - The page content (HTML string)
117
- * @param options - Layout configuration options
118
- * @returns Complete HTML document string
119
- */
120
- function baseLayout(content, options) {
121
- const { title, pageType = 'custom', size = 'md', alignment = 'center', background = 'solid', platform = theme_1.OPENAI_PLATFORM, theme: themeOverrides, includeHtmx, includeAlpine = false, includeIcons = false, headExtra = '', bodyAttrs, bodyClass = '', titleSuffix = 'FrontMCP', } = options;
122
- // Merge theme using the centralized mergeThemes function for proper deep merging
123
- const theme = themeOverrides ? (0, theme_1.mergeThemes)(theme_1.DEFAULT_THEME, themeOverrides) : theme_1.DEFAULT_THEME;
124
- // Determine if we should include HTMX
125
- const shouldIncludeHtmx = includeHtmx ?? platform.supportsHtmx;
126
- // Check if we can use CDN or need inline
127
- const useCdn = (0, theme_1.canUseCdn)(platform);
128
- const useInline = (0, theme_1.needsInlineScripts)(platform);
129
- // Build font links (skip for blocked network)
130
- const fontPreconnect = useCdn ? (0, theme_1.buildFontPreconnect)() : '';
131
- const fontStylesheets = useCdn ? (0, theme_1.buildFontStylesheets)({ inter: true }) : '';
132
- // Build scripts
133
- const scripts = (0, theme_1.buildCdnScripts)({
134
- tailwind: platform.supportsTailwind,
135
- htmx: shouldIncludeHtmx,
136
- alpine: includeAlpine,
137
- icons: includeIcons,
138
- inline: useInline,
139
- });
140
- // Build theme CSS
141
- const themeCss = (0, theme_1.buildThemeCss)(theme);
142
- const customCss = theme.customCss || '';
143
- // Build Tailwind style block
144
- const styleBlock = platform.supportsTailwind
145
- ? `<style type="text/tailwindcss">
146
- @theme {
147
- ${themeCss}
148
- }
149
- ${customCss}
150
- </style>`
151
- : '';
152
- // Build layout classes
153
- const sizeClass = getSizeClass(size);
154
- const alignmentClasses = getAlignmentClasses(alignment);
155
- const backgroundClasses = getBackgroundClasses(background, theme);
156
- // Combine body classes
157
- const allBodyClasses = [backgroundClasses, 'font-sans antialiased', bodyClass].filter(Boolean).join(' ');
158
- // Build meta tags
159
- const metaTags = buildMetaTags(options);
160
- const bodyAttrStr = buildBodyAttrs(bodyAttrs);
161
- // Wrap content in layout container
162
- const wrappedContent = alignment === 'center'
163
- ? `<div class="${alignmentClasses} p-4">
164
- <div class="w-full ${sizeClass}">
165
- ${content}
166
- </div>
167
- </div>`
168
- : `<div class="${alignmentClasses}">
169
- <div class="w-full ${sizeClass} mx-auto px-4 py-8">
170
- ${content}
171
- </div>
172
- </div>`;
173
- return `<!DOCTYPE html>
174
- <html lang="en">
175
- <head>
176
- <meta charset="UTF-8">
177
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
178
- <title>${escapeHtml(title)}${titleSuffix ? ` - ${escapeHtml(titleSuffix)}` : ''}</title>
179
- ${metaTags}
180
-
181
- <!-- Fonts -->
182
- ${fontPreconnect}
183
- ${fontStylesheets}
184
-
185
- <!-- Tailwind CSS -->
186
- ${scripts}
187
- ${styleBlock}
188
-
189
- ${headExtra}
190
- </head>
191
- <body class="${escapeHtml(allBodyClasses)}"${bodyAttrStr ? ` ${bodyAttrStr}` : ''}>
192
- ${wrappedContent}
193
- </body>
194
- </html>`;
195
- }
196
- // ============================================
197
- // Layout Factory
198
- // ============================================
199
- /**
200
- * Create a layout builder with preset options.
201
- * The returned function accepts optional options that extend/override the defaults.
202
- * If defaults include `title`, the returned function's options are fully optional.
203
- */
204
- function createLayoutBuilder(defaults) {
205
- return (content, options = {}) => {
206
- // Deep merge themes using mergeThemes
207
- // Start with DEFAULT_THEME as base, then merge defaults.theme, then options.theme
208
- let mergedTheme = theme_1.DEFAULT_THEME;
209
- if (defaults.theme) {
210
- mergedTheme = (0, theme_1.mergeThemes)(mergedTheme, defaults.theme);
211
- }
212
- if (options.theme) {
213
- mergedTheme = (0, theme_1.mergeThemes)(mergedTheme, options.theme);
214
- }
215
- const merged = {
216
- ...defaults,
217
- ...options,
218
- theme: mergedTheme,
219
- };
220
- // Ensure title exists (from defaults or options)
221
- if (!merged.title) {
222
- throw new Error('createLayoutBuilder: title is required either in defaults or options');
223
- }
224
- return baseLayout(content, merged);
225
- };
226
- }
227
- //# sourceMappingURL=base.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/layouts/base.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Base Layout System\n *\n * Provides the foundation for all FrontMCP UI pages with:\n * - Platform-aware rendering (OpenAI, Claude, etc.)\n * - Theme integration\n * - CDN resource management\n * - Responsive layouts\n */\n\nimport {\n type PlatformCapabilities,\n type ThemeConfig,\n type DeepPartial,\n OPENAI_PLATFORM,\n canUseCdn,\n needsInlineScripts,\n DEFAULT_THEME,\n buildThemeCss,\n mergeThemes,\n CDN,\n buildFontPreconnect,\n buildFontStylesheets,\n buildCdnScripts,\n} from '../theme';\n\n// ============================================\n// Layout Types\n// ============================================\n\n/**\n * Page type determines the layout structure\n */\nexport type PageType =\n | 'auth' // Login, register, forgot password\n | 'consent' // OAuth consent, permissions\n | 'error' // Error pages\n | 'loading' // Loading/processing states\n | 'success' // Success confirmation\n | 'dashboard' // Admin/dashboard layouts\n | 'widget' // Embedded widget mode\n | 'resource' // OpenAI resource display\n | 'custom'; // Custom layout\n\n/**\n * Layout size/width options\n */\nexport type LayoutSize =\n | 'xs' // max-w-sm (24rem)\n | 'sm' // max-w-md (28rem)\n | 'md' // max-w-lg (32rem)\n | 'lg' // max-w-xl (36rem)\n | 'xl' // max-w-2xl (42rem)\n | '2xl' // max-w-3xl (48rem)\n | '3xl' // max-w-4xl (56rem)\n | 'full'; // Full width\n\n/**\n * Background style options\n */\nexport type BackgroundStyle =\n | 'solid' // Solid color\n | 'gradient' // Gradient\n | 'pattern' // Pattern/texture\n | 'none'; // Transparent\n\n/**\n * Layout alignment options\n */\nexport type LayoutAlignment =\n | 'center' // Centered both axes\n | 'top' // Top aligned\n | 'start'; // Start aligned (left)\n\n// ============================================\n// Layout Options\n// ============================================\n\n/**\n * Base layout configuration options\n */\nexport interface BaseLayoutOptions {\n /** Page title (will be suffixed with branding) */\n title: string;\n\n /** Page type for layout structure */\n pageType?: PageType;\n\n /** Content width */\n size?: LayoutSize;\n\n /** Content alignment */\n alignment?: LayoutAlignment;\n\n /** Background style */\n background?: BackgroundStyle;\n\n /** Optional page description for meta tag */\n description?: string;\n\n /** Target platform capabilities */\n platform?: PlatformCapabilities;\n\n /** Theme configuration (deep partial - nested properties are also optional) */\n theme?: DeepPartial<ThemeConfig>;\n\n /** Include HTMX (default: based on platform) */\n includeHtmx?: boolean;\n\n /** Include Alpine.js (default: false) */\n includeAlpine?: boolean;\n\n /** Include Lucide icons (default: false) */\n includeIcons?: boolean;\n\n /** Additional head content */\n headExtra?: string;\n\n /** Additional body attributes */\n bodyAttrs?: Record<string, string>;\n\n /** Custom body classes */\n bodyClass?: string;\n\n /** Title suffix/branding */\n titleSuffix?: string;\n\n /** Favicon URL */\n favicon?: string;\n\n /** Open Graph meta tags */\n og?: {\n title?: string;\n description?: string;\n image?: string;\n type?: string;\n };\n}\n\n// ============================================\n// Utility Functions\n// ============================================\n\n/**\n * Escape HTML special characters to prevent XSS\n */\nexport function escapeHtml(str: string): string {\n return str\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;')\n .replace(/\"/g, '&quot;')\n .replace(/'/g, '&#39;');\n}\n\n/**\n * Get CSS class for layout size\n */\nfunction getSizeClass(size: LayoutSize): string {\n const sizeMap: Record<LayoutSize, string> = {\n xs: 'max-w-sm',\n sm: 'max-w-md',\n md: 'max-w-lg',\n lg: 'max-w-xl',\n xl: 'max-w-2xl',\n '2xl': 'max-w-3xl',\n '3xl': 'max-w-4xl',\n full: 'max-w-full',\n };\n return sizeMap[size];\n}\n\n/**\n * Get CSS classes for alignment\n */\nfunction getAlignmentClasses(alignment: LayoutAlignment): string {\n const alignMap: Record<LayoutAlignment, string> = {\n center: 'min-h-screen flex items-center justify-center',\n top: 'min-h-screen flex flex-col items-center pt-12',\n start: 'min-h-screen',\n };\n return alignMap[alignment];\n}\n\n/**\n * Get CSS classes for background\n */\nfunction getBackgroundClasses(background: BackgroundStyle, theme: ThemeConfig): string {\n switch (background) {\n case 'gradient':\n return 'bg-gradient-to-br from-primary to-secondary';\n case 'pattern':\n return 'bg-surface bg-[url(\"data:image/svg+xml,...\")]'; // Pattern would be defined\n case 'solid':\n return 'bg-background';\n case 'none':\n default:\n return '';\n }\n}\n\n/**\n * Build meta tags\n */\nfunction buildMetaTags(options: BaseLayoutOptions): string {\n const tags: string[] = [];\n\n if (options.description) {\n tags.push(`<meta name=\"description\" content=\"${escapeHtml(options.description)}\">`);\n }\n\n if (options.og) {\n if (options.og.title) {\n tags.push(`<meta property=\"og:title\" content=\"${escapeHtml(options.og.title)}\">`);\n }\n if (options.og.description) {\n tags.push(`<meta property=\"og:description\" content=\"${escapeHtml(options.og.description)}\">`);\n }\n if (options.og.image) {\n tags.push(`<meta property=\"og:image\" content=\"${escapeHtml(options.og.image)}\">`);\n }\n if (options.og.type) {\n tags.push(`<meta property=\"og:type\" content=\"${escapeHtml(options.og.type)}\">`);\n }\n }\n\n if (options.favicon) {\n tags.push(`<link rel=\"icon\" href=\"${escapeHtml(options.favicon)}\">`);\n }\n\n return tags.join('\\n ');\n}\n\n/**\n * Build body attributes string\n */\nfunction buildBodyAttrs(attrs?: Record<string, string>): string {\n if (!attrs) return '';\n return Object.entries(attrs)\n .map(([key, value]) => `${key}=\"${escapeHtml(value)}\"`)\n .join(' ');\n}\n\n// ============================================\n// Base Layout Builder\n// ============================================\n\n/**\n * Build the complete HTML document\n *\n * @param content - The page content (HTML string)\n * @param options - Layout configuration options\n * @returns Complete HTML document string\n */\nexport function baseLayout(content: string, options: BaseLayoutOptions): string {\n const {\n title,\n pageType = 'custom',\n size = 'md',\n alignment = 'center',\n background = 'solid',\n platform = OPENAI_PLATFORM,\n theme: themeOverrides,\n includeHtmx,\n includeAlpine = false,\n includeIcons = false,\n headExtra = '',\n bodyAttrs,\n bodyClass = '',\n titleSuffix = 'FrontMCP',\n } = options;\n\n // Merge theme using the centralized mergeThemes function for proper deep merging\n const theme: ThemeConfig = themeOverrides ? mergeThemes(DEFAULT_THEME, themeOverrides) : DEFAULT_THEME;\n\n // Determine if we should include HTMX\n const shouldIncludeHtmx = includeHtmx ?? platform.supportsHtmx;\n\n // Check if we can use CDN or need inline\n const useCdn = canUseCdn(platform);\n const useInline = needsInlineScripts(platform);\n\n // Build font links (skip for blocked network)\n const fontPreconnect = useCdn ? buildFontPreconnect() : '';\n const fontStylesheets = useCdn ? buildFontStylesheets({ inter: true }) : '';\n\n // Build scripts\n const scripts = buildCdnScripts({\n tailwind: platform.supportsTailwind,\n htmx: shouldIncludeHtmx,\n alpine: includeAlpine,\n icons: includeIcons,\n inline: useInline,\n });\n\n // Build theme CSS\n const themeCss = buildThemeCss(theme);\n const customCss = theme.customCss || '';\n\n // Build Tailwind style block\n const styleBlock = platform.supportsTailwind\n ? `<style type=\"text/tailwindcss\">\n @theme {\n ${themeCss}\n }\n ${customCss}\n </style>`\n : '';\n\n // Build layout classes\n const sizeClass = getSizeClass(size);\n const alignmentClasses = getAlignmentClasses(alignment);\n const backgroundClasses = getBackgroundClasses(background, theme);\n\n // Combine body classes\n const allBodyClasses = [backgroundClasses, 'font-sans antialiased', bodyClass].filter(Boolean).join(' ');\n\n // Build meta tags\n const metaTags = buildMetaTags(options);\n const bodyAttrStr = buildBodyAttrs(bodyAttrs);\n\n // Wrap content in layout container\n const wrappedContent =\n alignment === 'center'\n ? `<div class=\"${alignmentClasses} p-4\">\n <div class=\"w-full ${sizeClass}\">\n ${content}\n </div>\n </div>`\n : `<div class=\"${alignmentClasses}\">\n <div class=\"w-full ${sizeClass} mx-auto px-4 py-8\">\n ${content}\n </div>\n </div>`;\n\n return `<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <title>${escapeHtml(title)}${titleSuffix ? ` - ${escapeHtml(titleSuffix)}` : ''}</title>\n ${metaTags}\n\n <!-- Fonts -->\n ${fontPreconnect}\n ${fontStylesheets}\n\n <!-- Tailwind CSS -->\n ${scripts}\n ${styleBlock}\n\n ${headExtra}\n</head>\n<body class=\"${escapeHtml(allBodyClasses)}\"${bodyAttrStr ? ` ${bodyAttrStr}` : ''}>\n ${wrappedContent}\n</body>\n</html>`;\n}\n\n// ============================================\n// Layout Factory\n// ============================================\n\n/**\n * Create a layout builder with preset options.\n * The returned function accepts optional options that extend/override the defaults.\n * If defaults include `title`, the returned function's options are fully optional.\n */\nexport function createLayoutBuilder(\n defaults: Partial<BaseLayoutOptions>,\n): (content: string, options?: Partial<BaseLayoutOptions>) => string {\n return (content: string, options: Partial<BaseLayoutOptions> = {}) => {\n // Deep merge themes using mergeThemes\n // Start with DEFAULT_THEME as base, then merge defaults.theme, then options.theme\n let mergedTheme = DEFAULT_THEME;\n if (defaults.theme) {\n mergedTheme = mergeThemes(mergedTheme, defaults.theme);\n }\n if (options.theme) {\n mergedTheme = mergeThemes(mergedTheme, options.theme);\n }\n\n const merged = {\n ...defaults,\n ...options,\n theme: mergedTheme,\n } as BaseLayoutOptions;\n\n // Ensure title exists (from defaults or options)\n if (!merged.title) {\n throw new Error('createLayoutBuilder: title is required either in defaults or options');\n }\n\n return baseLayout(content, merged);\n };\n}\n"]}
@@ -1,7 +0,0 @@
1
- /**
2
- * Layouts Module
3
- *
4
- * Provides base layouts and page-specific presets for FrontMCP UI.
5
- */
6
- export { type PageType, type LayoutSize, type BackgroundStyle, type LayoutAlignment, type BaseLayoutOptions, baseLayout, createLayoutBuilder, escapeHtml, } from './base';
7
- export { type AuthLayoutOptions, type ConsentLayoutOptions, type ErrorLayoutOptions, type LoadingLayoutOptions, type SuccessLayoutOptions, type WidgetLayoutOptions, authLayout, consentLayout, errorLayout, loadingLayout, successLayout, widgetLayout, authLayoutBuilder, consentLayoutBuilder, errorLayoutBuilder, } from './presets';
@@ -1,25 +0,0 @@
1
- "use strict";
2
- /**
3
- * Layouts Module
4
- *
5
- * Provides base layouts and page-specific presets for FrontMCP UI.
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.errorLayoutBuilder = exports.consentLayoutBuilder = exports.authLayoutBuilder = exports.widgetLayout = exports.successLayout = exports.loadingLayout = exports.errorLayout = exports.consentLayout = exports.authLayout = exports.escapeHtml = exports.createLayoutBuilder = exports.baseLayout = void 0;
9
- // Base layout
10
- var base_1 = require("./base");
11
- Object.defineProperty(exports, "baseLayout", { enumerable: true, get: function () { return base_1.baseLayout; } });
12
- Object.defineProperty(exports, "createLayoutBuilder", { enumerable: true, get: function () { return base_1.createLayoutBuilder; } });
13
- Object.defineProperty(exports, "escapeHtml", { enumerable: true, get: function () { return base_1.escapeHtml; } });
14
- // Layout presets
15
- var presets_1 = require("./presets");
16
- Object.defineProperty(exports, "authLayout", { enumerable: true, get: function () { return presets_1.authLayout; } });
17
- Object.defineProperty(exports, "consentLayout", { enumerable: true, get: function () { return presets_1.consentLayout; } });
18
- Object.defineProperty(exports, "errorLayout", { enumerable: true, get: function () { return presets_1.errorLayout; } });
19
- Object.defineProperty(exports, "loadingLayout", { enumerable: true, get: function () { return presets_1.loadingLayout; } });
20
- Object.defineProperty(exports, "successLayout", { enumerable: true, get: function () { return presets_1.successLayout; } });
21
- Object.defineProperty(exports, "widgetLayout", { enumerable: true, get: function () { return presets_1.widgetLayout; } });
22
- Object.defineProperty(exports, "authLayoutBuilder", { enumerable: true, get: function () { return presets_1.authLayoutBuilder; } });
23
- Object.defineProperty(exports, "consentLayoutBuilder", { enumerable: true, get: function () { return presets_1.consentLayoutBuilder; } });
24
- Object.defineProperty(exports, "errorLayoutBuilder", { enumerable: true, get: function () { return presets_1.errorLayoutBuilder; } });
25
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/layouts/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,cAAc;AACd,+BASgB;AAHd,kGAAA,UAAU,OAAA;AACV,2GAAA,mBAAmB,OAAA;AACnB,kGAAA,UAAU,OAAA;AAGZ,iBAAiB;AACjB,qCAgBmB;AATjB,qGAAA,UAAU,OAAA;AACV,wGAAA,aAAa,OAAA;AACb,sGAAA,WAAW,OAAA;AACX,wGAAA,aAAa,OAAA;AACb,wGAAA,aAAa,OAAA;AACb,uGAAA,YAAY,OAAA;AACZ,4GAAA,iBAAiB,OAAA;AACjB,+GAAA,oBAAoB,OAAA;AACpB,6GAAA,kBAAkB,OAAA","sourcesContent":["/**\n * Layouts Module\n *\n * Provides base layouts and page-specific presets for FrontMCP UI.\n */\n\n// Base layout\nexport {\n type PageType,\n type LayoutSize,\n type BackgroundStyle,\n type LayoutAlignment,\n type BaseLayoutOptions,\n baseLayout,\n createLayoutBuilder,\n escapeHtml,\n} from './base';\n\n// Layout presets\nexport {\n type AuthLayoutOptions,\n type ConsentLayoutOptions,\n type ErrorLayoutOptions,\n type LoadingLayoutOptions,\n type SuccessLayoutOptions,\n type WidgetLayoutOptions,\n authLayout,\n consentLayout,\n errorLayout,\n loadingLayout,\n successLayout,\n widgetLayout,\n authLayoutBuilder,\n consentLayoutBuilder,\n errorLayoutBuilder,\n} from './presets';\n"]}