@frontmcp/ui 0.6.0 → 0.6.2

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 (650) hide show
  1. package/README.md +140 -362
  2. package/bridge/core/bridge-factory.d.ts +1 -0
  3. package/bridge/core/bridge-factory.d.ts.map +1 -1
  4. package/bridge/index.d.ts +1 -1
  5. package/bridge/index.d.ts.map +1 -1
  6. package/bridge/index.js +39 -881
  7. package/bridge/runtime/index.d.ts +2 -1
  8. package/bridge/runtime/index.d.ts.map +1 -1
  9. package/bundler/browser-components.d.ts +42 -0
  10. package/bundler/browser-components.d.ts.map +1 -0
  11. package/bundler/bundler.d.ts +78 -4
  12. package/bundler/bundler.d.ts.map +1 -1
  13. package/bundler/index.d.ts +8 -8
  14. package/bundler/index.d.ts.map +1 -1
  15. package/bundler/index.js +1411 -2997
  16. package/bundler/types.d.ts +188 -7
  17. package/bundler/types.d.ts.map +1 -1
  18. package/components/alert.schema.d.ts +6 -6
  19. package/components/avatar.schema.d.ts +9 -9
  20. package/components/badge.schema.d.ts +9 -9
  21. package/components/button.schema.d.ts +9 -9
  22. package/components/card.schema.d.ts +7 -7
  23. package/components/form.schema.d.ts +24 -24
  24. package/components/index.js +128 -198
  25. package/components/modal.schema.d.ts +8 -8
  26. package/components/table.schema.d.ts +6 -6
  27. package/esm/bridge/{index.js → index.mjs} +40 -877
  28. package/esm/bundler/index.mjs +3136 -0
  29. package/esm/components/{index.js → index.mjs} +136 -196
  30. package/esm/index.mjs +5450 -0
  31. package/esm/layouts/index.mjs +409 -0
  32. package/esm/package.json +15 -32
  33. package/esm/react/{index.js → index.mjs} +71 -260
  34. package/esm/renderers/index.mjs +611 -0
  35. package/esm/universal/index.mjs +1951 -0
  36. package/esm/web-components/{index.js → index.mjs} +232 -287
  37. package/index.d.ts +22 -41
  38. package/index.d.ts.map +1 -1
  39. package/index.js +4286 -19607
  40. package/layouts/base.d.ts +2 -2
  41. package/layouts/base.d.ts.map +1 -1
  42. package/layouts/index.js +46 -539
  43. package/layouts/presets.d.ts.map +1 -1
  44. package/package.json +15 -32
  45. package/react/Alert.d.ts +1 -2
  46. package/react/Alert.d.ts.map +1 -1
  47. package/react/Badge.d.ts +1 -2
  48. package/react/Badge.d.ts.map +1 -1
  49. package/react/Button.d.ts +1 -2
  50. package/react/Button.d.ts.map +1 -1
  51. package/react/Card.d.ts +1 -2
  52. package/react/Card.d.ts.map +1 -1
  53. package/react/hooks/context.d.ts +1 -1
  54. package/react/hooks/context.d.ts.map +1 -1
  55. package/react/index.d.ts +5 -7
  56. package/react/index.d.ts.map +1 -1
  57. package/react/index.js +55 -269
  58. package/react/types.d.ts +1 -2
  59. package/react/types.d.ts.map +1 -1
  60. package/renderers/index.d.ts +15 -25
  61. package/renderers/index.d.ts.map +1 -1
  62. package/renderers/index.js +393 -1619
  63. package/renderers/mdx.renderer.d.ts +13 -34
  64. package/renderers/mdx.renderer.d.ts.map +1 -1
  65. package/{esm/runtime/adapters → renderers}/react.adapter.d.ts +2 -2
  66. package/renderers/react.adapter.d.ts.map +1 -0
  67. package/renderers/react.renderer.d.ts +25 -16
  68. package/renderers/react.renderer.d.ts.map +1 -1
  69. package/renderers/transpiler.d.ts +49 -0
  70. package/renderers/transpiler.d.ts.map +1 -0
  71. package/universal/cached-runtime.d.ts +25 -1
  72. package/universal/cached-runtime.d.ts.map +1 -1
  73. package/universal/index.js +2037 -0
  74. package/universal/runtime-builder.d.ts.map +1 -1
  75. package/universal/types.d.ts.map +1 -1
  76. package/web-components/elements/fmcp-input.d.ts.map +1 -1
  77. package/web-components/elements/fmcp-select.d.ts.map +1 -1
  78. package/web-components/index.d.ts +0 -1
  79. package/web-components/index.d.ts.map +1 -1
  80. package/web-components/index.js +224 -289
  81. package/adapters/index.d.ts +0 -13
  82. package/adapters/index.d.ts.map +0 -1
  83. package/adapters/index.js +0 -462
  84. package/adapters/platform-meta.d.ts +0 -166
  85. package/adapters/platform-meta.d.ts.map +0 -1
  86. package/adapters/response-builder.d.ts +0 -108
  87. package/adapters/response-builder.d.ts.map +0 -1
  88. package/adapters/serving-mode.d.ts +0 -107
  89. package/adapters/serving-mode.d.ts.map +0 -1
  90. package/base-template/bridge.d.ts +0 -90
  91. package/base-template/bridge.d.ts.map +0 -1
  92. package/base-template/default-base-template.d.ts +0 -92
  93. package/base-template/default-base-template.d.ts.map +0 -1
  94. package/base-template/index.d.ts +0 -15
  95. package/base-template/index.d.ts.map +0 -1
  96. package/base-template/index.js +0 -1398
  97. package/base-template/polyfills.d.ts +0 -31
  98. package/base-template/polyfills.d.ts.map +0 -1
  99. package/base-template/theme-styles.d.ts +0 -74
  100. package/base-template/theme-styles.d.ts.map +0 -1
  101. package/build/cdn-resources.d.ts +0 -243
  102. package/build/cdn-resources.d.ts.map +0 -1
  103. package/build/index.d.ts +0 -295
  104. package/build/index.d.ts.map +0 -1
  105. package/build/index.js +0 -7096
  106. package/build/widget-manifest.d.ts +0 -362
  107. package/build/widget-manifest.d.ts.map +0 -1
  108. package/bundler/cache.d.ts +0 -173
  109. package/bundler/cache.d.ts.map +0 -1
  110. package/bundler/file-cache/component-builder.d.ts +0 -167
  111. package/bundler/file-cache/component-builder.d.ts.map +0 -1
  112. package/bundler/file-cache/hash-calculator.d.ts +0 -155
  113. package/bundler/file-cache/hash-calculator.d.ts.map +0 -1
  114. package/bundler/file-cache/index.d.ts +0 -12
  115. package/bundler/file-cache/index.d.ts.map +0 -1
  116. package/bundler/file-cache/storage/filesystem.d.ts +0 -149
  117. package/bundler/file-cache/storage/filesystem.d.ts.map +0 -1
  118. package/bundler/file-cache/storage/index.d.ts +0 -11
  119. package/bundler/file-cache/storage/index.d.ts.map +0 -1
  120. package/bundler/file-cache/storage/interface.d.ts +0 -152
  121. package/bundler/file-cache/storage/interface.d.ts.map +0 -1
  122. package/bundler/file-cache/storage/redis.d.ts +0 -139
  123. package/bundler/file-cache/storage/redis.d.ts.map +0 -1
  124. package/bundler/sandbox/enclave-adapter.d.ts +0 -121
  125. package/bundler/sandbox/enclave-adapter.d.ts.map +0 -1
  126. package/bundler/sandbox/executor.d.ts +0 -14
  127. package/bundler/sandbox/executor.d.ts.map +0 -1
  128. package/bundler/sandbox/policy.d.ts +0 -62
  129. package/bundler/sandbox/policy.d.ts.map +0 -1
  130. package/dependency/cdn-registry.d.ts +0 -98
  131. package/dependency/cdn-registry.d.ts.map +0 -1
  132. package/dependency/import-map.d.ts +0 -186
  133. package/dependency/import-map.d.ts.map +0 -1
  134. package/dependency/import-parser.d.ts +0 -82
  135. package/dependency/import-parser.d.ts.map +0 -1
  136. package/dependency/index.d.ts +0 -17
  137. package/dependency/index.d.ts.map +0 -1
  138. package/dependency/resolver.d.ts +0 -164
  139. package/dependency/resolver.d.ts.map +0 -1
  140. package/dependency/schemas.d.ts +0 -486
  141. package/dependency/schemas.d.ts.map +0 -1
  142. package/dependency/template-loader.d.ts +0 -204
  143. package/dependency/template-loader.d.ts.map +0 -1
  144. package/dependency/template-processor.d.ts +0 -118
  145. package/dependency/template-processor.d.ts.map +0 -1
  146. package/dependency/types.d.ts +0 -739
  147. package/dependency/types.d.ts.map +0 -1
  148. package/esm/adapters/index.d.ts +0 -13
  149. package/esm/adapters/index.d.ts.map +0 -1
  150. package/esm/adapters/index.js +0 -427
  151. package/esm/adapters/platform-meta.d.ts +0 -166
  152. package/esm/adapters/platform-meta.d.ts.map +0 -1
  153. package/esm/adapters/response-builder.d.ts +0 -108
  154. package/esm/adapters/response-builder.d.ts.map +0 -1
  155. package/esm/adapters/serving-mode.d.ts +0 -107
  156. package/esm/adapters/serving-mode.d.ts.map +0 -1
  157. package/esm/base-template/bridge.d.ts +0 -90
  158. package/esm/base-template/bridge.d.ts.map +0 -1
  159. package/esm/base-template/default-base-template.d.ts +0 -92
  160. package/esm/base-template/default-base-template.d.ts.map +0 -1
  161. package/esm/base-template/index.d.ts +0 -15
  162. package/esm/base-template/index.d.ts.map +0 -1
  163. package/esm/base-template/index.js +0 -1364
  164. package/esm/base-template/polyfills.d.ts +0 -31
  165. package/esm/base-template/polyfills.d.ts.map +0 -1
  166. package/esm/base-template/theme-styles.d.ts +0 -74
  167. package/esm/base-template/theme-styles.d.ts.map +0 -1
  168. package/esm/bridge/adapters/base-adapter.d.ts +0 -104
  169. package/esm/bridge/adapters/base-adapter.d.ts.map +0 -1
  170. package/esm/bridge/adapters/claude.adapter.d.ts +0 -67
  171. package/esm/bridge/adapters/claude.adapter.d.ts.map +0 -1
  172. package/esm/bridge/adapters/ext-apps.adapter.d.ts +0 -143
  173. package/esm/bridge/adapters/ext-apps.adapter.d.ts.map +0 -1
  174. package/esm/bridge/adapters/gemini.adapter.d.ts +0 -64
  175. package/esm/bridge/adapters/gemini.adapter.d.ts.map +0 -1
  176. package/esm/bridge/adapters/generic.adapter.d.ts +0 -56
  177. package/esm/bridge/adapters/generic.adapter.d.ts.map +0 -1
  178. package/esm/bridge/adapters/index.d.ts +0 -26
  179. package/esm/bridge/adapters/index.d.ts.map +0 -1
  180. package/esm/bridge/adapters/openai.adapter.d.ts +0 -65
  181. package/esm/bridge/adapters/openai.adapter.d.ts.map +0 -1
  182. package/esm/bridge/core/adapter-registry.d.ts +0 -122
  183. package/esm/bridge/core/adapter-registry.d.ts.map +0 -1
  184. package/esm/bridge/core/bridge-factory.d.ts +0 -199
  185. package/esm/bridge/core/bridge-factory.d.ts.map +0 -1
  186. package/esm/bridge/core/index.d.ts +0 -10
  187. package/esm/bridge/core/index.d.ts.map +0 -1
  188. package/esm/bridge/index.d.ts +0 -62
  189. package/esm/bridge/index.d.ts.map +0 -1
  190. package/esm/bridge/runtime/iife-generator.d.ts +0 -62
  191. package/esm/bridge/runtime/iife-generator.d.ts.map +0 -1
  192. package/esm/bridge/runtime/index.d.ts +0 -9
  193. package/esm/bridge/runtime/index.d.ts.map +0 -1
  194. package/esm/bridge/types.d.ts +0 -386
  195. package/esm/bridge/types.d.ts.map +0 -1
  196. package/esm/build/cdn-resources.d.ts +0 -243
  197. package/esm/build/cdn-resources.d.ts.map +0 -1
  198. package/esm/build/index.d.ts +0 -295
  199. package/esm/build/index.d.ts.map +0 -1
  200. package/esm/build/index.js +0 -7021
  201. package/esm/build/widget-manifest.d.ts +0 -362
  202. package/esm/build/widget-manifest.d.ts.map +0 -1
  203. package/esm/bundler/bundler.d.ts +0 -208
  204. package/esm/bundler/bundler.d.ts.map +0 -1
  205. package/esm/bundler/cache.d.ts +0 -173
  206. package/esm/bundler/cache.d.ts.map +0 -1
  207. package/esm/bundler/file-cache/component-builder.d.ts +0 -167
  208. package/esm/bundler/file-cache/component-builder.d.ts.map +0 -1
  209. package/esm/bundler/file-cache/hash-calculator.d.ts +0 -155
  210. package/esm/bundler/file-cache/hash-calculator.d.ts.map +0 -1
  211. package/esm/bundler/file-cache/index.d.ts +0 -12
  212. package/esm/bundler/file-cache/index.d.ts.map +0 -1
  213. package/esm/bundler/file-cache/storage/filesystem.d.ts +0 -149
  214. package/esm/bundler/file-cache/storage/filesystem.d.ts.map +0 -1
  215. package/esm/bundler/file-cache/storage/index.d.ts +0 -11
  216. package/esm/bundler/file-cache/storage/index.d.ts.map +0 -1
  217. package/esm/bundler/file-cache/storage/interface.d.ts +0 -152
  218. package/esm/bundler/file-cache/storage/interface.d.ts.map +0 -1
  219. package/esm/bundler/file-cache/storage/redis.d.ts +0 -139
  220. package/esm/bundler/file-cache/storage/redis.d.ts.map +0 -1
  221. package/esm/bundler/index.d.ts +0 -43
  222. package/esm/bundler/index.d.ts.map +0 -1
  223. package/esm/bundler/index.js +0 -4687
  224. package/esm/bundler/sandbox/enclave-adapter.d.ts +0 -121
  225. package/esm/bundler/sandbox/enclave-adapter.d.ts.map +0 -1
  226. package/esm/bundler/sandbox/executor.d.ts +0 -14
  227. package/esm/bundler/sandbox/executor.d.ts.map +0 -1
  228. package/esm/bundler/sandbox/policy.d.ts +0 -62
  229. package/esm/bundler/sandbox/policy.d.ts.map +0 -1
  230. package/esm/bundler/types.d.ts +0 -702
  231. package/esm/bundler/types.d.ts.map +0 -1
  232. package/esm/components/alert.d.ts +0 -66
  233. package/esm/components/alert.d.ts.map +0 -1
  234. package/esm/components/alert.schema.d.ts +0 -98
  235. package/esm/components/alert.schema.d.ts.map +0 -1
  236. package/esm/components/avatar.d.ts +0 -77
  237. package/esm/components/avatar.d.ts.map +0 -1
  238. package/esm/components/avatar.schema.d.ts +0 -170
  239. package/esm/components/avatar.schema.d.ts.map +0 -1
  240. package/esm/components/badge.d.ts +0 -64
  241. package/esm/components/badge.d.ts.map +0 -1
  242. package/esm/components/badge.schema.d.ts +0 -91
  243. package/esm/components/badge.schema.d.ts.map +0 -1
  244. package/esm/components/button.d.ts +0 -100
  245. package/esm/components/button.d.ts.map +0 -1
  246. package/esm/components/button.schema.d.ts +0 -120
  247. package/esm/components/button.schema.d.ts.map +0 -1
  248. package/esm/components/card.d.ts +0 -53
  249. package/esm/components/card.d.ts.map +0 -1
  250. package/esm/components/card.schema.d.ts +0 -93
  251. package/esm/components/card.schema.d.ts.map +0 -1
  252. package/esm/components/form.d.ts +0 -212
  253. package/esm/components/form.d.ts.map +0 -1
  254. package/esm/components/form.schema.d.ts +0 -365
  255. package/esm/components/form.schema.d.ts.map +0 -1
  256. package/esm/components/index.d.ts +0 -29
  257. package/esm/components/index.d.ts.map +0 -1
  258. package/esm/components/list.d.ts +0 -121
  259. package/esm/components/list.d.ts.map +0 -1
  260. package/esm/components/list.schema.d.ts +0 -129
  261. package/esm/components/list.schema.d.ts.map +0 -1
  262. package/esm/components/modal.d.ts +0 -100
  263. package/esm/components/modal.d.ts.map +0 -1
  264. package/esm/components/modal.schema.d.ts +0 -151
  265. package/esm/components/modal.schema.d.ts.map +0 -1
  266. package/esm/components/table.d.ts +0 -91
  267. package/esm/components/table.d.ts.map +0 -1
  268. package/esm/components/table.schema.d.ts +0 -123
  269. package/esm/components/table.schema.d.ts.map +0 -1
  270. package/esm/dependency/cdn-registry.d.ts +0 -98
  271. package/esm/dependency/cdn-registry.d.ts.map +0 -1
  272. package/esm/dependency/import-map.d.ts +0 -186
  273. package/esm/dependency/import-map.d.ts.map +0 -1
  274. package/esm/dependency/import-parser.d.ts +0 -82
  275. package/esm/dependency/import-parser.d.ts.map +0 -1
  276. package/esm/dependency/index.d.ts +0 -17
  277. package/esm/dependency/index.d.ts.map +0 -1
  278. package/esm/dependency/resolver.d.ts +0 -164
  279. package/esm/dependency/resolver.d.ts.map +0 -1
  280. package/esm/dependency/schemas.d.ts +0 -486
  281. package/esm/dependency/schemas.d.ts.map +0 -1
  282. package/esm/dependency/template-loader.d.ts +0 -204
  283. package/esm/dependency/template-loader.d.ts.map +0 -1
  284. package/esm/dependency/template-processor.d.ts +0 -118
  285. package/esm/dependency/template-processor.d.ts.map +0 -1
  286. package/esm/dependency/types.d.ts +0 -739
  287. package/esm/dependency/types.d.ts.map +0 -1
  288. package/esm/handlebars/expression-extractor.d.ts +0 -147
  289. package/esm/handlebars/expression-extractor.d.ts.map +0 -1
  290. package/esm/handlebars/helpers.d.ts +0 -339
  291. package/esm/handlebars/helpers.d.ts.map +0 -1
  292. package/esm/handlebars/index.d.ts +0 -195
  293. package/esm/handlebars/index.d.ts.map +0 -1
  294. package/esm/handlebars/index.js +0 -587
  295. package/esm/index.d.ts +0 -56
  296. package/esm/index.d.ts.map +0 -1
  297. package/esm/index.js +0 -20511
  298. package/esm/layouts/base.d.ts +0 -86
  299. package/esm/layouts/base.d.ts.map +0 -1
  300. package/esm/layouts/index.d.ts +0 -8
  301. package/esm/layouts/index.d.ts.map +0 -1
  302. package/esm/layouts/index.js +0 -892
  303. package/esm/layouts/presets.d.ts +0 -134
  304. package/esm/layouts/presets.d.ts.map +0 -1
  305. package/esm/pages/consent.d.ts +0 -117
  306. package/esm/pages/consent.d.ts.map +0 -1
  307. package/esm/pages/error.d.ts +0 -101
  308. package/esm/pages/error.d.ts.map +0 -1
  309. package/esm/pages/index.d.ts +0 -9
  310. package/esm/pages/index.d.ts.map +0 -1
  311. package/esm/pages/index.js +0 -1563
  312. package/esm/react/Alert.d.ts +0 -102
  313. package/esm/react/Alert.d.ts.map +0 -1
  314. package/esm/react/Badge.d.ts +0 -101
  315. package/esm/react/Badge.d.ts.map +0 -1
  316. package/esm/react/Button.d.ts +0 -109
  317. package/esm/react/Button.d.ts.map +0 -1
  318. package/esm/react/Card.d.ts +0 -104
  319. package/esm/react/Card.d.ts.map +0 -1
  320. package/esm/react/hooks/context.d.ts +0 -179
  321. package/esm/react/hooks/context.d.ts.map +0 -1
  322. package/esm/react/hooks/index.d.ts +0 -42
  323. package/esm/react/hooks/index.d.ts.map +0 -1
  324. package/esm/react/hooks/tools.d.ts +0 -284
  325. package/esm/react/hooks/tools.d.ts.map +0 -1
  326. package/esm/react/index.d.ts +0 -81
  327. package/esm/react/index.d.ts.map +0 -1
  328. package/esm/react/types.d.ts +0 -106
  329. package/esm/react/types.d.ts.map +0 -1
  330. package/esm/react/utils.d.ts +0 -43
  331. package/esm/react/utils.d.ts.map +0 -1
  332. package/esm/registry/index.d.ts +0 -46
  333. package/esm/registry/index.d.ts.map +0 -1
  334. package/esm/registry/index.js +0 -6422
  335. package/esm/registry/render-template.d.ts +0 -91
  336. package/esm/registry/render-template.d.ts.map +0 -1
  337. package/esm/registry/tool-ui.registry.d.ts +0 -294
  338. package/esm/registry/tool-ui.registry.d.ts.map +0 -1
  339. package/esm/registry/uri-utils.d.ts +0 -56
  340. package/esm/registry/uri-utils.d.ts.map +0 -1
  341. package/esm/render/index.d.ts +0 -8
  342. package/esm/render/index.d.ts.map +0 -1
  343. package/esm/render/prerender.d.ts +0 -57
  344. package/esm/render/prerender.d.ts.map +0 -1
  345. package/esm/renderers/cache.d.ts +0 -145
  346. package/esm/renderers/cache.d.ts.map +0 -1
  347. package/esm/renderers/html.renderer.d.ts +0 -123
  348. package/esm/renderers/html.renderer.d.ts.map +0 -1
  349. package/esm/renderers/index.d.ts +0 -36
  350. package/esm/renderers/index.d.ts.map +0 -1
  351. package/esm/renderers/index.js +0 -1827
  352. package/esm/renderers/mdx.renderer.d.ts +0 -120
  353. package/esm/renderers/mdx.renderer.d.ts.map +0 -1
  354. package/esm/renderers/react.renderer.d.ts +0 -96
  355. package/esm/renderers/react.renderer.d.ts.map +0 -1
  356. package/esm/renderers/registry.d.ts +0 -134
  357. package/esm/renderers/registry.d.ts.map +0 -1
  358. package/esm/renderers/types.d.ts +0 -342
  359. package/esm/renderers/types.d.ts.map +0 -1
  360. package/esm/renderers/utils/detect.d.ts +0 -107
  361. package/esm/renderers/utils/detect.d.ts.map +0 -1
  362. package/esm/renderers/utils/hash.d.ts +0 -40
  363. package/esm/renderers/utils/hash.d.ts.map +0 -1
  364. package/esm/renderers/utils/index.d.ts +0 -9
  365. package/esm/renderers/utils/index.d.ts.map +0 -1
  366. package/esm/renderers/utils/transpiler.d.ts +0 -89
  367. package/esm/renderers/utils/transpiler.d.ts.map +0 -1
  368. package/esm/runtime/adapters/html.adapter.d.ts +0 -59
  369. package/esm/runtime/adapters/html.adapter.d.ts.map +0 -1
  370. package/esm/runtime/adapters/index.d.ts +0 -26
  371. package/esm/runtime/adapters/index.d.ts.map +0 -1
  372. package/esm/runtime/adapters/mdx.adapter.d.ts +0 -73
  373. package/esm/runtime/adapters/mdx.adapter.d.ts.map +0 -1
  374. package/esm/runtime/adapters/react.adapter.d.ts.map +0 -1
  375. package/esm/runtime/adapters/types.d.ts +0 -95
  376. package/esm/runtime/adapters/types.d.ts.map +0 -1
  377. package/esm/runtime/csp.d.ts +0 -48
  378. package/esm/runtime/csp.d.ts.map +0 -1
  379. package/esm/runtime/index.d.ts +0 -17
  380. package/esm/runtime/index.d.ts.map +0 -1
  381. package/esm/runtime/index.js +0 -5186
  382. package/esm/runtime/mcp-bridge.d.ts +0 -101
  383. package/esm/runtime/mcp-bridge.d.ts.map +0 -1
  384. package/esm/runtime/renderer-runtime.d.ts +0 -133
  385. package/esm/runtime/renderer-runtime.d.ts.map +0 -1
  386. package/esm/runtime/sanitizer.d.ts +0 -172
  387. package/esm/runtime/sanitizer.d.ts.map +0 -1
  388. package/esm/runtime/types.d.ts +0 -415
  389. package/esm/runtime/types.d.ts.map +0 -1
  390. package/esm/runtime/wrapper.d.ts +0 -421
  391. package/esm/runtime/wrapper.d.ts.map +0 -1
  392. package/esm/styles/index.d.ts +0 -8
  393. package/esm/styles/index.d.ts.map +0 -1
  394. package/esm/styles/index.js +0 -171
  395. package/esm/styles/variants.d.ts +0 -51
  396. package/esm/styles/variants.d.ts.map +0 -1
  397. package/esm/theme/cdn.d.ts +0 -195
  398. package/esm/theme/cdn.d.ts.map +0 -1
  399. package/esm/theme/index.d.ts +0 -18
  400. package/esm/theme/index.d.ts.map +0 -1
  401. package/esm/theme/index.js +0 -700
  402. package/esm/theme/platforms.d.ts +0 -107
  403. package/esm/theme/platforms.d.ts.map +0 -1
  404. package/esm/theme/presets/github-openai.d.ts +0 -50
  405. package/esm/theme/presets/github-openai.d.ts.map +0 -1
  406. package/esm/theme/presets/index.d.ts +0 -11
  407. package/esm/theme/presets/index.d.ts.map +0 -1
  408. package/esm/theme/theme.d.ts +0 -396
  409. package/esm/theme/theme.d.ts.map +0 -1
  410. package/esm/tool-template/builder.d.ts +0 -213
  411. package/esm/tool-template/builder.d.ts.map +0 -1
  412. package/esm/tool-template/index.d.ts +0 -16
  413. package/esm/tool-template/index.d.ts.map +0 -1
  414. package/esm/tool-template/index.js +0 -3515
  415. package/esm/types/index.d.ts +0 -14
  416. package/esm/types/index.d.ts.map +0 -1
  417. package/esm/types/index.js +0 -75
  418. package/esm/types/ui-config.d.ts +0 -639
  419. package/esm/types/ui-config.d.ts.map +0 -1
  420. package/esm/types/ui-runtime.d.ts +0 -1007
  421. package/esm/types/ui-runtime.d.ts.map +0 -1
  422. package/esm/typings/cache/cache-adapter.d.ts +0 -125
  423. package/esm/typings/cache/cache-adapter.d.ts.map +0 -1
  424. package/esm/typings/cache/index.d.ts +0 -10
  425. package/esm/typings/cache/index.d.ts.map +0 -1
  426. package/esm/typings/cache/memory-cache.d.ts +0 -92
  427. package/esm/typings/cache/memory-cache.d.ts.map +0 -1
  428. package/esm/typings/dts-parser.d.ts +0 -90
  429. package/esm/typings/dts-parser.d.ts.map +0 -1
  430. package/esm/typings/index.d.ts +0 -48
  431. package/esm/typings/index.d.ts.map +0 -1
  432. package/esm/typings/schemas.d.ts +0 -232
  433. package/esm/typings/schemas.d.ts.map +0 -1
  434. package/esm/typings/type-fetcher.d.ts +0 -89
  435. package/esm/typings/type-fetcher.d.ts.map +0 -1
  436. package/esm/typings/types.d.ts +0 -320
  437. package/esm/typings/types.d.ts.map +0 -1
  438. package/esm/universal/UniversalApp.d.ts +0 -108
  439. package/esm/universal/UniversalApp.d.ts.map +0 -1
  440. package/esm/universal/cached-runtime.d.ts +0 -115
  441. package/esm/universal/cached-runtime.d.ts.map +0 -1
  442. package/esm/universal/context.d.ts +0 -122
  443. package/esm/universal/context.d.ts.map +0 -1
  444. package/esm/universal/index.d.ts +0 -57
  445. package/esm/universal/index.d.ts.map +0 -1
  446. package/esm/universal/renderers/html.renderer.d.ts +0 -37
  447. package/esm/universal/renderers/html.renderer.d.ts.map +0 -1
  448. package/esm/universal/renderers/index.d.ts +0 -112
  449. package/esm/universal/renderers/index.d.ts.map +0 -1
  450. package/esm/universal/renderers/markdown.renderer.d.ts +0 -33
  451. package/esm/universal/renderers/markdown.renderer.d.ts.map +0 -1
  452. package/esm/universal/renderers/mdx.renderer.d.ts +0 -38
  453. package/esm/universal/renderers/mdx.renderer.d.ts.map +0 -1
  454. package/esm/universal/renderers/react.renderer.d.ts +0 -46
  455. package/esm/universal/renderers/react.renderer.d.ts.map +0 -1
  456. package/esm/universal/runtime-builder.d.ts +0 -33
  457. package/esm/universal/runtime-builder.d.ts.map +0 -1
  458. package/esm/universal/store.d.ts +0 -135
  459. package/esm/universal/store.d.ts.map +0 -1
  460. package/esm/universal/types.d.ts +0 -199
  461. package/esm/universal/types.d.ts.map +0 -1
  462. package/esm/utils/escape-html.d.ts +0 -58
  463. package/esm/utils/escape-html.d.ts.map +0 -1
  464. package/esm/utils/index.d.ts +0 -10
  465. package/esm/utils/index.d.ts.map +0 -1
  466. package/esm/utils/index.js +0 -40
  467. package/esm/utils/safe-stringify.d.ts +0 -30
  468. package/esm/utils/safe-stringify.d.ts.map +0 -1
  469. package/esm/validation/error-box.d.ts +0 -56
  470. package/esm/validation/error-box.d.ts.map +0 -1
  471. package/esm/validation/index.d.ts +0 -13
  472. package/esm/validation/index.d.ts.map +0 -1
  473. package/esm/validation/index.js +0 -562
  474. package/esm/validation/schema-paths.d.ts +0 -118
  475. package/esm/validation/schema-paths.d.ts.map +0 -1
  476. package/esm/validation/template-validator.d.ts +0 -143
  477. package/esm/validation/template-validator.d.ts.map +0 -1
  478. package/esm/validation/wrapper.d.ts +0 -97
  479. package/esm/validation/wrapper.d.ts.map +0 -1
  480. package/esm/web-components/core/attribute-parser.d.ts +0 -82
  481. package/esm/web-components/core/attribute-parser.d.ts.map +0 -1
  482. package/esm/web-components/core/base-element.d.ts +0 -197
  483. package/esm/web-components/core/base-element.d.ts.map +0 -1
  484. package/esm/web-components/core/index.d.ts +0 -9
  485. package/esm/web-components/core/index.d.ts.map +0 -1
  486. package/esm/web-components/elements/fmcp-alert.d.ts +0 -46
  487. package/esm/web-components/elements/fmcp-alert.d.ts.map +0 -1
  488. package/esm/web-components/elements/fmcp-badge.d.ts +0 -47
  489. package/esm/web-components/elements/fmcp-badge.d.ts.map +0 -1
  490. package/esm/web-components/elements/fmcp-button.d.ts +0 -117
  491. package/esm/web-components/elements/fmcp-button.d.ts.map +0 -1
  492. package/esm/web-components/elements/fmcp-card.d.ts +0 -53
  493. package/esm/web-components/elements/fmcp-card.d.ts.map +0 -1
  494. package/esm/web-components/elements/fmcp-input.d.ts +0 -96
  495. package/esm/web-components/elements/fmcp-input.d.ts.map +0 -1
  496. package/esm/web-components/elements/fmcp-select.d.ts +0 -100
  497. package/esm/web-components/elements/fmcp-select.d.ts.map +0 -1
  498. package/esm/web-components/elements/index.d.ts +0 -13
  499. package/esm/web-components/elements/index.d.ts.map +0 -1
  500. package/esm/web-components/index.d.ts +0 -50
  501. package/esm/web-components/index.d.ts.map +0 -1
  502. package/esm/web-components/register.d.ts +0 -57
  503. package/esm/web-components/register.d.ts.map +0 -1
  504. package/esm/web-components/types.d.ts +0 -122
  505. package/esm/web-components/types.d.ts.map +0 -1
  506. package/esm/widgets/index.d.ts +0 -8
  507. package/esm/widgets/index.d.ts.map +0 -1
  508. package/esm/widgets/index.js +0 -941
  509. package/esm/widgets/progress.d.ts +0 -133
  510. package/esm/widgets/progress.d.ts.map +0 -1
  511. package/esm/widgets/resource.d.ts +0 -163
  512. package/esm/widgets/resource.d.ts.map +0 -1
  513. package/handlebars/expression-extractor.d.ts +0 -147
  514. package/handlebars/expression-extractor.d.ts.map +0 -1
  515. package/handlebars/helpers.d.ts +0 -339
  516. package/handlebars/helpers.d.ts.map +0 -1
  517. package/handlebars/index.d.ts +0 -195
  518. package/handlebars/index.d.ts.map +0 -1
  519. package/handlebars/index.js +0 -666
  520. package/pages/consent.d.ts +0 -117
  521. package/pages/consent.d.ts.map +0 -1
  522. package/pages/error.d.ts +0 -101
  523. package/pages/error.d.ts.map +0 -1
  524. package/pages/index.d.ts +0 -9
  525. package/pages/index.d.ts.map +0 -1
  526. package/pages/index.js +0 -1602
  527. package/react/utils.d.ts +0 -43
  528. package/react/utils.d.ts.map +0 -1
  529. package/registry/index.d.ts +0 -46
  530. package/registry/index.d.ts.map +0 -1
  531. package/registry/index.js +0 -6465
  532. package/registry/render-template.d.ts +0 -91
  533. package/registry/render-template.d.ts.map +0 -1
  534. package/registry/tool-ui.registry.d.ts +0 -294
  535. package/registry/tool-ui.registry.d.ts.map +0 -1
  536. package/registry/uri-utils.d.ts +0 -56
  537. package/registry/uri-utils.d.ts.map +0 -1
  538. package/renderers/cache.d.ts +0 -145
  539. package/renderers/cache.d.ts.map +0 -1
  540. package/renderers/html.renderer.d.ts +0 -123
  541. package/renderers/html.renderer.d.ts.map +0 -1
  542. package/renderers/registry.d.ts +0 -134
  543. package/renderers/registry.d.ts.map +0 -1
  544. package/renderers/types.d.ts +0 -342
  545. package/renderers/types.d.ts.map +0 -1
  546. package/renderers/utils/detect.d.ts +0 -107
  547. package/renderers/utils/detect.d.ts.map +0 -1
  548. package/renderers/utils/hash.d.ts +0 -40
  549. package/renderers/utils/hash.d.ts.map +0 -1
  550. package/renderers/utils/index.d.ts +0 -9
  551. package/renderers/utils/index.d.ts.map +0 -1
  552. package/renderers/utils/transpiler.d.ts +0 -89
  553. package/renderers/utils/transpiler.d.ts.map +0 -1
  554. package/runtime/adapters/html.adapter.d.ts +0 -59
  555. package/runtime/adapters/html.adapter.d.ts.map +0 -1
  556. package/runtime/adapters/index.d.ts +0 -26
  557. package/runtime/adapters/index.d.ts.map +0 -1
  558. package/runtime/adapters/mdx.adapter.d.ts +0 -73
  559. package/runtime/adapters/mdx.adapter.d.ts.map +0 -1
  560. package/runtime/adapters/react.adapter.d.ts +0 -70
  561. package/runtime/adapters/react.adapter.d.ts.map +0 -1
  562. package/runtime/adapters/types.d.ts +0 -95
  563. package/runtime/adapters/types.d.ts.map +0 -1
  564. package/runtime/csp.d.ts +0 -48
  565. package/runtime/csp.d.ts.map +0 -1
  566. package/runtime/index.d.ts +0 -17
  567. package/runtime/index.d.ts.map +0 -1
  568. package/runtime/index.js +0 -5264
  569. package/runtime/mcp-bridge.d.ts +0 -101
  570. package/runtime/mcp-bridge.d.ts.map +0 -1
  571. package/runtime/renderer-runtime.d.ts +0 -133
  572. package/runtime/renderer-runtime.d.ts.map +0 -1
  573. package/runtime/sanitizer.d.ts +0 -172
  574. package/runtime/sanitizer.d.ts.map +0 -1
  575. package/runtime/types.d.ts +0 -415
  576. package/runtime/types.d.ts.map +0 -1
  577. package/runtime/wrapper.d.ts +0 -421
  578. package/runtime/wrapper.d.ts.map +0 -1
  579. package/styles/index.d.ts +0 -8
  580. package/styles/index.d.ts.map +0 -1
  581. package/styles/index.js +0 -222
  582. package/styles/variants.d.ts +0 -51
  583. package/styles/variants.d.ts.map +0 -1
  584. package/theme/cdn.d.ts +0 -195
  585. package/theme/cdn.d.ts.map +0 -1
  586. package/theme/index.d.ts +0 -18
  587. package/theme/index.d.ts.map +0 -1
  588. package/theme/index.js +0 -757
  589. package/theme/platforms.d.ts +0 -107
  590. package/theme/platforms.d.ts.map +0 -1
  591. package/theme/presets/github-openai.d.ts +0 -50
  592. package/theme/presets/github-openai.d.ts.map +0 -1
  593. package/theme/presets/index.d.ts +0 -11
  594. package/theme/presets/index.d.ts.map +0 -1
  595. package/theme/theme.d.ts +0 -396
  596. package/theme/theme.d.ts.map +0 -1
  597. package/tool-template/builder.d.ts +0 -213
  598. package/tool-template/builder.d.ts.map +0 -1
  599. package/tool-template/index.d.ts +0 -16
  600. package/tool-template/index.d.ts.map +0 -1
  601. package/tool-template/index.js +0 -3559
  602. package/types/index.d.ts +0 -14
  603. package/types/index.d.ts.map +0 -1
  604. package/types/index.js +0 -108
  605. package/types/ui-config.d.ts +0 -639
  606. package/types/ui-config.d.ts.map +0 -1
  607. package/types/ui-runtime.d.ts +0 -1007
  608. package/types/ui-runtime.d.ts.map +0 -1
  609. package/typings/cache/cache-adapter.d.ts +0 -125
  610. package/typings/cache/cache-adapter.d.ts.map +0 -1
  611. package/typings/cache/index.d.ts +0 -10
  612. package/typings/cache/index.d.ts.map +0 -1
  613. package/typings/cache/memory-cache.d.ts +0 -92
  614. package/typings/cache/memory-cache.d.ts.map +0 -1
  615. package/typings/dts-parser.d.ts +0 -90
  616. package/typings/dts-parser.d.ts.map +0 -1
  617. package/typings/index.d.ts +0 -48
  618. package/typings/index.d.ts.map +0 -1
  619. package/typings/schemas.d.ts +0 -232
  620. package/typings/schemas.d.ts.map +0 -1
  621. package/typings/type-fetcher.d.ts +0 -89
  622. package/typings/type-fetcher.d.ts.map +0 -1
  623. package/typings/types.d.ts +0 -320
  624. package/typings/types.d.ts.map +0 -1
  625. package/utils/escape-html.d.ts +0 -58
  626. package/utils/escape-html.d.ts.map +0 -1
  627. package/utils/index.d.ts +0 -10
  628. package/utils/index.d.ts.map +0 -1
  629. package/utils/index.js +0 -70
  630. package/utils/safe-stringify.d.ts +0 -30
  631. package/utils/safe-stringify.d.ts.map +0 -1
  632. package/validation/error-box.d.ts +0 -56
  633. package/validation/error-box.d.ts.map +0 -1
  634. package/validation/index.d.ts +0 -13
  635. package/validation/index.d.ts.map +0 -1
  636. package/validation/index.js +0 -603
  637. package/validation/schema-paths.d.ts +0 -118
  638. package/validation/schema-paths.d.ts.map +0 -1
  639. package/validation/template-validator.d.ts +0 -143
  640. package/validation/template-validator.d.ts.map +0 -1
  641. package/validation/wrapper.d.ts +0 -97
  642. package/validation/wrapper.d.ts.map +0 -1
  643. package/widgets/index.d.ts +0 -8
  644. package/widgets/index.d.ts.map +0 -1
  645. package/widgets/index.js +0 -978
  646. package/widgets/progress.d.ts +0 -133
  647. package/widgets/progress.d.ts.map +0 -1
  648. package/widgets/resource.d.ts +0 -163
  649. package/widgets/resource.d.ts.map +0 -1
  650. /package/esm/render/{index.js → index.mjs} +0 -0
