@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
@@ -1,124 +0,0 @@
1
- /**
2
- * @file fmcp-button.ts
3
- * @description FrontMCP Button Web Component.
4
- *
5
- * A custom element wrapper around the button() HTML function.
6
- * Works natively in React, Vue, Angular, and plain HTML.
7
- *
8
- * @example Basic usage
9
- * ```html
10
- * <fmcp-button>Click Me</fmcp-button>
11
- * <fmcp-button variant="danger">Delete</fmcp-button>
12
- * <fmcp-button disabled>Disabled</fmcp-button>
13
- * ```
14
- *
15
- * @example With HTMX
16
- * ```html
17
- * <fmcp-button hx-post="/api/submit" hx-target="#result">
18
- * Submit
19
- * </fmcp-button>
20
- * ```
21
- *
22
- * @example In React
23
- * ```tsx
24
- * import { registerFmcpButton } from '@frontmcp/ui/web-components';
25
- * registerFmcpButton();
26
- *
27
- * function App() {
28
- * return (
29
- * <fmcp-button variant="primary" onClick={handleClick}>
30
- * Click Me
31
- * </fmcp-button>
32
- * );
33
- * }
34
- * ```
35
- *
36
- * @module @frontmcp/ui/web-components/elements/fmcp-button
37
- */
38
- import { FmcpElement, type FmcpElementConfig } from '../core';
39
- import { type ButtonOptions } from '../../components/button';
40
- /**
41
- * FmcpButton Web Component
42
- *
43
- * Attributes:
44
- * - `variant` - 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger' | 'success' | 'link'
45
- * - `size` - 'xs' | 'sm' | 'md' | 'lg' | 'xl'
46
- * - `type` - 'button' | 'submit' | 'reset'
47
- * - `disabled` - boolean (presence = true)
48
- * - `loading` - boolean
49
- * - `full-width` - boolean
50
- * - `icon-only` - boolean
51
- * - `href` - URL for link-style buttons
52
- * - `target` - '_blank' | '_self'
53
- * - `hx-get`, `hx-post`, etc. - HTMX attributes
54
- *
55
- * Properties (for React/Vue):
56
- * - All attributes can be set as properties
57
- * - `options` - Set all options at once
58
- *
59
- * Events:
60
- * - `fmcp:render` - Fired after render with { options } detail
61
- * - `fmcp:click` - Fired on button click with { options } detail
62
- */
63
- export declare class FmcpButton extends FmcpElement<ButtonOptions> {
64
- protected readonly config: FmcpElementConfig<ButtonOptions>;
65
- /**
66
- * Attributes to observe for changes.
67
- */
68
- static get observedAttributes(): string[];
69
- /**
70
- * Render the button HTML using the button() function.
71
- */
72
- protected renderHtml(options: ButtonOptions, content: string): string;
73
- set variant(value: ButtonOptions['variant']);
74
- get variant(): ButtonOptions['variant'];
75
- set size(value: ButtonOptions['size']);
76
- get size(): ButtonOptions['size'];
77
- set type(value: ButtonOptions['type']);
78
- get type(): ButtonOptions['type'];
79
- set disabled(value: boolean);
80
- get disabled(): boolean;
81
- set loading(value: boolean);
82
- get loading(): boolean;
83
- set fullWidth(value: boolean);
84
- get fullWidth(): boolean;
85
- set iconOnly(value: boolean);
86
- get iconOnly(): boolean;
87
- set iconBefore(value: string | undefined);
88
- get iconBefore(): string | undefined;
89
- set iconAfter(value: string | undefined);
90
- get iconAfter(): string | undefined;
91
- set href(value: string | undefined);
92
- get href(): string | undefined;
93
- set buttonAriaLabel(value: string | undefined);
94
- get buttonAriaLabel(): string | undefined;
95
- connectedCallback(): void;
96
- private _handleClick;
97
- /**
98
- * Focus the inner button element.
99
- */
100
- focus(): void;
101
- /**
102
- * Blur the inner button element.
103
- */
104
- blur(): void;
105
- /**
106
- * Click the inner button programmatically.
107
- */
108
- click(): void;
109
- }
110
- /**
111
- * Register the fmcp-button custom element.
112
- *
113
- * @example
114
- * ```typescript
115
- * import { registerFmcpButton } from '@frontmcp/ui/web-components';
116
- *
117
- * // Register once on app startup
118
- * registerFmcpButton();
119
- *
120
- * // Then use in HTML
121
- * // <fmcp-button variant="primary">Click</fmcp-button>
122
- * ```
123
- */
124
- export declare function registerFmcpButton(): void;
@@ -1,233 +0,0 @@
1
- "use strict";
2
- /**
3
- * @file fmcp-button.ts
4
- * @description FrontMCP Button Web Component.
5
- *
6
- * A custom element wrapper around the button() HTML function.
7
- * Works natively in React, Vue, Angular, and plain HTML.
8
- *
9
- * @example Basic usage
10
- * ```html
11
- * <fmcp-button>Click Me</fmcp-button>
12
- * <fmcp-button variant="danger">Delete</fmcp-button>
13
- * <fmcp-button disabled>Disabled</fmcp-button>
14
- * ```
15
- *
16
- * @example With HTMX
17
- * ```html
18
- * <fmcp-button hx-post="/api/submit" hx-target="#result">
19
- * Submit
20
- * </fmcp-button>
21
- * ```
22
- *
23
- * @example In React
24
- * ```tsx
25
- * import { registerFmcpButton } from '@frontmcp/ui/web-components';
26
- * registerFmcpButton();
27
- *
28
- * function App() {
29
- * return (
30
- * <fmcp-button variant="primary" onClick={handleClick}>
31
- * Click Me
32
- * </fmcp-button>
33
- * );
34
- * }
35
- * ```
36
- *
37
- * @module @frontmcp/ui/web-components/elements/fmcp-button
38
- */
39
- Object.defineProperty(exports, "__esModule", { value: true });
40
- exports.FmcpButton = void 0;
41
- exports.registerFmcpButton = registerFmcpButton;
42
- const core_1 = require("../core");
43
- const button_1 = require("../../components/button");
44
- const button_schema_1 = require("../../components/button.schema");
45
- /**
46
- * FmcpButton Web Component
47
- *
48
- * Attributes:
49
- * - `variant` - 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger' | 'success' | 'link'
50
- * - `size` - 'xs' | 'sm' | 'md' | 'lg' | 'xl'
51
- * - `type` - 'button' | 'submit' | 'reset'
52
- * - `disabled` - boolean (presence = true)
53
- * - `loading` - boolean
54
- * - `full-width` - boolean
55
- * - `icon-only` - boolean
56
- * - `href` - URL for link-style buttons
57
- * - `target` - '_blank' | '_self'
58
- * - `hx-get`, `hx-post`, etc. - HTMX attributes
59
- *
60
- * Properties (for React/Vue):
61
- * - All attributes can be set as properties
62
- * - `options` - Set all options at once
63
- *
64
- * Events:
65
- * - `fmcp:render` - Fired after render with { options } detail
66
- * - `fmcp:click` - Fired on button click with { options } detail
67
- */
68
- class FmcpButton extends core_1.FmcpElement {
69
- config = {
70
- name: 'button',
71
- schema: button_schema_1.ButtonOptionsSchema,
72
- defaults: {
73
- variant: 'primary',
74
- size: 'md',
75
- type: 'button',
76
- },
77
- };
78
- /**
79
- * Attributes to observe for changes.
80
- */
81
- static get observedAttributes() {
82
- return (0, core_1.getObservedAttributesFromSchema)(button_schema_1.ButtonOptionsSchema);
83
- }
84
- /**
85
- * Render the button HTML using the button() function.
86
- */
87
- renderHtml(options, content) {
88
- return (0, button_1.button)(content, options);
89
- }
90
- // ============================================
91
- // Property Setters (Individual Props)
92
- // ============================================
93
- set variant(value) {
94
- this._options.variant = value;
95
- this._scheduleRender();
96
- }
97
- get variant() {
98
- return this._options.variant;
99
- }
100
- set size(value) {
101
- this._options.size = value;
102
- this._scheduleRender();
103
- }
104
- get size() {
105
- return this._options.size;
106
- }
107
- set type(value) {
108
- this._options.type = value;
109
- this._scheduleRender();
110
- }
111
- get type() {
112
- return this._options.type;
113
- }
114
- set disabled(value) {
115
- this._options.disabled = value;
116
- this._scheduleRender();
117
- }
118
- get disabled() {
119
- return this._options.disabled ?? false;
120
- }
121
- set loading(value) {
122
- this._options.loading = value;
123
- this._scheduleRender();
124
- }
125
- get loading() {
126
- return this._options.loading ?? false;
127
- }
128
- set fullWidth(value) {
129
- this._options.fullWidth = value;
130
- this._scheduleRender();
131
- }
132
- get fullWidth() {
133
- return this._options.fullWidth ?? false;
134
- }
135
- set iconOnly(value) {
136
- this._options.iconOnly = value;
137
- this._scheduleRender();
138
- }
139
- get iconOnly() {
140
- return this._options.iconOnly ?? false;
141
- }
142
- set iconBefore(value) {
143
- this._options.iconBefore = value;
144
- this._scheduleRender();
145
- }
146
- get iconBefore() {
147
- return this._options.iconBefore;
148
- }
149
- set iconAfter(value) {
150
- this._options.iconAfter = value;
151
- this._scheduleRender();
152
- }
153
- get iconAfter() {
154
- return this._options.iconAfter;
155
- }
156
- set href(value) {
157
- this._options.href = value;
158
- this._scheduleRender();
159
- }
160
- get href() {
161
- return this._options.href;
162
- }
163
- set buttonAriaLabel(value) {
164
- this._options.ariaLabel = value;
165
- this._scheduleRender();
166
- }
167
- get buttonAriaLabel() {
168
- return this._options.ariaLabel;
169
- }
170
- // ============================================
171
- // Event Forwarding
172
- // ============================================
173
- connectedCallback() {
174
- super.connectedCallback();
175
- // Forward click events from inner button
176
- this.addEventListener('click', this._handleClick.bind(this));
177
- }
178
- _handleClick(e) {
179
- // Only dispatch if click originated from inner button
180
- const innerButton = this.getInnerElement();
181
- if (innerButton && (e.target === innerButton || innerButton.contains(e.target))) {
182
- this.dispatchEvent(new CustomEvent('fmcp:click', {
183
- bubbles: true,
184
- detail: { options: this.options },
185
- }));
186
- }
187
- }
188
- // ============================================
189
- // Public API
190
- // ============================================
191
- /**
192
- * Focus the inner button element.
193
- */
194
- focus() {
195
- const inner = this.getInnerElement();
196
- inner?.focus();
197
- }
198
- /**
199
- * Blur the inner button element.
200
- */
201
- blur() {
202
- const inner = this.getInnerElement();
203
- inner?.blur();
204
- }
205
- /**
206
- * Click the inner button programmatically.
207
- */
208
- click() {
209
- const inner = this.getInnerElement();
210
- inner?.click();
211
- }
212
- }
213
- exports.FmcpButton = FmcpButton;
214
- /**
215
- * Register the fmcp-button custom element.
216
- *
217
- * @example
218
- * ```typescript
219
- * import { registerFmcpButton } from '@frontmcp/ui/web-components';
220
- *
221
- * // Register once on app startup
222
- * registerFmcpButton();
223
- *
224
- * // Then use in HTML
225
- * // <fmcp-button variant="primary">Click</fmcp-button>
226
- * ```
227
- */
228
- function registerFmcpButton() {
229
- if (typeof customElements !== 'undefined' && !customElements.get('fmcp-button')) {
230
- customElements.define('fmcp-button', FmcpButton);
231
- }
232
- }
233
- //# sourceMappingURL=fmcp-button.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fmcp-button.js","sourceRoot":"","sources":["../../../../src/web-components/elements/fmcp-button.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @file fmcp-button.ts\n * @description FrontMCP Button Web Component.\n *\n * A custom element wrapper around the button() HTML function.\n * Works natively in React, Vue, Angular, and plain HTML.\n *\n * @example Basic usage\n * ```html\n * <fmcp-button>Click Me</fmcp-button>\n * <fmcp-button variant=\"danger\">Delete</fmcp-button>\n * <fmcp-button disabled>Disabled</fmcp-button>\n * ```\n *\n * @example With HTMX\n * ```html\n * <fmcp-button hx-post=\"/api/submit\" hx-target=\"#result\">\n * Submit\n * </fmcp-button>\n * ```\n *\n * @example In React\n * ```tsx\n * import { registerFmcpButton } from '@frontmcp/ui/web-components';\n * registerFmcpButton();\n *\n * function App() {\n * return (\n * <fmcp-button variant=\"primary\" onClick={handleClick}>\n * Click Me\n * </fmcp-button>\n * );\n * }\n * ```\n *\n * @module @frontmcp/ui/web-components/elements/fmcp-button\n */\n\nimport { FmcpElement, type FmcpElementConfig, getObservedAttributesFromSchema } from '../core';\nimport { button, type ButtonOptions } from '../../components/button';\nimport { ButtonOptionsSchema } from '../../components/button.schema';\n\n/**\n * FmcpButton Web Component\n *\n * Attributes:\n * - `variant` - 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger' | 'success' | 'link'\n * - `size` - 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n * - `type` - 'button' | 'submit' | 'reset'\n * - `disabled` - boolean (presence = true)\n * - `loading` - boolean\n * - `full-width` - boolean\n * - `icon-only` - boolean\n * - `href` - URL for link-style buttons\n * - `target` - '_blank' | '_self'\n * - `hx-get`, `hx-post`, etc. - HTMX attributes\n *\n * Properties (for React/Vue):\n * - All attributes can be set as properties\n * - `options` - Set all options at once\n *\n * Events:\n * - `fmcp:render` - Fired after render with { options } detail\n * - `fmcp:click` - Fired on button click with { options } detail\n */\nexport class FmcpButton extends FmcpElement<ButtonOptions> {\n protected readonly config: FmcpElementConfig<ButtonOptions> = {\n name: 'button',\n schema: ButtonOptionsSchema,\n defaults: {\n variant: 'primary',\n size: 'md',\n type: 'button',\n },\n };\n\n /**\n * Attributes to observe for changes.\n */\n static get observedAttributes(): string[] {\n return getObservedAttributesFromSchema(ButtonOptionsSchema);\n }\n\n /**\n * Render the button HTML using the button() function.\n */\n protected renderHtml(options: ButtonOptions, content: string): string {\n return button(content, options);\n }\n\n // ============================================\n // Property Setters (Individual Props)\n // ============================================\n\n set variant(value: ButtonOptions['variant']) {\n this._options.variant = value;\n this._scheduleRender();\n }\n get variant(): ButtonOptions['variant'] {\n return this._options.variant;\n }\n\n set size(value: ButtonOptions['size']) {\n this._options.size = value;\n this._scheduleRender();\n }\n get size(): ButtonOptions['size'] {\n return this._options.size;\n }\n\n set type(value: ButtonOptions['type']) {\n this._options.type = value;\n this._scheduleRender();\n }\n get type(): ButtonOptions['type'] {\n return this._options.type;\n }\n\n set disabled(value: boolean) {\n this._options.disabled = value;\n this._scheduleRender();\n }\n get disabled(): boolean {\n return this._options.disabled ?? false;\n }\n\n set loading(value: boolean) {\n this._options.loading = value;\n this._scheduleRender();\n }\n get loading(): boolean {\n return this._options.loading ?? false;\n }\n\n set fullWidth(value: boolean) {\n this._options.fullWidth = value;\n this._scheduleRender();\n }\n get fullWidth(): boolean {\n return this._options.fullWidth ?? false;\n }\n\n set iconOnly(value: boolean) {\n this._options.iconOnly = value;\n this._scheduleRender();\n }\n get iconOnly(): boolean {\n return this._options.iconOnly ?? false;\n }\n\n set iconBefore(value: string | undefined) {\n this._options.iconBefore = value;\n this._scheduleRender();\n }\n get iconBefore(): string | undefined {\n return this._options.iconBefore;\n }\n\n set iconAfter(value: string | undefined) {\n this._options.iconAfter = value;\n this._scheduleRender();\n }\n get iconAfter(): string | undefined {\n return this._options.iconAfter;\n }\n\n set href(value: string | undefined) {\n this._options.href = value;\n this._scheduleRender();\n }\n get href(): string | undefined {\n return this._options.href;\n }\n\n set buttonAriaLabel(value: string | undefined) {\n this._options.ariaLabel = value;\n this._scheduleRender();\n }\n get buttonAriaLabel(): string | undefined {\n return this._options.ariaLabel;\n }\n\n // ============================================\n // Event Forwarding\n // ============================================\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n // Forward click events from inner button\n this.addEventListener('click', this._handleClick.bind(this));\n }\n\n private _handleClick(e: Event): void {\n // Only dispatch if click originated from inner button\n const innerButton = this.getInnerElement<HTMLButtonElement>();\n if (innerButton && (e.target === innerButton || innerButton.contains(e.target as Node))) {\n this.dispatchEvent(\n new CustomEvent('fmcp:click', {\n bubbles: true,\n detail: { options: this.options },\n }),\n );\n }\n }\n\n // ============================================\n // Public API\n // ============================================\n\n /**\n * Focus the inner button element.\n */\n public override focus(): void {\n const inner = this.getInnerElement<HTMLButtonElement>();\n inner?.focus();\n }\n\n /**\n * Blur the inner button element.\n */\n public override blur(): void {\n const inner = this.getInnerElement<HTMLButtonElement>();\n inner?.blur();\n }\n\n /**\n * Click the inner button programmatically.\n */\n public override click(): void {\n const inner = this.getInnerElement<HTMLButtonElement>();\n inner?.click();\n }\n}\n\n/**\n * Register the fmcp-button custom element.\n *\n * @example\n * ```typescript\n * import { registerFmcpButton } from '@frontmcp/ui/web-components';\n *\n * // Register once on app startup\n * registerFmcpButton();\n *\n * // Then use in HTML\n * // <fmcp-button variant=\"primary\">Click</fmcp-button>\n * ```\n */\nexport function registerFmcpButton(): void {\n if (typeof customElements !== 'undefined' && !customElements.get('fmcp-button')) {\n customElements.define('fmcp-button', FmcpButton);\n }\n}\n"]}
@@ -1,52 +0,0 @@
1
- /**
2
- * @file fmcp-card.ts
3
- * @description FrontMCP Card Web Component.
4
- *
5
- * A custom element wrapper around the card() HTML function.
6
- *
7
- * @example Basic usage
8
- * ```html
9
- * <fmcp-card title="Welcome" subtitle="Description">
10
- * <p>Card content goes here</p>
11
- * </fmcp-card>
12
- * ```
13
- *
14
- * @example Clickable card
15
- * ```html
16
- * <fmcp-card clickable href="/details" title="Item">
17
- * <p>Click to view details</p>
18
- * </fmcp-card>
19
- * ```
20
- *
21
- * @module @frontmcp/ui/web-components/elements/fmcp-card
22
- */
23
- import { FmcpElement, type FmcpElementConfig } from '../core';
24
- import { type CardOptions } from '../../components/card';
25
- /**
26
- * FmcpCard Web Component
27
- */
28
- export declare class FmcpCard extends FmcpElement<CardOptions> {
29
- protected readonly config: FmcpElementConfig<CardOptions>;
30
- static get observedAttributes(): string[];
31
- protected renderHtml(options: CardOptions, content: string): string;
32
- set variant(value: CardOptions['variant']);
33
- get variant(): CardOptions['variant'];
34
- set size(value: CardOptions['size']);
35
- get size(): CardOptions['size'];
36
- set cardTitle(value: string | undefined);
37
- get cardTitle(): string | undefined;
38
- set subtitle(value: string | undefined);
39
- get subtitle(): string | undefined;
40
- set clickable(value: boolean);
41
- get clickable(): boolean;
42
- set href(value: string | undefined);
43
- get href(): string | undefined;
44
- set footer(value: string | undefined);
45
- get footer(): string | undefined;
46
- set headerActions(value: string | undefined);
47
- get headerActions(): string | undefined;
48
- }
49
- /**
50
- * Register the fmcp-card custom element.
51
- */
52
- export declare function registerFmcpCard(): void;
@@ -1,115 +0,0 @@
1
- "use strict";
2
- /**
3
- * @file fmcp-card.ts
4
- * @description FrontMCP Card Web Component.
5
- *
6
- * A custom element wrapper around the card() HTML function.
7
- *
8
- * @example Basic usage
9
- * ```html
10
- * <fmcp-card title="Welcome" subtitle="Description">
11
- * <p>Card content goes here</p>
12
- * </fmcp-card>
13
- * ```
14
- *
15
- * @example Clickable card
16
- * ```html
17
- * <fmcp-card clickable href="/details" title="Item">
18
- * <p>Click to view details</p>
19
- * </fmcp-card>
20
- * ```
21
- *
22
- * @module @frontmcp/ui/web-components/elements/fmcp-card
23
- */
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.FmcpCard = void 0;
26
- exports.registerFmcpCard = registerFmcpCard;
27
- const core_1 = require("../core");
28
- const card_1 = require("../../components/card");
29
- const card_schema_1 = require("../../components/card.schema");
30
- /**
31
- * FmcpCard Web Component
32
- */
33
- class FmcpCard extends core_1.FmcpElement {
34
- config = {
35
- name: 'card',
36
- schema: card_schema_1.CardOptionsSchema,
37
- defaults: {
38
- variant: 'default',
39
- size: 'md',
40
- },
41
- };
42
- static get observedAttributes() {
43
- return (0, core_1.getObservedAttributesFromSchema)(card_schema_1.CardOptionsSchema);
44
- }
45
- renderHtml(options, content) {
46
- return (0, card_1.card)(content, options);
47
- }
48
- // Property setters
49
- set variant(value) {
50
- this._options.variant = value;
51
- this._scheduleRender();
52
- }
53
- get variant() {
54
- return this._options.variant;
55
- }
56
- set size(value) {
57
- this._options.size = value;
58
- this._scheduleRender();
59
- }
60
- get size() {
61
- return this._options.size;
62
- }
63
- set cardTitle(value) {
64
- this._options.title = value;
65
- this._scheduleRender();
66
- }
67
- get cardTitle() {
68
- return this._options.title;
69
- }
70
- set subtitle(value) {
71
- this._options.subtitle = value;
72
- this._scheduleRender();
73
- }
74
- get subtitle() {
75
- return this._options.subtitle;
76
- }
77
- set clickable(value) {
78
- this._options.clickable = value;
79
- this._scheduleRender();
80
- }
81
- get clickable() {
82
- return this._options.clickable ?? false;
83
- }
84
- set href(value) {
85
- this._options.href = value;
86
- this._scheduleRender();
87
- }
88
- get href() {
89
- return this._options.href;
90
- }
91
- set footer(value) {
92
- this._options.footer = value;
93
- this._scheduleRender();
94
- }
95
- get footer() {
96
- return this._options.footer;
97
- }
98
- set headerActions(value) {
99
- this._options.headerActions = value;
100
- this._scheduleRender();
101
- }
102
- get headerActions() {
103
- return this._options.headerActions;
104
- }
105
- }
106
- exports.FmcpCard = FmcpCard;
107
- /**
108
- * Register the fmcp-card custom element.
109
- */
110
- function registerFmcpCard() {
111
- if (typeof customElements !== 'undefined' && !customElements.get('fmcp-card')) {
112
- customElements.define('fmcp-card', FmcpCard);
113
- }
114
- }
115
- //# sourceMappingURL=fmcp-card.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fmcp-card.js","sourceRoot":"","sources":["../../../../src/web-components/elements/fmcp-card.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @file fmcp-card.ts\n * @description FrontMCP Card Web Component.\n *\n * A custom element wrapper around the card() HTML function.\n *\n * @example Basic usage\n * ```html\n * <fmcp-card title=\"Welcome\" subtitle=\"Description\">\n * <p>Card content goes here</p>\n * </fmcp-card>\n * ```\n *\n * @example Clickable card\n * ```html\n * <fmcp-card clickable href=\"/details\" title=\"Item\">\n * <p>Click to view details</p>\n * </fmcp-card>\n * ```\n *\n * @module @frontmcp/ui/web-components/elements/fmcp-card\n */\n\nimport { FmcpElement, type FmcpElementConfig, getObservedAttributesFromSchema } from '../core';\nimport { card, type CardOptions } from '../../components/card';\nimport { CardOptionsSchema } from '../../components/card.schema';\n\n/**\n * FmcpCard Web Component\n */\nexport class FmcpCard extends FmcpElement<CardOptions> {\n protected readonly config: FmcpElementConfig<CardOptions> = {\n name: 'card',\n schema: CardOptionsSchema,\n defaults: {\n variant: 'default',\n size: 'md',\n },\n };\n\n static get observedAttributes(): string[] {\n return getObservedAttributesFromSchema(CardOptionsSchema);\n }\n\n protected renderHtml(options: CardOptions, content: string): string {\n return card(content, options);\n }\n\n // Property setters\n set variant(value: CardOptions['variant']) {\n this._options.variant = value;\n this._scheduleRender();\n }\n get variant(): CardOptions['variant'] {\n return this._options.variant;\n }\n\n set size(value: CardOptions['size']) {\n this._options.size = value;\n this._scheduleRender();\n }\n get size(): CardOptions['size'] {\n return this._options.size;\n }\n\n set cardTitle(value: string | undefined) {\n this._options.title = value;\n this._scheduleRender();\n }\n get cardTitle(): string | undefined {\n return this._options.title;\n }\n\n set subtitle(value: string | undefined) {\n this._options.subtitle = value;\n this._scheduleRender();\n }\n get subtitle(): string | undefined {\n return this._options.subtitle;\n }\n\n set clickable(value: boolean) {\n this._options.clickable = value;\n this._scheduleRender();\n }\n get clickable(): boolean {\n return this._options.clickable ?? false;\n }\n\n set href(value: string | undefined) {\n this._options.href = value;\n this._scheduleRender();\n }\n get href(): string | undefined {\n return this._options.href;\n }\n\n set footer(value: string | undefined) {\n this._options.footer = value;\n this._scheduleRender();\n }\n get footer(): string | undefined {\n return this._options.footer;\n }\n\n set headerActions(value: string | undefined) {\n this._options.headerActions = value;\n this._scheduleRender();\n }\n get headerActions(): string | undefined {\n return this._options.headerActions;\n }\n}\n\n/**\n * Register the fmcp-card custom element.\n */\nexport function registerFmcpCard(): void {\n if (typeof customElements !== 'undefined' && !customElements.get('fmcp-card')) {\n customElements.define('fmcp-card', FmcpCard);\n }\n}\n"]}
@@ -1,95 +0,0 @@
1
- /**
2
- * @file fmcp-input.ts
3
- * @description FrontMCP Input Web Component.
4
- *
5
- * A custom element wrapper around the input() HTML function.
6
- *
7
- * @example Basic usage
8
- * ```html
9
- * <fmcp-input name="email" type="email" label="Email Address"></fmcp-input>
10
- * <fmcp-input name="password" type="password" label="Password" required></fmcp-input>
11
- * ```
12
- *
13
- * @example With validation
14
- * ```html
15
- * <fmcp-input
16
- * name="username"
17
- * label="Username"
18
- * helper="Choose a unique username"
19
- * pattern="[a-z0-9]+"
20
- * ></fmcp-input>
21
- * ```
22
- *
23
- * @module @frontmcp/ui/web-components/elements/fmcp-input
24
- */
25
- import { FmcpElement, type FmcpElementConfig } from '../core';
26
- import { type InputOptions } from '../../components/form';
27
- /**
28
- * FmcpInput Web Component
29
- */
30
- export declare class FmcpInput extends FmcpElement<InputOptions> {
31
- protected readonly config: FmcpElementConfig<InputOptions>;
32
- static get observedAttributes(): string[];
33
- protected renderHtml(options: InputOptions, _content: string): string;
34
- set name(value: string);
35
- get name(): string;
36
- set type(value: InputOptions['type']);
37
- get type(): InputOptions['type'];
38
- set label(value: string | undefined);
39
- get label(): string | undefined;
40
- set placeholder(value: string | undefined);
41
- get placeholder(): string | undefined;
42
- set helper(value: string | undefined);
43
- get helper(): string | undefined;
44
- set error(value: string | undefined);
45
- get error(): string | undefined;
46
- set size(value: InputOptions['size']);
47
- get size(): InputOptions['size'];
48
- set state(value: InputOptions['state']);
49
- get state(): InputOptions['state'];
50
- set required(value: boolean);
51
- get required(): boolean;
52
- set disabled(value: boolean);
53
- get disabled(): boolean;
54
- set readonly(value: boolean);
55
- get readonly(): boolean;
56
- connectedCallback(): void;
57
- private _handleInput;
58
- private _handleChange;
59
- /**
60
- * Get current input value.
61
- */
62
- get value(): string;
63
- /**
64
- * Set input value.
65
- */
66
- set value(val: string);
67
- /**
68
- * Get validity state.
69
- */
70
- get validity(): ValidityState | undefined;
71
- /**
72
- * Check validity.
73
- */
74
- checkValidity(): boolean;
75
- /**
76
- * Report validity.
77
- */
78
- reportValidity(): boolean;
79
- /**
80
- * Focus the input.
81
- */
82
- focus(): void;
83
- /**
84
- * Blur the input.
85
- */
86
- blur(): void;
87
- /**
88
- * Select all text.
89
- */
90
- select(): void;
91
- }
92
- /**
93
- * Register the fmcp-input custom element.
94
- */
95
- export declare function registerFmcpInput(): void;