@frontmcp/ui 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1134) hide show
  1. package/adapters/index.d.ts +13 -0
  2. package/adapters/index.d.ts.map +1 -0
  3. package/adapters/index.js +462 -0
  4. package/adapters/platform-meta.d.ts +166 -0
  5. package/adapters/platform-meta.d.ts.map +1 -0
  6. package/adapters/response-builder.d.ts +108 -0
  7. package/adapters/response-builder.d.ts.map +1 -0
  8. package/adapters/serving-mode.d.ts +107 -0
  9. package/adapters/serving-mode.d.ts.map +1 -0
  10. package/base-template/bridge.d.ts +90 -0
  11. package/base-template/bridge.d.ts.map +1 -0
  12. package/base-template/default-base-template.d.ts +92 -0
  13. package/base-template/default-base-template.d.ts.map +1 -0
  14. package/base-template/index.d.ts +15 -0
  15. package/base-template/index.d.ts.map +1 -0
  16. package/base-template/index.js +1398 -0
  17. package/base-template/polyfills.d.ts +31 -0
  18. package/base-template/polyfills.d.ts.map +1 -0
  19. package/base-template/theme-styles.d.ts +74 -0
  20. package/base-template/theme-styles.d.ts.map +1 -0
  21. package/bridge/adapters/base-adapter.d.ts +104 -0
  22. package/bridge/adapters/base-adapter.d.ts.map +1 -0
  23. package/bridge/adapters/claude.adapter.d.ts +67 -0
  24. package/bridge/adapters/claude.adapter.d.ts.map +1 -0
  25. package/bridge/adapters/ext-apps.adapter.d.ts +143 -0
  26. package/bridge/adapters/ext-apps.adapter.d.ts.map +1 -0
  27. package/bridge/adapters/gemini.adapter.d.ts +64 -0
  28. package/bridge/adapters/gemini.adapter.d.ts.map +1 -0
  29. package/bridge/adapters/generic.adapter.d.ts +56 -0
  30. package/bridge/adapters/generic.adapter.d.ts.map +1 -0
  31. package/bridge/adapters/index.d.ts +26 -0
  32. package/bridge/adapters/index.d.ts.map +1 -0
  33. package/bridge/adapters/openai.adapter.d.ts +65 -0
  34. package/bridge/adapters/openai.adapter.d.ts.map +1 -0
  35. package/bridge/core/adapter-registry.d.ts +122 -0
  36. package/bridge/core/adapter-registry.d.ts.map +1 -0
  37. package/bridge/core/bridge-factory.d.ts +199 -0
  38. package/bridge/core/bridge-factory.d.ts.map +1 -0
  39. package/bridge/core/index.d.ts +10 -0
  40. package/bridge/core/index.d.ts.map +1 -0
  41. package/bridge/index.d.ts +62 -0
  42. package/bridge/index.d.ts.map +1 -0
  43. package/bridge/index.js +2540 -0
  44. package/bridge/runtime/iife-generator.d.ts +62 -0
  45. package/bridge/runtime/iife-generator.d.ts.map +1 -0
  46. package/bridge/runtime/index.d.ts +9 -0
  47. package/bridge/runtime/index.d.ts.map +1 -0
  48. package/bridge/types.d.ts +386 -0
  49. package/bridge/types.d.ts.map +1 -0
  50. package/build/cdn-resources.d.ts +243 -0
  51. package/build/cdn-resources.d.ts.map +1 -0
  52. package/build/index.d.ts +295 -0
  53. package/build/index.d.ts.map +1 -0
  54. package/build/index.js +7096 -0
  55. package/build/widget-manifest.d.ts +362 -0
  56. package/build/widget-manifest.d.ts.map +1 -0
  57. package/bundler/bundler.d.ts +208 -0
  58. package/bundler/bundler.d.ts.map +1 -0
  59. package/bundler/cache.d.ts +173 -0
  60. package/bundler/cache.d.ts.map +1 -0
  61. package/bundler/file-cache/component-builder.d.ts +167 -0
  62. package/bundler/file-cache/component-builder.d.ts.map +1 -0
  63. package/bundler/file-cache/hash-calculator.d.ts +155 -0
  64. package/bundler/file-cache/hash-calculator.d.ts.map +1 -0
  65. package/bundler/file-cache/index.d.ts +12 -0
  66. package/bundler/file-cache/index.d.ts.map +1 -0
  67. package/bundler/file-cache/storage/filesystem.d.ts +149 -0
  68. package/bundler/file-cache/storage/filesystem.d.ts.map +1 -0
  69. package/bundler/file-cache/storage/index.d.ts +11 -0
  70. package/bundler/file-cache/storage/index.d.ts.map +1 -0
  71. package/bundler/file-cache/storage/interface.d.ts +152 -0
  72. package/bundler/file-cache/storage/interface.d.ts.map +1 -0
  73. package/bundler/file-cache/storage/redis.d.ts +139 -0
  74. package/bundler/file-cache/storage/redis.d.ts.map +1 -0
  75. package/bundler/index.d.ts +43 -0
  76. package/bundler/index.d.ts.map +1 -0
  77. package/bundler/index.js +4754 -0
  78. package/bundler/sandbox/enclave-adapter.d.ts +121 -0
  79. package/bundler/sandbox/enclave-adapter.d.ts.map +1 -0
  80. package/bundler/sandbox/executor.d.ts +14 -0
  81. package/bundler/sandbox/executor.d.ts.map +1 -0
  82. package/bundler/sandbox/policy.d.ts +62 -0
  83. package/bundler/sandbox/policy.d.ts.map +1 -0
  84. package/bundler/types.d.ts +702 -0
  85. package/bundler/types.d.ts.map +1 -0
  86. package/components/alert.d.ts +66 -0
  87. package/components/alert.d.ts.map +1 -0
  88. package/components/alert.schema.d.ts +98 -0
  89. package/components/alert.schema.d.ts.map +1 -0
  90. package/components/avatar.d.ts +77 -0
  91. package/components/avatar.d.ts.map +1 -0
  92. package/components/avatar.schema.d.ts +170 -0
  93. package/components/avatar.schema.d.ts.map +1 -0
  94. package/components/badge.d.ts +64 -0
  95. package/components/badge.d.ts.map +1 -0
  96. package/components/badge.schema.d.ts +91 -0
  97. package/components/badge.schema.d.ts.map +1 -0
  98. package/components/button.d.ts +100 -0
  99. package/components/button.d.ts.map +1 -0
  100. package/components/button.schema.d.ts +120 -0
  101. package/components/button.schema.d.ts.map +1 -0
  102. package/components/card.d.ts +53 -0
  103. package/components/card.d.ts.map +1 -0
  104. package/components/card.schema.d.ts +93 -0
  105. package/components/card.schema.d.ts.map +1 -0
  106. package/components/form.d.ts +212 -0
  107. package/components/form.d.ts.map +1 -0
  108. package/components/form.schema.d.ts +365 -0
  109. package/components/form.schema.d.ts.map +1 -0
  110. package/components/index.d.ts +29 -0
  111. package/components/index.d.ts.map +1 -0
  112. package/components/index.js +2595 -0
  113. package/components/list.d.ts +121 -0
  114. package/components/list.d.ts.map +1 -0
  115. package/components/list.schema.d.ts +129 -0
  116. package/components/list.schema.d.ts.map +1 -0
  117. package/components/modal.d.ts +100 -0
  118. package/components/modal.d.ts.map +1 -0
  119. package/components/modal.schema.d.ts +151 -0
  120. package/components/modal.schema.d.ts.map +1 -0
  121. package/components/table.d.ts +91 -0
  122. package/components/table.d.ts.map +1 -0
  123. package/components/table.schema.d.ts +123 -0
  124. package/components/table.schema.d.ts.map +1 -0
  125. package/dependency/cdn-registry.d.ts +98 -0
  126. package/dependency/cdn-registry.d.ts.map +1 -0
  127. package/dependency/import-map.d.ts +186 -0
  128. package/dependency/import-map.d.ts.map +1 -0
  129. package/dependency/import-parser.d.ts +82 -0
  130. package/dependency/import-parser.d.ts.map +1 -0
  131. package/dependency/index.d.ts +17 -0
  132. package/dependency/index.d.ts.map +1 -0
  133. package/dependency/resolver.d.ts +164 -0
  134. package/dependency/resolver.d.ts.map +1 -0
  135. package/dependency/schemas.d.ts +486 -0
  136. package/dependency/schemas.d.ts.map +1 -0
  137. package/dependency/template-loader.d.ts +204 -0
  138. package/dependency/template-loader.d.ts.map +1 -0
  139. package/dependency/template-processor.d.ts +118 -0
  140. package/dependency/template-processor.d.ts.map +1 -0
  141. package/dependency/types.d.ts +739 -0
  142. package/dependency/types.d.ts.map +1 -0
  143. package/esm/adapters/index.d.ts +13 -0
  144. package/esm/adapters/index.d.ts.map +1 -0
  145. package/esm/adapters/index.js +427 -0
  146. package/esm/adapters/platform-meta.d.ts +166 -0
  147. package/esm/adapters/platform-meta.d.ts.map +1 -0
  148. package/esm/adapters/response-builder.d.ts +108 -0
  149. package/esm/adapters/response-builder.d.ts.map +1 -0
  150. package/esm/adapters/serving-mode.d.ts +107 -0
  151. package/esm/adapters/serving-mode.d.ts.map +1 -0
  152. package/esm/base-template/bridge.d.ts +90 -0
  153. package/esm/base-template/bridge.d.ts.map +1 -0
  154. package/esm/base-template/default-base-template.d.ts +92 -0
  155. package/esm/base-template/default-base-template.d.ts.map +1 -0
  156. package/esm/base-template/index.d.ts +15 -0
  157. package/esm/base-template/index.d.ts.map +1 -0
  158. package/esm/base-template/index.js +1364 -0
  159. package/esm/base-template/polyfills.d.ts +31 -0
  160. package/esm/base-template/polyfills.d.ts.map +1 -0
  161. package/esm/base-template/theme-styles.d.ts +74 -0
  162. package/esm/base-template/theme-styles.d.ts.map +1 -0
  163. package/esm/bridge/adapters/base-adapter.d.ts +104 -0
  164. package/esm/bridge/adapters/base-adapter.d.ts.map +1 -0
  165. package/esm/bridge/adapters/claude.adapter.d.ts +67 -0
  166. package/esm/bridge/adapters/claude.adapter.d.ts.map +1 -0
  167. package/esm/bridge/adapters/ext-apps.adapter.d.ts +143 -0
  168. package/esm/bridge/adapters/ext-apps.adapter.d.ts.map +1 -0
  169. package/esm/bridge/adapters/gemini.adapter.d.ts +64 -0
  170. package/esm/bridge/adapters/gemini.adapter.d.ts.map +1 -0
  171. package/esm/bridge/adapters/generic.adapter.d.ts +56 -0
  172. package/esm/bridge/adapters/generic.adapter.d.ts.map +1 -0
  173. package/esm/bridge/adapters/index.d.ts +26 -0
  174. package/esm/bridge/adapters/index.d.ts.map +1 -0
  175. package/esm/bridge/adapters/openai.adapter.d.ts +65 -0
  176. package/esm/bridge/adapters/openai.adapter.d.ts.map +1 -0
  177. package/esm/bridge/core/adapter-registry.d.ts +122 -0
  178. package/esm/bridge/core/adapter-registry.d.ts.map +1 -0
  179. package/esm/bridge/core/bridge-factory.d.ts +199 -0
  180. package/esm/bridge/core/bridge-factory.d.ts.map +1 -0
  181. package/esm/bridge/core/index.d.ts +10 -0
  182. package/esm/bridge/core/index.d.ts.map +1 -0
  183. package/esm/bridge/index.d.ts +62 -0
  184. package/esm/bridge/index.d.ts.map +1 -0
  185. package/esm/bridge/index.js +2487 -0
  186. package/esm/bridge/runtime/iife-generator.d.ts +62 -0
  187. package/esm/bridge/runtime/iife-generator.d.ts.map +1 -0
  188. package/esm/bridge/runtime/index.d.ts +9 -0
  189. package/esm/bridge/runtime/index.d.ts.map +1 -0
  190. package/esm/bridge/types.d.ts +386 -0
  191. package/esm/bridge/types.d.ts.map +1 -0
  192. package/esm/build/cdn-resources.d.ts +243 -0
  193. package/esm/build/cdn-resources.d.ts.map +1 -0
  194. package/esm/build/index.d.ts +295 -0
  195. package/esm/build/index.d.ts.map +1 -0
  196. package/esm/build/index.js +7021 -0
  197. package/esm/build/widget-manifest.d.ts +362 -0
  198. package/esm/build/widget-manifest.d.ts.map +1 -0
  199. package/esm/bundler/bundler.d.ts +208 -0
  200. package/esm/bundler/bundler.d.ts.map +1 -0
  201. package/esm/bundler/cache.d.ts +173 -0
  202. package/esm/bundler/cache.d.ts.map +1 -0
  203. package/esm/bundler/file-cache/component-builder.d.ts +167 -0
  204. package/esm/bundler/file-cache/component-builder.d.ts.map +1 -0
  205. package/esm/bundler/file-cache/hash-calculator.d.ts +155 -0
  206. package/esm/bundler/file-cache/hash-calculator.d.ts.map +1 -0
  207. package/esm/bundler/file-cache/index.d.ts +12 -0
  208. package/esm/bundler/file-cache/index.d.ts.map +1 -0
  209. package/esm/bundler/file-cache/storage/filesystem.d.ts +149 -0
  210. package/esm/bundler/file-cache/storage/filesystem.d.ts.map +1 -0
  211. package/esm/bundler/file-cache/storage/index.d.ts +11 -0
  212. package/esm/bundler/file-cache/storage/index.d.ts.map +1 -0
  213. package/esm/bundler/file-cache/storage/interface.d.ts +152 -0
  214. package/esm/bundler/file-cache/storage/interface.d.ts.map +1 -0
  215. package/esm/bundler/file-cache/storage/redis.d.ts +139 -0
  216. package/esm/bundler/file-cache/storage/redis.d.ts.map +1 -0
  217. package/esm/bundler/index.d.ts +43 -0
  218. package/esm/bundler/index.d.ts.map +1 -0
  219. package/esm/bundler/index.js +4687 -0
  220. package/esm/bundler/sandbox/enclave-adapter.d.ts +121 -0
  221. package/esm/bundler/sandbox/enclave-adapter.d.ts.map +1 -0
  222. package/esm/bundler/sandbox/executor.d.ts +14 -0
  223. package/esm/bundler/sandbox/executor.d.ts.map +1 -0
  224. package/esm/bundler/sandbox/policy.d.ts +62 -0
  225. package/esm/bundler/sandbox/policy.d.ts.map +1 -0
  226. package/esm/bundler/types.d.ts +702 -0
  227. package/esm/bundler/types.d.ts.map +1 -0
  228. package/esm/components/alert.d.ts +66 -0
  229. package/esm/components/alert.d.ts.map +1 -0
  230. package/esm/components/alert.schema.d.ts +98 -0
  231. package/esm/components/alert.schema.d.ts.map +1 -0
  232. package/esm/components/avatar.d.ts +77 -0
  233. package/esm/components/avatar.d.ts.map +1 -0
  234. package/esm/components/avatar.schema.d.ts +170 -0
  235. package/esm/components/avatar.schema.d.ts.map +1 -0
  236. package/esm/components/badge.d.ts +64 -0
  237. package/esm/components/badge.d.ts.map +1 -0
  238. package/esm/components/badge.schema.d.ts +91 -0
  239. package/esm/components/badge.schema.d.ts.map +1 -0
  240. package/esm/components/button.d.ts +100 -0
  241. package/esm/components/button.d.ts.map +1 -0
  242. package/esm/components/button.schema.d.ts +120 -0
  243. package/esm/components/button.schema.d.ts.map +1 -0
  244. package/esm/components/card.d.ts +53 -0
  245. package/esm/components/card.d.ts.map +1 -0
  246. package/esm/components/card.schema.d.ts +93 -0
  247. package/esm/components/card.schema.d.ts.map +1 -0
  248. package/esm/components/form.d.ts +212 -0
  249. package/esm/components/form.d.ts.map +1 -0
  250. package/esm/components/form.schema.d.ts +365 -0
  251. package/esm/components/form.schema.d.ts.map +1 -0
  252. package/esm/components/index.d.ts +29 -0
  253. package/esm/components/index.d.ts.map +1 -0
  254. package/esm/components/index.js +2456 -0
  255. package/esm/components/list.d.ts +121 -0
  256. package/esm/components/list.d.ts.map +1 -0
  257. package/esm/components/list.schema.d.ts +129 -0
  258. package/esm/components/list.schema.d.ts.map +1 -0
  259. package/esm/components/modal.d.ts +100 -0
  260. package/esm/components/modal.d.ts.map +1 -0
  261. package/esm/components/modal.schema.d.ts +151 -0
  262. package/esm/components/modal.schema.d.ts.map +1 -0
  263. package/esm/components/table.d.ts +91 -0
  264. package/esm/components/table.d.ts.map +1 -0
  265. package/esm/components/table.schema.d.ts +123 -0
  266. package/esm/components/table.schema.d.ts.map +1 -0
  267. package/esm/dependency/cdn-registry.d.ts +98 -0
  268. package/esm/dependency/cdn-registry.d.ts.map +1 -0
  269. package/esm/dependency/import-map.d.ts +186 -0
  270. package/esm/dependency/import-map.d.ts.map +1 -0
  271. package/esm/dependency/import-parser.d.ts +82 -0
  272. package/esm/dependency/import-parser.d.ts.map +1 -0
  273. package/esm/dependency/index.d.ts +17 -0
  274. package/esm/dependency/index.d.ts.map +1 -0
  275. package/esm/dependency/resolver.d.ts +164 -0
  276. package/esm/dependency/resolver.d.ts.map +1 -0
  277. package/esm/dependency/schemas.d.ts +486 -0
  278. package/esm/dependency/schemas.d.ts.map +1 -0
  279. package/esm/dependency/template-loader.d.ts +204 -0
  280. package/esm/dependency/template-loader.d.ts.map +1 -0
  281. package/esm/dependency/template-processor.d.ts +118 -0
  282. package/esm/dependency/template-processor.d.ts.map +1 -0
  283. package/esm/dependency/types.d.ts +739 -0
  284. package/esm/dependency/types.d.ts.map +1 -0
  285. package/esm/handlebars/expression-extractor.d.ts +147 -0
  286. package/esm/handlebars/expression-extractor.d.ts.map +1 -0
  287. package/esm/handlebars/helpers.d.ts +339 -0
  288. package/esm/handlebars/helpers.d.ts.map +1 -0
  289. package/esm/handlebars/index.d.ts +195 -0
  290. package/esm/handlebars/index.d.ts.map +1 -0
  291. package/esm/handlebars/index.js +587 -0
  292. package/esm/index.d.ts +56 -0
  293. package/esm/index.d.ts.map +1 -0
  294. package/esm/index.js +20511 -0
  295. package/esm/layouts/base.d.ts +86 -0
  296. package/esm/layouts/base.d.ts.map +1 -0
  297. package/esm/layouts/index.d.ts +8 -0
  298. package/esm/layouts/index.d.ts.map +1 -0
  299. package/esm/layouts/index.js +892 -0
  300. package/esm/layouts/presets.d.ts +134 -0
  301. package/esm/layouts/presets.d.ts.map +1 -0
  302. package/esm/package.json +90 -0
  303. package/esm/pages/consent.d.ts +117 -0
  304. package/esm/pages/consent.d.ts.map +1 -0
  305. package/esm/pages/error.d.ts +101 -0
  306. package/esm/pages/error.d.ts.map +1 -0
  307. package/esm/pages/index.d.ts +9 -0
  308. package/esm/pages/index.d.ts.map +1 -0
  309. package/esm/pages/index.js +1563 -0
  310. package/esm/react/Alert.d.ts +102 -0
  311. package/esm/react/Alert.d.ts.map +1 -0
  312. package/esm/react/Badge.d.ts +101 -0
  313. package/esm/react/Badge.d.ts.map +1 -0
  314. package/esm/react/Button.d.ts +109 -0
  315. package/esm/react/Button.d.ts.map +1 -0
  316. package/esm/react/Card.d.ts +104 -0
  317. package/esm/react/Card.d.ts.map +1 -0
  318. package/esm/react/hooks/context.d.ts +179 -0
  319. package/esm/react/hooks/context.d.ts.map +1 -0
  320. package/esm/react/hooks/index.d.ts +42 -0
  321. package/esm/react/hooks/index.d.ts.map +1 -0
  322. package/esm/react/hooks/tools.d.ts +284 -0
  323. package/esm/react/hooks/tools.d.ts.map +1 -0
  324. package/esm/react/index.d.ts +81 -0
  325. package/esm/react/index.d.ts.map +1 -0
  326. package/esm/react/index.js +1372 -0
  327. package/esm/react/types.d.ts +106 -0
  328. package/esm/react/types.d.ts.map +1 -0
  329. package/esm/react/utils.d.ts +43 -0
  330. package/esm/react/utils.d.ts.map +1 -0
  331. package/esm/registry/index.d.ts +46 -0
  332. package/esm/registry/index.d.ts.map +1 -0
  333. package/esm/registry/index.js +6422 -0
  334. package/esm/registry/render-template.d.ts +91 -0
  335. package/esm/registry/render-template.d.ts.map +1 -0
  336. package/esm/registry/tool-ui.registry.d.ts +294 -0
  337. package/esm/registry/tool-ui.registry.d.ts.map +1 -0
  338. package/esm/registry/uri-utils.d.ts +56 -0
  339. package/esm/registry/uri-utils.d.ts.map +1 -0
  340. package/esm/render/index.d.ts +8 -0
  341. package/esm/render/index.d.ts.map +1 -0
  342. package/esm/render/index.js +45 -0
  343. package/esm/render/prerender.d.ts +57 -0
  344. package/esm/render/prerender.d.ts.map +1 -0
  345. package/esm/renderers/cache.d.ts +145 -0
  346. package/esm/renderers/cache.d.ts.map +1 -0
  347. package/esm/renderers/html.renderer.d.ts +123 -0
  348. package/esm/renderers/html.renderer.d.ts.map +1 -0
  349. package/esm/renderers/index.d.ts +36 -0
  350. package/esm/renderers/index.d.ts.map +1 -0
  351. package/esm/renderers/index.js +1827 -0
  352. package/esm/renderers/mdx.renderer.d.ts +120 -0
  353. package/esm/renderers/mdx.renderer.d.ts.map +1 -0
  354. package/esm/renderers/react.renderer.d.ts +96 -0
  355. package/esm/renderers/react.renderer.d.ts.map +1 -0
  356. package/esm/renderers/registry.d.ts +134 -0
  357. package/esm/renderers/registry.d.ts.map +1 -0
  358. package/esm/renderers/types.d.ts +342 -0
  359. package/esm/renderers/types.d.ts.map +1 -0
  360. package/esm/renderers/utils/detect.d.ts +107 -0
  361. package/esm/renderers/utils/detect.d.ts.map +1 -0
  362. package/esm/renderers/utils/hash.d.ts +40 -0
  363. package/esm/renderers/utils/hash.d.ts.map +1 -0
  364. package/esm/renderers/utils/index.d.ts +9 -0
  365. package/esm/renderers/utils/index.d.ts.map +1 -0
  366. package/esm/renderers/utils/transpiler.d.ts +89 -0
  367. package/esm/renderers/utils/transpiler.d.ts.map +1 -0
  368. package/esm/runtime/adapters/html.adapter.d.ts +59 -0
  369. package/esm/runtime/adapters/html.adapter.d.ts.map +1 -0
  370. package/esm/runtime/adapters/index.d.ts +26 -0
  371. package/esm/runtime/adapters/index.d.ts.map +1 -0
  372. package/esm/runtime/adapters/mdx.adapter.d.ts +73 -0
  373. package/esm/runtime/adapters/mdx.adapter.d.ts.map +1 -0
  374. package/esm/runtime/adapters/react.adapter.d.ts +70 -0
  375. package/esm/runtime/adapters/react.adapter.d.ts.map +1 -0
  376. package/esm/runtime/adapters/types.d.ts +95 -0
  377. package/esm/runtime/adapters/types.d.ts.map +1 -0
  378. package/esm/runtime/csp.d.ts +48 -0
  379. package/esm/runtime/csp.d.ts.map +1 -0
  380. package/esm/runtime/index.d.ts +17 -0
  381. package/esm/runtime/index.d.ts.map +1 -0
  382. package/esm/runtime/index.js +5186 -0
  383. package/esm/runtime/mcp-bridge.d.ts +101 -0
  384. package/esm/runtime/mcp-bridge.d.ts.map +1 -0
  385. package/esm/runtime/renderer-runtime.d.ts +133 -0
  386. package/esm/runtime/renderer-runtime.d.ts.map +1 -0
  387. package/esm/runtime/sanitizer.d.ts +172 -0
  388. package/esm/runtime/sanitizer.d.ts.map +1 -0
  389. package/esm/runtime/types.d.ts +415 -0
  390. package/esm/runtime/types.d.ts.map +1 -0
  391. package/esm/runtime/wrapper.d.ts +421 -0
  392. package/esm/runtime/wrapper.d.ts.map +1 -0
  393. package/esm/styles/index.d.ts +8 -0
  394. package/esm/styles/index.d.ts.map +1 -0
  395. package/esm/styles/index.js +171 -0
  396. package/esm/styles/variants.d.ts +51 -0
  397. package/esm/styles/variants.d.ts.map +1 -0
  398. package/esm/theme/cdn.d.ts +195 -0
  399. package/esm/theme/cdn.d.ts.map +1 -0
  400. package/esm/theme/index.d.ts +18 -0
  401. package/esm/theme/index.d.ts.map +1 -0
  402. package/esm/theme/index.js +700 -0
  403. package/esm/theme/platforms.d.ts +107 -0
  404. package/esm/theme/platforms.d.ts.map +1 -0
  405. package/esm/theme/presets/github-openai.d.ts +50 -0
  406. package/esm/theme/presets/github-openai.d.ts.map +1 -0
  407. package/esm/theme/presets/index.d.ts +11 -0
  408. package/esm/theme/presets/index.d.ts.map +1 -0
  409. package/esm/theme/theme.d.ts +396 -0
  410. package/esm/theme/theme.d.ts.map +1 -0
  411. package/esm/tool-template/builder.d.ts +213 -0
  412. package/esm/tool-template/builder.d.ts.map +1 -0
  413. package/esm/tool-template/index.d.ts +16 -0
  414. package/esm/tool-template/index.d.ts.map +1 -0
  415. package/esm/tool-template/index.js +3515 -0
  416. package/esm/types/index.d.ts +14 -0
  417. package/esm/types/index.d.ts.map +1 -0
  418. package/esm/types/index.js +75 -0
  419. package/esm/types/ui-config.d.ts +639 -0
  420. package/esm/types/ui-config.d.ts.map +1 -0
  421. package/esm/types/ui-runtime.d.ts +1007 -0
  422. package/esm/types/ui-runtime.d.ts.map +1 -0
  423. package/esm/typings/cache/cache-adapter.d.ts +125 -0
  424. package/esm/typings/cache/cache-adapter.d.ts.map +1 -0
  425. package/esm/typings/cache/index.d.ts +10 -0
  426. package/esm/typings/cache/index.d.ts.map +1 -0
  427. package/esm/typings/cache/memory-cache.d.ts +92 -0
  428. package/esm/typings/cache/memory-cache.d.ts.map +1 -0
  429. package/esm/typings/dts-parser.d.ts +90 -0
  430. package/esm/typings/dts-parser.d.ts.map +1 -0
  431. package/esm/typings/index.d.ts +48 -0
  432. package/esm/typings/index.d.ts.map +1 -0
  433. package/esm/typings/schemas.d.ts +232 -0
  434. package/esm/typings/schemas.d.ts.map +1 -0
  435. package/esm/typings/type-fetcher.d.ts +89 -0
  436. package/esm/typings/type-fetcher.d.ts.map +1 -0
  437. package/esm/typings/types.d.ts +320 -0
  438. package/esm/typings/types.d.ts.map +1 -0
  439. package/esm/universal/UniversalApp.d.ts +108 -0
  440. package/esm/universal/UniversalApp.d.ts.map +1 -0
  441. package/esm/universal/cached-runtime.d.ts +115 -0
  442. package/esm/universal/cached-runtime.d.ts.map +1 -0
  443. package/esm/universal/context.d.ts +122 -0
  444. package/esm/universal/context.d.ts.map +1 -0
  445. package/esm/universal/index.d.ts +57 -0
  446. package/esm/universal/index.d.ts.map +1 -0
  447. package/esm/universal/renderers/html.renderer.d.ts +37 -0
  448. package/esm/universal/renderers/html.renderer.d.ts.map +1 -0
  449. package/esm/universal/renderers/index.d.ts +112 -0
  450. package/esm/universal/renderers/index.d.ts.map +1 -0
  451. package/esm/universal/renderers/markdown.renderer.d.ts +33 -0
  452. package/esm/universal/renderers/markdown.renderer.d.ts.map +1 -0
  453. package/esm/universal/renderers/mdx.renderer.d.ts +38 -0
  454. package/esm/universal/renderers/mdx.renderer.d.ts.map +1 -0
  455. package/esm/universal/renderers/react.renderer.d.ts +46 -0
  456. package/esm/universal/renderers/react.renderer.d.ts.map +1 -0
  457. package/esm/universal/runtime-builder.d.ts +33 -0
  458. package/esm/universal/runtime-builder.d.ts.map +1 -0
  459. package/esm/universal/store.d.ts +135 -0
  460. package/esm/universal/store.d.ts.map +1 -0
  461. package/esm/universal/types.d.ts +199 -0
  462. package/esm/universal/types.d.ts.map +1 -0
  463. package/esm/utils/escape-html.d.ts +58 -0
  464. package/esm/utils/escape-html.d.ts.map +1 -0
  465. package/esm/utils/index.d.ts +10 -0
  466. package/esm/utils/index.d.ts.map +1 -0
  467. package/esm/utils/index.js +40 -0
  468. package/esm/utils/safe-stringify.d.ts +30 -0
  469. package/esm/utils/safe-stringify.d.ts.map +1 -0
  470. package/esm/validation/error-box.d.ts +56 -0
  471. package/esm/validation/error-box.d.ts.map +1 -0
  472. package/esm/validation/index.d.ts +13 -0
  473. package/esm/validation/index.d.ts.map +1 -0
  474. package/esm/validation/index.js +562 -0
  475. package/esm/validation/schema-paths.d.ts +118 -0
  476. package/esm/validation/schema-paths.d.ts.map +1 -0
  477. package/esm/validation/template-validator.d.ts +143 -0
  478. package/esm/validation/template-validator.d.ts.map +1 -0
  479. package/esm/validation/wrapper.d.ts +97 -0
  480. package/esm/validation/wrapper.d.ts.map +1 -0
  481. package/esm/web-components/core/attribute-parser.d.ts +82 -0
  482. package/esm/web-components/core/attribute-parser.d.ts.map +1 -0
  483. package/esm/web-components/core/base-element.d.ts +197 -0
  484. package/esm/web-components/core/base-element.d.ts.map +1 -0
  485. package/esm/web-components/core/index.d.ts +9 -0
  486. package/esm/web-components/core/index.d.ts.map +1 -0
  487. package/esm/web-components/elements/fmcp-alert.d.ts +46 -0
  488. package/esm/web-components/elements/fmcp-alert.d.ts.map +1 -0
  489. package/esm/web-components/elements/fmcp-badge.d.ts +47 -0
  490. package/esm/web-components/elements/fmcp-badge.d.ts.map +1 -0
  491. package/esm/web-components/elements/fmcp-button.d.ts +117 -0
  492. package/esm/web-components/elements/fmcp-button.d.ts.map +1 -0
  493. package/esm/web-components/elements/fmcp-card.d.ts +53 -0
  494. package/esm/web-components/elements/fmcp-card.d.ts.map +1 -0
  495. package/esm/web-components/elements/fmcp-input.d.ts +96 -0
  496. package/esm/web-components/elements/fmcp-input.d.ts.map +1 -0
  497. package/esm/web-components/elements/fmcp-select.d.ts +100 -0
  498. package/esm/web-components/elements/fmcp-select.d.ts.map +1 -0
  499. package/esm/web-components/elements/index.d.ts +13 -0
  500. package/esm/web-components/elements/index.d.ts.map +1 -0
  501. package/esm/web-components/index.d.ts +50 -0
  502. package/esm/web-components/index.d.ts.map +1 -0
  503. package/esm/web-components/index.js +2048 -0
  504. package/esm/web-components/register.d.ts +57 -0
  505. package/esm/web-components/register.d.ts.map +1 -0
  506. package/esm/web-components/types.d.ts +122 -0
  507. package/esm/web-components/types.d.ts.map +1 -0
  508. package/esm/widgets/index.d.ts +8 -0
  509. package/esm/widgets/index.d.ts.map +1 -0
  510. package/esm/widgets/index.js +941 -0
  511. package/esm/widgets/progress.d.ts +133 -0
  512. package/esm/widgets/progress.d.ts.map +1 -0
  513. package/esm/widgets/resource.d.ts +163 -0
  514. package/esm/widgets/resource.d.ts.map +1 -0
  515. package/handlebars/expression-extractor.d.ts +147 -0
  516. package/handlebars/expression-extractor.d.ts.map +1 -0
  517. package/handlebars/helpers.d.ts +339 -0
  518. package/handlebars/helpers.d.ts.map +1 -0
  519. package/handlebars/index.d.ts +195 -0
  520. package/handlebars/index.d.ts.map +1 -0
  521. package/handlebars/index.js +666 -0
  522. package/index.d.ts +56 -0
  523. package/index.d.ts.map +1 -0
  524. package/index.js +20942 -0
  525. package/layouts/base.d.ts +86 -0
  526. package/layouts/base.d.ts.map +1 -0
  527. package/layouts/index.d.ts +8 -0
  528. package/layouts/index.d.ts.map +1 -0
  529. package/layouts/index.js +930 -0
  530. package/layouts/presets.d.ts +134 -0
  531. package/layouts/presets.d.ts.map +1 -0
  532. package/package.json +28 -87
  533. package/pages/consent.d.ts +117 -0
  534. package/pages/consent.d.ts.map +1 -0
  535. package/pages/error.d.ts +101 -0
  536. package/pages/error.d.ts.map +1 -0
  537. package/pages/index.d.ts +9 -0
  538. package/pages/index.d.ts.map +1 -0
  539. package/pages/index.js +1602 -0
  540. package/react/Alert.d.ts +102 -0
  541. package/react/Alert.d.ts.map +1 -0
  542. package/react/Badge.d.ts +101 -0
  543. package/react/Badge.d.ts.map +1 -0
  544. package/react/Button.d.ts +109 -0
  545. package/react/Button.d.ts.map +1 -0
  546. package/react/Card.d.ts +104 -0
  547. package/react/Card.d.ts.map +1 -0
  548. package/react/hooks/context.d.ts +179 -0
  549. package/react/hooks/context.d.ts.map +1 -0
  550. package/react/hooks/index.d.ts +42 -0
  551. package/react/hooks/index.d.ts.map +1 -0
  552. package/react/hooks/tools.d.ts +284 -0
  553. package/react/hooks/tools.d.ts.map +1 -0
  554. package/react/index.d.ts +81 -0
  555. package/react/index.d.ts.map +1 -0
  556. package/react/index.js +1430 -0
  557. package/react/types.d.ts +106 -0
  558. package/react/types.d.ts.map +1 -0
  559. package/react/utils.d.ts +43 -0
  560. package/react/utils.d.ts.map +1 -0
  561. package/registry/index.d.ts +46 -0
  562. package/registry/index.d.ts.map +1 -0
  563. package/registry/index.js +6465 -0
  564. package/registry/render-template.d.ts +91 -0
  565. package/registry/render-template.d.ts.map +1 -0
  566. package/registry/tool-ui.registry.d.ts +294 -0
  567. package/registry/tool-ui.registry.d.ts.map +1 -0
  568. package/registry/uri-utils.d.ts +56 -0
  569. package/registry/uri-utils.d.ts.map +1 -0
  570. package/render/index.d.ts +8 -0
  571. package/render/index.d.ts.map +1 -0
  572. package/render/index.js +77 -0
  573. package/render/prerender.d.ts +57 -0
  574. package/render/prerender.d.ts.map +1 -0
  575. package/renderers/cache.d.ts +145 -0
  576. package/renderers/cache.d.ts.map +1 -0
  577. package/renderers/html.renderer.d.ts +123 -0
  578. package/renderers/html.renderer.d.ts.map +1 -0
  579. package/renderers/index.d.ts +36 -0
  580. package/renderers/index.d.ts.map +1 -0
  581. package/renderers/index.js +1882 -0
  582. package/renderers/mdx.renderer.d.ts +120 -0
  583. package/renderers/mdx.renderer.d.ts.map +1 -0
  584. package/renderers/react.renderer.d.ts +96 -0
  585. package/renderers/react.renderer.d.ts.map +1 -0
  586. package/renderers/registry.d.ts +134 -0
  587. package/renderers/registry.d.ts.map +1 -0
  588. package/renderers/types.d.ts +342 -0
  589. package/renderers/types.d.ts.map +1 -0
  590. package/renderers/utils/detect.d.ts +107 -0
  591. package/renderers/utils/detect.d.ts.map +1 -0
  592. package/renderers/utils/hash.d.ts +40 -0
  593. package/renderers/utils/hash.d.ts.map +1 -0
  594. package/renderers/utils/index.d.ts +9 -0
  595. package/renderers/utils/index.d.ts.map +1 -0
  596. package/renderers/utils/transpiler.d.ts +89 -0
  597. package/renderers/utils/transpiler.d.ts.map +1 -0
  598. package/runtime/adapters/html.adapter.d.ts +59 -0
  599. package/runtime/adapters/html.adapter.d.ts.map +1 -0
  600. package/runtime/adapters/index.d.ts +26 -0
  601. package/runtime/adapters/index.d.ts.map +1 -0
  602. package/runtime/adapters/mdx.adapter.d.ts +73 -0
  603. package/runtime/adapters/mdx.adapter.d.ts.map +1 -0
  604. package/runtime/adapters/react.adapter.d.ts +70 -0
  605. package/runtime/adapters/react.adapter.d.ts.map +1 -0
  606. package/runtime/adapters/types.d.ts +95 -0
  607. package/runtime/adapters/types.d.ts.map +1 -0
  608. package/runtime/csp.d.ts +48 -0
  609. package/runtime/csp.d.ts.map +1 -0
  610. package/runtime/index.d.ts +17 -0
  611. package/runtime/index.d.ts.map +1 -0
  612. package/runtime/index.js +5264 -0
  613. package/runtime/mcp-bridge.d.ts +101 -0
  614. package/runtime/mcp-bridge.d.ts.map +1 -0
  615. package/runtime/renderer-runtime.d.ts +133 -0
  616. package/runtime/renderer-runtime.d.ts.map +1 -0
  617. package/runtime/sanitizer.d.ts +172 -0
  618. package/runtime/sanitizer.d.ts.map +1 -0
  619. package/runtime/types.d.ts +415 -0
  620. package/runtime/types.d.ts.map +1 -0
  621. package/runtime/wrapper.d.ts +421 -0
  622. package/runtime/wrapper.d.ts.map +1 -0
  623. package/styles/index.d.ts +8 -0
  624. package/styles/index.d.ts.map +1 -0
  625. package/styles/index.js +222 -0
  626. package/styles/variants.d.ts +51 -0
  627. package/styles/variants.d.ts.map +1 -0
  628. package/theme/cdn.d.ts +195 -0
  629. package/theme/cdn.d.ts.map +1 -0
  630. package/theme/index.d.ts +18 -0
  631. package/theme/index.d.ts.map +1 -0
  632. package/theme/index.js +757 -0
  633. package/theme/platforms.d.ts +107 -0
  634. package/theme/platforms.d.ts.map +1 -0
  635. package/theme/presets/github-openai.d.ts +50 -0
  636. package/theme/presets/github-openai.d.ts.map +1 -0
  637. package/theme/presets/index.d.ts +11 -0
  638. package/theme/presets/index.d.ts.map +1 -0
  639. package/theme/theme.d.ts +396 -0
  640. package/theme/theme.d.ts.map +1 -0
  641. package/tool-template/builder.d.ts +213 -0
  642. package/tool-template/builder.d.ts.map +1 -0
  643. package/tool-template/index.d.ts +16 -0
  644. package/tool-template/index.d.ts.map +1 -0
  645. package/tool-template/index.js +3559 -0
  646. package/types/index.d.ts +14 -0
  647. package/types/index.d.ts.map +1 -0
  648. package/types/index.js +108 -0
  649. package/types/ui-config.d.ts +639 -0
  650. package/types/ui-config.d.ts.map +1 -0
  651. package/types/ui-runtime.d.ts +1007 -0
  652. package/types/ui-runtime.d.ts.map +1 -0
  653. package/typings/cache/cache-adapter.d.ts +125 -0
  654. package/typings/cache/cache-adapter.d.ts.map +1 -0
  655. package/typings/cache/index.d.ts +10 -0
  656. package/typings/cache/index.d.ts.map +1 -0
  657. package/typings/cache/memory-cache.d.ts +92 -0
  658. package/typings/cache/memory-cache.d.ts.map +1 -0
  659. package/typings/dts-parser.d.ts +90 -0
  660. package/typings/dts-parser.d.ts.map +1 -0
  661. package/typings/index.d.ts +48 -0
  662. package/typings/index.d.ts.map +1 -0
  663. package/typings/schemas.d.ts +232 -0
  664. package/typings/schemas.d.ts.map +1 -0
  665. package/typings/type-fetcher.d.ts +89 -0
  666. package/typings/type-fetcher.d.ts.map +1 -0
  667. package/typings/types.d.ts +320 -0
  668. package/typings/types.d.ts.map +1 -0
  669. package/universal/UniversalApp.d.ts +108 -0
  670. package/universal/UniversalApp.d.ts.map +1 -0
  671. package/universal/cached-runtime.d.ts +115 -0
  672. package/universal/cached-runtime.d.ts.map +1 -0
  673. package/universal/context.d.ts +122 -0
  674. package/universal/context.d.ts.map +1 -0
  675. package/universal/index.d.ts +57 -0
  676. package/universal/index.d.ts.map +1 -0
  677. package/universal/renderers/html.renderer.d.ts +37 -0
  678. package/universal/renderers/html.renderer.d.ts.map +1 -0
  679. package/universal/renderers/index.d.ts +112 -0
  680. package/universal/renderers/index.d.ts.map +1 -0
  681. package/universal/renderers/markdown.renderer.d.ts +33 -0
  682. package/universal/renderers/markdown.renderer.d.ts.map +1 -0
  683. package/universal/renderers/mdx.renderer.d.ts +38 -0
  684. package/universal/renderers/mdx.renderer.d.ts.map +1 -0
  685. package/universal/renderers/react.renderer.d.ts +46 -0
  686. package/universal/renderers/react.renderer.d.ts.map +1 -0
  687. package/universal/runtime-builder.d.ts +33 -0
  688. package/universal/runtime-builder.d.ts.map +1 -0
  689. package/universal/store.d.ts +135 -0
  690. package/universal/store.d.ts.map +1 -0
  691. package/universal/types.d.ts +199 -0
  692. package/universal/types.d.ts.map +1 -0
  693. package/utils/escape-html.d.ts +58 -0
  694. package/utils/escape-html.d.ts.map +1 -0
  695. package/utils/index.d.ts +10 -0
  696. package/utils/index.d.ts.map +1 -0
  697. package/utils/index.js +70 -0
  698. package/utils/safe-stringify.d.ts +30 -0
  699. package/utils/safe-stringify.d.ts.map +1 -0
  700. package/validation/error-box.d.ts +56 -0
  701. package/validation/error-box.d.ts.map +1 -0
  702. package/validation/index.d.ts +13 -0
  703. package/validation/index.d.ts.map +1 -0
  704. package/validation/index.js +603 -0
  705. package/validation/schema-paths.d.ts +118 -0
  706. package/validation/schema-paths.d.ts.map +1 -0
  707. package/validation/template-validator.d.ts +143 -0
  708. package/validation/template-validator.d.ts.map +1 -0
  709. package/validation/wrapper.d.ts +97 -0
  710. package/validation/wrapper.d.ts.map +1 -0
  711. package/web-components/core/attribute-parser.d.ts +82 -0
  712. package/web-components/core/attribute-parser.d.ts.map +1 -0
  713. package/web-components/core/base-element.d.ts +197 -0
  714. package/web-components/core/base-element.d.ts.map +1 -0
  715. package/web-components/core/index.d.ts +9 -0
  716. package/web-components/core/index.d.ts.map +1 -0
  717. package/web-components/elements/fmcp-alert.d.ts +46 -0
  718. package/web-components/elements/fmcp-alert.d.ts.map +1 -0
  719. package/web-components/elements/fmcp-badge.d.ts +47 -0
  720. package/web-components/elements/fmcp-badge.d.ts.map +1 -0
  721. package/web-components/elements/fmcp-button.d.ts +117 -0
  722. package/web-components/elements/fmcp-button.d.ts.map +1 -0
  723. package/web-components/elements/fmcp-card.d.ts +53 -0
  724. package/web-components/elements/fmcp-card.d.ts.map +1 -0
  725. package/web-components/elements/fmcp-input.d.ts +96 -0
  726. package/web-components/elements/fmcp-input.d.ts.map +1 -0
  727. package/web-components/elements/fmcp-select.d.ts +100 -0
  728. package/web-components/elements/fmcp-select.d.ts.map +1 -0
  729. package/web-components/elements/index.d.ts +13 -0
  730. package/web-components/elements/index.d.ts.map +1 -0
  731. package/web-components/index.d.ts +50 -0
  732. package/web-components/index.d.ts.map +1 -0
  733. package/web-components/index.js +2093 -0
  734. package/web-components/register.d.ts +57 -0
  735. package/web-components/register.d.ts.map +1 -0
  736. package/web-components/types.d.ts +122 -0
  737. package/web-components/types.d.ts.map +1 -0
  738. package/widgets/index.d.ts +8 -0
  739. package/widgets/index.d.ts.map +1 -0
  740. package/widgets/index.js +978 -0
  741. package/widgets/progress.d.ts +133 -0
  742. package/widgets/progress.d.ts.map +1 -0
  743. package/widgets/resource.d.ts +163 -0
  744. package/widgets/resource.d.ts.map +1 -0
  745. package/src/adapters/index.d.ts +0 -10
  746. package/src/adapters/index.js +0 -18
  747. package/src/adapters/index.js.map +0 -1
  748. package/src/adapters/platform-meta.d.ts +0 -165
  749. package/src/adapters/platform-meta.js +0 -310
  750. package/src/adapters/platform-meta.js.map +0 -1
  751. package/src/base-template/bridge.d.ts +0 -89
  752. package/src/base-template/bridge.js +0 -452
  753. package/src/base-template/bridge.js.map +0 -1
  754. package/src/base-template/default-base-template.d.ts +0 -91
  755. package/src/base-template/default-base-template.js +0 -435
  756. package/src/base-template/default-base-template.js.map +0 -1
  757. package/src/base-template/index.d.ts +0 -14
  758. package/src/base-template/index.js +0 -30
  759. package/src/base-template/index.js.map +0 -1
  760. package/src/base-template/polyfills.d.ts +0 -30
  761. package/src/base-template/polyfills.js +0 -190
  762. package/src/base-template/polyfills.js.map +0 -1
  763. package/src/base-template/theme-styles.d.ts +0 -73
  764. package/src/base-template/theme-styles.js +0 -95
  765. package/src/base-template/theme-styles.js.map +0 -1
  766. package/src/bridge/adapters/base-adapter.d.ts +0 -103
  767. package/src/bridge/adapters/base-adapter.js +0 -314
  768. package/src/bridge/adapters/base-adapter.js.map +0 -1
  769. package/src/bridge/adapters/claude.adapter.d.ts +0 -66
  770. package/src/bridge/adapters/claude.adapter.js +0 -145
  771. package/src/bridge/adapters/claude.adapter.js.map +0 -1
  772. package/src/bridge/adapters/ext-apps.adapter.d.ts +0 -142
  773. package/src/bridge/adapters/ext-apps.adapter.js +0 -416
  774. package/src/bridge/adapters/ext-apps.adapter.js.map +0 -1
  775. package/src/bridge/adapters/gemini.adapter.d.ts +0 -63
  776. package/src/bridge/adapters/gemini.adapter.js +0 -160
  777. package/src/bridge/adapters/gemini.adapter.js.map +0 -1
  778. package/src/bridge/adapters/generic.adapter.d.ts +0 -55
  779. package/src/bridge/adapters/generic.adapter.js +0 -108
  780. package/src/bridge/adapters/generic.adapter.js.map +0 -1
  781. package/src/bridge/adapters/index.d.ts +0 -25
  782. package/src/bridge/adapters/index.js +0 -65
  783. package/src/bridge/adapters/index.js.map +0 -1
  784. package/src/bridge/adapters/openai.adapter.d.ts +0 -64
  785. package/src/bridge/adapters/openai.adapter.js +0 -194
  786. package/src/bridge/adapters/openai.adapter.js.map +0 -1
  787. package/src/bridge/core/adapter-registry.d.ts +0 -121
  788. package/src/bridge/core/adapter-registry.js +0 -271
  789. package/src/bridge/core/adapter-registry.js.map +0 -1
  790. package/src/bridge/core/bridge-factory.d.ts +0 -198
  791. package/src/bridge/core/bridge-factory.js +0 -428
  792. package/src/bridge/core/bridge-factory.js.map +0 -1
  793. package/src/bridge/core/index.d.ts +0 -9
  794. package/src/bridge/core/index.js +0 -22
  795. package/src/bridge/core/index.js.map +0 -1
  796. package/src/bridge/index.d.ts +0 -61
  797. package/src/bridge/index.js +0 -94
  798. package/src/bridge/index.js.map +0 -1
  799. package/src/bridge/runtime/iife-generator.d.ts +0 -61
  800. package/src/bridge/runtime/iife-generator.js +0 -940
  801. package/src/bridge/runtime/iife-generator.js.map +0 -1
  802. package/src/bridge/runtime/index.d.ts +0 -8
  803. package/src/bridge/runtime/index.js +0 -16
  804. package/src/bridge/runtime/index.js.map +0 -1
  805. package/src/bridge/types.d.ts +0 -385
  806. package/src/bridge/types.js +0 -11
  807. package/src/bridge/types.js.map +0 -1
  808. package/src/build/cdn-resources.d.ts +0 -140
  809. package/src/build/cdn-resources.js +0 -314
  810. package/src/build/cdn-resources.js.map +0 -1
  811. package/src/build/index.d.ts +0 -294
  812. package/src/build/index.js +0 -325
  813. package/src/build/index.js.map +0 -1
  814. package/src/build/widget-manifest.d.ts +0 -212
  815. package/src/build/widget-manifest.js +0 -652
  816. package/src/build/widget-manifest.js.map +0 -1
  817. package/src/bundler/bundler.d.ts +0 -110
  818. package/src/bundler/bundler.js +0 -432
  819. package/src/bundler/bundler.js.map +0 -1
  820. package/src/bundler/cache.d.ts +0 -172
  821. package/src/bundler/cache.js +0 -250
  822. package/src/bundler/cache.js.map +0 -1
  823. package/src/bundler/index.d.ts +0 -41
  824. package/src/bundler/index.js +0 -73
  825. package/src/bundler/index.js.map +0 -1
  826. package/src/bundler/sandbox/enclave-adapter.d.ts +0 -120
  827. package/src/bundler/sandbox/enclave-adapter.js +0 -339
  828. package/src/bundler/sandbox/enclave-adapter.js.map +0 -1
  829. package/src/bundler/sandbox/executor.d.ts +0 -13
  830. package/src/bundler/sandbox/executor.js +0 -22
  831. package/src/bundler/sandbox/executor.js.map +0 -1
  832. package/src/bundler/sandbox/policy.d.ts +0 -61
  833. package/src/bundler/sandbox/policy.js +0 -238
  834. package/src/bundler/sandbox/policy.js.map +0 -1
  835. package/src/bundler/types.d.ts +0 -347
  836. package/src/bundler/types.js +0 -132
  837. package/src/bundler/types.js.map +0 -1
  838. package/src/components/alert.d.ts +0 -71
  839. package/src/components/alert.js +0 -189
  840. package/src/components/alert.js.map +0 -1
  841. package/src/components/alert.schema.d.ts +0 -114
  842. package/src/components/alert.schema.js +0 -105
  843. package/src/components/alert.schema.js.map +0 -1
  844. package/src/components/avatar.d.ts +0 -76
  845. package/src/components/avatar.js +0 -176
  846. package/src/components/avatar.js.map +0 -1
  847. package/src/components/avatar.schema.d.ts +0 -169
  848. package/src/components/avatar.schema.js +0 -103
  849. package/src/components/avatar.schema.js.map +0 -1
  850. package/src/components/badge.d.ts +0 -70
  851. package/src/components/badge.js +0 -149
  852. package/src/components/badge.js.map +0 -1
  853. package/src/components/badge.schema.d.ts +0 -109
  854. package/src/components/badge.schema.js +0 -96
  855. package/src/components/badge.schema.js.map +0 -1
  856. package/src/components/button.d.ts +0 -111
  857. package/src/components/button.js +0 -336
  858. package/src/components/button.js.map +0 -1
  859. package/src/components/button.schema.d.ts +0 -148
  860. package/src/components/button.schema.js +0 -121
  861. package/src/components/button.schema.js.map +0 -1
  862. package/src/components/card.d.ts +0 -60
  863. package/src/components/card.js +0 -117
  864. package/src/components/card.js.map +0 -1
  865. package/src/components/card.schema.d.ts +0 -113
  866. package/src/components/card.schema.js +0 -98
  867. package/src/components/card.schema.js.map +0 -1
  868. package/src/components/form.d.ts +0 -239
  869. package/src/components/form.js +0 -420
  870. package/src/components/form.js.map +0 -1
  871. package/src/components/form.schema.d.ts +0 -441
  872. package/src/components/form.schema.js +0 -406
  873. package/src/components/form.schema.js.map +0 -1
  874. package/src/components/index.d.ts +0 -29
  875. package/src/components/index.js +0 -98
  876. package/src/components/index.js.map +0 -1
  877. package/src/components/list.d.ts +0 -127
  878. package/src/components/list.js +0 -279
  879. package/src/components/list.js.map +0 -1
  880. package/src/components/list.schema.d.ts +0 -134
  881. package/src/components/list.schema.js +0 -168
  882. package/src/components/list.schema.js.map +0 -1
  883. package/src/components/modal.d.ts +0 -111
  884. package/src/components/modal.js +0 -260
  885. package/src/components/modal.js.map +0 -1
  886. package/src/components/modal.schema.d.ts +0 -186
  887. package/src/components/modal.schema.js +0 -167
  888. package/src/components/modal.schema.js.map +0 -1
  889. package/src/components/table.d.ts +0 -105
  890. package/src/components/table.js +0 -283
  891. package/src/components/table.js.map +0 -1
  892. package/src/components/table.schema.d.ts +0 -159
  893. package/src/components/table.schema.js +0 -173
  894. package/src/components/table.schema.js.map +0 -1
  895. package/src/handlebars/helpers.d.ts +0 -348
  896. package/src/handlebars/helpers.js +0 -605
  897. package/src/handlebars/helpers.js.map +0 -1
  898. package/src/handlebars/index.d.ts +0 -193
  899. package/src/handlebars/index.js +0 -350
  900. package/src/handlebars/index.js.map +0 -1
  901. package/src/index.d.ts +0 -50
  902. package/src/index.js +0 -192
  903. package/src/index.js.map +0 -1
  904. package/src/layouts/base.d.ts +0 -88
  905. package/src/layouts/base.js +0 -227
  906. package/src/layouts/base.js.map +0 -1
  907. package/src/layouts/index.d.ts +0 -7
  908. package/src/layouts/index.js +0 -25
  909. package/src/layouts/index.js.map +0 -1
  910. package/src/layouts/presets.d.ts +0 -133
  911. package/src/layouts/presets.js +0 -277
  912. package/src/layouts/presets.js.map +0 -1
  913. package/src/pages/consent.d.ts +0 -116
  914. package/src/pages/consent.js +0 -218
  915. package/src/pages/consent.js.map +0 -1
  916. package/src/pages/error.d.ts +0 -100
  917. package/src/pages/error.js +0 -263
  918. package/src/pages/error.js.map +0 -1
  919. package/src/pages/index.d.ts +0 -8
  920. package/src/pages/index.js +0 -27
  921. package/src/pages/index.js.map +0 -1
  922. package/src/react/Alert.d.ts +0 -101
  923. package/src/react/Alert.js +0 -51
  924. package/src/react/Alert.js.map +0 -1
  925. package/src/react/Badge.d.ts +0 -100
  926. package/src/react/Badge.js +0 -55
  927. package/src/react/Badge.js.map +0 -1
  928. package/src/react/Button.d.ts +0 -108
  929. package/src/react/Button.js +0 -52
  930. package/src/react/Button.js.map +0 -1
  931. package/src/react/Card.d.ts +0 -103
  932. package/src/react/Card.js +0 -55
  933. package/src/react/Card.js.map +0 -1
  934. package/src/react/hooks/context.d.ts +0 -178
  935. package/src/react/hooks/context.js +0 -287
  936. package/src/react/hooks/context.js.map +0 -1
  937. package/src/react/hooks/index.d.ts +0 -41
  938. package/src/react/hooks/index.js +0 -61
  939. package/src/react/hooks/index.js.map +0 -1
  940. package/src/react/hooks/tools.d.ts +0 -283
  941. package/src/react/hooks/tools.js +0 -465
  942. package/src/react/hooks/tools.js.map +0 -1
  943. package/src/react/index.d.ts +0 -80
  944. package/src/react/index.js +0 -113
  945. package/src/react/index.js.map +0 -1
  946. package/src/react/types.d.ts +0 -105
  947. package/src/react/types.js +0 -12
  948. package/src/react/types.js.map +0 -1
  949. package/src/react/utils.d.ts +0 -42
  950. package/src/react/utils.js +0 -99
  951. package/src/react/utils.js.map +0 -1
  952. package/src/registry/index.d.ts +0 -45
  953. package/src/registry/index.js +0 -67
  954. package/src/registry/index.js.map +0 -1
  955. package/src/registry/render-template.d.ts +0 -86
  956. package/src/registry/render-template.js +0 -239
  957. package/src/registry/render-template.js.map +0 -1
  958. package/src/registry/tool-ui.registry.d.ts +0 -260
  959. package/src/registry/tool-ui.registry.js +0 -438
  960. package/src/registry/tool-ui.registry.js.map +0 -1
  961. package/src/registry/uri-utils.d.ts +0 -55
  962. package/src/registry/uri-utils.js +0 -97
  963. package/src/registry/uri-utils.js.map +0 -1
  964. package/src/render/index.d.ts +0 -7
  965. package/src/render/index.js +0 -14
  966. package/src/render/index.js.map +0 -1
  967. package/src/render/prerender.d.ts +0 -56
  968. package/src/render/prerender.js +0 -98
  969. package/src/render/prerender.js.map +0 -1
  970. package/src/renderers/cache.d.ts +0 -144
  971. package/src/renderers/cache.js +0 -240
  972. package/src/renderers/cache.js.map +0 -1
  973. package/src/renderers/html.renderer.d.ts +0 -122
  974. package/src/renderers/html.renderer.js +0 -204
  975. package/src/renderers/html.renderer.js.map +0 -1
  976. package/src/renderers/index.d.ts +0 -35
  977. package/src/renderers/index.js +0 -70
  978. package/src/renderers/index.js.map +0 -1
  979. package/src/renderers/mdx.renderer.d.ts +0 -119
  980. package/src/renderers/mdx.renderer.js +0 -305
  981. package/src/renderers/mdx.renderer.js.map +0 -1
  982. package/src/renderers/react.renderer.d.ts +0 -95
  983. package/src/renderers/react.renderer.js +0 -260
  984. package/src/renderers/react.renderer.js.map +0 -1
  985. package/src/renderers/registry.d.ts +0 -133
  986. package/src/renderers/registry.js +0 -232
  987. package/src/renderers/registry.js.map +0 -1
  988. package/src/renderers/types.d.ts +0 -341
  989. package/src/renderers/types.js +0 -9
  990. package/src/renderers/types.js.map +0 -1
  991. package/src/renderers/utils/detect.d.ts +0 -106
  992. package/src/renderers/utils/detect.js +0 -267
  993. package/src/renderers/utils/detect.js.map +0 -1
  994. package/src/renderers/utils/hash.d.ts +0 -39
  995. package/src/renderers/utils/hash.js +0 -75
  996. package/src/renderers/utils/hash.js.map +0 -1
  997. package/src/renderers/utils/index.d.ts +0 -8
  998. package/src/renderers/utils/index.js +0 -28
  999. package/src/renderers/utils/index.js.map +0 -1
  1000. package/src/renderers/utils/transpiler.d.ts +0 -88
  1001. package/src/renderers/utils/transpiler.js +0 -215
  1002. package/src/renderers/utils/transpiler.js.map +0 -1
  1003. package/src/runtime/adapters/html.adapter.d.ts +0 -58
  1004. package/src/runtime/adapters/html.adapter.js +0 -131
  1005. package/src/runtime/adapters/html.adapter.js.map +0 -1
  1006. package/src/runtime/adapters/index.d.ts +0 -25
  1007. package/src/runtime/adapters/index.js +0 -54
  1008. package/src/runtime/adapters/index.js.map +0 -1
  1009. package/src/runtime/adapters/mdx.adapter.d.ts +0 -72
  1010. package/src/runtime/adapters/mdx.adapter.js +0 -241
  1011. package/src/runtime/adapters/mdx.adapter.js.map +0 -1
  1012. package/src/runtime/adapters/react.adapter.d.ts +0 -69
  1013. package/src/runtime/adapters/react.adapter.js +0 -245
  1014. package/src/runtime/adapters/react.adapter.js.map +0 -1
  1015. package/src/runtime/adapters/types.d.ts +0 -94
  1016. package/src/runtime/adapters/types.js +0 -11
  1017. package/src/runtime/adapters/types.js.map +0 -1
  1018. package/src/runtime/csp.d.ts +0 -37
  1019. package/src/runtime/csp.js +0 -140
  1020. package/src/runtime/csp.js.map +0 -1
  1021. package/src/runtime/index.d.ts +0 -16
  1022. package/src/runtime/index.js +0 -72
  1023. package/src/runtime/index.js.map +0 -1
  1024. package/src/runtime/mcp-bridge.d.ts +0 -100
  1025. package/src/runtime/mcp-bridge.js +0 -581
  1026. package/src/runtime/mcp-bridge.js.map +0 -1
  1027. package/src/runtime/renderer-runtime.d.ts +0 -132
  1028. package/src/runtime/renderer-runtime.js +0 -389
  1029. package/src/runtime/renderer-runtime.js.map +0 -1
  1030. package/src/runtime/sanitizer.d.ts +0 -171
  1031. package/src/runtime/sanitizer.js +0 -318
  1032. package/src/runtime/sanitizer.js.map +0 -1
  1033. package/src/runtime/types.d.ts +0 -414
  1034. package/src/runtime/types.js +0 -12
  1035. package/src/runtime/types.js.map +0 -1
  1036. package/src/runtime/wrapper.d.ts +0 -375
  1037. package/src/runtime/wrapper.js +0 -1793
  1038. package/src/runtime/wrapper.js.map +0 -1
  1039. package/src/styles/index.d.ts +0 -7
  1040. package/src/styles/index.js +0 -11
  1041. package/src/styles/index.js.map +0 -1
  1042. package/src/styles/variants.d.ts +0 -50
  1043. package/src/styles/variants.js +0 -175
  1044. package/src/styles/variants.js.map +0 -1
  1045. package/src/theme/cdn.d.ts +0 -194
  1046. package/src/theme/cdn.js +0 -375
  1047. package/src/theme/cdn.js.map +0 -1
  1048. package/src/theme/index.d.ts +0 -17
  1049. package/src/theme/index.js +0 -57
  1050. package/src/theme/index.js.map +0 -1
  1051. package/src/theme/platforms.d.ts +0 -106
  1052. package/src/theme/platforms.js +0 -161
  1053. package/src/theme/platforms.js.map +0 -1
  1054. package/src/theme/presets/github-openai.d.ts +0 -49
  1055. package/src/theme/presets/github-openai.js +0 -189
  1056. package/src/theme/presets/github-openai.js.map +0 -1
  1057. package/src/theme/presets/index.d.ts +0 -10
  1058. package/src/theme/presets/index.js +0 -17
  1059. package/src/theme/presets/index.js.map +0 -1
  1060. package/src/theme/theme.d.ts +0 -395
  1061. package/src/theme/theme.js +0 -332
  1062. package/src/theme/theme.js.map +0 -1
  1063. package/src/tool-template/builder.d.ts +0 -212
  1064. package/src/tool-template/builder.js +0 -397
  1065. package/src/tool-template/builder.js.map +0 -1
  1066. package/src/tool-template/index.d.ts +0 -15
  1067. package/src/tool-template/index.js +0 -38
  1068. package/src/tool-template/index.js.map +0 -1
  1069. package/src/types/index.d.ts +0 -13
  1070. package/src/types/index.js +0 -26
  1071. package/src/types/index.js.map +0 -1
  1072. package/src/types/ui-config.d.ts +0 -357
  1073. package/src/types/ui-config.js +0 -12
  1074. package/src/types/ui-config.js.map +0 -1
  1075. package/src/types/ui-runtime.d.ts +0 -965
  1076. package/src/types/ui-runtime.js +0 -117
  1077. package/src/types/ui-runtime.js.map +0 -1
  1078. package/src/validation/error-box.d.ts +0 -55
  1079. package/src/validation/error-box.js +0 -75
  1080. package/src/validation/error-box.js.map +0 -1
  1081. package/src/validation/index.d.ts +0 -12
  1082. package/src/validation/index.js +0 -21
  1083. package/src/validation/index.js.map +0 -1
  1084. package/src/validation/wrapper.d.ts +0 -96
  1085. package/src/validation/wrapper.js +0 -117
  1086. package/src/validation/wrapper.js.map +0 -1
  1087. package/src/web-components/core/attribute-parser.d.ts +0 -85
  1088. package/src/web-components/core/attribute-parser.js +0 -189
  1089. package/src/web-components/core/attribute-parser.js.map +0 -1
  1090. package/src/web-components/core/base-element.d.ts +0 -197
  1091. package/src/web-components/core/base-element.js +0 -289
  1092. package/src/web-components/core/base-element.js.map +0 -1
  1093. package/src/web-components/core/index.d.ts +0 -8
  1094. package/src/web-components/core/index.js +0 -18
  1095. package/src/web-components/core/index.js.map +0 -1
  1096. package/src/web-components/elements/fmcp-alert.d.ts +0 -45
  1097. package/src/web-components/elements/fmcp-alert.js +0 -93
  1098. package/src/web-components/elements/fmcp-alert.js.map +0 -1
  1099. package/src/web-components/elements/fmcp-badge.d.ts +0 -46
  1100. package/src/web-components/elements/fmcp-badge.js +0 -99
  1101. package/src/web-components/elements/fmcp-badge.js.map +0 -1
  1102. package/src/web-components/elements/fmcp-button.d.ts +0 -124
  1103. package/src/web-components/elements/fmcp-button.js +0 -233
  1104. package/src/web-components/elements/fmcp-button.js.map +0 -1
  1105. package/src/web-components/elements/fmcp-card.d.ts +0 -52
  1106. package/src/web-components/elements/fmcp-card.js +0 -115
  1107. package/src/web-components/elements/fmcp-card.js.map +0 -1
  1108. package/src/web-components/elements/fmcp-input.d.ts +0 -95
  1109. package/src/web-components/elements/fmcp-input.js +0 -248
  1110. package/src/web-components/elements/fmcp-input.js.map +0 -1
  1111. package/src/web-components/elements/fmcp-select.d.ts +0 -99
  1112. package/src/web-components/elements/fmcp-select.js +0 -243
  1113. package/src/web-components/elements/fmcp-select.js.map +0 -1
  1114. package/src/web-components/elements/index.d.ts +0 -12
  1115. package/src/web-components/elements/index.js +0 -34
  1116. package/src/web-components/elements/index.js.map +0 -1
  1117. package/src/web-components/index.d.ts +0 -49
  1118. package/src/web-components/index.js +0 -75
  1119. package/src/web-components/index.js.map +0 -1
  1120. package/src/web-components/register.d.ts +0 -56
  1121. package/src/web-components/register.js +0 -80
  1122. package/src/web-components/register.js.map +0 -1
  1123. package/src/web-components/types.d.ts +0 -121
  1124. package/src/web-components/types.js +0 -25
  1125. package/src/web-components/types.js.map +0 -1
  1126. package/src/widgets/index.d.ts +0 -7
  1127. package/src/widgets/index.js +0 -24
  1128. package/src/widgets/index.js.map +0 -1
  1129. package/src/widgets/progress.d.ts +0 -132
  1130. package/src/widgets/progress.js +0 -303
  1131. package/src/widgets/progress.js.map +0 -1
  1132. package/src/widgets/resource.d.ts +0 -162
  1133. package/src/widgets/resource.js +0 -340
  1134. package/src/widgets/resource.js.map +0 -1