@@ -1,52 +1,5 @@
1
- // libs/ui/src/theme/platforms.ts
2
- var CLAUDE_PLATFORM = {
3
- id: "claude",
4
- name: "Claude (Artifacts)",
5
- supportsWidgets: true,
6
- supportsTailwind: true,
7
- supportsHtmx: false,
8
- // Network blocked, HTMX won't work for API calls
9
- networkMode: "blocked",
10
- scriptStrategy: "inline",
11
- maxInlineSize: 100 * 1024,
12
- // 100KB limit for artifacts
13
- cspRestrictions: ["script-src 'unsafe-inline'", "connect-src 'none'"],
14
- options: {
15
- mode: "artifacts",
16
- framework: "react"
17
- // Claude artifacts prefer React
18
- }
19
- };
20
-
21
- // libs/ui/src/utils/escape-html.ts
22
- function escapeHtml(str) {
23
- if (str === null || str === void 0) {
24
- return "";
25
- }
26
- const s = String(str);
27
- return s.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;").replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029");
28
- }
29
-
30
- // libs/ui/src/validation/error-box.ts
31
- var errorIcon = `<svg class="w-5 h-5 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="true">
32
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"/>
33
- </svg>`;
34
- function validationErrorBox(options) {
35
- const { componentName, invalidParam } = options;
36
- return `<div
37
- class="validation-error flex items-start gap-3 p-4 bg-red-50 border border-red-200 text-red-800 rounded-lg"
38
- role="alert"
39
- data-testid="validation-error"
40
- data-component="${escapeHtml(componentName)}"
41
- data-param="${escapeHtml(invalidParam)}"
42
- >
43
- ${errorIcon}
44
- <div class="min-w-0">
45
- <p class="font-semibold text-sm">${escapeHtml(componentName)}: Invalid Configuration</p>
46
- <p class="text-sm opacity-90 mt-0.5">The "${escapeHtml(invalidParam)}" parameter is invalid.</p>
47
- </div>
48
- </div>`;
49
- }
1
+ // libs/ui/src/web-components/core/base-element.ts
2
+ import { validationErrorBox } from "@frontmcp/uipack/validation";
50
3
 
