@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 +0,0 @@
1
- {"version":3,"file":"avatar.schema.js","sourceRoot":"","sources":["../../../src/components/avatar.schema.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;GAkBG;;;AAEH,6BAAwB;AAExB,+CAA+C;AAC/C,kCAAkC;AAClC,+CAA+C;AAE/C;;GAEG;AACU,QAAA,gBAAgB,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAO9E;;GAEG;AACU,QAAA,iBAAiB,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AAOzE;;GAEG;AACU,QAAA,kBAAkB,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAOxF,+CAA+C;AAC/C,wBAAwB;AACxB,+CAA+C;AAE/C;;GAEG;AACU,QAAA,mBAAmB,GAAG,OAAC;KACjC,MAAM,CAAC;IACN,uBAAuB;IACvB,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,iCAAiC;IACjC,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,kBAAkB;IAClB,IAAI,EAAE,wBAAgB,CAAC,QAAQ,EAAE;IACjC,mBAAmB;IACnB,KAAK,EAAE,yBAAiB,CAAC,QAAQ,EAAE;IACnC,uBAAuB;IACvB,MAAM,EAAE,0BAAkB,CAAC,QAAQ,EAAE;IACrC,6BAA6B;IAC7B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,wBAAwB;IACxB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,kDAAkD;IAClD,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,gDAAgD;IAChD,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC;KACD,MAAM,EAAE,CAAC;AAOZ,+CAA+C;AAC/C,sBAAsB;AACtB,+CAA+C;AAE/C;;GAEG;AACU,QAAA,mBAAmB,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAExE;;GAEG;AACU,QAAA,wBAAwB,GAAG,OAAC;KACtC,MAAM,CAAC;IACN,8BAA8B;IAC9B,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjC,kBAAkB;IAClB,IAAI,EAAE,wBAAgB,CAAC,QAAQ,EAAE;IACjC,qBAAqB;IACrB,OAAO,EAAE,2BAAmB,CAAC,QAAQ,EAAE;IACvC,6BAA6B;IAC7B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC;KACD,MAAM,EAAE,CAAC;AAOZ,+CAA+C;AAC/C,0BAA0B;AAC1B,+CAA+C;AAE/C;;GAEG;AACU,QAAA,2BAA2B,GAAG,2BAAmB,CAAC,MAAM,CAAC;IACpE,0BAA0B;IAC1B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,yCAAyC;IACzC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,qBAAqB;IACrB,KAAK,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC,MAAM,EAAE,CAAC","sourcesContent":["/**\n * @file avatar.schema.ts\n * @description Zod schemas for Avatar component options validation.\n *\n * Provides strict validation schemas for avatar options including sizes,\n * shapes, status indicators, and avatar groups with text.\n *\n * @example\n * ```typescript\n * import { AvatarOptionsSchema } from '@frontmcp/ui';\n *\n * const result = AvatarOptionsSchema.safeParse({\n * alt: 'John Doe',\n * size: 'lg',\n * });\n * ```\n *\n * @module @frontmcp/ui/components/avatar.schema\n */\n\nimport { z } from 'zod';\n\n// ============================================\n// Size, Shape, and Status Schemas\n// ============================================\n\n/**\n * Avatar size enum schema\n */\nexport const AvatarSizeSchema = z.enum(['xs', 'sm', 'md', 'lg', 'xl', '2xl']);\n\n/**\n * Avatar size type\n */\nexport type AvatarSize = z.infer<typeof AvatarSizeSchema>;\n\n/**\n * Avatar shape enum schema\n */\nexport const AvatarShapeSchema = z.enum(['circle', 'square', 'rounded']);\n\n/**\n * Avatar shape type\n */\nexport type AvatarShape = z.infer<typeof AvatarShapeSchema>;\n\n/**\n * Avatar status enum schema\n */\nexport const AvatarStatusSchema = z.enum(['online', 'offline', 'busy', 'away', 'none']);\n\n/**\n * Avatar status type\n */\nexport type AvatarStatus = z.infer<typeof AvatarStatusSchema>;\n\n// ============================================\n// Avatar Options Schema\n// ============================================\n\n/**\n * Complete avatar options schema\n */\nexport const AvatarOptionsSchema = z\n .object({\n /** Image source URL */\n src: z.string().optional(),\n /** Alt text / name (required) */\n alt: z.string(),\n /** Avatar size */\n size: AvatarSizeSchema.optional(),\n /** Avatar shape */\n shape: AvatarShapeSchema.optional(),\n /** Status indicator */\n status: AvatarStatusSchema.optional(),\n /** Additional CSS classes */\n className: z.string().optional(),\n /** Click handler URL */\n href: z.string().optional(),\n /** Custom initials (overrides auto-generation) */\n initials: z.string().optional(),\n /** Background color for initials (CSS color) */\n bgColor: z.string().optional(),\n })\n .strict();\n\n/**\n * Avatar options type (derived from schema)\n */\nexport type AvatarOptions = z.infer<typeof AvatarOptionsSchema>;\n\n// ============================================\n// Avatar Group Schema\n// ============================================\n\n/**\n * Avatar group spacing schema\n */\nexport const AvatarSpacingSchema = z.enum(['tight', 'normal', 'loose']);\n\n/**\n * Avatar group options schema\n */\nexport const AvatarGroupOptionsSchema = z\n .object({\n /** Maximum visible avatars */\n max: z.number().min(1).optional(),\n /** Avatar size */\n size: AvatarSizeSchema.optional(),\n /** Overlap amount */\n spacing: AvatarSpacingSchema.optional(),\n /** Additional CSS classes */\n className: z.string().optional(),\n })\n .strict();\n\n/**\n * Avatar group options type\n */\nexport type AvatarGroupOptions = z.infer<typeof AvatarGroupOptionsSchema>;\n\n// ============================================\n// Avatar with Text Schema\n// ============================================\n\n/**\n * Avatar with text options schema\n */\nexport const AvatarWithTextOptionsSchema = AvatarOptionsSchema.extend({\n /** Primary text (name) */\n name: z.string(),\n /** Secondary text (email, role, etc.) */\n subtitle: z.string().optional(),\n /** Text alignment */\n align: z.enum(['left', 'right']).optional(),\n}).strict();\n\n/**\n * Avatar with text options type\n */\nexport type AvatarWithTextOptions = z.infer<typeof AvatarWithTextOptionsSchema>;\n"]}
@@ -1,70 +0,0 @@
1
- /**
2
- * Badge Component
3
- *
4
- * Small status indicators and labels.
5
- */
6
- /**
7
- * Badge variant styles
8
- */
9
- export type BadgeVariant = 'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info' | 'outline';
10
- /**
11
- * Badge size options
12
- */
13
- export type BadgeSize = 'sm' | 'md' | 'lg';
14
- /**
15
- * Badge component options
16
- */
17
- export interface BadgeOptions {
18
- /** Badge variant */
19
- variant?: BadgeVariant;
20
- /** Badge size */
21
- size?: BadgeSize;
22
- /** Rounded pill style */
23
- pill?: boolean;
24
- /** Icon before text */
25
- icon?: string;
26
- /** Dot indicator (no text) */
27
- dot?: boolean;
28
- /** Additional CSS classes */
29
- className?: string;
30
- /** Removable badge */
31
- removable?: boolean;
32
- /** Remove button HTMX */
33
- onRemove?: {
34
- delete?: string;
35
- target?: string;
36
- swap?: string;
37
- confirm?: string;
38
- };
39
- }
40
- /**
41
- * Build a badge component
42
- */
43
- export declare function badge(text: string, options?: BadgeOptions): string;
44
- /**
45
- * Build a badge group
46
- */
47
- export declare function badgeGroup(badges: string[], options?: {
48
- gap?: 'sm' | 'md' | 'lg';
49
- className?: string;
50
- }): string;
51
- /** Active status badge */
52
- export declare const activeBadge: (text?: string) => string;
53
- /** Inactive status badge */
54
- export declare const inactiveBadge: (text?: string) => string;
55
- /** Pending status badge */
56
- export declare const pendingBadge: (text?: string) => string;
57
- /** Error status badge */
58
- export declare const errorBadge: (text?: string) => string;
59
- /** New badge */
60
- export declare const newBadge: (text?: string) => string;
61
- /** Beta badge */
62
- export declare const betaBadge: (text?: string) => string;
63
- /** Online status dot */
64
- export declare const onlineDot: (label?: string) => string;
65
- /** Offline status dot */
66
- export declare const offlineDot: (label?: string) => string;
67
- /** Busy status dot */
68
- export declare const busyDot: (label?: string) => string;
69
- /** Away status dot */
70
- export declare const awayDot: (label?: string) => string;
@@ -1,149 +0,0 @@
1
- "use strict";
2
- /**
3
- * Badge Component
4
- *
5
- * Small status indicators and labels.
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.awayDot = exports.busyDot = exports.offlineDot = exports.onlineDot = exports.betaBadge = exports.newBadge = exports.errorBadge = exports.pendingBadge = exports.inactiveBadge = exports.activeBadge = void 0;
9
- exports.badge = badge;
10
- exports.badgeGroup = badgeGroup;
11
- const base_1 = require("../layouts/base");
12
- // ============================================
13
- // Badge Builder
14
- // ============================================
15
- /**
16
- * Get variant CSS classes
17
- */
18
- function getVariantClasses(variant) {
19
- const variants = {
20
- default: 'bg-gray-100 text-gray-800',
21
- primary: 'bg-primary/10 text-primary',
22
- secondary: 'bg-secondary/10 text-secondary',
23
- success: 'bg-success/10 text-success',
24
- warning: 'bg-warning/10 text-warning',
25
- danger: 'bg-danger/10 text-danger',
26
- info: 'bg-blue-100 text-blue-800',
27
- outline: 'border border-border text-text-primary bg-transparent',
28
- };
29
- return variants[variant];
30
- }
31
- /**
32
- * Get size CSS classes
33
- */
34
- function getSizeClasses(size, dot) {
35
- if (dot) {
36
- const dotSizes = {
37
- sm: 'w-2 h-2',
38
- md: 'w-2.5 h-2.5',
39
- lg: 'w-3 h-3',
40
- };
41
- return dotSizes[size];
42
- }
43
- const sizes = {
44
- sm: 'px-2 py-0.5 text-xs',
45
- md: 'px-2.5 py-1 text-xs',
46
- lg: 'px-3 py-1.5 text-sm',
47
- };
48
- return sizes[size];
49
- }
50
- /**
51
- * Build a badge component
52
- */
53
- function badge(text, options = {}) {
54
- const { variant = 'default', size = 'md', pill = false, icon, dot = false, className = '', removable = false, onRemove, } = options;
55
- // Dot badge (status indicator)
56
- if (dot) {
57
- const dotVariants = {
58
- default: 'bg-gray-400',
59
- primary: 'bg-primary',
60
- secondary: 'bg-secondary',
61
- success: 'bg-success',
62
- warning: 'bg-warning',
63
- danger: 'bg-danger',
64
- info: 'bg-blue-500',
65
- outline: 'border border-current',
66
- };
67
- const dotClasses = ['inline-block rounded-full', getSizeClasses(size, true), dotVariants[variant], className]
68
- .filter(Boolean)
69
- .join(' ');
70
- return `<span class="${dotClasses}" aria-label="${(0, base_1.escapeHtml)(text)}" title="${(0, base_1.escapeHtml)(text)}"></span>`;
71
- }
72
- const variantClasses = getVariantClasses(variant);
73
- const sizeClasses = getSizeClasses(size, false);
74
- const baseClasses = [
75
- 'inline-flex items-center font-medium',
76
- pill ? 'rounded-full' : 'rounded-md',
77
- variantClasses,
78
- sizeClasses,
79
- className,
80
- ]
81
- .filter(Boolean)
82
- .join(' ');
83
- const iconHtml = icon ? `<span class="mr-1">${icon}</span>` : '';
84
- const removeHtml = removable
85
- ? `<button
86
- type="button"
87
- class="ml-1.5 -mr-1 hover:opacity-70 transition-opacity"
88
- ${onRemove?.delete ? `hx-delete="${(0, base_1.escapeHtml)(onRemove.delete)}"` : ''}
89
- ${onRemove?.target ? `hx-target="${(0, base_1.escapeHtml)(onRemove.target)}"` : ''}
90
- ${onRemove?.swap ? `hx-swap="${(0, base_1.escapeHtml)(onRemove.swap)}"` : ''}
91
- ${onRemove?.confirm ? `hx-confirm="${(0, base_1.escapeHtml)(onRemove.confirm)}"` : ''}
92
- aria-label="Remove"
93
- >
94
- <svg class="w-3 h-3" fill="none" stroke="currentColor" viewBox="0 0 24 24">
95
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"/>
96
- </svg>
97
- </button>`
98
- : '';
99
- return `<span class="${baseClasses}">
100
- ${iconHtml}${(0, base_1.escapeHtml)(text)}${removeHtml}
101
- </span>`;
102
- }
103
- /**
104
- * Build a badge group
105
- */
106
- function badgeGroup(badges, options = {}) {
107
- const { gap = 'sm', className = '' } = options;
108
- const gapClasses = { sm: 'gap-1', md: 'gap-2', lg: 'gap-3' };
109
- return `<div class="inline-flex flex-wrap ${gapClasses[gap]} ${className}">
110
- ${badges.join('\n')}
111
- </div>`;
112
- }
113
- // ============================================
114
- // Status Badge Presets
115
- // ============================================
116
- /** Active status badge */
117
- const activeBadge = (text = 'Active') => badge(text, { variant: 'success', dot: false });
118
- exports.activeBadge = activeBadge;
119
- /** Inactive status badge */
120
- const inactiveBadge = (text = 'Inactive') => badge(text, { variant: 'default', dot: false });
121
- exports.inactiveBadge = inactiveBadge;
122
- /** Pending status badge */
123
- const pendingBadge = (text = 'Pending') => badge(text, { variant: 'warning', dot: false });
124
- exports.pendingBadge = pendingBadge;
125
- /** Error status badge */
126
- const errorBadge = (text = 'Error') => badge(text, { variant: 'danger', dot: false });
127
- exports.errorBadge = errorBadge;
128
- /** New badge */
129
- const newBadge = (text = 'New') => badge(text, { variant: 'primary', size: 'sm', pill: true });
130
- exports.newBadge = newBadge;
131
- /** Beta badge */
132
- const betaBadge = (text = 'Beta') => badge(text, { variant: 'secondary', size: 'sm', pill: true });
133
- exports.betaBadge = betaBadge;
134
- // ============================================
135
- // Status Dot Presets
136
- // ============================================
137
- /** Online status dot */
138
- const onlineDot = (label = 'Online') => badge(label, { variant: 'success', dot: true });
139
- exports.onlineDot = onlineDot;
140
- /** Offline status dot */
141
- const offlineDot = (label = 'Offline') => badge(label, { variant: 'default', dot: true });
142
- exports.offlineDot = offlineDot;
143
- /** Busy status dot */
144
- const busyDot = (label = 'Busy') => badge(label, { variant: 'danger', dot: true });
145
- exports.busyDot = busyDot;
146
- /** Away status dot */
147
- const awayDot = (label = 'Away') => badge(label, { variant: 'warning', dot: true });
148
- exports.awayDot = awayDot;
149
- //# sourceMappingURL=badge.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"badge.js","sourceRoot":"","sources":["../../../src/components/badge.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Badge Component\n *\n * Small status indicators and labels.\n */\n\nimport { escapeHtml } from '../layouts/base';\n\n// ============================================\n// Badge Types\n// ============================================\n\n/**\n * Badge variant styles\n */\nexport type BadgeVariant = 'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'info' | 'outline';\n\n/**\n * Badge size options\n */\nexport type BadgeSize = 'sm' | 'md' | 'lg';\n\n/**\n * Badge component options\n */\nexport interface BadgeOptions {\n /** Badge variant */\n variant?: BadgeVariant;\n /** Badge size */\n size?: BadgeSize;\n /** Rounded pill style */\n pill?: boolean;\n /** Icon before text */\n icon?: string;\n /** Dot indicator (no text) */\n dot?: boolean;\n /** Additional CSS classes */\n className?: string;\n /** Removable badge */\n removable?: boolean;\n /** Remove button HTMX */\n onRemove?: {\n delete?: string;\n target?: string;\n swap?: string;\n confirm?: string;\n };\n}\n\n// ============================================\n// Badge Builder\n// ============================================\n\n/**\n * Get variant CSS classes\n */\nfunction getVariantClasses(variant: BadgeVariant): string {\n const variants: Record<BadgeVariant, string> = {\n default: 'bg-gray-100 text-gray-800',\n primary: 'bg-primary/10 text-primary',\n secondary: 'bg-secondary/10 text-secondary',\n success: 'bg-success/10 text-success',\n warning: 'bg-warning/10 text-warning',\n danger: 'bg-danger/10 text-danger',\n info: 'bg-blue-100 text-blue-800',\n outline: 'border border-border text-text-primary bg-transparent',\n };\n return variants[variant];\n}\n\n/**\n * Get size CSS classes\n */\nfunction getSizeClasses(size: BadgeSize, dot: boolean): string {\n if (dot) {\n const dotSizes: Record<BadgeSize, string> = {\n sm: 'w-2 h-2',\n md: 'w-2.5 h-2.5',\n lg: 'w-3 h-3',\n };\n return dotSizes[size];\n }\n\n const sizes: Record<BadgeSize, string> = {\n sm: 'px-2 py-0.5 text-xs',\n md: 'px-2.5 py-1 text-xs',\n lg: 'px-3 py-1.5 text-sm',\n };\n return sizes[size];\n}\n\n/**\n * Build a badge component\n */\nexport function badge(text: string, options: BadgeOptions = {}): string {\n const {\n variant = 'default',\n size = 'md',\n pill = false,\n icon,\n dot = false,\n className = '',\n removable = false,\n onRemove,\n } = options;\n\n // Dot badge (status indicator)\n if (dot) {\n const dotVariants: Record<BadgeVariant, string> = {\n default: 'bg-gray-400',\n primary: 'bg-primary',\n secondary: 'bg-secondary',\n success: 'bg-success',\n warning: 'bg-warning',\n danger: 'bg-danger',\n info: 'bg-blue-500',\n outline: 'border border-current',\n };\n\n const dotClasses = ['inline-block rounded-full', getSizeClasses(size, true), dotVariants[variant], className]\n .filter(Boolean)\n .join(' ');\n\n return `<span class=\"${dotClasses}\" aria-label=\"${escapeHtml(text)}\" title=\"${escapeHtml(text)}\"></span>`;\n }\n\n const variantClasses = getVariantClasses(variant);\n const sizeClasses = getSizeClasses(size, false);\n\n const baseClasses = [\n 'inline-flex items-center font-medium',\n pill ? 'rounded-full' : 'rounded-md',\n variantClasses,\n sizeClasses,\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n const iconHtml = icon ? `<span class=\"mr-1\">${icon}</span>` : '';\n\n const removeHtml = removable\n ? `<button\n type=\"button\"\n class=\"ml-1.5 -mr-1 hover:opacity-70 transition-opacity\"\n ${onRemove?.delete ? `hx-delete=\"${escapeHtml(onRemove.delete)}\"` : ''}\n ${onRemove?.target ? `hx-target=\"${escapeHtml(onRemove.target)}\"` : ''}\n ${onRemove?.swap ? `hx-swap=\"${escapeHtml(onRemove.swap)}\"` : ''}\n ${onRemove?.confirm ? `hx-confirm=\"${escapeHtml(onRemove.confirm)}\"` : ''}\n aria-label=\"Remove\"\n >\n <svg class=\"w-3 h-3\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M6 18L18 6M6 6l12 12\"/>\n </svg>\n </button>`\n : '';\n\n return `<span class=\"${baseClasses}\">\n ${iconHtml}${escapeHtml(text)}${removeHtml}\n </span>`;\n}\n\n/**\n * Build a badge group\n */\nexport function badgeGroup(badges: string[], options: { gap?: 'sm' | 'md' | 'lg'; className?: string } = {}): string {\n const { gap = 'sm', className = '' } = options;\n const gapClasses = { sm: 'gap-1', md: 'gap-2', lg: 'gap-3' };\n\n return `<div class=\"inline-flex flex-wrap ${gapClasses[gap]} ${className}\">\n ${badges.join('\\n')}\n </div>`;\n}\n\n// ============================================\n// Status Badge Presets\n// ============================================\n\n/** Active status badge */\nexport const activeBadge = (text = 'Active') => badge(text, { variant: 'success', dot: false });\n\n/** Inactive status badge */\nexport const inactiveBadge = (text = 'Inactive') => badge(text, { variant: 'default', dot: false });\n\n/** Pending status badge */\nexport const pendingBadge = (text = 'Pending') => badge(text, { variant: 'warning', dot: false });\n\n/** Error status badge */\nexport const errorBadge = (text = 'Error') => badge(text, { variant: 'danger', dot: false });\n\n/** New badge */\nexport const newBadge = (text = 'New') => badge(text, { variant: 'primary', size: 'sm', pill: true });\n\n/** Beta badge */\nexport const betaBadge = (text = 'Beta') => badge(text, { variant: 'secondary', size: 'sm', pill: true });\n\n// ============================================\n// Status Dot Presets\n// ============================================\n\n/** Online status dot */\nexport const onlineDot = (label = 'Online') => badge(label, { variant: 'success', dot: true });\n\n/** Offline status dot */\nexport const offlineDot = (label = 'Offline') => badge(label, { variant: 'default', dot: true });\n\n/** Busy status dot */\nexport const busyDot = (label = 'Busy') => badge(label, { variant: 'danger', dot: true });\n\n/** Away status dot */\nexport const awayDot = (label = 'Away') => badge(label, { variant: 'warning', dot: true });\n"]}
@@ -1,109 +0,0 @@
1
- /**
2
- * @file badge.schema.ts
3
- * @description Zod schemas for Badge component options validation.
4
- *
5
- * Provides strict validation schemas for badge options including variants,
6
- * sizes, dot indicators, and removable badges with HTMX support.
7
- *
8
- * @example
9
- * ```typescript
10
- * import { BadgeOptionsSchema } from '@frontmcp/ui';
11
- *
12
- * const result = BadgeOptionsSchema.safeParse({ variant: 'success' });
13
- * ```
14
- *
15
- * @module @frontmcp/ui/components/badge.schema
16
- */
17
- import { z } from 'zod';
18
- /**
19
- * Badge variant enum schema
20
- */
21
- export declare const BadgeVariantSchema: z.ZodEnum<{
22
- primary: "primary";
23
- secondary: "secondary";
24
- default: "default";
25
- success: "success";
26
- warning: "warning";
27
- danger: "danger";
28
- info: "info";
29
- outline: "outline";
30
- }>;
31
- /**
32
- * Badge variant type
33
- */
34
- export type BadgeVariant = z.infer<typeof BadgeVariantSchema>;
35
- /**
36
- * Badge size enum schema
37
- */
38
- export declare const BadgeSizeSchema: z.ZodEnum<{
39
- sm: "sm";
40
- lg: "lg";
41
- md: "md";
42
- }>;
43
- /**
44
- * Badge size type
45
- */
46
- export type BadgeSize = z.infer<typeof BadgeSizeSchema>;
47
- /**
48
- * Remove button HTMX options schema
49
- */
50
- export declare const BadgeOnRemoveSchema: z.ZodOptional<z.ZodObject<{
51
- delete: z.ZodOptional<z.ZodString>;
52
- target: z.ZodOptional<z.ZodString>;
53
- swap: z.ZodOptional<z.ZodString>;
54
- confirm: z.ZodOptional<z.ZodString>;
55
- }, z.core.$strict>>;
56
- /**
57
- * Badge onRemove type
58
- */
59
- export type BadgeOnRemove = z.infer<typeof BadgeOnRemoveSchema>;
60
- /**
61
- * Complete badge options schema
62
- */
63
- export declare const BadgeOptionsSchema: z.ZodObject<{
64
- variant: z.ZodOptional<z.ZodEnum<{
65
- primary: "primary";
66
- secondary: "secondary";
67
- default: "default";
68
- success: "success";
69
- warning: "warning";
70
- danger: "danger";
71
- info: "info";
72
- outline: "outline";
73
- }>>;
74
- size: z.ZodOptional<z.ZodEnum<{
75
- sm: "sm";
76
- lg: "lg";
77
- md: "md";
78
- }>>;
79
- pill: z.ZodOptional<z.ZodBoolean>;
80
- icon: z.ZodOptional<z.ZodString>;
81
- dot: z.ZodOptional<z.ZodBoolean>;
82
- className: z.ZodOptional<z.ZodString>;
83
- removable: z.ZodOptional<z.ZodBoolean>;
84
- onRemove: z.ZodOptional<z.ZodObject<{
85
- delete: z.ZodOptional<z.ZodString>;
86
- target: z.ZodOptional<z.ZodString>;
87
- swap: z.ZodOptional<z.ZodString>;
88
- confirm: z.ZodOptional<z.ZodString>;
89
- }, z.core.$strict>>;
90
- }, z.core.$strict>;
91
- /**
92
- * Badge options type (derived from schema)
93
- */
94
- export type BadgeOptions = z.infer<typeof BadgeOptionsSchema>;
95
- /**
96
- * Badge group options schema
97
- */
98
- export declare const BadgeGroupOptionsSchema: z.ZodObject<{
99
- gap: z.ZodOptional<z.ZodEnum<{
100
- sm: "sm";
101
- lg: "lg";
102
- md: "md";
103
- }>>;
104
- className: z.ZodOptional<z.ZodString>;
105
- }, z.core.$strict>;
106
- /**
107
- * Badge group options type
108
- */
109
- export type BadgeGroupOptions = z.infer<typeof BadgeGroupOptionsSchema>;
@@ -1,96 +0,0 @@
1
- "use strict";
2
- /**
3
- * @file badge.schema.ts
4
- * @description Zod schemas for Badge component options validation.
5
- *
6
- * Provides strict validation schemas for badge options including variants,
7
- * sizes, dot indicators, and removable badges with HTMX support.
8
- *
9
- * @example
10
- * ```typescript
11
- * import { BadgeOptionsSchema } from '@frontmcp/ui';
12
- *
13
- * const result = BadgeOptionsSchema.safeParse({ variant: 'success' });
14
- * ```
15
- *
16
- * @module @frontmcp/ui/components/badge.schema
17
- */
18
- Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.BadgeGroupOptionsSchema = exports.BadgeOptionsSchema = exports.BadgeOnRemoveSchema = exports.BadgeSizeSchema = exports.BadgeVariantSchema = void 0;
20
- const zod_1 = require("zod");
21
- // ============================================
22
- // Variant and Size Schemas
23
- // ============================================
24
- /**
25
- * Badge variant enum schema
26
- */
27
- exports.BadgeVariantSchema = zod_1.z.enum([
28
- 'default',
29
- 'primary',
30
- 'secondary',
31
- 'success',
32
- 'warning',
33
- 'danger',
34
- 'info',
35
- 'outline',
36
- ]);
37
- /**
38
- * Badge size enum schema
39
- */
40
- exports.BadgeSizeSchema = zod_1.z.enum(['sm', 'md', 'lg']);
41
- // ============================================
42
- // OnRemove Schema
43
- // ============================================
44
- /**
45
- * Remove button HTMX options schema
46
- */
47
- exports.BadgeOnRemoveSchema = zod_1.z
48
- .object({
49
- delete: zod_1.z.string().optional(),
50
- target: zod_1.z.string().optional(),
51
- swap: zod_1.z.string().optional(),
52
- confirm: zod_1.z.string().optional(),
53
- })
54
- .strict()
55
- .optional();
56
- // ============================================
57
- // Badge Options Schema
58
- // ============================================
59
- /**
60
- * Complete badge options schema
61
- */
62
- exports.BadgeOptionsSchema = zod_1.z
63
- .object({
64
- /** Badge variant */
65
- variant: exports.BadgeVariantSchema.optional(),
66
- /** Badge size */
67
- size: exports.BadgeSizeSchema.optional(),
68
- /** Rounded pill style */
69
- pill: zod_1.z.boolean().optional(),
70
- /** Icon before text (HTML string) */
71
- icon: zod_1.z.string().optional(),
72
- /** Dot indicator (no text) */
73
- dot: zod_1.z.boolean().optional(),
74
- /** Additional CSS classes */
75
- className: zod_1.z.string().optional(),
76
- /** Removable badge */
77
- removable: zod_1.z.boolean().optional(),
78
- /** Remove button HTMX options */
79
- onRemove: exports.BadgeOnRemoveSchema,
80
- })
81
- .strict();
82
- // ============================================
83
- // Badge Group Schema
84
- // ============================================
85
- /**
86
- * Badge group options schema
87
- */
88
- exports.BadgeGroupOptionsSchema = zod_1.z
89
- .object({
90
- /** Gap between badges */
91
- gap: zod_1.z.enum(['sm', 'md', 'lg']).optional(),
92
- /** Additional CSS classes */
93
- className: zod_1.z.string().optional(),
94
- })
95
- .strict();
96
- //# sourceMappingURL=badge.schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"badge.schema.js","sourceRoot":"","sources":["../../../src/components/badge.schema.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,6BAAwB;AAExB,+CAA+C;AAC/C,2BAA2B;AAC3B,+CAA+C;AAE/C;;GAEG;AACU,QAAA,kBAAkB,GAAG,OAAC,CAAC,IAAI,CAAC;IACvC,SAAS;IACT,SAAS;IACT,WAAW;IACX,SAAS;IACT,SAAS;IACT,QAAQ;IACR,MAAM;IACN,SAAS;CACV,CAAC,CAAC;AAOH;;GAEG;AACU,QAAA,eAAe,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAO1D,+CAA+C;AAC/C,kBAAkB;AAClB,+CAA+C;AAE/C;;GAEG;AACU,QAAA,mBAAmB,GAAG,OAAC;KACjC,MAAM,CAAC;IACN,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC;KACD,MAAM,EAAE;KACR,QAAQ,EAAE,CAAC;AAOd,+CAA+C;AAC/C,uBAAuB;AACvB,+CAA+C;AAE/C;;GAEG;AACU,QAAA,kBAAkB,GAAG,OAAC;KAChC,MAAM,CAAC;IACN,oBAAoB;IACpB,OAAO,EAAE,0BAAkB,CAAC,QAAQ,EAAE;IACtC,iBAAiB;IACjB,IAAI,EAAE,uBAAe,CAAC,QAAQ,EAAE;IAChC,yBAAyB;IACzB,IAAI,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC5B,qCAAqC;IACrC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,8BAA8B;IAC9B,GAAG,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC3B,6BAA6B;IAC7B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,sBAAsB;IACtB,SAAS,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACjC,iCAAiC;IACjC,QAAQ,EAAE,2BAAmB;CAC9B,CAAC;KACD,MAAM,EAAE,CAAC;AAOZ,+CAA+C;AAC/C,qBAAqB;AACrB,+CAA+C;AAE/C;;GAEG;AACU,QAAA,uBAAuB,GAAG,OAAC;KACrC,MAAM,CAAC;IACN,yBAAyB;IACzB,GAAG,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC1C,6BAA6B;IAC7B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC;KACD,MAAM,EAAE,CAAC","sourcesContent":["/**\n * @file badge.schema.ts\n * @description Zod schemas for Badge component options validation.\n *\n * Provides strict validation schemas for badge options including variants,\n * sizes, dot indicators, and removable badges with HTMX support.\n *\n * @example\n * ```typescript\n * import { BadgeOptionsSchema } from '@frontmcp/ui';\n *\n * const result = BadgeOptionsSchema.safeParse({ variant: 'success' });\n * ```\n *\n * @module @frontmcp/ui/components/badge.schema\n */\n\nimport { z } from 'zod';\n\n// ============================================\n// Variant and Size Schemas\n// ============================================\n\n/**\n * Badge variant enum schema\n */\nexport const BadgeVariantSchema = z.enum([\n 'default',\n 'primary',\n 'secondary',\n 'success',\n 'warning',\n 'danger',\n 'info',\n 'outline',\n]);\n\n/**\n * Badge variant type\n */\nexport type BadgeVariant = z.infer<typeof BadgeVariantSchema>;\n\n/**\n * Badge size enum schema\n */\nexport const BadgeSizeSchema = z.enum(['sm', 'md', 'lg']);\n\n/**\n * Badge size type\n */\nexport type BadgeSize = z.infer<typeof BadgeSizeSchema>;\n\n// ============================================\n// OnRemove Schema\n// ============================================\n\n/**\n * Remove button HTMX options schema\n */\nexport const BadgeOnRemoveSchema = z\n .object({\n delete: z.string().optional(),\n target: z.string().optional(),\n swap: z.string().optional(),\n confirm: z.string().optional(),\n })\n .strict()\n .optional();\n\n/**\n * Badge onRemove type\n */\nexport type BadgeOnRemove = z.infer<typeof BadgeOnRemoveSchema>;\n\n// ============================================\n// Badge Options Schema\n// ============================================\n\n/**\n * Complete badge options schema\n */\nexport const BadgeOptionsSchema = z\n .object({\n /** Badge variant */\n variant: BadgeVariantSchema.optional(),\n /** Badge size */\n size: BadgeSizeSchema.optional(),\n /** Rounded pill style */\n pill: z.boolean().optional(),\n /** Icon before text (HTML string) */\n icon: z.string().optional(),\n /** Dot indicator (no text) */\n dot: z.boolean().optional(),\n /** Additional CSS classes */\n className: z.string().optional(),\n /** Removable badge */\n removable: z.boolean().optional(),\n /** Remove button HTMX options */\n onRemove: BadgeOnRemoveSchema,\n })\n .strict();\n\n/**\n * Badge options type (derived from schema)\n */\nexport type BadgeOptions = z.infer<typeof BadgeOptionsSchema>;\n\n// ============================================\n// Badge Group Schema\n// ============================================\n\n/**\n * Badge group options schema\n */\nexport const BadgeGroupOptionsSchema = z\n .object({\n /** Gap between badges */\n gap: z.enum(['sm', 'md', 'lg']).optional(),\n /** Additional CSS classes */\n className: z.string().optional(),\n })\n .strict();\n\n/**\n * Badge group options type\n */\nexport type BadgeGroupOptions = z.infer<typeof BadgeGroupOptionsSchema>;\n"]}
@@ -1,111 +0,0 @@
1
- /**
2
- * @file button.ts
3
- * @description Button Component for FrontMCP UI.
4
- *
5
- * Versatile button component with multiple variants, sizes, and states.
6
- * Includes HTMX support for dynamic interactions without JavaScript.
7
- *
8
- * @example Basic button
9
- * ```typescript
10
- * import { button } from '@frontmcp/ui';
11
- *
12
- * // Primary button (default)
13
- * const html = button('Click Me');
14
- * // <button type="button" class="...bg-primary...">Click Me</button>
15
- * ```
16
- *
17
- * @example Button variants
18
- * ```typescript
19
- * import { button, primaryButton, dangerButton, outlineButton } from '@frontmcp/ui';
20
- *
21
- * // Using variant option
22
- * const secondary = button('Save', { variant: 'secondary' });
23
- * const danger = button('Delete', { variant: 'danger' });
24
- *
25
- * // Using shorthand functions
26
- * const primary = primaryButton('Submit');
27
- * const outline = outlineButton('Cancel');
28
- * ```
29
- *
30
- * @example Button with loading state
31
- * ```typescript
32
- * const loadingBtn = button('Saving...', {
33
- * loading: true,
34
- * disabled: true,
35
- * });
36
- * ```
37
- *
38
- * @example Button with HTMX
39
- * ```typescript
40
- * const htmxBtn = button('Load More', {
41
- * htmx: {
42
- * get: '/api/items?page=2',
43
- * target: '#items-list',
44
- * swap: 'beforeend',
45
- * },
46
- * });
47
- * ```
48
- *
49
- * @example Button group
50
- * ```typescript
51
- * import { button, buttonGroup } from '@frontmcp/ui';
52
- *
53
- * const group = buttonGroup([
54
- * button('Edit', { variant: 'outline' }),
55
- * button('Delete', { variant: 'danger' }),
56
- * ], { attached: true });
57
- * ```
58
- *
59
- * @module @frontmcp/ui/components/button
60
- */
61
- import { type ButtonOptions, type ButtonVariant, type ButtonSize, type ButtonGroupOptions } from './button.schema';
62
- export type { ButtonOptions, ButtonVariant, ButtonSize, ButtonGroupOptions };
63
- /**
64
- * Build a button component
65
- *
66
- * @param text - Button label text (used as aria-label for icon-only buttons)
67
- * @param options - Button configuration options
68
- * @returns HTML string for the button, or validation error box on invalid input
69
- *
70
- * @remarks
71
- * **Security considerations:**
72
- * - The `iconBefore` and `iconAfter` options accept raw HTML strings for SVG icons.
73
- * These are NOT escaped and should only contain trusted content (e.g., icon library output).
74
- * Never pass user-provided content to these options.
75
- * - The `href` option uses an allowlist for safe protocols. Only the following are allowed:
76
- * - `http://`, `https://` - absolute URLs
77
- * - `/` - absolute paths (e.g., "/login", "/api/users")
78
- * - `#` - anchor links (e.g., "#section")
79
- * - `mailto:` - email links
80
- * - `tel:` - phone links
81
- * Note: Bare relative URLs like "login" or "./foo" are NOT allowed and will fall back to
82
- * button behavior. Use absolute paths ("/login") instead.
83
- * - The `data` option keys are sanitized to prevent malformed attributes.
84
- *
85
- * **Accessibility:**
86
- * - When `iconOnly: true`, the `text` parameter is automatically used as `aria-label`
87
- * unless an explicit `ariaLabel` option is provided.
88
- * - Empty button text with `iconOnly: false` will log a warning for accessibility.
89
- * - Icon-only buttons without text or ariaLabel will log a warning.
90
- */
91
- export declare function button(text: string, options?: ButtonOptions): string;
92
- /**
93
- * Build a button group
94
- *
95
- * @param buttons - Array of button HTML strings
96
- * @param options - Button group configuration options
97
- * @returns HTML string for the button group, or validation error box on invalid input
98
- */
99
- export declare function buttonGroup(buttons: string[], options?: ButtonGroupOptions): string;
100
- /** Primary button shorthand */
101
- export declare const primaryButton: (text: string, opts?: Omit<ButtonOptions, "variant">) => string;
102
- /** Secondary button shorthand */
103
- export declare const secondaryButton: (text: string, opts?: Omit<ButtonOptions, "variant">) => string;
104
- /** Outline button shorthand */
105
- export declare const outlineButton: (text: string, opts?: Omit<ButtonOptions, "variant">) => string;
106
- /** Ghost button shorthand */
107
- export declare const ghostButton: (text: string, opts?: Omit<ButtonOptions, "variant">) => string;
108
- /** Danger button shorthand */
109
- export declare const dangerButton: (text: string, opts?: Omit<ButtonOptions, "variant">) => string;
110
- /** Link button shorthand */
111
- export declare const linkButton: (text: string, opts?: Omit<ButtonOptions, "variant">) => string;