@@ -1,127 +0,0 @@
1
- /**
2
- * List Components
3
- *
4
- * Various list presentations including permission lists, feature lists, and data lists.
5
- */
6
- /**
7
- * Permission/Scope item for OAuth consent
8
- */
9
- export interface PermissionItem {
10
- /** Scope identifier */
11
- scope: string;
12
- /** Display name */
13
- name: string;
14
- /** Description */
15
- description?: string;
16
- /** Icon HTML */
17
- icon?: string;
18
- /** Required permission (cannot be unchecked) */
19
- required?: boolean;
20
- /** Checked by default */
21
- checked?: boolean;
22
- /** Sensitive/dangerous permission */
23
- sensitive?: boolean;
24
- }
25
- /**
26
- * Feature list item
27
- */
28
- export interface FeatureItem {
29
- /** Feature name */
30
- name: string;
31
- /** Feature description */
32
- description?: string;
33
- /** Icon HTML */
34
- icon?: string;
35
- /** Included in plan */
36
- included?: boolean;
37
- }
38
- /**
39
- * Description list item
40
- */
41
- export interface DescriptionItem {
42
- /** Term/label */
43
- term: string;
44
- /** Description/value */
45
- description: string;
46
- /** Copy button */
47
- copyable?: boolean;
48
- }
49
- /**
50
- * Permission list options
51
- */
52
- export interface PermissionListOptions {
53
- /** List ID */
54
- id?: string;
55
- /** Checkable permissions */
56
- checkable?: boolean;
57
- /** Input name for checkable */
58
- inputName?: string;
59
- /** Group title */
60
- title?: string;
61
- /** Additional CSS classes */
62
- className?: string;
63
- }
64
- /**
65
- * Build a permission list for OAuth consent
66
- */
67
- export declare function permissionList(permissions: PermissionItem[], options?: PermissionListOptions): string;
68
- /**
69
- * Feature list options
70
- */
71
- export interface FeatureListOptions {
72
- /** List style */
73
- style?: 'check' | 'bullet' | 'number';
74
- /** Icon for included items */
75
- includedIcon?: string;
76
- /** Icon for excluded items */
77
- excludedIcon?: string;
78
- /** Additional CSS classes */
79
- className?: string;
80
- }
81
- /**
82
- * Build a feature list
83
- */
84
- export declare function featureList(features: FeatureItem[], options?: FeatureListOptions): string;
85
- /**
86
- * Description list options
87
- */
88
- export interface DescriptionListOptions {
89
- /** Layout style */
90
- layout?: 'stacked' | 'horizontal' | 'grid';
91
- /** Dividers between items */
92
- dividers?: boolean;
93
- /** Additional CSS classes */
94
- className?: string;
95
- }
96
- /**
97
- * Build a description list
98
- */
99
- export declare function descriptionList(items: DescriptionItem[], options?: DescriptionListOptions): string;
100
- /**
101
- * Action list item
102
- */
103
- export interface ActionItem {
104
- /** Item label */
105
- label: string;
106
- /** Item description */
107
- description?: string;
108
- /** Icon HTML */
109
- icon?: string;
110
- /** Click URL */
111
- href?: string;
112
- /** HTMX attributes */
113
- htmx?: {
114
- get?: string;
115
- post?: string;
116
- target?: string;
117
- swap?: string;
118
- };
119
- /** Destructive action */
120
- destructive?: boolean;
121
- /** Disabled state */
122
- disabled?: boolean;
123
- }
124
- /**
125
- * Build an action list (menu-like)
126
- */
127
- export declare function actionList(items: ActionItem[], className?: string): string;
@@ -1,279 +0,0 @@
1
- "use strict";
2
- /**
3
- * List Components
4
- *
5
- * Various list presentations including permission lists, feature lists, and data lists.
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.permissionList = permissionList;
9
- exports.featureList = featureList;
10
- exports.descriptionList = descriptionList;
11
- exports.actionList = actionList;
12
- const base_1 = require("../layouts/base");
13
- /**
14
- * Default permission icons
15
- */
16
- const permissionIcons = {
17
- read: `<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
18
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"/>
19
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"/>
20
- </svg>`,
21
- write: `<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
22
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"/>
23
- </svg>`,
24
- delete: `<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
25
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"/>
26
- </svg>`,
27
- profile: `<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
28
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"/>
29
- </svg>`,
30
- email: `<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
31
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"/>
32
- </svg>`,
33
- settings: `<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
34
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"/>
35
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"/>
36
- </svg>`,
37
- default: `<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
38
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"/>
39
- </svg>`,
40
- };
41
- /**
42
- * Get icon for permission type
43
- */
44
- function getPermissionIcon(scope, customIcon) {
45
- if (customIcon)
46
- return customIcon;
47
- const scopeLower = scope.toLowerCase();
48
- if (scopeLower.includes('read'))
49
- return permissionIcons['read'];
50
- if (scopeLower.includes('write') || scopeLower.includes('create') || scopeLower.includes('update'))
51
- return permissionIcons['write'];
52
- if (scopeLower.includes('delete'))
53
- return permissionIcons['delete'];
54
- if (scopeLower.includes('profile'))
55
- return permissionIcons['profile'];
56
- if (scopeLower.includes('email'))
57
- return permissionIcons['email'];
58
- if (scopeLower.includes('settings') || scopeLower.includes('config'))
59
- return permissionIcons['settings'];
60
- return permissionIcons['default'];
61
- }
62
- /**
63
- * Build a permission list for OAuth consent
64
- */
65
- function permissionList(permissions, options = {}) {
66
- const { id, checkable = false, inputName = 'scopes', title, className = '' } = options;
67
- const titleHtml = title ? `<h4 class="font-medium text-text-primary mb-3">${(0, base_1.escapeHtml)(title)}</h4>` : '';
68
- const itemsHtml = permissions
69
- .map((perm, index) => {
70
- const icon = getPermissionIcon(perm.scope, perm.icon);
71
- const sensitiveClasses = perm.sensitive ? 'border-warning/30 bg-warning/5' : 'border-border';
72
- const sensitiveLabel = perm.sensitive
73
- ? '<span class="text-xs text-warning font-medium ml-2">Sensitive</span>'
74
- : '';
75
- const checkboxHtml = checkable
76
- ? `<input
77
- type="checkbox"
78
- name="${(0, base_1.escapeHtml)(inputName)}[]"
79
- value="${(0, base_1.escapeHtml)(perm.scope)}"
80
- class="w-4 h-4 rounded border-border text-primary focus:ring-primary/20"
81
- ${perm.checked || perm.required ? 'checked' : ''}
82
- ${perm.required ? 'disabled' : ''}
83
- id="${id ? (0, base_1.escapeHtml)(id) : 'perm'}-${index}"
84
- >`
85
- : `<div class="w-5 h-5 rounded-full bg-success/10 text-success flex items-center justify-center">
86
- <svg class="w-3 h-3" fill="none" stroke="currentColor" viewBox="0 0 24 24">
87
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/>
88
- </svg>
89
- </div>`;
90
- return `<div class="flex items-start gap-3 p-3 border ${sensitiveClasses} rounded-lg">
91
- <div class="flex-shrink-0 mt-0.5 text-text-secondary">
92
- ${icon}
93
- </div>
94
- <div class="flex-1 min-w-0">
95
- <div class="flex items-center">
96
- <span class="font-medium text-text-primary">${(0, base_1.escapeHtml)(perm.name)}</span>
97
- ${perm.required ? '<span class="text-xs text-text-secondary ml-2">(Required)</span>' : ''}
98
- ${sensitiveLabel}
99
- </div>
100
- ${perm.description ? `<p class="text-sm text-text-secondary mt-0.5">${(0, base_1.escapeHtml)(perm.description)}</p>` : ''}
101
- </div>
102
- <div class="flex-shrink-0">
103
- ${checkboxHtml}
104
- </div>
105
- </div>`;
106
- })
107
- .join('\n');
108
- const idAttr = id ? `id="${(0, base_1.escapeHtml)(id)}"` : '';
109
- return `<div class="permission-list ${className}" ${idAttr}>
110
- ${titleHtml}
111
- <div class="space-y-2">
112
- ${itemsHtml}
113
- </div>
114
- </div>`;
115
- }
116
- /**
117
- * Build a feature list
118
- */
119
- function featureList(features, options = {}) {
120
- const { style = 'check', includedIcon, excludedIcon, className = '' } = options;
121
- const defaultIncludedIcon = `<svg class="w-5 h-5 text-success" fill="none" stroke="currentColor" viewBox="0 0 24 24">
122
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/>
123
- </svg>`;
124
- const defaultExcludedIcon = `<svg class="w-5 h-5 text-gray-300" fill="none" stroke="currentColor" viewBox="0 0 24 24">
125
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"/>
126
- </svg>`;
127
- const itemsHtml = features
128
- .map((feature, index) => {
129
- const included = feature.included !== false;
130
- let iconHtml;
131
- if (style === 'check') {
132
- iconHtml = included ? includedIcon || defaultIncludedIcon : excludedIcon || defaultExcludedIcon;
133
- }
134
- else if (style === 'bullet') {
135
- iconHtml = `<span class="w-2 h-2 rounded-full ${included ? 'bg-primary' : 'bg-gray-300'}"></span>`;
136
- }
137
- else {
138
- iconHtml = `<span class="text-sm font-medium ${included ? 'text-primary' : 'text-gray-400'}">${index + 1}.</span>`;
139
- }
140
- const textClasses = included ? 'text-text-primary' : 'text-text-secondary line-through';
141
- return `<li class="flex items-start gap-3">
142
- <div class="flex-shrink-0 mt-0.5">${iconHtml}</div>
143
- <div class="flex-1">
144
- <span class="${textClasses}">${(0, base_1.escapeHtml)(feature.name)}</span>
145
- ${feature.description ? `<p class="text-sm text-text-secondary">${(0, base_1.escapeHtml)(feature.description)}</p>` : ''}
146
- </div>
147
- </li>`;
148
- })
149
- .join('\n');
150
- return `<ul class="space-y-3 ${className}">${itemsHtml}</ul>`;
151
- }
152
- /**
153
- * Build a description list
154
- */
155
- function descriptionList(items, options = {}) {
156
- const { layout = 'stacked', dividers = false, className = '' } = options;
157
- const copyScript = `
158
- <script>
159
- function copyToClipboard(text, btn) {
160
- navigator.clipboard.writeText(text).then(() => {
161
- const originalText = btn.innerHTML;
162
- btn.innerHTML = '<svg class="w-4 h-4 text-success" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg>';
163
- setTimeout(() => btn.innerHTML = originalText, 2000);
164
- });
165
- }
166
- </script>
167
- `;
168
- const hasCopyable = items.some((item) => item.copyable);
169
- if (layout === 'horizontal') {
170
- const itemsHtml = items
171
- .map((item) => {
172
- const copyBtn = item.copyable
173
- ? `<button type="button" onclick="copyToClipboard('${(0, base_1.escapeHtml)(item.description)}', this)" class="ml-2 p-1 rounded hover:bg-gray-100 transition-colors">
174
- <svg class="w-4 h-4 text-text-secondary" fill="none" stroke="currentColor" viewBox="0 0 24 24">
175
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"/>
176
- </svg>
177
- </button>`
178
- : '';
179
- return `<div class="py-3 sm:grid sm:grid-cols-3 sm:gap-4 ${dividers ? 'border-b border-divider' : ''}">
180
- <dt class="text-sm font-medium text-text-secondary">${(0, base_1.escapeHtml)(item.term)}</dt>
181
- <dd class="mt-1 sm:mt-0 sm:col-span-2 text-sm text-text-primary flex items-center">
182
- ${(0, base_1.escapeHtml)(item.description)}
183
- ${copyBtn}
184
- </dd>
185
- </div>`;
186
- })
187
- .join('\n');
188
- return `<dl class="${className}">${itemsHtml}</dl>${hasCopyable ? copyScript : ''}`;
189
- }
190
- if (layout === 'grid') {
191
- const itemsHtml = items
192
- .map((item) => {
193
- const copyBtn = item.copyable
194
- ? `<button type="button" onclick="copyToClipboard('${(0, base_1.escapeHtml)(item.description)}', this)" class="absolute top-2 right-2 p-1 rounded hover:bg-gray-100 transition-colors">
195
- <svg class="w-4 h-4 text-text-secondary" fill="none" stroke="currentColor" viewBox="0 0 24 24">
196
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"/>
197
- </svg>
198
- </button>`
199
- : '';
200
- return `<div class="relative p-4 bg-gray-50 rounded-lg">
201
- <dt class="text-sm font-medium text-text-secondary">${(0, base_1.escapeHtml)(item.term)}</dt>
202
- <dd class="mt-1 text-sm text-text-primary font-medium">${(0, base_1.escapeHtml)(item.description)}</dd>
203
- ${copyBtn}
204
- </div>`;
205
- })
206
- .join('\n');
207
- return `<dl class="grid grid-cols-2 gap-4 ${className}">${itemsHtml}</dl>${hasCopyable ? copyScript : ''}`;
208
- }
209
- // Stacked layout (default)
210
- const itemsHtml = items
211
- .map((item) => {
212
- const copyBtn = item.copyable
213
- ? `<button type="button" onclick="copyToClipboard('${(0, base_1.escapeHtml)(item.description)}', this)" class="ml-2 p-1 rounded hover:bg-gray-100 transition-colors">
214
- <svg class="w-4 h-4 text-text-secondary" fill="none" stroke="currentColor" viewBox="0 0 24 24">
215
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"/>
216
- </svg>
217
- </button>`
218
- : '';
219
- return `<div class="${dividers ? 'py-3 border-b border-divider last:border-0' : 'py-2'}">
220
- <dt class="text-sm text-text-secondary">${(0, base_1.escapeHtml)(item.term)}</dt>
221
- <dd class="mt-1 text-sm text-text-primary font-medium flex items-center">
222
- ${(0, base_1.escapeHtml)(item.description)}
223
- ${copyBtn}
224
- </dd>
225
- </div>`;
226
- })
227
- .join('\n');
228
- return `<dl class="${className}">${itemsHtml}</dl>${hasCopyable ? copyScript : ''}`;
229
- }
230
- /**
231
- * Build an action list (menu-like)
232
- */
233
- function actionList(items, className = '') {
234
- const itemsHtml = items
235
- .map((item) => {
236
- const baseClasses = [
237
- 'flex items-center gap-3 px-4 py-3 transition-colors',
238
- item.disabled
239
- ? 'opacity-50 cursor-not-allowed'
240
- : item.destructive
241
- ? 'hover:bg-danger/5 text-danger cursor-pointer'
242
- : 'hover:bg-gray-50 cursor-pointer',
243
- ].join(' ');
244
- const iconHtml = item.icon
245
- ? `<span class="flex-shrink-0 ${item.destructive ? 'text-danger' : 'text-text-secondary'}">${item.icon}</span>`
246
- : '';
247
- const contentHtml = `
248
- ${iconHtml}
249
- <div class="flex-1 min-w-0">
250
- <div class="font-medium ${item.destructive ? 'text-danger' : 'text-text-primary'}">${(0, base_1.escapeHtml)(item.label)}</div>
251
- ${item.description ? `<p class="text-sm text-text-secondary">${(0, base_1.escapeHtml)(item.description)}</p>` : ''}
252
- </div>
253
- <svg class="w-5 h-5 text-text-secondary" fill="none" stroke="currentColor" viewBox="0 0 24 24">
254
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"/>
255
- </svg>
256
- `;
257
- if (item.disabled) {
258
- return `<div class="${baseClasses}">${contentHtml}</div>`;
259
- }
260
- const htmxAttrs = [];
261
- if (item.htmx) {
262
- if (item.htmx.get)
263
- htmxAttrs.push(`hx-get="${(0, base_1.escapeHtml)(item.htmx.get)}"`);
264
- if (item.htmx.post)
265
- htmxAttrs.push(`hx-post="${(0, base_1.escapeHtml)(item.htmx.post)}"`);
266
- if (item.htmx.target)
267
- htmxAttrs.push(`hx-target="${(0, base_1.escapeHtml)(item.htmx.target)}"`);
268
- if (item.htmx.swap)
269
- htmxAttrs.push(`hx-swap="${(0, base_1.escapeHtml)(item.htmx.swap)}"`);
270
- }
271
- if (item.href) {
272
- return `<a href="${(0, base_1.escapeHtml)(item.href)}" class="${baseClasses}" ${htmxAttrs.join(' ')}>${contentHtml}</a>`;
273
- }
274
- return `<div class="${baseClasses}" ${htmxAttrs.join(' ')}>${contentHtml}</div>`;
275
- })
276
- .join('\n');
277
- return `<div class="divide-y divide-divider ${className}">${itemsHtml}</div>`;
278
- }
279
- //# sourceMappingURL=list.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/components/list.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * List Components\n *\n * Various list presentations including permission lists, feature lists, and data lists.\n */\n\nimport { escapeHtml } from '../layouts/base';\n\n// ============================================\n// List Item Types\n// ============================================\n\n/**\n * Permission/Scope item for OAuth consent\n */\nexport interface PermissionItem {\n /** Scope identifier */\n scope: string;\n /** Display name */\n name: string;\n /** Description */\n description?: string;\n /** Icon HTML */\n icon?: string;\n /** Required permission (cannot be unchecked) */\n required?: boolean;\n /** Checked by default */\n checked?: boolean;\n /** Sensitive/dangerous permission */\n sensitive?: boolean;\n}\n\n/**\n * Feature list item\n */\nexport interface FeatureItem {\n /** Feature name */\n name: string;\n /** Feature description */\n description?: string;\n /** Icon HTML */\n icon?: string;\n /** Included in plan */\n included?: boolean;\n}\n\n/**\n * Description list item\n */\nexport interface DescriptionItem {\n /** Term/label */\n term: string;\n /** Description/value */\n description: string;\n /** Copy button */\n copyable?: boolean;\n}\n\n// ============================================\n// Permission List (for OAuth consent)\n// ============================================\n\n/**\n * Permission list options\n */\nexport interface PermissionListOptions {\n /** List ID */\n id?: string;\n /** Checkable permissions */\n checkable?: boolean;\n /** Input name for checkable */\n inputName?: string;\n /** Group title */\n title?: string;\n /** Additional CSS classes */\n className?: string;\n}\n\n/**\n * Default permission icons\n */\nconst permissionIcons: Record<string, string> = {\n read: `<svg class=\"w-5 h-5\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15 12a3 3 0 11-6 0 3 3 0 016 0z\"/>\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z\"/>\n </svg>`,\n write: `<svg class=\"w-5 h-5\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z\"/>\n </svg>`,\n delete: `<svg class=\"w-5 h-5\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16\"/>\n </svg>`,\n profile: `<svg class=\"w-5 h-5\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z\"/>\n </svg>`,\n email: `<svg class=\"w-5 h-5\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z\"/>\n </svg>`,\n settings: `<svg class=\"w-5 h-5\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z\"/>\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15 12a3 3 0 11-6 0 3 3 0 016 0z\"/>\n </svg>`,\n default: `<svg class=\"w-5 h-5\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z\"/>\n </svg>`,\n};\n\n/**\n * Get icon for permission type\n */\nfunction getPermissionIcon(scope: string, customIcon?: string): string {\n if (customIcon) return customIcon;\n\n const scopeLower = scope.toLowerCase();\n if (scopeLower.includes('read')) return permissionIcons['read'];\n if (scopeLower.includes('write') || scopeLower.includes('create') || scopeLower.includes('update'))\n return permissionIcons['write'];\n if (scopeLower.includes('delete')) return permissionIcons['delete'];\n if (scopeLower.includes('profile')) return permissionIcons['profile'];\n if (scopeLower.includes('email')) return permissionIcons['email'];\n if (scopeLower.includes('settings') || scopeLower.includes('config')) return permissionIcons['settings'];\n\n return permissionIcons['default'];\n}\n\n/**\n * Build a permission list for OAuth consent\n */\nexport function permissionList(permissions: PermissionItem[], options: PermissionListOptions = {}): string {\n const { id, checkable = false, inputName = 'scopes', title, className = '' } = options;\n\n const titleHtml = title ? `<h4 class=\"font-medium text-text-primary mb-3\">${escapeHtml(title)}</h4>` : '';\n\n const itemsHtml = permissions\n .map((perm, index) => {\n const icon = getPermissionIcon(perm.scope, perm.icon);\n const sensitiveClasses = perm.sensitive ? 'border-warning/30 bg-warning/5' : 'border-border';\n const sensitiveLabel = perm.sensitive\n ? '<span class=\"text-xs text-warning font-medium ml-2\">Sensitive</span>'\n : '';\n\n const checkboxHtml = checkable\n ? `<input\n type=\"checkbox\"\n name=\"${escapeHtml(inputName)}[]\"\n value=\"${escapeHtml(perm.scope)}\"\n class=\"w-4 h-4 rounded border-border text-primary focus:ring-primary/20\"\n ${perm.checked || perm.required ? 'checked' : ''}\n ${perm.required ? 'disabled' : ''}\n id=\"${id ? escapeHtml(id) : 'perm'}-${index}\"\n >`\n : `<div class=\"w-5 h-5 rounded-full bg-success/10 text-success flex items-center justify-center\">\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=\"3\" d=\"M5 13l4 4L19 7\"/>\n </svg>\n </div>`;\n\n return `<div class=\"flex items-start gap-3 p-3 border ${sensitiveClasses} rounded-lg\">\n <div class=\"flex-shrink-0 mt-0.5 text-text-secondary\">\n ${icon}\n </div>\n <div class=\"flex-1 min-w-0\">\n <div class=\"flex items-center\">\n <span class=\"font-medium text-text-primary\">${escapeHtml(perm.name)}</span>\n ${perm.required ? '<span class=\"text-xs text-text-secondary ml-2\">(Required)</span>' : ''}\n ${sensitiveLabel}\n </div>\n ${perm.description ? `<p class=\"text-sm text-text-secondary mt-0.5\">${escapeHtml(perm.description)}</p>` : ''}\n </div>\n <div class=\"flex-shrink-0\">\n ${checkboxHtml}\n </div>\n </div>`;\n })\n .join('\\n');\n\n const idAttr = id ? `id=\"${escapeHtml(id)}\"` : '';\n\n return `<div class=\"permission-list ${className}\" ${idAttr}>\n ${titleHtml}\n <div class=\"space-y-2\">\n ${itemsHtml}\n </div>\n </div>`;\n}\n\n// ============================================\n// Feature List\n// ============================================\n\n/**\n * Feature list options\n */\nexport interface FeatureListOptions {\n /** List style */\n style?: 'check' | 'bullet' | 'number';\n /** Icon for included items */\n includedIcon?: string;\n /** Icon for excluded items */\n excludedIcon?: string;\n /** Additional CSS classes */\n className?: string;\n}\n\n/**\n * Build a feature list\n */\nexport function featureList(features: FeatureItem[], options: FeatureListOptions = {}): string {\n const { style = 'check', includedIcon, excludedIcon, className = '' } = options;\n\n const defaultIncludedIcon = `<svg class=\"w-5 h-5 text-success\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 13l4 4L19 7\"/>\n </svg>`;\n\n const defaultExcludedIcon = `<svg class=\"w-5 h-5 text-gray-300\" 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\n const itemsHtml = features\n .map((feature, index) => {\n const included = feature.included !== false;\n\n let iconHtml: string;\n if (style === 'check') {\n iconHtml = included ? includedIcon || defaultIncludedIcon : excludedIcon || defaultExcludedIcon;\n } else if (style === 'bullet') {\n iconHtml = `<span class=\"w-2 h-2 rounded-full ${included ? 'bg-primary' : 'bg-gray-300'}\"></span>`;\n } else {\n iconHtml = `<span class=\"text-sm font-medium ${included ? 'text-primary' : 'text-gray-400'}\">${\n index + 1\n }.</span>`;\n }\n\n const textClasses = included ? 'text-text-primary' : 'text-text-secondary line-through';\n\n return `<li class=\"flex items-start gap-3\">\n <div class=\"flex-shrink-0 mt-0.5\">${iconHtml}</div>\n <div class=\"flex-1\">\n <span class=\"${textClasses}\">${escapeHtml(feature.name)}</span>\n ${feature.description ? `<p class=\"text-sm text-text-secondary\">${escapeHtml(feature.description)}</p>` : ''}\n </div>\n </li>`;\n })\n .join('\\n');\n\n return `<ul class=\"space-y-3 ${className}\">${itemsHtml}</ul>`;\n}\n\n// ============================================\n// Description List\n// ============================================\n\n/**\n * Description list options\n */\nexport interface DescriptionListOptions {\n /** Layout style */\n layout?: 'stacked' | 'horizontal' | 'grid';\n /** Dividers between items */\n dividers?: boolean;\n /** Additional CSS classes */\n className?: string;\n}\n\n/**\n * Build a description list\n */\nexport function descriptionList(items: DescriptionItem[], options: DescriptionListOptions = {}): string {\n const { layout = 'stacked', dividers = false, className = '' } = options;\n\n const copyScript = `\n <script>\n function copyToClipboard(text, btn) {\n navigator.clipboard.writeText(text).then(() => {\n const originalText = btn.innerHTML;\n btn.innerHTML = '<svg class=\"w-4 h-4 text-success\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 13l4 4L19 7\"/></svg>';\n setTimeout(() => btn.innerHTML = originalText, 2000);\n });\n }\n </script>\n `;\n\n const hasCopyable = items.some((item) => item.copyable);\n\n if (layout === 'horizontal') {\n const itemsHtml = items\n .map((item) => {\n const copyBtn = item.copyable\n ? `<button type=\"button\" onclick=\"copyToClipboard('${escapeHtml(\n item.description,\n )}', this)\" class=\"ml-2 p-1 rounded hover:bg-gray-100 transition-colors\">\n <svg class=\"w-4 h-4 text-text-secondary\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\"/>\n </svg>\n </button>`\n : '';\n\n return `<div class=\"py-3 sm:grid sm:grid-cols-3 sm:gap-4 ${dividers ? 'border-b border-divider' : ''}\">\n <dt class=\"text-sm font-medium text-text-secondary\">${escapeHtml(item.term)}</dt>\n <dd class=\"mt-1 sm:mt-0 sm:col-span-2 text-sm text-text-primary flex items-center\">\n ${escapeHtml(item.description)}\n ${copyBtn}\n </dd>\n </div>`;\n })\n .join('\\n');\n\n return `<dl class=\"${className}\">${itemsHtml}</dl>${hasCopyable ? copyScript : ''}`;\n }\n\n if (layout === 'grid') {\n const itemsHtml = items\n .map((item) => {\n const copyBtn = item.copyable\n ? `<button type=\"button\" onclick=\"copyToClipboard('${escapeHtml(\n item.description,\n )}', this)\" class=\"absolute top-2 right-2 p-1 rounded hover:bg-gray-100 transition-colors\">\n <svg class=\"w-4 h-4 text-text-secondary\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\"/>\n </svg>\n </button>`\n : '';\n\n return `<div class=\"relative p-4 bg-gray-50 rounded-lg\">\n <dt class=\"text-sm font-medium text-text-secondary\">${escapeHtml(item.term)}</dt>\n <dd class=\"mt-1 text-sm text-text-primary font-medium\">${escapeHtml(item.description)}</dd>\n ${copyBtn}\n </div>`;\n })\n .join('\\n');\n\n return `<dl class=\"grid grid-cols-2 gap-4 ${className}\">${itemsHtml}</dl>${hasCopyable ? copyScript : ''}`;\n }\n\n // Stacked layout (default)\n const itemsHtml = items\n .map((item) => {\n const copyBtn = item.copyable\n ? `<button type=\"button\" onclick=\"copyToClipboard('${escapeHtml(\n item.description,\n )}', this)\" class=\"ml-2 p-1 rounded hover:bg-gray-100 transition-colors\">\n <svg class=\"w-4 h-4 text-text-secondary\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\"/>\n </svg>\n </button>`\n : '';\n\n return `<div class=\"${dividers ? 'py-3 border-b border-divider last:border-0' : 'py-2'}\">\n <dt class=\"text-sm text-text-secondary\">${escapeHtml(item.term)}</dt>\n <dd class=\"mt-1 text-sm text-text-primary font-medium flex items-center\">\n ${escapeHtml(item.description)}\n ${copyBtn}\n </dd>\n </div>`;\n })\n .join('\\n');\n\n return `<dl class=\"${className}\">${itemsHtml}</dl>${hasCopyable ? copyScript : ''}`;\n}\n\n// ============================================\n// Action List\n// ============================================\n\n/**\n * Action list item\n */\nexport interface ActionItem {\n /** Item label */\n label: string;\n /** Item description */\n description?: string;\n /** Icon HTML */\n icon?: string;\n /** Click URL */\n href?: string;\n /** HTMX attributes */\n htmx?: {\n get?: string;\n post?: string;\n target?: string;\n swap?: string;\n };\n /** Destructive action */\n destructive?: boolean;\n /** Disabled state */\n disabled?: boolean;\n}\n\n/**\n * Build an action list (menu-like)\n */\nexport function actionList(items: ActionItem[], className = ''): string {\n const itemsHtml = items\n .map((item) => {\n const baseClasses = [\n 'flex items-center gap-3 px-4 py-3 transition-colors',\n item.disabled\n ? 'opacity-50 cursor-not-allowed'\n : item.destructive\n ? 'hover:bg-danger/5 text-danger cursor-pointer'\n : 'hover:bg-gray-50 cursor-pointer',\n ].join(' ');\n\n const iconHtml = item.icon\n ? `<span class=\"flex-shrink-0 ${item.destructive ? 'text-danger' : 'text-text-secondary'}\">${item.icon}</span>`\n : '';\n\n const contentHtml = `\n ${iconHtml}\n <div class=\"flex-1 min-w-0\">\n <div class=\"font-medium ${item.destructive ? 'text-danger' : 'text-text-primary'}\">${escapeHtml(\n item.label,\n )}</div>\n ${item.description ? `<p class=\"text-sm text-text-secondary\">${escapeHtml(item.description)}</p>` : ''}\n </div>\n <svg class=\"w-5 h-5 text-text-secondary\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M9 5l7 7-7 7\"/>\n </svg>\n `;\n\n if (item.disabled) {\n return `<div class=\"${baseClasses}\">${contentHtml}</div>`;\n }\n\n const htmxAttrs: string[] = [];\n if (item.htmx) {\n if (item.htmx.get) htmxAttrs.push(`hx-get=\"${escapeHtml(item.htmx.get)}\"`);\n if (item.htmx.post) htmxAttrs.push(`hx-post=\"${escapeHtml(item.htmx.post)}\"`);\n if (item.htmx.target) htmxAttrs.push(`hx-target=\"${escapeHtml(item.htmx.target)}\"`);\n if (item.htmx.swap) htmxAttrs.push(`hx-swap=\"${escapeHtml(item.htmx.swap)}\"`);\n }\n\n if (item.href) {\n return `<a href=\"${escapeHtml(item.href)}\" class=\"${baseClasses}\" ${htmxAttrs.join(' ')}>${contentHtml}</a>`;\n }\n\n return `<div class=\"${baseClasses}\" ${htmxAttrs.join(' ')}>${contentHtml}</div>`;\n })\n .join('\\n');\n\n return `<div class=\"divide-y divide-divider ${className}\">${itemsHtml}</div>`;\n}\n"]}
@@ -1,134 +0,0 @@
1
- /**
2
- * @file list.schema.ts
3
- * @description Zod schemas for List component options validation.
4
- *
5
- * Provides strict validation schemas for permission lists, feature lists,
6
- * description lists, and action lists with HTMX support.
7
- *
8
- * @example
9
- * ```typescript
10
- * import { PermissionItemSchema, PermissionListOptionsSchema } from '@frontmcp/ui';
11
- *
12
- * const itemResult = PermissionItemSchema.safeParse({
13
- * scope: 'read:profile',
14
- * name: 'Read Profile',
15
- * });
16
- * ```
17
- *
18
- * @module @frontmcp/ui/components/list.schema
19
- */
20
- import { z } from 'zod';
21
- /**
22
- * Permission/Scope item schema for OAuth consent
23
- */
24
- export declare const PermissionItemSchema: z.ZodObject<{
25
- scope: z.ZodString;
26
- name: z.ZodString;
27
- description: z.ZodOptional<z.ZodString>;
28
- icon: z.ZodOptional<z.ZodString>;
29
- required: z.ZodOptional<z.ZodBoolean>;
30
- checked: z.ZodOptional<z.ZodBoolean>;
31
- sensitive: z.ZodOptional<z.ZodBoolean>;
32
- }, z.core.$strict>;
33
- /**
34
- * Permission item type
35
- */
36
- export type PermissionItem = z.infer<typeof PermissionItemSchema>;
37
- /**
38
- * Permission list options schema
39
- */
40
- export declare const PermissionListOptionsSchema: z.ZodObject<{
41
- id: z.ZodOptional<z.ZodString>;
42
- checkable: z.ZodOptional<z.ZodBoolean>;
43
- inputName: z.ZodOptional<z.ZodString>;
44
- title: z.ZodOptional<z.ZodString>;
45
- className: z.ZodOptional<z.ZodString>;
46
- }, z.core.$strict>;
47
- /**
48
- * Permission list options type
49
- */
50
- export type PermissionListOptions = z.infer<typeof PermissionListOptionsSchema>;
51
- /**
52
- * Feature list item schema
53
- */
54
- export declare const FeatureItemSchema: z.ZodObject<{
55
- name: z.ZodString;
56
- description: z.ZodOptional<z.ZodString>;
57
- icon: z.ZodOptional<z.ZodString>;
58
- included: z.ZodOptional<z.ZodBoolean>;
59
- }, z.core.$strict>;
60
- /**
61
- * Feature item type
62
- */
63
- export type FeatureItem = z.infer<typeof FeatureItemSchema>;
64
- /**
65
- * Feature list options schema
66
- */
67
- export declare const FeatureListOptionsSchema: z.ZodObject<{
68
- title: z.ZodOptional<z.ZodString>;
69
- showStatus: z.ZodOptional<z.ZodBoolean>;
70
- className: z.ZodOptional<z.ZodString>;
71
- }, z.core.$strict>;
72
- /**
73
- * Feature list options type
74
- */
75
- export type FeatureListOptions = z.infer<typeof FeatureListOptionsSchema>;
76
- /**
77
- * Description list item schema
78
- */
79
- export declare const DescriptionItemSchema: z.ZodObject<{
80
- term: z.ZodString;
81
- description: z.ZodString;
82
- copyable: z.ZodOptional<z.ZodBoolean>;
83
- }, z.core.$strict>;
84
- /**
85
- * Description item type
86
- */
87
- export type DescriptionItem = z.infer<typeof DescriptionItemSchema>;
88
- /**
89
- * Description list options schema
90
- */
91
- export declare const DescriptionListOptionsSchema: z.ZodObject<{
92
- direction: z.ZodOptional<z.ZodEnum<{
93
- horizontal: "horizontal";
94
- vertical: "vertical";
95
- }>>;
96
- striped: z.ZodOptional<z.ZodBoolean>;
97
- className: z.ZodOptional<z.ZodString>;
98
- }, z.core.$strict>;
99
- /**
100
- * Description list options type
101
- */
102
- export type DescriptionListOptions = z.infer<typeof DescriptionListOptionsSchema>;
103
- /**
104
- * Action list item schema
105
- */
106
- export declare const ActionItemSchema: z.ZodObject<{
107
- label: z.ZodString;
108
- description: z.ZodOptional<z.ZodString>;
109
- icon: z.ZodOptional<z.ZodString>;
110
- href: z.ZodOptional<z.ZodString>;
111
- htmx: z.ZodOptional<z.ZodObject<{
112
- get: z.ZodOptional<z.ZodString>;
113
- post: z.ZodOptional<z.ZodString>;
114
- target: z.ZodOptional<z.ZodString>;
115
- swap: z.ZodOptional<z.ZodString>;
116
- }, z.core.$strict>>;
117
- destructive: z.ZodOptional<z.ZodBoolean>;
118
- disabled: z.ZodOptional<z.ZodBoolean>;
119
- }, z.core.$strict>;
120
- /**
121
- * Action item type
122
- */
123
- export type ActionItem = z.infer<typeof ActionItemSchema>;
124
- /**
125
- * Action list options schema
126
- */
127
- export declare const ActionListOptionsSchema: z.ZodObject<{
128
- divided: z.ZodOptional<z.ZodBoolean>;
129
- className: z.ZodOptional<z.ZodString>;
130
- }, z.core.$strict>;
131
- /**
132
- * Action list options type
133
- */
134
- export type ActionListOptions = z.infer<typeof ActionListOptionsSchema>;