51
4
  // libs/ui/src/web-components/core/attribute-parser.ts
52
5
  function parseAttributeValue(attrName, value) {
@@ -310,81 +263,73 @@ var FmcpElement = class extends HTMLElementBase {
310
263
  }
311
264
  };
312
265
 
313
- // libs/ui/src/validation/wrapper.ts
314
- function getFirstInvalidPath(error) {
315
- const firstError = error.issues[0];
316
- if (!firstError || firstError.path.length === 0) {
317
- return "options";
318
- }
319
- return firstError.path.map(String).join(".");
320
- }
321
- function validateOptions(options, config) {
322
- const result = config.schema.safeParse(options);
323
- if (result.success) {
324
- return { success: true, data: result.data };
325
- }
326
- const invalidParam = getFirstInvalidPath(result.error);
327
- return {
328
- success: false,
329
- error: validationErrorBox({
330
- componentName: config.componentName,
331
- invalidParam
332
- })
333
- };
334
- }
266
+ // libs/ui/src/layouts/base.ts
267
+ import {
268
+ OPENAI_PLATFORM,
269
+ canUseCdn,
270
+ needsInlineScripts,
271
+ DEFAULT_THEME,
272
+ buildThemeCss,
273
+ mergeThemes,
274
+ buildFontPreconnect,
275
+ buildFontStylesheets,
276
+ buildCdnScripts
277
+ } from "@frontmcp/uipack/theme";
278
+ import { escapeHtml } from "@frontmcp/uipack/utils";
279
+ import { escapeHtml as escapeHtml2 } from "@frontmcp/uipack/utils";
335
280
 
336
- // libs/ui/src/validation/schema-paths.ts
337
- import { z } from "zod";
281
+ // libs/ui/src/components/button.ts
282
+ import { validateOptions } from "@frontmcp/uipack/validation";
338
283
 
339
284
  // libs/ui/src/components/button.schema.ts
340
- import { z as z2 } from "zod";
341
- var ButtonVariantSchema = z2.enum(["primary", "secondary", "outline", "ghost", "danger", "success", "link"]);
342
- var ButtonSizeSchema = z2.enum(["xs", "sm", "md", "lg", "xl"]);
343
- var ButtonOptionsSchema = z2.object({
285
+ import { z } from "zod";
286
+ var ButtonVariantSchema = z.enum(["primary", "secondary", "outline", "ghost", "danger", "success", "link"]);
287
+ var ButtonSizeSchema = z.enum(["xs", "sm", "md", "lg", "xl"]);
288
+ var ButtonOptionsSchema = z.object({
344
289
  /** Button variant */
345
290
  variant: ButtonVariantSchema.optional(),
346
291
  /** Button size */
347
292
  size: ButtonSizeSchema.optional(),
348
293
  /** Button type attribute */
349
- type: z2.enum(["button", "submit", "reset"]).optional(),
294
+ type: z.enum(["button", "submit", "reset"]).optional(),
350
295
  /** Disabled state */
351
- disabled: z2.boolean().optional(),
296
+ disabled: z.boolean().optional(),
352
297
  /** Loading state */
353
- loading: z2.boolean().optional(),
298
+ loading: z.boolean().optional(),
354
299
  /** Full width */
355
- fullWidth: z2.boolean().optional(),
300
+ fullWidth: z.boolean().optional(),
356
301
  /** Icon before text (HTML string) */
357
- iconBefore: z2.string().optional(),
302
+ iconBefore: z.string().optional(),
358
303
  /** Icon after text (HTML string) */
359
- iconAfter: z2.string().optional(),
304
+ iconAfter: z.string().optional(),
360
305
  /** Icon only (no text) */
361
- iconOnly: z2.boolean().optional(),
306
+ iconOnly: z.boolean().optional(),
362
307
  /** Additional CSS classes */
363
- className: z2.string().optional(),
308
+ className: z.string().optional(),
364
309
  /** Button ID */
365
- id: z2.string().optional(),
310
+ id: z.string().optional(),
366
311
  /** Name attribute */
367
- name: z2.string().optional(),
312
+ name: z.string().optional(),
368
313
  /** Value attribute */
369
- value: z2.string().optional(),
314
+ value: z.string().optional(),
370
315
  /** Click handler (URL for links) */
371
- href: z2.string().optional(),
316
+ href: z.string().optional(),
372
317
  /** Open in new tab */
373
- target: z2.enum(["_blank", "_self"]).optional(),
318
+ target: z.enum(["_blank", "_self"]).optional(),
374
319
  /** Data attributes */
375
- data: z2.record(z2.string(), z2.string()).optional(),
320
+ data: z.record(z.string(), z.string()).optional(),
376
321
  /** ARIA label */
377
- ariaLabel: z2.string().optional()
322
+ ariaLabel: z.string().optional()
378
323
  }).strict();
379
- var ButtonGroupOptionsSchema = z2.object({
324
+ var ButtonGroupOptionsSchema = z.object({
380
325
  /** Attach buttons visually */
381
- attached: z2.boolean().optional(),
326
+ attached: z.boolean().optional(),
382
327
  /** Direction */
383
- direction: z2.enum(["horizontal", "vertical"]).optional(),
328
+ direction: z.enum(["horizontal", "vertical"]).optional(),
384
329
  /** Gap between buttons */
385
- gap: z2.enum(["sm", "md", "lg"]).optional(),
330
+ gap: z.enum(["sm", "md", "lg"]).optional(),
386
331
  /** Additional CSS classes */
387
- className: z2.string().optional()
332
+ className: z.string().optional()
388
333
  }).strict();
389
334
 
390
335
  // libs/ui/src/components/button.ts
@@ -477,7 +422,7 @@ function button(text, options = {}) {
477
422
  }
478
423
  const variantClasses = getVariantClasses(variant);
479
424
  const sizeClasses = getSizeClasses(size, iconOnly);
480
- const safeClassName = className ? escapeHtml(className) : "";
425
+ const safeClassName = className ? escapeHtml2(className) : "";
481
426
  const baseClasses = [
482
427
  "inline-flex items-center justify-center",
483
428
  "font-medium",
@@ -492,24 +437,24 @@ function button(text, options = {}) {
492
437
  ].filter(Boolean).join(" ");
493
438
  const dataAttrs = data ? Object.entries(data).map(([key, val]) => {
494
439
  const safeKey = sanitizeDataKey(key);
495
- return safeKey ? `data-${safeKey}="${escapeHtml(val)}"` : "";
440
+ return safeKey ? `data-${safeKey}="${escapeHtml2(val)}"` : "";
496
441
  }).filter(Boolean).join(" ") : "";
497
- const idAttr = id ? `id="${escapeHtml(id)}"` : "";
498
- const nameAttr = name ? `name="${escapeHtml(name)}"` : "";
499
- const valueAttr = value ? `value="${escapeHtml(value)}"` : "";
442
+ const idAttr = id ? `id="${escapeHtml2(id)}"` : "";
443
+ const nameAttr = name ? `name="${escapeHtml2(name)}"` : "";
444
+ const valueAttr = value ? `value="${escapeHtml2(value)}"` : "";
500
445
  const disabledAttr = disabled || loading ? "disabled" : "";
501
- const targetAttr = target ? `target="${escapeHtml(target)}"` : "";
446
+ const targetAttr = target ? `target="${escapeHtml2(target)}"` : "";
502
447
  const relAttr = target === "_blank" ? 'rel="noopener noreferrer"' : "";
503
448
  const trimmedText = text.trim();
504
449
  const effectiveAriaLabel = ariaLabel ?? (iconOnly && trimmedText ? trimmedText : void 0);
505
- const ariaLabelAttr = effectiveAriaLabel ? `aria-label="${escapeHtml(effectiveAriaLabel)}"` : "";
450
+ const ariaLabelAttr = effectiveAriaLabel ? `aria-label="${escapeHtml2(effectiveAriaLabel)}"` : "";
506
451
  const iconBeforeHtml = iconBefore && !loading ? `<span class="${iconOnly ? "" : "mr-2"}">${iconBefore}</span>` : "";
507
452
  const iconAfterHtml = iconAfter && !loading ? `<span class="${iconOnly ? "" : "ml-2"}">${iconAfter}</span>` : "";
508
453
  const loadingHtml = loading ? loadingSpinner : "";
509
- const textHtml = iconOnly ? "" : escapeHtml(text);
454
+ const textHtml = iconOnly ? "" : escapeHtml2(text);
510
455
  const contentHtml = `${loadingHtml}${iconBeforeHtml}${textHtml}${iconAfterHtml}`;
511
456
  if (href && !disabled && !loading && isValidHrefProtocol(href)) {
512
- return `<a href="${escapeHtml(
457
+ return `<a href="${escapeHtml2(
513
458
  href
514
459
  )}" class="${baseClasses}" ${idAttr} ${dataAttrs} ${ariaLabelAttr} ${targetAttr} ${relAttr}>
515
460
  ${contentHtml}
@@ -693,7 +638,7 @@ function getSizeClasses2(size) {
693
638
  }
694
639
  function buildDataAttrs(data) {
695
640
  if (!data) return "";
696
- return Object.entries(data).map(([key, value]) => `data-${key}="${escapeHtml(value)}"`).join(" ");
641
+ return Object.entries(data).map(([key, value]) => `data-${key}="${escapeHtml2(value)}"`).join(" ");
697
642
  }
698
643
  function card(content, options = {}) {
699
644
  const {
@@ -714,18 +659,18 @@ function card(content, options = {}) {
714
659
  const clickableClasses = clickable ? "cursor-pointer hover:shadow-md transition-shadow" : "";
715
660
  const allClasses = [variantClasses, sizeClasses, clickableClasses, className].filter(Boolean).join(" ");
716
661
  const dataAttrs = buildDataAttrs(data);
717
- const idAttr = id ? `id="${escapeHtml(id)}"` : "";
662
+ const idAttr = id ? `id="${escapeHtml2(id)}"` : "";
718
663
  const hasHeader = title || subtitle || headerActions;
719
664
  const headerHtml = hasHeader ? `<div class="flex items-start justify-between mb-4">
720
665
  <div>
721
- ${title ? `<h3 class="text-lg font-semibold text-text-primary">${escapeHtml(title)}</h3>` : ""}
722
- ${subtitle ? `<p class="text-sm text-text-secondary mt-1">${escapeHtml(subtitle)}</p>` : ""}
666
+ ${title ? `<h3 class="text-lg font-semibold text-text-primary">${escapeHtml2(title)}</h3>` : ""}
667
+ ${subtitle ? `<p class="text-sm text-text-secondary mt-1">${escapeHtml2(subtitle)}</p>` : ""}
723
668
  </div>
724
669
  ${headerActions ? `<div class="flex items-center gap-2">${headerActions}</div>` : ""}
725
670
  </div>` : "";
726
671
  const footerHtml = footer ? `<div class="mt-4 pt-4 border-t border-divider">${footer}</div>` : "";
727
672
  if (href) {
728
- return `<a href="${escapeHtml(href)}" class="${allClasses}" ${idAttr} ${dataAttrs}>
673
+ return `<a href="${escapeHtml2(href)}" class="${allClasses}" ${idAttr} ${dataAttrs}>
729
674
  ${headerHtml}
730
675
  ${content}
731
676
  ${footerHtml}
@@ -739,40 +684,40 @@ function card(content, options = {}) {
739
684
  }
740
685
 
741
686
  // libs/ui/src/components/card.schema.ts
742
- import { z as z3 } from "zod";
743
- var CardVariantSchema = z3.enum(["default", "outlined", "elevated", "filled", "ghost"]);
744
- var CardSizeSchema = z3.enum(["sm", "md", "lg"]);
745
- var CardOptionsSchema = z3.object({
687
+ import { z as z2 } from "zod";
688
+ var CardVariantSchema = z2.enum(["default", "outlined", "elevated", "filled", "ghost"]);
689
+ var CardSizeSchema = z2.enum(["sm", "md", "lg"]);
690
+ var CardOptionsSchema = z2.object({
746
691
  /** Card variant */
747
692
  variant: CardVariantSchema.optional(),
748
693
  /** Card size (padding) */
749
694
  size: CardSizeSchema.optional(),
750
695
  /** Card title */
751
- title: z3.string().optional(),
696
+ title: z2.string().optional(),
752
697
  /** Card subtitle/description */
753
- subtitle: z3.string().optional(),
698
+ subtitle: z2.string().optional(),
754
699
  /** Header actions (HTML string) */
755
- headerActions: z3.string().optional(),
700
+ headerActions: z2.string().optional(),
756
701
  /** Footer content (HTML string) */
757
- footer: z3.string().optional(),
702
+ footer: z2.string().optional(),
758
703
  /** Additional CSS classes */
759
- className: z3.string().optional(),
704
+ className: z2.string().optional(),
760
705
  /** Card ID */
761
- id: z3.string().optional(),
706
+ id: z2.string().optional(),
762
707
  /** Data attributes */
763
- data: z3.record(z3.string(), z3.string()).optional(),
708
+ data: z2.record(z2.string(), z2.string()).optional(),
764
709
  /** Clickable card (adds hover effects) */
765
- clickable: z3.boolean().optional(),
710
+ clickable: z2.boolean().optional(),
766
711
  /** Click handler URL */
767
- href: z3.string().optional()
712
+ href: z2.string().optional()
768
713
  }).strict();
769
- var CardGroupOptionsSchema = z3.object({
714
+ var CardGroupOptionsSchema = z2.object({
770
715
  /** Direction */
771
- direction: z3.enum(["horizontal", "vertical"]).optional(),
716
+ direction: z2.enum(["horizontal", "vertical"]).optional(),
772
717
  /** Gap between cards */
773
- gap: z3.enum(["sm", "md", "lg"]).optional(),
718
+ gap: z2.enum(["sm", "md", "lg"]).optional(),
774
719
  /** Additional CSS classes */
775
- className: z3.string().optional()
720
+ className: z2.string().optional()
776
721
  }).strict();
777
722
 
778
723
  // libs/ui/src/web-components/elements/fmcp-card.ts
@@ -905,7 +850,7 @@ function alert(message, options = {}) {
905
850
  const iconHtml = showIcon ? `<div class="flex-shrink-0 ${variantClasses.icon}">
906
851
  ${icon || alertIcons[variant]}
907
852
  </div>` : "";
908
- const titleHtml = title ? `<h3 class="font-semibold">${escapeHtml(title)}</h3>` : "";
853
+ const titleHtml = title ? `<h3 class="font-semibold">${escapeHtml2(title)}</h3>` : "";
909
854
  const dismissHtml = dismissible ? `<button
910
855
  type="button"
911
856
  class="flex-shrink-0 ml-auto -mr-1 -mt-1 p-1 rounded hover:bg-black/5 transition-colors"
@@ -917,13 +862,13 @@ function alert(message, options = {}) {
917
862
  </svg>
918
863
  </button>` : "";
919
864
  const actionsHtml = actions ? `<div class="mt-3">${actions}</div>` : "";
920
- const idAttr = id ? `id="${escapeHtml(id)}"` : "";
865
+ const idAttr = id ? `id="${escapeHtml2(id)}"` : "";
921
866
  return `<div class="alert ${baseClasses}" role="alert" ${idAttr}>
922
867
  <div class="flex gap-3">
923
868
  ${iconHtml}
924
869
  <div class="flex-1">
925
870
  ${titleHtml}
926
- <div class="${title ? "mt-1" : ""}">${escapeHtml(message)}</div>
871
+ <div class="${title ? "mt-1" : ""}">${escapeHtml2(message)}</div>
927
872
  ${actionsHtml}
928
873
  </div>
929
874
  ${dismissHtml}
@@ -932,27 +877,27 @@ function alert(message, options = {}) {
932
877
  }
933
878
 
934
879
  // libs/ui/src/components/alert.schema.ts
935
- import { z as z4 } from "zod";
936
- var AlertVariantSchema = z4.enum(["info", "success", "warning", "danger", "neutral"]);
937
- var AlertOptionsSchema = z4.object({
880
+ import { z as z3 } from "zod";
881
+ var AlertVariantSchema = z3.enum(["info", "success", "warning", "danger", "neutral"]);
882
+ var AlertOptionsSchema = z3.object({
938
883
  /** Alert variant */
939
884
  variant: AlertVariantSchema.optional(),
940
885
  /** Alert title */
941
- title: z4.string().optional(),
886
+ title: z3.string().optional(),
942
887
  /** Show icon */
943
- showIcon: z4.boolean().optional(),
888
+ showIcon: z3.boolean().optional(),
944
889
  /** Custom icon (HTML string, overrides default) */
945
- icon: z4.string().optional(),
890
+ icon: z3.string().optional(),
946
891
  /** Dismissible alert */
947
- dismissible: z4.boolean().optional(),
892
+ dismissible: z3.boolean().optional(),
948
893
  /** Additional CSS classes */
949
- className: z4.string().optional(),
894
+ className: z3.string().optional(),
950
895
  /** Alert ID */
951
- id: z4.string().optional(),
896
+ id: z3.string().optional(),
952
897
  /** Actions (HTML string for buttons) */
953
- actions: z4.string().optional()
898
+ actions: z3.string().optional()
954
899
  }).strict();
955
- var ToastPositionSchema = z4.enum([
900
+ var ToastPositionSchema = z3.enum([
956
901
  "top-right",
957
902
  "top-left",
958
903
  "bottom-right",
@@ -960,17 +905,17 @@ var ToastPositionSchema = z4.enum([
960
905
  "top-center",
961
906
  "bottom-center"
962
907
  ]);
963
- var ToastOptionsSchema = z4.object({
908
+ var ToastOptionsSchema = z3.object({
964
909
  /** Toast variant */
965
910
  variant: AlertVariantSchema.optional(),
966
911
  /** Toast title */
967
- title: z4.string().optional(),
912
+ title: z3.string().optional(),
968
913
  /** Duration in ms (0 = no auto-dismiss) */
969
- duration: z4.number().min(0).optional(),
914
+ duration: z3.number().min(0).optional(),
970
915
  /** Position */
971
916
  position: ToastPositionSchema.optional(),
972
917
  /** Toast ID */
973
- id: z4.string().optional()
918
+ id: z3.string().optional()
974
919
  }).strict();
975
920
 
976
921
  // libs/ui/src/web-components/elements/fmcp-alert.ts
@@ -1084,7 +1029,7 @@ function badge(text, options = {}) {
1084
1029
  outline: "border border-current"
1085
1030
  };
1086
1031
  const dotClasses = ["inline-block rounded-full", getSizeClasses3(size, true), dotVariants[variant], className].filter(Boolean).join(" ");
1087
- return `<span class="${dotClasses}" aria-label="${escapeHtml(text)}" title="${escapeHtml(text)}"></span>`;
1032
+ return `<span class="${dotClasses}" aria-label="${escapeHtml2(text)}" title="${escapeHtml2(text)}"></span>`;
1088
1033
  }
1089
1034
  const variantClasses = getVariantClasses4(variant);
1090
1035
  const sizeClasses = getSizeClasses3(size, false);
@@ -1107,13 +1052,13 @@ function badge(text, options = {}) {
1107
1052
  </svg>
1108
1053
  </button>` : "";
1109
1054
  return `<span class="${baseClasses}">
1110
- ${iconHtml}${escapeHtml(text)}${removeHtml}
1055
+ ${iconHtml}${escapeHtml2(text)}${removeHtml}
1111
1056
  </span>`;
1112
1057
  }
1113
1058
 
1114
1059
  // libs/ui/src/components/badge.schema.ts
1115
- import { z as z5 } from "zod";
1116
- var BadgeVariantSchema = z5.enum([
1060
+ import { z as z4 } from "zod";
1061
+ var BadgeVariantSchema = z4.enum([
1117
1062
  "default",
1118
1063
  "primary",
1119
1064
  "secondary",
@@ -1123,28 +1068,28 @@ var BadgeVariantSchema = z5.enum([
1123
1068
  "info",
1124
1069
  "outline"
1125
1070
  ]);
1126
- var BadgeSizeSchema = z5.enum(["sm", "md", "lg"]);
1127
- var BadgeOptionsSchema = z5.object({
1071
+ var BadgeSizeSchema = z4.enum(["sm", "md", "lg"]);
1072
+ var BadgeOptionsSchema = z4.object({
1128
1073
  /** Badge variant */
1129
1074
  variant: BadgeVariantSchema.optional(),
1130
1075
  /** Badge size */
1131
1076
  size: BadgeSizeSchema.optional(),
1132
1077
  /** Rounded pill style */
1133
- pill: z5.boolean().optional(),
1078
+ pill: z4.boolean().optional(),
1134
1079
  /** Icon before text (HTML string) */
1135
- icon: z5.string().optional(),
1080
+ icon: z4.string().optional(),
1136
1081
  /** Dot indicator (no text) */
1137
- dot: z5.boolean().optional(),
1082
+ dot: z4.boolean().optional(),
1138
1083
  /** Additional CSS classes */
1139
- className: z5.string().optional(),
1084
+ className: z4.string().optional(),
1140
1085
  /** Removable badge */
1141
- removable: z5.boolean().optional()
1086
+ removable: z4.boolean().optional()
1142
1087
  }).strict();
1143
- var BadgeGroupOptionsSchema = z5.object({
1088
+ var BadgeGroupOptionsSchema = z4.object({
1144
1089
  /** Gap between badges */
1145
- gap: z5.enum(["sm", "md", "lg"]).optional(),
1090
+ gap: z4.enum(["sm", "md", "lg"]).optional(),
1146
1091
  /** Additional CSS classes */
1147
- className: z5.string().optional()
1092
+ className: z4.string().optional()
1148
1093
  }).strict();
1149
1094
 
1150
1095
  // libs/ui/src/web-components/elements/fmcp-badge.ts
@@ -1233,7 +1178,7 @@ function getInputStateClasses(state) {
1233
1178
  }
1234
1179
  function buildDataAttrs2(data) {
1235
1180
  if (!data) return "";
1236
- return Object.entries(data).map(([key, value]) => `data-${key}="${escapeHtml(value)}"`).join(" ");
1181
+ return Object.entries(data).map(([key, value]) => `data-${key}="${escapeHtml2(value)}"`).join(" ");
1237
1182
  }
1238
1183
  function input(options) {
1239
1184
  const {
@@ -1276,26 +1221,26 @@ function input(options) {
1276
1221
  const dataAttrs = buildDataAttrs2(data);
1277
1222
  const inputAttrs = [
1278
1223
  `type="${type}"`,
1279
- `name="${escapeHtml(name)}"`,
1280
- `id="${escapeHtml(id)}"`,
1281
- value ? `value="${escapeHtml(value)}"` : "",
1282
- placeholder ? `placeholder="${escapeHtml(placeholder)}"` : "",
1224
+ `name="${escapeHtml2(name)}"`,
1225
+ `id="${escapeHtml2(id)}"`,
1226
+ value ? `value="${escapeHtml2(value)}"` : "",
1227
+ placeholder ? `placeholder="${escapeHtml2(placeholder)}"` : "",
1283
1228
  required ? "required" : "",
1284
1229
  disabled ? "disabled" : "",
1285
1230
  readonly ? "readonly" : "",
1286
- autocomplete ? `autocomplete="${escapeHtml(autocomplete)}"` : "",
1287
- pattern ? `pattern="${escapeHtml(pattern)}"` : "",
1288
- min !== void 0 ? `min="${escapeHtml(String(min))}"` : "",
1289
- max !== void 0 ? `max="${escapeHtml(String(max))}"` : "",
1290
- step !== void 0 ? `step="${escapeHtml(String(step))}"` : "",
1231
+ autocomplete ? `autocomplete="${escapeHtml2(autocomplete)}"` : "",
1232
+ pattern ? `pattern="${escapeHtml2(pattern)}"` : "",
1233
+ min !== void 0 ? `min="${escapeHtml2(String(min))}"` : "",
1234
+ max !== void 0 ? `max="${escapeHtml2(String(max))}"` : "",
1235
+ step !== void 0 ? `step="${escapeHtml2(String(step))}"` : "",
1291
1236
  `class="${baseClasses}"`,
1292
1237
  dataAttrs
1293
1238
  ].filter(Boolean).join(" ");
1294
- const labelHtml = label ? `<label for="${escapeHtml(id)}" class="block text-sm font-medium text-text-primary mb-1.5">
1295
- ${escapeHtml(label)}${required ? '<span class="text-danger ml-1">*</span>' : ""}
1239
+ const labelHtml = label ? `<label for="${escapeHtml2(id)}" class="block text-sm font-medium text-text-primary mb-1.5">
1240
+ ${escapeHtml2(label)}${required ? '<span class="text-danger ml-1">*</span>' : ""}
1296
1241
  </label>` : "";
1297
- const helperHtml = helper && !error ? `<p class="mt-1.5 text-sm text-text-secondary">${escapeHtml(helper)}</p>` : "";
1298
- const errorHtml = error ? `<p class="mt-1.5 text-sm text-danger">${escapeHtml(error)}</p>` : "";
1242
+ const helperHtml = helper && !error ? `<p class="mt-1.5 text-sm text-text-secondary">${escapeHtml2(helper)}</p>` : "";
1243
+ const errorHtml = error ? `<p class="mt-1.5 text-sm text-danger">${escapeHtml2(error)}</p>` : "";
1299
1244
  const iconBeforeHtml = iconBefore ? `<span class="absolute left-3 top-1/2 -translate-y-1/2 text-text-secondary">${iconBefore}</span>` : "";
1300
1245
  const iconAfterHtml = iconAfter ? `<span class="absolute right-3 top-1/2 -translate-y-1/2 text-text-secondary">${iconAfter}</span>` : "";
1301
1246
  const inputHtml = hasIcon ? `<div class="relative">
@@ -1342,18 +1287,18 @@ function select(options) {
1342
1287
  const optionsHtml = selectOptions.map((opt) => {
1343
1288
  const selected = opt.selected || opt.value === value ? "selected" : "";
1344
1289
  const optDisabled = opt.disabled ? "disabled" : "";
1345
- return `<option value="${escapeHtml(opt.value)}" ${selected} ${optDisabled}>${escapeHtml(opt.label)}</option>`;
1290
+ return `<option value="${escapeHtml2(opt.value)}" ${selected} ${optDisabled}>${escapeHtml2(opt.label)}</option>`;
1346
1291
  }).join("\n");
1347
- const labelHtml = label ? `<label for="${escapeHtml(id)}" class="block text-sm font-medium text-text-primary mb-1.5">
1348
- ${escapeHtml(label)}${required ? '<span class="text-danger ml-1">*</span>' : ""}
1292
+ const labelHtml = label ? `<label for="${escapeHtml2(id)}" class="block text-sm font-medium text-text-primary mb-1.5">
1293
+ ${escapeHtml2(label)}${required ? '<span class="text-danger ml-1">*</span>' : ""}
1349
1294
  </label>` : "";
1350
- const helperHtml = helper && !error ? `<p class="mt-1.5 text-sm text-text-secondary">${escapeHtml(helper)}</p>` : "";
1351
- const errorHtml = error ? `<p class="mt-1.5 text-sm text-danger">${escapeHtml(error)}</p>` : "";
1295
+ const helperHtml = helper && !error ? `<p class="mt-1.5 text-sm text-text-secondary">${escapeHtml2(helper)}</p>` : "";
1296
+ const errorHtml = error ? `<p class="mt-1.5 text-sm text-danger">${escapeHtml2(error)}</p>` : "";
1352
1297
  return `<div class="form-field">
1353
1298
  ${labelHtml}
1354
1299
  <select
1355
- name="${escapeHtml(name)}"
1356
- id="${escapeHtml(id)}"
1300
+ name="${escapeHtml2(name)}"
1301
+ id="${escapeHtml2(id)}"
1357
1302
  class="${baseClasses}"
1358
1303
  ${required ? "required" : ""}
1359
1304
  ${disabled ? "disabled" : ""}
@@ -1368,8 +1313,8 @@ function select(options) {
1368
1313
  }
1369
1314
 
1370
1315
  // libs/ui/src/components/form.schema.ts
1371
- import { z as z6 } from "zod";
1372
- var InputTypeSchema = z6.enum([
1316
+ import { z as z5 } from "zod";
1317
+ var InputTypeSchema = z5.enum([
1373
1318
  "text",
1374
1319
  "email",
1375
1320
  "password",
@@ -1382,221 +1327,221 @@ var InputTypeSchema = z6.enum([
1382
1327
  "datetime-local",
1383
1328
  "hidden"
1384
1329
  ]);
1385
- var InputSizeSchema = z6.enum(["sm", "md", "lg"]);
1386
- var InputStateSchema = z6.enum(["default", "error", "success", "warning"]);
1387
- var InputOptionsSchema = z6.object({
1330
+ var InputSizeSchema = z5.enum(["sm", "md", "lg"]);
1331
+ var InputStateSchema = z5.enum(["default", "error", "success", "warning"]);
1332
+ var InputOptionsSchema = z5.object({
1388
1333
  /** Input type */
1389
1334
  type: InputTypeSchema.optional(),
1390
1335
  /** Input name (required) */
1391
- name: z6.string(),
1336
+ name: z5.string(),
1392
1337
  /** Input ID (defaults to name) */
1393
- id: z6.string().optional(),
1338
+ id: z5.string().optional(),
1394
1339
  /** Input value */
1395
- value: z6.string().optional(),
1340
+ value: z5.string().optional(),
1396
1341
  /** Placeholder text */
1397
- placeholder: z6.string().optional(),
1342
+ placeholder: z5.string().optional(),
1398
1343
  /** Label text */
1399
- label: z6.string().optional(),
1344
+ label: z5.string().optional(),
1400
1345
  /** Helper text */
1401
- helper: z6.string().optional(),
1346
+ helper: z5.string().optional(),
1402
1347
  /** Error message */
1403
- error: z6.string().optional(),
1348
+ error: z5.string().optional(),
1404
1349
  /** Input size */
1405
1350
  size: InputSizeSchema.optional(),
1406
1351
  /** Input state */
1407
1352
  state: InputStateSchema.optional(),
1408
1353
  /** Required field */
1409
- required: z6.boolean().optional(),
1354
+ required: z5.boolean().optional(),
1410
1355
  /** Disabled state */
1411
- disabled: z6.boolean().optional(),
1356
+ disabled: z5.boolean().optional(),
1412
1357
  /** Readonly state */
1413
- readonly: z6.boolean().optional(),
1358
+ readonly: z5.boolean().optional(),
1414
1359
  /** Autocomplete attribute */
1415
- autocomplete: z6.string().optional(),
1360
+ autocomplete: z5.string().optional(),
1416
1361
  /** Pattern for validation */
1417
- pattern: z6.string().optional(),
1362
+ pattern: z5.string().optional(),
1418
1363
  /** Min value (for number/date) */
1419
- min: z6.union([z6.string(), z6.number()]).optional(),
1364
+ min: z5.union([z5.string(), z5.number()]).optional(),
1420
1365
  /** Max value (for number/date) */
1421
- max: z6.union([z6.string(), z6.number()]).optional(),
1366
+ max: z5.union([z5.string(), z5.number()]).optional(),
1422
1367
  /** Step value (for number) */
1423
- step: z6.union([z6.string(), z6.number()]).optional(),
1368
+ step: z5.union([z5.string(), z5.number()]).optional(),
1424
1369
  /** Additional CSS classes */
1425
- className: z6.string().optional(),
1370
+ className: z5.string().optional(),
1426
1371
  /** Data attributes */
1427
- data: z6.record(z6.string(), z6.string()).optional(),
1372
+ data: z5.record(z5.string(), z5.string()).optional(),
1428
1373
  /** Icon before input (HTML string) */
1429
- iconBefore: z6.string().optional(),
1374
+ iconBefore: z5.string().optional(),
1430
1375
  /** Icon after input (HTML string) */
1431
- iconAfter: z6.string().optional()
1376
+ iconAfter: z5.string().optional()
1432
1377
  }).strict();
1433
- var SelectOptionItemSchema = z6.object({
1434
- value: z6.string(),
1435
- label: z6.string(),
1436
- disabled: z6.boolean().optional(),
1437
- selected: z6.boolean().optional()
1378
+ var SelectOptionItemSchema = z5.object({
1379
+ value: z5.string(),
1380
+ label: z5.string(),
1381
+ disabled: z5.boolean().optional(),
1382
+ selected: z5.boolean().optional()
1438
1383
  }).strict();
1439
- var SelectOptionsSchema = z6.object({
1384
+ var SelectOptionsSchema = z5.object({
1440
1385
  /** Input name (required) */
1441
- name: z6.string(),
1386
+ name: z5.string(),
1442
1387
  /** Input ID (defaults to name) */
1443
- id: z6.string().optional(),
1388
+ id: z5.string().optional(),
1444
1389
  /** Input value */
1445
- value: z6.string().optional(),
1390
+ value: z5.string().optional(),
1446
1391
  /** Placeholder text */
1447
- placeholder: z6.string().optional(),
1392
+ placeholder: z5.string().optional(),
1448
1393
  /** Label text */
1449
- label: z6.string().optional(),
1394
+ label: z5.string().optional(),
1450
1395
  /** Helper text */
1451
- helper: z6.string().optional(),
1396
+ helper: z5.string().optional(),
1452
1397
  /** Error message */
1453
- error: z6.string().optional(),
1398
+ error: z5.string().optional(),
1454
1399
  /** Input size */
1455
1400
  size: InputSizeSchema.optional(),
1456
1401
  /** Input state */
1457
1402
  state: InputStateSchema.optional(),
1458
1403
  /** Required field */
1459
- required: z6.boolean().optional(),
1404
+ required: z5.boolean().optional(),
1460
1405
  /** Disabled state */
1461
- disabled: z6.boolean().optional(),
1406
+ disabled: z5.boolean().optional(),
1462
1407
  /** Readonly state */
1463
- readonly: z6.boolean().optional(),
1408
+ readonly: z5.boolean().optional(),
1464
1409
  /** Additional CSS classes */
1465
- className: z6.string().optional(),
1410
+ className: z5.string().optional(),
1466
1411
  /** Data attributes */
1467
- data: z6.record(z6.string(), z6.string()).optional(),
1412
+ data: z5.record(z5.string(), z5.string()).optional(),
1468
1413
  /** Icon before input (HTML string) */
1469
- iconBefore: z6.string().optional(),
1414
+ iconBefore: z5.string().optional(),
1470
1415
  /** Icon after input (HTML string) */
1471
- iconAfter: z6.string().optional(),
1416
+ iconAfter: z5.string().optional(),
1472
1417
  /** Select options (required) */
1473
- options: z6.array(SelectOptionItemSchema),
1418
+ options: z5.array(SelectOptionItemSchema),
1474
1419
  /** Multiple selection */
1475
- multiple: z6.boolean().optional()
1420
+ multiple: z5.boolean().optional()
1476
1421
  }).strict();
1477
- var TextareaResizeSchema = z6.enum(["none", "vertical", "horizontal", "both"]);
1478
- var TextareaOptionsSchema = z6.object({
1422
+ var TextareaResizeSchema = z5.enum(["none", "vertical", "horizontal", "both"]);
1423
+ var TextareaOptionsSchema = z5.object({
1479
1424
  /** Input name (required) */
1480
- name: z6.string(),
1425
+ name: z5.string(),
1481
1426
  /** Input ID (defaults to name) */
1482
- id: z6.string().optional(),
1427
+ id: z5.string().optional(),
1483
1428
  /** Input value */
1484
- value: z6.string().optional(),
1429
+ value: z5.string().optional(),
1485
1430
  /** Placeholder text */
1486
- placeholder: z6.string().optional(),
1431
+ placeholder: z5.string().optional(),
1487
1432
  /** Label text */
1488
- label: z6.string().optional(),
1433
+ label: z5.string().optional(),
1489
1434
  /** Helper text */
1490
- helper: z6.string().optional(),
1435
+ helper: z5.string().optional(),
1491
1436
  /** Error message */
1492
- error: z6.string().optional(),
1437
+ error: z5.string().optional(),
1493
1438
  /** Input size */
1494
1439
  size: InputSizeSchema.optional(),
1495
1440
  /** Input state */
1496
1441
  state: InputStateSchema.optional(),
1497
1442
  /** Required field */
1498
- required: z6.boolean().optional(),
1443
+ required: z5.boolean().optional(),
1499
1444
  /** Disabled state */
1500
- disabled: z6.boolean().optional(),
1445
+ disabled: z5.boolean().optional(),
1501
1446
  /** Readonly state */
1502
- readonly: z6.boolean().optional(),
1447
+ readonly: z5.boolean().optional(),
1503
1448
  /** Autocomplete attribute */
1504
- autocomplete: z6.string().optional(),
1449
+ autocomplete: z5.string().optional(),
1505
1450
  /** Additional CSS classes */
1506
- className: z6.string().optional(),
1451
+ className: z5.string().optional(),
1507
1452
  /** Data attributes */
1508
- data: z6.record(z6.string(), z6.string()).optional(),
1453
+ data: z5.record(z5.string(), z5.string()).optional(),
1509
1454
  /** Icon before input (HTML string) */
1510
- iconBefore: z6.string().optional(),
1455
+ iconBefore: z5.string().optional(),
1511
1456
  /** Icon after input (HTML string) */
1512
- iconAfter: z6.string().optional(),
1457
+ iconAfter: z5.string().optional(),
1513
1458
  /** Number of rows */
1514
- rows: z6.number().min(1).optional(),
1459
+ rows: z5.number().min(1).optional(),
1515
1460
  /** Resize behavior */
1516
1461
  resize: TextareaResizeSchema.optional()
1517
1462
  }).strict();
1518
- var CheckboxOptionsSchema = z6.object({
1463
+ var CheckboxOptionsSchema = z5.object({
1519
1464
  /** Input name (required) */
1520
- name: z6.string(),
1465
+ name: z5.string(),
1521
1466
  /** Input ID */
1522
- id: z6.string().optional(),
1467
+ id: z5.string().optional(),
1523
1468
  /** Input value */
1524
- value: z6.string().optional(),
1469
+ value: z5.string().optional(),
1525
1470
  /** Label text (required) */
1526
- label: z6.string(),
1471
+ label: z5.string(),
1527
1472
  /** Checked state */
1528
- checked: z6.boolean().optional(),
1473
+ checked: z5.boolean().optional(),
1529
1474
  /** Disabled state */
1530
- disabled: z6.boolean().optional(),
1475
+ disabled: z5.boolean().optional(),
1531
1476
  /** Helper text */
1532
- helper: z6.string().optional(),
1477
+ helper: z5.string().optional(),
1533
1478
  /** Error message */
1534
- error: z6.string().optional(),
1479
+ error: z5.string().optional(),
1535
1480
  /** Additional CSS classes */
1536
- className: z6.string().optional()
1481
+ className: z5.string().optional()
1537
1482
  }).strict();
1538
- var RadioOptionItemSchema = z6.object({
1539
- value: z6.string(),
1540
- label: z6.string(),
1541
- disabled: z6.boolean().optional()
1483
+ var RadioOptionItemSchema = z5.object({
1484
+ value: z5.string(),
1485
+ label: z5.string(),
1486
+ disabled: z5.boolean().optional()
1542
1487
  }).strict();
1543
- var RadioGroupOptionsSchema = z6.object({
1488
+ var RadioGroupOptionsSchema = z5.object({
1544
1489
  /** Group name (required) */
1545
- name: z6.string(),
1490
+ name: z5.string(),
1546
1491
  /** Radio options (required) */
1547
- options: z6.array(RadioOptionItemSchema),
1492
+ options: z5.array(RadioOptionItemSchema),
1548
1493
  /** Selected value */
1549
- value: z6.string().optional(),
1494
+ value: z5.string().optional(),
1550
1495
  /** Label for the group */
1551
- label: z6.string().optional(),
1496
+ label: z5.string().optional(),
1552
1497
  /** Helper text */
1553
- helper: z6.string().optional(),
1498
+ helper: z5.string().optional(),
1554
1499
  /** Error message */
1555
- error: z6.string().optional(),
1500
+ error: z5.string().optional(),
1556
1501
  /** Layout direction */
1557
- direction: z6.enum(["horizontal", "vertical"]).optional(),
1502
+ direction: z5.enum(["horizontal", "vertical"]).optional(),
1558
1503
  /** Additional CSS classes */
1559
- className: z6.string().optional()
1504
+ className: z5.string().optional()
1560
1505
  }).strict();
1561
- var FormMethodSchema = z6.enum(["get", "post", "dialog"]);
1562
- var FormEnctypeSchema = z6.enum(["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"]);
1563
- var FormOptionsSchema = z6.object({
1506
+ var FormMethodSchema = z5.enum(["get", "post", "dialog"]);
1507
+ var FormEnctypeSchema = z5.enum(["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"]);
1508
+ var FormOptionsSchema = z5.object({
1564
1509
  /** Form action URL */
1565
- action: z6.string().optional(),
1510
+ action: z5.string().optional(),
1566
1511
  /** Form method */
1567
1512
  method: FormMethodSchema.optional(),
1568
1513
  /** Form ID */
1569
- id: z6.string().optional(),
1514
+ id: z5.string().optional(),
1570
1515
  /** Form enctype */
1571
1516
  enctype: FormEnctypeSchema.optional(),
1572
1517
  /** Disable browser validation */
1573
- novalidate: z6.boolean().optional(),
1518
+ novalidate: z5.boolean().optional(),
1574
1519
  /** Autocomplete behavior */
1575
- autocomplete: z6.enum(["on", "off"]).optional(),
1520
+ autocomplete: z5.enum(["on", "off"]).optional(),
1576
1521
  /** Additional CSS classes */
1577
- className: z6.string().optional()
1522
+ className: z5.string().optional()
1578
1523
  }).strict();
1579
- var FormRowOptionsSchema = z6.object({
1524
+ var FormRowOptionsSchema = z5.object({
1580
1525
  /** Number of columns */
1581
- cols: z6.number().min(1).max(12).optional(),
1526
+ cols: z5.number().min(1).max(12).optional(),
1582
1527
  /** Gap between columns */
1583
- gap: z6.enum(["sm", "md", "lg"]).optional(),
1528
+ gap: z5.enum(["sm", "md", "lg"]).optional(),
1584
1529
  /** Additional CSS classes */
1585
- className: z6.string().optional()
1530
+ className: z5.string().optional()
1586
1531
  }).strict();
1587
- var FormSectionOptionsSchema = z6.object({
1532
+ var FormSectionOptionsSchema = z5.object({
1588
1533
  /** Section title */
1589
- title: z6.string().optional(),
1534
+ title: z5.string().optional(),
1590
1535
  /** Section description */
1591
- description: z6.string().optional(),
1536
+ description: z5.string().optional(),
1592
1537
  /** Additional CSS classes */
1593
- className: z6.string().optional()
1538
+ className: z5.string().optional()
1594
1539
  }).strict();
1595
- var FormActionsOptionsSchema = z6.object({
1540
+ var FormActionsOptionsSchema = z5.object({
1596
1541
  /** Alignment */
1597
- align: z6.enum(["left", "center", "right", "between"]).optional(),
1542
+ align: z5.enum(["left", "center", "right", "between"]).optional(),
1598
1543
  /** Additional CSS classes */
1599
- className: z6.string().optional()
1544
+ className: z5.string().optional()
1600
1545
  }).strict();
1601
1546
 
1602
1547
  // libs/ui/src/web-components/elements/fmcp-input.ts